证书颁发机构如何工作

信息安全 证书颁发机构 不对称
2021-09-02 13:55:46

我正在学习证书颁发机构的工作方式并有一个问题。

据我了解,证书颁发机构可以保证客户端获得真正的公钥:
假设我是服务器,你是我的客户端,为了确保我们可以安全通信,我们使用了一些非对称加密 --- 我认为私钥,我将公钥发送给你。现在的问题是我们如何确保你得到我的公钥,而不是别人的。

在这种情况下,证书颁发机构可以帮助我们:CA 用自己的私钥加密我的公钥并将其发送给您,您使用 CA 的公钥解密并获取我的公钥。

如果我是对的,我的问题是:
我们如何保证我们收到了 CA 的真正公钥?换句话说,如果我将我的公钥发送给你的东西是不安全的,为什么 CA 将它的公钥发送给你是安全的?

3个回答

CA 不会向客户端发送任何公钥。

CA 使用其私钥对服务器的公钥进行签名,然后将该签名提供给服务器。当客户端连接到服务器时,服务器会将其公钥和签名发送给客户端。

客户已经拥有他们信任的所有 CA 的公钥。这些被称为根证书。客户端使用这些公钥来验证与他们通信的任何服务器的公钥上的签名是否有效。

现在的问题是“CA 的公钥如何到达客户端”?一些 Web 浏览器带有自己的一组根证书,而另一些则使用操作系统的证书存储。大多数用户盲目地相信他们的浏览器/操作系统的供应商,他们策划的 CA 列表是值得信赖的。因此,下载和更新您的 Web 浏览器或操作系统是 CA 基础架构的关键过程。一个可以操纵您的互联网流量或控制您从中接收更新的文件服务器的强大对手可能会将他们自己的 CA 根证书走私到这些安装程序/更新中。但是,如果他们能够向您提供后门更新,那么他们可以做更糟糕的事情。

像 Web 浏览器这样的客户端已经包含了几十个预先信任的 CA 证书。因此,接收由 CA 签名的证书的客户端会查看其本地存储以确认签名有效。

证书颁发机构是被其他组织和实体视为信任的组织。您是否信任证书颁发机构基本上取决于您。您也可以自己成为证书颁发机构。有足够的免费软件可以用来创建 ca 并颁发证书。

与 ca 开展业务的公司越多,它的整体信任度就越高。这并不意味着你必须相信它。

有些人信任免费和开源的东西,因为它可以被人们审查,而另一些人则只信任那些花钱的东西,因为如果它变得不受信任,现金流就会停止。

由你决定你信任谁,谁不信任。人们疯狂到质疑像微软这样价值数十亿美元的公司的可信赖性,却安装了一个完全不知名的本地供应商的软件,甚至不质疑它的可信赖性。