はじめてのGPG 〜第3回 主鍵を作ってみよう〜

GPG

こんにちは、水珈琲(@mizucoffee)です。

今回からは実際に手を動かしていきます!まずは主鍵を作りましょう!

Sponsored Links

主鍵を作る

下のコマンドを実行して作成していきます。

$ gpg --full-gen-key

※もしgpgコマンドが見つからない場合はパッケージマネージャでインストールしましょう

鍵の種類

ご希望の鍵の種類を選択してください:
   (1) RSA と RSA (デフォルト)
   (2) DSA と Elgamal
   (3) DSA (署名のみ)
   (4) RSA (署名のみ)
あなたの選択は?

鍵の種類は好みですが、自分はRSAとRSA(デフォルト)を選択しています。

鍵長

RSA 鍵は 1024 から 4096 ビットの長さで可能です。
鍵長は? (2048)

鍵長のデフォルトは2048bitですが、私は4096bitにしています。鍵長は長いほうがセキュアになるので、よほどの理由が無い限り4096bitで良いと思います。

鍵の有効期限

鍵の有効期限を指定してください。
       0 = 鍵は無期限
    <n>  = 鍵は n 日間で期限切れ
    <n>w = 鍵は n 週間で期限切れ
    <n>m = 鍵は n か月間で期限切れ
    <n>y = 鍵は n 年間で期限切れ

鍵の有効期限は様々な意見があるのですが、私は5年程度の期間を指定しています。

基本的に有効期限は自由に変更出来るので、鍵が盗まれた場合は無意味になるのですが、万が一「主鍵」と「失効鍵」の両方を紛失した場合、サーバー上の公開鍵を永遠に失効出来なくなってしまうので、有効期限の更新が面倒くさく感じない程度の期間を指定しておきましょう。

ユーザID

GnuPGはあなたの鍵を識別するためにユーザIDを構成する必要があります。
  本名:
  電子メール・アドレス:
  コメント:

本名は英語でフルネーム、電子メール・アドレスは普段使っているメールアドレスを入力します。ここで入力したメールアドレスは、公開鍵をサーバーに公開した時点で全世界に公開されます。よく考えて入力しましょう。

コメントはなしでOKです。

名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)?

問題がなければoを入力して続けます。

公開鍵と秘密鍵を作成し、署名しました。

と表示されたら無事作成完了です!

主鍵を確認しよう

公開鍵を確認しよう

$ gpg -k

というコマンドを使うと、自分の鍵束に入っている公開鍵の一覧を見ることが出来ます。

おそらく、現在は先程生成した自分の鍵しか入っていないはずなので以下の様な表示になると思います。

$ gpg -k
/root/.gnupg/pubring.kbx
------------------------
pub   rsa4096 2019-08-13 [SC] [有効期限: 2024-08-11]
      48754CABD4DEAFEBE95A64D8571EE8FFADFBCECA
uid           [  究極  ] Ritsuki Goto <i@mizu.coffee>
sub   rsa4096 2019-08-13 [E] [有効期限: 2024-08-11]

pub/uid/subという3つの項目があります。

[ ]の中にある文字は、その鍵が対応している機能を表しています。

  • C: Certification
  • S: Signing
  • E: Encryption
  • A: Authentication
pub   rsa4096 2019-08-13 [SC] [有効期限: 2024-08-11]
       48754CABD4DEAFEBE95A64D8571EE8FFADFBCECA

pubは「PUBlic key」の略で主鍵の公開鍵を表します。[SC]とあるのでSigning/Certificationに対応していることがわかります。

「48754CABD4DEAFEBE95A64D8571EE8FFADFBCECA」というのは、主鍵のフィンガープリントです。

フィンガープリントとは、簡単にいうと鍵のハッシュ値でその文字列が一致していれば同じ鍵だという証明になります。

uid           [  究極  ] Ritsuki Goto <i@mizu.coffee>

uidはUser IDの略で、ユーザーを特定しやすくするための情報を記録します。基本的には本名+メールアドレスが使用されますが、顔写真を登録することも出来ます。

sub   rsa4096 2019-08-13 [E] [有効期限: 2024-08-11]

subは「public SUBkey」の略で、副鍵の公開鍵を表します。[E]とあるのでEncryptionに対応している事が分かります。

秘密鍵を確認しよう

$ gpg -K

というコマンドを使うと、自分の鍵束に入っている秘密鍵の一覧を見ることが出来ます。公開鍵とは異なり、Kが大文字になっています。

$ gpg -K
/root/.gnupg/pubring.kbx
------------------------
sec   rsa4096 2019-08-13 [SC] [有効期限: 2024-08-11]
      48754CABD4DEAFEBE95A64D8571EE8FFADFBCECA
uid           [  究極  ] Ritsuki Goto <i@mizu.coffee>
ssb   rsa4096 2019-08-13 [E] [有効期限: 2024-08-11]

先程と殆ど表記が変わらないので、詳しくは解説しませんが「pub > sec」「sub > ssb」というように変わっているのが分かると思います。

secは「SECret key」、ssbは「Secret SuBkey」の略になっています。

まとめ

今回は、自分の主鍵(と暗号化用の副鍵)を作りました。

意外と簡単だったのでは無いでしょうか。次回は認証・署名用の副鍵を作ってみましょう!