Pretty Good Privacy (PGP)
- PGPの概要については、各種のホームページがありますが、例えば以下のページが参考になります。 以下、PGPについての基本的な知識があることを前提にしています。 「公開鍵」と「秘密鍵」の知識が必要です。 このホームページの説明も分かり易い。
- PGP(Pretty Good Privacyの略)は、Philip Zimmermannによって開発された、「公開鍵方式」の暗号化プログラムです。現在ではインターネット上の電子メールを暗号化する方法として、ほとんど唯一と言って良いほどの地位を得ています。
- 「公開鍵方式」は RSA 方式と呼ばれるものです。 National Science Foundation などによる資金提供により、MIT の Rivest, Shamir および Adleman の3人によって開発されたのでその頭文字を取ってこう呼ばれています。 パテントは MIT (U.S. patent #4,405,829, 20th September 1983) によって取得されています。
- 暗号化プログラムには法律上の問題があると思われていますが、この場合は無いと考えて良いでしょう。 輸出に関しては、アメリカ国外で開発された 2.6.3i(国際版)を使うことで問題はありません。 逆にアメリカ国内で使うには 2.6.3(米国内のみ)を使う必要があります。 詳しくは以下の文献をご覧ください。
- 良く分かるサイト− pgp 5i も解説されています。
- PGP(tm) User's Guide Volume T 日本語翻訳 - 最も詳しい解説
- PGP入門
- Web上のPGP関連ページ
- 私の公開鍵です。
pgpの解説書や解説したページはいっぱい有るのですが、ほとんどがUNIXまたはUNIX系のOSの上での使い方がほとんどでWindowsの上で使うことに対しての解説はほとんど有りませんでした。 ここではあえてWindowsの上での使い方に的を絞って説明します。 95/NT どちらでも同じです。
日本語Windows 95 用の pgp の入手方法
- pgp263i-win32.zipのダウンロード、DOSもWin95も実は同じ。
- JISコードの日本語を扱うための pgp263ia.zip をダウンロード
- PGPの出力するメッセージの日本語化
- 展開後に作成されるja.hlpとlanguage.txtは文字コードはEUCなので、このままではパソコンでは表示できません。 パソコンの文字コードであるShift JISへ変換する必要があります。 変換にはnkf32を利用すると便利です。 他でも必要になります。
- pgp263i-japanese.zip を解凍したフォルダに移って、以下のコマンドをDOS窓から入れる。
- ja.hlpをShift JISへ変換
c:\pgp263i-japanese> nkf32 -sc ja.hlp > hlp.txt
- language.txtをShift JISへ変換
c:\pgp263i-japanese> nkf32 -sc language.txt > lang.txt
後は、エクスプローラか何かで元のファイル名に名称変更をしてください(hlp.txt => ja.hlp、 lang.txt => language.txt)。 もちろん元のファイルは先に消しておいてください。 それから後で述べますが \PGP と言うフォルダを作って、エイヤと今までに入手し、解凍したモジュールを全て「サブフォルダ」を含めて全てコピーしてください。 サブフォルダにはドキュメントや何やらが入っていますが、実行時にも必要だそうです。 確認したことはありません。
- config.txt の修正
- C:\PGPにあるconfig.txtを以下のように修正
Language = ja
MyName = keith masuda <masuda@usa.net> <==公開・秘密の鍵ペアを作った時のIDを入れてください。
CharSet = noconv
- これだけの作業をやるのは大変でしょうから、以下のところに作って置いてありますので、ダウンロードしてください。 解凍すると \PGP と言うフォルダが出てきますので、このフォルダごと C:\ ドライブにコピーしてください。 C:\pgp\ と言うフォルダに全てが入ったことになります。 日本語のメッセージが少々おかしいのですが、なぜこうなるのかは良く分かりません。
- ただし、以下の作業は別途必要です。
- C:\pgp\config.txt の修正
MyName = keith masuda <masuda@usa.net> <==公開・秘密の鍵ペアを作った時のIDを入れてください。
<このエントリを修正しなくても、動くことは動きます。 DOSプロンプト以外では必ず何らかの設定が行われますので、実用上は差し支えないようです>
- C:\Autoexec.bat の修正
ファイルの最後に以下の行を追加する。 NTですともともと何も書いてありませんので、これそのものがファイルとしてもかまいません。
SET PGPPATH=C:\PGP
SET PATH=%PGPPATH%;%PATH%
SET TZ=JST-9
<これも C:\PGP と言うフォルダを作らず、好みにもよりますが、 Windows フォルダや 95なら DOS フォルダにコピーすれば、この設定は不要になります。 C:\ の下に直にフォルダを作らずにコピーしても良いでしょう。>
- これで完了です。PCを立ち上げ直してからDOS窓を開いて
pgp -h
とやってみてください。 日本語でヘルプがDOS窓に表示されるはずです。 さらにDOS窓で使う場合は、以下に使い方を簡単に説明しておきます。
- たいがいのことは、DOSのプロンプトで使えるのですが、今時DOSプロンプトなんて、とおっしゃる方には、Goma と言うシェルプログラムで、公開鍵や秘密鍵のメンテナンスが出来ます。 これは現在フリーソフトになっていますので自由に使えます。 また英語版ですと沢山のところからシェルプログラムが提供されています。
パスワード(パスフレーズ)
- 暗号化したメールそのものが破られることはまずありません。 最も良くあるのは、パスワードの管理の不十分さのためにそれが漏れる場合です。 もちろん秘密鍵自体が漏れなければ問題ないのですが、何しろ秘密鍵は大変長いので、どうしても電子的な保管が不可欠です。 これは大変危険です。 また、パスワードはネットの上を流れているので漏洩の可能性も大きいと思います。
- そこで、パスワードを最初に決めるときには、通常は使っていない、要するにネットの上に流れたことの無いパスワードを選ぶようにすれば、安全性は更に高まります。
- 秘密鍵を持ち運ばなければならないようなときでも、必ずFDで持ち運ぶようにすれば良いでしょう。 ちなみに 秘密鍵は secring.pgp に入っています。 これ全体をFDにコピーすれば持ち運べます。
- またパスワードではなくてパスフレーズにしたら、もっと良いでしょう。 要するに英語の詩のワンフレーズを覚えておいて使うのです。 俳句でも良いでしょう。 pgpは基本的にはこのパスフレーズを使うことを前提にしています。
PGPユーザ名
- ユーザ名にメールアドレスを使うのは面倒と思いませんか? これには訳があってメーラーといっしょに使うことが前提になっているからです。 従って、PGP Shell などで別個に使うと面倒な感じがします。
- メーラーの相手先(To: や Cc:)に書かれているメールアドレスを見てPGPはキーリングの中から公開鍵を探します。
- さらに、複数のメールアドレスがあればそれぞれの公開鍵で一つのメールを暗号化して複数の人の秘密鍵で開くことが出来るようにします。 これは大変便利な機能で、メールの同報性を十分活かすことが出来ます。
電子指紋
- PGPの公開鍵は大変に長いので、これを常にメールのシグネチャの後に付けるわけにはいきません。 Webで公開されているものは成りすましの可能性があります。
- また、現時点では本人認証機関が無いので、認証が確実に出来るわけでもありません。 また、相互に認証を行う方法も取られてはいますが、グループ外では役には立ちません。
- そこで、メールのシグネチャに指紋を付けておき、これが自分のものだと言うことを常に宣言するわけです。 成りすまそうにも全てのメールのシグネチャを書き換えるわけにも行きません。
- PC/AT で動作する PGP は、DOSで動作するものしかありません。 今更、DOS で使うわけにもいかないので、通常のWindows 95 と同じような使い方が出来るようなシェルが多く開発されています。 ここでは日本のオレンジソフトによって開発されたGomaを紹介します。
- Gomaは暗号プログラムPGPを、Windows上から使用するためのシェルプログラムです。また、OLE2 IFを用いてGomaを他のプログラムから簡単に制御することができます。 以下の場所からダウンロード出来ます。
- 前述のPGPのセットアップが正常であれば、メニューに従って操作してください。 左の窓が平文。右の窓が暗号文です。
- AL-Mail + AddMenuでのPGP設定方法
- Becky! ユーザーのためのPGP
- 詳細は以下のURLが参考になるでしょう。 概略は以下の「PGP のコマンドの概略」を見てください。
- 自分の鍵を作る pgp -kg
- IDを聞かれます。 何でも良いのですが、他の人との重複が無いように、前述のように名前とメールアドレス入れてください。 ここでは日本語は使えません。 Gomaでは別々に聞いてきます。 暗号化のキーの長さは1024にしてください。 今世紀中は少なくとも安全と言われています。
- 「暗証フレーズ」は要するに秘密鍵の元です。他人に分からないように、しかもキチンと思い出せるものにしてください。 自分の家族や恋人の名前や住所に関連したものは厳禁です。 こう言うものはすぐに推定されてしまいます。 この後、乱数を作るためのでたらめなキー入力が終われば、公開鍵と秘密鍵の計算が始まります。
- この結果、公開鍵フォルダ pubring.pgp と、 秘密鍵フォルダ secring.pgp が出来ます。
- 自分の公開鍵を入手する pgp -kxa
- IDを聞かれるので公開鍵を作ったときのIDを入れてください。
- 出力するファイル名を聞かれるので、適当に例えば masuda と入れると、公開鍵をテキストにしたものを入れた masuda.asc と言うファイルがカレントのフォルダに作られます。
- この公開鍵を、メールのシグネチャにするなり、ホームページに張り付けるなりしてください。 あなたに暗号化メールを送りたい人に知らせることが出来ます。 しかし、本当にあなたの公開鍵であるという認証は別問題です
- 自分の公開鍵を自分で認証する pgp -ks
- しつこく本当に正しいのですね? と聞かれますが本当にそうであれば "y" と答えて電子署名します。 少なくともあなたが認証したことになります。従って、途中で鍵を書き換えられる事はありません。
- 相手からもらった鍵ファイルを自分のキーフォルダに入れる pgp -ka {キーの入ったファイル名}
- もらったキーの信用度を聞かれますので、答えてください。直接に手渡しでもらったのが最も信頼性は高いでしょう。 Web に載っているものは改竄されているかも知れないし、なりすましかも知れません。
- 今持っている鍵の一覧を見る。 pgp -kv
- メールを暗号化して送る pgp -eat {文章のファイル名} {相手のID}
- 暗号化されたメールを復号する pgp {暗号化された文章が入ったファイル}
- この他にもいろんな事が出来ます。 pgp -h で確認してください。
使いやすい暗号化ツール「秘脚」のページへ
セキュリティのページに戻る