问题 可以代理更改SSL证书吗? [关闭]


我注意到了一件很有趣的事情。每当我在我的公司访问像chase.com这样的启用SSL的网站时。 SSL证书不是来自VeriSign这样的知名CA,而是来自我公司的IT部门。对于每个互联网访问,我们使用动态代理(我不知道如何解释,但我们不需要在IE->连接部分确定)。我猜测代理将SSL证书更改为我们自己的IT证书。 我猜:每次SSL连接启动时,代理都会接受我的HTTPS请求,从网站上获取证书(让我们称之为SSL_Chase,SSL和数据加密的对称密钥),将证书更改为我们自己的IT证书(让我们称之为SSL_IT)并将其与respose一起发送给我。我填写用户名和passowrd,我的机器使用SSL_IT来加密我的数据,我们的代理得到它并且解密它。然后代理使用SSL_Chase加密它并发送到chase。所以追逐认为我们的代理是我,我认为我们的代理是追逐,除了IT证书不是追逐(我认为大多数用户不会注意到它)。这意味着,IT部门知道我们发送的一切追逐和追逐发送给我! 从SSL连接算法的角度来看,我想知道我的猜测是否可行。 希望有人能给我一个提示。

非常感谢!


8562
2018-05-01 05:24


起源

zdnet.com/article/... - Steven de Salas


答案:


它可能是这样的:您将IT部门的证书作为计算机上受信任的根证书。当您浏览到HTTPS地址时,代理会动态生成该站点的证书,并由您站点上信任的证书签名。然后,您与代理进行通信,代理与真实站点进行通信。旅行的两条“腿”都是通过SSL / TLS进行的,因此您可以安全地从中间的随机人员那里获得安全保障,但您的IT部门理论上可以查看所有通信。


8
2018-05-01 05:27



@ user299230这是100%不可能的。代理无法执行此处描述的操作,除非它可以访问IT部门的可信证书的私钥,这也是最不可能的,实际上是 表面上看 安全漏洞本身。代理人更有可能拥有它 拥有 SSL证书,即客户端的可信SSL端点,并且有自己的外部服务器受信任的概念。 - user207421
顺便说一下,不要相信我的话 - 听代理供应商。例如,请参见第15页 - On Freund
尊敬的,第15页并没有这么说。它说代理有它的 拥有 发行者,客户必须信任以避免弹出窗口。这与你描述的不一样,在我看来,相当于在整个地方喷洒IT部门的私钥。 - user207421
第15页很清楚。你写的不是。期。 - user207421
如果我错了,请纠正我,但如果代理没有传递远程服务器(chase)的证书,而是发出“模拟”证书,那么代理是否可以访问IT部门的私有键。代理可以使用自己的私钥。所以是的,然后代理和控制它的IT部门可以读取作为明文传递的请求和响应主体。 - greim


从代理人的角度来看,这是一种经典的“中间人”方法。您的浏览器有责任警告您所提供的证书与您访问的网站不符。 如果您使用的是IE,您的IT部门很可能会将相应的CA作为可信CA推送给您,因此您的浏览器会自动信任它。对于其他浏览器,不使用Windows Cert Store,它也是可能的,但有点困难。无论如何,可以让毫无戒心的用户相信信息是通过直接SSL链接传输到Chase的,而不是。在任何一种情况下,如果代理具有CONNECT谓词的相应功能,您仍应该收到浏览器警告。


4
2018-05-01 05:28





是的,代理可以像中间人一样行事。


0
2018-05-01 05:25



假设请求计算机信任代理的证书 - On Freund
是。在这种情况下,似乎用户获得了证书。警告,因为证书不属于正在浏览的网站。您应该使用支持HTTP CONNECT方法的代理进行安全浏览 - dhruvbird
我的机器由我们的IT部门提供。所以我想当我拿到机器时,IT已经安装了CA.所以我没有看到任何警告。 - Frank
@ user299230是的,如果机器已经过检测,那么所有投注都将关闭。实际上,它们甚至可以为您提供一个从未提供证书的污染浏览器。错误 - dhruvbird