google.com 数字证书 HTTPS 网页混合非加密内容的安全问题

67 views
Skip to first unread message

wanghx

unread,
Sep 28, 2009, 3:53:23 AM9/28/09
to lihlii-g
我对比了一下,和我在国外得到的 *.google.com 的证书一致。看起来不是截取 HTTPS 的中间人攻击。

*.google.com 的证书 SHA1 指纹:75 7E 70 D3 0F B4 98 07 5C D8 29 E3 3A 65 A0 A3 89 91 C9 A3


软件界面应该提供拷倍指纹和其它证书显示信息的功能,以便于用快速核对。

mail.google.com 有独立的证书,SHA1 指纹为:90 AD BE 01 98 46 95 B6 64 9A D0 F9 EF 4F 1B 58 36 EB 38 0D


以上证书指纹信息供参考。

加密访问 gmail 时,有的时候页面上不报告有未加密内容,有的时候报告有未加密内容。
https://docs.google.com/#all 当我打开的时候没有未加密内容警告。

以后用 HTTPS 访问网站,不可忽略证书是否有效,签署者是否真实,以及加密页面是否混有非加密内容的问题。
尤其后者,目前所有浏览器都无法明确标注究竟加密页面上哪些内容是未加密或者验证服务器身份的部分。Chrome 老版本可以设置拒绝未加密内容,新版本无法设置了。Firefox

有人说[1],通过 Javascript 提交的内容,Firefox 无法判断是否加密连接,因此会报告部分未加密混合内容。
有些人认为[2],有些情况的警告是 Firefox 误报。
MSIE 可以选择不显示非加密内容[3]。这样的设计更安全。

Mozilla security wiki 上的信息[5]说这是由一个长期未解决的错误[6]引起,无法取消不安全的信息提交,并且无法禁止显示不安全的内容。从这一点来看, Firefox, Chrome 都不如 MSIE 的设计安全。遗憾。

在 MSIE 中,可以禁止显示加密网页上混合的不加密内容:
Tools -> Internet Options -> Security -> Custom level... -> Display Mixed Content =ISABLE

有人认为[8] MSIE 的混合不安全内容警告是多余的,并力图取消之。这是错误的。他的诊断是,许多“javascript:” 协议导致误报。

Stanford 大学有人提供了一个 Firefox 扩展[10],对于混合非加密内容的网页,取消显示加密锁图标,以免误导用户。但这并不能解决混合非加密内容的网页所带来的安全问题。

混合非加密内容网页的问题:
  1. 麻痹用户的警觉,给中间人攻击打开方便之门。
  2. 用户无法精确控制,确保其所浏览的内容来自可信安全服务器,无法确保浏览和提交信息一定通过加密通信。
这个问题[11][12]看来非常严重。

参考:
  1. Firefox unencrypted warning http://wpram.com/log/2005/06/02/firefox_unencry/
  2. Firefox warning about unencrypted data from Lastpass http://forums.lastpass.com/viewtopic.php?f &t 329
  3. How Firefox handle encrypted page that contains some unencrypted information http://groups.google.com/group/mozilla.support.firefox/browse_thread/thread/b20727ec30991608
  4. Configuring Firefox Mixed Content Settings https://presentations.inxpo.com/Help/VTS/ShowMeFFMixedContent.htm
  5. Security:SSLErrorPages https://wiki.mozilla.org/Security:SSLErrorPages
  6. Bug 62178 - implement mechanism to prevent sending insecure requests from a secure context https://bugzilla.mozilla.org/show_bug.cgi?idb178
  7. Disabling mixed content http://forums.mozillazine.org/viewtopic.php?f8&tt1735&start=/a>
  8. Even more problems with the IE 8 mixed content warning http://blog.httpwatch.com/2009/09/17/even-more-problems-with-the-ie-8-mixed-content-warning/
  9. Fixing the IE 8 warning - ‘Do you want to view only the webpage content that was delivered securely?’ http://blog.httpwatch.com/2009/04/23/fixing-the-ie-8-warning-do-you-want-to-view-only-the-webpage-content-that-was-delivered-securely/
  10. http://seclab.stanford.edu/websec/safelock/
  11. 貌似应验了,twitter群里面好多人都无法使用DOCS+HTTPS https://groups.google.com/group/lihlii/browse_frm/thread/8d5509e9f3ef89be
  12. 如何做到窃听SSL的内容的? https://groups.google.com/group/lihlii/browse_frm/thread/a8307a015a32c73f

2009/9/27 86
> 的确有安全性提示,付截图及导出的证书
>
> 2009/9/27 w
>> 请各位注意,仔细检查网站的数字证书,以及签署证书的证书机构的数字证书是否正常。最好能把证书显示截屏供参考,
>> 以确认是否对 HTTPS 进行了劫持。
>>
>> 2009/9/27 T
>>> 此连接是不受信任的
>>>
>>> 您想使用 Firefox 来安全连接至 docs.google.com,但是我们无法确认此连接为安全的。
>>> 通常,当您尝试安全连接时,站点会出示受信任的标识,以证明您访问的是正确的地址。然而,现在无法验证此网站的标识。
>>>
>>> 一开始我也不相信,后来我也遇到了。
>>>
>>> DOCS目前用HTTP可以访问,HTTPS无法访问。
>>> 好像是全国各地陆陆续续出现的状况。
>>>
>>> 是GFW还是Google?

--
请不要轻信没有正确 OpenPGP(GPG) 数字签名的来自本人 email 地址的任何邮件中的链接和附件,以防假冒。 我的公钥: http://j.mp/pubkey
signature.asc

wanghx

unread,
Sep 28, 2009, 6:24:19 AM9/28/09
to lihlii-g, Salon Friends
‎02 b2 5a b8 0f f4 ca 66 0f d5 1e e7 db fe 51 85 这个是 serial number,是可以伪造的,因此不可以只校对这个代码。

有作用的是 thumbprint/fingerprint,这是防止伪造证书的校验特征。chrome 和 msie 的证书管理软件是一样的,可以拷倍出证书指纹,便于校对。Firefox 的证书管理软件无法拷贝指纹等数据,这是缺陷。

groups.google.com 采用的是 *.google.com domain certificate,和 docs.google.com 一样。
证书对域名认证,不是 IP。DNS 如果被劫持,从假服务器来的信息是无法带有真服务器的证书签名的,因为很难伪造具有相同指纹的不同证书,尤其是经过同样的根证书机构签署的证书,就更困难。这是X.509 和 PKI,SSL / TLS 的原理基本常识。有充分的参考文献可以查阅。

总体上,MSIE 对 SSL 安全网页的处理更正确完善,Firefox 和 Chrome 都有漏洞,令人遗憾。而且这个问题 [1] 拖了 9 年都没解决,真是太说不过去了。不知道为何 Firefox 的安全开发人员不紧急处理这一问题?而且 Chrome 3 版本反而把拒绝显示不加密内容的功能给删除了。也许他们有什么特别的理由?


2009/9/28 GFW
哦。。。groups.google.com也是 02 b2 5a b8 0f f4 ca 66 0f d5 1e e7 db fe 51 85

有个问题

1. 证书似乎对签名域名不签名ip的么?那么ip被劫持到国内的话是不是证书依然有效?
2. 证书签名IP路由链路不?

2009/9/28 GFW

groups.google.com的证书是多少?大家对照一下。

wanghx

unread,
Sep 28, 2009, 8:42:05 AM9/28/09
to lihlii-g
  1. spreadsheets.google.com 不提供 https 连接,是通过 www.google.com HTTPS 加密登录,然后转到 http://docs.google.com 不加密的连接。如果要加密访问 google docs 的 spreadsheets,要用具体的文档 URL,其采用的证书是 *.google.com 的。
    可能你遇到的警告是因为这一切换网站的过程。

  2. 正常情况下,不需要特别对比这些指纹,只要查看证书签署机构的签名是否正确就可以了。但要确保证书颁发机构(比如 Thawte, Verisign)的证书是正确没有在本机被篡改。这种可能不大,因为用这些著名的证书颁发机构签署的证书很多,一旦被替换会出很多问题。更多的风险在于那些非权威的证书颁发机构签署的证书。我是建议把根证书清理一下,不可信的那些国内的证书颁发机构删除掉。但要注意删除以后也许有些国内的网站会提醒证书验证问题。

  3. SSL 中间人欺诈的方式窃听,主要问题在于浏览器无法明确告知用户页面上哪些部分是加密的,哪些不加密,各自用了怎样的证书,而只有一个笼统的“mixed content”警告。因为太多的网站混合加密和不加密的内容,使得用户不得不习惯于接受混合不安全内容的安全网站,导致攻击者有机可乘。

  4. 对比这些证书的指纹,鉴别真伪,还不能解决上述 SSL 中间人欺诈的问题。但是当你如果习惯了仔细检验加密网站的证书是否正确,由谁颁发,那么受到欺诈的可能大为降低。

  5. shizhao 提供的那个 forcehttps 可以降低被窃听攻击的可能,但无法解决这个中间人攻击的问题。必须网站设计上保证在加密网页上不提供非加密混合内容,加上用户得到充分的培训,知道如何检验和防范证书和 URL 地址欺诈,才可以避免这类安全问题。现在的问题是人们习惯了混合加密和非加密的网页内容并安之若素。许多程序员还在教人如何禁止浏览器讨厌的警告信息。forcehttps 那个插件安装不了,提示信息说无法校验签名(because: Signing could not be verified.-260)。
From: Tan
Date: 2009/9/28
Subject: Re: google.com 数字证书 HTTPS 网页混合非加密内容的安全问题

访问spreadsheets.google.com出现www.google.com的证书

另外大家列个数字指纹表单吧。

mail.google.com 证书SHA1指纹:90 AD BE 01 98 46 95 B6 64 9A D0 F9 EF 4F 1B 58 36 EB 38 0D
www.google.com 证书SHA1指纹:ab be 5e b4 93 88 4e e4 60 c6 ef f8 ea d4 b1 55 4b c9 59 3c
*.google.com 证书SHA1指纹:75 7e 70 d3 0f b4 98 07 5c d8 29 e3 3a 65 a0 a3 89 91 c9 a3

自由门 证书SHA1指纹:03 29 a2 0b fc 93 62 74 95 72 e8 33 34 37 60 f0 ae c2 ef 64

您想使用 Firefox 来安全连接至 spreadsheets.google.com,但是我们无法确认此连接为安全的。

通常,当您尝试安全连接时,站点会出示受信任的标识,以证明您访问的是正确的地址。然而,现在无法验证此网站的标识。
          
怎么办?

如果您过去连接到此网站并且没有发现问题,那么此错误信息表示可能有人想冒充该网站,所以您应该停止浏览。

From: Shizhao

wanghx

unread,
Sep 28, 2009, 9:07:11 AM9/28/09
to lihlii-g
有个改进的 force-tls 扩展。https://addons.mozilla.org/en-US/firefox/addon/12714

还有个 certificate patrol
帮助检查证书是否改变。https://addons.mozilla.org/en-US/firefox/addon/6415

noscripts 也支持强制 https 。Tools / Add-ons / NoScripts / Options /
Advanced / HTTPS / Behavior / Forbid active web content unless it
comes from a secure (HTTPS) connection / Always 。 尤其在采用 Tor
代理的时候,更应该采用这一功能,设置为 When using a proxy。

blackhat 会议上关于 SSL 中间人攻击窃取密码的实验就是在 Tor 网络出口节点上进行欺诈,监听数据得到的登录名和密码的。

Reply all
Reply to author
Forward
0 new messages