Bleichenbacher 攻撃
Bleichenbacher 攻撃 とは何ですか?
Bleichenbacher 攻撃1998 年に Daniel Bleichenbacher が発表した適応的選択暗号文攻撃。サーバが PKCS#1 v1.5 パディングの正当性を漏えいすると RSA 平文を復元できる。
Daniel Bleichenbacher は 1998 年の CRYPTO で、RSA-PKCS#1 v1.5 を使う SSL ハンドシェイクへの攻撃を発表しました。サーバは意図せずパディングオラクルとなり、応答(時間差・アラート・エラー)が区別できる限り、改変された暗号文が 0x00 0x02 で始まるかを攻撃者に教えてしまいます。慎重に構築した約 100 万件の暗号文を送ることで平文の区間を絞り込み、事前マスタを復元して機密性を破壊できます。PKCS#1 v1.5 を一定時間で実装するのが困難なため、2016 年の DROWN や 2017 年の ROBOT として何度も再来しました。対策は均一なエラー処理、新規設計での RSA-OAEP 採用、ハンドシェイクから RSA を排除した TLS 1.3 への移行です。
● 例
- 01
1990 年代の Web サーバで、パディング誤りのアラート差から SSL 事前マスタを復元する。
- 02
DROWN と ROBOT は現代の TLS 実装に対し同じオラクルを再利用する。
● よくある質問
Bleichenbacher 攻撃 とは何ですか?
1998 年に Daniel Bleichenbacher が発表した適応的選択暗号文攻撃。サーバが PKCS#1 v1.5 パディングの正当性を漏えいすると RSA 平文を復元できる。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。
Bleichenbacher 攻撃 とはどういう意味ですか?
1998 年に Daniel Bleichenbacher が発表した適応的選択暗号文攻撃。サーバが PKCS#1 v1.5 パディングの正当性を漏えいすると RSA 平文を復元できる。
Bleichenbacher 攻撃 はどのように機能しますか?
Daniel Bleichenbacher は 1998 年の CRYPTO で、RSA-PKCS#1 v1.5 を使う SSL ハンドシェイクへの攻撃を発表しました。サーバは意図せずパディングオラクルとなり、応答(時間差・アラート・エラー)が区別できる限り、改変された暗号文が 0x00 0x02 で始まるかを攻撃者に教えてしまいます。慎重に構築した約 100 万件の暗号文を送ることで平文の区間を絞り込み、事前マスタを復元して機密性を破壊できます。PKCS#1 v1.5 を一定時間で実装するのが困難なため、2016 年の DROWN や 2017 年の ROBOT として何度も再来しました。対策は均一なエラー処理、新規設計での RSA-OAEP 採用、ハンドシェイクから RSA を排除した TLS 1.3 への移行です。
Bleichenbacher 攻撃 からどのように防御しますか?
Bleichenbacher 攻撃 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
Bleichenbacher 攻撃 の別名は何ですか?
一般的な別名: ミリオンメッセージ攻撃。
● 関連用語
- attacks№ 941
ROBOT 攻撃
1998 年の Bleichenbacher による RSA PKCS#1 v1.5 パディングオラクル攻撃が TLS で 2017 年に蘇った事例。セッション復号やなりすましが可能。
- attacks№ 786
パディングオラクル攻撃
2002 年に Vaudenay が公表した暗号攻撃。改変メッセージの PKCS#7 パディングが正しいかをサーバが漏えいすると CBC 暗号文を復号できる。
- network-security№ 1159
TLS(トランスポート層セキュリティ)
IETF が標準化した暗号プロトコルで、ネットワーク上の 2 つのアプリケーション間の通信に機密性・完全性・認証を提供する。
- vulnerabilities№ 1038
サイドチャネル攻撃
論理的欠陥ではなく、時間・消費電力・電磁波・キャッシュ・音響など、システムの物理的または実装上の特徴を観測することで秘密情報を回復する攻撃。