Hiya, (Non-stylishly responding to myself, but sometimes you gotta...:-)
I think I understand this better now and while I still
figure a change is needed I'm not 100% sure exactly what'd
be right.
The issue I think is that draft-04 doesn't cover the case
of a server that implements ESNI but has no ESNIKeys setup,
In that case I think the right option in response to GREASE
(or what may be a real but misguided attempt at ESNI) is to
randomly return either a 16 octet value or a value that is
sized to be like a fake ESNIKeys, with e.g. 70-100 octets or
so. (That could be encoded into TLS presentation syntax in
various ways so I'll not suggest one exact way for now.)
(Before I waste time coding that up:-) Do we think the
above is correct?
Thanks,
S.
On 26/07/2019 18:31, Stephen Farrell wrote:
>
> Hiya,
>
> I've started coding up the GREASE stuff from draft -04.
>
> Aren't we missing some answering octets in EncryptedExtensions
> to make it harder to tell if the CH had a real or GREASEd ESNI?
>
> Maybe something like:
>
> enum {
> esni_accept(0),
> esni_retry_request(1),
> esni_grease(2),
> } ServerESNIResponseType;
>
> struct {
> ServerESNIResponseType response_type;
> select (response_type) {
> case esni_accept: uint8 nonce[16];
> case esni_retry_request: ESNIKeys retry_keys<1..2^16-1>;
> case esni_grease: uint8 grease[16];
> }
> } ServerEncryptedSNI;
>
> Cheers,
> S.
>
>
> _______________________________________________
> TLS mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/tls
>
0x5AB2FAF17B172BEA.asc
Description: application/pgp-keys
signature.asc
Description: OpenPGP digital signature
_______________________________________________ TLS mailing list [email protected] https://www.ietf.org/mailman/listinfo/tls
