GnuPGに関する私的なメモ書き 2002/12/25 GnuPG(GNU Privacy Guard)とは ============================ 暗号化のソフトとして有名なものにPGPがありますがPGPの場合ライセンスに制 限が有り、商業利用できません。そこでドイツ在住の開発グループがPGP互換 でライセンスフリーのGnuPGを開発しました。 GnuPGはPGPを置き換える完全かつフリーな(ソフトウェア)です。特許がカバー するIDEAを使っていない為、制限なしに使うことができます。GnuPGは RFC2440(OpenPGP)に準拠しているアプリケーションソフトウェアです。 GnuPGはドイツで開発されているため、米国などの輸出規制を受けないので自 由に使用できます。 公開鍵暗号(署名)の基本的な流れ ============================== o 自分の公開鍵,秘密鍵の作成登録 gpg --gen-key . 暗号(アルゴリズム)の種類 . 鍵長 . 鍵の有効期限 . 名前 . メールアドレス . 任意のコメント . パスフレーズ を答える . 作成された公開鍵,秘密鍵は作業を行ったコンピュータのディスクにパスフ レーズによって暗号化されて記録されます . 当然上記のデータは他人にコピーされたりしてはいけません。 o 破棄証明書の作成 gpg --gen-revoke my_userid >my_revcert.txt . 万が一秘密鍵やパスフレーズが他人に知られた場合に登録された鍵を無効 化するためのデータ . my_userid にはメールアドレス(の一部),名前(の一部)等ユーザを特定でき る文字列を指定する o 公開鍵を配布する gpg -a --export my_userid >my_pubkey.txt . 暗号化,署名付きデータのやり取りをしたい相手に my_pubkey.txt を配る . 配るための手法としては - フロッピーに入れて相手に郵送 - 公開鍵サーバに登録 等の手段がある . 公開鍵の正当性を証明する認証局(CA)というのも存在しつつある -> 間違い(^^;公開鍵(電子証明書)の正当性を証明云々はOpenSSLでのお話しでした... o 他の人の公開鍵を登録する gpg --import output.txt . 相手(other_userid)の公開鍵で暗号化される。 . 相手(other_userid)の秘密鍵のみで復号化できる。 o 暗号化する(共通(対称)鍵暗号方式) gpg -ca output.txt . パスフレーズの入力が必要 . 相手にパスフレーズを慎重に伝える事! o 署名する(GnuPGのみ対応の形式) gpg -sa -u my_userid output.txt . 自分のパスフレーズの入力が必要 . 自分(my_userid)の秘密鍵で署名される。 . 自分(my_userid)の公開鍵で署名の正当性がチェックされる。 o 署名する(PGP対応の形式) gpg -a --clearsign -u my_userid output.txt . パスフレーズの入力が必要 . 自分(my_userid)の秘密鍵で署名される。 . 自分(my_userid)の公開鍵で署名の正当性がチェックされる。 o 復号化&署名のチェック gpg my_pubkey.txt . my_pubkey.txt を配る