GPG 鍵を 4096 bit に更新

新たに 4096bit/RSA 鍵を作成して, これまで使っていた 1024bit/DSA の鍵(1024D/AEE995F4)で署名しました.新しく作成した GPG 鍵とその fingerprint は以下.

 pub   4096R/891D7E07 2009-09-03
       Key fingerprint = 66A4 EA70 4FE2 4055 8D6A  C2E6 9394 F354 891D 7E07
 uid                  Youhei SASAKI <uwabami_(at)_gfd-dennou.org>
 sub   4096R/9DBFD29F 2009-09-03

手順はCreating a new GPG keyにある通り,

  • gpg.conf を更新する
  • 4096bit/RSA で鍵を作成する
  • 古い鍵で署名して, 鍵サーバに送る

です.

~/.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 Uncompressed

鍵の作成

 $ gpg --gen-key                                           ~
 gpg (GnuPG) 1.4.9; 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.

 ご希望の鍵の種類を選択してください:
    (1) DSAとElgamal (既定)
    (2) DSA (署名のみ)
    (5) RSA (署名のみ)
 選択は?

RSA (署名のみ), を選択する --> 5 を入力

 RSA keys may be between 1024 and 4096 bits long.
 What keysize do you want? (2048)

4096 bit にする --> 4096 を入力

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

有効期限は無制限. --> 0 を入力

 Key does not expire at all
 これで正しいですか? (y/N)

確認する. --> y を入力

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

適宜入力する. コメントは入れなかった.

 次のユーザーIDを選択しました:
   “Youhei SASAKI <uwabami_(at)_gfd-dennou.org>”

なんか入れた方が良いのかな?

 名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? <-- o
 秘密鍵を保護するためにパスフレーズがいります。

パスフレーズを適宜入力する.

 今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
 とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
 乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
  ........................................+++++
  ....+++++
  gpg: 鍵891D7E07を絶対的に信用するよう記録しました
  公開鍵と秘密鍵を作成し、署名しました。

 gpg: 信用データベースの検査
 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
 gpg: 深さ: 0  有効性:   2  署名:   4  信用: 0-, 0q, 0n, 0m, 0f, 2u
 gpg: 深さ: 1  有効性:   4  署名:   2  信用: 4-, 0q, 0n, 0m, 0f, 0u
 pub   4096R/891D7E07 2009-09-03
                  指紋 = 66A4 EA70 4FE2 4055 8D6A  C2E6 9394 F354 891D 7E07
 uid                  Youhei SASAKI <uwabami_(at)_gfd-dennou.org>

 Note that this key cannot be used for encryption.  You may want to use
 the command "--edit-key" to generate a subkey for this purpose.

これにて鍵の生成が終了.

暗号化用の subkey の追加

 $ gpg --edit-key 891D7E07                                 ~
 gpg (GnuPG) 1.4.9; 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.

 秘密鍵が使用できます。

 pub  4096R/891D7E07  作成: 2009-09-03  満了: 無期限      利用法: SC
                      信用: 絶対的     有効性: 絶対的
 [ultimate] (1). Youhei SASAKI <uwabami_(at)_gfd-dennou.org>

 コマンド>

addkey と入力. パスフレーズを入力してロックの解除をする.

 次のユーザーの秘密鍵のロックを解除するには
 パスフレーズがいります:“Youhei SASAKI <uwabami_(at)_gfd-dennou.org>”
 パスフレーズ:
 4096ビットRSA鍵, ID 891D7E07作成日付は2009-09-03

 ご希望の鍵の種類を選択してください:
    (2) DSA (署名のみ)
    (4) Elgamal (暗号化のみ)
    (5) RSA (署名のみ)
    (6) RSA (暗号化のみ)
 選択は

RSA (暗号化のみ) を選択する --> 6 を入力

 RSA keys may be between 1024 and 4096 bits long.
 What keysize do you want? (2048) 4096
 要求された鍵長は4096ビット
 鍵の有効期限を指定してください。
          0 = 鍵は無期限
       <n>  = 鍵は n 日間で満了
       <n>w = 鍵は n 週間で満了
       <n>m = 鍵は n か月間で満了
       <n>y = 鍵は n 年間で満了
 鍵の有効期間は?

無期限. --> 0 を入力

 これで正しいですか? (y/N) <-- y
 本当に作成しますか? (y/N) <-- y
 今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
 とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
 乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
 pub  4096R/891D7E07  作成: 2009-09-03  満了: 無期限      利用法: SC
                      信用: 絶対的     有効性: 絶対的
 sub  4096R/9DBFD29F  作成: 2009-09-03  満了: 無期限      利用法: E
 [ultimate] (1). Youhei SASAKI <uwabami_(at)_gfd-dennou.org>

 コマンド> save

これにて終了.

古い鍵で新しい鍵に署名

 $ gpg --default-key AEE995F4 --sign-key 891D7E07
 pub  4096R/891D7E07  作成: 2009-09-03  満了: 無期限      利用法: SC
                      信用: 絶対的     有効性: 絶対的
  主鍵の指紋: 66A4 EA70 4FE2 4055 8D6A  C2E6 9394 F354 891D 7E07

      Youhei SASAKI <uwabami_(at)_gfd-dennou.org>

 本当にこの鍵にあなたの鍵“Youhei SASAKI <uwabami_(at)_gfd-dennou.org>”で署名してよいですか
 (AEE995F4)

 本当に署名しますか? (y/N) <-- y
 次のユーザーの秘密鍵のロックを解除するには
 パスフレーズがいります:“Youhei SASAKI <uwabami_(at)_gfd-dennou.org>”
 1024ビットDSA鍵, ID AEE995F4作成日付は2005-12-08
 パスフレーズ: <-- 適宜入力

あっというまに終了.

鍵サーバへ送信

subkeys.pgp.net に送ろうとしたら time out しちゃった. なんでかな.pgp.mit.edu に送る

 $ gpg --keyserver pgp.mit.edu --send-key 891D7E07
 gpg: 鍵891D7E07をhkpサーバーpgp.mit.eduへ送信

以上です. 欲しい人は 891D7E07 を鍵サーバあたりから取得して下さい.