gnuPGの利用 †公開鍵暗号を実現するためにPGPというプログラムがありますが、特許問題を回避したオープンソースなgnuPGがあります。このgnuPGを利用してアーカイブの暗号化をすることにします。 全般的にこのページが詳しいですが少し難しいかもしれません。 インストール †https://www.okomeda.net/wp/290/にインストールから設定、利用までとてもよく説明されていますが、リンクされているバイナリがちょっと古いので、
http://www.ring.gr.jp/pub/net/gnupg/binary/から一番あたらしそうな
gnupg-w32cli-1.4.15.exeをダウンロードして使うようにしてください。 キー生成時にユーザーIDとか何か文字列をいれないといけないのですが 今回の目的には適当なものでいいです。 たとえばメールアドレスはにせものでもいいです。 RFCにはexample.com example.orgは文書中に例を書くために利用できるとされています。 ですので、hogehoge@example.orgとかで充分です。 他の目的でgnuPGを使うときは正しいキーをつくって利用してくださいね。 説明の通りに公開鍵をファイルにはき出し、その内容を連絡けいじばんに貼ってください。 つぎにsaramiの公開鍵を自分の環境に登録します。
私が作ったgpgファイルにはsaramiの署名がついています。
これはgpgファイルをsaramiが作ったことの証明です
これを確認するためにはsaramiの公開鍵を持っていないといけません。
で取り込んでください。
パスフレーズをいれて署名完了です。
そうすれば信用データベースが更新されます。 これで公開キーの取り込みは完了です。
saramiに対してだけでなく一般的につかえる手順です。 使い方 †ggpファイルhogehoge.gpgを復号するには
とするだけです。 このときパスフレーズを求められます。 ただし、暗号時にちょっと細工をしているので、面倒な作業が発生するかもしれません。 下の参考メモを参照してください。 参考 †こちらではいただいた公開鍵群すべて宛に暗号化します。 一般的にこのような場合、メールでいうCc状態なので、他の受け取り者の情報が出てしまう場合があります。 ですので、throw-keyidをオプションして(正確には hidden-recipientで各IDを指定)情報を含めない様にしています。 つまり、Bcc状態となります。これももっと正確に言うと、宛先人の数はわかるかもしれないが、 keyidが0となって含まれているのでIDが特定されないということです。 (登録keyidをwebで公表しているのだから意味ないかも) この場合、復号するときgpgは自分の公開キーが含まれているかわからないので、それぞれのキーごとに復号を試みます。つまり、ちょっと時間がかかります。最近のgnuPGでないとだめかもしれません。パスフレーズを入れまくらないといけないかもしれません。私はgpg.confの最後に
と追加して入力を省略できるようにしています。 本当は良くないだろうけど。けど今回の利用法では充分でしょう。
でもいいはず。 gpg.confは unix系なら ~/.gnupg の下、 windows系ならApplication Dataのgnupgの下にあると思います。 1つのファイルで複数人宛てに暗号化できるのは
いわゆるランダムなパスワード(セッションキー)でまずファイル全体を暗号化して、
そのパスワード(セッションキー)をそれぞれの公開鍵で暗号化することで成り立っています。
これがpgp/gnuPGのみそです。
これらの情報をファイル付加して送ればいいわけです。 そして復号するとは、パスワード(セッションキー)を自分の秘密鍵をつかって取得してから、 そのパスワード(セッションキー)を使って、ファイルを戻すということです。 自分の秘密鍵をまもるための合い言葉がパスフレーズです。 ですから、パスフレーズはこれらの暗号/復号では直接に関係ありません。 実際、いつでも変更できます。 |