代理可以更改SSL证书吗?

时间:2011-05-01 05:24:18

标签: ssl proxy

我注意到了一件很有趣的事情。每当我在我的公司访问像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连接算法的角度来看,我想知道我的猜测是否可行。 希望有人能给我一个提示。

非常感谢!

3 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:4)

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

答案 2 :(得分:0)

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