Re: [sidr] WGLC for draft-ietf-sidr-algorithm-agility-03

Danny McPherson <> Mon, 31 October 2011 00:59 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id A67F721F84A6 for <>; Sun, 30 Oct 2011 17:59:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -102.561
X-Spam-Status: No, score=-102.561 tagged_above=-999 required=5 tests=[AWL=0.038, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id x86rLvwIEWib for <>; Sun, 30 Oct 2011 17:59:41 -0700 (PDT)
Received: from ( [IPv6:2001:470:7:36e::2]) by (Postfix) with ESMTP id AE2F221F849D for <>; Sun, 30 Oct 2011 17:59:41 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 5BA771900B8; Mon, 31 Oct 2011 00:59:38 +0000 (UTC)
Received: from dul1dmcphers-m2.home ( []) (Authenticated sender: danny@OPS-NETMAN.NET) by (Postfix) with ESMTPSA id 8589D320283; Mon, 31 Oct 2011 00:59:37 +0000 (UTC)
Mime-Version: 1.0 (Apple Message framework v1084)
Content-Type: text/plain; charset="us-ascii"
From: Danny McPherson <>
In-Reply-To: <>
Date: Sun, 30 Oct 2011 20:59:37 -0400
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <>
To: Sandra Murphy <>, Steve Kent <>
X-Mailer: Apple Mail (2.1084)
Cc: sidr wg list <>
Subject: Re: [sidr] WGLC for draft-ietf-sidr-algorithm-agility-03
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Secure Interdomain Routing <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 31 Oct 2011 00:59:42 -0000

On Oct 20, 2011, at 10:50 AM, Sandra Murphy wrote:

> The authors have requested a WG LC for draft "Algorithm Agility Procedure for RPKI."
> The document and the draft version history are available at
> The last call will end Thu, 3 Nov 2011 (AOE).


In S 4.6  (Phase 3) you state that all signed product sets are available
using both algorithms and all RPs MUST be able to validate using either 
suite.  Further, you state that an object that validates using either 
Algorithm Suite A or Algorithm Suite B MUST be considered valid, 
but in the subsequent sentence it is "RECOMMENDED" that RPs utilize
only Suite B for validation [throughout Phase 3].  

Is the recommendation you're making that if product sets are available 
via both Algorithm Suite A and Algorithm Suite B then the Suite A product
sets SHOULD NOT be validated by RPs in order to minimize processing 
overhead and the probability of cryptographic vulnerabilities resulting
in downgrade attacks? 

Or SHOULD NOT be validated by RPs unless Algorithm Suite B validation 
failure occurs, then fallback to the Algorithm Suite A product set  
should be considered?  Or something else?  S.6 guidelines provide "As 
a general rule, the validation of signed objects using different 
algorithm suites are independent and the RP MUST NOT keep any 
relationship between the different hierarchies", which seems to be 
in conflict with the recommendation above unless some implementation 
optimization or minimization of vulnerability to downgrade attacks 
is being contemplated?

Whatever the recommended behavior, how would it also change in Phase 4
(Twilight), where a RP MAY continue to validate signed product sets
using Suite C (old)?  If there's a failure in validation of the 
current algorithm then should it use the "old" objects?  You seem to 
suggest in S.6 that this is fine, but not in S.4.7?

I think some more explicit guidelines about what to do and what not 
to do would be useful in both Phase 3 and Phase 4 behavior that aligns
with S.6 and clarifies the above issues would be of benefit.

Also, in S.6 it's not clear to me what you mean by "instance of a 
product" and "instances of such products", did you mean "signed 
product sets" or something else?  If the former, which I think you 
did, then it would be really useful if this "MUST contain the same
resources" was provided much earlier in the document. 

"A failure to validate one instance of a product, under either 
 algorithm Suite MUST NOT cause the RP to reject the other instance 
 of the product. Because both instances of such products MUST contain 
 the same resources, relying on either instance will yield the same

Whereas in Phase 4 both may not even exist, correct?  

And given the above, if they "MUST contain the same resource", yet 
S.7 says revocations are handled independently (even though during 
phase 2 and phase 3 the "two certificate hierarchies are designed to 
carry identical information" -- what does this mean?), how do you \
accomplish all of this in practice?

Perhaps it should be that if two hierarchies exist they should be 
identical - however, this diverges from the guidance that algorithm
suites must be independent and the RPs MUST NOT keep any relationship
between the different hierarchies.  This applies to "fallback" 
implementation behaviors as well, I guess...

Also, general guidance that as long as "old" or Algorithm Suite C 
data is considered in parallel to or IF "current" algorithm fails, 
the cryptographic vulnerabilities that triggered the rollover in the 
first place may well result in downgrade attacks.

Minor nits:

S 3 Terminology 

s/conventions use din examples/conventions used in examples/

Two occurrences of this ("CA Y" & "CA Z"):

s/used in examples this document/used in examples in this document/

S 4.2 Process Overview

s/prohibit a CA issuing/prohibit a CA from issuing/

S 4.7 Phase 4

s/figure describe a possible/figure describes a possible/

S 5

s/implementing a different resource classes/implementing different resource classes/

S 11

s/set will not longer be valid/set will no longer be valid/