好吧,如果您相信签署他们自己的证书的实体就是他们所说的那个人,那么它确实提供了更多的安全性。因为那是你,所以它非常简单,假设你可以确定没有其他人可以不受限制地访问该证书。
公共 CA 的证书签名是一种向或多或少完全陌生的人提供身份证明的方法,这些陌生人正试图找到“真正的”Facebook、美国银行或 eBay。在第一次连接时,甚至是第一次连接时,他们无法保证 DNS 服务器返回的 IP 地址是正确的。因此,另一端的服务器发送其证书,将 IP 地址与名称匹配,并提供证明该证书上的数据已由其他人担保的证据,而其他人又拥有由第三方担保的证书,等等,直到少数“受信任的根”,如果您要完全信任任何人,您就别无选择,只能信任。
由于您的服务器和您的客户端可以在安全的环境中“引入”,您可以坐在单个房间的单人椅子上,从服务器的证书存储导出生成的密钥文件并将其作为受信任的个人导入客户端计算机证书,每台机器,电线和拇指驱动器都坐在你面前,这种“第一次”连接实际上是离线发生的。从那时起,当您通过网络远程连接时,您可以验证服务器的身份,因为它提供的正是您的客户端机器被告知信任的证书。这种方法称为“证书固定”,它一直用于像您这样的情况,您控制的一台计算机需要证明它正在与您控制的另一台计算机通信。
一旦您回答了信任问题,使用自签名证书为两台计算机之间的机密性创建的隧道与使用 CA 签名证书创建的隧道没有什么不同。您的客户端使用预定义的密钥交换方法进行非对称加密并发送请求以建立特定类型的对称加密通道,服务器决定是否要使用该方法,如果是,则使用加密信息进行响应,允许客户端在他们的一端完成通道(或者只是一个加密的确认,如果“密钥交换方法”只是让客户端向服务器发送他们想要使用的密钥)。