[7] PKP の pin-sha256
指令は、
ホストの SPKI Fingerprint を表します。
[2] pin-*
指令は、ホスト運用者が当該ホストに束縛されるべき暗号学的identityを示すものです >>1。
ピンを符号化したものです。
[10] ピンは、 既知の暗号学的ハッシュアルゴリズムの識別子と、 それを使って計算した SPKI Fingerprint の組み合わせです >>11。
[3] 指令の名前は、 pin-
に字句を続けたものです >>1。
暗号学的ハッシュアルゴリズムを表すもので、 RFC 6234 SHA256 を表す sha256
(つまり pin-sha256
) のみが認められています >>1。
[4] 指令の値は、引用文字列です >>1。 これは Base64符号化SPKI Fingerprint です。
[14] 本指令と同じものが report-uri
へ送信される JSON
の known-pins
の値としても使われます。
[17] サーバーは、証明書鎖中のいずれかの証明書の SPKI Fingerprint を最低でも含めなければなりません。
[18] サーバーは末端実体証明書だけでなく、中間発行者や trust anchor の証明書のピンも含められます >>16。
[20] サーバーの管理者が秘密鍵を紛失すると、 同じ公開鍵の新しい証明書を発行できなくなりますから、 末端実体証明書のピンのみの PKP だと、 しばらくクライアントが接続できないことになってしまいます。 これを防ぐため、 CA証明書のピンを含めることで、 その CA が発行した証明書なら他の証明書でも接続できる状態となります。 >>16
[23] 加えて、サーバーはバックアップピンとして証明書鎖のいずれの証明書のものでもないピンを含めなければなりません >>16。 これは秘密鍵紛失等の際にかわりに使うため鍵を予め用意しておくものです >>22。 利用者エージェントは、PKP ヘッダーにバックアップピンが含まれていることを要求しなければなりません >>22, >>24。
[5] 未知のハッシュアルゴリズムの指令は、無視しなければなりません >>1, >>11。
[6] 認識できる pin-*
指令がなく、
当該ホストが Known Pinned Host なら、
そのホストが Known Pinned Host であるとみなすのをやめなければなりません >>1。
利用者にこれを示すべきです >>1。