PGP 2.6.3i で電子署名する


PGP には電子署名機能があります。 電子署名は、ファイルの改ざんや他人の成りすましを防ぎ、インターネッでのセキュリティ対策に有効です。 電子署名の検証は [暗号ファイルの復号化、署名の検証をする] をご覧ください。


ファイルに電子署名する : "pgp -s"

ファイルに電子署名する基本コマンドは "pgp -s 署名したいファイル" です。 パスフレーズを聞いてくるので入力してください。

暗号化した出力ファイルの形式をテキスト形式にするには "pgp -ea" のように a オプションをつけます。 これをしないと、署名した出力ファイルはバイナリ形式となり、メールや Web Page で文書として送信、公開することはできません。

以降、a オプションを指定し、テキスト形式で出力することを前提とします。

テキストファイルに署名する

メールや文書に署名するには "pgp -eat 署名するファイル" とします。

次のような内容の "plain.txt" というテキストファイルに署名する場合の例です。

これは平文ファイルです。
暗号化できるかな?
C:\PGP>pgp -sat plain.txt
Pretty Good Privacy(tm) 2.6.3i - Public-key encryption for the masses.
(c) 1990-96 Philip Zimmermann, Phil's Pretty Good Software. 1996-01-14
International version - not for use in the USA. Does not use RSAREF.
Current time: 1998/11/23 00:42 GMT

A secret key is required to make a signature.
You need a pass phrase to unlock your RSA secret key.
Key for user ID: Taro Yamada <taro@mail.hoehoe.ne.jp>
1024-bit key, key ID A88D8CCD, created 1998/11/22

Enter pass phrase: パスフレーズ (表示されない)
Enter pass phrase: Pass phrase is good.  Just a moment....
Clear signature file: plain.asc

C:\PGP>

"入力ファイル名.asc" という名前の署名されたファイルができます。 これが署名付きの文書ファイルです。 入力ファイルが "plain.txt" の場合 "plain.asc" となります。 署名されたファイルの内容は次のようになります。

-----BEGIN PGP SIGNED MESSAGE-----

これは平文ファイルです。
暗号化できるかな?

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv

iQCVAwUBNliuv7ZewyCojYzNAQEwYAQAlPDhCI08/tLZ/ZA8Dci9YCMw9Ge1c7eM
XmwSNvmrUqYo7B6DnxOo0oIgNL0oasy8GScun0l7HuHAjCyrSf0LvQVv85mpp1or
IRjtMi3nwD4+RPY9w+QCazWsP36jeShtXx1tK1r7L70wWyFHElavEPM/45xLDNp3
RZLHmh536NQ=
=q6VX
-----END PGP SIGNATURE-----

署名を分離する

署名したいファイルと署名を分けて作ることもできます。 "pgp -sba 署名するファイル" とします。

文書に署名したときのコマンドで署名すると、署名したファイルと署名が一緒になった 1つのファイルとして作成されますが、それでは都合の悪いことがあります。 このコマンドで署名すると、画像やプログラムファイルもテキスト形式になるので、PGP を使用していない人には扱うことができなくなってしまいます。

自作の画像、プログラム、圧縮ファイル (ZIP, LZH) などのファイルに署名して、Web Page などで公開したいときにはそれでは不便です。 この場合、署名したいファイルと署名を分けて作ります。

コマンド入力後の操作はテキストファイルのときと同じです。 "入力ファイル名.asc" という名前の署名のみのファイルができるので、このファイルを、署名した画像、プログラム、圧縮ファイル (ZIP, LZH) などのファイルといっしょに公開します。

メールに署名する

メーラーが PGP に対応している場合は、メーラーの仕様書にしたがってください。

メーラーが PGP に対応していない場合は、まず送る本文を書き、 "pgp -sat 書いた本文ファイル" とし、本文に署名します。 "元のファイル名.asc" という署名ファイルができます。

この署名ファイルをメールで送信するには 2つの方法があります。

署名ファイルをメールの本文として送る方法

このファイルの中身 (テキスト形式) をメールの本文として送ります。 Windows なら、コピー & ペースト を使えば簡単にできるでしょう。

ファイルの添付機能でメールに添付する方法

署名ファイルをメーラーのファイル添付機能を利用して、メールに添付して送ります。 添付機能の使い方はメーラーの仕様書にしたがってください。

署名ファイルを受けとった人は、あなたの公開鍵を使って検証します。


ファイルを署名と同時に暗号化する : "pgp -se"

ファイルを署名と同時に暗号化するコマンドは "pgp -se 署名、暗号化するファイル" です。

普通の署名や暗号化と同様に、a オプションを指定することで、署名、暗号化ファイルをテキスト形式で出力できます。

C:\PGP>pgp -sea 署名と暗号化したいファイル

まず、電子署名するためにパスフレーズを聞いてくるので入力してください。 次に、暗号化するために送り先のユーザー ID を聞いてくるので入力してください。

"入力ファイル名.asc" という名前の署名と暗号化されたファイルができます。 入力ファイルが "plain.txt" の場合 "plain.asc" となります。


注意

PGP は文書が EUC, ASCIIコード (半角アルファベット) で書かれていることを前提としています。 [PGP 導入時] の CONFIG.TXT の設定をしないと、Windows や DOS で標準の 日本語 Shift-JIS では正しく署名 / 検証できないことがあります。

もし検証できないときは、"pgp -sat" のかわりに "pgp -sa" としてください。

日本語文章ファイルは、1行が長すぎると、テキストファイルではなくバイナリファイルとして扱われます。

ライセンスの関係上、標準ではバージョン 2.6 以上の PGP で暗号化や署名したものは、それ以下のバージョンの PGP では復号できません。逆は可能です。



Kei1's Laboratory
(C) 1997-1998 K.Yamamoto, All rights reserved.
Comment to: webmaster@kei1.homeunix.org
Renewal : Nov 23, 1998.
Updated : Nov 23, 1998.