Subject: Re: [dns-privacy] Working Group Last Call for draft-ietf-dprive-bcp-op

From: Shivan Sahib <[email-masked]>
Date: Thu, 5 Sep 2019 22:31:44 -0700

This is a bit late, and I'd sent some comments to Sara off-list (and I
wanted to actually contribute some text but haven't yet gotten the time
:(), but figured would send a quick note on-list as well.
In general I support the publication of this draft, though I echo Stephen's
comment about it needing a sample DPPPS? DROP? document. Minor comment: In
Section 5.2.1, pseudonymization and access control is mentioned, but might
be worth adding some text combining the two. I believe it's a fairly common
technique in practice, to comply with GDPR et al, where an employee has to
follow a process (either legal review or have a customer case or something)
in order to obtain access to unencrypted logs. Ryan Guest's talk at PEARG
at IETF 104 on log anonymization might be a good resource for additional
techniques (though I think most of them are covered in Appendix B):
https://datatracker.ietf.org/meeting/104/materials/slides-104-pearg-ryan-log-data-privacy-00

On Fri, Aug 16, 2019 at 4:50 AM Tim Wicinski <[email-masked]> wrote:

>
> This starts a Working Group Last Call for draft-ietf-dprive-bcp-op
>
> Current versions of the draft is available here:
> https://datatracker.ietf..org/doc/draft-ietf-dprive-bcp-op/
> <https://datatracker.ietf.org/doc/draft-ietf-dprive-bcp-op/>
>
>
> The Current Intended Status of this document is: Best Current Practices
>
> Please review the draft and offer relevant comments.
> If this does not seem appropriate please speak out.
> If someone feels the document is *not* ready for publication, please speak
> out with your reasons.
>
> This starts a two week Working Group Last Call process, and ends on: 30
> August 2019
>
> thanks
> tim
>
> _______________________________________________
> dns-privacy mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/dns-privacy
>

---

From: Stephen Farrell <[email-masked]>
Date: Thu, 19 Sep 2019 13:33:28 +0100

Hi Sara,

Sorry for being slow responding...

I think the only bits below where I'm still concerned
are the ones relating to (so-called:-) "consent." I'd
be happy to continue discussing that but even happier
if we didn't depend on the (IMO dodgy) concept. Other
than that, I guess another rev should resolve all the
issues I raised.

On 23/08/2019 17:54, Sara Dickinson wrote:
> 
> 
>> On 16 Aug 2019, at 15:42, Stephen Farrell
>> <[email-masked]> wrote:
>> 
>> Hiya,
>> 
>> I had an hour so gave this a read. I like the draft but think it's
>> not ready quite yet. Depending on the answer to my question at #1
>> below, that could all be fixed before or just after the end of the
>> WGLC though but it might take a bit longer as there's more than a 
>> teeny bit of work needed I'd say.
>> 
>> Substantive comments and nits below.
> 
> Hi Stephen,
> 
> Thanks so much for the detailed review!
> 
>> 
>> Cheers, S.
>> 
>> 
>> #1: I wonder would we be better to wait until some real operators
>> have published DPPPS documents before making this an RFC? I'd
>> expect that there'll be some changes when/if that happens (I'm
>> assuming it's not yet happened but didn't check.) If some such
>> operator has said they'd do that, but want to wait 'till there's an
>> RFC, then that's a good enough reason to go ahead now. If we just 
>> don't know, then going ahead and recording this in an RFC is
>> probably ok, but risks this not being followed much or at all.
> 
> I admit we have a chicken and egg problem. Cloudflare, Google, Quad9
> and several other operators have all published ‘privacy statements’
> but in very differing formats (see 
> https://dnsprivacy.org/wiki/display/DP/Comparison+of+policy+and+privacy+statements,
>
> 
https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Public+Resolvers and
> https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Test+Servers).
> 
> I don’t really see any motivation for them to update these until
> there is an RFC to follow and also I fully expect to bis this
> document in the foreseeable future as the landscape evolves. The
> consensus at IETF105 seemed to be to get on and publish this in
> preference to waiting some unknown time for operator movement.

Fair enough.

>> 
>> #2: I think a sample DPPPS document should at least exist and be
>> referenced from this or included as an appendix. Is there one
>> somewhere? If not, then I think we really ought fix that before
>> publication.
> 
> I like that idea. I think an example in the Appendix could work well
> and could even be based on one of the existing policies :-)

That'd be great.

>> #3: Perhaps we should ask the pearg and httpbis folks if there's
>> any more/better guidance to add to 5.1.3.2? IIRC a pearg
>> presentation at IETF105 seems to have indicated that some h2
>> session management stuff might also assist with traffic analysis.
>> Checking that out before publication would seem worthwhile in case
>> there's more to usefully say here.
> 
> I’ve mentioned this off-list to a couple fo PEARG folks, but I think
> sending mail to those groups makes sense too.

I see you did that and got no response. Well, you
checked at least!

>> 
>> #4: 5.1.4: the lowercase "must" for DNSSEC validation is odd. I'd
>> like a "MUST" but perhaps that's not feasible now?
> 
> There was a discussion early in the life of the document about how
> prescriptive it could/should be because it was a BCP and the approach
> taken after that was not to use normative language throughout the
> document and instead just to use the 3 categories defined at the end
> of section 5 with a SHOULD there:
> 
> “This document does not specify policy only best practice, however
> for DNS Privacy services to be considered compliant with these best 
> practice guidelines they SHOULD implement (where appropriate) all:
> 
> o  Threat mitigations to be minimally compliant
> 
> o  Optimizations to be moderately compliant
> 
> o  Additional options to be maximally compliant"
> 
> DNSSEC is classed as a Threat Mitigation so it falls into the top
> category. If folks want to revisit this general approach then now is
> the time :-)

Ack.

> 
>> 
>> #5: given that 1% of zones are signed, and that DNSSEC answers are
>> big, do we think padding is sufficient to prevent an observer from
>> knowing when a qname is in the 1%? If so, great! (But really?;-) If
>> not, is that a problem worth mentioning? And is there anything one
>> could do about it?
> 
> It is a good question, but I’m not sure this document should do
> anything other than recommend following the guidelines in RFC8467?
> Also, I think that only applies if the client is directly requesting
> the DNSSEC records from the resolver so it can do validation itself
> (which virtually none do today…..), otherwise the resolver just sends
> the same answer with the AD set appropriately for both signed and
> unsigned responses.
> 
> FYI: My understanding is that an update to RFC8467 is highly likely
> given the recent research on website fingerprinting presented in
> PEARG at IETF 105: 
> https://datatracker.ietf.org/meeting/105/materials/slides-105-pearg-encrypted-dns-privacy-a-traffic-analysis-perspective
>

Fair point that addressing this elsewhere may be better.

>> 
>> #6: I don't think mention of "consent" is a good thing to
>> positively recommend operators do as there is (afaik) no good way
>> to really do that. The idea that whatever is behind a DNS stub
>> client can meaningfully "consent" to something is really just
>> broken IMO.  (Mentioning that one cannot assume consent is fine,
>> but saying to go get it, when that makes no sense, isn't fine IMO.)
>> Same applies to 6.1.1 item 7.
> 
> For the subset of operators with ‘contracts' with users e.g. ISPs it
> seems entirely possible to obtain consent? For others, I agree - it
> is untested.

I guess I maintain my position though - a BCP that says
to "somehow" arrange for some ill-defined (and oft abused)
"consent" isn't a good plan.

>> #7: 6.1.1, item 3: "sold or rented" - heh - good luck with that;-)
>> Why not just say doing that's a "MUST NOT"? What operator adhering
>> to this BCP would really be selling or renting the data? I would
>> hope none, and that the BCP calls that out as non-conforming.
> 
> So Section 5.3.3 is actually the part that describes what operators
> need to do for compliance and that does say “should not provide
> identifiable data to third-parties  without explicit consent from
> clients"

"Consent" again? How many times is that honoured vs. abused
by (web) service providers? I think far more the latter
than the former. I'm against extending such pretense to the
DNS.

> 
> Section 6.1.1 is just stating what a DPPPS should contain, regardless
> of the level of compliance of the operator. I see a DPPPS as serving
> to let client know how an operator might deviate from complying from
> the BCP so shouldn’t necessarily be limited to only those that do
> comply?

I don't understand that sorry. T

> 
>> 
>> #8: 6.1.1, item 6: That all looks too heavy to actually be done by
>> any of the bigger folks who use anycast - are we really expecting
>> them to list all the local laws that might apply?  What use would
>> that be to someone selecting an operator really? While some
>> information about jurisdictions ought be part of this, I think
>> that needs more thought.
> 
> Item 6.1.2?
> 
> I didn’t read the section that way so it probably needs some
> clarification. I understood points 1 and 2 to apply to just the legal
> entity of the operator (e.g. Google would specify US) and point 3 is
> just a list of the counties the anycast servers are located in. Would
> be interested to hear other views on this.

Same here. I've no idea if anycast DNS operators consider
the unicast instances only need to adhere to the law where
the operator entity is established or not. IANAL, but
that'd seem odd. If unicast instances need to follow the
local law where the instance is running, then this section
could end up as 100 useless pages.

>> nits:

Your responses on the nits are all fine. I'll be happy to
check the diffs when you e.g. fix the URLs etc.

The naming bikeshed discussion didn't happen I guess, so
take that suggestion or leave it as you see best.

Cheers,
S.

>> 
>> - abstract: Is "DNS operators" right? Maybe this is really just
>> "DNS recursive resolver operators" and doesn't include advice for
>> authoritative server operators? Probably better to have the
>> abstract correct.
> 
> Section 2 makes the scope clear ‘'However this document is limited in
> scope to best practice considerations for the provision of DNS
> privacy services by servers (recursive resolvers) to clients (stub
> resolvers or forwarders).”
> 
> but it wouldn’t hurt to tidy up the abstract :-)
> 
>> 
>> - DPPPS: that's not a great term, hard to say and hard to remember
>> how many P's - I'd suggest a bit of creative bacronyming might be
>> worthwhile - I'll start the bikeshed painting with "DNS Recursive
>> Operator Privacy statement" or "DROP statement":-)
> 
> It is a total mouthful but the idea was to roughly follow but not
> collide with RFC6841 which describes a DP (DNSSEC Policies) and a DPS
> (DNSSEC Practice Statement). I’m liking DROP, but let the
> bikeshedding begin :-)
> 
>> 
>> - I don't understand the bullet list just before section 5.1, nor
>> the preceding paragraph - what's it trying to say?
> 
> It goes back again to the discussion about how prescriptive the
> document should be. The very first drafts had those 3 categories of
> actions as MUST/SHOULD/MAY options for operators in each section but
> there was push back against it so the current text is an attempt to
> convey more of a ’traffic light’ system of compliance.
> 
>> 
>> - 5.1.2: X.509 probably needs a reference to rfc5280, but where do
>> I go to find a definition of an "SPKI pinset"? Later you point to
>> rfc7858 for that but I don't find the term "pinset" used in there -
>> "pin set" (with a space) is used in appendix A there, so maybe
>> that's the reference you want.
> 
> Yup - it should be ‘pin set’ and this should also reference RFC8310
> for authentication methods based on pin sets.
> 
>> 
>> - 5.1.2: (sadly) maybe it'd be better to remove the mention of the
>> DNSSEC chain extension draft. I suspect it'd just confuse readers
>> of an RFC later.
> 
> Ack. I lived in hope of its resurrection but since it hasn’t happened
> I’ll yank that text.
> 
>> 
>> - 5.1.2: Is anyone publishing TLSA for DoT/DoH servers? If so,
>> great! If not, "can also consider" mightn't be worth saying.
> 
> Only a few of the individual test servers at the moment, none of the
> big players to my knowledge. That is why is is only an
> optimisation...
> 
>> 
>> - 5.1.3.1: the link at [1] seems broken? I didn't check all others,
>> but someone should:-)
> 
> Will fix.
> 
>> 
>> - 5.1.3.1: Maybe say using RFC8467 or a successor specification?
>> It's pretty early days to be very confident in that RFC. (Much
>> though I like it.)
> 
> Will do.
> 
>> 
>> - 5.1.7: Is "Operator" in the section heading here really the
>> operator of the DNS privacy service? Better to be clear about that.
>> People might think you mean n/w operators between the stub and
>> recursive.
> 
> Right, this section is designed to inform the DNS privacy service
> operator (I’ll update the heading)
> 
>> 
>> - 5.2.3: The content of [10] really needs to be in the document
>> body, or else the text above it needs to change.
> 
> Ack - will see what SVG magic can be done or will convert to ASCII
> art...
> 
>> 
>> - 5.3.1: The "NOTE" that the authors may add something later needs
>> fixing.
> 
> Indeed - I’ll follow up with Roland as I believe he was aware of work
> on this.
> 
>> 
>> - 5.3.2: The "pitfalls" link reference is broken I think.
> 
> Yup - will fix…..
> 
>> 
>> - 6.1.1, item 2: add "and for how long and how those logs are
>> handled" (and maybe more) - this bullet also overlaps with item 3,
>> so maybe it'd be better to re-organise this list a bit?
> 
> Fair point. I think merging 2 into 3 would be best?
> 
>> 
>> - section 8: A "TODO" there isn't gonna work really:-)
> 
> I thought I had zapped them all but missed that one…. thanks. I’m not
> sure we have much more to say beyond what is in RFC7766 so I think
> the intention had been to just remove that unless anyone wants to
> suggest text?
> 
> FYI - I am out of the office next week so will follow up on any
> further discussion as soon as I am back!
> 
> Best regards
> 
> Sara.
> 
> 
> _______________________________________________ dns-privacy mailing
> list [email-masked]