6. 安全考虑事项 (Security Considerations)
攻击者可以使用 Cache-Status 中的信息探测 cache (以及其他 components) 的行为, 并推断使用该 cache 的用户活动. Cache-Status header field 本身可能不会产生这些风险, 但它可以帮助攻击者利用这些风险.
例如, 知道 cache 是否存储了某个 response, 可以帮助攻击者对敏感数据执行 timing attack.
此外, 暴露 cache key 可以帮助攻击者了解对 cache key 的修改, 这可能有助于 cache poisoning attacks. 详情见 [ENTANGLE].
根据底层风险的具体性质, 可以使用多种技术缓解这些风险, 例如使用 encryption 和 authentication, 以及避免在 cache key 中包含 attacker-controlled data. 注意, 仅仅混淆 key 并不能缓解此风险.
为避免协助此类攻击, 可以省略 Cache-Status header field, 仅在 client 被授权接收时发送, 或者仅在 client 被授权时才随敏感信息一起发送, 例如 key parameter.