检查您的用户和您的网站之间的连接的安全性是不幸的,你不能做任何事情。无论你从事什么,你最终都会做一个噱头,最坏的情况是会给用户一种虚假的安全感,可能会误导他们去检查错误的东西,并鼓励攻击者模仿你试图显示的那些信号。
任何你从网站的最终做的是潜在的东西,一个伪造者可以这样做。
想象一种情况,你确实可以点击并弹出一个窗口,显示那里的网站安全网站。这需要非常细心的用户不得不寻找真正的浏览器对话框和假弹出窗口的标志。
最终用户有责任检查是否使用了HTTPS并且使用正确。
这是一个更普遍的安全问题,实际上并不特定于计算。如果一个顾客走进一家假银行冒充合法银行的名称来存款,合法银行无法对此做任何事情。只有用户能够在进入建筑物时进行所需的验证。
从安全角度来看,您试图显示的信息不应该由您访问的网站控制演示文稿。这些验证具有由浏览器本身完成,以供它们使用,否则它们将很容易伪造。
混淆来自浏览器的内容和来自网站的内容的用户界面通常对安全性不利。 (这就是为什么full screen mechanisms必须具有浏览器特定的UI组件,不能被该网站伪造,否则它们会带来安全风险。)
您可以做的下一个最好的事情是尝试教育您的用户一般:例如show是一个快速教程,向用户解释如何在浏览器中检查证书。如果有实际的攻击,这并不会有所帮助,但它可以帮助长远。这是银行使用的策略,当他们不断告诉你“永远不要将你的PIN码或密码给任何人,我们的员工也不会要求他们”:这只是鼓励用户在有人声称有一天会成为员工试图获得这些细节。银行将无法在用户和假银行员工之间做任何事情(因为它甚至不会在那里),但至少它会试图提前教育用户。
从一个用户的角度来看,能够评估该连接的安全程度可以是一个棘手的锻炼,并不总是在用户界面的变化帮助。您提到的其他类似系统是许多CA提供的外部安全封条。不幸的是,他们也不是一个好主意......
另一方面......“提供了一种查看与页面关联的证书的方法”当然吗?你有没有试过我的例子? (例如在Firefox上)
让我们尝试一下你的例子。无需尝试page you link to上的表格,我们可以看到这样的印章,因为它位于该页面的底部。有一个标有“... Secured,powered by ...”的标志,其中link to a certificate verification service显示的信息看起来令人放心,例如“该网站可以使用SSL证书保护您的私人信息与以https开头的任何地址交换的信息在传输前使用SSL进行加密“。
这一切看起来不错。
现在,首先,我在页面上获得了纯HTTP封装,所以在页面本身当然不能证明任何内容。让我们假装所有用户都明白,只有在同一主机名上使用https://
的页面才会受到该封印的保护。
当用户的浏览器(U)连接到站点(S)时,它会得到一个证书(CS_from_U):这是用户想要验证的证书。
当用户的浏览器连接到托拉斯信息站点(T)时,该系统显示它已经能够获得的证书(CS_from_T),但浏览器未发送任何关于它所见证书的信息(CS_from_U)到T.
从U到S(使用CS_from_U),从U到T的连接以及从T到S(使用CS_from_T)的连接是三个不同的连接。
什么T告诉U关于证书实际上是关于CS_from_T,合法证书。 U和S之间可能存在一个MITM攻击,使CS_from_U成为与CS_from_T不同的证书(实际上,有些webfarms有时也使用不同的证书,而无需攻击)。
当然,非法的CS_from_U证书仍然必须由用户浏览器信任的东西发布,但这可能会发生在手动例外,公司MITM代理或另一个犯了错误的CA上。
实际上,这种印章验证并不能证明用户看到的证书太多。它主要证明合法服务器确实已从该CA购买了证书。它当然不能证明另一个证书不是由另一个CA发布的,或者证明当时用户看到的证书是CA合法发布的证书。
当然,风险的可能性很难评估。攻击者的难点在于能够执行该MITM攻击并拥有将被用户信任的证书(例如来自流氓CA),这是希望不太可能的。在那个阶段,密封验证员显示的是完全不相关的。
最后,印章标志主要为用户提供了安全感,因为它检查的内容假定它显示的内容没有被篡改。任何假设没有问题的逻辑推理都可以得出确实没有问题的结论。
另一方面,this particular seal大于证书:它有一个恶意软件扫描和漏洞评估部分,这通常是一件好事。我不确定是否有其他的CA,但这种服务可以有用。
我并不想诋毁一般的CA系统,而且我对本例中使用的特定CA没有任何反应。 CA系统充满了不完善之处,但很难提出通用的更好的解决方案。我想指出的是,这种密封系统对于证书没有真正的安全性。然而,这种印章所做的是向每个客户的访客宣传CA,因此他们有告诉人们使用这些信息的既得利益。
总之:
这样的流行音乐最多是无用的,最坏的情况是误导。正如Steffen Ullrich所说,浏览器需要显示安全信息,只有它可以验证。假设网页本身知道提供服务的证书的任何内容,只会引起用户的混淆,因为它根本没有任何证据。 – Bruno 2014-09-03 20:46:14
@布鲁诺,许多网站以某种方式提供信息,例如。 ebay show *两个带有经过认证的SSL验证的图标(来自TRUSTe和Norton),并可能被网站“伪造”。我不问你是否同意我的观点,只要能够做到。 Steffen的回应并不是一个解决方案,只有他们的意见(但你当然可以upvote)。 – josejuan 2014-09-03 21:01:36
我知道,我只是说这是由CA出售的纯粹烟雾和镜子。没有任何好处。由于显然很容易伪造,所以它也可能具有很大的破坏性。 – Bruno 2014-09-03 21:05:05