代理服务器是否可以伪造它';s证书SSL固定? 如果客户端在握手期间接收到服务器证书,为什么中间人攻击代理客户端只能使用与从真实服务器发送的相同证书?

代理服务器是否可以伪造它';s证书SSL固定? 如果客户端在握手期间接收到服务器证书,为什么中间人攻击代理客户端只能使用与从真实服务器发送的相同证书?,ssl,proxy,ssl-certificate,man-in-the-middle,Ssl,Proxy,Ssl Certificate,Man In The Middle,如果我没弄错的话,证书应该是公开的 就像twitter一样,只是因为服务器不仅仅发送证书;并证明其为证书的“所有人”;简而言之: 服务器加密您可以使用证书解密的内容,但只有证书的所有者可以通过这种方式进行加密 假设您知道公钥/私钥加密模式,则证书包含一个公钥,可以对使用服务器私钥加密的数据进行解密。服务器永远不会分发私钥。MIM不能简单地使用同一证书,因为他们没有相关的私钥。因此,解密数据仍然是不可能的。证书本身本质上只是一个公钥。这就是为什么MIM伪造了一个证书,然后发送给别人。好吧,我明白了

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


就像twitter一样,只是因为服务器不仅仅发送证书;并证明其为证书的“所有人”;简而言之:

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


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

MIM不能简单地使用同一证书,因为他们没有相关的私钥。因此,解密数据仍然是不可能的。证书本身本质上只是一个公钥。这就是为什么MIM伪造了一个证书,然后发送给别人。好吧,我明白了。但是,假设我直接与可信服务器通信,我收到了发送的证书,并且“以某种方式”保存了它。为什么我现在不能使用获得的相同证书来执行中间人攻击,即使在启用SSL钉扎时?因为您不能附加只有匹配私钥所有者才可以加密的东西,正如我解释的那样;啊,我明白了!我相信你的意思是公钥加密,私钥解密;)@不,我没有。其基本思想是:服务器的私钥对证书的哈希进行加密,并将其与证书一起发送。证书包含可用于解密哈希的公钥。使用散列可以检查证书。证书本身是防篡改的,因为它已经由证书颁发机构签署。好的,这很有意义,谢谢!!!但是为什么MIM如此重要呢?我知道如果成功的话,它会暴露敏感的细节,但是您不需要首先让客户端信任代理客户端的根证书,比如charles或fiddler吗?