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