「暗号」の意味

二日ほどかけて結城浩『暗号技術入門 秘密の国のアリス』isbn:4797322977を読了。たいへん読みやすい本でした。暗号関係はなんとなくは知っていたけどまとまって勉強したことがなかったので読んでみましたが、ずっと疑問に思っていながら放置してたこととか色々すっきりしてたいへん満足。アリスが萌えキャラじゃなかったのはちょっと不満(ぉ。

この本を読んだもう一つの理由は高木さんと結城さんの「オレオレ証明書」を巡るやりとり。

二人ともオレオレ証明書では認証が正しくできないのでダメ、という点では一致してますが、なんだかいがみあってるように見えて困惑していました。が、『暗号技術入門』を読んでいてやっと意味がわかりました。

結城さんは「暗号」をセキュリティ技術の中の要素技術の一つという狭い意味で使っていて、高木さんは、一般人の考える「暗号=機密性を守るもの」(国語辞書的には「第三者に漏れないように、当事者間でのみ解読できるよう取り決めた特殊な記号や文字。」)という広い意味で使っている(というかそのように使われる場を想定している)のです。

オレオレ証明書が問題であることを説明するのに、結城さんは「要素技術としての暗号と機密性の実現がイコールでないこと(SSLだと暗号と認証の両方が必要)を理解しよう」と訴えていて、一方高木さんは「(一般人に対して)機密性を守らないシステムを暗号と呼ぶな(暗号化していると言うな)」ということを訴えているのでした。

どちらもそれぞれの文脈では正しいのだけど、文脈を入れ替えるとおかしなことになってしまいます。技術の文脈では暗号自体と機密性は区別しなければならないし、一般消費者相手に暗号を使っても機密性がないことがありますよ、という話を中途半端に聞かせても無駄に不安がらせるだけですし。

追記: 結城さんよりお返事

[id:hyuki:20050207#1107729578]。そうでした。「機密性」にも暗号技術の文脈で使う狭義の意味があるのでした。うーん、言葉って難しい。。。

「機密性」を僕は一般用語の意味で使ってしまいましたが、暗号技術用語としての「機密性(confidentiality)」は、鍵を持っている者しか読めないという意味になり、man-in-the-middle 攻撃で脅かされる「認証」とは区別された概念になっています。よく見たら『暗号技術入門』の man-in-the-middle 攻撃の説明でもこの文脈で「機密性」を使っていました(p137)。

 この攻撃は RSA だけではなく、どんな公開鍵暗号にも使えます。このやりとりで、公開鍵暗号が解読されているわけではありません。すべての暗号アルゴリズムは正しく機能しており、機密性を保っています。ただし、その機密性はアリスとボブ間のものではありません。アリスとマロリー間、そしてマロリーとボブ間の機密性です。公開鍵暗号による暗号化だけでは、この man-in-the-middle 攻撃を防げません。*1

追記: オレオレ祭り

ここに来て高木さんがオレオレ証明書問題に関連したエントリを大量に投下。ネタは尽きないようです。


*1:注:アリスとボブが秘密の通信を試みる状況で能動的盗聴者マロリーが攻撃を仕掛けるという設定。