ダウングレード攻撃

読み:だうんぐれーどこうげき / 英語表記:downgrade attack

暗号化通信を確立するときの交渉に割り込み、古いバージョンのプロトコルや弱い暗号スイートを使うように仕向けて、解読しやすい暗号化通信を行わせる攻撃。

イマシルちゃんの解説

秘密のお話をするとき、2人は最初に「どの暗号を使う?」って相談するよね。

ふつうは、2人とも使える中で、いちばん強い暗号を選ぶんだ。
でも、悪い人がこっそり相談に割り込んで、「古い暗号しか使えないよ」ってウソを伝えたら?
2人は、仕方なく弱い暗号でお話しすることになって、悪い人に読まれやすくなっちゃうんだよ。

より深い解説

定義

ダウングレード攻撃は、通信の当事者が、本来は安全なバージョンや方式を使えるにもかかわらず、中間者が交渉の内容を改ざんしたり、交渉を妨害して失敗させたりすることで、安全性の低い方式を選ばせる攻撃である。SSL/TLSのほか、無線LANやメールのSTARTTLSなど、暗号の方式を交渉で決めるプロトコルが狙われる。

暗号スイート

TLSで使う暗号の組合せを、暗号スイートという。ハンドシェイクで、クライアントが使える一覧を示し、サーバが1つを選ぶ。

要素例
鍵交換ECDHE、RSA
認証(署名)RSA、ECDSA
共通鍵暗号と利用モードAES-128-GCM、ChaCha20-Poly1305、(古いもの:RC4、3DES)
ハッシュ関数SHA-256、SHA-384

主な手口と事例

手口内容
暗号スイートの書換えクライアントの一覧から強い暗号を取り除き、弱い暗号(輸出用の短い鍵など)だけを残す
バージョンのロールバック交渉をわざと失敗させ、クライアントが古いバージョンで接続し直す動作(フォールバック)を悪用する。POODLE攻撃は、SSL 3.0 に戻させて、その弱点を突いた
STARTTLSの除去メールの通信で、サーバの「STARTTLSが使える」という応答を消し、暗号化せずに通信させる

対策

似た攻撃との区別

攻撃内容
ダウングレード攻撃交渉に介入して、弱い方式を使わせる
総当たり攻撃暗号化された通信を記録し、鍵の候補を総当たりで試して解読する
SSLストリッピングHTTPSへの移動を妨げ、利用者にHTTPのまま通信させる

実際の試験ではここに出る!

この用語が出てくる記事

↑