证书根本与安全无关!证书是关于真实性的!
证书中的密钥是为了安全!证书是一种向此密钥添加一些元数据的方法。
您可以在自签名或 CA 证书中拥有相同的公钥。加密的安全性将完全相同。只是有了自签名证书,您就是任何人,而有了 CA 证书,您至少是“根据 CA 的说法,xyz.domain 的所有者”。
想想一个人站在你的前门。这个人告诉你一些信息。证书可以是此人向您显示的任何 ID,因为 ID 是有关此人的元数据。
当然,任何人都可以走到你家门口,给你看一些用蜡笔手绘的纸,上面写着他们是一名警察。但是,如果这个人告诉你,你会离开你的房子吗?可能是,他们真的是一名警察,必须疏散你,但只有手绘蜡笔ID,你可能会怀疑这是否合法。
如果这个人站在你家门前,拿着正确的警察身份证,也许有一些全息图或他们用来制作的任何东西更难伪造,一辆警车停在他身后,里面坐着另一个穿着警服的人,你很可能相信这个人更真实的是警察!
当然,你仍然可以伪造警察身份证,穿上警服,然后将汽车涂成警车,但这比用蜡笔画身份证要多得多。说“有可能伪造警察身份证,所以我们应该接受蜡笔身份证,这样警察可以更便宜地制作身份证”不是解决方案。
自签名证书就像一个人向您展示用蜡笔绘制的 ID。每个人都可以在几秒钟内做到这一点,它真的没有任何价值。这就是浏览器不接受它们的原因。
现在到您的电子邮件问题:是什么让您相信电子邮件在任何方面都比 DNS 或 http 不安全?如果您想从 CA 接收电子邮件,您必须 MITM CA 和电子邮件服务器之间的连接,您必须更改 DNS/MITM CA 和 DNS 服务器之间的 DNS 查询。如果您可以更改/MITM DNS 服务器,您还可以创建任何 DNS 记录或更改 A 记录,从而将代码添加到 http 站点!因此,如果您可以 MITM CA 和电子邮件服务器之间的连接,而不是DNS 或 Web 服务器和 CA 之间的连接,那么电子邮件的安全性就会降低。IMO 不太可能。
对于 MITM 来说,公共 wifi 网络是微不足道的。因此,如果浏览器接受自签名证书,则可以自动记录和更改该网络中任何人访问的任何网站。有很多工具可以做到这一点。将任何流量重定向到此工具,它会自动为任何请求的域创建一个新证书,将流量转发到真实服务器并记录它。根本没有太多工作。如果您想使用 CA 证书执行此操作,则需要使用 CA 即时验证每个请求的域,并且基本上破解 CA 或其上游提供商。
在咖啡馆或相关环境的公共 wifi 中,窃听或(wo)中间人非常容易。窃听 CA 数据中心和网络托管商之间的光纤电缆是完全不同的程度。