On Thu, Sep 01, 2016 at 02:20:02PM -0700, Eric Rescorla wrote:
> On Thu, Sep 1, 2016 at 2:09 PM, Ilari Liusvaara <ilariliusva...@welho.com>
> wrote:
> 
> > I tried to implement this, and discovered an issue:
> >
> > The client handshake traffic secret is needed for deriving client
> > Finished, and client application traffic secret is only needed after
> > that point. However, the derivation of client application traffic
> > secret uses handshake hash post Server Finished.
> >
> > So you either need to buffer the handshake hash value, or have two
> > overlapping client traffic secrets.
> >
> > Changing the client application traffic secret context to extend
> > up to Client Finished would solve the issue.
> >
> 
> Hmm.... having the keys in one direction cover the client's certificate and
> certverify
> and the keys in the other direction not seems pretty sketchy.
> 
> As I understand this, it's just an aesthetic issue, right?

I don't think this is just aesthetic issue:

- If you derive the traffic secret at the moment the right hash is
  available, you need to stash the traffic secret for later (one
  can't overwrite the existing one, since you will need that for
  ClientFinished).
- If you derive the traffic secret just before use, you need to
  have saved the hash value used for derivation, since the
  ClientFinished (and possibly Certificate(Verify)) has altered it.


-Ilari

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

Reply via email to