据我了解,TLS/SSL 所依赖的证书方案有效,因为您的计算机信任内置的主要 CA 颁发者。
也就是说,您的操作系统安装了一些主要签名者的证书。
我对此有很多问题,但我将从最基本的开始:
这是否意味着不可能永远添加新的受信任证书颁发者?没有计算机制造商的同意就不可能启动他或她自己的根CA吗?
此外,是什么阻止了攻击者在人们的计算机中简单地安装“受信任”证书?
据我了解,TLS/SSL 所依赖的证书方案有效,因为您的计算机信任内置的主要 CA 颁发者。
也就是说,您的操作系统安装了一些主要签名者的证书。
我对此有很多问题,但我将从最基本的开始:
这是否意味着不可能永远添加新的受信任证书颁发者?没有计算机制造商的同意就不可能启动他或她自己的根CA吗?
此外,是什么阻止了攻击者在人们的计算机中简单地安装“受信任”证书?
没有计算机制造商的同意就不可能启动他或她自己的根CA吗?
每个人都可以创建自己的 CA 并将其安装在他(他)可以控制的所有计算机上。大公司拥有自己的内部 CA 并不罕见。
此外,是什么阻止了攻击者在人们的计算机中简单地安装“受信任”证书?
现有的安全措施理论上应该使攻击者不可能在其他人的机器所有者上安装额外的证书。但是,如果攻击者设法访问机器(恶意软件、物理访问、与供应商打交道……),则可以添加另一个受信任的 CA。这实际上是在实践中完成的,请参阅Superfish。
除了攻击之外,公司通常会在公司中添加新的受信任根 CA,以支持他们自己的基础设施或使防火墙中的 SSL 流量分析成为可能(SSL 拦截)。对于 SSL 分析,一些个人防病毒解决方案也安装了此类新的根证书。
这是否意味着不可能永远添加新的受信任证书颁发者?没有计算机制造商的同意就不可能启动他或她自己的根CA吗?
在制造商的合作下,可以创建一个新的 CA 并将其证书添加到受信任的列表中。这可能是计算机制造商、操作系统制造商或浏览器制造商。例如,letsencrypt.org 倡议将要求浏览器将证书添加到受信任的列表中(这将完成)。
还可以从受信任列表中删除 CA。这发生在最近。
只是为了澄清,正如其他海报提到的那样,用户总是可以制作自己的证书并信任他们。这使它们成为 CA,但这不是一个好主意,因为它违背了 CA(验证证书合法性的第三方)的目的。现在有像letsencrypt这样的项目,希望让人们可以轻松且非常便宜地访问制造商信任的域的证书。真是时代的标志!
此外,是什么阻止了攻击者在人们的计算机中简单地安装“受信任”证书?
任何具有管理员权限的用户都可以在系统上添加受信任的证书。最重要的是,对于浏览器,任何用户都可以告诉他们的浏览器始终信任证书。
这是否意味着不可能永远添加新的受信任证书颁发者?没有计算机制造商的同意就不可能启动他或她自己的根CA吗?
是什么阻止了攻击者在人们的计算机中简单地安装“受信任的”证书?
在您的系统上添加证书需要管理员权限。在 Windows 机器上,您可以通过在“运行”对话框中键入certmgr.msc来检查安装的证书。在那里,您可以看到系统上预装的所有证书。您可以在那里添加自己的自签名证书,但在这样做之前必须小心。使用自签名 SSL 有什么风险?
这是否意味着不可能永远添加新的受信任证书颁发者?没有计算机制造商的同意就不能启动自己的根CA吗?
永远添加新的受信任证书并非不可能。
可以启动自己的 CA。但唯一的问题是,未经制造商或硬件或软件制造商(通常是浏览器和软件)的同意,您不能将其安装在所有其他计算机上。
此外,是什么阻止了攻击者在人们的计算机中简单地安装“受信任”证书?
板载安全措施(如用户权限)、外部安全措施(如防病毒软件)和浏览器安全措施可确保我们的系统中不会安装不需要的证书。