すごく簡単に書いた「RSA暗号化」と「GPG4Win」のお話(NetwingsJ)

どうもです(・∀・)ノ ネットウイングス田所です。メールのやり取りで、機密保持をしたい場合がありますよね? インターネットの、通信経路の途中に悪意のあるメールサーバー(第三者)に読み取られて、企業秘密が漏れるのって、なんか嫌ですよね? それを防止する方法が「メールの暗号化」なんですよ。

あのね、旧Twitter(現X)をしていると、謙虚にしていると、良い人に、詳しい人に教えてもらえるのですよ。現役で、UNIX/Linuxサーバーを運用している人とかにね、訊いて尋ねて理解して、慎重に記事を書きますね。

かいつまんで書くと、中学高校で素因数分解ってやりましたよね? あれの応用です。ものすごい桁数の素数を素因数分解して、解を導くことは、たとえ現在のスーパーコンピューターであっても、すごく時間がかかります。「そんな設備持ってないよ!」ということで、計算にものすごく時間がかかることを利用したメールの暗号化です。通常、RSA暗号化の公開鍵と秘密鍵というものには、通常、2048ビットぐらいの長い桁数の素数を使います。双方が、公開鍵、秘密鍵を持っていることで、初めてメールの内容が解読できる、という仕組みです。そういう符丁の一種です。

いま、ものすごい知恵熱と頭痛がするのですが(笑)教わったり、検索したりしたことを利用して、それは何じゃら? ということを解説して行きますね。

高校数学の美しい物語/RSA暗号の仕組みと安全性・具体例

いきなり大事なところを他人任せにしてしまいましたが(笑)ごめんなさいね。おじさん、アタマ悪いから、こういう記事の力を借りないと、どうにもならないんですよ。詳しくお知りになりたい方は、上記の記事をご覧くださいね。なぜなら、おじさん、高校時代の数学、工業数理は、赤点補習の連続でして、どうにかこうにか勉強した、というレベルなんです(笑)

そういった、第三者では容易く復号化出来ない暗号を使って処理したメールは、安全でしょ? というお話なんですよ。「そんな設備持ってないよ!」ということを利用して、普通に使われているごくごく一般的なプロセッサでは、計算にすごい時間がかかる。なので、結果としてすぐに読めない。でも、そういった極めて複雑な符丁があることで、メッセージの内容が初めて読める、というものが、RSA暗号鍵だったり、業者さんは沢山おられますが、S/MIME署名だったりするのですよ。

おっきな素数を素因数分解することに時間がかかることを利用した暗号鍵なんですよ。でも、年々、人工知能とか、量子コンピューターとかの登場で、それとて、いつまでも安全性を担保出来ないので、これとて、桁数を増やしていかないと、いつまでも同じやり方だと、安全安泰とはいかないんですね? 

GMOグローバルサイン/S/MIMEとは?

また他人任せにしてしまいましたが、これでいいのだ(笑)餅は餅屋。詳しい人に訊くのが一番。

さて、話は変わって、実用編に行きたいと思いますー。ああいうS/MIME署名は、主にエンタープライズ向けで、すごく大きくて、おカネ持ちな企業ですと、比較的導入が容易いのですが、あまり予算がない場合どうするのかというと、OpenPGPを使うのですよ。そういうことが出来るんです。

本格的な印鑑が彫れない場合は、じゃあ、認印を使おうよ、というのが、次のサイトです。

mitome.in/OpenPGPとは

これは、オープンソースソフトウェアを利用した、暗号鍵と複合鍵の生成の仕組みの具体例です。

「じゃあ、Windowsで使うには、どんなソフトウェアを使えばいいの?」というお話になって来ますよね? そこで登場するのが、GPG4Winというシェアウェアなんです。

Gpg4win/Secure email and file encryption with GnuPG for Windows

「GnuPG」と書いて「ぐにゅーぴーじー」と読みます。略して「Gpg」なわけですよ。

ダウンロードした後に、ドネート(寄付)するかどうか訊いて来ますので、そこは、使用料、と思って寄付するも良し、タダでがめることも、まあ可能っちゃ可能です。お試し使いも出来ます。まあ、タダでがめるのも、オープンソースソフトウェアの健全な発展を阻害することになりますので、ペイパルアカウントを作って、予め、何千円かお好きな金額を寝かせておいて、有料で使ってあげることをお勧めします。

これを、例えば、2拠点間で、あるいは、複数の拠点間にある、子会社なり関連会社なりに、最新版をインストールしておくことで、暗号鍵を親会社が作成することで、子会社なり関連会社なりだけが公開鍵を使って、初めてメールの中身を秘密裡に見ることが出来る仕組みになるのです。その逆方向も、もちろん出来ます。

はひー、本題に持って行くまでに、ここまでの説明が必要となりました。単に、通信経路を、VPNか何かでトンネリングして、拠点間ネットワークを構築するのもとても大事ですが、それ以前の問題として「認印」ぐらいは「符丁」ぐらいは揃えて、送信側、受信側で相互理解を深めて、利活用していくことも、これからの情報セキュリティ的な対策にとっては不可欠なんじゃないでしょうかね? 少なくとも、僕はそう思うのですよ。

ではでは(・∀・)ノ 頭痛薬を飲むとしましょうか。

パソコンのお医者さん なかなかご理解いただけない ネットウイングス 代表 田所憲雄 拝

ネットウイングス

兵庫県尼崎市のネットウイングスは、個人で2002年から始めた、日本のユースウェアにかかわる団体でして、パソコンに関する個人に向けた、パソコンのユーザービリティを高めるための活動をしています。

このページに掲載された記事の名称や内容は、各社の商標または登録商標です。意匠権も同様です。また、ページ内でご紹介している記事、ソフトウェア、バージョン、URL等は、各ページの発行時点のものであり、その後、古くなったり、変更されている場合があります。

The names and content of the articles on this page are the trademarks or registered trademarks of the respective companies. The same applies to design rights. The articles, software, versions, URLs, etc. referred to in the pages are current at the time of publication of each page and may have since become outdated or changed.