OpenPGP certificate verification for TLS connections [Was: Re: [Help-gnutls] Re: Semantics of `gnutls_openpgp_key_check_hostname ()']
rks at mur.at
Sat Apr 14 01:10:54 CEST 2007
I have followed this thread and I would like to add a different
perspective. What is wrong with X509 certificates? I will try to put my
view in nutshell:
X509 certificates mix up two concepts: who is the owner of this key, but
also: what is he allowed to do? To handle these tasks for all use cases,
people have developed lots of complicated rules, then vendor-specific
extensions. The result is a mess, to put it mildly.
From a design point of view, I think it would be a good decision to
keep user identity and user privilege management separated. OpenPGP can
be used for the first task, but the second task is probably very domain
One example: a secure messaging service could have millions of users. A
gnupg keyring of this size may be a bit problematic, but a database
should handle this easily. To validate a client connection in this
scenario, we would need to:
- check for a trusted signature (including expiry and revocation), we
can keep this as simple as checking for one trusted key if we want.
- now that we know the ID is authentic, we can look it up in the
database and decide what the client is allowed to do.
As for he content of ids, I agree with Daniel: using URIs seems the
logical choice to me, at least for servers.
Rupert Kittinger-Sereinig <rks at mur.at>
More information about the Gnutls-help