PGPのススメ

通信傍受 −盗聴− 法案が、成立しました。しかも、参院の委員会採決は、自民・自由・公明による、強行採決です。これにより、権力による電話・電子メールなどの盗聴が合法化されたわけです。「自分は盗聴されて困るような話はしないから関係ない」などというのははっきり言って低次元です。これにより、国民に対する監視・管理体制がより強固になったのですから…。合わせて、住民基本台帳法改正案も可決され、これにより、国民は10桁の番号で管理されるようになります。詳しい話は新聞などに譲ることにして、ここでは現在最もメジャーと思われるPGP(Pretty Good Privacy)の使い方を紹介します。…が、私も始めたばかりなのでよく分かりません。そこで、Internet Magazine1998年10月号の記事を引用してみます。有用な記事だと思われるので。

PGP日本語版は同誌の付録CD-ROMやクニリサーチインターナショナルのWebサイト(http://www.kuni.co.jp/pgp/)から入手できます。また、実際のソフトと細部が違いますが、運用上は問題ないので、そのままにしてあります。画像を参照すべきところは、こちらで解説をすることにより、省いています。


☆索引☆

  1. 誰もができるPGPのインストール&鍵の作成
  2. お互いの公開鍵を交換しよう
    1. 公開鍵を送信してみよう
    2. 公開鍵を登録してみよう
      1. 登録した公開鍵を確認しよう
  3. 暗号化と複号は簡単にできる
    1. 暗号化して送信しよう
    2. 受信して複号しよう
      1. プラグインに対応しているソフトならさらに簡単
      2. ファイルを介さず操作できるPGPトレイ
  4. これが署名の使い方だ
    1. 署名を作成しよう
    2. 署名を検証しよう

1.誰もができるPGPのインストール&鍵の作成

ここではPGPのインストールから暗号に必要な鍵の作成を解説しよう。何を始めるのにも最初が肝心だが、焦ることはない。流れに沿って実行すれば、誰にでも簡単にできるので挑戦してほしい。

PGPにはさまざまなバージョンが存在する。例えば、米ネットワークアソシエイツが無料で配布しているバージョンや有償で販売しているバージョン。また、国際版という米国以外で出回っているものがある。さらに、日本のネットワークアソシエイツが日本語化したバージョンもこの9月に発売が予定されている。

どのバージョンも同じソースコードを使って作成されたものなので、基本的に中身は同じだ。今回は日本語化されたPGPパーソナルエディション(PGP5.5.3J)という製品のβ版を使って解説する。

もし無償のものが手に入れたければ、英語版ではあるが、PGP5.5.3iという国際版を入手することをおすすめする。基本的には今回紹介する使い方とまったく同じ操作方法で使えるものだ。
PGP5.5.3i(国際版)の入手先
http://www.pgpi.com/download/

  1. PGPパーソナルエディションではCD−ROMを入れると自動的にインストーラーが立ちあがる。「PGP5.5.3Jインストール」を選んで先に進もう。
  2. インストーラーに従って「次へ」ボタンを押していくと、ユーザー情報の入力やインストール先のフォルダーを聞かれる。特に問題がなければ、初期値のままでいいだろう。
  3. 次に、インストールするファイルを選択する。アウトルック97またはEudoraを使っているならば、これらの電子メールソフトに対応したPGPのプラグインもインストールしておこう。
  4. 以上でインストールは完了だ。2つのチェックボタンはチェックを付けたままにして、最後に「終了」ボタンを押そう。
  5. (4)が終わると鍵作成のための「キー生成ウィザード」が起動する。キー生成ウィザードの「次へ」ボタンを押していくと、最初に自分のフルネームとメールアドレスの入力を促されるので、この2つをローマ字で正確に入力しよう。
  6. 次に、暗号化するための暗号の種類を選択する。鍵の種類として「Diffie-Helman/DSS」または「RSA」を選択する。PGPを新規に始める場合には初期値の「Diffie-Helman/DSS」を選ぶのがよいだろう。
  7. 鍵のサイズを選ぶ。数値が大きければ大きいほど暗号の強度は増す。初期値の2048ビットで問題はないだろう。
  8. 次に鍵の有効期間を選ぶ。ここでは「無限有効期間」を選んでおく。
  9. 暗号化や複合化の操作の際に必要なパスフレーズを設定する。パスフレーズは任意の文字列だ。画面の上欄と下欄(確認用)に同じパスフレーズを入力する。入力する文字列が多ければ多いほど「品質」は増すが、パスフレーズはあとで必要になるので、忘れない程度の長さにしておこう。
  10. ランダムデータの収集の画面になったら、メーターが100%になるまで画面内でマウスを適当に動かそう。「次へ」ボタンを押すと、今まで設定したデータを使って鍵ペアが生成される。鍵ペアとは公開鍵と秘密鍵の事で、公開鍵は誰にでも配っていい鍵で、秘密鍵とは自分だけが保管しておくものだ。
  11. 鍵の生成が終わると、生成した公開鍵をキーサーバー(公開の鍵交換場)に登録するか質問される。キーサーバーへの登録はいつでもできるので、ここではチェックを付けずに先に進もう。
  12. 以上で自分の公開鍵ペアの生成は終わりだ。「完了」ボタンを押すとPGPキーウィンドウが出てくる。
  13. PGPキーウィンドウを終了させると、公開鍵と秘密鍵のファイルをバックアップするかと尋ねてくるので、「今すぐバックアップする」を押し、画面に従ってフロッピーディスクなどに保存し、大切に保管しておこう。

2.お互いの公開鍵を交換しよう

実際に暗号化するには相手の公開鍵が必要になる。ここでは、自分の公開鍵を相手に送る方法、また相手から受け取った公開鍵を公開キーリングに組み込む方法を解説しよう。

PGPは公開鍵暗号という暗号方式を採用している。公開鍵方式の暗号メールを送信する場合は、相手の公開鍵を事前に入手しておく必要がある。また、誰かから暗号メールを受け取りたい場合は自分の公開鍵を事前に配布しておく必要がある。というのも暗号化は相手の公開鍵を使って行わなければならないからだ。

PGPの公開鍵を交換するには公開鍵サーバーを利用した間接的なやり方や、公開鍵を保存したフロッピーディスクなどのメディアを直接相手と交換する安全で確実な方法もあるが、ここでは電子メールを使って公開鍵を交換する方法を説明する。

2.1.公開鍵を送信してみよう

  1. まずはPGPの操作を行うための「PGPツール」を起動しよう。起動方法はウィンドウズならば「スタート」→「プログラム」→「Pretty Good Privacy」→「PGPツール」だ。マッキントッシュの場合は画面上のツールバーのPGPアイコンのメニューから起動する。
  2. 続いて鍵の操作を行うための「PGPキー」ウィンドウを起動する。PGPツールの鍵のアイコンをクリックすればいい。
  3. PGPキーウィンドウが起動したら、自分の鍵を選択して、ドラッグアンドドロップでデスクトップにコピーする。このファイルが自分の公開鍵になる。
  4. 公開鍵のファイルをメモ帳などのテキストエディターを使って開いてみよう。
  5. (3)のエディターで公開鍵のテキスト全体をコピーし、電子メールソフトの本文欄にペーストして相手に送信すればOKだ。「BEGIN…」から「END…」の間でなければ、通常の文章も書ける。

2.2.公開鍵を登録してみよう

相手から公開鍵を受け取ったら、鍵を管理する公開キーリングに登録しておく。この登録の方法を説明しよう。

  1. 公開鍵入りのメールをもらったら、メール内の公開鍵の部分をコピーし、メモ帳などにペーストして拡張子「.asc」を付けたファイル名で保存する(ここでは「Kazuto.asc」としている)。メモ帳の場合は保存時に「ファイルの種類」を「すべてのファイル」にして保存しよう。
  2. 次にPGPキーウィンドウの「キー」メニューから「インポート」を選ぶ。
  3. 公開鍵が入っているファイルを選択するように促されるので、(1)で作成したファイルを選択して、「開く」ボタンを押す。
  4. 「インポートするキーの選択」ウィンドウが現れたら、相手の鍵かどうかを確認し、「インポート」ボタンを押して自分の公開キーリングの中に登録する。PGPキーウィンドウに登録した公開鍵が表示されていればOKだ。
  5. 受け取った公開鍵の中身が不正であったり壊れたりしている場合は「指定されたファイルには有効なキーがありません」という警告が出て処理は中断される。もし、壊れているようであれば再度相手に公開鍵を送ってもらおう。

2.2.1.登録した公開鍵を確認しよう

受け取った公開鍵を公開キーリングに登録したら、すぐにでも暗号メールを送れる。しかし、受け取った公開鍵はそのままでは「無効(Invalid)」なものだ。暗号などの操作自体は可能だが、このままでは信頼性のある暗号通信は行えない。

公開鍵を有効(Valid)にするためには、その鍵に自分の署名をつける必要がある。

鍵の正当性の確認に使われるのが「指紋」(fingerprint)と呼ばれるもので、公開鍵のデータとほぼ一対一に対応する16バイトから20バイト程度の長さの文字列のことだ。

ここでは、鍵の指紋の確認方法と鍵への署名方法を解説しよう。

  1. まずは自分の鍵の指紋をキープロパティーで確認してみよう。キープロパティーの起動はPGPキーウィンドウで鍵を選択して、マウスの右クリックメニューから「キープロパティー」を選べばいい。「指紋」にある英数字の文字列が自分の鍵の指紋だ。
  2. 受け取った相手の公開鍵も同様に指紋を確認してみよう。相手から、指紋を電子メールなどで送ってもらい、自分が受け取った鍵の指紋と同じかどうかを確認すればいいわけだ。安全性を考えると指紋は電子メールでなく電話やFAXなどで確認しておいたほうがいい。もしくは、日頃から電子メールのシグニチャー(署名)に入れておくといいだろう。
  3. 相手の公開鍵の指紋が正しければ、その鍵に自分の署名を付けよう。PGPキーウィンドウで署名を付ける鍵を選択して、マウスの右クリックメニューから「署名」を選ぶ。
  4. PGP署名キーウィンドウが立ちあがるので、OKボタンを押す。鍵ペア生成時に設定したパスフレーズが求められるので、正しく入力しよう。
  5. 最後にPGPキーウィンドウで、署名した鍵を確認しておこう。有効性の部分が緑色になっていることがわかるだろう。これで、自分が受け取った鍵の正当性を認めた事になる。

3.暗号化と復号は簡単にできる

ここまできたら暗号メールを送れる。今まで紹介したテクニックを実践していれば、すぐにでも取り掛かれる。ここでは、暗号メールの送り方と受け取った暗号メールの復号(読めるようにする)の仕方を解説しよう。

特定のメールソフト用のプラグインやコピーアンドペーストに使用するクリップボードを活用する事により暗号化や復号をよりスマートに行う方法もあるが、今回はファイルを経由して途中経過を確認しながら進めていこう。

3.1.暗号化して送信しよう

  1. まず、電子メールで送りたい文章をメモ帳やシンプルテキストなどのテキストエディターを使って作成して保存しておこう。ファイル名は何でもよいが、ここでは「mail.txt」としておく。
  2. 次に「PGPツール」を起動させよう。起動方法はウィンドウズならば「スタート」→「プログラム」→「Pretty Good Privacy」→「PGPツール」だ。マッキントッシュの場合は画面上のツールバーのPGPアイコンのメニューから起動する。そして、先ほど作成した電子メールで送りたい文章ファイル(mail.txt)をPGPツールの「暗号化ボタン」にドラッグアンドドロップする。
  3. 「PGP - キーの選択ダイアログ」が自動的に開くので、暗号メールを送りたい人の公開鍵を選択して、「受信者」の部分にドラッグアンドドロップしよう(公開鍵を選択してダブルクリックしても同じことができる)。このとき、自分の公開鍵も「受信者」部分に加えておこう。こうしておかないと、自分で出したメールなのに自分は読めないという困った事態になってしまう。
    また、暗号化したファイルはそのままでは読めないバイナリーファイルになってしまうため、オプションの「テキストの出力」を必ずチェックして、テキストファイルとして出力する。
    あとは「OK」ボタンを押せば、暗号化されたファイル(mail.txt.asc)が送りたいテキストファイルと同じフォルダーに作成される。
  4. 暗号化されたファイル(mail.txt.asc)をメモ帳やシンプルテキストで開いて全体をコピーし、電子メールの本文欄にペーストしよう。最後に電子メールを送信すればいい。

3.2.受信して復号しよう

  1. 相手からPGPによる暗号メールを受信したら、電子メールの暗号化された部分(メール全体でも可)をコピーし、メモ帳やシンプルテキストなどのテキストエディターにペーストしてファイルに保存する。ファイル名はなんでもいいが、拡張子は.ascとしておこう。ここではファイル名をreceived.ascとする。
  2. 保存したファイルreceived.ascをPGPツールの「複号化/認証」ボタンにドラッグアンドドロップする。
  3. 複号のためのパスフレーズの入力が求められる。暗号化されたメッセージを読める人のリストに自分の名前(氏名と電子メールアドレス)があることを確認し、「パスフレーズの入力」部分に鍵生成時に設定したパスフレーズを入力して「OK」ボタンを押す。
  4. メッセージが復号され、平文(もとの文)となったテキストファイルの保存が促されるので、適当な場所に保存しよう。
  5. (4)で保存したファイルをメモ帳やシンプルテキストなどのテキストエディターで中身を確認してみよう。

3.2.1.プラグインに対応しているソフトならさらに簡単

PGPのプラグインに対応しているアウトルック97(最新版のアウトルック98は未対応)やEudoraなどの電子メールソフトであれば暗号化や複号の操作は格段に簡単になる。

普段通りにメール本文を書いて、宛先欄に相手のアドレスを書き、暗号化ボタンを押すことにより必要に応じて電子メールアドレスの文字列を検索用キーとして公開鍵サーバーまで鍵を取りに行き(キーリングに登録してあればそちらを使う)、暗号化して送信してくれる。

逆に、受信したメールを開いて複号ボタンを押してパスフレーズを入力するだけで簡単に復号してくれる。

ファイルを仲介せずに全ての操作を電子メールソフト内でできるので、手間が掛からず非常に便利だ。

3.2.2.ファイルを介さず操作できるPGPトレイ

今回の暗号化や複号の操作は中間的なファイルを作成する方法を紹介した。この方法は、テキストデータ以外のものにも適用できるなど幅広い使い方が考えられる。しかし、いちいちファイルを作成しなければならず、面倒だという人もいるだろう。

そこでファイルを介さずに操作できるPGPトレイ(マッキントッシュの場合はPGPメニュー)を使った方法を紹介しておこう。

PGPトレイの操作はウィンドウズのタスクトレーにある鍵の付いた封筒のアイコンをクリックすればいい。マッキントッシュの場合はメニューバーにある同様のアイコンから操作できる。

操作方法はいたって簡単。暗号化したいテキストをコピーして、PGPトレイのメニューから「クリップボードを暗号化」を選んで貼り付けるだけだ。

この方法を使えば、電子メールソフトで直接電子メール本文を書いて、それをコピーし、暗号化して貼り付けるだけで済む。


4.これが署名の使い方だ

電子メールが改ざんされていないかどうかを証明するのが署名だ。PGPでは暗号だけでなく、この署名機能も用意している。ここでは署名の使い方を解説する。暗号化とも組み合わせられるのでぜひ試してほしい。

署名(電子署名)とは、電子メール本文などが通信の途中で改ざんされていないか、誰かが自分になりすましていないかどうかを確認できるものだ。暗号と組み合わせて使用する場合もあるが、今回は署名だけを使う方法を紹介しよう。  また、ここではPGPトレー(マッキントッシュではPGPメニュー)を使った操作方法を紹介する。

4.1.署名を作成しよう

  1. まず、電子メールソフトで通常通り新規メッセージを作成する。そして、電子メール本文全体を選択してコピーする。
  2. 次にPGPトレーをクリックし、メニューから「クリップボードに署名」を選ぶ。
  3. パスフレーズの入力が求められるので、署名キーが自分の鍵かどうかを確認してパスフレーズを入力する。
  4. クリップボード内の電子メール本文に対して署名を付ける処理が施される。これを選択状態のままの新規メッセージに貼り付ける。すると、電子メール本文に署名が付いたものが貼り付けられる。「BEGIN PGP SIGNATURE」から「END PGP SIGNATURE」までの部分が署名だ。あとはこれを送信すればいい。

4.2.署名を検証しよう

  1. PGPによる署名付きメールを受け取ったら、まずメッセージ全体をコピーする。
  2. 次にPGPトレーをクリックし、メニューから「クリップボードの複号化と認証」を選ぶ。
  3. 自動的に署名の検証が行われ、「PGPログ」と「テキストビューア」が起動する。PGPログには署名者の名前と電子メールアドレスが表示されている。この情報が送信者と相違なければ、電子メール本文の内容が改ざんされていないことがわかる。テキストビューアには電子メール本文が表示される。
  4. もし、電子メールの内容が改ざんされていると、「PGPログ」の鉛筆アイコンに×印が付いて「不正な署名」と表示される。

索引へ  物置へ  トップページへ