On Fri, Mar 25, 2016 at 12:24 PM, Eric Rescorla <e...@rtfm.com> wrote:

> The issue isn't encouraged. It's whether we should design the protocol so
> that it cannot be implemented any other way.
>

I think it is encouraged ... not really intentionally, but economically.

We all know that the keys encrypting TLS tickets should be rotated
frequently; but that's not something that happens that much in the real
world. Take Apache httpd or nginx for example; both lack any support for
rotation schedules or key id indication in the ticket. I've encountered a
lot of environments using these, and other servers, and besides my own
employer - I've *never* seen an environment in which the keys are actually
rotated.  Folks, developers and operators, just set up things up to the
point there things "work".

The end effect is that users have no way to know if their connections are
actually forward secure. Now one could argue; that's impossible to begin
with - maybe the provider is logging everything, including the full request
and response bodies, and maybe those logs are weakly protected, and so on.
That's true, but it's rare, and particularly egregious. The default at the
transport layer should be to keep users sessions secret; even in the face
of a credential compromise. That's what we're aiming for with TLS1.3 I
think.

0RTT data is likely to contain request data; which I'd regard as sensitive
- so I really want to make sure it's protected and that a user can tell
with some confidence that it likely really is.

If we require server state; it flips the economics. The default "cheap" way
would be FS (no 0RTT), and if you do implement a session cache, you'll be
incentivized to evict entries ASAP with a single-use requirement. And it
gets us to a place where a compromise can only decrypt future sessions; not
previous ones - which is the same as (EC)DHE.


-- 
Colm
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to