在Perspectives Project中可以找到关于 Convergence 的详细信息,尤其是相应的Usenix 文章。
能够向所有公证人“隐藏”服务器的攻击者(即,主要是在服务器的本地网络上工作的攻击者)就是作者所说的L服务器模型。最终,该攻击与使用“网络视角”的默认公证人“有效”。也就是说,公证人会将攻击者的证书视为“服务器的新证书”,这是有效的。然而,一旦攻击者停止主动攻击,旧证书就会再次可见,这会在公证人中引发警告标志:证书更新肯定是有效的,旧证书的重新出现暗示工作中的恶意行为。
然而,没有什么能阻止公证人使用其他验证策略,包括基于 CA 的验证,它有自己的问题,但抵制 MitM。
该系统有两个主要思想:
将验证委托给外部服务器(公证人),使用多个具有共识法定人数的服务器来避免单点信任。这种委托已经存在于 X.509 寓言的上下文中,名称为SCVP(但 Convergence 协议相当简单)。
让公证人利用他们的记忆来提高安全性。普通的 SCVP 服务器会依赖上下文无关的验证(真正的 X.509 方式),可能会有一些短时间缓存,但只是为了节省 CPU 成本,而 Convergence 公证人主要依赖于时间稳定性:他们假设 SSL 服务器对于给定的服务器,证书通常在一年或几年内保持不变;因此他们可以简单地检查 SSL 服务器证书是否仍然与以前相同。X.509 和 SCVP 可以处理服务器每 5 分钟获取一个新证书,这很棒,但在实践中完全没用。
Convergence 推理的一个基石是,如果攻击者能够成功击败公证人执行的检查,那么他也将能够在与传统 CA 对话时冒充服务器,从而也可以击败传统 CA 模型。因此,在安全方面,Convergence 并不比目前的情况更糟。请注意,X.509 可以做得更好;特别是, Convergence 并不真正支持撤销,而 Convergence 并不比传统 CA 差,这主要是因为现有客户往往不会检查撤销。
所以真正的融合并不是要让 SSL 更安全,而是要在不降低整体安全性的情况下杀死现有的 CA。
潜在地,公证人可以运行它希望的任何验证过程,包括正常的 X.509 路径验证(然后避免您建议的那种中间人)。由于可以预期公证员会比客户少得多,而且这些公证员会更加“安全意识”,因此我们可以得出结论,在未来某个时间点, Convergence 将真正提高 Web 安全性。然而,广泛使用 Convergence 的最直接后果将是权力的转变:Game Master 将不再是 Microsoft(决定哪个 CA 进入 Internet Explorer 默认识别的列表),而是运行公证员的人客户端默认使用的最佳网络连接(可能是 Google)。