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

GPG

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

今回は、前回に続き副鍵を作っていきたいと思います!

Sponsored Links

主鍵のプロンプトに入ろう

副鍵を作る為には、主鍵のプロンプトに入る必要があります。

$ gpg --edit-key <メールアドレス/fingerprint等>

というコマンドでプロンプトに入る事が出来ます。無事入ることが出来ると

gpg>

という表示に変わります。

抜けたい時は、quitというコマンドを入力するか、CtrlCを押しましょう。

署名用の副鍵を作る

主鍵のプロンプトに入り、

gpg> addkey

とすると、対話式で副鍵を作る事が出来ます。

鍵の種類

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

今回は、RSAで署名をしたいので4を選択します。

鍵長

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

安全性を考えて4096にします。

有効期限

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

好きな期間で大丈夫ですが、私は副鍵は無制限で構わないと思っています。

完成

sec  rsa4096/571EE8FFADFBCECA
     作成: 2019-08-13  有効期限: 2024-08-11  利用法: SC
     信用: 究極        有効性: 究極
ssb  rsa4096/EC84BECEDD1BC889
     作成: 2019-08-13  有効期限: 2024-08-11  利用法: E
ssb  rsa4096/9F1F2861FB221419
     作成: 2019-08-13  有効期限: 無期限      利用法: S

無事完成すると、秘密鍵の一覧が表示されます。

一番下の鍵が今回作成したものです。利用法はS(=Signing/署名)で有効期限が無期限になっていますね。

最後に

gpg> save

というコマンドを絶対に実行しましょう。これをしないと変更が破棄されてしまいます。

認証用の副鍵を作る

先程の署名用とほぼ同じですが、プロンプトに入る時に1つ細工してあげる必要があります。

$ gpg --expert --edit-key <メールアドレス/fingerprint等>

という–expertオプションをつけてプロンプトに入り

gpg> addkey

addkeyコマンドを実行します。

鍵の種類(1)

ご希望の鍵の種類を選択してください:
   (3) DSA (署名のみ)
   (4) RSA (署名のみ)
   (5) Elgamal (暗号化のみ)
   (6) RSA (暗号化のみ)
   (7) DSA (機能をあなた自身で設定)
   (8) RSA (機能をあなた自身で設定)
  (10) ECC (署名のみ)
  (11) ECC (機能をあなた自身で設定)
  (12) ECC (暗号化のみ)
  (13) 既存の鍵
あなたの選択は?

先程より選択肢が増えています。

今回は、認証用の鍵を作りたいので8を選択します。

鍵の種類(2)

鍵RSAに認められた操作: Sign Encrypt Authenticate
現在の認められた操作: Sign Encrypt
   (S) 署名機能を反転する
   (E) 暗号機能を反転する
   (A) 認証機能を反転する
   (Q) 完了
あなたの選択は?

今度は、機能を自分で選択しなければいけません。現在SignとEncryptが適用されているので、まずその2つを解除します。

s Enter
e Enter

すると、現在の認められた操作が空になるので

a Enter

としてAuthenticateを有効にします。

最終的に、現在の認められた操作がAuthenticateだけになればOKです。出来たら

q Enter

として次へ進みます。

鍵長

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

安全性を考えて4096にします。

有効期限

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

署名用と同じく無制限にしておきます。

完成

sec  rsa4096/571EE8FFADFBCECA
     作成: 2019-08-13  有効期限: 2024-08-11  利用法: SC
     信用: 究極        有効性: 究極
ssb  rsa4096/EC84BECEDD1BC889
     作成: 2019-08-13  有効期限: 2024-08-11  利用法: E
ssb  rsa4096/9F1F2861FB221419
     作成: 2019-08-13  有効期限: 無期限      利用法: S
ssb  rsa4096/126BA3F74EDD6744
     作成: 2019-08-13  有効期限: 無期限      利用法: A

無事一番下に利用法がA(=Authentication/認証)の鍵が出来ました!

最後に

gpg> save

コマンドをお忘れなく。

まとめ

これで、署名・暗号化・認証の3つの副鍵を手に入れる事が出来ました。

次回からはこれらの鍵を使って実際に署名や暗号化をしてみましょう!