我最近正在考虑获得一个验证码签名 key ,并对它们的昂贵程度感到震惊。这让我想到——大多数类型的签名 key ,无论是 Authenticode、SSL 等——都非常昂贵。
是否有技术原因使维护 CA 和生成 key 变得昂贵,或者这是否归结为简单的垄断经济学?
最佳答案
CA 必须在安全性(理论上)方面进行大量投资,并且还完全依赖于消费者的信任,这意味着他们的商业模式(理论上)具有非常高的风险。他们必须进行严格的审计(理论上)并迅速有效地(理论上)处理安全事件。他们需要开发完美无瑕的面向消费者的软件(理论上),提供高可用性服务(理论上)并确保他们充分审查他们提供给的每个人(理论上)。他们还需要删减所有最新的 PKI 研究(理论上)。此外,如果证书的隐含信任以任何方式失败,许多信托发行人还提供一定程度的保险服务。
因此,从理论上讲,它可能昂贵的原因有很多。与运行 CA 相关的成本很高。实际上,由于这些做法是随意遵循的,并且整个 SSL/TLS PKI 模型已完全面向企业垄断,您会发现利润是如此可观,以至于实际上是印钞的许可证。人们被迫为根本不符合这些保证的证书支付大笔费用。
大型 CA 可以侥幸逃脱,因为他们设计了一种政治局势,在这种情况下,他们是不可或缺的,并且不会因为“太大而不能倒闭”而被追究责任。就 SSL 而言,浏览器依赖于信任 CA,因为如此多的 Web 服务器及其最终用户(即浏览器的用户)使用他们的服务。删除 CA(无论多么合法)都会让很多用户感到不安,他们不明白为什么他们的安全站点(例如银行、商店等)的一定比例不再受信任。从这个意义上说,SSL/TLS PKI 模型无法发挥作用。用户对这些服务不信任,因此将发布信任的责任转移给将信任传递给 CA 的浏览器,但是浏览器无法撤销这种信任,因为他们将受到用户的惩罚——因此 CA 可以做他们想做的事喜欢。
在代码签名的情况下,这通常只是公司将现有的垄断变成进一步的利润。在某些情况下,这些有很高的利润。其他的,如微软,相对较低,反射(reflect)了聘请专家进行彻底审计以及运行监督代码签名的其余部门(例如网站、支持等)的巨大成本。由于确保代码签名按预期工作的好处对 Microsoft 来说很高,因此他们不在乎通过提供证书的行为获利。成本反射(reflect)了他们正在进行彻底、有意义的审计并做出反射(reflect)其业务的真实信任 promise 的事实。
关于code-signing - 为什么签名 key 如此昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7983171/