Subject: Standardisation of User ID usage for Server Purposes

From: Duane <[email-masked]>
Date: Fri, 25 Jul 2008 22:17:26 +1000

While I'm happy to see that TLS usage was extended to include OpenPGP
usage, and I mean no disrespect at all, but the author did not include
any details on the structure or formatting of the User ID for server
purposes other than to include the hostname in a single User ID.

This no better than X.509 in some respects as it didn't mention anything
about allowing for multiple hostnames, how wild card hostnames should be
treated or how miscellaneous information could be presented or used.

I think it's crucial that if people want to adopt or use OpenPGP in
place of X.509 that all these things must be addressed and standardised.

Please forgive my presumptions on this topic a little, I have had a lot
more exposure to X.509 in the past and even running a public CA so I
have a little bit of experience when it comes to the kind of things
people want included in certificates, or at least what they've come to
expect already.

To give you a little bit of background where I'm coming from
specifically here, I am already trying to submit a draft through the
DNSEXT working group to incorporate encryption of DNS servers, not just
authentication and originally I had written up a single draft that
covered both the topic of DNS encryption and using OpenPGP keys for servers.

I have since split this draft into two separate drafts and would love
nothing more then to get some comments, suggestions, feedbacks, anything
on my proposal, or even if I could get it adopted by this working group.

Since splitting my draft it's too rough to be presentable just yet in a
normal internet draft form, however that shouldn't take more than a few
days, until then the rough outline is viewable here:

http://open-pgp.info/wiki/index.php?title=Standardisation_of_Information_in_OpenPGP_User_IDs_for_Server_Purposes

-- 

Best regards,
 Duane

---

From: David Shaw <[email-masked]>
Date: Fri, 25 Jul 2008 10:41:29 -0400

> place of X.509 that all these things must be addressed and standardised.

Allow me to suggest that overloading the user ID field in such a
drastic manner may not be the best way to go here.  If you make it too
machine parsable, then it's not very human readable, and vice versa.
The user ID field has been a RFC-(2)822 for more or less forever, and
a key (even a key intended for special non-common purposes) that
doesn't have such a user ID will cause confusion.

Instead, however, I recommend you define a new User Attribute type.
This is a user ID alternative that is part of the OpenPGP spec but is
not restricted to text, or indeed, any particular format.  Up til now
the only defined user attribute has been "image" (used to attach a
picture to a key), but if you define a "TLS" or "server" type, you can
have exactly the semantics you desire without interfering with the
regular user ID.

David

---

From: Duane <[email-masked]>
Date: Sat, 26 Jul 2008 01:14:02 +1000

> doesn't have such a user ID will cause confusion.

If used for server purposes I doubt it will cause confusion, and such
keys should not be used for email.

> have exactly the semantics you desire without interfering with the

Is there any problem with defining several types, ie town/city,
state/province, country etc?

Of course there would be a definite need for a 'DNS' or hostname type.

This would of course be more computer friendly, and there should be no
reason for any user id at all to be on these keys.

-- 

Best regards,
 Duane

---

From: David Shaw <[email-masked]>
Date: Fri, 25 Jul 2008 11:55:57 -0400

> keys should not be used for email.

OpenPGP is not an email-only protocol.  Inevitably, such a key would
leak from the "server" realm to the "everything else" realm.

> state/province, country etc?

No.  You can define anything you like, in any form you like.
Basically, think of it as being given a chunk of bytes attached to an
OpenPGP key.  You can put anything you want in there, in any format
you want, to be parsed however you want.  You completely own the
format.  OpenPGP then guarantees that your bytes cannot be tampered
with, using the same protection that it uses for regular user ID
strings.

David

---

From: Duane <[email-masked]>
Date: Sat, 26 Jul 2008 09:41:10 +1000

> leak from the "server" realm to the "everything else" realm.

X.509 prevented this by usage extensions in the certificates stating
what it should and shouldn't be allowed to do, and also preventing it
from being used for some purposes.

However I most certainly am not suggesting or implying in any way shape
or form that things go down that path with OpenPGP.

Protecting people from themselves has been detrimental and possibly
limited innovation and thinking on the topic because everyone seems to
think the same way when it comes to implementing X.509.

> with, using the same protection that it uses for regular user ID

This is why I posted to this list, because I didn't know if I was doing
things in the best way or not, and I appreciate pointing out things I
didn't consider.

I'll re-write the draft, if someone hasn't already, to incorporate these
new ideas.

-- 

Best regards,
 Duane

---

From: Duane <[email-masked]>
Date: Sat, 26 Jul 2008 14:25:31 +1000

> with, using the same protection that it uses for regular user ID

I'm stuck at this point. If I specify to use multiple types I'm not sure
how to easily group the additional information to particular hostnames
or wildcards.

Would anyone have any suggestions at this point in time?

-- 

Best regards,
 Duane

---

From: David Shaw <[email-masked]>
Date: Sat, 26 Jul 2008 10:05:03 -0400

> Would anyone have any suggestions at this point in time?

I'm not suggesting you define multiple OpenPGP user attribute  
packets.  Just one.  Inside that single blob of bytes, you can break  
it up however you want.  Heck, you can define it as text and use the  
exact same format you were discussing before if you like.

David

---

From: "Arturo 'Buanzo' Busleiman" <[email-masked]>
Date: Sat, 26 Jul 2008 12:57:24 -0300

David Shaw wrote:
| I'm not suggesting you define multiple OpenPGP user attribute packets.
| Just one.  Inside that single blob of bytes, you can break it up however
| you want.  Heck, you can define it as text and use the exact same format
| you were discussing before if you like.

I'd like to see some server-usage related options in an openpgp key. It'd be very useful for
Enigform / mod_openpgp. ( http://maotest.buanzo.org and http://wiki.buanzo.org for more details).

- --
Arturo "Buanzo" Busleiman
Independent Linux and Security Consultant - SANS - OISSG - OWASP
http://www.buanzo.com.ar/pro/eng.html
Mailing List Archives at http://archiver.mailfighter.net

---

From: Duane <[email-masked]>
Date: Sun, 27 Jul 2008 08:38:47 +1000

Arturo 'Buanzo' Busleiman wrote:

> I'd like to see some server-usage related options in an openpgp key.

So would I, that's why I started this topic in the first place ;)

-- 

Best regards,
 Duane

---

From: Duane <[email-masked]>
Date: Sun, 27 Jul 2008 08:42:00 +1000

David Shaw wrote:

> I'm not suggesting you define multiple OpenPGP user attribute packets. 
> Just one.  Inside that single blob of bytes, you can break it up however
> you want.  Heck, you can define it as text and use the exact same format
> you were discussing before if you like.

In hindsight it doesn't seem like the best way to do it, I guess I have
just answered my question over night, the additional information can be
grouped by the key they are attached to, and if some other organisation
has other hostnames that should be a separate key, and OpenPGP key dumps
can contain multiple keys so that really solves that unless I've
overlooked something fundamental?

-- 

Best regards,
 Duane

---

From: "Arturo 'Buanzo' Busleiman" <[email-masked]>
Date: Sat, 26 Jul 2008 21:37:01 -0300

Duane wrote:
| So would I, that's why I started this topic in the first place ;)

Yeah, sure, I mean, I'm ++1 on your idea :) - Anyway, I really look forward to a nice draft on the
idea! :)

- --