LoginSignup
9
11

More than 5 years have passed since last update.

TLS における Diffie-Hellman 鍵交換の脆弱性

Last updated at Posted at 2015-05-23

脆弱性の内容

通称 “Logjam” 攻撃。

かつて騒がれた FREAK 脆弱性と同じく, TLS 経路上に「中間者」がいる場合, Diffie-Hellman(DH)鍵交換で使われる鍵を輸出用の脆弱なものにダウングレードさせられる。 FEAK のときとは異なり,特定の実装の脆弱性ではなく TLS プロトコルの欠陥。

ちなみに DH 鍵交換アルゴリズムは公開鍵暗号の一種で,お互いに(もちろん第3者にも)秘密情報(秘密鍵)を知られることなく安全にセッション鍵を生成することができる。ベースとなるロジックは「離散対数問題」と呼ばれるもので ElGamal や DSA と同系統のロジック。なので,鍵長の管理も ElGamal や DSA と同等のものが要求される。

暗号強度と各暗号方式の鍵長の関係は以下のとおり(単位はすべて bit)

Bits of security Symmetric key algorithms FFC (DSA, DH) IFC (RSA) ECC (ECDH, ECDSA)
80 2TDEA L=1024, N=160 k=1024 160 <= f < 224
112 3TDEA L=2048, N=224 k=2048 224 <= f < 256
128 AES-128 L=3072, N=256 k=3072 256 <= f < 384
192 AES-192 L=7680, N=384 k=7680 384 <= f < 512
256 AES-256 L=15360, N=512 k=15360 512 <= f

2030年以降も安全に使える暗号強度は 128bits 以上だと言われている。 Logjam 攻撃では L=512bits にダウングレードさせられるが全くお話にならない強度だということが分かるだろう。

暗号について詳しくは拙文「わかる! OpenPGP 暗号」の「暗号に関する雑多な話」あたりをどうぞ。
また FREAK については Gist にまとめているので,そちらも参考にどうぞ。

影響度

CVE-2015-1716 より

CVSS 基本値 5.0 (AV:N/AC:L/Au:N/C:P/I:N/A:N)

基本評価基準 評価値
攻撃元区分(AV) ネットワーク(N)
攻撃条件の複雑さ(AC) 低(L)
攻撃前の認証要否(Au) 不要(N)
情報漏えいの可能性(機密性への影響, C) 部分的(P)
情報改ざんの可能性(完全性への影響, I) なし(N)
業務停止の可能性(可用性への影響, A) なし(N)

CVE-2015-4000 より

CVSS 基本値 4.3 (AV:N/AC:M/Au:N/C:N/I:P/A:N)

基本評価基準 評価値
攻撃元区分(AV) ネットワーク(N)
攻撃条件の複雑さ(AC) 中(M)
攻撃前の認証要否(Au) 不要(N)
情報漏えいの可能性(機密性への影響, C) なし(N)
情報改ざんの可能性(完全性への影響, I) 部分的(P)
業務停止の可能性(可用性への影響, A) なし(N)

CVSS についてはデモページを参照のこと。

影響を受ける実装

また、「OpenSSL」v1.0.2b/v1.0.1nに関しては、TLS通信で暗号強度の弱い輸出グレードの暗号へ意図せずダウングレードされてしまう“Logjam”脆弱性(CVE-2015-4000)も修正されている。

  • Apple Safari : 影響あり。修正版なし
  • Android : 影響あり。修正版なし
  • Google Chrome : 影響あり。修正版なし。 Chrome 43 でも解消されてないらしい
  • Mozilla Firefox : 影響あり。修正版なし
  • OpenVPN : 影響はほとんどない?
    • TLSの脆弱性「Logjam」のOpenVPNへの影響 « yamata::memo
      • OpenVPNでは、サーバーセットアップ時に openssl dhparam コマンドを使ってOpenVPN専用のDHパラメータを生成しているため、DHパラメータを別個に生成しない使用方法よりは安全といえる。
      • openssl dhparam コマンドの実行時に鍵長を 2048ビット以上にしていれば安全。1024ビットの場合は攻撃される可能性は否定できないが、それでも簡単ではない。
      • TLS-Authが有効になっていればこの種のTLSのダウングレード攻撃は回避できる。
  • OpenSSH : 影響あり。 On OpenSSH and Logjam – Technology & Policy – Jethro Beekman

  • Logjam: PFS Deployment Guide : サーバ側での回避例

影響の有無を確認する方法

ブラウザで “The Logjam Attack” のサイトを訪れると自動的に判定してくれる。

Warning! Your web browser is vulnerable to Logjam and can be tricked into using weak encryption. You should update your browser.

と表示されると影響を受ける可能性がある。

サーバ側は “Guide to Deploying Diffie-Hellman for TLS” のページにある “Server Test” で確認できる。

参考ページ

9
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
11