另一个新手问题,但我只是不明白 CA 签署和信任的证书的目的。我们已经有了公钥/私钥、散列函数来签名/加密消息,那么为什么我们需要证书呢?
CA 签署和信任的证书的用途
信息安全
证书
证书颁发机构
2021-08-17 14:02:07
1个回答
— 你好,我是 Facebook。相信我,现在输入您的 Facebook 密码。
好的,所以你有一个网站的公钥。该网站声明它是Facebook。你怎么知道这真的是“那个”Facebook,而不是某个 Facebook 模仿者?
当您的浏览器访问https://www.facebook.com/时,它不仅会检索公钥,还会检索公钥证书。该证书以英文呈现,大致说明(以加密验证的方式):
- 我称自己
facebook.com,这是我的网站。 - 威瑞信已证实我对这个名字有一定的权利
facebook.com。
Verisign 是一个证书颁发机构。它的作用是确定公钥确实是 Facebook 的。Facebook 通过证明他们可以访问私钥并向 Verisign 展示某种身份证明来获得此证书。
您的浏览器或操作系统预加载了一个简短的(数百个)证书颁发机构列表。它信任这些机构来验证网站的身份。您的浏览器实际上无法预装不断变化的数百万个网站列表。带外验证(无论如何,如何?)您通过 HTTPS 访问的每个网站的身份也是不可行的。
证书颁发机构是设置公钥基础设施的方法之一。每个人都知道有几个当事人(CA);你会认识其他人,因为 CA 给了他们身份证件。顺便说一句,身份证是一种非加密形式的信任网络:你相信那边的这个人真的是约翰史密斯,因为他的政府签发的护照上写着他是约翰史密斯。
CA 的主要替代方案是信任网络,每个人都认识一些其他人,并且您尝试建立一条从您自己到您认识的人到您想与之交谈的人的路径。它在网络上不能很好地工作,因为人们通常想访问他们刚刚通过谷歌发现的网站,他们不想花费大量时间和精力来验证一些莫名其妙的证书。
请注意,上面的描述代表理论。在实践中,和往常一样,事情可能会出错,尤其是 CA 搞砸了验证。但大多数时候——足够有用的时间——CA 是网站身份的信任根。
后续阅读:PKI 的证书颁发机构