Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 711

Lucky 13

監修Cybersecurity entrepreneur & security researcher

Lucky 13 とは何ですか?

Lucky 132013 年に AlFardan と Paterson が公表した TLS-CBC のタイミング攻撃。MAC-then-encrypt をパディングオラクル化して平文を復元する。


Lucky 13(CVE-2013-0169)は 2013 年 2 月、ロンドン大学 Royal Holloway 情報セキュリティグループの Nadhem AlFardan と Kenny Paterson によって公表されました。これは Serge Vaudenay が 2002 年に示したパディングオラクル攻撃を、タイミング・サイドチャネルで精緻化したもので、MAC-then-encrypt(HMAC)を用いる SSL 3.0 と TLS 1.0–1.2(および DTLS)のすべての CBC スイートが対象です。

名前の 13 は、MAC が対象とする TLS ヘッダとシーケンス番号などの定数バイト数を指します。HMAC-SHA1 はデータを 64 バイトのブロック単位で処理するため、圧縮関数の呼び出し回数、すなわち検証時間は、レコードに含まれるパディングのバイト数に依存します。偽造暗号文を注入できる中間者攻撃者は、このサブマイクロ秒単位の差を多数の試行で測定し、推測した平文が正当なパディングを生じたかを判定して、BEAST や POODLE のように 1 バイトずつ平文を復元します。当初の成果は DTLS で完全な平文を、TLS で部分的なバイトを復元し、OpenSSL と GnuTLS で実証されました。

定時間対策(パディングによらず常に固定回数の HMAC ブロックを計算する)は OpenSSL 1.0.1d、GnuTLS、NSS に導入されました。恒久的な対処は CBC を捨て、TLS 1.3 が唯一許可する AES-GCM や ChaCha20-Poly1305 などの AEAD スイートへ移行することです。

flowchart TD
  A[中間者が偽造 TLS-CBC レコードを注入] --> B[サーバが復号しパディングを除去]
  B --> C{パディング長}
  C -->|パディングが多い| D[HMAC-SHA1 ブロックが少ない - 速い]
  C -->|パディングが少ない| E[HMAC ブロックが多い - 遅い]
  D --> F[攻撃者が MAC 検証時間を計測]
  E --> F
  F --> G[数百万回の試行で統計処理]
  G --> H[パディングオラクルが平文 1 バイトを復元]

● 例

  1. 01

    数百万件の偽造レコードで TLS-CBC セッションから一部の平文バイトを復元する。

  2. 02

    DTLS の再送機構で測定回数を増やし、計測精度を高める。

● よくある質問

Lucky 13 とは何ですか?

2013 年に AlFardan と Paterson が公表した TLS-CBC のタイミング攻撃。MAC-then-encrypt をパディングオラクル化して平文を復元する。 サイバーセキュリティの 攻撃と脅威 カテゴリに属します。

Lucky 13 とはどういう意味ですか?

2013 年に AlFardan と Paterson が公表した TLS-CBC のタイミング攻撃。MAC-then-encrypt をパディングオラクル化して平文を復元する。

Lucky 13 からどのように防御しますか?

Lucky 13 に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。

Lucky 13 の別名は何ですか?

一般的な別名: Lucky Thirteen。

● 関連用語