暗号コラム

暗号コラム

第2回 公開鍵暗号と秘密の通信

2015.10.01
東京システムハウス

BIG BROTHER IS WATCHING YOU

こんにちは、鈴木です。非実在青少年ではなく実在する人間です。 2015年1月12日にキャメロン首相の講演が話題になりました。 政府が解読できない通信アプリは禁止を 英キャメロン首相

CNNのニュースサイトの一文にある「潜在的テロリストの通信」 なんて大袈裟な話は海の向こうの出来事であって私には関係が無い…と思っているかもしれませんが、 実はほぼ毎日秘密の通信を行っています。 友達と他愛ないメールをやりとりをするという場面でも裏では秘密の通信を行っています。 「秘密の通信」は秘密の存在ではなくありふれたものなのです。

暗号技術が悪いわけではなくそれを利用する人間の問題であるとは思いますが、 それを差し引いても国家の安全と国民のプライバシーの両立は難しい問題です。 今回は別の視点から考えてみましょう。 何故、国家機関でも解読できないのでしょうか? 今回は秘密の通信の肝となる公開鍵暗号を紹介します。

鍵隠してアルゴリズム隠さず?

暗号は秘密の通信を行うための道具です。 暗号化を行うためには2つの道具、「鍵」と「アルゴリズム」が必要です。 秘密の通信をしたいとなると両方とも秘密にしたほうがよいように思えますが、 「鍵」を秘密にして「アルゴリズム」はばれても問題が無いように設計するのが現代的な考え方です。 アルゴリズムを公開する理由は

  • 暗号のアルゴリズムが安全かどうかを外部の人間が調べる事ができるから

  • 新たなアルゴリズムを構成するよりも新たな鍵を生成するほうがコストが安く済むから

  • そして暗号のアルゴリズムは遠からず敵にばれてしまうという経験則があるから

があります。 安牌だと思って一索を打牌したら国士無双が直撃した…のような状況は避けたいものです。 老頭牌は使いづらいという事実はあなただけではなく皆が知っているのです。

私の苦い思い出話はここまでにして閑話休題、暗号の話に戻ります。 アルゴリズムは公開しても鍵さえ秘密にしておけば秘密の通信が実現できる暗号を採用すればよさそうです。 ここで1つ問題が生じます。その鍵をどうやって相手に渡すのでしょうか? そのまま鍵を通信路に乗せると悪い人は隙を見て鍵を盗んでしまいます。 もし、伝えたい相手が近くにいるならば直接会えばよいですが、 もし東京-ロンドン間を通信したいとなるとそう簡単には行きません。 それならば鍵を暗号化して…となりますが暗号化された鍵を読むための鍵がまた必要となり二進も三進も行かなくなります。

アリスとボブ

アルゴリズムの様に鍵を公開してよいならば話は楽なのですが、そう世の中は…と思いきや実はできるのです。 その方式は公開鍵暗号と呼ばれます。その名の通り鍵を世間に公開してしまうというものです。

従来の暗号では暗号化に用いる鍵と復号化に用いる鍵は同じものでした。 それに対して公開鍵暗号では暗号化に用いる公開鍵、復号化に用いる秘密鍵の2種類あります。 ちなみに、今までの暗号化と復号化に同じ鍵を使う暗号を共通鍵暗号と呼びます。

今までの暗号、共通鍵暗号を用いた通信の手順を考えてみます。 アリスが隣町にいるボブに向けて秘密の通信を行いたい、という状況を考えてみましょう。1 次のような流れになります。

  1. アリスとボブの間で共通鍵を何とかして共有する。

  2. アリスが共通鍵でメッセージを暗号化してボブに送信する。

  3. ボブは届いたメッセージをを共通鍵で復号して読む。

この「何とかして」の部分が何ともし難いところでした。 それに対して公開鍵暗号を用いた暗号化の手順は次のようになります。

  1. ボブは公開鍵を世間に公開する。

  2. アリスはボブの公開鍵を用いてメッセージを暗号化し、ボブに送信する。

  3. ボブは届いたメッセージを秘密鍵を用いて復号する。

となります。 依然として秘密鍵は文字通り秘密にしますが、公開しないため共通鍵よりも扱いやすいのです。

我らの武器は2つ!『アルゴリズム』!『鍵』!『法律』!

公開鍵暗号を用いて秘密鍵さえ文字通り秘密にすれば国家機関でも解読できない通信が出来そうです。 安心ですね…と言いたいところですが、今まで出てきた「難しい」という事柄はあくまでも数学や計算理論の世界における話です。 理論的な暗号解読の攻撃対象はアルゴリズムと鍵ですが、現実世界の武器やターゲットはそれ以外にも沢山あります。 例えば、実際に暗号化を行うコンピュータに侵入して暗号化前のデータや鍵を盗む、 政治的圧力をかけて「通信を傍受できる法的枠組み」を本当に作り出す、といった武器が次々と登場します。 例えばアメリカでは「通信を傍受できる法的枠組み」として暗号の厳しい輸出制限を課していました。 元々暗号は軍需品であり解読できない暗号の輸出を規制することで弱い暗号の使用を強いて国家の安全性を確保しようとしました。 そしてその規制を悪用した脆弱性が発見されました。ITmedia2015年03月04日付の記事を記載します。 米輸出規制に起因するTLS/SSLの脆弱性「FREAK」が発覚

公開鍵暗号を用いれば秘密の通信が実現できます。 しかし、それに抵抗する武器は2つかと思ったら3つと次々出てきます。 アルゴリズムが安全だとしても、秘密鍵を秘密にしていても、正しく運用、管理を行わないと大変な事になるのです。

 

参考文献

  • 結城 浩 『暗号技術入門 秘密の国のアリス』 ソフトバンククリエイティブ 2008


  1. 暗号の世界では、AさんBさんの代わりにアリス(Alice)、ボブ(Bob)といった名称を使います。以下チャーリー (Charlie)、デイヴ (Dave)…と続きます。明日使える知識です。