为什么签名密钥如此昂贵?

20

最近我在考虑购买一个Authenticode签名密钥,但价格让我感到震惊。这让我想到,无论是Authenticode、SSL等各种类型的签名密钥,它们都非常昂贵。

这是由于维护CA和生成密钥的技术原因造成的高成本,还是简单的垄断经济学导致的呢?


我认为某人给出的负面评价有点过分。这是一个开放性问题,更多关注的是经济学而不是编程方面的具体细节。 - Andrew
@Andrew:我在问它们为什么贵,是否有技术上的原因?比如说运行CA需要大型服务器农场吗?我不是来“抨击CA”的。 - Billy ONeal
我怀疑成本更多来自人员配备和年度安全审计,但除非你找到一个了解CA业务模式的人,否则对成本如何/在哪里产生的剖析将是纯属猜测。 - Andrew
2
我稍微研究了一下,最终猜测这有点像约会网站上的价格;价格与成本关系不大,而是与“资格”有关。成本足够高以“阻挡无赖”,但对于即使是小公司来说仍然微不足道。它似乎并不是一个大赚钱的生意。例如,VeriSign拥有Thawte(最大的CA之一),但根据他们的SEC文件,他们基本上从域名注册中获得所有收入,而不是证书。 - Jerry Coffin
1个回答

23
CAs需要在理论上大量投资于安全,并完全依赖于消费者的信任,这意味着他们的商业模式有很高的风险。他们需要进行严格的审计,并及时高效地处理安全事件。他们需要开发完美的面向消费者的软件,提供高可用性服务,并确保充分审查所有的客户。此外,许多颁发机构还提供一定水平的保险服务,如果证书的隐含信任以任何方式失败。
理论上有很多好的理由可以解释为什么证书是昂贵的。运营CA存在显著的成本。然而,在现实中,由于这些做法被随意遵循,整个SSL/TLS PKI模型已经完全偏向于企业垄断,你会发现利润如此之高,几乎成了一张印钞机的许可证。人们被迫为根本不符合这些保证的证书支付大笔费用。
大型CA公司可以逃脱责任,因为他们创造了一个政治局面,在这种情况下,他们是不可或缺的,并且没有受到责任的追究,因为它们“太大而无法倒闭”。在SSL的情况下,浏览器必须信任CAs,因为许多Web服务器及其终端用户(即浏览器的用户)使用它们的服务。删除一个CA(无论其是否合法)将会扰乱许多用户,他们不会理解为什么某些安全站点(如银行、商店等)不再受信任。在这种情况下,SSL/TLS PKI模型无法正常运作。用户对这些服务没有信任,因此将信任的责任转嫁给浏览器,然后浏览器将其传递给CAs,但浏览器无法撤销该信任,因为他们将受到用户的惩罚,所以CAs可以为所欲为。

在代码签名方面,这通常只是公司将其现有垄断转化为进一步利润的做法。在某些情况下,这些利润非常高。像微软这样的公司则相对较低,反映了聘请专家进行彻底审核以及运行监视代码签名(如网站、支持等)的显着成本。由于确保代码签名按照预期工作的好处对于微软来说非常重要,他们并不在提供证书的过程中考虑赚取利润。成本反映了他们正在进行彻底、有意义的审核,并作出真正的信任承诺,这反映了他们的业务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接