メールを暗号化したい その2
その1の続き。
暗号化…えらい難しい話のような気もしますが…
第二次大戦までの暗号ってのはキーワードを別のものに置き換える、例えばミッドウェイをAFと呼ぶとかだったわけです。しかし、現代はコンピュータの時代です。現代の暗号は、ファイル等をまるごと文字や一定の情報量単位で特定の法則に基づいて置き換えるものになっていることは容易に想像できます。実際そういうものが存在していてアプリケーションソフトとして利用できるようです。
でもそんなことをしたらその「法則」を開発した人には筒抜けじゃん、って気にもなりますが…その「特定の法則」というのは、現代に於いてはメジャーなものはあえて公開されているんだそうです。それでいて、その暗号の安全性は揺るがないものなんだとか。
というのも、「鍵」という概念があって、暗号化復号化のときにそれを絡めるので、鍵さえ知られなければ暗号が破られることはないんだそうです。暗号化の法則を公開しても破られないことが、むしろその暗号の安全性を証明するものなんだと。(参考: ケルクホフスの原理 - Wikipedia サルにもわかるRSA暗号: 暗号方式とかぎ)
ずいぶんと都合の良いものがありますなあ…通信する同士で暗号について入念な打ち合わせをする必要がなく、鍵さえ安全に受け渡しできれば安全が保障されることになるわけです。
しかし、その鍵を安全に受け渡す手間は、暗号を打ち合わせるのに近い手間になっちゃうのでは…。しかし、その解決策も既に存在するんだとか。
公開鍵暗号とは 【public key cryptosystem】 - 意味・解説 : IT用語辞典
サルにもわかるRSA暗号: 暗号の大革命
何となく「鍵」というと、錠前を開ける鍵を想像するので、開閉は同じものを使うという感覚があります。しかし、暗号化専用の鍵とそれと対になる復号化専用の鍵という概念があれば、暗号化専用の鍵は世の中に公開して、復号化専用の鍵は手元に保管しておくだけで安全ということになりますねえ。すごい。
どういう仕組みでここまで都合のいい話が実現できるっていうのか?さあ?でも、これのおかげで、誰でも安全性の高い暗号を手軽に利用できるってことです。
ただ、100%安全というわけではなくて、総当たり攻撃(考えられる鍵を全て試すこと、例えば銀行のキャッシュカードの暗証番号は一万通り試せば必ず正解が見つかる)に耐えられるものではないんだそうですが…総当たり攻撃は膨大な時間を必要とすることが通常なので、きっと民間人のメールごときにやるやつはいないと信じたい。ちなみに、総当たり攻撃にすら耐える暗号も存在はする(ワンタイムパッド - Wikipedia)ようですが、これは公開鍵暗号ではなく、また運用が非常に面倒くさいので今回は利用しないことにします。
で、その暗号化をしてくれるアプリケーションソフトですが。
PGPという名前をどこかで聞いたことがあったので、調べてみると。PGPと互換性があって、オープンソースのフリーソフトウェアであるGnuPGというものが大抵のLinuxディストリビューションのシステムの一部として組み込まれているんだそうで。これは好都合。これを使いましょう。
とりあえず、これからすることの確認を。
メールアカウントを二つ用意する
鍵ペアをGnuPGで作成する
そのうち公開鍵を引き出して適当な文章を暗号化してみる
一方のアカウントから他方のアカウントへと送信する
受信し、復号化する
以上のことをWindowsともやりとりができるか確認する
以上。簡単だ。きっと数時間後には何も考えずにできるようになっているだろう。
…と思っていた…
続く
暗号化…えらい難しい話のような気もしますが…
第二次大戦までの暗号ってのはキーワードを別のものに置き換える、例えばミッドウェイをAFと呼ぶとかだったわけです。しかし、現代はコンピュータの時代です。現代の暗号は、ファイル等をまるごと文字や一定の情報量単位で特定の法則に基づいて置き換えるものになっていることは容易に想像できます。実際そういうものが存在していてアプリケーションソフトとして利用できるようです。
でもそんなことをしたらその「法則」を開発した人には筒抜けじゃん、って気にもなりますが…その「特定の法則」というのは、現代に於いてはメジャーなものはあえて公開されているんだそうです。それでいて、その暗号の安全性は揺るがないものなんだとか。
というのも、「鍵」という概念があって、暗号化復号化のときにそれを絡めるので、鍵さえ知られなければ暗号が破られることはないんだそうです。暗号化の法則を公開しても破られないことが、むしろその暗号の安全性を証明するものなんだと。(参考: ケルクホフスの原理 - Wikipedia サルにもわかるRSA暗号: 暗号方式とかぎ)
ずいぶんと都合の良いものがありますなあ…通信する同士で暗号について入念な打ち合わせをする必要がなく、鍵さえ安全に受け渡しできれば安全が保障されることになるわけです。
しかし、その鍵を安全に受け渡す手間は、暗号を打ち合わせるのに近い手間になっちゃうのでは…。しかし、その解決策も既に存在するんだとか。
公開鍵暗号とは 【public key cryptosystem】 - 意味・解説 : IT用語辞典
サルにもわかるRSA暗号: 暗号の大革命
何となく「鍵」というと、錠前を開ける鍵を想像するので、開閉は同じものを使うという感覚があります。しかし、暗号化専用の鍵とそれと対になる復号化専用の鍵という概念があれば、暗号化専用の鍵は世の中に公開して、復号化専用の鍵は手元に保管しておくだけで安全ということになりますねえ。すごい。
どういう仕組みでここまで都合のいい話が実現できるっていうのか?さあ?でも、これのおかげで、誰でも安全性の高い暗号を手軽に利用できるってことです。
ただ、100%安全というわけではなくて、総当たり攻撃(考えられる鍵を全て試すこと、例えば銀行のキャッシュカードの暗証番号は一万通り試せば必ず正解が見つかる)に耐えられるものではないんだそうですが…総当たり攻撃は膨大な時間を必要とすることが通常なので、きっと民間人のメールごときにやるやつはいないと信じたい。ちなみに、総当たり攻撃にすら耐える暗号も存在はする(ワンタイムパッド - Wikipedia)ようですが、これは公開鍵暗号ではなく、また運用が非常に面倒くさいので今回は利用しないことにします。
で、その暗号化をしてくれるアプリケーションソフトですが。
PGPという名前をどこかで聞いたことがあったので、調べてみると。PGPと互換性があって、オープンソースのフリーソフトウェアであるGnuPGというものが大抵のLinuxディストリビューションのシステムの一部として組み込まれているんだそうで。これは好都合。これを使いましょう。
とりあえず、これからすることの確認を。
メールアカウントを二つ用意する
鍵ペアをGnuPGで作成する
そのうち公開鍵を引き出して適当な文章を暗号化してみる
一方のアカウントから他方のアカウントへと送信する
受信し、復号化する
以上のことをWindowsともやりとりができるか確認する
以上。簡単だ。きっと数時間後には何も考えずにできるようになっているだろう。
…と思っていた…
続く
- 関連記事