SHA-1衝突の実現による電子署名への影響と対策

2017.3.2
JNSA 電子署名WG

既報の通り(米Googleが2月23日に発表,https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html),GoogleがオランダのCWI Instituteとの共同研究によりSHA-1の衝突を初めて実現しました。発表に合わせて同じハッシュ値となる異なる2つのPDFコンテンツも提示されており,90日後には,同じハッシュ値を持つ異なる2つのPDFを生成するためのコードを公開するともアナウンスされています。

今回の攻撃についてcryptrecより見解が発表されています。
https://www.cryptrec.go.jp/topics/cryptrec_20170301_sha1_cryptanalysis.html
この見解に基づき,SHA-1を利用する電子署名(SHA1withRSAなど)に対する影響及び対策を次に示します。

◆新たに生成する電子署名について:
ハッシュ値が同一となる場合,電子署名の値も同一となります。従って,異なる文書Aと文書Bのハッシュ値が同一の場合,文書Aに電子署名を施したつもりでも,同時に意図しない文書Bに電子署名を施したことになり,不都合が生じることになります。
今回のハッシュ値衝突の報告では,ハッシュ値が同一となるように生成できる文書には制限があるため,全ての文書について攻撃が可能となるわけではありません。しかし,SHA-1に対する信頼の低下は見過ごすわけにはいきません。新たに生成する電子署名についてはSHA-1を使用しないことを推奨します。

◆過去に生成された電子署名について:
今回の攻撃では予めあたえられたハッシュ値となるような文書を新たに生成することはできません。従って,既に生成されている電子署名については今すぐに影響が出ることは無いと考えます。
とはいえ,将来の攻撃の高度化に備え,長期署名を適用することを推奨します。

長期署名(PAdES/XAdES/CAdES)は公開鍵証明書の有効期限や失効のみでなく,ハッシュ関数など署名に用いられるアルゴリズムの危殆化への対策としても有効です。今回はPDFファイルを対象とする攻撃ですので,PAdES仕様に従ってLTV化(検証情報埋め込み)とSHA-2対応のドキュメントタイムスタンプを追加することで,最初のSHA-1を用いた署名を保護することが可能です。
今後の安心のためにも,PDFに限らず,様々な文書やデータに対してXAdESやCAdESの長期署名の適用を進めていくことを推奨します。