今こそ新しい暗号化標準が必要だ

ハッシュ関数MD5とSHAで発見された弱点を心配する必要はない。だが攻撃は常に進化しており、いつか実用的な攻撃手法が開発されるだろう。新しいハッシュ標準に取りかかる時が来たのだ。(IDG)

» 2004年08月20日 20時05分 公開
[IDG Japan]
IDG

 今週カリフォルニア州サンタバーバラで行われたCrypto 2004カンファレンスで、研究者たちが一般的なハッシュ関数の弱点を幾つか公表した(8月18日の記事参照)。こうした結果は数学的には重大なものだが、心配するようなことではない。だがそれでも、暗号コミュニティーが団結して新しいハッシュ標準を作る時が来たのだと思う。

 一方向ハッシュ関数は、多くのアプリケーションで使われている暗号化技術だ。公開鍵アルゴリズムとともに暗号化と電子署名に用いられている。インテグリティチェックや認証でも使われている。各種のプロトコルであらゆる種類の用途に利用されている。一方向ハッシュ関数は暗号化アルゴリズムである以上に、近代暗号学の牽引役だ。

 1990年、ロン・リベスト氏はハッシュ関数「MD4」を発明した。1992年にはMD4を改良し、別のハッシュ関数「MD5」を開発した。その翌年、米国家安全保障局(NSA)はMD5によく似たハッシュ関数「Secure Hash Algorithm(SHA)」を発表した。そして1995年、NSAは新たに見つかった弱点(どのようなものなのか、同局は詳しい説明を避けた)を理由に、SHAに変更を加えた。この新しいアルゴリズムは「SHA-1」と呼ばれている。現在最も人気の高いハッシュ関数はSHA-1だ。比較的古いアプリケーションでは、まだMD5も使われている。

 一方向ハッシュ関数は、2つの特性を持っているとされる。1つは一方向性だ。メッセージからハッシュ値を計算するのは容易だが、ハッシュ値から元のメッセージを復元するのは不可能だ(ここで言う「不可能」とは、「相当の時間をかけないとできない」という意味だ)。2つ目はコリジョンフリーだ。ハッシュ値が同一になる異なる2つのメッセージを見つけることは不可能だ。この2つの特性を支える暗号理論は難解なので、もっと知りたいという読者には、私ブルース・シュナイアーの著書『Applied Cryptography(邦題:暗号技術大全)』をお勧めする。

 ハッシュ関数を破るということは、この2つの特性のどちらか(あるいは両方)が正しくないと実証することを意味する。MD4ファミリーの暗号解読はこの10年ほど、時々思い出したように進められており、簡易版MD4の解読と、MD4アルゴリズム全体の部分的な解読という成果を出している。

 そして今年、エリ・ビハム氏とリー・チェン氏、それとは別にアントワーヌ・ジュー氏がMD5とSHAについて目覚ましい成果を発表した。SHAでのコリジョンが実証され、さらには噂であり未確認だが、SHA-1に対する成果も挙げたという。

 こうした成果の重要性は、人によって異なる。暗号学者にとっては一大事だ。革命的ではないにせよ、暗号分野においては大きな前進だ。これらの研究者が説明した手法は、ほかの用途にも使える可能性が高く、それによりもっとうまく安全なシステムを設計することもできるだろう。これが、暗号科学が進歩する過程なのだ。われわれはほかのアルゴリズムを破ることで、新しいアルゴリズムを設計する方法を学んでいる。さらにNSAのアルゴリズムは、私たちより優れた種族から何の説明もなく寄こされた、異星人の技術のようなものと考えられている。NSAアルゴリズムの解読成功は、同局がこの分野で本当に秀でているかという永遠の疑問における興味深いデータポイントだ。

 暗号化システムの利用者(このコラムの読者はほとんどそうだと思う)にとって、今回のニュースは重要だが、特に心配するようなものではない。MD5とSHAがいきなり安全でなくなったわけではない。先日発表された技術を使って電子署名や暗号化されたメッセージを解読する人がすぐに出てくることはない。この発表の後で、電子世界が前よりも危険になったということはないのだ。

 しかし、NSAにはこんな古いことわざがある。「攻撃は常に進化している。退化することは決してない」。これらの解読技術は今後も改良され、おそらくいつかはそれをベースにした実用的な攻撃が起きるだろう。

 私たち皆がSHA-1から移行する時が来たのだ。

 幸い、代替技術は幾つかある。米国立標準技術研究所(NIST)は既に、もっと長く破りにくいハッシュ関数の標準「SHA-224」「SHA-256」「SHA-384」「SHA-512」を用意している。これらは既に政府の標準となっており、利用可能だ。これは暫定的な策として優れているが、私はもっと多くを望んでいる。

 私としては、新しい暗号化アルゴリズム「Advanced Encryption Standard」が「Data Encryption Standard」に取って代わったように、NISTが新しいハッシュ関数の世界的なコンペティションを行うことを望む。NISTはアルゴリズムを募集し、一連の分析を行い、新しい標準を確立する目的でコミュニティーでさまざまな案を分析するべきだ。

 現在あるハッシュ関数のほとんど、そして広く使われているハッシュ関数のすべては、MD4の一般原則をベースにしている。この10年間で明らかにハッシュ関数の研究は進んでおり、もっと安全なものを作るためにその知識を応用できると思う。

 今なら、数年後よりもうまく新標準に取り組める。今はパニックを起こす理由がないが、数年後にはあるかもしれないからだ。

Copyright(C) IDG Japan, Inc. All Rights Reserved.