圧縮オラクル
暗号化の前にデータを圧縮すると、暗号文の長さから、攻撃者の推測が隣にある秘密に似ているかどうかが分かってしまう。
暗号化は内容を隠すが長さは隠さず、圧縮は長さを内容の関数にしてしまう。攻撃者が、Cookieや CSRFトークンのような秘密と一緒に圧縮されるテキストを注入できるなら、推測が秘密の一部と重なるたびに出力がわずかに縮む。選択平文攻撃の一種で、測定器が物差しになっているだけだ。
原理は2002年にJohn Kelseyが記述したが、その後しばらく誰も気にしなかった。2012年のCRIMEはTLS圧縮を使ってセッションCookieを盗み、2013年のBREACHはHTTPレスポンスの圧縮で同じことをやってのけた。TLS圧縮はあらゆる場所で無効化された。HTTP圧縮はウェブを遅くせずに捨てることはできないので、対策としてレスポンスごとに新しい乱数でトークンをマスクする方法がとられている。