可以进行真正的端到端 SSL 加密吗?

信息安全 tls 证书 代理人
2021-08-21 09:29:26

我已经阅读了标记为 [ssl] 和 [mitm] 和 [proxy] 的各种问题,但找不到重复项。

我有一个非常精确的问题,但首先我需要提供一些背景知识。

基本上,我对最近的发展感到非常惊讶,它强调了诺基亚和 Opera Mini 实际上都在使用他们的服务器作为用户和网站(例如网上银行网站)之间“安全”SSL 连接的端点。

显然他们是以性能的名义这样做的:他们使用他们的服务器作为端点,然后充当用户的代理。在他们的服务器上,他们正在渲染和压缩要显示的页面并将其发送给他们的用户。

我也完全被大多数人的反应弄糊涂了:大多数人的反应是:“这里没什么可看的,这是常见的做法,继续前进”

这让我感到震惊,因为我的印象是是端点,而不是诺基亚/Opera Mini 服务器。我意识到这不是对 SSL 的 MITM 攻击,因为服务器成为端点,而您,用户,被提供“其他东西”(修改后的 HTML 或图片或其他东西)......

我知道它(据说)是以表演的名义完成的。我个人认为这是以性能的名义牺牲安全性,但无论如何。

现在,这才是真正让我震惊的地方,有几个人指出,不仅手机制造商可以做到这一点,任何 ISP 都可以做到。

我发现了这句话:

“使用操作系统证书存储或 SSL 库的软件仍然应该对此免疫”

所以我的问题很简单:知道我可能正在使用对间谍感兴趣的ISP包在我身上?

例如,像谷歌浏览器这样的浏览器是否有任何保护措施?(例如,看一下绿色的“锁”图标就足够了,然后是“HTTPS://mail.google.com/...”或者这也可以被 ISP 欺骗?)

4个回答

这种做法有时被描述为“机构中间人攻击”。可以通过修改客户端代码(以便允许此类代理)或在客户端的信任库中添加特殊 CA 来完成;在后一种情况下,代理拦截连接,为服务器生成一个假证书(由特殊 CA 颁发——它是“特殊的”,因为私钥由代理控制),并运行真正的中间人“攻击” ”。

这是通过大型组织内容过滤器(例如Bluecoat 的 ProxySG)和您观察到的“互联网加速器”(通过访问原始数据内容,MitM 代理可以应用一些策略来“加速”,即缓存和强制执行数据压缩)。

加速器通常依赖于客户端代码修改,与使用假服务器证书的基本拦截相比,它允许更多的“加速策略”。这可能是您的情况;它将是特定于浏览器的。一个安全问题,因为它破坏了 SSL 的关键点之一,即带来端到端的机密性和完整性。我知道一些银行对此非常不满,因为这使得将某些法律价值应用于基于 SSL 的网上银行业务变得更加困难。作为用户,您可以通过使用备用浏览器(例如,某些诺基亚手机似乎可以使用Firefox)并验证备用浏览器是否只信任“可信赖的”根 CA ,来防范这种做法(这确实很普遍)。

注意:我突然想到,由于这些“互联网加速器”倾向于在手机和 MitM 代理之间的链接上使用不加区别的数据压缩,它们可能容易受到CRIME 攻击。这可能值得进行一些调查和宣传。)

编辑:虽然诺基亚的浏览器似乎会出现 SSL 连接的 MitM(例如,请参阅本文),但 Opera / OperaMini 中的相应功能称为turbo,声称不对SSL 执行此操作,仅适用于普通 HTTP:

即使在使用 Opera Turbo 时,安全连接也不会通过 Opera 的服务器。这意味着当您使用银行或传输敏感数据时,您是在直接与网站交谈。

一切都与信任有关,归结为:

  1. 您是否相信您的浏览器会告诉您它已安全连接到 SSL/TLS 站点?
  2. 您是否相信证书颁发机构已经正确验证了网站并且证书详细信息是真实的?
  3. 你相信证书本身吗?

回答这些很难,但我会给出我自己的看法。

  1. 我信任开源浏览器,因为我总是可以查看代码——如果我不这样做,如果事实证明存在某种后门,一些有进取心的人会并且会在互联网上喋喋不休地谈论它
  2. 我总是查看证书颁发者(通常可以通过“查看证书”或其他方式获得。这是一些奇怪的颁发者,我将其从我的批准颁发者列表中删除。
  3. 这并不是一个真正普遍存在的问题——但是当 DigiNotar 被黑客入侵时,它发出了被浏览器自动信任的假证书。不好。

如果所有这三件事都正常,那么我看不到 ISP(或上游网络提供商)如何在不向您(用户)发出任何警告的情况下成功地进行 MITM。在 OP 的问题中 - 他们提到他们使用 Opera。Opera 是一个封闭源代码的浏览器提供商——尽管 Opera 浏览器总体上质量非常好。

我希望这三个问题能帮助用户做出明智的选择。

所以我的问题很简单:知道我可能正在使用对间谍感兴趣的 ISP包在我身上?

例如,像谷歌浏览器这样的浏览器是否有任何保护措施?(例如,看一下绿色的“锁”图标就足够了,然后是“HTTPS://mail.google.com/...”或者这也可以被 ISP 欺骗?)

这很简单。您从受信任的来源获取浏览器和操作系统并检查证书的来源。如果来源是预期来源,例如 Verisign。然后,您可以相信威瑞信根据其认证实践声明检查了所有者的身份。

以确保您不会因一时的懒惰而上当。从浏览器中删除您不信任的证书颁发机构。

如果您通过 ISP 下载浏览器,他们可能会拦截该请求并将其替换为具有自己 CA 信任的证书的浏览器。这种行为更像是压制性政府,或者看起来像是电信公司。

根据您的标准,获取您的第一个受信任来源可能会很棘手,但是一旦您拥有它,您就可以使用该受信任来源来验证其他受信任来源。也就是说,如果您通过 SSL 连接到下载站点、信任证书、信任您的计算机并信任浏览器的作者,那么通过 ISP 的连接下载新版本的 Chrome 是安全的。

使用中继的客户端最终会做的是另一台服务器充当端点,而“浏览器”更像是远程查看客户端。如果删除查看客户端的通信被正确加密,则可能存在隐私问题,但就您信任进行中继的第三方而言,安全问题较少。

至于如何确保您在桌面上受到保护,ISP 无法做到这一点。浏览器可以的唯一原因是因为它们控制浏览器并且浏览器所说的内容是合法的。基本上,他们将他们的服务器获得的信息作为证书信息转发,并且它特别信任它,因为它没有通过本地 crpytographic API 工作。

只要您使用的浏览器正在对证书进行加密验证,ISP 或其他第三方就无法冒充发件人,除非他们拥有您要连接的 URI 的有效(解析)证书。因此,如果您可以信任您的浏览器,您就可以信任您的 SSL 连接,但前提是您信任浏览器的完整性。