Subject: RE: Remaining open issues for RFC-2401bis

From: "Charlie Kaufman" <[email-masked]>
Date: Wed, 24 Mar 2004 11:05:20 -0800

---On Wednesday, March 24, 2004 6:53 AM, Steve Kent Wrote:
>
>>There is no text in the IKEv1 defining it to be account name. IKEv1 
>>defined it to be "an opaque byte stream which may be used to pass 
>>vendor-specific information necessary to identify which pre- shared
key 
>>should be used to authenticate Aggressive mode negotiations."
>>
>>This account name thing was added in the IKEv2, and I do not know why 
>>it was added.
>
>neither do I. I did not go back to IKEv1 to see how the ID type was
defined >there, since the focus of 2401bis is IKEv2, but your point is
well taken. >If the WG is comfortable changing the dscriptipn back to
what it was in >IKEv1, then I agree that this is an arbitrary,
potentially binary value, >and my suggestion re human readable,
character string encoding would not be >relevant.

I can answer the 'why' question, though I don't know whether this will
help in the debate.

When copying the text from IKEv1 describing this field, I was confused
and asked 'what would people do with this field really'. The answer I
got was that they would likely put an account name or some such there,
so I added that text by way of a hint to the reader. It was not my
intent to change the definition of the field.

In my opinion, leaving it an opaque octet stream is the right thing to
do. We could make the spec more clear by making it explicit that account
name is only an example. We could make the spec more precise but less
clear by going back to the IKEv1 wording. I didn't think anyone could be
confused by the current wording, but I clearly underestimated the
creativity of the audience.

We could add yet another ID Type option for UTF-8 string, but does
anyone actually have a use for it?

Currently, the spec says that implementations MUST accept ID_KEY_ID
types, but does not say what values MUST be configurable. One could
interpret that as requiring an administrative interface that allows
entry of arbitrary binary values. If so, and if people don't like that,
I would propose removing the requirement that implementations MUST
accept the type rather than trying to restrict how the field could be
used.

	--Charlie

---

From: Nicolas Williams <[email-masked]>
Date: Wed, 24 Mar 2004 14:37:45 -0600

> anyone actually have a use for it?

When the rfc822 subjectAltName is internationalized then the
corresponding ID should be also by extension (one hopes).  If the matter
is addressed by adding additional cert extensions or by adding to the
general name CHOICE (why is it not marked extensible?) then we may need
a new ID type to go with it.

Nico
--

---

From: Stephen Kent <[email-masked]>
Date: Thu, 25 Mar 2004 10:16:37 -0500

>a new ID type to go with it.

Nico,

GN is already extensible:

GeneralName ::= CHOICE {
         otherName                       [0]     OtherName,
         rfc822Name                      [1]     IA5String,
         dNSName                         [2]     IA5String,
         x400Address                     [3]     ORAddress,
         directoryName                   [4]     Name,
         ediPartyName                    [5]     EDIPartyName,
         uniformResourceIdentifier       [6]     IA5String,
         iPAddress                       [7]     OCTET STRING,
         registeredID                    [8]     OBJECT IDENTIFIER }

OtherName ::= SEQUENCE {
         type-id    OBJECT IDENTIFIER,
         value      [0] EXPLICIT ANY DEFINED BY type-id }

otherName and registeredID provide all the extensibility you could 
ever want in terms of creating additional ID types.

Steve

---

From: Nicolas Williams <[email-masked]>
Date: Fri, 26 Mar 2004 18:07:35 -0600

> GN is already extensible:

[...]

*nod*

Thanks,

Nico
--