On Sun, Oct 27, 2019 at 8:46 PM Rob Sayre <say...@gmail.com> wrote:

> Hi,
>
> The joke is on me, because medium.com also does not check any SNI / ESNI
> field. :)
>
> However, I did notice that my record_digest value was off vs Firefox. And,
> now, I don't feel so bad.
>
> I noticed that esni-02 and esni-03 defined record_digest as:
>
> record_digest  A cryptographic hash of the ESNIKeys structure from
>       which the ESNI key was obtained, i.e., from the first byte of
>       "checksum" to the end of the structure.  This hash is computed
>       using the hash function associated with "suite".
>
> but, esni-04 defines record_digest like so:
>
> record_digest  A cryptographic hash of the ESNIKeys structure from
>       which the ESNI key was obtained, i.e., from the first byte of
>       "version" to the end of the structure.  This hash is computed
>       using the hash function associated with "suite".
>
> By following the record_digest algorithm from esni-04, I was able to match
> Firefox's record_digest fields for a given domain. This strikes me as very
> odd, since the ESNIKeys structure changed in esni-04, but I'm still using
> the older, esni-02 definition. So, it sure seems like people are running a
> strange mix of drafts at the moment. I think there's still something wrong
> with my calculation of the encrypted_sni field--perhaps I will have to read
> more NSS source code to figure out what that is. :)
>

Oh, and sorry for the postscript, but a common piece of cryptographic
mythology is that using the same first bytes for every hash input can
weaken it. I have never looked into that assertion, and I also haven't
looked into whether using a checksum in the way -02 or -03 did could be
problem. Why did the draft originally omit the version number, and why does
it no longer do that?

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

Reply via email to