Login
Immutable PageDiscussionInfoAttachments
alstamber/HowToUseGPGForMac

MMA

この記事は非常に長いです. 読む際には心してください.

なにこれ

電子署名って何よ

電子署名

電子署名の原理

GPGToolsを使おう

GPGToolsのインストール

Thunderbirdとの統合

Enigmailのインストール

鍵の管理

鍵をつくろう

 % gpg --gen-key

ご希望の鍵の種類を選択してください:
   (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) /* 何も押さずにエンター */

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

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

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

本名:      Naben Erst

メールアドレス:     naben@erst.com

コメント: 

次のユーザーIDを選択しました:
    “Naben Erst <naben@erst.com>”

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

パスフレーズを入力:  /* パスフレーズなのでスペースなどが入っていてもいい. つまり文章でもよい */
パスフレーズを再入力:  /* もう一度 */ 

今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。 /* 鍵の生成はすぐ終わってしまうがこの間にキーボードを叩いたりするとよりいい鍵を作れる */

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

gpg: 信用データベースの検査
gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
gpg: 深さ: 0  有効性:   2  署名:   2  信用: 0-, 0q, 0n, 0m, 0f, 2u
gpg: 深さ: 1  有効性:   2  署名:   0  信用: 0-, 0q, 0n, 0m, 2f, 0u
pub   2048R/******** 20xx-xx-xx
                 指紋 = **** **** **** **** ****  **** **** **** **** ****
uid                  Naben Erst <naben@erst.com>
sub   2048R/******** 20xx-xx-xx

「本名」は鍵サーバに鍵を公開すると世界中に公開される. それをよく思わない場合はaliasなどにしておくべきだろう.

公開鍵をインターネット上のサーバにアップロードする

 % gpg --key-server サーバー名 --send-keys 鍵のID

  • 公開鍵はたくさんの場所に公開するのが良い. たくさんの場所に公開すればそれだけぜんぶが書き換えられて偽造される可能性が低くなる.

公開鍵をインターネット上のサーバにアップロードする2

 % gpg -a --export ID

  • 公開鍵はたくさんの場所に公開するのが良い. たくさんの場所に公開すればそれだけぜんぶが書き換えられて偽造される可能性が低くなる.

Thunderbirdから他人の公開鍵を手に入れる方法

端末を使って他人の公開鍵を手に入れる方法

 % gpg --key-server 鍵のあるサーバ --recv-keys IDor名前

 % gpg --lsign-key ID /* こうすると一応署名はできるが,  他の人にコピーして渡すと署名が消えてしまう中途半端な署名に出来る */
 % gpg --edit-key ID
 > trust
 (1~4の間で信用度を指定する. 実際にあったことがあり鍵が本人のものだと分かっているのなら4でいいと思われる)

 % gpg --fingerprint ID

ブラウザを使って他人の公開鍵を手に入れる方法

 % gpg --import ファイル名

 % gpg --lsign-key ID /* こうすると一応署名はできるが,  他の人にコピーして渡すと署名が消えてしまう中途半端な署名に出来る */
 % gpg --edit-key ID
 > trust
 (1~4の間で信用度を指定する. 実際にあったことがあり鍵が本人のものだと分かっているのなら4でいいと思われる)

 % gpg --fingerprint ID

GPG Keychain Accessを使う

GPG Keychain Accessを使うと出来ること

信用の輪と相互署名

信用の輪とは

他人の鍵に署名する方法

 % gpg --sign-key ID
 % gpg --edit-key ID
 > trust
 (1~4で信用度を設定)

  • その人にその鍵が本物かどうか信用できる方法で確認してから, 署名すること. たとえば直接あって確認すること. 平文のメールなどは改ざんされてる可能性があるので信用できない.

  • 指紋が一致しているかどうかもきちんと確かめるべきである. 大抵の人は指紋をどこかに公開している(サイト, 鍵サーバ, MMAのメーリングリストでのメールの署名).


以下の情報は古い情報です. 特別な理由がない限り参照する必要はありません.

MacPortsからGPGをインストールする方法

Xcodeをインストールする

MacPortsをインストールする

http://www.macports.org/install.php

パスを通す

export PATH=/opt/local/bin:/opt/local/sbin:$PATH

GPGのインストール

% sudo port selfupdate
% sudo port sync
% sudo port install gnupg

alstamber/HowToUseGPGForMac (last edited 2011-05-11 18:12:02 by alstamber)