HTTPS 相干
简介
- HTTP 通过 SSL 的加密后生成 HTTPS,使网络通信变得更加平安
- HTTPS 使用了三种加密形式,别离是对称加密 AES,非对称加密 RSA 和 Hash 算法(不可逆),用 AES 传输(效率思考),用 RSA 来沟通 AES,用 HTTP(来验证效率)
-
HTTPS 次要解决了三个问题
-
数据的保密性:
- 在传输过程中,数据被读取
- RSA+AES 来确保
-
认证问题:
- 在传输过程中,不能保障是真正须要的信息
- 数字证书
-
数据的完整性问题
- 在传输过程中,数据可能被增加或者篡改
- Hash 算法
-
连贯过程 / 证书验证过程
-
1、客户端
- 开始申请,发送了第一个随机数,及能提供的 Hash 算法及加密算法
-
2、服务器端
- 首先发送了第二个随机数,及选用的 Hash 算法及加密算法
- 而后发送证书信息,证书信息包含,待签名的证书局部(公钥有效期等),证书签名(对报文信息用私钥加密)
-
3、客户端
- 验证证书:利用公钥对证书签名进行解密,而后与待签名局部的做 Hash 解决,若相等则这一级的证书为无效证书,且为残缺证书。而后始终向上进行判断,直到根 CA 机构,最初判断该证书无效。
-
给服务器端发消息:
- 用公钥加密第三个随机数。
- 并用这三个随机数生成的对称加密算法发送后面所有内容的 Hash 值
-
4、服务器端
- server finished 用生成的会话密匙,加密之前传输数据的 Hash 值,供客户端校对
- 5、握手完结,正式开始传输
SSL 在哪一层、
介于 HTTP 的应用层与 TCP 层之间(表示层,会话层的地位)