导语:在这篇文章中,我将尝试阐明和解释Chrome的HTTPS,TLS和X.509相关的安全用户体验问题。

1487587243566439.jpg

引言

在这篇文章中,我将尝试阐明和解释Chrome的HTTPS,TLS和X.509相关的安全用户体验问题,在解决这个问题之前,大家有必要先对Webkit内核做一些了解(这部分自补)。

正如Chrome安全产品经理Emily Schechter所解释的那样,最近对Chrome中的安全提醒进行了一些更改,会把不安全的网页直接标记为不安全。

1.png

如上图所示, Facebook.com在Chrome的位置栏中标记为“安全”,因为它使用有效的HTTPS。

如果你点击锁定图标或单词“安全”,将在弹出的视图中获得更多信息,这个被称之为原始信息气泡(Origin Info Bubble)或PIB(Page Info Bubble),

1487587304969469.png

但对于非安全网站来说,PIB会提示:“你与本网站的连接是不安全的。你不应在此网站上输入任何敏感信息,例如密码或信用卡,因为攻击者可能会窃取此类信息。”

1487587330160123.png

PIB实际上有一堆控件,它允许你管理网站对Web平台的特殊权限和功能的访问。你可以点击按钮打开或关闭这些功能,

1487587370975100.png

X.509证书和HTTPS身份验证

其实,Chrome上还有一个证书查看器的功能,专业人员可以通过这个功能查看更多的信息,但是这个功能已经被转移到开发工具菜单栏中的“安全”一栏中。完整的证书细节到底有什么价值,什么人才会需要或想要这些细节信息?首先,让我们看一个示例证书,

1487587461911260.png

如上图所示,Chrome的网站介绍,显示了很多细节。

1487587481584340.png

在这些视图中,我们可以看到inbox.google.com的证书是由“Google Internet Authority G2”颁发的,而“Google Internet Authority G2”又是由“GeoTrust Global CA”颁发的。我们可以看到证书具有序列号483316 … 382以及它使用了什么算法和什么样的公钥密码术等等。如果我们在显示窗口的顶部中选择“Google Internet Authority G2”或“GeoTrust Global CA”,我们也会看到这些证书的信息。

但是,并不是说屏幕上显示的这些文字都是真的。攻击者可以刻意设计出一些相似或者相同的字符集,用户几乎是不能从视觉上分辨出真假,这也就是我们所谓的同形异义词攻击(homograph attack. )。

什么是扩展验证证书?

一些网站使用称为扩展验证(EV)的特殊模式,并且一些人认为EV会产生X.509证书,其中所有信息是真实的,或至少更真实,比如包括网站所在国。而且,在移动设备上,Chrome会在位置栏中显示这些字段。例如,这里是Twitter的EV证书:

1487587529595509.png

看到这些信息,你会想到什么?这难道真的是Twitter公司的产品吗?

让我们来看一下,首先,它不是特拉华的那个Twitter公司,仅仅从 “美国”这个字眼就能看出来吗?美国大了去了,也可能是在其他地方的冒牌Twitter公司。所以,仅靠“美国”这个字眼,你连位置的真实性都没法保证。但是,当DNS的名称和其组织名称之间没有明显的关系时,我们应该考虑什么?

1487587563400111.png

除了具有不太理想的安全用户体验含义之外,EV证书不会创建新的技术安全边界。 Web源是开放Web平台中的主要防御安全边界,它不包括证书的任何方面:不是公钥,而是组织名称,更不是颁发标准(EV或其他)。EV证书的起源仅是由浏览器用于连接到服务器的一种方案,由主机和端口号组成。例如,对于Twitter,元组是https,twitter.com,443。

那么HTTPS究竟能做什么呢?

经过上面这么一说,你可能会怀疑屏幕上的每一个像素,以及称为“X.5ohgodtheburning”的Kludgefest中的每个数据字段。那么你怎么才能确信你连接到网站,是安全的。

其实你也没有必要做什么,就是下载一个最新的网络浏览器,当你使用HTTPS网站时,这些网络浏览器就会帮你确定一些最起码的安全问题:

1.对于服务器的TLS协议版本,密码套件或证书签名如果有任何不对的地方,浏览器将拒绝连接。
2.已为与URL中的主机名匹配的名称发出证书。
3.网站的Cookie,会对本地存储的JavaScript与该主机名关联的上下文源进行评估。 有时此规则会失灵,例如example.com可以与foo.example.com混在一起,细节就很难评估。此外,foo.example.com网站可能包括来自任何其他网站的JavaScript或其他脚本内容,不过一个真正安全的网站将通常只用自己源。

所以一个好的浏览器,比如chrome就免去了用户大部分的担忧,在这篇文章中描述的技术安全细节的水平,将为用户带来真正的安全体验。

结论

虽然存在网络钓鱼的问题是非常普遍的,并且是高度有效的攻击模式。但chrome研发团队的人相信,通过最新的用户体验,大家可以通过PIB中的详细信息了解到该网站的安全度,另外现在很多浏览器都会绑定那些比较安全的常用网站,如果出现任何钓鱼插件,则网站就会提醒用户。

另外,Safari和Firefox也可以使用安全的网站浏览服务,Microsoft的浏览器也使用类似的PIB技术称为SmartScreen。这些服务基本上都将已知钓鱼地址快速的列入到黑名单了。

源链接

Hacking more

...