Before going on I would really like to know what operational problem is being attempted to be solved by signing delegating information?
Fujiwara-san has presented the draft without specifying what problem it is attempting to solve. The fact the records are not signed is a observation not a problem per say. Mark > On 11 Dec 2020, at 10:48, Brian Dickson <brian.peter.dick...@gmail.com> wrote: > > > > On Thu, Dec 10, 2020 at 1:19 PM Peter van Dijk <peter.van.d...@powerdns.com> > wrote: > Hello Paul, > > On Mon, 2020-11-30 at 15:43 +0000, Paul Hoffman wrote: > > The more I think about draft-fujiwara-dnsop-delegation-information-signer, > > the more I think that it is much more complex than what we are doing now in > > DNSSEC, and therefore undesirable. > > My feelings are similar but not identical - the conversation already > shows that the glue story will be almost impossible to implement. Next > to that, I haven't figured out why we'd want to authenticate glue. > However, authenticating the delegation NSset fills an obvious gap in > various suggested answers to the dprive phase2 question (privacy > between resolvers and authoritatives). > > > If the goal is "a way for a signer in a parent to sign child NS in a way > > that does not affect validators that have not been updated (or don't > > care)", a significantly easier solution would be a new RRtype (maybe called > > "CNSRRSIG") that closely mimics RRSIG but only allows child NS for signing. > > An aware signer included the CNSRRSIG in the zone, and an aware > > authoritative server includes in in the Authority section when serving > > child NS records. An aware resolver can use this, an unware resolver would > > treat it like any other unknown RRtype that appears in the Authority > > section. > > > I think this is close to the mark, but still slightly off. > My take on this is roughly as follows: > • The goal here (as I understand it, or perhaps how I interpret it) is > to have NS data, corresponding to the child apex NS set, published on the > parent zone and signed by the parent (and used by upgraded resolvers without > breaking anything not upgraded). > • This involves at minimum the following elements, presented in a kind > of "reverse Polish" order: > • An RRSIG (or RRSIG-like thing) in the parent zone over > something new (TBD1) > • A way of publishing that "something new" to the parent (TBD2) > • A way of authenticating/validating that "something new" in > the process of publishing to the parent (TBD3) > • A way of linking the published "authenticating/validating" > data with data signed in the child zone, when being used/validated by the > resolver (or client) (TBD4) > • For "TBD1" If we keep the existing RRSIG signatures themselves, the > only question is when to include the "something new" in the delegation > response, along with the matching RRSIG. > • This suggests no need for a new RRSIG-like record type per se. > • Existing 403x/5155 logic handles adding RRSIGs to answers > • For "TBD2", the concern over what "something new" could be, and how > it gets published to the parent. > • Options to consider for "something new" itself are: > • A new RRTYPE with owner name of "apex" > • An existing RRTYPE with owner name of "apex", with > new parameters > • An existing RRTYPE with different owner name > • (For completeness, A new RRTYPE with different owner > name) > • Options to consider for "how it gets published" are basically: > • EPP > • This suggests the fewer "new" things involved, the > better. Zero new things would be ideal. > • This itself leads to preference for "An existing RRTYPE with > owner name of 'apex', with new parameters", specifically: > • Published RRTYPE == DS > • DS value is hash of DNSKEY with new parameters, > specifically a new algorithm > • The new algorithm is "concatenation of child apex NS > RRSET in canonical form and order" (i.e. that is what the DNSKEY 'public key' > field would be comprised of) > • NB: The existing specifications handle this -- new > (unknown) algorithms MUST be treated as if the record didn't exist. > • Some implementations may need to be fixed, > based on some experiments thus far. > • I think TBD3 and TBD4 are flip sides of the same coin. > • RRTYPE == DNSKEY or DS (depending on TLD) transferred via EPP > to the parent > • If RRTYPE transferred is DNSKEY, perform hash to produce DS. > • TBD3 is probably optional as it related to EPP > • TBD4 is the resolver/client validation, in two parts: > • Construct DNSKEY from input data (NS RRSET) > • Hash to create DS > • Compare to published DS > • Check RRSIG over DS > • The use case of getting the glue (and validating it) without actually > sending queries to the auth server itself prior to validating the glue, is a > classic "catch 22". The owner name of the NS set in the child zone, is > "privacy sensitive", at least in most use cases. However: > • Keeping the apex and delegation NS set in sync, and the > DNSKEY and DS in sync, can address this problem: > • Use CDS/CDNSKEY to publish DS/DNSKEY records that > match the current AND updated NS RRSET, prior to changing the NS RRSET > • Use the delegation NS RRSET rather than the child > apex NS RRSET for the validation (ie for recreation of DNSKEY and DS records) > • This would add extra steps when changing NS, but > would still be deterministic and possible to build into a state machine, with > an extra moving part (or two) > • It would then be feasible to get validated glue prior > to querying the authority server (e.g. for its TLSA record) and/or to > establish a TLS connection to the correct IP and name. > The TL;DR: of this is: no EPP changes needed, no new RRTYPEs needed, slightly > more steps in rolling the NS set during a change. > > This makes a ton of sense to me. > > Compared to DiS, registrar complexity is identical (because the > complexity is also hidden in the signer here); signer complexity is > potentially lower. The only real complexity change vs. DiS is in the > auths, that now need to know to serve CNSRRSIG from the parent side in > the additional part of a delegation response. For resolvers, this vs. > DiS is again pretty much moot. > > The CNSRRSIG would also require delegation auths (i.e. TLDs) to make changes, > and I think also require EPP changes. > See above for a very slightly different take on this idea, that avoids these > issues. > (EPP and TLDs are definitely the "long pole in the tent".) > > > > There are probably a few other diffs from the RRSIG definition in RFC 403x, > > but they should be minor. This might make implementation more likely to be > > correct for signers, servers, and resolvers. > > Yes, this calls for some experiments, but I suspect the outcome will be > as you described above - which means no hurdles to incremental rollout. > > (I am not even convinced this needs to be a new type, vs. reusing RRSIG > under the specific semantics you described, but a new type feels > cleaner to me.) > > > Thoughts? > > +1 ! > > +1 for me too. > > Brian > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: ma...@isc.org _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop