时间:2011-11-02 15:43:36

标签: code-signing signing authenticode

我最近想要获得一个authenticode签名密钥,并对它们的价格感到震惊。这让我想到了 - 大多数类型的签名密钥,无论是Authenticode,SSL等 - 都非常昂贵。

是否存在技术上的原因使得维护CA并生成密钥变得昂贵,或者这归结为简单的垄断经济学?

1 个答案:

答案 0 :(得分:9)

CA必须在安全方面投入大量资金(理论上),并且完全依赖于消费者信任,这意味着他们的商业模式(理论上)风险很高。他们必须进行严格的审计(理论上),并迅速有效地(理论上)处理安全事故。他们需要开发完美的面向消费者的软件(理论上),提供高可用性服务(理论上)并确保他们充分审查他们提供给他们的人(理论上)。他们还需要继续删除所有最新的PKI研究(理论上)。此外,如果证书的隐含信任以任何方式失败,许多信托发行人也会提供一定级别的保险服务。

因此,从理论上讲,有很多充分理由说明它可能会很昂贵。运行CA会产生大量成本。实际上,由于这些做法是偶然遵循的,并且整个SSL / TLS PKI模型完全面向公司垄断,您会发现利润率非常低,实际上是印刷货币的许可证。人们被迫为不符合这些保障的证书支付大笔款项。

大型CA可以侥幸成功,因为他们已经设计出一种政治形势,在这种情况下,它们是不可或缺的,并且不会因为“太大而不能倒”而被追究责任。在SSL的情况下,浏览器依赖于信任CA,因为许多Web服务器及其最终用户(即浏览器的用户)使用他们的服务。删除CA(无论多么合法)会让很多用户感到不安,因为他们不理解为什么他们的安全网站的某个百分比(例如银行,商店等)不再受信任。从这个意义上说,SSL / TLS PKI模型无法运行。用户不相信这些服务,因此将信任发送给传递给CA的浏览器的责任,但是浏览器不能撤销该信任,因为他们将受到用户的惩罚 - 因此CA可以做他们的事情等。

在代码签署的情况下,这通常只是公司将其现有的垄断转变为进一步的利润。在某些情况下,这些都有很高的利润。其他人,如微软,相对较低,反映了聘请专家进行全面审计的重要成本,以及运行监督代码签名的其他部门(如网站,支持等)。由于确保代码签名按预期工作的好处对于Microsoft来说很高,因此他们不关心在提供证书的行为中获利。成本反映了他们正在进行彻底,有意义的审计并做出真实的信任承诺,以反映他们的业务。