Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl HTTPS截获_Ssl_Https_Intercept - Fatal编程技术网

Ssl HTTPS截获

Ssl HTTPS截获,ssl,https,intercept,Ssl,Https,Intercept,我对SSL不太了解,但我读过一些东西,我想知道是否有可能拦截客户端和服务器之间的通信(例如,一家公司可以监视员工的数据传输?)。 我认为这是一项困难的任务,但看起来很简单。当客户端请求https连接时,可以指示路由器拦截密钥交换,并将其自己的公钥发送给服务器和客户端(此外,它还可以对流量进行编码/解码)。 这是真的,还是我误解了什么?这部分是真的:您描述的过程可以工作,但客户端会收到通知,服务器证书不是预期的证书(未经认证,分配到另一个站点)。因此,不可能在他们不知道的情况下透明地执行此操作,但

我对SSL不太了解,但我读过一些东西,我想知道是否有可能拦截客户端和服务器之间的通信(例如,一家公司可以监视员工的数据传输?)。 我认为这是一项困难的任务,但看起来很简单。当客户端请求https连接时,可以指示路由器拦截密钥交换,并将其自己的公钥发送给服务器和客户端(此外,它还可以对流量进行编码/解码)。
这是真的,还是我误解了什么?

这部分是真的:您描述的过程可以工作,但客户端会收到通知,服务器证书不是预期的证书(未经认证,分配到另一个站点)。因此,不可能在他们不知道的情况下透明地执行此操作,但这在公司环境中是可以接受的。

在公司网络中,公司拥有的SSL CA:s通常安装在所有机器上。在这种情况下,公司代理可以出示浏览器将接受的公司证书,并读取流量

如果您查看证书详细信息(可在浏览器的地址栏中找到),您可以检查它是否是远程服务器的预期证书,或者它是否是该公司创建的另一个证书


您可以使用例如来检查它应该是什么证书。(显然,将主机名更改为您想要使用的任何服务器)

如果您控制的CA在员工使用的所有浏览器中都受信任,则很容易:

公司代理需要动态创建与原始证书相似的证书,并将这些证书呈现给客户。所有信息都可以从真实的证书中获取,唯一的区别是CA对证书进行签名


然而,至少谷歌chrome会抱怨谷歌拥有的域名,因为它们有一个明确的白名单,CAs可以在上面签署用于谷歌域名的证书。

还有一些工具,如
sslstrip
,可以拦截HTTPS连接并向客户端提供纯文本降级服务。没有向客户端显示任何消息框,但URL条显示的是
http://
,而不是
https://
。根据他们的浏览器和设置,他们可能仍会收到从安全连接传递到不安全连接的通知。