为什么 Web 服务器的公钥证书必须由证书颁发机构签名?

为什么 Web 服务器的公钥证书必须由证书颁发机构签名?

换句话说,如果证书颁发机构不签署公钥证书,那么安全风险是什么(从用户角度来看)?我的意思是,数据仍然是加密的……中间人能用未签名的证书做什么?

答案1

SSL 与 HTTP 一起使用时的目的不仅仅是加密流量,还要验证网站的所有者是谁,以及是否有人愿意投入时间和金钱来证明其域名的真实性和所有权。

这就像购买一种关系,而不仅仅是加密,这种关系会灌输或假定一定程度的信任。

话虽如此,我问了类似的问题几个月前,得到的答复基本是“SSL 有点像骗局”

答案2

想象一下,您要将 1,000,000 美元交给一个名叫约翰·史密斯 (John Smith) 的人,而您从未见过或与之交流过。有人告诉您可以在一个拥挤的公共场所与他见面。当您去见他时,您需要某种方式来确保他确实是您要找的人,而不是其他自称是约翰·史密斯的随机人士。您可能会要求出示政府身份证或名片。您可能会请一位您信任的、实际上见过约翰·史密斯的人帮忙识别他。

自签名证书可以唯一地标识一个系统,但它无法证明系统就是它所声称的系统。我可以轻松地自签名证书并声称自己是 serverfault.com、google.com 或 yourbank.com。证书颁发机构基本上充当受客户信任的第三方,以验证证书是否确实对网站声称拥有的名称有效。

答案3

SSL 业务确实有点像骗局。事实上,当您为一些加密数据支付每字节约 20 便士时,骗局就更严重了。您支付的费用是使用哪个 CA 用他们的一个私钥签署您的证书,前提是他们向自己证明您确实有权使用该证书的域名/主机名。正如 Farseeker 所说,这是一种信任关系 - CA 信任您(在他们审查您之后),世界上的 Web 浏览器信任 CA(通常),因此世界上的 Web 浏览器将信任您的证书。而且不要让我开始谈论扩展验证...

相关内容