miyachi]SHA-1ハッシュアルゴリズムの危殆化はずいぶん前から叫ばれてきましたが、とうとうSHA-1衝突問題(SHAtteredと呼ばれる)が、2月23日にGoogleとオランダのCWI研究から公開されました。ここではハッシュ値が同じで異なるPDFファイルも公開されており、90日後に手法を公開すると予告されました。比較的詳しいニュースとしてはGigaZineで、参考になるスライドがサイボウズの社内勉強会のスライドとして公開されています。詳しくはこちらをご覧ください。GigaZine:Googleがハッシュ関数「SHA-1」を破ることに成功、90日後に手法を公開予定サイボウズの暗号とセキュリティ社内勉強会用スライド:GoogleのSHA-1のはなしここではSHAttered問題の解説では無く、特にドキュメントやデータに対する電子署名についての状況と考えられる対応を簡単にまとめます。状況ですが、まだ簡単にSHA-1の衝突がおこせる訳ではありません。従来より早くなったとは言え、それなりにCPU/GPUを回して計算させる必要があります。SHA-1の後継ハッシュアルゴリズムとして、SHA-1同系統でよりセキュアなSHA-2ハッシュアルゴリズムや、別系統のSHA-3ハッシュアルゴリズムが既に制定されており、業界では移行を進めてきており、現状ではほぼSHA-1は使われていないはずです。長期署名では今回のような暗号アルゴリズム危殆化の時に対応する為にアーカイブタイムスタンプと言う方法を提供しています。慌てる必要はありません。落ち着いて対応すれば解決が可能です。次にファイルの種類毎に対応方法をまとめます。SHA-1署名が使われているPDF署名ファイル:SHA-1署名のみだけでは無く、SHA-1署名にSHA-2タイムスタンプが埋め込まれている場合も同様の対応が必要です。署名方式はSHA-2でも、証明書がSHA-1署名の証明書の場合も同様です。PDF署名には、以下2つの対応方法が考えられます。対応1)ドキュメントタイムスタンプを追加PAdES仕様に基づいて、LTV化(検証情報埋め込み)とSHA-2対応のドキュメントタイムスタンプを追加することで、最初のSHA-1署名を保護することが可能です。これが一番本来対応すべき対応方法となります。対応2)別の電子署名方式で再署名を行う例えばXAdESにて署名済みPDFファイルを対象に、新たにSHA-2署名を付与することで、最初のSHA-1署名を保護することが可能です。この方式ではれば複数ファイルに対してまとめて署名付与が可能ですので、効率も良いメリットがありますが、PDFファイル単体では確認できないデメリットもあります。SHA-1署名が使われているXAdESファイル:対応3)アーカイブタイムスタンプを追加これは素直に新しいSHA-2対応のアーカイブタイムスタンプを追加しましょう。XAdES-T(署名+署名タイムスタンプ)で署名タイムスタンプがSHA-2対応でも、署名タイムスタンプの署名対象は署名値のみですので、きちんとSHA-2対応のアーカイブタイムスタンプを追加することが必要です。署名方式はSHA-2でも、証明書がSHA-1署名の証明書の場合も同様です。その他形式のSHA-1署名ファイルCAdESに関してはXAdESと同じ対応で良いはずです。それ以外の場合には「対応2)別の電子署名方式で再署名を行う」にあるように、XAdESやCAdESにてSHA-2再署名することで対応が可能です。以上が簡単ですが対応方法のまとめとなります。SHA-1署名の古いファイルをお持ちの場合には、是非上記を参考に対策をきちんと施してください。余談にはなりますが、長期署名のアーカイブタイムスタンプには以下の2つの目的があります。今後も今回同様の問題が生じる可能性はありますので、きちんと長期署名フォーマットPAdES/XAdES/CAdESへの対応をしておくと安心と言えます。弊社PAdES/XAdESライブラリのどちらか一方をご購入頂いているお客様で、このSHAttered問題対応に際して購入していない方のライブラリが必要な場合には無償でご提供しています。弊社お客様以外でも、対応方法で悩まれている場合にご相談に乗ることも可能です。どちらも必要でしたら宮地までご連絡ください。LangEdge,Inc.。