ネットワークセキュリティ
証明書ピン留め
別称: TLS ピン留め, 公開鍵ピン留め
定義
期待する証明書や公開鍵をアプリ側にハードコードし、それと一致しない TLS 接続を拒否することで、不正に発行された CA 証明書を無効化する手法。
証明書ピン留めは、特定の TLS サーバーを 1 つ以上の暗号学的アイデンティティ(リーフ証明書、中間証明書、または SubjectPublicKeyInfo のハッシュ)に結びつけ、クライアントがそれを暗黙的に信頼する仕組みです。ハンドシェイク時にクライアントはサーバー側のチェーンとピン留め値を比較し、一致しなければ接続を中止します。公開 CA が署名していても拒否されるため、不正発行された証明書による中間者攻撃に強くなります。固定のバックエンドと通信するモバイル・デスクトップアプリでよく使われますが、運用が脆く、バックアップピンが必要で、緊急の鍵更新時に正当な利用者を締め出すリスクもあります。最近では短命証明書、Certificate Transparency、DANE などが推奨されるケースも増えています。
例
- サーバー公開鍵の SHA-256 ハッシュをピン留めし、それ以外の証明書を拒否するバンキングアプリ。
- 本番鍵に加え、ロールオーバー用の鍵もバックアップとしてピン留めするモバイル API クライアント。
関連用語
TLS (Transport Layer Security)
TLS (Transport Layer Security) — definition coming soon.
HTTPS
HTTPS — definition coming soon.
X.509 証明書
信頼された CA の署名によって公開鍵と身元を結びつける、標準化されたデジタル証明書の構造。
公開鍵基盤(PKI)
ポリシー・ソフトウェア・ハードウェア・信頼された機関の総体で、身元と公開鍵を結びつけるデジタル証明書を発行・配布・検証・失効させる。
認証局(CA)
公開鍵をドメイン名や組織などの検証済みの身元と結びつけ、デジタル証明書を発行・署名する信頼された機関。
中間者攻撃 (MitM)
通信中の双方が直接やり取りしていると信じている間に、攻撃者が通信を密かに中継・改ざんする攻撃。