本文へスキップ
ecdsa.com

鍵または証明書のフィンガープリント

公開鍵や証明書の短いハッシュ値で、目視や設定の中でそれを識別・比較するために使われます。SSH 鍵の SHA256:… や、証明書の DER バイト列の SHA-256 などがあります。
別表記key fingerprintcertificate fingerprintthumbprintSHA256 fingerprint

エコシステムごとに、ハッシュする対象が異なります。OpenSSH は、鍵 blob の SHA-256 をパディングなしの base64 にしたものに SHA256: を付けて表示します(OpenSSH 6.8 以降のデフォルトで、古いツールはコロン区切りの MD5 を表示します)。X.509 のフィンガープリントは DER 形式の証明書全体のハッシュで、証明書内のフィールドではないため、更新のたびに変わります。SPKI フィンガープリント(HPKP のピン、pin-sha256、証明書の透明性ログの検索)は SubjectPublicKeyInfo だけをハッシュするため、同じ鍵のまま更新すれば変わりません。JWK サムプリント(RFC 7638)は、必須メンバーを正規化した JSON をハッシュします。OpenPGP v4 のフィンガープリントは SHA-1(16 進数 40 桁)、v6 のフィンガープリントは SHA-256 です(RFC 9580)。

2 つのフィンガープリントが一致するのは、同じアルゴリズムで同じエンコーディングをハッシュした場合だけです。SSH の SHA256 フィンガープリントと .pub ファイルの sha256sum は一致せず、同じ鍵に対する証明書のフィンガープリントと SPKI ピンも一致しません。値全体を比較してください。短いプレフィックスや「key art」(ランダムアート)は、攻撃者が鍵を大量に生成して一致させることができます。

規格と参考文献

すべての用語