1. 对称加密与非对称加密
2. CA证书构成
3. http通信存在的问题
- 容易被监听
http通信都是明文,数据在客户端与服务器通信过程中,任何一点都可能被劫持。比如,发送了银行卡号和密码,hacker劫取到数据,就能看到卡号和密码,这是很危险的 - 被伪装
http通信时,无法保证通行双方是合法的,通信方可能是伪装的。比如你请求www.taobao.com,你怎么知道返回的数据就是来自淘宝,中间人可能返回数据伪装成淘宝。 - 被篡改
hacker中间篡改数据后,接收方并不知道数据已经被更改
4. HTTPS请求过程
-
发送HTTPS请求
-
服务端返回CA证书(包含公钥)
-
浏览器验证证书是否有效。发现异常,则弹出警告。正常,则生成一个随机值(会话密钥,属于对称密钥)。使用证书中的公钥对该随机值加密后发送给服务器。验证方法如下:
读取证书明文信息,(使用相同的hash算法)计算hash值 使用公钥解密证书中的签名 对比二者是否一致
-
服务器使用私钥解密得到客户端传来的随机值,用于对要传输的信息加密
-
浏览器对接受的信息解密