38285
PGP（GnuPG）の使い方を勉強していたらいくつか疑問ができたので質問いたします。

PGPでは主鍵の他に、副鍵を複数作れると思います。

まず、（1）主鍵と副鍵の関係はどのようなものですか。  
副鍵は主鍵に必ず署名されているのかなと思ったのですが、検索しても特にそのような記述は見当たりませんでした。

また、副鍵にはそれぞれに利用法（Signing、Certification（これは主鍵のみ？）、Encryption、Authentication）を設定できると思います。  
Signingは署名、Encryptionは暗号化だと思いますが、  
（2）Certification、Authenticationは具体的には何をするための鍵になるのでしょうか。  
また、（3）これらの利用法ごとに鍵を分けるメリットはあるのでしょうか。S、E、Aは一つの副鍵で賄っても問題ありませんか。

最後に、鍵サーバに公開鍵をアップロードすることに関してですが、  
（4）一般に、ある主鍵とそれに紐づく副鍵の全ての公開鍵をアップロードすることになるのでしょうか。  
その場合、主鍵の公開鍵をアップロードすることになると思います。僕は主鍵の秘密鍵は常用したくない（＝普段使いのPCに保管したくない）と考えているのですが、他人から自分の主鍵の公開鍵で暗号化されたデータを送られた場合、主鍵の秘密鍵で復号しなくてはなりません。そこで、主鍵の公開鍵をアップロードしない、あるいは指定した副鍵を暗号化に使うように促す方法はありますでしょうか。口頭でこの副鍵を使って暗号化してくださいと伝えるしかないのでしょうか。

まだ勉強中の身ですので、何か誤解があると思います。  
質問として違和感のある部分があれば、合わせてご指摘ください。

雑多な内容で恐れ入りますが、よろしくお願いします。
CC BY-SA 3.0
2017-09-27T17:05:20.300
38243
2017-09-29T06:15:21.973
25483
question
security
PGPの鍵について
> （1）主鍵と副鍵の関係はどのようなものですか。

主鍵、副鍵ともそれ自体は単なる鍵データです。主鍵となる鍵で署名された鍵をひとまとめとして関連づけることで主鍵と副鍵という関係が生まれます。

> （2）Certification、Authenticationは具体的には何をするための鍵になるのでしょうか。

Certificationは鍵に署名するための鍵(=主鍵)です。たぶん主鍵以外にはつけられないと思います。

Authenticationは認証用の鍵で、認証というのは例えばSSHなんかで使う時が該当します。

> （3）これらの利用法ごとに鍵を分けるメリットはあるのでしょうか。S、E、Aは一つの副鍵で賄っても問題ありませんか。

  * 一部の秘密鍵だけ分離して運用できる
  * 秘密鍵が漏洩した時の影響範囲を限定する
  * 必要に応じて鍵の強度を変更できる

一つの鍵ペアで署名と暗号化が両方出来るとは限らない、というアルゴリズム上の制限もあります。

> （4）一般に、ある主鍵とそれに紐づく副鍵の全ての公開鍵をアップロードすることになるのでしょうか。  
>
> その場合、主鍵の公開鍵をアップロードすることになると思います。僕は主鍵の秘密鍵は常用したくない（＝普段使いのPCに保管したくない）と考えているのですが、他人から自分の主鍵の公開鍵で暗号化されたデータを送られた場合、主鍵の秘密鍵で復号しなくてはなりません。

主鍵には暗号化のcapabilityが付いてないので暗号化には使えません。
CC BY-SA 3.0
2017-09-29T06:15:21.973
38285
2017-09-29T06:15:21.973
5793
38243
answer