女性がパソコン操作中に困っているイラスト

大事なファイルを暗号化してメール添付で送るとき、そのパスワードはどうやって相手に伝えますか?あなたが日常的に直面するこの課題、実は現代暗号学の扉を開くきっかけになった重要な問題なのです。

重要なファイルを取引先などにメールで送る。そんな場面は現代日本のオフィスワーカーにはよくある風景と思います。

暗号化ツールなどを使って、パスワードを設定。これでよし!パスワードを知らない人にはもう、このファイルをのぞき見することはできません。

取引先へのメールに暗号化ファイルを添付します。「パスワードは次のメールでお送りします」あれ?それって本当に安全でしょうか?

「パスワードはメールで別途送ります」は暗号学的課題への(不完全な)対処法

暗号化ファイルをメールで送ったあと、別のメールでパスワードを送る。わたしも多くの日本企業でそれが行われていることはよく知っています。

なぜそうするのでしょうか?その理由はこんな感じでしょう。

  1. 重要なファイルなので暗号化しないと、メールを盗み見されたときに内容がバレてしまう。だから、ファイルは暗号化する。
  2. 暗号化ファイルを送った取引先では、それを開封することが必要。だからパスワードは何らかの方法で送らないといけない。
  3. 暗号化ファイルを添付したメールにパスワードも書いてしまったら、そのメールを盗み見する犯罪者には暗号化ファイルとパスワードの両方が入手できてしまう。だから同じメールにはパスワードは書けない。
  4. なので、メールは別のメールで送ることにする。

そういう考え方で、この「メールで別途送付」は日本で広く浸透しているようです。しかし、これは情報セキュリティの観点からはかなり甘いやり方。メールを途中で盗み見ることができる悪意のプレイヤーがいるとしたら、暗号化ファイルを添付した最初のメールと、パスワードが書いてある次のメールの、両方を入手することができると想定しなければならないからです。つまり、理論的には、このやり方では安全性は担保されません。

「そんなことはわかっている!」という方も多くいらっしゃるでしょう。例えば、パスワードは電話やFAXなど別の方法で取引先に送ることも考えられたかもしれません。でも。。。面倒ですよね。特に、初めてやり取りする多数の相手に同報送信しなければならないときなど、いちいち電話やFAXなどやっていられない。。。

さて、この記事はそんな「メールで別途送付」を非難することが目的ではありません。ただ、「メールで別途送付」は、暗号学における重要課題である「鍵配布問題」とまったく同じなのです。今回はその「鍵配布問題」から、あなたの日常生活と現代暗号学がどのようにつながっているのかを見てみましょう。

本稿ではこれ以上論じませんが、「メールで別途送付」の是非や対処法については以下が参考になるかもしれません。

対称型暗号と鍵配布問題

暗号は、メッセージをやりとりしている当事者だけが、そのメッセージの内容を知ることができるようにする手段です。その歴史は人類の歴史と同じくらい古いと言えるでしょう。例えば西洋では、かのユリウス・カエサル(ジュリアス・シーザー)が考案したという有名な「シーザー暗号」があり、シーザー以後も長く使われてきたという歴史があります。また、第二次世界大戦ではドイツ軍が使っていた各種の強力な暗号を数学とコンピュータの力で解読するという取り組みが英国で行われ、実際に成功して大きな成果を挙げたという歴史的事実もあります。(コンピュータの理論的基盤の一つである『チューリング機械』を考案したアラン・チューリングはそこで大きな貢献をしています。チューリングはわたしの最も尊敬するコンピュータ科学者の一人ですが、その話は別の機会に譲りましょう。)

さて、そんな長い歴史の中で様々な暗号法が創り出されてきましたが、1970年代の公開鍵暗号法の誕生までの数千年間は「対称型暗号」の時代でした。つまり、1960年代以前の暗号は全て「対称型暗号」だったのです。

それでは「対称型暗号(symmetric cipher)」って何でしょうか?それは、「暗号化するときのパスワードと、復号(開封)するときのパスワードが同じ」という特徴を持った暗号のことです。

暗号学では「パスワード」ではなく「鍵」と呼ぶのですが、今回の記事はメールで暗号化ファイルを送る話ですので「パスワード」と呼ぶことにします。

あれ?と思いませんでしたか?「暗号化するときのパスワードで、復号する」というのはあまりにも当たり前。普通に考え付く暗号は全てこのタイプですし、それ以外のタイプなど考えようもない。。。そんな風に思いませんか?

ダイヤルロックに例えても、その自然さがわかります。スポーツクラブなどのロッカーにダイヤルロックをかけるとき、「施錠するときの番号(パスワード)」と「開錠するときの番号(パスワード)」って同じですよね?

それもそのはず。対称型暗号はとても自然です。だからこそ、人類数千年の歴史において、全ての暗号は対称型だったのです。

しかし、対称型暗号には大きな問題があります。それは、メッセージをやり取りする当事者たちは、パスワードを共有しておく必要があるということです。それはそうですね。送り側は暗号化するときにパスワードが必要で、受け取り側は開封するときに同じパスワードが必要。そのためにパスワードを何らかのかたちで当事者たちが共有する方法が必要です。これを「鍵配布問題(key distribution problem)」と呼びます。これが、対称型暗号の致命的とも言える大問題なのです。

例えば、敵国で情報収集に携わるスパイ。母国との通信には暗号が必要ですが、そのためには母国と共有するパスワードが必要。それではどうしていたかというと、例えば分厚い本にびっしりとランダムなパスワードが書かれていて、それを順番に使っていきます。その本を使い終えたら、どうやって新しいパスワードブックをスパイに渡せるか?ほら、鍵配布問題が出てきます。

例えば、第二次世界大戦中のドイツ軍の潜水艦。長期間に渡って大洋で活動する潜水艦には無線で指令を出すしかありませんが、無線は敵国にも傍受できます。なので暗号化が必要ですが、そのパスワードはどうやって潜水艦に渡しますか?ここにも鍵配布問題が出てきていますね。

そして、重要なファイルを取引先に送るあなた。ファイルは暗号化できますが、そのパスワードは取引先にどうやって送るのでしょうか?これは鍵配布問題です。あなたのお仕事で生じるこの問題は、対称型暗号の永遠の課題であって、多くのスパイや潜水艦が直面してきた課題と同じなのです!

インターネットと「非対称型暗号」

インターネットで様々な相手とやりとりできる現代日本。アマゾンや楽天市場などのEC店舗や、インターネットバンキング、そしてネット証券。大事な情報を安全にやりとりするには、暗号が不可欠です。

しかし、もし対称型暗号しかなかったら、必ず鍵配布問題が出てきます。EC店舗は、どんどん新たにやってくるお客さんにどうやって秘密のパスワードを配布するのか?ネット銀行やネット証券は?取引先を持つ企業(つまりすべての企業)は?

でもあなたがECサイトやネット銀行、ネット証券とやり取りするときに、鍵配布のことなんて考えませんよね。なぜでしょうか?

それは、1970年代に鍵配布問題を解決する暗号学上の一大発見が起こったからです。

その一つが「非対称型暗号(Asymmetric cipher)」。「非対称型暗号」とは、「暗号化するときのパスワードと、復号するときのパスワードが異なる」という特徴を持った暗号方式です。

参考情報:

非対称型暗号は、先ほどのダイヤルロックで例えていうならば、ある番号で施錠すると、別の番号で開錠するというダイヤルロック。これは、物理的な錠前で考えると実現可能なように思えますが、暗号化という数学的アルゴリズムの世界では想像できないくらい難しい問題でした。

そしてあなたがインターネットを利用するとき、あなたのブラウザとあなたが訪問しようとしているWebサイトが自動でやりとりをして、鍵配布問題を解決しているのです。

具体的には、「https」の「s」の部分、つまり「セキュリティ」の機能を持ったWebサイトとの通信です。

そんな非対称型暗号。人類数千年の歴史で誰も思いつきもしなかったこの方式を考案したのはDiffie、Hellman、Merkleの3人のコンピュータ科学者たちでした。1976年のことです。

そしてDiffieとHellamnは2016年、コンピュータ関連で世界最大の学会であるACM(Association of Computing Machinery、わたしも長年の会員です)が与える最大の賞であるチューリング賞を受賞しました。その根拠となったDiffieとHellman(そしてMerkleを加えることもある)の1976年の功績は2つ。1つは、非対称型暗号という概念を発見したこと。もう1つは、鍵配布問題を解決する「Diffie-Hellman-Merkle鍵交換アルゴリズム」を発見したことです。前者の功績はあくまでも概念のみの発見で、それを実現するアルゴリズムはR、S、Aの頭文字を持つ3人のコンピュータ科学者によって発見されました。(RSA公開鍵暗号法って聞いたことありませんか?)

Diffieはサン・マイクロシステムズの元副社長、Hellmanはスタンフォード大学の名誉教授です。二人の写真は以下の紹介記事サイトで見ることができます。Diffieがヒッピー的に見えた人、あなたは間違っていません!

なお、チューリング賞は「コンピュータ分野のノーベル賞」とも呼ばれる大変権威ある賞ですが、まだ日本人受賞者はいません。今までの受賞者たちの功績は、わたしたちが日常的に利用しているコンピュータシステムの根幹にかかわるものばかりです。将来、日本人受賞者が現れることを願っています。

身近にあるコンピュータサイエンス

今回は「パスワードは別途メールで送ります」が、現代暗号学上の「鍵配布問題」への不完全な解決法であることを紹介しました。そしてネットワーク上での情報のやり取りに不可欠な暗号も、コンピュータサイエンスの一分野。それまでの暗号学を一変させる大きな功績をあげて、現代暗号学の扉を開いたコンピュータ科学者たちの業績は、わたしたちの日常生活を今も支えているのです。

さて、「パスワードはメールで別途送ります」はどうなったのか?これも、もう40年前からある非対称型暗号をうまく使えばそんなことはしなくて済むのです。あなたのブラウザはすでにそれをやっているのですが、メールでのうまい運用はまだ浸透していない、というところでしょうか。

今回の記事は暗号学自体には深入りせずに、「コンピュータサイエンスという聞きなれない学問分野が実はわたしたちのすぐそばにあることを知ってもらいたい!」、そんな思いで書きました。様々な人間ドラマのあるコンピュータサイエンスです。別の記事では、上で上げたHellmanの有名な言葉を「コンピュータサイエンス名言集」という新しいシリーズで紹介していこうと思っています。ご期待ください!

ホーム画面に戻るにはこのリンク

関連記事:

(かながわグローバルIT研究所 森岡剛)