https进行传输中。由于攻击者没有服务器的私钥,所以无法对客户发给服务器的信息进行解密。但是服务器的公钥是可见的,攻击者应该可以劫取服务器返给用户的消息,进行解密。那https如何保证通信安全?是无法保证服务器发给用户的信息,还是有其他解决方法?比如每次连接生成公钥和私钥,并进行ca验证,这样成本应该太高了。
###这个问题我前段时间也在疑惑。这里我说说我的看法。
客户端如何判断服务端是否靠谱,通过证书。怎么判断证书靠谱,必须信任颁发机构。所以说这个机构是你是真的就是真的,说你是假的就是假的。
服务端如何判断客户端是否靠谱,服务端不关心你靠谱不靠谱,只要你带的东西对,他就返回给你。所以在 web 层面这个控制不了(也有可能有我不知道的方案),但是在 app 里面可以做私有证书加密。
###HTTPS双向认证
###你所说的是中间人攻击,通常来说,因为攻击者手上不会有你网站域名的证书私钥,没法给出一个受信的签名,在进行这种攻击时用户浏览器会提示不安全的连接