http 常用知识笔记(简)-5

HTTPS

http与https的区别
1.https在传输层加入SSL协议,使得报文能加密传输。
2.http链接简单,TCP3次握手后就可以进行传输,https还需要SSL/TSL握手过程,之后才进入加密传输。
3.http端口是80,https端口号是443。
4.https需要向CA申请数字证书,确保服务器身份可信。
https的混合加密
使用混合加密来保证信息的机密性
https采用对称加密和非对称加密结合的混合加密方式:通信建立前采用非对称加密的方式交换会话秘钥,通信过程中全部使用对称加密的会话秘钥对明文数据加密。
https的摘要算法
用来实现信息完整性,防止信息被篡改。
客户端发送信息前会先算出明文的指纹,然后把明文和指纹一同加密发送给服务器。服务器解密后用相同的摘要算法算出发送过来的明文,通过比较指纹来确保信息的完整性。
数字证书的产生和使用
1.服务器将自己的公钥注册到CA
2.CA使用自己的私钥将服务器的公钥数字签名,并颁发数字证书。
3.客户端想服务器发送请求返回数字证书。
4.客户端拿到数字证书后是用CA的公钥确认数字证书的真实性。
5.使用公钥对数据进行加密发送给服务器。
6.服务器使用自己的私钥进行解密。
SSL/TLS协议建立连接
基本流程:客户端向服务器索要并验证服务器公钥,双方协商产生会话秘钥,使用会话秘钥进行加密通信。
握手阶段共四次通信
1.ClientHello:TCP握手完成后,客户端先向服务器发起加密通信请求。客户端想服务器发送以下信息:客户端支持的SSL/TLS协议版本,客户端随机产生的随机数,客户端支持的密码套件列表。
2.ServerHello:服务器收到客户端请求后向客户端发出响应。确认SSL/TLS协议版本,如果浏览器不支持则关闭加密通信。服务器产生的随机数。确认密码套件。服务器的数字证书。
3.客户端回应:确认服务器数字证书的真实性获得服务器公钥。向服务器发送一个随机数,加密算法改变通知表示稍后使用对称加密,客户端握手结束通知,使用服务器的公钥加密进行传输。算出会话秘钥。
4.服务器回应:收到客户端的第三个随机数,通过协商的加密算法,计算出本次通信的会话秘钥,然后向客户端发送加密算法改变通知,服务握手结束通知。

猜你喜欢

转载自blog.csdn.net/weixin_43891021/article/details/114079433