[MD5について] [Linuxとセキュリティ] [homepage]

PGPについてのメモ(PGPへのいざない)
Pretty Goop Privacy


このページは,PGPについて,いろいろと書いてみたページです。 うそは書かないようにしているつもりですが,何かありましたら
yasuhi-a@is.aist-nara.ac.jp
まで。

目次

  1. PGPって?
  2. PGPの使い方
  3. PGP公開鍵サーバあなたの公開鍵を登録しましょう。
  4. その他の参考ページ
  5. インストール方法
PGPって?
PGPのことにまつわる話はいろいろありますが,これの特徴は 草の根の暗号であることでしょう。
具体的な特徴は
公開鍵を使うこと
これは,作成者だけが知っている"秘密鍵"と秘密鍵と対になっている 公開鍵を使うことによる暗号システムということです。
鍵を集中管理をしない
これは,鍵は必要な相手のものを自分で取ってくることを意味します。 また,"友達の友達は友達" 的なシステムで,認証することで, 鍵を交換します。また,これがPEMなどの集中管理する暗号と違うところです。
PGPというプログラムはフリーウェアである。
フリーであるプログラムに疑問を抱くかもしれませんが この事は,あらゆる人によって,検証されうることを意味します。
但し,米国の武器輸出規制により,米国で使われるPGPとそれ以外の国で 使われるPGPは異なったものであることを頭に入れておくことが必要です。 ですが,利用する際の互換性は保たれています。

PGPの使い方
それでは,具体的な使い方を示します。 インストール方法はこちら。
自分の"秘密鍵"と"公開鍵"のペアを作る。pgp -kg
"pgp -kg"を入力する。
すると,鍵の大きさを聞かれます。現在なら1024ビットの鍵を選びましょう。
ユーザIDを入力します。何でもいいんですが,電子メールのやり取りをするなら たとえば私の場合
  Araki Yasuhiro [yasu@mizuno.riec.tohoku.ac.jp]
  
としてあります。(*本当は[]は,"大なり""小なり”の,記号です。)
次にパスフレーズの入力をします。
乱数発生のための「種」を作ります。平文を打っていればいいでしょう。
これでできあがりです。 公開鍵はpubring.pgpに,秘密鍵はsecring.pgpに保管されます。
自分の公開鍵を配布する。pgp -kxa
公開鍵は,自分だけが持っていても仕方がありません。 自分の鍵は,自分でばらまく必要があります。ばらまきかたは何でもいいのですが, メールなどでばらまくことが多いでしょう。そのためには,アスキー形式で 出力する必要があります。(PGPのオプションの"a"はアスキー形式を出力 することをあらわしています)
  pgp -kxa userid 
  
で,useridに,自分のIDを入力します。すると,出力する ファイル名を聞かれた後に,ファイル出力されます。
そうしたら,他人に改ざんされないように,署名をします。 pgp -ks userid で,自分で自分の鍵に署名がされます。これを配布しましょう。
他人の公開鍵を登録する。pgp -ka
さて,今度は,他人の公開鍵を登録しましょう。 どんな手段で持ってきてもかまいません。
  pgp -ka filename
  
で,filenameに含まれる鍵が登録されます。
すると,その鍵をどの程度信用するのか,署名する必要があります。 どの程度信用できるかは,あなたが判断することです。
この時に,指紋が出力されますが,この128ビットの指紋が, "他の手段で手に入れたその公開鍵の指紋"と一致しているかどうかが 一つの目安になるでしょう。
最近ではメールの中に
  X-fingerprint: "A0 BA A8 E1 DC 85 B8 76  D6 D8 12 2B B6 C7 57 94"
  
などとかかれていることも多いです。(これは私の公開鍵の場合の例です)
ファイルを他人の公開鍵で暗号化する。pgp -e(a)
ある人間にのみ読めるように暗号化します。それには
  pgp -e filename userid
  
で暗号化します。オプションを"eat"にすると, アスキー形式で出力されるため,メールするときには,これを使います。
ファイルを復号する
暗号化されたファイルを復号するのは簡単です。たんに,
  pgp filename
  
だけで復号可能です。
ファイルに署名する。pgp -s
ファイルに自分の署名をするときの方法です。これは
  pgp -s filename
  
で,署名をすることができます。

PGP公開鍵サーバについて PGP公開鍵をどうやっててに入れよう。 あるいは「PGP公開鍵はサーバから持っていってね」とかいわれたことないですか?
そこで登場するのが,公開鍵サーバです。 但し,使うにあたって注意事項があります。引用します。
注意事項

このサービスは認証実用化実験協議会は如何なる形でもサポートしていない.
PGPユーザ間でのキーのやり取りを助けるためで.キーが有効であるかといっ
たことを保証する目的ではない;セキュリティのためにはキーの署名者と直接
やり取りすること.このサービスはいつでも事前通告なしに打ち切ることがで
きる.

直接の質問やコメントは すずきひろのぶ hironobu@icat.or.jp まで.
公開鍵を登録する
pgp-public-keys@icat.or.jp にメールを出します。
subjectに"add"をつけてメールし,本文の内容はあなたのPGP公開鍵です。
公開鍵サーバのコマンド一覧です。
ADD
あなたのPGPの公開キーを加えるキーをメールの内容として送る)
INDEX
サーバーにあるPGPのキーの一覧 (-kv)
VERBOSE INDEX
PGPのキーの一覧.冗長フォーマット(-kvv)
GET
公開キーのリングを全部を得る (注意)キーサーバーにある登録されている公開キー数は年々巨大になり、も し全部の公開キーを得ようとすると、10数メガのデータ転送が発生します。
GET userid
1つのキーを得る
MGET regexp
/regexp/にマッチしたキーを全部得る
LAST days
過去'days'日間に更新したキーを得る
MGETコマンドの例:
MGET michael すべてのmichaelという人のキーを得る
MGET iastate "iastate"という内容を含むすべてのキー
MGET F605A5|3A738B 2つのキーID
MGET .jp> という登録を行ったのキー
*日本国内の登録キーを得るのに便利です.

パスフレーズについて パスフレーズについて肝心なことは だとおもいます。自分に合ったパスフレーズを作りましょう。
参考文献:PGP(オライリージャパン)
参考になるURL
[MD5について] [Linuxとセキュリティ] [homepage]