GnuPG 鍵の作り方

GnuPG 鍵の作り方

    

はじめに

ここではGnuPG の鍵を持っていない人が鍵を作る方法を説明します。4096bit の鍵を作る説明となっています。
使っている OS に GnuPG がインストールされていることを前提に説明します。

GnuPG インストールの確認

Debian / Ubuntu 環境では、dpkg -l gnupg を実行することによって、インストールされているか、確認することができます。

$ dpkg -l gnupg
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ 名前              バージョン     説明
+++-===================-===================-======================================================
ii  gnupg               1.4.10-4            GNU privacy guard - a free PGP replacement

インストールされていない方は、お使いの環境/ディストリビューションに合わせてインストールしてください。 Debian / Ubuntu の場合には以下の方法でインストールすることができます。

$ sudo apt-get install gnupg

また、以下の説明では、gnupg 1.4.10 を使った説明となります。

GnuPG 鍵の作成

  1. 1. gpg —gen-key を実行します。
$ gpg --gen-key gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. gpg: ディレクトリー「/home/hoge/.gnupg」ができました gpg: 新しい構成ファイル「/home/hoge/.gnupg/gpg.conf」ができました gpg: 警告: 「/home/hoge/.gnupg/gpg.conf」のオプションは起動している間、有効になりません gpg: 鍵輪「/home/hoge/.gnupg/secring.gpg」ができました gpg: 鍵輪「/home/hoge/.gnupg/pubring.gpg」ができました

2. 鍵の種類を選択します。 1 を選択するとよいでしょう。

ご希望の鍵の種類を選択してください: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (署名のみ) (4) RSA (署名のみ) 選択は? 1

3. 鍵長を選択します。 4096 を入力してください。

RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 4096 要求された鍵長は4096ビット

4. 鍵の有効期限を指定します。環境に合わせて有効期限を選択してください。

定期的に更新したい人は1年を、特に有効期限を考えていない人は無期限でよいでしょう。
以下では「1y」 を入力することによって有効期限を1年に設定しています。また、この有効期限は後で変更可能です。

鍵の有効期限を指定してください。 0 = 鍵は無期限 <n> = 鍵は n 日間で満了 <n>w = 鍵は n 週間で満了 <n>m = 鍵は n か月間で満了 <n>y = 鍵は n 年間で満了 鍵の有効期間は? (0)1y Key expires at 2014年10月16日 09時13分45秒 JST
5. 特に問題がなければ、y を選択します。
これで正しいですか? (y/N) y

6. 名前、メールアドレス、コメントを入力します。

あなたの鍵を同定するためにユーザーIDが必要です。 このソフトは本名、コメント、電子メール・アドレスから 次の書式でユーザーIDを構成します: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" 本名: Taro Yamada 電子メール・アドレス: yamada@example.org コメント: 次のユーザーIDを選択しました: “Taro Yamada <yamada@example.org>”

7. 6. で入力したユーザIDで鍵を作成する場合は、o を入力します。

名前やメールアドレス等を変更したい場合には、各項目に対応したキーを入力してください。

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

8. パスフレーズを入力します。

秘密鍵を保護するためにパスフレーズが必要です。 2回パスフレーズを求められるので、入力してください。 また、パスフレーズは簡単に推測されないものにする必要があります。

9. 環境によっては、以下のようなメッセージが出力されます。キーボードやマウスを動かして乱数を発生させてください。

今から長い乱数を生成します。キーボードを打つとか、マウスを動かす とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で 乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。

10. 以下のようなメッセージが出ると、GnuPG 鍵の作成は完了です。

gpg: /home/hoge/.gnupg/trustdb.gpg: 信用データベースができました gpg: 鍵28B7FE92を絶対的に信用するよう記録しました 公開鍵と秘密鍵を作成し、署名しました。 gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u gpg: 次回の信用データベース検査は、2014-10-16です pub 4096R/28B7FE92 2013-10-16 [満了: 2014-10-16] 指紋 = D481 0994 6ABA 2BA1 7EDE 8AC7 1851 39BE 28B7 FE92 uid Taro Yamada <yamada@example.org> sub 4096R/AFEA4493 2013-10-16 [満了: 2014-10-16]

11. 廃棄証明書を作成します。

秘密鍵が盗難にあったり(秘密鍵が盗まれる等)、パスフレーズを忘れてしまったりしたときに備えて、 廃棄証明書を作成する必要があります。 作成するには以下のコマンドを実行します。実行すると、ホームディレクトリに revkey.txt ファイルが作成されます。 作成された廃棄証明書は印刷するか、CD-R 等に書き込み、物理的に安全な場所に保存します。

$ gpg --gen-revoke your_user_id (上の例では28B7FE92)

廃棄証明書は gpg コマンドで読み込んだ時点で対象の鍵が廃棄されます。作成だけでは廃棄されないことに注意してください。 

12. キーサーバに公開鍵を登録します。

作成した GnuPG の公開鍵をインターネット上にあるキーサーバに登録します。登録することによって、インターネットがつながる場所からキーサーバを介し、取得したい鍵のユーザ ID やキー ID を指定することによって公開鍵を取得できるようになります。ユーザ ID やキー ID だけでは、なりすまし等ができるので、取得した鍵の指紋を確認する必要があります。

$ gpg --keyserver pgp.mit.edu --send-keys your_user_id (上の例では28B7FE92)

13. 最後に ~/.gnupg/gpg.conf ファイルの末尾に以下の行を追加します。

personal-digest-preferences SHA256 cert-digest-algo SHA256 default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompresse
Comments