DTLS是什么?它和TLS有什么关系?

通过之前的文章,我们可以知道TLS可以看做是SSL的升级版,而我们今天要聊的这个DTLS和TLS是什么关系呢?让我们接着往下看。

DTLS的简介

在了解DTLS之前,我们先来了解另一个名词,叫做UDP,它的全称为User Datagram Protocol,中文名是用户数据报协议。UDP的特点就是它是无连接的,但同样有安全传输的需求,而TLS协议并不能用于UDP协议,于是就有了DTLS协议。

DTLS全称为Datagram Transport Layer Security,中文名为数据包传输层安全性协议,它是基于TLS扩展,使之支持UDP协议,DTLS 1.0 基于 TLS 1.1,DTLS 1.2 基于 TLS 1.2(所以没有DTLS1.1版本)。

DTLS

DTLS的基本原理

DTLS协议由两层组成: Record协议和Handshake协议。

  1. Record协议: 使用对称密钥对传输数据进行加密,并使用HMAC对数据进行完整性校验,实现了数据的安全传输。
  2. Handshake协议:使用非对称加密算法,完成Record协议使用的对称密钥的协商。

DTLS和TLS的区别

简单的来说,DTLS是TLS的升级版,两者的握手过程基本上是一致的,差别以及特别说明如下:

  • DTLS中HelloVerifyRequest是为防止DoS攻击增加的消息。
  • TLS 没有发送证书申请,这个也不是必须的,是反向验证即服务器验证客户端。
  • DTLS的Record协议 新增了序号和纪元,以及ClientHello中新增了Cookie,以及握手中新增了碎片信息(防止超过UDP的MTU),都是为了适应UDP的丢包以及容易被攻击做的改进。
  • DTLS最后的警报是将客户端的加密警报消息,解密之后直接响应给客户端的,实际上服务器应该回应加密的消息,这里服务器回应明文是为了解析客户端加密的那个警报包是什么。

DTLS

DTLS协议的作用

DTLS使用非对称加密分发对称加密的密钥,即DTLS握手。DTLS握手完成后,即可使用对称加密的密钥进行加密通信。

  • DTLS握手流程如下:

DTLS握手流程

DTLS的安全性在以下几个方面得到了保障:

  • DTLS在握手时进行Cookie校验,防止dos攻击(放重放)。
  • DTLS在握手时具有身份证书和数据签名,防止篡改和冒充。
  • DTLS在握手时使用公钥密码进行加密,防止秘密密钥被泄露。
  • DTLS在通信时使用秘密密钥进行加密,防止通信内容泄露(机密性)。
  • DTLS在传输方面使用HMAC对数据完整性进行校验,防止数据被篡改(完整性)。

总结来说,DTLS可以看做为TLS的升级版,使其可以在UDP协议正常使用,为给UDP提供端到端的安全通道。

免责声明:素材源于网络,如有侵权,请联系删稿。

相关推荐

什么是TLS?TLS的发展史

在之前的文章中,我们讲了TLS和SSL的区别,那么我们今天就来全面了解一下什么是TLS。 什么是TLS? TLS全程为Transport Layer Security,中文名叫做传输层安全性协议,和它的前身SSL一样,是一种旨在提供计算机网 ...

TLS和SSL一样吗?有什么区别?

之前的文章中,我们谈及了SSL,今天我们就来聊一聊它的“孪生兄弟”——TLS。 说起TLS,就不得不提起SSL,它们就像“孪生兄弟”,一样但又不完全一样。 什么是SSL? SSL(Secure Socket Layer 安全套接层)是TCP/IP协议 ...

HTTPS(超文本传输协议安全)的安全漏洞

意大利威尼斯CA'Foscari大学和奥地利Tu Wien大学的研究人员发现,超过10000个使用HTTPS的顶级网站仍然容易受到传输层安全漏洞的攻击。HTTPS(超文本传输协议安全)在几年前取代了HTTP,目前大多数顶级网站都在使用 ...

简述CASB代理网关加密技术

数据库的加密技术一般有两种模式,一种是库内加密,如FDE(全磁盘加密)、TFE(透明文件加密),一种是库外加密,如外挂加密、网关加密。下面我们就来了解一下CASB代理网关加密技术。 CASB代理网关加密的原理 CA ...