暗号理論の入門書を読んで ― 2012-10-03 23:00:34
日経サイエンスだったような気がしますが、何ヶ月前に図書館で立ち読みした雑誌に載っていたクイズを、以下に書き換えてみます:
Aさんは、遠方にいるBさん宛てに、機密文書のコピーを郵送しようとしています。
AさんとBさん、どちらも頑丈な箱や南京錠と鍵のセットをいくつも所持しています。箱に文書や錠や鍵を入れ、そのまま送ることもできるし、任意の数の錠で施錠して送ることもできます。また、郵送した箱が到着したかどうか、電話で確認することが可能です。
さて、どのように、何回郵送すれば、文書が途中で覗かれることなく、安全にBさんの手元に届くのでしょうか?
但し、施錠しない箱を郵送すると途中で開けられ、鍵は見られたら複製させられる可能性がある、とします。
いかがでしょうか?
答えはひとつだけではないかも知れません。
しかし、以下の方法はたぶん一番シンプルで確実です:
[ステップ1] Aさんは機密文書を箱に入て、(a)という錠で施錠した上でBさんに送る。
[ステップ2] Bさんは(a)を開ける鍵を所持していないので、箱を受け取ったら、Aさんに電話連絡し、そのまま(b)という錠を追加施錠して、箱をAさんに送り返す。
[ステップ3] 箱を受け取ったAさんは、(a)の錠を自分の持っている鍵で外し、(b)だけ付いたままでBさんに再送する。Bさんが受け取って(b)を外せば、機密文書を取り出せる。
気づいた人も多いかと思いますが、暗号論理における、公開鍵暗号を用いた鍵交換方式そのものです。
(a)の錠は送信側の公開鍵、(b)の錠はセッション鍵、両方の錠がかかった状態はセッション鍵を公開鍵で暗号化した状態、だと言えるかも知れません。
暗号理論の入門書をいま読んでいますが、Diffie-Hellman鍵共有方式は、実にシンプルで美しい論理です。しかし、実用の際には、いわゆる「中間攻撃(Man-in-the-middle)」などにより、致命的な欠陥が生じる可能性もあるようです。
冒頭のクイズに適用すれば、郵便屋のCさんなら、 [ステップ1] の箱を途中で止め、Bさんに成りすまし、自分が鍵を持っている(c)という錠を追加施錠してAさんに送り返すことは、大して難しくないかも知れません。それで、Aさんがもし(a)をはずし、錠(c)だけ残した状態で再送したら、それこそCさんの思う壺です。
そのため、クイズの回答では、Bさんからの電話連絡をもらうこととしましたが、インターネットで文書送信する場合、別の通信路を用意できないことが多いと思います。あるいは電話をしても盗聴されたり、成りすましが起きたりするかも知れません。
そのために、「認証」の技術も重要です。
当事者同士だけが知っている記号や、模倣されにくいサインを箱のうえに残すとか。
「認証」は大きく分けて、「本人認証」と、文書の完全性を検証するための「メッセージ認証」があります。
小説家のシドニィ・シェルダンが、その作品中に、グランドマスター問題と呼ばれる有名な問題を扱っています。
女主人公は、ふたりのチェス名人と同時刻に二面指しを行い、片方は先手、もう片方は後手で、名人たちを相手に大健闘しました。
なんのことはなく、後手の勝負で先手に打たれた手を、そのまま先手での勝負で使っただけです。こうすることによって、伯仲の実力を持つ名人ふたりが、頭を悩ませ、主人公を介して大熱戦することになりました。
相手の顔が見えていても、本人が指した手は自分で考えているか、というところまで保障はありません。
「認証」でも、いったい何が認証されて、何が認証されていないか、はっきり把握しなければ、このようなことになってしまいそうです。
Aさんは、遠方にいるBさん宛てに、機密文書のコピーを郵送しようとしています。
AさんとBさん、どちらも頑丈な箱や南京錠と鍵のセットをいくつも所持しています。箱に文書や錠や鍵を入れ、そのまま送ることもできるし、任意の数の錠で施錠して送ることもできます。また、郵送した箱が到着したかどうか、電話で確認することが可能です。
さて、どのように、何回郵送すれば、文書が途中で覗かれることなく、安全にBさんの手元に届くのでしょうか?
但し、施錠しない箱を郵送すると途中で開けられ、鍵は見られたら複製させられる可能性がある、とします。
いかがでしょうか?
答えはひとつだけではないかも知れません。
しかし、以下の方法はたぶん一番シンプルで確実です:
[ステップ1] Aさんは機密文書を箱に入て、(a)という錠で施錠した上でBさんに送る。
[ステップ2] Bさんは(a)を開ける鍵を所持していないので、箱を受け取ったら、Aさんに電話連絡し、そのまま(b)という錠を追加施錠して、箱をAさんに送り返す。
[ステップ3] 箱を受け取ったAさんは、(a)の錠を自分の持っている鍵で外し、(b)だけ付いたままでBさんに再送する。Bさんが受け取って(b)を外せば、機密文書を取り出せる。
気づいた人も多いかと思いますが、暗号論理における、公開鍵暗号を用いた鍵交換方式そのものです。
(a)の錠は送信側の公開鍵、(b)の錠はセッション鍵、両方の錠がかかった状態はセッション鍵を公開鍵で暗号化した状態、だと言えるかも知れません。
暗号理論の入門書をいま読んでいますが、Diffie-Hellman鍵共有方式は、実にシンプルで美しい論理です。しかし、実用の際には、いわゆる「中間攻撃(Man-in-the-middle)」などにより、致命的な欠陥が生じる可能性もあるようです。
冒頭のクイズに適用すれば、郵便屋のCさんなら、 [ステップ1] の箱を途中で止め、Bさんに成りすまし、自分が鍵を持っている(c)という錠を追加施錠してAさんに送り返すことは、大して難しくないかも知れません。それで、Aさんがもし(a)をはずし、錠(c)だけ残した状態で再送したら、それこそCさんの思う壺です。
そのため、クイズの回答では、Bさんからの電話連絡をもらうこととしましたが、インターネットで文書送信する場合、別の通信路を用意できないことが多いと思います。あるいは電話をしても盗聴されたり、成りすましが起きたりするかも知れません。
そのために、「認証」の技術も重要です。
当事者同士だけが知っている記号や、模倣されにくいサインを箱のうえに残すとか。
「認証」は大きく分けて、「本人認証」と、文書の完全性を検証するための「メッセージ認証」があります。
小説家のシドニィ・シェルダンが、その作品中に、グランドマスター問題と呼ばれる有名な問題を扱っています。
女主人公は、ふたりのチェス名人と同時刻に二面指しを行い、片方は先手、もう片方は後手で、名人たちを相手に大健闘しました。
なんのことはなく、後手の勝負で先手に打たれた手を、そのまま先手での勝負で使っただけです。こうすることによって、伯仲の実力を持つ名人ふたりが、頭を悩ませ、主人公を介して大熱戦することになりました。
相手の顔が見えていても、本人が指した手は自分で考えているか、というところまで保障はありません。
「認証」でも、いったい何が認証されて、何が認証されていないか、はっきり把握しなければ、このようなことになってしまいそうです。
最近のコメント