Subject: Re: [pkix] Standardization effort: Public Keys in JSON

From: [email-masked]
Date: Mon, 15 Nov 2010 15:43:52 -0800 (Pacific Standard Time)

On Sun, Nov 14, 2010 at 2:52 AM, Anders Rundgren <[email-masked]> wrote:
> Apparently the research branches of Microsoft and Google have begun
> losing faith in X.509 as well as in XML for large-scale deployments on the
> web:
>
> http://self-issued.info/?p=390

In other words, they're defining a new SPKAC-like format.  How quaint.

(I'm surprised nobody has yet tried to create a JER to go along with BER, DER, and XER.)

> Personally, I do not see how a format can change the basic issues that much.

If the tools and specs available to work with that format demand that you change the way you view the world in order to understand them, much less use them, it's much easier to see how the format *can*.  Just because X.509 is built on *a* security calculus doesn't mean that it's built on *the one true* security calculus, and there are useful applications of the format that are explicitly disclaimed by the X.509 specification.  And then the X.509 folk try to tell us that we're doing it wrong.

Everyone seems to think that the only thing that asymmetric cryptography is good for is "identity" -- that is, a one to one mapping of key to some named person.  I suggest that this isn't precisely the case.  It's good for mapping a key to a particular set of permissions to resources, which by convention belongs to some named person.  More importantly, it's good for not mapping a different key that belongs to the same named person to that particular set of privileges, unless the privilege manager's oversight deems that it's useful to do so.  It's much like an ATM card or employee access badge, in that they typically deactivate the old one before they activate a new one.

This suggests that an alternate way to look at it would be keys bound to permissions, not keys bound to a user and the user given some permission.  That layer of abstraction isn't necessary -- except for the business heads -- and only causes problems because things are lost in translation.

Cryptographic keys, in the hands of someone with an implementation to input them to and knowledge of the protocol to speak, are bearer instruments.  They certainly must be protected in some way or the legitimate utility is lost.  However, the system doesn't provide security unless people actually use it.  The user interfaces for key and certificate management (and key/cert management capabilities, on the whole) have fallen abysmally short of meeting the actual needs of the Web.  The insistence on The One True Name from the X.509 camp and everything being a function of that Name has stunted the application of cryptographic techniques in many areas. And the visible cryptographic standards all suck.

> As long as you only use X.509 certificates for mapping a name (in a given
> context)
> to a public key they work perfectly well.  It is when you claim having
> "global trust"
> or use certificates for holding "dossiers" you run into problems.

There exists a way to use an X.509 structure to hold a dossier, that doesn't stumble on the same points that other designs fail at.  The important thing is that the dossier is only transmitted when it's needed -- typically once -- and is only transmitted to the intended recipient such that Eve and Mallory can't get to it.  Unfortunately, it is explicitly excluded from the contemplation of X.509, and thus from PKIX.  This is a pity -- it could be used to solve many of the legal and social issues surrounding cryptography as well.

(What I describe is workable only if developers stop viewing self-signed certificates as the Devil.)

> Anders

---

From: "Miller, Timothy J." <[email-masked]>
Date: Tue, 16 Nov 2010 09:44:12 -0500

+0.5.  :)

Authentication is easy: Distribute asymmetric keys, then ask for a private key proof.

When you get right down to it, all authentication really is, is the process of drawing distinctions between things.  What that distinction *actually means in a given context* is authorization.  Authorization is much harder, in part because you have to ask questions like "How confident am I that the thing that just proved posession of a key is the same thing that enrolled that key in the first place?"

> Everyone seems to think that the only thing that asymmetric cryptography is good for is "identity"

It's also really good for key establishment.  HTH, HAND.

-- Tim

________________________________
From: [email-masked] [[email-masked]] On Behalf Of [email-masked] [[email-masked]]
Sent: Monday, November 15, 2010 5:43 PM
To: Anders Rundgren
Cc: pkix
Subject: Re: [pkix] Standardization effort: Public Keys in JSON