证书颁发机构在向实体E颁发证书之前,在证书中包含E的名称和E的公钥,应该验证所讨论的公钥确实属于E。对于 SSL 服务器证书:
- E的名字是一个主机名,比如
www.google.com
,可能带有一个“通配符”( *.google.com
)。这是SSL 客户端验证的内容;这都是关于名称,而不是 IP 地址。
- CA 作为证书请求接收公钥。
因此,此处有效的“身份”概念实际上是域所有权问题。CA 希望确保它收到来自控制域的人的请求。有几种方法可以做到这一点;最常用的两个如下:
- CA 通过电子邮件向WHOIS数据库中为域指定的电子邮件地址发送质询。
- CA 向请求者提出要包含在域中的一些信息,例如要包含在 DNS 中的随机主机名。
这些检查不是非常强大(它们依赖于“不可能”分别侵入电子邮件或 DNS,都没有得到很好的保护),因此最近有一种更强大的验证方式,称为扩展验证证书。对于 EV 证书,CA 应该做更多的文书工作以确保它与正确的实体对话。回顾过去,非 EV 证书被称为“DV”(作为“域验证”)。
EV 证书的最终效果是 Web 浏览器可以识别它们,并可能以更奢华的显示方式向人类用户展示这一事实,并带有大量绿色。但非 EV 证书在技术上也同样有效。仅当您的用户接受过培训以识别 EV 证书并且对 EV 证书比使用“普通”证书(仍以著名的“挂锁”图标显示)更舒服时,EV 证书才值得付出努力。现在,我想说大多数互联网用户还远远没有意识到这种区别,所以购买 EV 证书是没有用的。
(当 EV 证书成为强制性时,即当 Web 浏览器开始拒绝或警告看似有效但未标记为“EV”的 SSL 服务器证书时,它们将变得有用。这是一个相当艰难的过渡,我认为它不会发生在不久的将来。)
要让坏人获得看似有效的证书,其中包含您的服务器名称(发动真正成功的模拟攻击的先决条件),他必须执行以下操作之一:
愚弄 CA。对于 EV 证书,欺骗 CA 更难(这就是重点)。但是,即使您获得了 EV 证书,也无法阻止攻击者以您的名义从易受骗的 CA 获得非 EV 证书。仅当您的客户接受过培训,当他们看到带有您的站点名称的看似有效但非 EV 证书时,他们会暂停并变得怀疑,EV 证书将保护您免受草率的 CA 的侵害。这在现在看来几乎不现实。
窃取你的私钥。如果攻击者窃取了您的私钥,那么他可以将它与您的证书(是公开的)一起使用来安装他的假服务器。EV 或非 EV 在这里无关紧要;重要的是你应该很好地保护你的私钥。如果您的服务器被入侵,请通知 CA 以便它可以撤销您的证书,并为您颁发另一个证书(使用新密钥)。
当显示无效证书时,欺骗人类用户忽略来自浏览器的非常红色和可怕的警告。除非通过教育您的用户,否则您无法真正防御这一点。随着时间的推移,Web 浏览器显示的警告往往会增加恐惧(和发红)。
欺骗人类用户使用完全有效的证书和看起来像预期服务器名称的名称连接到攻击者拥有的域。例如www.gogle.com
或www.google.business.com
代替www.google.com
(虚构的例子)。再说一次,只有用户教育才能真正解决这个问题。
大多数网络钓鱼攻击都基于最后两种方法之一,因此这意味着您不必过度担心 DV/EV 的二分法。安全方面真正重要的一点是用户教育。