web-dev-qa-db-ja.com

OpenPGP証明書の主キーペアの使用フラグを制限するにはどうすればよいですか?

何度も読んだ OpenPGP証明書の主キーペアをサブキーペアに署名するためだけに使用し、一般的な日常の使用には使用しないことをお勧めします (秘密鍵を-セキュリティを強化するためのネットワーク対応PC)。最近、証明書の各キーペアに、排他的に使用する必要がある目的を定義するフラグがあることに気付きました。私が現在理解している限り(ドキュメントを見つけるのに問題があります)、サブキーペアに署名するプロセスはA(認証用)で表されます。

新しく生成された証明書では、主キーペアに使用フラグSC(署名と証明書)があります。これで、GnuPGコマンドラインツールを使用してサブキーのこれらのフラグを変更するのは非常に簡単ですが、主キーペアの使用フラグを変更する方法が見つかりません。

私ができるようにしたいのは、プライマリキーペアを制限して、証明書内の追加のサブキーペアにのみ署名して取り消すことができるようにすることです。これが可能かどうか、そしてその方法を誰かに教えてもらえますか?

5
aef

使用フラグcertifyCが必要です。これは、とにかくOpenPGP仕様で必要です。認証Aはめったに使用されず、自分自身を認証できることを意味します(SSHキーベースの認証と同様)。

しかし、GnuPGの使用フラグを変更することはできません(ただし、 コードをハッキングすることによって )。 Resul Cetinによるメッセージ そのメーリングリストスレッドから:

わかりました、それは非常に簡単でした(きれいではありませんが、速くてハック的な方法で行うことができました)。 gnupg-1.4.9/g10/getkey.c:parse_key_usageを検索し、pnon-constに変更し、常に(*p) &=~2;を設定しました。その後、新しくコンパイルされたhackish -gpg --edit-keyを開始し、マスターキーの有効期限を設定しました。この手順の後、Certフラグのみを設定しました。クリストフに感謝します-あなたはその日の私の個人的なヒーローです:)

6
Jens Erat

既存のマスターキーを変更するために、Jensが引用したgnupg-usersスレッドは、私が見た唯一の方法をカバーしています。

マスターキーを作成時にCertifyのみに設定するのは少し簡単です。

bash-3.2$ gpg --gen-key --expert
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)
Your selection? 8

Possible actions for a RSA key: Sign Certify Encrypt Authenticate 
Current allowed actions: Sign Certify Encrypt 

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

Your selection? s

Possible actions for a RSA key: Sign Certify Encrypt Authenticate 
Current allowed actions: Certify Encrypt 

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

Your selection? e

Possible actions for a RSA key: Sign Certify Encrypt Authenticate 
Current allowed actions: Certify 

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

Your selection? q
RSA keys may be between 1024 and 16384 bits long.
What keysize do you want? (2048)   C-c C-c
gpg: Interrupt caught ... exiting

bash-3.2$ 

ただし、後でgpg--edit-keyコマンドを使用して手動でサブキーを作成する必要があります。

2
Ben