HTTPS和HTTP的区别
简单的理解https是安全的http,即https协议 = http协议+ssl/tls协议。相比http多了一个安全加密过程。
ssl是安全套接层协议(secure sockets layer),为网络通信提供安全及数据完整性的一种协议。
tls是安全传输协议(transport layer security)。
这里了解一下https的加蜜原理:
1、https对称加密
对称加密就是服务器生成秘钥,然后发给客户端,双方都使用该秘钥进行数据的加解密。
2、https非对称加密
非对称加密(私钥加密公钥解密)就是服务端拥有自己的公钥和秘钥,客户端拥有自己的公钥he秘钥,首次双方将自己的公钥发给对方,然后使用自己的私钥加密数据,对方的公钥解密接收的数据。
3、https对称加密+非对称加密
由于非对称加密方式速度比较慢,所以采用非对称加密的方式传输对称加密的秘钥,这样数据的传输就是用对称加密,这种方式客户端并不知道接收到的秘钥是否被别人劫持修改过。
4、https数字证书
数字证书就是解决https对称加密+非对称加密传输中对服务器传过来的秘钥进行认证的过程,确保是服务器的秘钥,而非被修改过。
首先找一个大家公认的认证机构(CA),然后服务器将服务器信息+秘钥使用hash(这里主要是hash算法不可逆)算法生成信息摘要,再将信息摘要使用CA秘钥加密得到数字签名,将数字签名+未加密的服务器信息+未加密的秘钥得到数字证书,服务器将数字证书发送给客户端。
客户端收到信息将服务器信息+秘钥使用hash算法加密的到新的信息摘要,将数字签名使用CA公钥解密得到服务器信息摘要,将新的信息摘要和服务器信息摘要对比,一致则未被修改过,保存秘钥使用对称加密可进行数据传输。