zip

zip (JWE)

[6] JWEヘッダー引数 zip (compression algorithm (圧縮算法) ) は、 暗号化の前に平文に適用する >>5 圧縮算法を指定するものです。

仕様書

[7] 大文字・小文字区別します。 >>5

[11] zip ヘッダー引数の値

[4] DEF は、 RFC 1591 DEFLATE を表します。 >>1, >>2, >>5

[3] IANA登録簿 >>2 があります。 >>1

[12] 令和4年時点で登録されているのは DEF だけです。 >>2

文脈

[8] zip ヘッダー引数省略可能です。 zip ヘッダー引数が存在しないときは、 平文暗号化前に圧縮を適用しないことを表します。 >>5

[9] zip ヘッダー引数を使うときは一貫性保護しなければならず、 従って JWE被保護ヘッダーでのみ使わなければなりません>>5

[10] JWE の実装は、 zip ヘッダー引数を理解し処理しなければなりません ヘッダー引数 >>5


[14] 圧縮暗号化の組合せは BREACH のような重大な攻撃が可能な脆弱性となり得ることが知られています。 zip によってまさにそれが可能であることが指摘されています >>16, >>15

[17] Web 業界で CRIME / BREACH が報告されて深刻な問題となったのがから頃のことで、 JWERFC 化がなのに、 RFC がこの問題をスルーしているのは不審です。

[18] zip は、その利用が安全だとわかっていない限り、使うべきではありません。 たとえある時点で安全であっても、アプリケーションの進化に伴って暗号化されるデータが変化して、 安全でなくなる可能性もあります。従って取り扱いには細心の注意が求められます。 その判断を確実に行えないなら、 zip は避けるべきです。

[19] 新しい応用は、 zip を使うべきではありません。 実装は、既存の応用との互換性のために必要な場合を除き、 zip を使うべきではありません。 可能なら、 zip が使われた入力は拒絶するべきです。

メモ

[13] zip って一般名詞なんでしょうけど、どうしても ZIP を連想してしまうわけで... なんでこの語を選んだし