IETF-SSH archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: OpenSSH certified keys



On Tue, Mar 16, 2010 at 03:42:53PM -0400, Jeffrey Hutzelman wrote:
> --On Wednesday, March 17, 2010 04:19:28 AM +1100 Damien Miller 
> <djm%mindrot.org@localhost> wrote:
> 
> >OpenSSH 5.4p1 introduced a novel, lightweight certificate format for
> >user and host keys. These were designed to reuse SSH wire-encoding and
> >signature primitives to minimise the additional attack surface exposed
> >pre-auth. In particular, we are not comfortable with the complexity
> >(syntactically or sematically) of X.509.
> 
> That's unfortunate, because it's what the rest of the world already has as 
> its infrastructure.  By not supporting it, you force people to choose 
> between supporting your odd, proprietary, unproven certificate format or 
> not getting to use certificates at all.  Guess which one anyone with more 
> than 5 machines is going to choose?
> 
> OpenSSH would be a lot more useful if it supported the same authentication 
> mechanisms as the rest of the world.

IMO the complexity of ASN.1 is overstated. But the fact of the matter is
that there aren't any decent--simple and small--ASN.1 C libraries (or Perl
or any other language for that matter).

There's one very good free compiler, asn1c: http://lionet.info/asn1c/

I've used it extensively for internal cluster messaging. asn1c supports
asynchronous I/O as the parsers it generates are restartable. But it's also
perhaps too heavy weight. A more useful ASN.1 compiler, IMO, would support
member arrays rather than only pointers, and generate much less code for
common types.

That said, OpenSSH already had time-tested building blocks; specifically the
SSH protocol and implemention. "[T]he serialised wire encoding of [the]
certificates is also used for storing them on disk." Of course ASN.1 would
be "too complex" for OpenSSH when minimal code needs to be written when
re-using the existing string parsers and other infrastructure.

ASN.1 will continue to sit on the sidelines in the FOSS world as long as
there's no appealing library and/or compiler to make it the easy choice for
people. Indeed, using ASN.1 in a new proprietary product or protocol is a
very good way to keep FOSS competition at bay.



Home | Main Index | Thread Index | Old Index