https的加密流程
标签(空格分隔): https 加密
我们常用的加密方式有对称加密和非对称加密两种,而https则是采用两者相结合的方式进行加密:
##对称加密
用一个秘钥对目标对象进行一系列操作生成一段密文,这段密文也同时可以用这个秘钥进行解密
优点:简单高效
缺点:秘钥在传输期间容易被破解,即不安全
##非对称加密
同时有两个秘钥A和B,A加密的只能用B解密,B加密的只能用A解密
优点:安全性高
缺点:涉及频繁的加减密,影响cpu性能
https要求服务器端需要申请一个证书(公钥)
1.客户端向服务端索要公钥
2.客户端在收到公钥之后会进行判断(证书是否有效,是否过期等),如果校验通过则会生成一个随机的私钥,然后用该私钥对公钥进行加密,然后再发送给服务端(因为是非对称加密的,所以这个加密的内容只有拥有私钥的服务端才能解密,即使被破解,也无法识别)。
3.服务端在获取到密文之后会用私钥(服务端本来就拥有的私钥)进行解密,然后获取其中的私钥(客户端随机生成的),然后再用该私钥对传输内容进行加密传输,此后双方都用该秘钥进行对称加密的传输。这个时候就不涉及到私钥在客户端与服务端之间传输的问题了 ,所以也不存在安全问题。同时因为只涉及到一次非对称加密,此后都是对称加密,所以是完美的结合了两种加密方式的优缺点。