HTTPS协议握手过程见解

HTTPS协议简要

1、HTTPS协议 = HTTP协议 + SSL/TLS协议,在HTTPS数据传输的过程中,SSL/TLS对数据进行加密和解密,HTTP数据封装在SSL/TLS加密协议中,然后再被封装进TCP数据段,整个过程HTTP协议数据是被加密的,因此HTTPS是安全的。

加密的基本概念

1、明文:是指没有加密的文字(或者字符串)原始数据

2、HASH加密(不可逆)
有MD5,SHA160,SHA256,SHA512等多种。多用于生成签名
特点:

  1. 不可逆性:几乎无法通过Hash结果推导出原文。
  2. 无碰撞性:几乎不可能有数据的Hash值相同。
  3. 雪崩效应:数据轻微变化,Hash输出值产生巨大变化。

3、对称加密算法(共享密钥)
包括AES、DES、3DES、TDEA、Blowfish、RC4、RC5、IDEA等

  1. DES(数据加密标准):一种分组密码,在加密前,现对整个明文进行分组,每组为64位,之后进行16轮迭代,产生一组64位密文数据,使用密钥是56位
  2. 3DES:使用两个密钥,执行三次DES算法,密钥长度是112位。
  3. **IDEA(国际数据加密算法):**使用128位密钥,把明文分成64位的块,进行8轮迭代。得到64位密文,IDEA可以使用硬件或软件实现,比DES快。
  4. AES(高级加密标准):AES支持128,192,256位三成密钥长度,可通过硬件实现
  5. RC4(流加密算法):加密速度快,可以达到DES的10倍

4、非对称加密(公钥加密、私钥解密)
证书包含有:密钥公钥,网站地址,证书颁发机构,失效日期
密钥公钥:用于给客户端与服务器通信时加密使用

  1. 每个算法有两个密钥,公钥公开私钥自己保存;
  2. 公钥加密,私钥解密,可实现保密通信;
  3. 私钥加密,公钥解密,可实现数字签名;
  4. 数字签名:用于确认发送者身份和消息完整性的一个加密消息摘要
  5. 特点:接受者能核实发送者,发送者时候不能抵赖对报文的签名,接受者不能韦昭对报文的签名。

HTTPS握手简要过程

  1. 客户端提交HTTPS请求并告诉服务器自己支持哪些HASH算法

  2. 服务器响应客户,并把数字证书和证书公钥发给客户端,客户端在本地找到CA中心的公钥(根证书),验证证书公钥。

  3. 客户端验证证书公钥的有效性(能否用证书公钥解开数字证书,解开后得到服务端的公钥)

  4. 有效后,生成一个随机会话密钥

  5. 用服务端的公钥加密这个会话密钥后,发送给服务器

  6. 服务器收到公钥加密的会话密钥后,用自己的私钥解密,得到会话密钥

  7. 客户端与服务器双方利用这个会话密钥加密要传输的数据进行通信

学习笔记,如有不当之处欢迎评论区指正。
参考:https://www.cnblogs.com/fengfengyang/p/9852481.html

你可能感兴趣的:(笔记,https)