RE: X.509 Extensions Enhancements

"David A. Cooper" <david.cooper@nist.gov> Wed, 13 June 2001 14:40 UTC

Received: from above.proper.com (above.proper.com [208.184.76.39]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA24163 for <pkix-archive@odin.ietf.org>; Wed, 13 Jun 2001 10:40:18 -0400 (EDT)
Received: from localhost (localhost [[UNIX: localhost]]) by above.proper.com (8.11.3/8.11.3) id f5DDiHs18965 for ietf-pkix-bks; Wed, 13 Jun 2001 06:44:17 -0700 (PDT)
Received: from email.nist.gov (email.nist.gov [129.6.2.7]) by above.proper.com (8.11.3/8.11.3) with ESMTP id f5DDiGJ18961 for <ietf-pkix@imc.org>; Wed, 13 Jun 2001 06:44:16 -0700 (PDT)
Received: from krdp2 (krdp2.ncsl.nist.gov [129.6.54.107]) by email.nist.gov (8.9.3/8.9.3) with ESMTP id JAA04708 for <ietf-pkix@imc.org>; Wed, 13 Jun 2001 09:44:15 -0400 (EDT)
Message-Id: <4.2.2.20010613091011.00b51650@email.nist.gov>
X-Sender: cooper@email.nist.gov
X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.2
Date: Wed, 13 Jun 2001 09:43:45 -0400
To: ietf-pkix@imc.org
From: "David A. Cooper" <david.cooper@nist.gov>
Subject: RE: X.509 Extensions Enhancements
In-Reply-To: <a05100304b74cc75f422e@[10.0.1.20]>
References: <5.1.0.14.2.20010612141554.02c05020@pobox1.bbn.com> <5.0.1.4.2.20010612120440.02009ef8@exna07.securitydynamics.com> <5.1.0.14.2.20010612141554.02c05020@pobox1.bbn.com>
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="=====================_6733668==_.ALT"
Sender: owner-ietf-pkix@mail.imc.org
Precedence: bulk
List-Archive: <http://www.imc.org/ietf-pkix/mail-archive/>
List-ID: <ietf-pkix.imc.org>
List-Unsubscribe: <mailto:ietf-pkix-request@imc.org?body=unsubscribe>
List-ID: <ietf-pkix.imc.org>

Hoyt,

I could not find anything in X.509 that specifies how to encode named bit lists. However, as Bodo Möller pointed out, X.680 treats bit strings differently when it includes a named bit list. The text that Bodo quoted is also in section 19.7 of the 1994 edition of X.680:

         When a "NamedBitList" is used in defining a bitstring type ASN.1 encoding rules
         are free to add (or remove) arbitrarily many trailing 0 bits to (or from) values that are
         being encoded or decoded. Application designers should therefore ensure that different
         semantics are not associated with such values which differ only in the number of trailing 0 bits.

So, while it seems that X.509 does not specify how to encode bit strings that use a "NamedBitList", I believe that the above text allows for only one rational distinguished encoding rule: remove all trailing 0 bits. Since this is the rule specified by X.690 for DER encoding ("Where [a "NamedBitList" is used in defining a bitstring type], the bitstring shall have all trailing 0 bits removed before it is encoded."), I believe it is appropriate for X.509 to adopt this rule. Since the PKIX certificate and CRL profile simply specifies the use of the DER encoding rules, there would be no need to make any changes in PKIX.

Carlin Covey suggests that the number of used/unused bits in a named bit list could be used to convey extra information:

         The newly added bits have three values: true, false, and omitted. Omitted indicates that
         the CA has no opinion about the value of these flags (probably because the certificate
         was issued or the CA software was written prior to these bits being defined).

But as the quotes above show, this is not only inconsistent with DER but also with any "legal" encoding rules for named bit lists.

Dave

At 12:39 AM 6/13/01 -0700, Hoyt L. Kesterson II wrote:
>>     Paragraph 11.2.2 of X.690 states that, for named bit strings (paragra[h 19.7 of X.680) all trailing zero bits must be removed before encoding.  Paragraph 11.2.1, which refers to bit strings of either kind, speaks of unused bits in the final octet being zero.  I believe the specific case for named bit strings trumps the general case.
>>
>>Charlie Gardiner
>
>
>from clause x in 509
>
>In order to enable the validation of SIGNED and SIGNATURE types in a distributed environment, a distinguished encoding is required. A distinguished encoding of a SIGNED or SIGNATURE data value shall be obtained by applying the Basic Encoding Rules defined in ITU-T Rec. X.690 (1997) | ISO/IEC 8825 :1998, with the following restrictions: In order to enable the validation of SIGNED and SIGNATURE types in a distributed environment, a distinguished encoding is required. A distinguished encoding of a SIGNED or SIGNATURE data value shall be obtained by applying the Basic Encoding Rules defined in ITU-T Rec. X.690 (1997) | ISO/IEC 8825 :1998, with the following restrictions:
>
>in the list of restrictions is
>
>In order to enable the validation of SIGNED and SIGNATURE types in a distributed environment, a distinguished encoding is required. A distinguished encoding of a SIGNED or SIGNATURE data value shall be obtained by applying the Basic Encoding Rules defined in ITU-T Rec. X.690 (1997) | ISO/IEC 8825 :1998, with the following restrictions:
>
>509 says to encode according to the rules in 509. the x.680 DER rules were written later than those in x.509. in the case of bit string, the rules are different. the rules in x.680 do not permit extensibility in a bit string. the rules in 509 do.
>
>    hoyt