Edited at

PGP(GnuPG)の導入方法教えてやるから、いい加減、ファイルをZIP暗号化して、別メールでパスワードを送るのは、やめてくれ! ~セットアップ編~


このエントリーのきっかけ

いろいろな企業に使われている、電子メール(以下、メール)でのファイル送信方法。

内容は、暗号化ZIPを相手に送り、別メールでパスワードを相手に送るもの。

はっきり言って意味ないじゃんというのが、私の持論です。


なぜ意味ないのか?

過去の私のブログにも書いてあるが、


  1. 同じメールアドレス宛に送信されていること

    そりゃそうだけど、同じメールアドレスに送っているので、意味ないです。

    もし、意味があるとしたら、パスワードを送る際にメールアドレスを確認できることくらいです。

  2. ZIPのパスワードが平文であること

    当然だけど、ZIPのパスワードをメールで送るときは、平文です。

    なので、添付のZIPファイルとパスワードが盗めてしまえば、余裕で解読できます。

  3. メールの特性上、経路で盗み取られる可能性がある

    メールのシステムの特性上、いろんなメールサーバーを経由する場合があります。

    その時、メールが盗まれてしまう可能性もあります。

    もちろん、平文で書かれたパスワードなんて、簡単に盗まれます。

    #メールサーバーサイドのウイルス対策は、メールの中を見て、スキャンします。

  4. これも、メールの特性上、プールされているときに盗み取られる

    これも、メールの特性ですが、サーバーにプールされます。

    その時に、クラッカーだったり、サーバー管理者だったりが盗める可能性があります。

結論としましては、メールは、誰かに見られています。

昔は、メールは葉書だというたとえがありました。

今も昔も変わりません。


んじゃどうしたらいいのか?

昔から、標準化されているS/MIMEがあるが、一向に普及しない。

そのわりに、root証明書からの署名してもらう等で導入にコストがかかる。

#最近は、Let's Encryptが流行っているけど、クライアント証明書は発行していない。

なので、PGP(GnuPG)である。


PGP自体も昔からあった

PGP自体も昔からあった。


私自身も、一番古い証明書は、1998年です。


なぜ、普及しなかったかというと…


  1. 導入するのに、手間がかかりすぎた

    GUIで操作できる(当時も、WinPTだったっけ?)というのも、あったが、日本語化が遅かったり、詳しい解説書がほとんど英語でした。


  2. PGPの権利関係

    PGPは、暗号化輸出の規制があって、国際版とアメリカ版が分かれていました。

    あと、RSAの技術が使われているんだけど、そのライセンスの関係で、商用利用をするには、お金がかかりました。

    その時点で、導入をためらった企業も多いと思います。

  3. 日本語特有の文字コードが複雑に入り混じっていた

    Shift-jisやら、eucやら、jisコードやらで、文字コードが統一されていませんでした。

    それにより、署名が不正というエラーが出て、使いずらいものでした。


今は、違う!

時代は変わり、RSAの特許も切れて、PGPは、息を吹き返そうとしています。

PGPはいまだに、企業のもの(シマンテック社)ですが、その互換で、GnuPGだったり、OpenPGPがあります。

GnuPGは、完全オープンソースで、無料で自由に扱えます(Gnuライセンス)。


そして、今現在、GnuPG2系ができて、Windows版は、GPG4WINという統合型アプリケーションとして、配布されています。

そのアプリが使いやすく、昔みたいにいろんな設定をしなくてもいいのが、特徴です。


では、実際の導入方法


  1. GnuPGの公式サイトへ行く

    The GNU Privacy Guard

  2. 「Download」をクリックし、下のほうにある、「Gpg4win」をクリックする

  3. Gpg4winの緑色をクリックする

  4. 「$0」をクリックし、「Download」をする

    もちろん寄付してもOK(むしろ、推奨)

  5. ダウンロードしたファイルを開き、セットアップを開始する

  6. ほとんどデフォルトでOK

  7. セットアップが完了し、「Finish」をクリックしたら、「Kleopatra」が起動される

  8. ほとんどの人が初めてと仮定して、「New Key Pair」をクリックする

    kleo01.png

  9. 名前とメールアドレスを入れる前に、詳細設定をクリックする

    kleo02.png

  10. 鍵の要素で「RSA」の項目を2つとも4096ビットにして、次へをクリックする

    kleo03.png

    別にデフォルトでもいいが、大きいに越したことはない。

    ほかの要素でもいいが、互換性を重視して、「RSA」にしました。

  11. 名前とメールアドレスを入力し、次へをクリックする

    kleo04.png

  12. すべての詳細を表示にチェックを入れて、ちゃんと、設定があっているか確認し、「Create」をクリックする

    kleo05.png

  13. パスフレーズの入力項目が出るので、パスフレーズを入力し、同じものをもう一度入力し、OKをクリックする

    kleo06.png

    できうる限り、品質が100%になるようにしましょう。

    あと、お約束ですが、このパスフレーズ(以下、パスワード)、ほかのサイト等で使用していないパスワードにしておきましょう。

    kleo07.png

  14. 以下の画面が出るので、しばらく待つ

    kleo08.png

    PCのスペックによっては、結構時間がかかる可能性がありますので、気長に待ちましょう。

    あと、止まっているからと言って、このウィンドウを閉じるようなことをしないようにしましょう。

    #バックグランドで頑張って鍵を生成しています

  15. 作成が完了すると、以下の画面が出るので、「Make a Backup Of Your Key Pair...」をクリックし、秘密鍵をバックアップする

    kleo09.png

  16. ASCII形式にチェックを入れて、出力ファイルのフォルダーアイコンをクリックして、保存先及び、ファイル名を入力するし、「OK」をクリックする

    kleo10.png

    拡張子は、自動的に付与されます(.asc)

    このバックアップキーは、盗まれないように安全な場所に入れておきましょう。

    あと、後述でスマートフォンやブラウザ(Webメール)で使うときにも、使用します。

  17. パスワードを求められるので、設定したパスワードを入力して「OK」をクリックする

    kleo12.png

  18. 秘密鍵のエクスポートが完了したら、以下のダイアログが出るので、「OK」をクリックする

    kleo13.png

  19. 晴れて自分の証明書ができました

    kleo14.png

  20. このウィンドウが閉じられても、タスクバーにKleopatraがいます

    kleo16.png

    悪さはしないけど、気持ち悪い人は、終了しておきましょう。

    ただ、暗号化や復号するときに立ち上げが遅くなる可能性があります。


力尽きた…

本当は、ファイル暗号化編とか、メール編、スマホでの運用編と書きたかったんだけど、力尽きましたorz


続きが読みたい方は、いいね等シェアをして、励ましてください。


よろしくお願いいたします。


続編を作りました

PGP(GnuPG)の導入方法教えてやるから、いい加減、ファイルをZIP暗号化して、別メールでパスワードを送るのは、やめてくれ!~公開キー配布編~ - Qiita

よろしくお願いいたします。


さらに続編を作りました

PGP(GnuPG)の導入方法教えてやるから、いい加減、ファイルをZIP暗号化して、別メールでパスワードを送るのは、やめてくれ! ~ファイル添付編~ - Qiita

よろしくお願いいたします。