Re: [dns-privacy] [Ext] WGLC : draft-ietf-dprive-unilateral-probing

"George (Yorgos) Thessalonikefs" <george@nlnetlabs.nl> Wed, 07 June 2023 13:07 UTC

Return-Path: <george@nlnetlabs.nl>
X-Original-To: dns-privacy@ietfa.amsl.com
Delivered-To: dns-privacy@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 74731C153CA0 for <dns-privacy@ietfa.amsl.com>; Wed, 7 Jun 2023 06:07:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=nlnetlabs.nl
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id FmpiErIwbf_l for <dns-privacy@ietfa.amsl.com>; Wed, 7 Jun 2023 06:07:25 -0700 (PDT)
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com [IPv6:2a00:1450:4864:20::336]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A8D1CC15155A for <dns-privacy@ietf.org>; Wed, 7 Jun 2023 06:07:25 -0700 (PDT)
Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-3f60e536250so4627515e9.1 for <dns-privacy@ietf.org>; Wed, 07 Jun 2023 06:07:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nlnetlabs.nl; s=google; t=1686143243; x=1688735243; h=content-transfer-encoding:in-reply-to:subject:from:references:to :content-language:user-agent:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=iF97GHimOSlOyDYe8nDljFIFTD3Nqhc8I6xUqRhGwfI=; b=Odhv3GHLIndC2CTy2Ktu1RN11theydJTx2M/VCwsIBzpWD1nL8hiupn1dusQYe1IxB cDBPKy4DwAbQWlDqgUCbzIwhkCiH+CZJJlNiL9EtCzgkDWea7YmvQ+VH4FXmKoTYqNvB +Wl8D3mcBgVbbpPA86FPizpC1OCG5Ut0oOWxjfn/zdpypaHx3aeUUxmfgxBtjN7A2U7t QV3KhZuhvyCSH/c651z2x8Av/OXKqAYzSUlvIRGpgE388b6bnVdK59BfkEdpsQ7TNBRI PSqdvumzll7V3SrTsJ2XxJhmgtG+kJ538Req9m6RZSc3+WJVIpIgQ2gNMpC80fNt6rxm 01Qw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686143243; x=1688735243; h=content-transfer-encoding:in-reply-to:subject:from:references:to :content-language:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=iF97GHimOSlOyDYe8nDljFIFTD3Nqhc8I6xUqRhGwfI=; b=S191ImN8WSSJTghlIvy5Ex9sGhSPMpPJA8S9d8UDLZkSm0KFxGRjxYyMHZOCiC6ZQI 66hzuMudT9xlEDaJ17+Hd3R/FN9Xgj2CcRHSqaQYFm1MCbppnltSw1XatH+exFKYL8Kz sSHHVTnSGpPy8cvrPsEkpPL3tnrEf/QqmFbuFOZnvhqJR1l68rLRhthlzx8brZ9eXmMp APpZBPrxxZ8VIwxH4+IpFZjlR8HWHkECRcT/MnMqg6pPGffQkIB7of5ahdQoFssWNzOe HzomtReS8/T5u0kEOfhSAvIOwmOYL/yv8uKnFmNNKhGgzXIPCR6C6XIowZlvDZNooWZd Qswg==
X-Gm-Message-State: AC+VfDxg+GzAcUc9qXGbMaCBUlz8QvWq7xoRdZNb2m0wju2e79uje+YH KWGwoypP91TDny6w2GTT4tXhIhful9OD4p8JRts=
X-Google-Smtp-Source: ACHHUZ4lfvffIHoujUiHJo9fgxJ3LVS74A3Fblf4wFlOYMqCqZ8KSRjrQMUP/r4tlpm//7jahP7xZw==
X-Received: by 2002:a5d:4485:0:b0:30a:e97c:5944 with SMTP id j5-20020a5d4485000000b0030ae97c5944mr3762513wrq.35.1686143243091; Wed, 07 Jun 2023 06:07:23 -0700 (PDT)
Received: from ?IPV6:2a04:b901::d7e8:aeee:2355:f492? ([2a04:b901::d7e8:aeee:2355:f492]) by smtp.gmail.com with ESMTPSA id x14-20020adfec0e000000b003062d815fa6sm15569484wrn.85.2023.06.07.06.07.22 for <dns-privacy@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 07 Jun 2023 06:07:22 -0700 (PDT)
Message-ID: <ebb72f42-10d4-8de5-ebbf-df4f2354f282@nlnetlabs.nl>
Date: Wed, 07 Jun 2023 15:07:21 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.2
Content-Language: en-US
To: dns-privacy@ietf.org
References: <64e17d73-ea1a-00cb-a8a5-b5cfb39c37ae@innovationslab.net> <45ada5a8-b483-dae7-eb56-88411fb2f75c@innovationslab.net> <7a3cd83a-b80d-f00d-b050-0a1d4845146b@innovationslab.net> <D7C916AC-E47D-45FE-9976-188DAE0775EF@icann.org> <CADyWQ+HMj5NH1g_oCTNxYkGDmp2L3EwmMyOv2-bXeXvp5kvm0A@mail.gmail.com> <6B55CCC0-069F-43DD-B9DA-024E4334D6F4@icann.org> <63d47d73-af8a-310e-2349-e1fcf4d2cf28@nlnetlabs.nl>
From: "George (Yorgos) Thessalonikefs" <george@nlnetlabs.nl>
In-Reply-To: <63d47d73-af8a-310e-2349-e1fcf4d2cf28@nlnetlabs.nl>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dns-privacy/5AgcLnMQdKvcFEgSjSFQv22y-2I>
Subject: Re: [dns-privacy] [Ext] WGLC : draft-ietf-dprive-unilateral-probing
X-BeenThere: dns-privacy@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Addition of privacy to the DNS protocol <dns-privacy.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dns-privacy/>
List-Post: <mailto:dns-privacy@ietf.org>
List-Help: <mailto:dns-privacy-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dns-privacy>, <mailto:dns-privacy-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 07 Jun 2023 13:07:30 -0000

Hi Paul,

On second read, it is better if I address the whole section.
The more correct version of the changes is the following:

Text in "4.6.2. Receiving a Response over Do53" could change

FROM
------------------------------------------------------------------
If Q is not in Do53-queries[X]:
   Process it no further (do not respond to a cleartext response to a
   query that is not outstanding)
Otherwise:
   Remove Q from Do53-queries[X]
If R is successful:
   If Q is in Do53-queries[X]:
     R is further processed by the resolver
   For each supported encrypted transport E:
     If Q is in E-queries[X]:
       Proceed to the steps in Section 4.6.9
But if R is unsuccessful (e.g. timeout or connection closed):
   if Q is not in any of *-queries[X]:
     Return SERVFAIL to the client
------------------------------------------------------------------

TO
------------------------------------------------------------------
If Q is not in Do53-queries[X]:
   Discard R and process it no further (do not respond to a cleartext
   response to a query that is not outstanding)
Otherwise:
   Remove Q from Do53-queries[X]
If Q is already processed:
   Discard R and process it no further
If R is successful:
   If Q is in Do53-queries[X]:
     R is further processed by the resolver
   For each supported encrypted transport E:
     If Q is in E-queries[X]:
       Mark Q as already processed
But if R is unsuccessful (e.g. timeout or connection closed):
   if Q is not in any of *-queries[X]:
     Return SERVFAIL to the client
------------------------------------------------------------------

Text in  "4.6.9. Receiving a Response over Encrypted Transport" could
change

FROM
------------------------------------------------------------------
If Q is not in E-queries[X]:
   Discard R and process it no further (do not respond to an encrypted
   response to a query that is not outstanding)
Otherwise:
   Remove Q from E-queries[X]
   Set E-last-activity[X] to T5
   Set E-last-response[X] to T5
If R is successful:
   R is further processed by the resolver
   For each supported encrypted transport N other than E:
     If Q is in N-queries[X]:
       Remove Q from N-queries[X]
   If Q is in Do53-queries[X]:
     Remove Q from Do53-queries[X]
But if R is unsuccessful (e.g. timeout or connection closed):
   If Q is not in Do53-queries[X] or in any of *-queries[X]:
     Return SERVFAIL to the requesting client
------------------------------------------------------------------

TO
------------------------------------------------------------------
If Q is not in E-queries[X]:
   Discard R and process it no further (do not respond to an encrypted
   response to a query that is not outstanding)
Otherwise:
   Remove Q from E-queries[X]
   Set E-last-activity[X] to T5
   Set E-last-response[X] to T5
If Q is already processed:
   Discard R and process it no further
If R is successful:
   R is further processed by the resolver
   For each supported encrypted transport N other than E:
     If Q is in N-queries[X]:
       Mark Q as already processed
   If Q is in Do53-queries[X]:
     Mark Q as already processed
But if R is unsuccessful (e.g. timeout or connection closed):
   If Q is not in Do53-queries[X] or in any of *-queries[X]:
     Return SERVFAIL to the requesting client
------------------------------------------------------------------

Best regards,
-- Yorgos

On 07/06/2023 13:52, George (Yorgos) Thessalonikefs wrote:
> Hi all,
> 
> As for the experimental/standard discussion I have a maybe naive 
> observation, but if this draft is experimental and the experiment 
> succeeds (whatever succeeds means, in my view gathering useful 
> operational experience and paving the road for DoT/DoQ on 
> authoritatives) I don't expect this to become a standard afterwards.
> 
> If the experiment succeeds and we know how to run authoritatives with 
> encryption and that the world will not end, I expect the standard 
> following this document to be about explicitly signaling support and 
> thus adhering to the security/privacy aspect of encryption.
> 
> (I see now that this is more or less what Philip also said earlier)
> 
> On 05/06/2023 21:31, Paul Hoffman wrote:
>  > We have turned in -07, which covers Yorgos' issues (thanks!) and the 
> int-dir review (thanks!). We believe it is ready to move to IETF Review.
>  >
>  > --Paul Hoffman
> 
> Paul,
> 
> Thanks for addressing this but I do believe this is not quite right yet.
> It may even be more confusing now since when a Do53 answer is received, 
> the resolver proceeds to act as if an encrypted answer was also received.
> 
> Maybe a better approach are the following changes:
> 
> Text in "4.6.2. Receiving a Response over Do53" could change
> 
> FROM
> ------------------------------------------------------------------
> If R is successful:
>    If Q is in Do53-queries[X]:
>      R is further processed by the resolver
>    For each supported encrypted transport E:
>      If Q is in E-queries[X]:
>        Proceed to the steps in Section 4.6.9
> ------------------------------------------------------------------
> 
> TO
> ------------------------------------------------------------------
> If R is successful and Q is not already processed:
>    If Q is in Do53-queries[X]:
>      R is further processed by the resolver
>    For each supported encrypted transport E:
>      If Q is in E-queries[X]:
>        Mark Q as already processed
> ------------------------------------------------------------------
> 
> Text in  "4.6.9. Receiving a Response over Encrypted Transport" could
> change
> 
> FROM
> ------------------------------------------------------------------
> If Q is not in E-queries[X]:
>    Discard R and process it no further (do not respond to an encrypted
>    response to a query that is not outstanding)
> Otherwise:
>    Remove Q from E-queries[X]
>    Set E-last-activity[X] to T5
>    Set E-last-response[X] to T5
> If R is successful:
>    R is further processed by the resolver
>    For each supported encrypted transport N other than E:
>      If Q is in N-queries[X]:
>        Remove Q from N-queries[X]
>    If Q is in Do53-queries[X]:
>      Remove Q from Do53-queries[X]
> ------------------------------------------------------------------
> 
> TO
> ------------------------------------------------------------------
> If Q is not in E-queries[X]:
>    Discard R and process it no further (do not respond to an encrypted
>    response to a query that is not outstanding)
> Otherwise:
>    Remove Q from E-queries[X]
>    Set E-last-activity[X] to T5
>    Set E-last-response[X] to T5
> If R is successful and Q is not already processed:
>    R is further processed by the resolver
>    For each supported encrypted transport N other than E:
>      If Q is in N-queries[X]:
>        Mark Q as already processed
>    If Q is in Do53-queries[X]:
>      Mark Q as already processed
> ------------------------------------------------------------------
> 
> These changes add an extra step of marking the waiting query as already 
> processed by another transport reply, so the resolver can do the 
> necessary bookkeeping for the current transport (if any) and ignore the 
> "late" reply from the current transport.
> 
> Best regards,
> -- Yorgos
> 
> _______________________________________________
> dns-privacy mailing list
> dns-privacy@ietf.org
> https://www.ietf.org/mailman/listinfo/dns-privacy