HTTPS加密过程

今天我们说https具体工作原理。

HTTPS概念

HTTPS是一种网络协议,传统的HTTP是明文传输,非常 不安全,所以HTTPS是基于HTTP基础上进行加密传输内容。

HTTPS使用加密传输方式

第一种是非对称加密,是前期建立连接时候使用的数据加密方式。这种加密方式必须有公钥key和私密key。

第二种是对称加密,是后期进行数据传输的加密方式 。

非对称加密与对称加密方式对比,需要消耗大量计算机资源。

HTTPS通讯流程

 上面是HHTPS加密流程,下面详细讲解:

1.第一步建立TCP连接,使用三次握手。

2.由客户端发起请求。这一步,客户端主要向服务器发送以下信息:

(1)客户端支持SSL/TLS协议版本,如 TLS1.2版本。

(2)客户端产生一个随机数,用于后面生产会话秘钥。

(3)客户端支持的加密算法列表,例如RSA加密算法。

3.服务器收到客户端请求后,向客户端发出响应,有以下内容。

(1)确认SSL/TLS版本,如果浏览器不支持,就关闭加密通道。

(2)服务器产生随机数,用于后面用于生产会话秘钥。

(3)确认密码加密列表

(4)  准备服务器的数字证书

4.客户端回应

客户端收到服务器的回应之后,首先通过浏览器或者操作系统中的 CA 公钥,确认服务器的数字证书的真实性。

如果证书验证没有问题,客户端会从数字数字钟去除服务器的公钥,然后进行加密,向服务器发送以下信息:

(1)一个随机数(pre-master key)。该随机数会被服务器公钥加密。

(2)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。

(3)客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时把之前所有内容的发生的数据做个摘要,用来供服务端校验。

3.客户端回应

客户端收到服务器的回应之后,首先通过浏览器或者操作系统中的 CA 公钥,确认服务器的数字证书的真实性。

如果证书没有问题,客户端会从数字证书中取出服务器的公钥,然后使用它加密报文,向服务器发送如下信息:

(1)一个随机数(pre-master key)。该随机数会被服务器公钥加密。

(2)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。

(3)客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时把之前所有内容的发生的数据做个摘要,用来供服务端校验。

上面第一项的随机数是整个握手阶段的第三个随机数,这样服务器和客户端就同时有三个随机数,接着就用双方协商的加密算法,各自生成本次通信的「会话秘钥」。

4.服务器的最后回应

服务器收到客户端的第三个随机数(pre-master key)之后,通过协商的加密算法,计算出本次通信的「会话秘钥」。然后,向客户端发生最后的信息:

(1)加密通信算法改变通知,表示随后的信息都将用「会话秘钥」加密通信。

(2)服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时把之前所有内容的发生的数据做个摘要,用来供客户端校验。

至此,整个SSL/TLS握手阶段结束。接下来根据会话秘钥进行加密通信。

证书验证

这个"证书"不是一个"纸质"的证书,而是一串数据(类似于一个对象,里面有很多属性),是数字证书,包括以下属性:

1.服务器的URL
2.证书的过期时间
3.颁发证书的机构
4.服务器自己的公钥pub
加密的签名(先对证书的所有数据计算一个校验和,然后由证书自己的私钥pri对签名进行加密)

 

客户端拿到证书后,首先会对证书进行校验:

1.得到初始签名:通过由证书提供的公钥对签名进行解密,拿到初始签名,记为sum1
2.计算现在的签名:客服端使用同样的签名算法,基于证书的所有属性,计算签名sum2
3.比较两个签名是否相同,如果相同,说明证书的内容没有被篡改,如果不相同,说明证书的内容被篡改了,此时客户端的浏览器会弹窗报错!!!

为什么说黑客改变不了加密证书内容

1.黑客将证书中服务器的公钥秘钥A改成自己的公钥秘钥B
2.黑客针对证书的各种属性重新计算签名
3.黑客将证书的内容重新加密,但黑客是不知道证书的私钥A的,所以无法进行加密。(此处是关键,黑客并不是"看不到",而是"改不了") 

  • 22
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值