[Info-vax] [OT] Zero trust software, was: Re: Rethinking DECNET ?
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Tue Sep 2 18:38:54 EDT 2014
On 2014-09-02 21:44:02 +0000, David Froble said:
> Bill Gunshannon wrote:
>
>> Remember reading about how VeriSign gave keys to the NSA? I remember
>> asking people over 10 years ago why I, or anyone, should trust their
>> certificates over self-signed ones.
>
> We're using self generated certificates at our customer sites. I don't
> know why, since I don't get along very well with certificates. Also
> don't know why not.
>
> What are the advantages, and disadvantages, of using purchased
> certificates vs the ones you can generate yourself?
The salient advantage of a purchased certificate over a self-generated
certificate chain is that you do not need a trusted path to load the
root certificate into the client devices; the root certificates are
pre-loaded by the folks that provided the operating system or the web
browser or related tools.
This trusted path might be physical possession of the device when you
manually load the certificate. An untrusted path can be a remote
network access or a certificate you've mailed out, where you're not
really sure which server you're actually loading the root certificate
from. (Yes, you could digitally sign the mail and some receivers might
verify the signature, but eventually there's a trusted certificate or
physical access somewhere...)
Whether with a commercial certificate or with a private certificate or
private root certificate authority and private signing chain, you don't
want the end-user to load and trust a rogue certificate, or trusting a
rogue root certificate.
If you've ever looked in the root certificate lists for various
packages, there can be 500 or 600 different entities from all over the
place, and your client will trust the certificates issued by any of
them, as well as the certificates issued by their partners.
In terms of what is happening with a private certificate authority
versus a commercial authority — and once that root certificate is
loaded into the client, either by the vendor or by a trusted load by
the local site — the provided security is the same. Purchased and
private certificates of the same key length provide the same security.
With a private certificate chain, you're the only source of matching
certificates, and it's cryptographically exceedingly difficult to forge
keys, and you don't have to pay for the certificates you need — well,
you pay for them based on the overhead of generating the certificates
and keeping the root certificate private key, well, private.
The folks maintaining a private chain do need to keep their signing key
private, as do the commercial providers, and you don't want either
bunch to generate untrusted certificates. If a certificate provider is
compromised for whatever reason, or if the root certificate private key
of a self-signed certificate authority is compromised, then you end up
reissuing certificates. Possibly also dealing with certificate
revocations, but these revocation checks tend to be problematic at best.
There are some interesting discussions around revocation, certificate
pinning, and verifying that the certificate matches the server you've
connected to — this irrespective of whether it's a commercial
certificate or a certificate signed by a private self-signed
certificate authority.
Note: OpenVMS does not have a list of root certificate authorities
pre-installed. Just the one HP certificate. (The Mozilla web
browsers for VMS do have certificate stores.)
Some VMS-related certificate-related reading:
<http://labs.hoffmanlabs.com/node/1853>
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list