[META] { “protocol”: “CMC (Certificate Management over CMS)”, “rfc_status”: “draft-ietf-lamps-rfc5272bis (IESG Submitted)”, “layer”: “Application (PKI Management)”, “update_focus”: “Algorithm Agility, CMS Modernization, Post-Quantum Readiness” } [/META]
本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。
RFC 5272bis: Certificate Management over CMS (CMC) 更新仕様
【背景と設計目標】
CMSを基盤とした証明書管理プロトコルを現代の暗号アルゴリズムと要件に適合させ、PKI運用の柔軟性と相互運用性を向上させる。
既存のRFC 5272(2008年策定)を置き換えるものであり、SHA-1/RSA1024等のレガシー暗号の排除と、EdDSAやポスト量子暗号(PQC)を見据えたアルゴリズム・アジリティの確保を主眼としています。
【通信シーケンスと動作】
CMCは、End Entity(EE)、Registration Authority(RA)、Certification Authority(CA)の間で「Full PKI Request/Response」モデルを採用します。
sequenceDiagram
participant "EE as End Entity (Client)"
participant "RA as Registration Authority"
participant "CA as Certification Authority"
Note over EE: Generate Key Pair
EE ->> RA: Full PKI Request (TaggedAttribute + CSR)
Note right of RA: Verify PoP (Proof of Possession)
Add RA Signatures
RA ->> CA: Forward PKI Request (Nested CMS)
Note right of CA: Validate RA/EE
Issue Certificate
CA ->> RA: Full PKI Response (Cert/CRL/Chain)
RA ->> EE: PKI Response (CMS SignedData)
Note over EE: Install Certificate
【データ構造 / パケットフォーマット】
CMCのメッセージは、CMS(Cryptographic Message Syntax)のContentInfo構造体にカプセル化されます。以下はFull PKI Requestの論理構造です。
+-----------------------------------------------------------+
| CMS ContentInfo (Type: id-cct-PKIData) |
+-----------------------------------------------------------+
| PKIData ::= SEQUENCE { |
| controlSequence SEQUENCE OF TaggedAttribute, |
| | +-- [1] TaggedAttribute: Transaction ID (Octets) |
| | +-- [2] TaggedAttribute: Sender Nonce (Octets) |
| | +-- [3] TaggedAttribute: Proof-of-Possession |
| | |
| reqSequence SEQUENCE OF TaggedRequest, |
| | +-- [1] TaggedCertificationRequest (PKCS#10) |
| | +-- [2] TaggedRequest: CRMF (RFC 4211) |
| | |
| cmsSequence SEQUENCE OF TaggedContentInfo, |
| otherMsgSequence SEQUENCE OF TaggedOtherMsg |
| } |
+-----------------------------------------------------------+
| (CMS SignedData Wrapper for Authentication/Integrity) |
+-----------------------------------------------------------+
【技術的な特徴と比較】
CMCは他の証明書管理プロトコル(SCEP, EST, CMP)と比較して、CMSの強力な暗号化・署名機能を継承している点が特徴です。
| 特徴 | CMC (RFC 5272bis) | EST (RFC 7030) | CMP (RFC 4210) | SCEP (RFC 8894) |
|---|---|---|---|---|
| トランスポート | 任意(HTTP, Mail, TCP) | HTTP (TLS) | 任意(HTTP/TCP) | HTTP |
| メッセージ形式 | CMS (PKCS#7) | PKCS#10 / CMS | ASN.1 (CMP固有) | PKCS#7 / PKCS#10 |
| 鍵更新 | 柔軟な再署名 | TLS認証ベース | 署名ベース | 暗号化パスワード |
| 複雑性 | 中(RA構成に強み) | 低(シンプル) | 高(フル機能) | 低(機能制限あり) |
| PQC対応 | ドラフトにて拡張中 | 限定的 | 対応進行中 | 困難 |
多重カプセル化: RAが追加の署名や制御属性を付与する際に、元の要求をエンベロープ化して保護可能(ホップバイホップの信頼性向上)。
確認応答 (Confirm): 証明書の受領をクライアントがCAに通知するシーケンスにより、不完全な発行プロセスを防止。
【セキュリティ考慮事項】
リプレイ攻撃耐性:
Sender NonceおよびRecipient Nonceを必須とし、過去のメッセージを再利用した不正な証明書発行を防止します。所有証明 (Proof of Possession): 秘密鍵の所有を証明するためのチャレンジレスポンスや、署名検証を厳格化しています。
ダウングレード攻撃:
TaggedAttribute内で使用可能なアルゴリズムを制限し、強度の低いハッシュ関数への誘導を防御します。前方秘匿性 (PFS): 輸送層にTLS(EST経由など)を併用する場合、DHE/ECDHEの使用が推奨されます。
【まとめと実装への影響】
アルゴリズムの刷新: 実装者は、旧来のRSA/SHA-1依存を排除し、Ed25519やSHA-3、およびハイブリッドなポスト量子暗号のサポートを検討する必要があります。
RA(登録局)の役割: CMCはRAによるメッセージの「加工(再署名・属性追加)」を前提としているため、エンタープライズPKIにおける承認フローの実装が容易になります。
エラーハンドリングの厳格化:
CMCStatusInfoV2などの新しいステータス情報の解釈を正確に実装し、デバッグの容易性とセキュリティ診断能を向上させることが求められます。

