RFC 5272bis/5273bis: Certificate Management over CMS (CMC) 更新ドラフト

Tech

[META] { “protocol”: “CMC (Certificate Management over CMS)”, “draft_status”: “Submitted to IESG for Publication (rfc5272bis/rfc5273bis)”, “primary_rfc”: “RFC 5272 (obsoleting), RFC 5273 (obsoleting)”, “target_audience”: “Network Security Engineers / PKI Developers”, “technical_focus”: [“CMS Encapsulation”, “ASN.1”, “Crypto-Agility”, “Full PKI Request”] } [/META] 本記事はGeminiの出力をプロンプト工学で整理した業務ドラフト(未検証)です。

RFC 5272bis/5273bis: Certificate Management over CMS (CMC) 更新ドラフト

【背景と設計目標】

CMSベースの証明書管理仕様を現代化し、暗号アルゴリズム更新と相互運用性の向上を目指す。 既存のRFC 5272/5273を統合・整理し、現代の暗号スイート(SHA-2/SHA-3、EdDSA等)への対応と曖昧さの排除を目的とした事実上の上位互換規格です。

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

CMCは通常、エンドエンティティ(EE)と登録機関(RA)または認証局(CA)の間で、CMS(Cryptographic Message Syntax)でカプセル化されたメッセージをやり取りします。

sequenceDiagram
    participant "EE as End Entity (Client)"
    participant "RA_CA as RA/CA (Server)"

    Note over EE: Generate Key Pair
    EE ->> RA_CA: Full PKI Request (TaggedCertificationRequest)
    Note right of RA_CA: Verify Signature / Policy Check

    alt Success
        RA_CA -->> EE: Full PKI Response (CMCStatusInfo: Success + Certificates)
    else Proof of Possession (PoP) Required
        RA_CA -->> EE: Full PKI Response (CMCStatusInfo: Confirm Required)
        EE ->> RA_CA: PKI Response Confirmation
        RA_CA -->> EE: Final Full PKI Response
    end

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

CMCメッセージはASN.1で定義され、CMSの SignedData または AuthenticatedData 内にカプセル化されます。以下は Full PKI Request の論理構造です。

+---------------------------------------------------------------+
| CMS ContentInfo (oid: id-ct-PKIData)                          |
+---------------------------------------------------------------+
| PKIData ::= SEQUENCE {                                        |
|   controlSequence    SEQUENCE OF TaggedAttribute             |
|     (Offset 0:32) -> [TransactionID, SenderNonce, etc.]       |
|                                                               |
|   reqSequence        SEQUENCE OF TaggedCertificationRequest  |
|     (Offset 32:64) -> [PKCS #10 or nested CMC requests]       |
|                                                               |
|   cmsSequence        SEQUENCE OF TaggedContentInfo           |
|     (Offset 64:96) -> [Nested CMS objects]                    |
|                                                               |
|   otherMsgSequence   SEQUENCE OF TaggedOtherMsg               |
+---------------------------------------------------------------+

【技術的な特徴と比較】

CMCは、簡易的なSCEPやモダンなESTと比較して、非常に高い柔軟性と複雑な登録フロー(複数ホップのRA経由など)をサポートします。

機能・特性 SCEP (RFC 8894) EST (RFC 7030) CMC (rfc5272bis)
ベースプロトコル HTTP (GET/POST) HTTP (TLS mandatory) CMS (Transport agnostic)
暗号の柔軟性 低(旧式アルゴリズム) 中(TLS依存) 高(Crypto-agility対応)
多重署名/承認 不可 不可 可能(RAによる重ね署名等)
管理オブジェクト 単一要求 単一要求 バッチ処理・複数要求
主な用途 ネットワーク機器 IoT/デバイス証明書 大規模PKI / 高機密環境

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

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

  2. 証明書の所有証明 (PoP): 秘密鍵の所有を証明するための Proof-of-Possession フィールドが厳格化されており、偽装申請を防御します。

  3. 暗号アジリティ: ドラフトでは、SHA-1などのレガシーアルゴリズムを非推奨(Deprecated)とし、現代的なAEADアルゴリズムや楕円曲線暗号(ECC)の利用を前提とした構造に整理されています。

  4. ダウングレード攻撃: 署名アルゴリズムの最小要件を定めることで、攻撃者による強度の低いアルゴリズムへの強制を抑止します。

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

  • 既存実装の改修: RFC 5272/5273準拠のシステムは、新しいOIDやアルゴリズム制限に対応するため、ASN.1パーサーおよび検証ロジックの更新が必要。

  • トランスポートの独立性: RFC 5273bisにより、HTTPだけでなくファイルベースやメールベースの転送も引き続きサポートされるが、セキュリティ確保のためにTLS 1.3等の下位レイヤー併用が推奨される。

  • 相互運用性の向上: 曖昧だったエラーコード(CMCStatusInfo)の定義が具体化されたため、マルチベンダー環境でのデバッグが容易になる。

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

コメント

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