gpg --list--keys 出力を理解するのに役立ちます

gpg --list--keys 出力を理解するのに役立ちます

実行すると、gpg --list-keys次の結果が表示されます。

/home/yax/.gnupg/pubring.kbx
----------------------------
pub   rsa2048 2020-10-09 [SC]
      4424C645C99A4C29E540C26AAD7DB850AD9CFFAB
uid           [ultimate] yaxley peaks <[email protected]>
sub   rsa2048 2020-10-09 [E]

このテキストで私の実際のキーは何ですか?

キーIDはどのように取得しますか?

[SC]と[E]は何を意味し、subは何を意味しますか?

以下はキーに関する情報です。

  1. rsaを使用して作成され、gpg --full-generate-keyrsa rsaオプションを選択しました。
  2. 長さは2048バイトです。

答え1

このテキストで私の実際のキーは何ですか?

表示されません。 (正確に)これはRSA 2048ビットキーであるため、--list-keys16進数で表される実際の公開キー(表示内容)は500文字を超えます。つまり、一般的な端末では約7行です。秘密鍵(歴史的な理由で* PGPおよびGPGでは「秘密」と呼ばれ、--list-secret-keys次のように表示されます)これはセキュリティにとって非常に有害です。

キーIDはどのように取得しますか?

4424C645C99A4C29E540C26AAD7DB850AD9CFFAB 例指紋キーIDが2つあります。、長い間未使用のv3キーを除いて、両方指紋から。 「短い」キーIDは、指紋の下位32ビットまたは最後の8桁の16進数であるため、AD9CFFABです。 「長い」キーIDは、指紋の下位64ビットまたは最後の16桁の16進数であるため、AD7DB850AD9CFFABです。歴史的に、短いキーIDはほとんどすべてに使用されており、ほとんどのWebサイト、ブログ、およびあなたが探している多くの文書でそれらを使用して表示していますが、過去数年間に短いキーIDが正常に悪用されました。現代これで、プログラムは長いキーIDまたは(ここのように)フィンガープリントをデフォルト値に設定しますが、次のことができます。次へ追加いくつかの設定ファイル(--keyid-format=longおそらく。--keyid-format=short.gnupg/config

どこかで見つけたのは、2048R/0B2B9B37以前のバージョンのGPGで使用されている形式の例です。 RSAを表すために単一文字Rを使用します。なぜなら、区別できるキータイプは3つ(およびアルゴリズム)だけでしたが、今では8つの16進数という短いキーIDを使用しているからです。

*私が直接書いた記事ですヒステリーレーズン古代ハッカー時代への言及いいねコンピュータユーザーはスマートでしたが、もはやそうではありません。参考にして提案してくださいhttps://unix.stackexchange.com/users/424473/yaxley-peaks部分的に扱いました。

答え2

@dave_thompson_085は質問の最初の部分(彼は指紋とKeyIDの関係について説明しました)について素晴らしい答えを提供しましたが、元の質問の残りの部分(3)に答えます。

「[SC]と[E]は何を意味し、subは何を意味しますか?」

[SC]「」と「」の部分に誰も答えなかった理由を理解してください[E]。 GPG文書はGPG自体と同じくらい不思議です;-)。私はこれらのフィールドの明確な説明を見つけるために長い時間を費やしましたが、成功しなかったので、キーを生成してその意味の証拠を見つけました。

[SC]:

スイッチを使用してキーを生成する場合は、オプション11を選択するとフィールド--expertの値が取得されます。[SC]自分の能力を設定するしたがって、私たちは「[SC]」と「」を決定できます。署名付き証明書「から」現在許可されているタスク":

gpg --expert --full-gen-key

Please select what kind of key you want:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (sign only)
   (4) RSA (sign only)
   (7) DSA (set your own capabilities)
   (8) RSA (set your own capabilities)
   (9) ECC and ECC
  (10) ECC (sign only)
  (11) ECC (set your own capabilities)
  (13) Existing key
  (14) Existing key from card
Your selection? 11

Possible actions for a ECDSA/EdDSA key: Sign Certify Authenticate 
Current allowed actions: Sign Certify 

   (S) Toggle the sign capability
   (A) Toggle the authenticate capability
   (Q) Finished

Your selection? q

[金利]:

gpg --expert --full-gen-key[E]「」を変更するオプションはありません。

ただし、次のようにキーを生成します。gpg --default-new-key-algo する:

gpg --default-new-key-algo "ed25519/cert,sign+cv25519/encr" --quick-generate-key "[email protected]"

スラッシュ間の2番目のフィールドには、証明書、ロゴ「しかし、2番目のスラッシュ以降の3番目のフィールドでは、encrそれが設定されているのがわかります。

したがって、 " [E]" =暗号化[入力]

息子:

サブ[キー]、Debianはとても良いですウィキページとして記述:

子供とは何ですか? OpenPGP はマスター鍵ペアにバインドされている点を除いて、一般鍵に似たサブ鍵もサポートします。サブキーは署名または暗号化に使用できます。サブキーの本当に便利な部分は、主キーとは別に取り消すことができ、主キーとは別に保存することもできるということです。

つまり、サブキーは別のキーペアと同じですが、マスターキーペアと自動的に関連付けられます。

GnuPG は実際には署名専用鍵をマスター鍵として使用し、自動的に暗号化サブ鍵を生成します。暗号化サブキーがないと、GnuPGを使用して電子メールをまったく暗号化できません。 Debian では、debian.org シェルアカウントの初期パスワードなど、特定のエントリを安全にメールで送信できるようにするための暗号化サブキーが必要です。

結論として:

これらの詳細を見つけることは - そして他の人も同じ問題を抱えていることを見ることができます - これは歯を抜くのと同じでした。 GPGのドキュメントが良いかもしれません。暗号化のようなものに誤解を招く可能性があるあいまいさはありません。

答え3

あなたは読むことができますこの記事キーフラグの説明は(参照キーフラグサブパッケージ部分)。

署名に使用されるマスターキーは、前に「パブ」が付いたマスターキーです。 「gpg --list-secret-keys」(「sec」で始まる部分)を使用して、プライベートセクションを表示できます。暗号化に使用されるサブキーは、「sub」(公開サブキー)または「ssb」(秘密サブキー)の前にあるキーです。 GnuPGの個々のキーに関する質問に対する回答を確認してください。ここ

答え4

私はあなたにこのガイドをお勧めしますGPGキー分析 - Dave Steeleのブログ

GPGとそのコマンドの包括的なガイドではありませんが、GPG全体の理解を深めるのに役立ちました。

関連情報