中间人攻击:
http请求传输信息是明文,这个信息有可能被某个中间人恶意截获甚至篡改。这种行为就叫做中间人攻击。
https:
使用的是非对称加密和对称加密
客户端和服务端协商对称加密的秘钥的时候,使用的是非对称加密
协商好之后,后续的通讯都是对称加密 【为了保证效率,后续都使用对称加密 】
【 不同的客户端的加密算法和秘钥不同的 】
CA证书:
权威的证书颁发机构(CA)
各大浏览器和操作系统已经维护了所有权威证书机构的名称和公钥
Https流程:
1、客户端给服务端发一个请求
2、服务端拿着自己的公钥,去CA机构申请一个证书
3、CA是使用自己的私钥对服务端的公钥进行加密,生成一个证书。
4、CA机构把证书返回给服务端
5、服务端拿着证书返回给客户端。
6、因为CA机构比较权威,他的公钥会集成在系统中,客户端可以从系统找到CA机构的公钥
7、客户端拿着CA机构的公钥把数据解开,接口之后拿到了服务端的公钥。
8、客户端在拿着公钥加密后续要使用的key发送给服务端
9、服务端接受到数据之后,使用对应私钥进行解密,得到非对加密的key
10、后续所有的通讯都使用 第8部生成的key 进行对称加密