Appendix A. Out-of-Band Key-Pinned Privacy Profile Example (帯域外キー固定プライバシープロファイルの例)
本セクションでは、最小限のピンセット (2つのピン) に基づいて、帯域外キー固定プライバシープロファイルが実際にどのように機能するかの例を示します。
DNSクライアントシステムは、ネットワークサービスから帯域外キー固定プライバシープロファイルで設定され、2つのピンを含むピンセットを使用します。HTTP公開鍵ピン留め (HPKP) [RFC7469] スタイルで表現すると、ピンは次のとおりです:
-
pin-sha256="FHkyLhvI0n70E47cJlRTamTrnYVcsYdjUGbr79CfAVI="
-
pin-sha256="dFSY3wdPU8L0u/8qECuz5wtlSgnorYV2f66L6GNQg6w="
クライアントは、期待されるDNSサーバーのIPアドレスも設定します: おそらく192.0.2.3と2001:db8::2:4です。
クライアントは、これらのアドレスの1つのTCPポート853に接続し、TLSハンドシェイクを開始します: Diffie-Hellman鍵交換を使用したTLS 1.2のネゴシエーション。サーバーは、3つの証明書 (A、B、およびC) のリストを含む証明書メッセージを送信し、証明書Aに含まれる公開鍵でServerKeyExchangeメッセージに正しく署名します。
クライアントは、証明書AのSPKIのSHA-256ダイジェストを取得し、ピンセット内の両方のピンと比較します。いずれかのピンが一致する場合、検証は成功です。クライアントはTLS接続を続行し、最初のDNSクエリを行うことができます。
証明書AのSPKIといずれのピンも一致しない場合、クライアントは証明書Aが実際に証明書Bによって発行されたことを検証します。そうである場合、証明書BのSPKIのSHA-256ダイジェストを取得し、ピンセット内の両方のピンと比較します。いずれかのピンが一致する場合、検証は成功です。そうでない場合、Bが Cによって発行されたことを検証し、次にピンをCのSPKIのダイジェストと比較します。
暗号的に有効な証明書チェーン内のどのSPKIもピンセット内のどのピンとも一致しない場合、クライアントはエラーで接続を閉じ、IPアドレスを失敗としてマークします。