当我在工作和在家时,我会看到两组不同的 Google 网站证书。
我的意思是,如果我在家中保存证书(在 Firefox 中,单击地址栏中 https 左侧的“Google.com”块,然后选择“更多信息”-> 安全性-> 查看证书详细信息-> 导出)在工作中他们是不同的。(我只是使用 diff work.cert home.cert 比较它们)。
当我开始使用“Convergence”FireFox 插件时,我注意到了这一点 ( http://convergence.io/
)
可以吗?
当我在工作和在家时,我会看到两组不同的 Google 网站证书。
我的意思是,如果我在家中保存证书(在 Firefox 中,单击地址栏中 https 左侧的“Google.com”块,然后选择“更多信息”-> 安全性-> 查看证书详细信息-> 导出)在工作中他们是不同的。(我只是使用 diff work.cert home.cert 比较它们)。
当我开始使用“Convergence”FireFox 插件时,我注意到了这一点 ( http://convergence.io/
)
可以吗?
这可能有很多原因。如果没有来自两个证书链的信息,就不可能给出明确的答案。
谷歌有许多分布在世界各地的服务器集群。您的请求由基于网络拓扑的靠近您的集群处理。根据您和公司的 Internet 服务提供商,您最终可能会进入不同的服务器集群。Google 可能会为不同的集群使用不同的密钥。
您的公司很可能使用嗅探 https 流量的代理服务器。由于 https 是加密的并且有防止中间人攻击的特殊措施,代理服务器必须伪造证书。
一个普通的 https 代理连接是这样工作的:
一个专用的 https 代理会这样做:
此处破坏 SSL 的关键步骤是管理员已将浏览器配置为接受用于签署伪造密钥的代理 CA。
这是标准做法。据说最佳实践是不在服务器之间共享证书,因此您会看到来自不同位置的服务器的不同证书。来自威瑞信:
我可以用一个证书保护多台服务器吗?在多个服务器上共享证书会增加暴露风险。审计变得更加复杂,减少了责任和控制。如果私钥被泄露,则可能难以追踪,并且共享该证书的所有服务器都处于危险之中。由于共享证书会降低安全性,因此 VeriSign 证书订户协议禁止客户一次在多个物理服务器或设备上使用证书,除非客户购买了额外的服务器许可证。VeriSign 的许可政策允许在以下配置中共享许可证书:冗余服务器备份、服务器负载平衡和 SSL 加速器。请参阅关于 SSL 证书许可。
例如,如果我nslookup www.google.com
在不同的计算机上运行,我会为不同的谷歌服务器找到几个不同的 IP 地址。一个人会给出一个带有 SHA256 指纹的 SSL 证书:
SHA-256: F6 41 C3 6C FE F4 9B C0 71 35 9E CF 88 EE D9 31 7B 73 8B 59 89 41 6A D4 01 72 0C 0A 4E 2E 63 52
而另一个会给出:
SHA-256: 63 80 03 73 A7 74 72 E0 3E 7E 56 4E A2 17 2F C2 5C 37 D5 71 BD 05 10 1C B4 3C 14 00 04 92 0F 64
两者都是“内置对象令牌:Equifax Secure CA -> Google Internet Authority -> *.google.com”并且似乎是有效的。
@Hendrik 很好地涵盖了两种最可能的情况。我可能会补充说,如果我看到不同的公共CA 位于家庭与工作中的同一站点的信任链的根部,我会感到怀疑。您的 IT 团队完全有可能使用拦截代理,但如果我看到例如工作中的 Equifax 和家中的 Verisign,我会感到惊讶。也许其他人可以评论在现实世界中对相同地址使用不同 CA 的普遍性,但就个人而言,我从未遇到过。
使用由 DigiNotar CA 签署的欺诈性证书(据我们所知,仍在进行中)MITM 攻击(主要是伊朗)互联网用户。如果任何证书颁发机构说“DigiNotar”或“PKIoverheid”,则认为连接不安全。这是一个时事,例如观看:http ://www.google.com/search?aq=f&hl=en&gl=us&tbm=nws&btnmeta_news_search=1&q=diginotar