ネットワークスペシャリスト 2019年 午前2 問16
問題文
SSL/TLSのダウングレード攻撃に該当するものはどれか。
選択肢
ア:暗号化通信が確立された後に、暗号鍵候補を総当たりで試すことによって暗号化されたデータを解読する。
イ:暗号化通信中にクライアントPCからサーバに送信するデータを操作して、強制的にサーバのディジタル証明書を失効させる。
ウ:暗号化通信中にサーバからクライアントPCに送信するデータを操作して、クライアントPCのWebブラウザを古いバージョンのものにする。
エ:暗号化通信を確立するとき、弱い暗号スイートの使用を強制することによって、解読しやすい暗号化通信を行わせる。(正解)
🔒 解説は解答すると表示されます
TLSのダウングレード攻撃【午前2解説】
正解の理由
暗号通信の安全度はクライアントとサーバのネゴシエーションで決まる。選択肢のうち、エ「弱い暗号スイートの使用を強制することによって解読しやすい暗号化通信を行わせる」は、まさにネゴシエーション段階で強度を下げさせる典型的なダウングレード攻撃の定義に合致します。攻撃者はハンドシェイク(ClientHello/ServerHello)を改竄して強力な暗号スイートや新しいプロトコルバージョンを削り、両者に弱い組み合わせを選ばせます。これにより後続の暗号化通信が解析しやすくなります。
補足として、ダウングレード防止策にはプロトコル設計の見直し(TLS 1.3 によるオプション削減など)や、RFC7507で定義されたTLS_FALLBACK_SCSVのような仕組みがあることを押さえてください。TLS_FALLBACK_SCSVはフォールバック検出のための仕組みであり、これはTLS1.3の仕様固有の機能ではなくRFC7507で定義された拡張です。これらによりダウングレードの影響は緩和されますが、運用や実装次第で脆弱性が残ります。
解法ステップ
- 問題文の鍵語を探す:「ダウングレード」「暗号スイート」「弱い」「強制」など、交渉の「弱体化」を示す表現を重視する。
- 各選択肢が「ネゴシエーション(握手)」に関係するかを判断する。ダウングレードは握手段階での強度低下を指す。
- 握手以外(総当たり攻撃、証明書失効、ブラウザのバージョン書き換え)に該当するものは除外する。
- 握手で暗号スイートを弱体化させる記述があれば正答とする(本問では エ)。
選択肢別の誤答解説
- ア: 暗号鍵候補を総当たりで試す「ブルートフォース攻撃」は暗号強度を破る試行であり、ダウングレード(ネゴシエーションを弱める行為)とは別物です。タイミングも通常はハンドシェイク後の解析段階です。
- イ: 通信中にサーバ証明書を“失効”させる操作は、第三者が即座に証明書を無効化する現実的手段としては成立しにくい(失効情報はCA側で管理される)。また証明書失効操作はダウングレード概念(暗号選択の弱体化)とは異なります。
- ウ: サーバから送るデータを改ざんして「クライアントのWebブラウザを古いバージョンにする」といった記述は、プロトコルやソフトウェア自体のバージョンを直接書き換える意味で現実的ではなく、TLSネゴシエーションの弱体化を指していません(アプリ層の欺瞞とは別)。
- エ: ネゴシエーション段階で弱い暗号スイートを使わせる行為はダウングレード攻撃の典型であり、正解です。攻撃者はClientHelloの候補を改竄したり、対応する拡張(例:Supported Versions)を削るなどして誘導します。
よくある誤解
- ダウングレード攻撃と中間者攻撃(MITM)は同義か?
概念的には異なります。ダウングレード攻撃は「通信の暗号的強度を低下させる行為」を指し、MITMは「通信経路に介在して盗聴や改竄を行う手法」を指します。しかし実際にはMITMがハンドシェイクを改竄してダウングレードを実行するケースが多く、両者は密接に重なります(例:MITMがClientHelloを改竄して弱い暗号を残す)。 - TLS1.3があればダウングレード攻撃は完全に防げるか?
TLS1.3は旧版に比べ安全性を高め、暗号選択肢を厳格化するなどで攻撃面を減らしますが、実装や設定ミス、フォールバックの扱いによっては依然リスクがあります。 - TLS_FALLBACK_SCSVはTLS1.3の専有機能か?
いいえ。TLS_FALLBACK_SCSVはRFC7507で定義されたフォールバック防止用の仕組みであり、TLS1.3固有の仕様ではありません。クライアントが意図的に低いバージョンで再試行する際にSCSVを含めると、サーバは異常なフォールバックと判断して接続を拒否できます。
補足コラム
- 実例: POODLE(SSL 3.0のフォールバックを悪用)や Logjam(弱いDHパラメータやexport-gradeの誘導)は、ダウングレードやネゴシエーションの弱体化が原因で発生した代表的脆弱性です。
- 対策のポイント:
- サーバ側で古いプロトコル/暗号スイートを無効化する(SSL 3.0 や RC4、export cipher の排除)。
- 常に最新のTLSバージョンを優先し、フォールバックを不要にする。
- RFC7507(TLS_FALLBACK_SCSV)やHSTS、証明書ピンニング、堅牢な実装で防御層を増やす。
- ネットワークでの改竄検出(TLSの拡張やログ)を監視する。
FAQ
Q: ダウングレード攻撃はどの段階で行われますか?
A: 主にハンドシェイク(ClientHello/ServerHello)のネゴシエーション段階で行われ、暗号スイートやプロトコルバージョンの候補を改竄して弱い組み合わせを確定させます。
A: 主にハンドシェイク(ClientHello/ServerHello)のネゴシエーション段階で行われ、暗号スイートやプロトコルバージョンの候補を改竄して弱い組み合わせを確定させます。
Q: TLS_FALLBACK_SCSVはどう働くのですか?
A: クライアントが接続に失敗して低いバージョンで再試行する際、特別なSCSV値をClientHelloに含めます。サーバはこのSCSVを見て「クライアントが不自然なフォールバックを行っている」と判断したら接続を拒否し、フォールバックを悪用する攻撃を防ぎます。これはRFC7507で規定された仕組みです。
A: クライアントが接続に失敗して低いバージョンで再試行する際、特別なSCSV値をClientHelloに含めます。サーバはこのSCSVを見て「クライアントが不自然なフォールバックを行っている」と判断したら接続を拒否し、フォールバックを悪用する攻撃を防ぎます。これはRFC7507で規定された仕組みです。
Q: ネゴシエーションの改竄は検出可能ですか?
A: 実装によります。TLS拡張の一貫性チェックやSCSVの活用、サーバ側の厳格な設定で多くは検出・防止できますが、完全には実装依存です。ログや異常なフォールバックの監視が有効です。
A: 実装によります。TLS拡張の一貫性チェックやSCSVの活用、サーバ側の厳格な設定で多くは検出・防止できますが、完全には実装依存です。ログや異常なフォールバックの監視が有効です。
関連キーワード: TLS、SSL、ダウングレード攻撃、中間者攻撃、TLS_FALLBACK_SCSV、RFC7507、暗号スイート、TLS1.3、ネゴシエーション、MITM、POODLE、Logjam

\ せっかくなら /
ネットワークスペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

