本文へスキップ
ecdsa.com

分離署名(detached signature)

署名対象のデータとは別に保存される署名で(OpenPGP の .sig や .asc ファイル、SSHSIG ファイル、カプセル化されたコンテンツを含まない CMS 署名など)、元のファイルは変更されないまま残ります。
別表記detached signature.sig file.asc signaturedetached PGP signature

gpg --detach-sign file は file.sig(バイナリ)を書き出し、--armor を付けると file.asc を書き出します。検証は gpg --verify file.asc file で行います。SSH 署名(ssh-keygen -Y sign)、Sigstore バンドル、分離ペイロードの JWS、S/MIME の multipart/signed パートも同じ仕組みです。検証者は、署名されたものとまったく同じバイト列を受け取らなければなりません。改行コードの変更や再圧縮があると、検証に失敗します。

有効な分離署名が証明するのは、何らかの鍵がそのバイト列に署名したということだけです。その鍵が想定どおりの配布元のものかどうかは、検証者が別途判断する必要があります。その判断は、署名が示す鍵をそのまま信じるのではなく、理想的にはピン留めしたフィンガープリントや ID に基づいて行います。

規格と参考文献

すべての用語