2019年3月3日(日) 5:57 Eric Rescorla <e...@rtfm.com>:
>
>
>
> On Fri, Mar 1, 2019 at 11:03 PM Mike Bishop <mbis...@evequefou.be> wrote:
>>
>> Totally agree that we want to avoid the extra DNS round-trip as often as 
>> possible.  However, I see the options in the opposite light – if all you 
>> need is #136, then you can put exact addresses into #137 and get the same 
>> behavior.
>
>
> Sure, but if the error rate is too high, then people will just not do ESNI 
> with the non-exact address version, so you've absorbed complexity for nothing.
>
> i'd also like to hear from CDNs about whether their address ranges are really 
> small enough to not make the list of ranges prohobitive.
>
>
>> The question is whether the additional capabilities of #137 are safe and 
>> needed.  Depending how much later #137 is added, we may wind up needing to 
>> support both, which would be… suboptimal.
>
>
> I actually don't think that's so bad. The complexity of the union of 136 and 
> 137 isn't actually much  more than the complexity of 137, especially if the 
> client just omits step 1 of the 137 algorithm (for exact addresses).
>
>> I think what will swing the needle on safety – how often there’s divergence 
>> – lies in how the record is positioned.  Two problems with the current 
>> approach that I see:
>>
>> Correct me if I’m wrong, but I don’t believe the alias is allowed to have 
>> subdomains.  If www.example.com is a CNAME, then _esni.www.example.com 
>> cannot exist, can it?
>> Even presuming that it did, or that it weren’t a subdomain, it would follow 
>> its own CNAME chain which might not lead to the correct provider.
>
>
> My understanding is that there was consensus to remove _esni, just that we 
> didn't get around to it because of this issue.
>
>>
>>
>> If, however, the ESNIKeys RRType is resolved by following the CNAME from the 
>> host, it depends on how often two queries for two different RRTypes on the 
>> same hostname follow different CNAME chains.  We have a ready-made way to 
>> test that – A and AAAA.  I have an idea where we can get some data on that.
>
>
> Great. I would be interested in seeing that.

FWIW, I am also looking forward to seeing the data, because if the
chances of responses getting out-of-sync is very low (e.g. 0.1%), I
think there's chance we might agree without having neither of #136 or
#137.

We could just use the ESNI key synchronization mechanism that was
introduced in #124 by using IP address-based certificates. That'd have
2 RT penalty (or 1 RT when TCP fast open is used), but that might be
tolerable if the probability is low.

>
> -Ekr
>
>>
>>
>> From: TLS <tls-boun...@ietf.org> On Behalf Of Eric Rescorla
>> Sent: Friday, March 1, 2019 7:19 PM
>> To: Nick Sullivan <nick=40cloudflare....@dmarc.ietf.org>
>> Cc: <tls@ietf.org> <tls@ietf.org>
>> Subject: Re: [TLS] Two Multi-CDN proposals
>>
>>
>>
>>
>>
>> On Fri, Mar 1, 2019 at 6:39 PM Nick Sullivan 
>> <nick=40cloudflare....@dmarc.ietf.org> wrote:
>>
>>
>>
>>
>>
>> On Fri, Mar 1, 2019 at 6:27 PM Christopher Wood 
>> <christopherwoo...@gmail.com> wrote:
>>
>> On Fri, Mar 1, 2019 at 3:19 PM Mike Bishop <mbis...@evequefou.be> wrote:
>> >
>> > Stephen, there are a couple complicating factors here where I think we all 
>> > have varying knowledge gaps.
>> >
>> > There are two major ways of pointing to a CDN:  Direct A/AAAA records and 
>> > CNAMEs.  The easiest way to handle key update complexities on the part of 
>> > the CDN(s) is simply to CNAME the ESNI query for your domain to their ESNI 
>> > record, but you can certainly directly host your CDN’s keys in your domain 
>> > if you prefer.  Nothing should preclude that.
>> > The issue we’re trying to address is when the ESNI record and the A/AAAA 
>> > record follow different CNAME chains and you get the records from 
>> > different hosts.  Of course, if we move to an ESNI RRType with the same 
>> > hostname (see #105), there’s hopefully a single CNAME chain that gets 
>> > cached at the resolver and used when looking up both queries.  If they 
>> > remain separate hostnames, it seems like it gets much easier for them to 
>> > diverge.
>> > It’s my understanding that DNSsec doesn’t play well with returning a 
>> > subset of all extant RRs for a given name+type.  However, some CDNs return 
>> > DNS results tailored to the user’s location; the load-balancing servers 
>> > will (in some cases) return CNAMEs to different targets based on the 
>> > desired traffic share.  That’s not a behavior that maps well to DNSsec as 
>> > I understand it.  You mention DNSsec signing your domain as part of why 
>> > you have issues with the proposal, but I think this is an open issue 
>> > beyond ESNI or these PRs.
>> >
>> > Maybe someone better-steeped in DNS/DNSsec can help us figure out how all 
>> > that should work, and I agree with you that there are definitely bumps 
>> > here we need to iron out – maybe those are just questions to answer, or 
>> > maybe changes to the structure of the record are warranted.
>> >
>> > However, these PRs are primarily about what information should be in these 
>> > records and how clients make use of it.  I disagree with you that we have 
>> > to resolve both questions at the same time.  Let’s agree on content first, 
>> > and spent some time separately with DNS folks to see whether the content 
>> > can be more pleasantly arranged.
>>
>> Thanks all for the discussion so far! Focusing strictly on the content
>> of the records and not the formatting, as Mike suggests, we
>> essentially have the following:
>>
>> - #137 gives clients a way to detect A/AAAA+ESNI mismatch and recover,
>> at the cost of another sequential DNS query for ESNI. In this change,
>> A/AAAA records still control where traffic goes.
>> - #136 never requires clients to send a second DNS query for ESNI
>> since clients ignore the A/AAAA results. In this change, ESNI records
>> dictate routing.
>>
>> With #137, clients willing to send a second DNS query will get ESNI
>> for all supporting providers. Clients unwilling to send a second DNS
>> query will only get ESNI for those providers which ensure that their
>> A/AAAA and ESNI records very rarely mismatch. With #136, clients only
>> get ESNI for those providers capable of building ESNI records with
>> correct addresses. In theory, these providers should be the same ones
>> that could ensure A/AAAA and ESNI record matching.
>>
>> Given this, the discussion seems to hinge on the following question:
>> Are operators comfortable with the risks of letting ESNI records
>> control routing. If so, #136 is probably a better design for said
>> operators. If not, then #137 is probably required.
>>
>>
>>
>> Thanks for the summary, Chris.
>>
>> Speaking for Cloudflare, we prefer the method described in #136 and would be 
>> willing to implement ESNI records this way.
>>
>>
>>
>> I have sympathy for organizations with a preference for #137 for 
>> debuggability reasons, but I would rather avoid situations in which the 
>> client needs to do an additional DNS query if avoidable.
>>
>>
>>
>> I would support the option to include either extension based on operator 
>> preference.
>>
>>
>>
>> This more or less aligns with my views.
>>
>>
>>
>> From my perspective, we know that #136 is safe, although it may be 
>> inconvenient for some operators, and it's not clear to me that #137 can be 
>> made to work without frequently incurring another serialized DNS query. If 
>> we had some evidence to the contrary, I would be somewhat more favorable to 
>> #137, though I would probably still prefer #136 for reasons of simplicity, 
>> especially as we can always add #137 later if it proves viable..
>>
>>
>>
>> -Ekr
>>
>>
>>
>>
>>
>>
>> Note that this does not mean we must choose between #136 and #137
>> right now. We can do both (after possibly simplifying #137!), use
>> them, and see what works best in practice.
>>
>> Anyway, I hope this summary accurately captures the differences and
>> possible tradeoffs.
>>
>> Best,
>> Chris
>>
>> _______________________________________________
>> 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



-- 
Kazuho Oku

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

Reply via email to