Warren, Wes, et al,

TL;DR: Yes and No.

Yes: Thanks for the initiative to move this into an IANA Registry.  This is
the right idea, and what I've been advocating for the past many months.

No: I don't think the scheme is quite right.

In my view, an algorithm moves through seven phases during its lifecycle.

1. Experimental – defined and included in the IANA registry
2. Adopted – begin inclusion in validation suite
3. Available – ok to use for signing
4. Mainstream – recommended for signing
5. Phaseout  – transition to newer signing algorithm
6. Deprecated  – signing should have stopped
7. Obsolete  – ok to remove from validation suite

Each transition from one phase to another should be controlled by an expert
group that advises IANA.  (In some cases, an algorithm might be
deprecated before reaching the "Mainstream" stage.)

When I try to reconcile the above with 8624 bis-03, there are some rough
edges.  The table below represents my view of the preferred words to use in
Table 2 in 8624 bis-03

Phase    Signing           Validation        Algorithms
  1      Must Not          May
  2      Must Not          Must
  3      May               Must              (8) RSASHA256, (13)
ECDSAP256SHA256
  4      Recommended       Must              (15) ED25519
  5      Not Recommended   Must              (5) RSASHA1, (7)
RSASHA1-NSEC3-SHA1, (10) RSASHA512
  6      Must Not          Must              (12) ECC-GOST
  7      Must Not          Must Not          (1) RSAMD5, (3) DSA, (6)
DSA-NSEC3-SHA1

I'm not sure where to place algorithms (14) ECDSAP384SHA384 and (16) ED448.
They're marked as MAY/RECOMMENDED in 8624 bis-03, and I assume they're in
the early part of their life cycles, so I'm inclined to put them in phase
3, but I don't see how to distinguish their status from (8) RSASHA256, (13)
ECDSAP256SHA256.  Or perhaps these are in phase 5, which leads to the
question of how to distinguish them from the ones listed in phase 5.

Implementers and purveyors of crypto suites should treat May, Recommended
and Not Recommended as equivalent to Must.  The distinctions among these
terms are intended for usage of these algorithms, not the implementation of
the crypto suite.

Comment: In the recent Red Hat snafu, I heard a comment that it was not
possible to disable use of an algorithm for signing without also disabling
the algorithm for validation.  Hence, when Red Hat wanted to shut off use
of an algorithm for signing, it removed it from the crypto suite and thus
disabled validation.  While it's understable that a straightforward
implementation of a crypto suite might provide the same path to an
algorithm irrespective of whether it will be used for signing or
validation, it is possible provide distinct paths for these two uses and
thereby permit validation but not signing during phases 2 and 6 at the
beginning and end of the algorithm's life cycle.

Thanks,

Steve







On Tue, May 14, 2024 at 4:58 PM Warren Kumari <war...@kumari.net> wrote:

> <no-hats>
> Hello everybody,
>
> Firstly thank you for all of the discussion on these documents - we really
> appreciate the review and feedback.
>
> We’ve read all of the discussion(s) and will be updating the documents to
> address your comments, based on our understanding of the group’s consensus
> so far. While reviewing the discussion, we came to the realization that
> there are two potential paths forward for draft-hardaker-dnsop-rfc8624-bis,
> and we would like your opinion on which choice everyone feels is best.
>
> As evidenced by the discussions, implementations can’t realistically
> remove the Foo algorithm if many of their customers are still using it. So:
>
> Option 1: Pivot this document from providing implementers with guidance
> (“Implementers MUST NOT use Foo for signing”) to providing guidance to
> operators instead (“Operators MUST NOT use Foo for signing”).
>
> Or
>
> Option 2: Focus on removing algorithm usage first, by informing operators
> to stop using an algorithm to be deprecated, and then, later, specify that
> implementers may/should/must stop supporting the algorithm.
>
> We think Option 2 makes much more sense, as this provides both
> “operational guidance” and “implementation guidance.”  With such, we can
> leave implementations interoperable while slowly decreasing algorithm
> deployment until it is safe to actually remove implementation support once
> perceived usage has decreased. If we were to provide guidance to either
> implementers or operators -- but not both --  then we leave one side
> questioning their purpose in life.
>
> This means that we should actually have a column per type (i.e “Operators”
> and “Implementers”) crossed with a column per DNSSEC usage type (“Signing”
> and “Validation”), such that for the “Domain Name System Security (DNSSEC)
> Algorithm Numbers” table we would be adding FOUR columns:
>
>    -
>
>    “Use for DNSSEC Signing”
>    -
>
>    “Use for DNSSEC Validation”
>    -
>
>    “Implement for DNSSEC Signing”
>    -
>
>    “Implement for DNSSEC Validation”
>
> And four for “DNSSEC Delegation Signer (DS) Resource Record (RR) Type
> Digest Algorithms”:
>
>    -
>
>    “Use for DNSSEC Delegation”
>    -
>
>    “Use for DNSSEC Validation”
>    -
>
>    “Implement for DNSSEC Delegation”
>    -
>
>    “Implement for DNSSEC Validation”
>
>
> With these in place, drafts like the draft-hardaker-dnsop-must-not-sha1can
> be written with each recommendation to be  discussed individually.
>
> Note that we have not updated the text in the repository yet as this would
> be a fairly major overhaul, and we wanted to get the working group’s
> opinions on the subject first.
>
>
> Wes and Warren
>
>
> P.S: When reading the thread, we suddenly realized that the
> “draft-hardaker-dnsop-must-not-gost” document needed even more
> clarification that it is only talking about the “old” GOST (RFC5933), and
> not the “new” GOST (RFC 9558).
>
> The “old” GOST RFC was made historic (see “Change the status of GOST
> Signature Algorithms in DNSSEC in the IETF stream to Historic” -
> *https://datatracker.ietf.org/doc/status-change-gost-dnssec-to-historic/*
> <https://datatracker.ietf.org/doc/status-change-gost-dnssec-to-historic/>
> ). Old GOST was “deprecated by the Orders of the Federal Agency for
> Technical Regulation and Metrology of Russia (Rosstandart) in August 2012,
> and superseded by GOST 34.10-2012 and GOST 34.11-2012 respectively from 
> January
> 1, 2013), which provides a good justification. This means that we can
> remove the “The security of the ECC-GOST algorithm [RFC5933] has been
> slowly diminishing over time as various forms of attacks have weakened its
> cryptographic underpinning.”  hand-wavy justification.
>
> </no-hats>
>
> _______________________________________________
> DNSOP mailing list -- dnsop@ietf.org
> To unsubscribe send an email to dnsop-le...@ietf.org
>


-- 
Sent by a Verified
[image: Sent by a Verified sender]
<https://wallet.unumid.co/authenticate?referralCode=tcp16fM4W47y>
sender
_______________________________________________
DNSOP mailing list -- dnsop@ietf.org
To unsubscribe send an email to dnsop-le...@ietf.org

Reply via email to