draft-ietf-lamps-rfc5272bis: Certificate Management over CMS (CMC) Update

Tech

[Protocol: CMC (Certificate Management over CMS) Updates] [Draft: draft-ietf-lamps-rfc5272bis / draft-ietf-lamps-rfc5273bis] [Status: IESG Evaluation / Proposed Standard Revision] [Keywords: PKI, CMS, Enrollment, LAMPS, RFC5272]

本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

draft-ietf-lamps-rfc5272bis: Certificate Management over CMS (CMC) Update

【背景と設計目標】

PKIにおける証明書ライフサイクル管理の自動化とCMSベースの高度な署名検証機能の強化。 従来のRFC 5272を、最新の暗号アルゴリズム(EdDSA等)や現代的なトランスポート要件に適合させるための上位互換アップデートです。

【通信シーケンスと動作】

CMCは、エンドエンティティ(EE)、登録機関(RA)、および認証局(CA)の間で証明書管理メッセージを交換します。以下は、最も一般的な「Simple Enrollment Request」のシーケンスです。

sequenceDiagram
    participant "EE as End Entity (Client)"
    participant "RA/CA as Registration/Certification Authority"

    Note over EE: Generate Key Pair & CSR
    EE ->> RA/CA: Full PKI Request (CMS SignedData)
    Note right of RA/CA: Verify Signature & Policy
    RA/CA -->> EE: Full PKI Response (CMS ContentInfo)
    Note over EE: Install Certificate
  1. Request: クライアントはCSR(証明書署名要求)をCMS(Cryptographic Message Syntax)のSignedData構造でカプセル化し、サーバーに送信します。

  2. Verification: サーバー側(RA/CA)は、CMSの署名を検証し、要求されたポリシーが適切か確認します。

  3. Response: サーバーは、発行された証明書またはエラー情報を同様にCMS形式でパッキングして返します。

【データ構造 / パケットフォーマット】

CMCメッセージはASN.1で定義され、DERエンコードされます。ビット単位のオフセットではなく、CMS ContentInfo 内の論理構造を以下に示します。

+---------------------------------------------------------------+
| CMS ContentInfo (OID: id-ct-CMC-statusInfo or id-signedData)  |
+---------------------------------------------------------------+
| [SignedData]                                                  |
|  +- version (v3)                                              |
|  +- digestAlgorithms                                          |
|  +- encapContentInfo (eContentType: id-cct-PKIData)           |
|     +- eContent (OCTET STRING)                                |
|        +- PKIData Structure:                                  |
|           +- controlSequence (TransactionID, SenderNonce, etc)|
|           +- reqSequence (TaggedAttribute, TaggedRequest)     |
|           +- cmsSequence (Encapsulated CMS objects)           |
|           +- otherMsgSequence                                 |
|  +- certificates (Optional: for chain building)               |
|  +- signerInfos (Signature over PKIData)                      |
+---------------------------------------------------------------+

【技術的な特徴と比較】

CMCは、先行するCMP(Certificate Management Protocol)や、より軽量なEST(Enrollment over Secure Transport)と比較して、CMSとの親和性と柔軟性に重きを置いています。

特徴 CMC (RFC 5272bis) CMP (RFC 4210) EST (RFC 7030)
基本構造 CMS (RFC 5652) ベース 独自メッセージ構造 HTTP + PKCS#10
柔軟性 非常に高い(多重署名・RA中継) 高い 限定的(シンプル重視)
トランスポート HTTP/HTTPS (RFC 5273) HTTP/TCP/Mail/File HTTPS
暗号アルゴリズム 最新のEdDSA, PQ暗号を考慮 幅広いが複雑 一般的なスイートのみ
多重化 制御メッセージの多重化が可能 構造的に可能 不可(単一要求)

【セキュリティ考慮事項】

  1. リプレイ攻撃への耐性: SenderNonce および RecipientNonce を制御シーケンスに含めることで、メッセージの鮮度を保証し、再送攻撃を防止します。

  2. ダウングレード攻撃の防止: 署名対象の AuthenticatedAttributes 内にアルゴリズム識別子を保持し、攻撃者による弱い暗号への差し替えを検知します。

  3. 前方秘匿性 (PFS): CMC自体はメッセージ保護プロトコルですが、トランスポート層(TLS 1.3)でPFSを確保することが強く推奨されています。

  4. 証明書確認 (Confirm): 証明書の発行後にクライアントが「受け取り」を通知するステップ(CertConfirm)により、不完全なトランザクションを防ぎます。

【まとめと実装への影響】

ネットワークエンジニアおよび開発者が留意すべき点は以下の3点です。

  1. ライブラリの更新: rfc5272bis で追加・整理された新しい OID や制御属性(Control Attributes)を処理できるよう、ASN.1 パーサーおよび CMS ライブラリの更新が必要になります。

  2. HTTPトランスポートの厳格化: rfc5273bis では、HTTP経由の転送時に適切な Content-Type (application/pkcs7-mime) の使用が再定義されており、既存のWAFやプロキシのフィルタリング設定の見直しが必要です。

  3. PQ暗号への準備: このドラフト更新は、耐量子計算機暗号(Post-Quantum Cryptography)をCMSに統合するための布石となっており、将来的なアルゴリズム移行のロードマップにCMCを組み込みやすくなっています。

ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました