1 Sep 2010 02:09
Re: Root certificates in server certificate chains
Matt McCutchen <matt <at> mattmccutchen.net>
2010-09-01 00:09:44 GMT
2010-09-01 00:09:44 GMT
The following is my understanding. Others should feel free to disagree or correct me. On Tue, 2010-08-31 at 22:30 +0000, 1.41421 <at> gmail.com wrote: > The standard (RFC 5246, sec. 7.4.2) says that a server certificate > chain may include, as the last entry in this chain, the root > certificate that is to be considered the ultimate trust anchor as far > the server certificate is concerned. What would prevent an attacker > from inserting a Certificate message of its own during the handshake, > containing a totally bogus root certificate? Like any other tampering with the handshake, this would cause the Finished check to fail. > Actually, doesn't this render the whole idea of authentication of the > remote useless? How can one make sure that a root certificate received > in a certificate chain is genuine? The only thing I can think of would > consist of comparing it against its matching, locally-stored root > certificate (which is assumed to have been copied by secure means, > whatever those may be.) In this light, is it correct to assume that > if a root certificate is present in the server certificate chain and > also in local, permanent storage, the latter must be used, rather than > the former? Yes, the client MUST verify the chain using a locally stored root certificate, i.e., a trust anchor. If the server sends a root certificate that is one of the client's trust anchors, that's fine. If the server sends a root certificate that is not a trust anchor of the client, the client MAY ignore it or fail the handshake.(Continue reading)
RSS Feed