HTTPS的个人理解
- HTTPS是在HTTP的基础上加上了安全套接层(TSL/SSL),以达到安全传输的目的。
通常加密方式分为:对称加密和非对称加密 - 对称加密:常用算法DES,AES;对称加密就是双方使用相同的密钥,密钥只有一个,加密解密都使用它,且加密速度快。但存在密钥被截获的可能,仍不安全。
- 非对称加密:常用算法RSA. 生成一对密钥,分为公钥和私钥,公钥是公开的,私钥只有自己知道;公钥加密需要对应私钥才能解开,私钥加密只有对应公钥可以解开;例如A和B通信,A发送给B的数据用B的公钥加密,B收到数据之后用自己的私钥解开;B给A发送数据时用A的公钥加密,A收到后用自己的私钥进行解密,从而达到安全。但算法较复杂,加密解密速度慢。
- 非对称+对称:对称加密速度快但安全性差,非对称加密安全性高但速度慢;所以我们将两者结合起来,通过非对称加密传输对数据进行对称加密的密钥,以后使用对称加密进行通信,安全性高速度又快。
- 中间人截取攻击:假设A,B通信;B给A发送公钥被C截取,C将自己的公钥发送给了A;以后A用C的公钥加密数据发送出去,C可以通过自己的私钥解读数据,然后用B的公钥进行加密,转发给B;B也能收到数据并解析,但是C已经获取到数据了,仍不安全。
- 数字证书:认证中心将公钥和个人信息通过特定Hash算法生成数字摘要,而后通过认证中心CA的私钥进行加密生成数字签名;然后将原始信息和数字签名合并生成数字证书,当收到CA发过来的证书之后,原始信息进行Hash处理,对数字签名进行公钥钥解密,然后进行比对。
- 简单的https通信流程:
参考自https://mp.weixin.qq.com/s/StqqafHePlBkWAPQZg3NrA?