メインコンテンツまでスキップ

RFC 8555 第9-12章の要約

説明: この文書は、RFC 8555の第9-12章の重要なポイントの要約を提供します。完全な技術詳細については、RFC 8555公式文書を参照してください。

9. IANA考慮事項 (IANA Considerations)

9.1 メディアタイプ登録

  • application/pem-certificate-chain: 証明書チェーンのPEM形式

9.2 Well-Known URI

  • /.well-known/acme-challenge: HTTPチャレンジの標準パス

9.3 HTTPヘッダーフィールド

  • Replay-Nonce: リプレイ防止nonceヘッダーフィールド

9.4-9.5 JWSヘッダーパラメータ

  • url: JWS内のURLパラメータ
  • nonce: JWS内のnonceパラメータ

9.6 URN名前空間

  • urn:ietf:params:acme: ACMEプロトコルのURN名前空間

9.7 新規レジストリ

IANAはACME用に以下のレジストリを作成しました:

  1. Account Object Fields (アカウントオブジェクトフィールド)
  2. Order Object Fields (注文オブジェクトフィールド)
  3. Authorization Object Fields (承認オブジェクトフィールド)
  4. Error Types (エラータイプ)
  5. Resource Types (リソースタイプ)
  6. Directory Metadata Fields (ディレクトリメタデータフィールド)
  7. Identifier Types (識別子タイプ)
  8. Validation Methods (検証方法)

10. セキュリティ考慮事項 (Security Considerations)

10.1 脅威モデル

ACMEの2つの主なセキュリティ目標:

  1. 識別子を制御するエンティティのみが、その識別子の承認を取得できる
  2. 承認後、アカウント鍵の承認が別のアカウントによって不適切に使用されることはない

通信チャネル:

  • ACMEチャネル: クライアントとサーバー間のHTTPSリクエスト
  • 検証チャネル: サーバーが検証クエリを実行するチャネル

10.2 承認の完全性

鍵バインディング: すべてのチャレンジは、鍵承認を通じてアカウント秘密鍵と検証クエリをバインドします。

潜在的な攻撃:

  • MitM攻撃: CDNまたはリバースプロキシが中間者になる可能性があります
  • DNS攻撃: 攻撃者はDNSハイジャックを通じて検証に影響を与える可能性があります
  • ホスティングプロバイダリスク: ホスティングサービスプロバイダが検証を改ざんする可能性があります

防御策:

  • DNSSEC検証リゾルバを使用する
  • 複数のネットワーク位置からDNSをクエリする
  • DNS保護策を適用する(DNS0x20など)

10.3 サービス拒否の考慮事項

CAは以下を実装する必要があります:

  • レート制限
  • リソースクォータ
  • 検証クエリのタイムアウト設定

10.4 サーバー側リクエストフォージェリ (SSRF)

HTTP-01チャレンジはSSRF攻撃に使用される可能性があるため、CAは以下を行う必要があります:

  • プライベートIPアドレスを拒否する
  • リダイレクトを制限する
  • 適切なタイムアウトを設定する

10.5 CAポリシー考慮事項

CAは以下の側面に関するポリシーを策定する必要があります:

  • 検証方法の選択
  • 証明書有効期限
  • 失効条件

11. 運用考慮事項 (Operational Considerations)

11.1 鍵の選択

推奨される鍵タイプ:

  • ECDSA P-256またはP-384
  • RSA 2048ビット以上

11.2 DNSセキュリティ

DNS-01チャレンジを使用する場合:

  • DNSインフラストラクチャのセキュリティを確保する
  • DNSSECの使用を検討する
  • DNS管理インターフェースを保護する

11.3 トークンエントロピー

チャレンジトークンは十分なエントロピーを持つ必要があります:

  • 少なくとも128ビットのエントロピー
  • 暗号的に安全な乱数生成器を使用する

11.4 不正な証明書チェーン

クライアントは以下を行う必要があります:

  • ダウンロードした証明書チェーンの完全性を検証する
  • 証明書の有効期限を確認する
  • 証明書チェーンの信頼パスを検証する

12. 参考文献 (References)

12.1 規範的参考文献(一部リスト)

  • RFC2119: キーワード定義(MUST、SHOULD、MAYなど)
  • RFC5280: X.509証明書とCRL構成
  • RFC7515: JSON Web Signature (JWS)
  • RFC7518: JSON Web Algorithms (JWA)
  • RFC8259: JSONデータ形式
  • RFC2818: HTTPS
  • RFC3339: 日付と時刻形式
  • RFC7807: HTTP APIの問題詳細

12.2 情報的参考文献(一部リスト)

  • RFC3552: インターネットプロトコルのセキュリティ考慮事項ガイド
  • RFC6844: DNS証明機関承認(CAA)リソースレコード
  • RFC7525: TLSおよびDTLSのセキュリティ推奨事項

付録

謝辞 (Acknowledgements)

RFC 8555の開発は、多くのIETFコミュニティメンバーの貢献によって実現されました。

著者の連絡先 (Authors' Addresses)

主な著者:

  • Richard Barnes (Cisco)
  • Jacob Hoffman-Andrews (EFF)
  • Daniel McCarney (Let's Encrypt)
  • James Kasten (University of Michigan)

関連リソース