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层之间(表示层,会话层的位置)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。