Re: [lamps] rfc7030-est clarifications and LAMPS charter

Russ Housley <housley@vigilsec.com> Sun, 28 July 2019 16:49 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B553F120181 for <spasm@ietfa.amsl.com>; Sun, 28 Jul 2019 09:49:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 7MGHpVFjXobC for <spasm@ietfa.amsl.com>; Sun, 28 Jul 2019 09:49:43 -0700 (PDT)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AFF81200A4 for <spasm@ietf.org>; Sun, 28 Jul 2019 09:49:43 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 491B4300AFB for <spasm@ietf.org>; Sun, 28 Jul 2019 12:30:25 -0400 (EDT)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ARQfVkIsw538 for <spasm@ietf.org>; Sun, 28 Jul 2019 12:30:23 -0400 (EDT)
Received: from [172.20.3.215] (unknown [50.235.191.99]) by mail.smeinc.net (Postfix) with ESMTPSA id 49DDE3005DB; Sun, 28 Jul 2019 12:30:23 -0400 (EDT)
Content-Type: text/plain; charset="us-ascii"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Russ Housley <housley@vigilsec.com>
In-Reply-To: <9CE09410-5F6B-407F-B239-888E3136F24A@vigilsec.com>
Date: Sun, 28 Jul 2019 12:49:40 -0400
Cc: LAMPS WG <spasm@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <547B521B-A93B-4E33-96A9-8B2DEE216748@vigilsec.com>
References: <21504.1564174053@dooku.sandelman.ca> <9CE09410-5F6B-407F-B239-888E3136F24A@vigilsec.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/htiKP6pp0tCwaV4APKq8BrsPxFw>
Subject: Re: [lamps] rfc7030-est clarifications and LAMPS charter
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 28 Jul 2019 16:49:49 -0000

Thinking about this some more, I think that the best way to resolve this errata is to provide an appendix with an ASN.1 module.  Here is my suggestion:

~~~

  -- There is no ASN.1 Module in RFC 7030.  This module has been created
  -- by combining the lines that are contained in the document body.
  -- A module identifier needs to be assigned for this to be used.

  PKIXEST-2019
      { iso(1) identified-organization(3) dod(6)
        internet(1) security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-est-2019(TBD) }

  DEFINITIONS IMPLICIT TAGS ::=
  BEGIN

  -- EXPORTS ALL --

  IMPORTS

  Attribute
  FROM CryptographicMessageSyntax-2009
     { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
       smime(16) modules(0) id-mod-cms-2004-02(41) }

  ATTRIBUTE
  FROM PKIX-CommonTypes-2009
     { iso(1) identified-organization(3) dod(6) internet(1) security(5)
       mechanisms(5) pkix(7) id-mod(0) id-mod-pkixCommon-02(57) } ;


  -- CSR Attributes

  CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID

  AttrOrOID ::= CHOICE {
    oid        OBJECT IDENTIFIER,
    attribute  Attribute {{AttrSet}} }

  AttrSet ATTRIBUTE ::= { AttributesDefinedInRFC7030, ... }


  -- Asymmetric Decrypt Key Identifier Attribute

  AttributesDefinedInRFC7030 ATTRIBUTE ::= { aa-asymmDecryptKeyID, ... }

  aa-asymmDecryptKeyID ATTRIBUTE ::=
     { TYPE AsymmetricDecryptKeyIdentifier
       IDENTIFIED BY id-aa-asymmDecryptKeyID }

  id-aa-asymmDecryptKeyID OBJECT IDENTIFIER ::= { iso(1) member-body(2)
     us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) aa(2) 54 }

  AsymmetricDecryptKeyIdentifier ::= OCTET STRING

  END


~~~

A module identifier is needed.  I do not know if IANA has ever assigned an object identifier for an errata, but this seems like a much better way to fix this issue.

In addition, I made an assumption that the authors intended to use IMPLICIT TAGS.  That is the most common.  Having this is the specification will improve clarity and increase interoperability.

Russ


> On Jul 27, 2019, at 7:51 AM, Russ Housley <housley@vigilsec.com> wrote:
> 
> The definition of ATTRIBUTE and Attribute  should be IMPORTed, not included here.
> 
> That leads to:
> 
>  AttrOrOID ::= CHOICE {
>    oid        OBJECT IDENTIFIER,
>    attribute  Attribute {{AttrSet}} }
> 
>  AttrSet ATTRIBUTE ::= { ... }
> 
> Russ
> 
>> On Jul 26, 2019, at 4:47 PM, Michael Richardson <mcr+ietf@sandelman.ca> wrote:
>> 
>> Signed PGP part
>> 
>> secdispatch said that
>> https://datatracker.ietf.org/doc/draft-richardson-lamps-rfc7030est-clarify/
>> 
>> belongs in LAMPS.  The word was that the charter did not include fixing
>> things.  The first paragragh includes:
>> 
>> "Some updates have been proposed to the X.509 certificate documents
>>  produced by the PKIX Working Group and the electronic mail security
>>  documents produced by the S/MIME Working Group.
>> 
>>  The LAMPS (Limited Additional Mechanisms for PKIX and SMIME) Working
>>  Group is chartered to make updates where there is a known constituency
>>  interested in real deployment and there is at least one sufficiently
>>  well specified approach to the update so that the working group can
>>  sensibly evaluate whether to adopt a proposal."
>> 
>> but the last paragraph says:
>> 
>>  "In addition, the LAMPS WG may investigate other updates to documents
>>  produced by the PKIX and S/MIME WGs, but the LAMPS WG shall not adopt
>>  any of these potential work items without rechartering."
>> 
>> so I guess despite the weasel room at the beginning, it has to add
>> a #. point for RFC7030.  We have also discussed doing a light CMP profile.
>> 
>> Maybe a single point could say something about updates to Certificate
>> Enrollment protocols, include EST and CMP.
>> 
>> In the meantime, I need help evaluating the comments in
>> https://www.rfc-editor.org/errata/eid4384
>> 
>> I simply don't have the ASN.1-fu to understand &Type.
>> 
>> }Section 4.5.2 says:
>> }CsrAttrs ::= SEQUENCE SIZE (0..MAX) OF AttrOrOID
>> }
>> }AttrOrOID ::= CHOICE (oid OBJECT IDENTIFIER, attribute Attribute }
>> }
>> }Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
>> }     type   ATTRIBUTE.&id({IOSet}),
>> }     values SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) }
>> ]It should say:
>> }
>> }AttrOrOID ::= CHOICE {
>> }      oid OBJECT IDENTIFIER,
>> }      attribute Attribute{YouNeedToDefineOrReferenceAnObjectSet}
>> }}
>> 
>> I presumed that while the ATTRIBUTE.&Type({IOSet}{@type}) was pretty much
>> not understandable to me, that it was legitimate.  I didn't know exactly
>> what the series of SET/SEQ it represented, but I just tweaked a bit
>> and matched against the examples shown.  I wound up with:
>> Attribute = [ rfc822Name-OID, { [rfc822Name-value] } ]
>> 
>> []-seq
>> {}-set
>> 
>> --
>> ]               Never tell me the odds!                 | ipv6 mesh networks [
>> ]   Michael Richardson, Sandelman Software Works        | network architect  [
>> ]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [
>> 
>> 
>> 
>> 
>> 
>> --
>> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>> -= IPv6 IoT consulting =-
>> 
>> 
>> 
>> 
>> 
>