On Fri, Jul 17, 2015 at 9:37 PM, Dave Garrett <davemgarr...@gmail.com>
wrote:

> Brian Smith posted an RFE to GitHub a few months ago requesting "A
> mechanism is needed to indicate that a session will not be resumed":
> https://github.com/tlswg/tls13-spec/issues/137
>
> The goal is to provide a simple way for either endpoint to request that
> the master secret be forgotten ASAP to provide a greater assurance of
> confidentiality.
>
> I've written up a short proposal with idea about how I'd suggest going
> about this:
>
> https://github.com/tlswg/tls13-spec/compare/master...davegarrett:resetnotify
>
> The idea is to simply add a new "reset_notify" alert (generally a warning)
> which may be sent by either endpoint as soon as record protection is
> available, after which both endpoints would stop caching shared secrets
> after completion of traffic key completion. This could be sent right from
> the start, at the end of a connection just prior to a standard
> "close_notify", or at any point in between.
>
> This seems like a simple route that does what is specified in issue #137
> without the creation of any new extensions or messages; just one new alert
> value.
>
> Comments? Suggestions? Any reason this would break everything?
>

I don't think this is that useful or practical with the current structure
of TLS 1.3.

- Unless I've missed something, this is primarily an issue of PFS for the
original
  connection, since compromise of either endpoint probably allows
impersonation
  attacks going forward.

- Because the resumption master secret is cryptographically independent
  of the master secret that initiated the connection, its existence in the
server's
  database or in a ticket isn't a threat to the originating connection.

- The server can opt not to allow resumption by declining to provide
  a NewSessionTicket message.

-  The client has the option of never initiating a new connection with the
   provided ticket (assuming that the server opts to supply one). Note
   also that because the ticket is encrypted with the original traffic keys,
   if the client never tries to resume the connection, the ticket never
   appears on the wire (which is relevant for self-encrypted tickets, but
   not so much for tickets which are database lookup keys).

- Because many implementations use self-encrypted  tickets, it's not
practical
  to require   them to delete keying material once it's been established.
Once such
   a ticket has been transmitted on the wire, the server can't really
forget it
  without deleting the ticket encryption key (it can of course mark the
  ticket invalid in some local database, but that doesn't reduce the risk
  from compromise of the ticket encryption key.)

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

Reply via email to