Top/Security/gpg

目次

GnuPG

鍵の生成

$ 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.

ご希望の鍵の種類を選択してください:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (署名のみ)
   (4) RSA (署名のみ)
選択は? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
         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を選択しました:
    “名前 <メールアドレス>”

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

パスフレーズを入力: 
パスフレーズを再入力:

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

(他の作業をする)

十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと172バイトいります)

(更に他の作業をする)


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

十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと71バイトいります)

(更に他の作業をする)

十分な長さの乱数が得られません。OSがもっと乱雑さを収集
できるよう、何かしてください! (あと119バイトいります)

(更に他の作業をする)

dsa...+++++
gpg: 鍵***を絶対的に信用するよう記録しました
公開鍵と秘密鍵を作成し、署名しました。

gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
(以下生成結果・略) 

$

秘密鍵

公開鍵

公開鍵の失効証明書

暗号化と復号

署名と検証

ファイルの暗号化

信用度の設定

副鍵の更新

  1. gpg --edit-key を実行する
    $ gpg --edit-key user@example.com
    gpg (GnuPG) 2.2.27; Copyright (C) 2021 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.
    
    秘密鍵が利用できます。
    
    sec  rsa2048/D1514C891F120A2C
         作成: 2018-05-01  有効期限: 無期限      利用法: SC  
         信用: 究極        有効性: 究極
    ssb  rsa2048/F6F0FAD94EA4AE03
         作成: 2018-05-01  有効期限: 無期限      利用法: E   
    [  究極  ] (1). User Name <user@example.com>
    
  2. 副鍵を選択する為、 key 1 を type する(すると、下記のように ssb に * が付く)
    gpg> key 1
    
    sec  rsa2048/D15148891F120A2C
         作成: 2018-05-01  有効期限: 無期限      利用法: SC  
         信用: 究極        有効性: 究極
    ssb* rsa2048/F6F07AD94EA4AE03
         作成: 2018-05-01  有効期限: 無期限      利用法: E   
    [  究極  ] (1). User Name <user@example.com>
    
    gpg> 
  3. この後は、主鍵と同様の操作で副鍵の更新を行うことが出来る。

鍵の削除

  1. 削除するキーの ID を確認する
    $ gpg --list-keys
    pub   rsa2048 2018-05-01 [SC] [有効期限: 2072-11-21]
          A7140500C0F8F52503D62770B4A3D5A542333C02
    uid           [  信用度  ] Example User <user@example.com>
  2. ID を指定して削除
    $ gpg --delete-keys user@example.com

鍵の有効期限の更新

有効期限の更新をする

  1. gpg を更新対象のキーID を指定して起動
    $ gpg --edit-key <key-ID>
    gpg (GnuPG) 2.1.18; Copyright (C) 2017 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.
    
    Secret key is available.
    
    gpg: checking the trustdb
    gpg: marginals needed: 3  completes needed: 1  trust model: pgp
    gpg: depth: 0  valid:  10  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 10u
    gpg: next trustdb check due at 2022-07-23
    sec  rsa****/****************
         created: <created-date>  expires: 2022-07-23  usage: SC  
         trust: ultimate      validity: ultimate
    ssb  rsa****/****************
         created: <created-date>  expired: <expired-date>  usage: E   
    [ultimate] (1). <user-name> <<key-ID>>

  2. expire (失効日)を指定するコマンドを実行し、プロンプトで期限を選択する
    gpg> expire
    Changing expiration time for the primary key.
    Please specify how long the key should be valid.
             0 = key does not expire
          <n>  = key expires in n days
          <n>w = key expires in n weeks
          <n>m = key expires in n months
          <n>y = key expires in n years
    Key is valid for? (0) 

  3. 確認されるので、OK なら "y" [return] をタイプ。
    Key expires at 2022年07月23日 12時47分39秒 JST
    Is this correct? (y/N) y
    
    sec  rsa****/****************
         created: <created-date>  expires: 2022-07-23  usage: SC  
         trust: ultimate      validity: ultimate
    ssb  rsa****/****************
         created: <created-date>  expired: <expired-date>  usage: E   
    [ultimate] (1). <user-name> <<key-ID>>
    
    gpg: WARNING: Your encryption subkey expires soon.
    gpg: You may want to change its expiration date too.

  4. ここまで問題なければ、 "q" [retuen], "y" [return] をタイプして終了。
    gpg> q
    Save changes? (y/N) y
    $ 

有効期限更新後

鍵の公開

キーサーバへのUP

キーサーバに UP した公開鍵を失効させる

おまけ(自前サーバで公開鍵を公開する場合)

参考文献


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-02-03 (金) 21:11:19