web-dev-qa-db-ja.com

失効証明書は秘密鍵に関する情報を漏らしますか?

Kleopatra/GPGは、公開鍵/秘密鍵によく似た失効証明書を作成できます。明らかに、これらのキーを取り消すつもりでない限り、これらのキーを共有または使用しないでください。ただし、失効証明書が安全でないと仮定します。この鍵を世界と共有すると、それを解読するために使用できる秘密鍵に関する情報が漏洩しますか? (明らかに、サービス拒否/信頼の喪失はより大きな問題になりますが、それはこの質問のポイントではありません)

1
Alpha Bravo

いいえ。キーによって作成された署名、キーに対して暗号化されたメッセージ、または公開キーのいずれかのコピーを持っている人に公開されるキーIDを除いて、情報は公開されません。

PGPキーは一般的に base64エンコード データとして配布されます。これは、PGPに固有ではなく、単にデータをエンコードする方法であり、おそらく秘密キーによく似ていると言うときにあなたが言うことです。

内部データは類似していません。失効証明書は、秘密鍵で作成された署名と、基本的に失効したことを示す特定のコンテンツです。あなたはそれの内容を簡単に調べることができます:

gpg --list-packets revocation.asc
# off=0 ctb=88 tag=2 hlen=2 plen=120
:signature packet: algo 17, keyid <keyid>
        version 4, created 1586130213, md5len 0, sigclass 0x20
        digest algo 8, begin of digest d5 a4
        hashed subpkt 33 len 21 (issuer fpr v4 <issuer>)
        hashed subpkt 2 len 4 (sig created 2020-04-05)
        hashed subpkt 29 len 1 (revocation reason 0x00 ())
        subpkt 16 len 8 (issuer key ID <keyid>)
        data: [256 bits]
        data: [254 bits]

ご覧のとおり、署名タイプは0x20です。 PGPを標準化する RFC488 に移動すると、署名タイプ0x20について次のようになります。

0x20:鍵失効署名

署名は、取り消されるキーで直接計算されます。取り消された鍵は使用されません。取り消されるキーまたは承認された取り消しキーによる取り消し署名のみが、有効な取り消し署名と見なされます。

2
vidarlo