- From: Mark Nottingham <mnot@mnot.net>
- Date: Wed, 11 Aug 2021 12:32:35 +1000
- To: Benjamin Kaduk <kaduk@mit.edu>
- Cc: The IESG <iesg@ietf.org>, httpbis-chairs@ietf.org, HTTP Working Group <ietf-http-wg@w3.org>, Tommy Pauly <tpauly@apple.com>
Hi Ben,
Thanks for the feedback. I think I've addressed it all:
https://github.com/httpwg/http-extensions/issues/1597
Please follow up there or here if you have lingering concerns.
Cheers,
> On 10 Aug 2021, at 2:48 am, Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
>
> Benjamin Kaduk has entered the following ballot position for
> draft-ietf-httpbis-cache-header-09: No Objection
>
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
>
>
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-httpbis-cache-header/
>
>
>
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> I made a pull request with a few editorial suggestions, at
> https://github.com/httpwg/http-extensions/pull/1595
>
> Section 2
>
> The Cache-Status header field is only applicable to responses that
> have been generated by an origin server. An intermediary SHOULD NOT
> append a Cache-Status member to responses that it generates, even if
> that intermediary contains a cache, except when the generated
> response is based upon a stored response (e.g., a 304 Not Modified or
> 206 Partial Content).
>
> Is the 304/206 supposed to be an example of what the stored response was
> or what the generated response is? (Some similar text appears in ยง2.1
> as well, though there is more context in the latter location to clarify
> the intended meaning.)
>
> Caches determine when it is appropriate to add the Cache-Status
> header field to a response. Some might add it to all responses,
> whereas others might only do so when specifically configured to, or
> when the request contains a header field that activates a debugging
> mode.
>
> In light of the security considerations, we might want to put more
> caveats here (e.g., on "add it to all responses").
>
> Section 2.2
>
> The most specific reason that the cache is aware of SHOULD be used.
> See also [I-D.ietf-httpbis-semantics], Section 4.
>
> I'm not entirely sure which parts of Section 4 of -semantics are
> supposed to be of note in this scenario.
>
> Section 4
>
> The Expert(s) should consider the following factors when evaluating
> requests:
>
> * Community feedback
>
> Where is community feedback to occur if the registration request is sent
> to IANA? (The link to https://iana.org/assignments/http-cache-status is
> not currently active and thus has no preview of what the instructions to
> new registrants are.)
>
> Section 6
>
> As the genart reviewer notes, what we describe here seems to include
> giving a lot of information to potential attackers! That said, since
> this is largely codifying existing practice into a more interoperable
> form, it seems better to publish than to not publish. I do wonder if we
> could give more guidance (or references) on reliable ways to determine
> whether a client is authorized to receive sensitive cache-status
> information.
>
> Is rate-limiting the generation of this header field to a single
> (unauthenticated/unauthorized) source likely to be of use in mitigating
> attacks? I can think of some scenarios where it does *not* help, but am
> not sure if there are cases where it actually would help...
>
> For example, knowing if a cache has stored a response can help an
> attacker execute a timing attack on sensitive data. Exposing the
>
> (nit) The next sentence is a different example, and might benefit from
> some additional transition text.
>
> Also, knowing how long a cached response will be stored ("ttl") can help
> an attacker in similar ways.
>
> cache key can help an attacker understand modifications to the cache
> key, which may assist cache poisoning attacks. See [ENTANGLE] for
> details.
>
> A naive reader might read this text and think that obfuscating the
> "representation of the cache key" in the "key" parameter (e.g., so as to
> return the same representation for cache keys that are actually
> different in some subtle edge case) would be a useful countermeasure
> against such attacks. I think it would be helpful for us to make a
> statement about that idea (AFAICT, it doesn't meaningfully help security
> and hinders the utility of the header field, so would be
> disrecommended).
>
>
>
>
--
Mark Nottingham https://www.mnot.net/
Received on Wednesday, 11 August 2021 02:33:00 UTC