HTTPS基本工作过程:HTTPS只是HTTP的基础上引入加密机制
1.引入对称加密
首先,什么是对称加密和非对称加密?
对称加密:使用同一把密钥加密解密
非对称加密:有两把密钥,为公钥(公开的)和私钥(私密的),分别用于加密和解密。
由于http是明文传输,有不安全性,所以https引入加密,来确保信息安全。
2.传输对称密钥给服务器
不同的客户端和服务器应该有不同的密钥,所以这里的密钥应该由客户端定义再传给服务器。
但是密钥明文传输被中间人窃取的话,加密也毫无意义,所以引入非对称加密来传输密钥。
3.引入非对称加密,对要传输的密钥进行加密。客户端持有公钥,服务器持有私钥。
客户端使用服务器的公钥(非对称加密中的公钥)将生成的会话密钥加密。
加密后,将密文发送给服务器。
服务器用其私钥(对应公钥)解密,获得会话密钥。
4.中间人攻击
如果没有额外保护,攻击者可能劫持或篡改密钥的传输过程,进行中间人攻击(MITM),获取或篡改会话密钥,从而窃取或伪造数据。
5.避免中间人攻击,引入证书机制。
为防止中间人攻击,服务器会拥有由权威机构(CA,证书颁发机构)签发的数字证书。
这个证书包含:机构信息证书的有效期、服务器的公钥、由CA的私钥签名(数字签名)等
数字签名有校验和和非对称加密生成
客户端在连接过程中,会验证这个证书的签名是否合法(通过CA的公共密钥进行验证)。
这样,客户端可以确认连接的确实是目标服务器,而不是中间人。
由此,HTTPS通过非对称加密确保密钥安全传输,结合对称加密提升通信效率,同时用证书机制防止中间人攻击,保障通信的安全性。