【发布时间】:2016-01-22 03:16:32
【问题描述】:
我想知道常规 SSL 协议与 SSL pining 有何不同。通过设置 https,我们可以使用 SSL 加密请求。中间人攻击将无法看到原始有效载荷。我也知道 SSL pinning 是另一种防止中间人攻击的方法。但我的问题是,如果代理总是只能在 https 协议下看到加密数据,为什么我们仍然需要在客户端捆绑证书并进行 SSL 固定? SSL pining 能给我们带来什么好处?
【问题讨论】:
我想知道常规 SSL 协议与 SSL pining 有何不同。通过设置 https,我们可以使用 SSL 加密请求。中间人攻击将无法看到原始有效载荷。我也知道 SSL pinning 是另一种防止中间人攻击的方法。但我的问题是,如果代理总是只能在 https 协议下看到加密数据,为什么我们仍然需要在客户端捆绑证书并进行 SSL 固定? SSL pining 能给我们带来什么好处?
【问题讨论】:
证书固定意味着客户端“内置”了服务器的证书,并且不使用您计算机的受信任存储。这意味着即使您的 IT 部门安装了自己的根证书,也不会被使用。
一个特别聪明的 IT 部门可以在您的计算机上安装他们的根证书,使用像 Charles 这样的代理来动态创建假站点证书,并动态重写您下载的程序,替换固定的证书,但大多数不是不够复杂,无法完成最后一步。
您也可以从家里下载软件,在这种情况下,固定证书就可以了,IT 将永远看不到传输中的内容。
【讨论】: