On Thu, Dec 17, 2015 at 3:02 PM, Hugo Krawczyk <h...@ee.technion.ac.il>
wrote:

> I have mentioned this in private conversations but let me say this here: I
> would prefer that the nonces be explicitly concatenated to the handshake
> hash.  That is,
>
> handshake_hash = Hash(
>
>                             client random            ||
>
>                             server random            ||
>
>                             Hash(handshake_messages) ||
>
> Hash(configuration) || )
>
>
> The reason is that nonces are essential for freshness and session
> uniqueness and I want to see them explicitly included in the
> signed/mac-ed/KDF-ed information. I can envision a future variant/mode of
> the protocol where parties do not transmit nonces but have a synchronized
> state that they advance separately and use as nonces (e.g., for key
> refreshing) - in such case the nonces would not be included in the
> handshake-hash computation.
>
> So while the redundancy of having them twice in the handshake_hash
> calculation may be annoying, this adds robustness to the security (and
> analysis) of the protocol.
>

This change doesn't make implementation or specification significantly more
difficult.
Does anyone  else object or feel it makes analysis harder? :)

-Ekr



Another reason for including them (in particular as the leading values) in
> the computation of handshake_hash is to have them always located at the
> same position in the hashed stream. It is needed to make sure that these
> streams are unique per session (in theory, and maybe in practice, an
> attacker may play games changing the boundary of nonces by changing
> surrounding bytes in the stream).
>
> If this augmenting of handshake_hash is not adopted then there should be a
> note cautioning against excluding the nonces from the transmitted messages.
> If possible, it would be good to move them to a fixed position (from the
> start of the input to the handshake_hash).
>
> Hugo
>
> On Thu, Dec 17, 2015 at 10:13 AM, John Foley <fol...@cisco.com> wrote:
>
>> On 12/16/2015 04:28 PM, Dave Garrett wrote:
>>
>>> On Wednesday, December 16, 2015 04:15:00 pm John Foley wrote:
>>>
>>>> Thanks for answering my questions.  Have you considered adding KAT
>>>> values for the key derivation steps?  This would be helpful to
>>>> implementors.  RFC5869 already has KAT values for HKDF-Extract and
>>>> HKDF-Expand.  But the TLS 1.3 spec has added HKDF-Expland-Label.
>>>> Additionally, It would be useful to show intermediate KAT values for
>>>> xSS, xES, mSS, and mES.
>>>>
>>> I suggest filing an issue or submitting a PR with a starting point set
>>> of changes and discussing it with ekr.
>>>
>>>
>> I've submitted https://github.com/tlswg/tls13-spec/issues/378.  If you
>> give me a few days, I'll update this issue with KAT values per revision
>> 10.  Since it sounds like there are changes forthcoming in this section of
>> the draft, I'll hold off on the PR until later. Hopefully someone else will
>> volunteer to verify my KAT values.
>>
>>
>> _______________________________________________
>> TLS mailing list
>> TLS@ietf.org
>> https://www.ietf.org/mailman/listinfo/tls
>>
>
>
> _______________________________________________
> TLS mailing list
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
>
>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to