Re: [sidr] I-D Action: draft-ietf-sidr-rfc6485bis-02.txt

Sandra Murphy <sandy@tislabs.com> Fri, 03 July 2015 10:39 UTC

Return-Path: <sandy@tislabs.com>
X-Original-To: sidr@ietfa.amsl.com
Delivered-To: sidr@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E57FD1B2CCF for <sidr@ietfa.amsl.com>; Fri, 3 Jul 2015 03:39:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.911
X-Spam-Level:
X-Spam-Status: No, score=-1.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id m7EmmZUehDWc for <sidr@ietfa.amsl.com>; Fri, 3 Jul 2015 03:39:07 -0700 (PDT)
Received: from walnut.tislabs.com (walnut.tislabs.com [192.94.214.200]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4BD9C1B2CC9 for <sidr@ietf.org>; Fri, 3 Jul 2015 03:39:07 -0700 (PDT)
Received: from nova.tislabs.com (unknown [10.66.1.77]) by walnut.tislabs.com (Postfix) with ESMTP id 6865028B0041; Fri, 3 Jul 2015 06:39:06 -0400 (EDT)
Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by nova.tislabs.com (Postfix) with ESMTP id C69EC1F8035; Fri, 3 Jul 2015 06:39:05 -0400 (EDT)
Content-Type: multipart/signed; boundary="Apple-Mail=_E075AF0F-C647-4EF8-AA87-9601B7B0B0DE"; protocol="application/pgp-signature"; micalg="pgp-sha512"
Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
From: Sandra Murphy <sandy@tislabs.com>
In-Reply-To: <555E5E4A.5080303@bbn.com>
Date: Fri, 03 Jul 2015 06:39:05 -0400
Message-Id: <FEE30510-E4B2-43A1-9CE9-0EC9EE1E4333@tislabs.com>
References: <20150515192215.5707.56279.idtracker@ietfa.amsl.com> <555CE890.1090802@bbn.com> <462B3352-DAA9-476C-AA33-C517C515B7F0@tislabs.com> <555E5E4A.5080303@bbn.com>
To: Richard Hansen <rhansen@bbn.com>
X-Mailer: Apple Mail (2.1510)
Archived-At: <http://mailarchive.ietf.org/arch/msg/sidr/wjhx2RLKstif5qSqQacca59Cw2w>
Cc: sidr@ietf.org, Sandra Murphy <sandy@tislabs.com>
Subject: Re: [sidr] I-D Action: draft-ietf-sidr-rfc6485bis-02.txt
X-BeenThere: sidr@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Secure Interdomain Routing <sidr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sidr>, <mailto:sidr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sidr/>
List-Post: <mailto:sidr@ietf.org>
List-Help: <mailto:sidr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sidr>, <mailto:sidr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Jul 2015 10:39:11 -0000

Speaking as regular ol' member
On May 21, 2015, at 6:38 PM, Richard Hansen <rhansen@bbn.com> wrote:

> On 2015-05-21 17:08, Sandra Murphy wrote:
>> On May 20, 2015, at 4:03 PM, Richard Hansen <rhansen@bbn.com> wrote:
>>> * section 8 is incorrect -- sha256WithRSAEncryption does not
>>>   violate the CMS RFCs (implementations just choose to use
>>>   rsaEncryption instead, which has the same meaning in this
>>>   context)
>> 
> [...]
>> 
>> Perhaps you are concerned mostly about the terms being used?  But the
>> rfc6485bis document does not say "violate" and I believe that what it
>> says agrees with the message above.  If you don't think so, you
>> should say why.
> 
> This draft's Section 8 says:
> 
>   [...]                                    A closer reading of
>   [RFC4055] and [RFC5754] has identified that the CMS SignerInfo field
>   must support use of the rsaEncryption OID for full conformance with
>   the CMS specifications, and the normative references in [RFC6485]
>   inherited this requirement.
> 
> The phrase "the CMS SignerInfo field must support use of the
> rsaEncryption OID" doesn't make much sense to me -- how can an OID field
> not support an OID?  I'm not 100% sure what is meant here, but the next
> paragraph provides a hint:
> 
>   [...]                                          By conforming to the
>   CMS specifications as per [RFC4055] and [RFC5754], RPKI CMS objects
>   are less likely to be rejected as non-conformant with the CMS
>   standards.
> 
> To me, this sentence and the one above are claiming that the CMS RFCs
> say that the SignerInfo signatureAlgorithm field MUST contain
> rsaEncryption, and that we are non-conformant (violating the spec) by
> using sha256WithRSAEncryption.  Neither is true.

You and I disagree here.

To be clear: our disagreement is whether the description of the motivation for the change to RFC6485 is ambiguous or not.

Personally, I do not consider that an important matter.  The description of the motivation does not change the specification, it does not change implementation, and it does not confuse implementors about implementation.

To recap:
RFC6485 chose to mandate an algorithm id.
That choice is compliant with the CMS RFCs.
The CMS RFCs make a choice of a mandatory to implement algorithm ID.
RFC6485's choice is not the CMS mandatory to implement choice.
Unfortunately, common CMS implementations chose to support only the CMS mandatory to implement algorithm ID.
So common CMS implementations can not be compliant with RFC6485.
By aligning our choice of mandatory algorithm ID with the mandatory algorithm in the CMS RFCs, we make it possible for common CMS implementations to be compliant with RFC6485.
By aligning our choice of mandatory algorithm ID with the mandatory algorithm in the CMS RFCs, we eliminate the problem that a compliant RPKI signed object would be rejected by the common CMS implementations.

wrt:

> 
>   [...]                                          By conforming to the
>   CMS specifications as per [RFC4055] and [RFC5754], RPKI CMS objects
>   are less likely to be rejected as non-conformant with the CMS
>   standards.


Perhaps you are reading too much into the use of "conforming to"?  Perhaps saying "aligning with" would make it more clear to you?

I do not know what current CMS implementations would do if they were presented with a RFC6485 compliant RPKI signed object.  They may indeed report the signed object is "non-conformant with the CMS standards".   So I can not say that "rejected as non-conformant with the CMS standards" is incorrect.  Error message aside, it is clear that any RFC6485 compliant RPKI signed object (if we could find one) would be rejected by existing implementations.  There might be ways to improve that "rejected as non-conformant" phrase of the text, but I don't think it is necessarily wrong.

> From a CMS RFC conformance perspective it's perfectly OK
> for RFC6485 to require RPKI CMS object producers to use
> sha256WithRSAEncryption, but third party crypto libs didn't make it easy
> for implementations to conform. 

My reading of the previous discussions is that it is worse than "didn't make it easy" -  the crypto libs made it *impossible* for implementations to be compliant with RFC6485 - they did not implement support for the algorithm RF6485 mandated.

> 
>> It is found in 3370, which 5754 (one of the references) updates and
>> normatively references.
> 
> I don't think that is sufficient in this case.  There are multiple RFCs
> that this document directly and indirectly references that define an
> algorithm identifier named rsaEncryption.  I believe they all have the
> same OID value, but some of them give slightly different semantics.

Really?  I think that would be a very bad thing!  But not our problem, I think.

> Thus, I think it's important to make it clear which definition of
> rsaEncryption is intended.
> 
> For example, RFC3370 (for CMS) says that rsaEncryption is either a key
> type identifier or a signature algorithm identifier, while RFC3279 (for
> PKIX) says that it's only a key type identifier and thus not suitable
> for identifying signature algorithms in a PKIX context (you must use
> xxxWithRSAEncryption instead to specify the digest).

I think your "and thus not suitable" is a bit of a stretch.  And it would appear that the existing implementations we are talking about did not make this same interpretation - we are in this mess because they use rsaEncryption as a signature algorithm identifier.

Again, speaking as a regular ol' member.

--Sandy