https 相对于 https 来说 多了加密的部分
对于https 来说,目标是要达到,安全,快速!
安全方面,主要是对数据进行加密,速度方面的话主要是用加密速度快的对称加密算法
基本过程如下:
-
浏览器先获取证书并进行验证,不安全,就不会进行下面
-
浏览器和服务器进行握手信息的发送,以保证加密信息一致
- 浏览器通过证书生成随机加密密码,(这个密码用于加密数据)
- 使用摘要算法对握手信息进行摘要
- 使用随机密码通过对称加密算法对握手信息和摘要进行加密
- 通过公钥对随机密码进行加密
- 将上面所有信息统一发送给服务器
服务器端
使用私钥解密出随机加密密码,然后使用随机加密密码解密出文本和摘要信息,
再通过摘要算法计算出文本摘要,进行对比,以此验证数据完整性,同时保证了数据安全性
在数据验证完成后会保存随机加密密码
然后以同样的方式向浏览器发握手消息,浏览器进行验证(只不过浏览器端的是进行的签名),以此达到信息的交换与确认。
后面就会统一对使用上面确认的随机加密密码进行文本的加密传输。 -
浏览器通过上面的方式将文本数据(非握手数据)发给服务器,服务器以上面的方式进行验证
-
服务器确定收到完整安全的信息之后,会进行摘要,加密数据,并且对摘要进行签名
-
浏览器使用公钥对加密后的摘要进行验证,确保来自服务器,并对文本进行摘要然后对比,以确保数据完整!
使用对称加密的原因是非对称加密速度慢