セキュリティの大御所が集まり、代替暗号法を話し合う(3/3 ページ)

» 2005年11月10日 20時52分 公開
[Charlie-Hosner,japan.linux.com]
前のページへ 1|2|3       

SHA1を補強する

 SHA1アルゴリズムを補強するための方法についても、何人かの出席者から論文が発表された。そのほとんどは、既知の攻撃に対する防御戦略に工夫をこらす内容だったが、残念ながら、こうした補強策には、パフォーマンスが極端に低下するというデメリットがともなう。Ron Rivest氏からディザリング案が呈示され、Hugo Krawczyk氏からはランダム化法の提案があって、どちらも有望と見なされたが、補強案の主流はトランケーションだった。

 SHA256で256ビットのハッシュ文字列を作成し、うち96ビットを切り捨てて(トランケーション)160ビット文字列を得たらどうだろう。こうすれば、SHA1を前提としているすべての現行システムと整合するうえ、SHA1アルゴリズムで見つかったコリジョンも避けられる。何よりも最小の費用で急場をしのげるとあって、NISTはこのアイデアに強い関心を示していた。確かに悪い考えではない。とくに、もっと堅固なソリューションが得られるまでのつなぎとしては十分だろう。だが、このトランケーション法はほとんどテストされておらず、暗号強度への影響も未知数である。直感的にはよさそうだが、緻密な裏付けがなく、公的なレビューにもさらされていない方法とあって、NISTも承認には二の足を踏んでいる。現在、レビューが進行中であり、その結果しだいでは、トランケーションが暫定案として浮上するかもしれない。

開発者と管理者へのアドバイス

 さて、いまシステムを開発していて、ハッシュアルゴリズムを選択しなければならないとしたら、どうするのが賢明だろうか。Niels Ferguson氏、Steve Bellovin氏、Hugo Krawczyk氏、Georg Illies氏、James Randell氏からなるパネルは、全員一致で「新しい罪を犯すな」と言う。いま何かを開発中なら、迷わずSHA256を選択しよう。さらに進んで、「アルゴリズム的に機敏」なアプリケーションにできればもっとよい。つまり、暗号化アルゴリズムの寿命が比較的短いことを踏まえ、アプリケーションの寿命よりアルゴリズムの寿命が先に尽きることを前提にしたアプリケーション作りをせよ、ということである。

 既存のシステムについては、こんなアドバイスが与えられた。SHA1を使用しているレガシーシステムがあるなら、今後数年の間にシステムを入れ替えるための検討に入ろう。MD5を使用しているシステムがあるなら、もう救いようがない。尻尾を巻いて逃げ出そう。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ