一、https的原理
https主要是使用ssl/tls进行数据传输。客户端通过拿到服务器的数字证书(服务器信息+公钥+数字签名),对本地生成的对称秘钥,进行加密,发送给服务端。后续通过使用对称秘钥进行数据传输。
二、整体流程
三、可能存在的问题
2.1 确保客户端拿到的公钥是正确的,防止中间人攻击,公钥被掉包
公钥被掉包,是因为客户端无法分辨传回公钥的到底是中间人,还是服务器在HTTPS中,使用 证书 + 数字签名 来解决这个问题。
2.2 怎么防止最后用于通讯的对称秘钥被窃取
对称秘钥使用服务器的公钥加密后发送给服务端,只有服务端有私钥,能够进行解密。
(完)