计算机网络程序员

TLS3.0简述

2019-04-14  本文已影响7人  羞涩的老湿鸡

何为TLS3.0?


TLS3.0在上一篇文章中已讲到是TLS1.0和2.0的升级版,是由IETF提出。

SSL、TLS简单介绍

IETF是干嘛的?


IETF是国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF)

IETF的主要任务是负责互联网相关技术标准的研发和制定。

TLS是干嘛的?


TLS(Transport Layer Security)安全传输层协议是负责两端通信的数据完整性与保密性的。

该协议划分两大部分、分别是TLS记录协议(Record)和TLS握手协议(Handshake)。

为何使用TLS协议?


在早期TLS协议还未出现之前,我们熟知的HTTP、FTP等协议均存在安全隐患问题,我们的数据在传输过程中都是明文传输数据。在上一章“HTTPS详解”文章中我们也提到,如果传输过程中一旦明文数据被拦截,被篡改,接收者无法分辨对方身份和数据的合法性与完整性。为了解决此类问题,HTTPS采用的解决方案便是加入TLS安全传输协议层。

HTTPS详解

TLS在HTTPS传输过程中所起到的作用


1、数据的保密性(message privacy)数据均采用加密技术实现。

2、数据的完整性(message integrity)通过MAC校验机制,数据一旦被篡改,双方都可得知。

3、认证(mutul authentication)双方认证,双方都可以配备证书,防止身份被冒充。

TLS Handshake(握手协议)


据手协议在上一文章HTTPS详解中实际已经讲到,这篇文章在简单回顾一下。

1、客户端先向服务端发起请求,并发送TLS协议版本号,压缩算法、所支持的加密算法集合与随机数C等相关相息。

2、服务端接收到请求后,会先校验是否支持客户端发送的加密算法集合。如校验通过,则分别采用对称加密与非对称加密两种加密算法,连同本身的数字证书,随机数S一起发送给客户端。

3、客户端收到该数字证书后,会查找该数字证书是否在受信任的列表之内。如果该证书是可信任证书,则取出证书中的公钥用来生成一个“预主秘钥”,并通过该预主秘钥和随机数C和S通过一定算法合成“会话秘钥”,

4、客户端将通过公钥生成的“预主秘钥”发送给服务器

5、服务器通过私钥解析得到“预主秘钥”,并采用相同办法将预主秘钥和随便数C、S通过算法合成“会话秘钥”

6、双方通过“会话秘钥”,也就是通过对称加密算法对通讯内容进行加密。

TLS记录协议(Record)


记录协议主要负责消息的压缩、加密与数据的安全认证。

1、首先将消息进行分割成多个片段,然后分别对每个片段进行压缩,所采用的压缩算法,是通过与通信对象协商决定的。

2、针对每个片段信息加了编号与MAC值信息。通过校验MAC来确认信息是否被篡改,

3、针对每个片段信息通过双方协商的“会话密钥”,进行数据加密。

4、最后,上述经过加密的数据再加上数据类型、版本号、压缩后的长度组成的报头(header)就是最终的报文数据。

上一篇下一篇

猜你喜欢

热点阅读