【问题标题】:Is it possible for a proxy server to forge it's certificate SSL Pinning?代理服务器是否可以伪造它的证书 SSL Pinning?
【发布时间】:2016-01-01 02:00:50
【问题描述】:

如果客户端通常在握手期间收到服务器的证书,为什么中间人攻击代理客户端不能使用从真实服务器发送的相同证书?

如果我没记错的话,证书应该是公开的?

喜欢推特https://dev.twitter.com/overview/api/ssl

【问题讨论】:

  • MIM 不能简单地使用相同的证书,因为它们没有关联的私钥。因此,解密数据仍然是不可能的。证书本身本质上只是一个公钥。这就是 MIM 伪造证书并发送它的原因。

标签: ssl proxy ssl-certificate man-in-the-middle


【解决方案1】:

仅仅是因为服务器不只是发送证书;它还证明它是证书的“所有者”;在这里简单说一下:

服务器对您可以使用证书解密的内容进行加密,但只有证书的所有者才能以这种方式加密。

假设您知道公钥/私钥加密模式,证书包含可以解密使用服务器私钥加密的数据的公钥。服务器永远不会分发私钥。

【讨论】:

  • 好的,我明白了。但是说我直接与真实的服务器通信,我收到了发送的证书,然后我“以某种方式”保存了它。为什么即使启用了 ssl pinning,我现在也不能使用获得的相同证书来执行中间人攻击?
  • 因为你不能附加只有匹配私钥的所有者才能加密的东西,正如我解释的那样 ;)
  • 啊,我看到了!我确定您的意思是公钥加密,私钥解密;)
  • @Pizzy213codes:不,我不知道。其基本思想是:服务器的私钥对证书的哈希值进行加密,并与证书一起发送。证书包含您可以用来解密散列的公钥。使用哈希,您可以检查证书。证书本身是防篡改的,因为它已由证书颁发机构签名。
  • 好的,这很有意义,谢谢!!!但是为什么 MIM 如此重要,我知道如果成功它会暴露敏感细节,但您是否首先需要客户端信任代理客户端的根证书,例如 charles 或 fiddler?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 2017-03-31
  • 2014-03-30
  • 2016-07-12
  • 1970-01-01
相关资源
最近更新 更多