危殆化
From Wikipedia, the free encyclopedia
危殆化とは、一般的に暗号文が解読されることを指すが、リスクレベルに応じて以下の3段階に分類される。危殆化された暗号による脆弱性は、CWE-327「不完全、または危険な暗号アルゴリズムの使用」に分類される。
- 理論的危殆化 - 特定の暗号アルゴリズムに対して、ブルートフォース攻撃よりも少ない計算量で鍵を特定したり、平文を復元したりする手法が数学的に発見された状態である[1]。例えば、鍵長がnビットである暗号に対し、新たな攻撃手法により2^{n-k}回(kは正の整数)で解読可能であることが証明された場合がこれに該当する。直ちに現実のシステムが侵害されるわけではないが、安全性の証明が崩れたことを意味する。
- 実質的危殆化 - 理論的な攻撃手法が、スーパーコンピュータやクラウドコンピューティングなどの現実的に利用可能な計算機リソースを用いて、許容可能な時間とコストの範囲内で実行可能となった状態である。SHA-1ハッシュ関数に対する衝突攻撃の成功などがこれに該当し、この段階に至った暗号技術は即時の利用停止と移行が求められる。
CRYPTREC
CRYPTRECは、総務省および経済産業省が運営する暗号技術検討会と、NICT(情報通信研究機構)およびIPA(情報処理推進機構)が事務局を務める委員会等で構成される、日本における暗号技術評価機関である[3]。2013年の改定以降、CRYPTRECは以下の3つのカテゴリで暗号リストを運用している[4]。
- 電子政府推奨暗号リスト - 安全性・実装性能が確認され、市場実績が十分な技術。原則としてこのリストから選定する。
- 推奨候補暗号リスト - 安全性は確認されているが実績が少ない、または特定用途向けの技術。特定の要件がある場合に検討する。
- 運用監視暗号リスト - 危殆化が確認された技術。互換性維持のみ容認される。
新たな脆弱性が発見され、それが実質的危殆化となると判断された場合、その暗号技術は「電子政府推奨暗号リスト」から「運用監視暗号リスト」へ降格される[4]。この判断において、市場での普及度よりも安全性が最優先される[5]。また、緊急性が高い場合はリストからの削除や注意喚起が行われることもある[6]。
主要暗号技術の危殆化事例
SHA-1
SHA-1はハッシュ関数として広く利用されてきたが、衝突耐性の破綻により危殆化した。2005年、160ビットのハッシュ関数であるSHA-1は、理論上2^{80}回の計算で衝突を発見できるはずだが、実際は、$2^{69}$回で可能であることが示された[7]。2017年、GoogleとCWIは実際に同じSHA-1ハッシュ値を持つ異なる2つのPDFファイルの生成に成功した[8]。これにより、契約書のすり替えなどが可能になるリスクが実証された[9]。GitなどはSHA-1からの移行を進め[10]、現在では運用監視暗号リストに分類され、Webブラウザでも受け入れが停止されている[11]。
RC4
RC4は高速なストリーム暗号としてSSL/TLSやWEPに採用されたが、統計的な偏りが問題となった。FMS攻撃により、無線LAN規格WEPは短時間で鍵を復元可能となり、完全に危殆化した[12]。2015年、RC4の「Invariance Weakness」を利用した攻撃が確立され、SSL/TLS通信上のCookieなどが復元されるリスクが顕在化した[13]。これによりブラウザベンダーはRC4を廃止した[14]。
3DES
3DESはDESを3回繰り返すことで鍵長を拡張したが、64ビットという短いブロックサイズに起因する脆弱性が問題となった。約2^{32}ブロック(約32GB)のデータを暗号化すると「誕生日のパラドックス」により衝突が発生する確率が高まる[15]。2016年に実証されたSweet32攻撃では、この衝突を利用してHTTPS通信の内容を解読する手法が示された[16]。この脆弱性は構造的な限界によるものであり、ブロックサイズ128ビットのAES等への移行が必要である[17]。
RSA
RSAは、公開鍵暗号として用いられ、素因数分解の困難性に依存しているが、分解アルゴリズムの進化と計算機能力の向上により、安全な鍵長が増加している。1999年に512ビット、2009年に768ビットが分解された[要出典]。RSA-1024は国家レベルの予算とクラウド計算機を用いれば解読可能と見積もられており[18]、非推奨である。現在はRSA-2048が主流だが、2030年を目処に制限がかかる予定である。また、パディング方式はPKCS#1 v1.5からOAEPへの移行が推奨されている[19]。