[6]
JWE
のヘッダー引数
zip
(compression algorithm)
は、
暗号化の前に平文に適用する >>5
圧縮算法を指定するものです。
[8]
zip
ヘッダー引数は省略可能です。
zip
ヘッダー引数が存在しないときは、
平文の暗号化前に圧縮を適用しないことを表します。
>>5
[9]
zip
ヘッダー引数を使うときは一貫性保護しなければならず、
従って JWE被保護ヘッダーでのみ使わなければなりません。
>>5
[10]
JWE の実装は、
zip
ヘッダー引数を理解し処理しなければなりません。
[14]
圧縮と暗号化の組合せは BREACH のような重大な攻撃が可能な脆弱性となり得ることが知られています。
zip
によってまさにそれが可能であることが指摘されています >>16, >>15。
[17] Web 業界で CRIME / BREACH が報告されて深刻な問題となったのがから頃のことで、 JWE の RFC 化がなのに、 RFC がこの問題をスルーしているのは不審です。
[18]
zip
は、その利用が安全だとわかっていない限り、使うべきではありません。
たとえある時点で安全であっても、アプリケーションの進化に伴って暗号化されるデータが変化して、
安全でなくなる可能性もあります。従って取り扱いには細心の注意が求められます。
その判断を確実に行えないなら、
zip
は避けるべきです。
[19]
新しい応用は、 zip
を使うべきではありません。
実装は、既存の応用との互換性のために必要な場合を除き、
zip
を使うべきではありません。
可能なら、 zip
が使われた入力は拒絶するべきです。
[13] zip って一般名詞なんでしょうけど、どうしても ZIP を連想してしまうわけで... なんでこの語を選んだし