首页 > 其他分享 >加解密与HTTPS(4)

加解密与HTTPS(4)

时间:2023-01-03 11:03:57浏览次数:41  
标签:HTTPS 会话 加解密 SSL 密钥 随机数 服务器 客户端

您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~

 


 

 

在互联网应用中,安全性问题已经越来越突出。从DDoS攻击、矿机劫持、乌云事件(白帽子变成黑帽子),到窃听、偷拍、强制植入(广告),参与互联网应用的软硬件设备越来越多。PC服务器、移动终端(手机、POS机、扫码枪、OBD)、各类NB-IoT/IoT终端、固件电路板(树莓派)等等,都可能成为被攻击的对象。

 

 

 

其实,所有这些问题,归纳起来就是三大风险:

1、偷窃:窃听、偷拍、倒卖、劫持;

2、篡改:包头、包内容、植入;

3、冒充:伪造、钓鱼。

所以,早在上个世纪(1994),为了解决这种网络通信的安全风险,有一群聪明人(NetScape公司)提出了一个解决方案:

1、通过引入加密与解密技术,来杜绝偷窃问题;

2、通过引入信息摘要与校验和,来杜绝篡改问题;

3、通过引入第三方认证机构,来杜绝身份冒充问题。

 

在上述背景下,SSL产生了,SSL全称是Secure Sockets Layer(安全套接字层),是为网络通信提供安全保障及数据完整性的一种安全协议。SSL位于TCP/IP与各种应用层协议之间,为通讯提供安全支持。SSL包含记录层与传输层,主流HTTP服务器都支持SSL。

 

 

 

SSL的基本运行过程包括下面几步:

1、客户端发出加密通信请求(ClientHello),并向服务器提供:用于会话密钥的随机数(第一个随机数)、加密算法和压缩算法;

2、服务器收到请求并向客户端回应(ServerHello):用于会话密钥的随机数(第二个随机数)、加密算法、压缩算法、服务器证书,以及索取客户端证书;

3、客户端收到服务器回应后,先验证服务器证书,否则显示警告,选择继续或终止访问。再从服务器证书中取出公钥,并向服务器发送:用服务器公钥加密的随机数(第三个随机数,pre-master key)、编码改变通知、客户端握手结束通知(前述所有内容的Hash值,给服务端校验);

4、服务器收到请求并作出当前会话的最后回应(ServerHello):收到第三个随机数并计算生成会话密钥,向客户端发送数据、编码改变通知、之前商定的加密方法、密钥和服务器握手结束通知(前述所有内容的Hash值,给客户端校验);

5、整个握手阶段结束。客户端与服务器通过HTTP及会话密钥进行消息通信。

需要注意的是:在最后一步「服务端收到第三个随机数并向客户端发送数据」时,以及后续的内容传输,采用的都是对称加密算法,原因是效率问题。

 

 

 

Netscape公司推出了SSL,而IETF(The Internet Engineering Task Force,互联网工程任务组)将SSL进行扩展并制定了一系列标准之后,提出了TLS。

TLS是SSL的升级版,是为了适应更广泛的应用场景,它的全称是Transport Layer Security(传输层安全),是继SSL之后的一种为保障互联网通信安全及数据完整性的安全协议。总的来说:

TLS1.0对应SSL3.1

TLS1.1对应SSL3.2

TLS1.2对应SSL3.3

 

 


 

 

感谢您的大驾光临!咨询技术、产品、运营和管理相关问题,请关注后留言。欢迎骚扰,不胜荣幸~

标签:HTTPS,会话,加解密,SSL,密钥,随机数,服务器,客户端
From: https://www.cnblogs.com/xiangwang1111/p/17021442.html

相关文章