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
> TLS@ietf.org
> https://www.ietf.org/mailman/listinfo/tls
> 

Attachment: 0x5AB2FAF17B172BEA.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

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

Reply via email to