On Mon, Mar 14, 2016 at 5:44 PM, Ryan Hamilton <r...@google.com> wrote:

> ​On Mon, Mar 14, 2016 at 2:04 PM, Colm MacCárthaigh <c...@allcosts.net>
> wrote:
>
>> On Mon, Mar 14, 2016 at 3:15 PM, Ryan Hamilton <r...@google.com> wrote:
>>>
>>> On Sun, Mar 13, 2016 at 4:36 PM, Jeffrey Walton <noloa...@gmail.com>
>>> wrote:
>>>
>>>> 0-RTT seems to be a solution looking for a problem.
>>>>
>>>
>>> ​Google has been using 0-RTT as part of the QUIC transport for quite a
>>> while now. In April of last year, we posted about the performance
>>> benefits we're seeing from QUIC
>>> <http://blog.chromium.org/2015/04/a-quic-update-on-googles-experimental.html>.
>>> Among other things, that post said:
>>>
>>> Even on a well-optimized site like Google Search, where connections are
>>> often pre-established, we still see a 3% improvement in mean page load time
>>> with QUIC.
>>>
>>>
>>> From the browser side of things, 0-RTT is a solution to a very real
>>> problem. We are excited about TLS 1.3 supporting 0-RTT (or 0-RTT
>>> resumption) and converting QUIC to use the TLS 1.3 handshake as a result.
>>>
>>
>> Are you sacrificing forward secrecy in this case? For a concrete example:
>> suppose $oppressive_government is collecting all traffic as a routine
>> matter of course, and then later a remote-ex, memory-disclosure, or
>> decrypt-oracle  (like the recent DROWN) came along on the server side:
>> could it be used to decrypt all of $worthy_dissident's requests? how long
>> for, how do you manage that trade-off?
>>
>
> ​My understanding is that QUIC's current 0-RTT scheme provides effectively
> the same protection as TLS with perfect forward security, at least assuming
> that session resumption is enabled. This is because, as I understand it,
> even with PFS connections, and attacker who is able to compromise the
> server and access the session resumption key can do bad things. In our QUIC
> deployments, we limit the lifetime of the QUIC 0-RTT static secret to
> roughly the lifetime of our session resumption key.
>

This is, I think, more or less true.

In general, against complete compromise of the server at time X, the
security is limited to whatever
long-term key was used to protect that data. Generally, this means that
tickets and static DHE
are comparable against server key compromise [0], so for this kind of
attack tickets and semi-static
DH are roughly comparable (indeed, you could imagine having the
configuration ID be an
encryption of the semi-static DH key under the ticket key making them
strictly comparable) [1].
The situation is obviously more complicated with attacks where you don't
have control of
the server (e.g., oracle-type stuff) and I suspect depends on the details
of the attack.

-Ekr


[0] As AGL points out, client key compromise is somewhat different.
[1] If you decide to instead store keying material on the server rather
than use tickets,
then TLS 1.3 PSK 0-RTT actually has somewhat better properties because you
can negotiate
a new key with each connection and establish a new "ticket", so the result
is that compromise
of the server is a future secrecy threat but not a threat to past
connections.
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to