Paul,

I don't understand your threat model here.

1. As already noted upthread, ECH inherently leaks the name you are
resolving to the resolver. This leak doesn't depend on the resolver
tampering with the response, so DNSSEC verification on the client
doesn't help here [0].

2. If the client accepts the network resolver, as opposed to requiring
a TRR, then a malicious network will always be able to force the user
into leaking their browsing history on that network. Thus, as you
say, if you want ECH to guarantee privacy you need to use encrypted
transport to a TRR.

3. As Ben observed, if the client caches the response from the
recursive, then an ECH record from malicious resolver A (e.g., in the
airport) might allow A to continue to learn the SNI even when you are
using non-malicious resolver B (e.g., at your house). But the only
way to get into this hole is to use the network provided (potentially
malicious) resolver.

4. The specific attack in (3) can be prevented if the client only
cached ECH records when they were DNSSEC signed, but this still
leaves you leaking to the malicious network's resolver whenever
you try to retrieve an uncached value, so it's much better to
just insist on using a TRR, which protects against this attack
entirely, at which point DNSSEC provides limited value.

If you think this analysis is wrong, please explain the attack
which is prevented by client-side DNSSEC validation, remembering
that it can only be done reliably when the client already is
using a TRR.

-Ekr


[0] DNSSEC validation at the recursive might help, but that's not what
we're talking about.

On Mon, Oct 7, 2024 at 9:16 AM Paul Wouters <paul.wout...@aiven.io> wrote:

>
> On Mon, Oct 7, 2024 at 9:26 AM Eric Rescorla <e...@rtfm.com> wrote:
>
>>
>>
>> On Mon, Oct 7, 2024 at 6:01 AM Paul Wouters <paul.wout...@aiven.io>
>> wrote:
>>
>>>
>>> On Sun, Oct 6, 2024 at 12:17 PM Eric Rescorla <e...@rtfm.com> wrote:
>>>
>>>> This is explicitly prohibited rfc9460 as it would provide linkability.
>>>>>> See rfc9460 section 12: "Clients MUST ensure that their DNS cache is
>>>>>> partitioned for each local network, or flushed on network changes, to
>>>>>> prevent a local adversary in one network from implanting a forged DNS
>>>>>> record that allows them to track users or hinder their connections after
>>>>>> they leave that network."
>>>>>>
>>>>>
>>>>> Not if the ECH record is DNSSEC signed.
>>>>>
>>>>
>>>> Except that no browser client does DNSSEC validation and there is no
>>>> realistic prospect of that changing.
>>>>
>>>
>>> If you have a TRR configured that does DNSSEC, you can send the DO bit
>>> and still have the advantage of the
>>> upstream DNSSEC without doing the work in the browser.
>>>
>>
>> If you do encrypted DNS to a TRR, then you're not subject to attack by
>> resolvers on the local network, regardless of whether they do DNSSEC.
>>
>
> But still you should verify your trusted resolver where you can. Zerotrust
> mentality.
>
> Of course even better is using RFC 7901 Chain Query and run the few
>>> signature validations yourself. It only costs
>>> 1RTT, just like a regular DNS lookup.
>>>
>>
>> The issue with local DNSSEC validation isn't primarily performance; it's
>> breakage by nonconforming intermediaries.
>>
>
> There are no intermediaries if you connect to proper functioning TRRs
> (like 1.1.1.1., 8.8.8.8, 9.9.9.9)
>
>
>> Actually, as I read RFC 7901, the situation is even worse because there
>> are going to be valid non-RFC 7901
>> implementing resolvers, and so the attacker -- who, recall, controls the
>> local network -- can just refuse
>> the discovery process described in S 5.1.
>>
>
> The local network can only block the DoH  HTTPS connection to your TRR,
> they can't selectively block DNS queries within it.
>
> I agree with not using locally assigned DNS resolvers (via DHCP or ADD)
> for anything if you value privacy. Obviously, DNSSEC
> can't help you for privacy here anyway.
>
> Paul
>
_______________________________________________
DNSOP mailing list -- dnsop@ietf.org
To unsubscribe send an email to dnsop-le...@ietf.org

Reply via email to