マスターIDキー(毎日使用するキーリングから切り離されています)と、暗号化サブキーと署名サブキーの両方(すべてRSA)があります。
署名サブキーを使用してドキュメントに署名します。マスターキーが存在しないため、GnuPGは(おそらく)毎日使用する秘密キーリングからこのキーを自動的に選択します。
他人の公開鍵を認証したい場合、マスター鍵と署名サブ鍵のどちらを使用すればよいかわかりません。
相手の公開鍵を取得、インポート、検証するたびにマスターキーを認証に使用すると、マスターキーが危険にさらされるリスクが高まるように思えます(ただし、マスターキーと日常使用のプライベートキーは、ネットワークに接続されていないマシンでは、マスターキーの公開を制限する必要があると感じています)。
一方、署名サブキーを使用して証明書を作成し、後でそのキーを取り消さざるを得なくなった場合、それらの証明書はすべて新しい署名キーで繰り返す必要があります(確かに--sign-key
で作成された証明書とは対照的に) --lsign-key
へ)。
これは私が自分で決めなければならないトレードオフですか、それともどちらか一方のキーを使用する必要があることは明らかですか?
4つの可能な「使用法」は次のとおりです。
--edit-key
を使用してキーを見ると、各キーとサブキーの後ろに記載されている使用法がわかります。デフォルトでは、キータイプでサポートされているすべてのものがマスターキーにアタッチされます(したがって、RSAはCSEA
にデフォルト設定され、DSAは暗号化に使用されないため、DSAはCSA
にデフォルト設定されます)。アルゴリズムよりも制限された特別なキータイプがあります(例:CSA
のみをサポートする「RSA(署名のみ)」)。
サブキーを作成するとき、サブキーをマスターキーにバインドする署名でキー使用法が割り当てられます。これにより、この機能がサブキーに委任されます。サブキーは、それぞれの操作のデフォルトキーにもなりますが、キーの使用法はマスターキーには表示されません。
証明書をサブキーに委任することはできないので、別のキーに署名するには常にマスターキーが必要です。
署名を委任することができ、前に感嘆符を付けて使用するキーを指定して別のキーを強制しない限り、署名委任付きの最新の有効なキーが自動的に署名に使用されます。
暗号化を委任することもできます。別のユーザーが感嘆符で強制されない限り、暗号化委任を持つ最新の有効なキーが送信者側で自動的に選択されます。
一般的には、マスターキーは他のキーの署名に使用されます。たとえば、「なぜ」の例外を参照してください。 for Debian開発でのOpenPGPサブキーの使用 。私はこの目的でサブキーを作成するシステムを知りません。私の経験では、公開キーソフトウェアはそれほど柔軟なものではありません。
意見としてのみ、私は次の2つの根拠を提案します。