<>dtls 协议

    DTLS(Datagram Transport Layer
Security),数据包传输层安全性协议,怎么使用有很多灵活性,只要掌握其中得基础概念,怎么使用都是靠人。
    其协议分为了两层,第一层为RL,第二层为HL
1 Record Layer:每条信息会加上header,尾部加上校验和,实际上就是标注自己得协议和校验。
2 Handshake Layer:提供给高层协议使用数据封装、压缩、加密等基本功能的支持,实际上是握手过程加上传输。

<>dos攻击

    DoS是Denial of Service的简称,即拒绝服务攻击,尤其是udp这种协议,由于不用链接和三次握手,所以给了攻击者一个方法:消息重放。
    消息重放也是 DoS 攻击的一种,攻击者可以截取发送者发送的数据,并直接原封不动地发给接收方,来达到欺骗接收方的目的。

    DTLS 增加了类似 IPsec AH/ESP 的消息重放检测,使用一个 bitmap 滑动窗口来接收消息,结合消息本身的序号,bitmap
可以判断该消息是否是太老的消息,是的话则直接抛弃。

    但这个有一个问题,就是 UDP 报文的重复有可能只是单纯因为网络错误而重发,这时候如何行事?

    所以DTLS协议可以加一个cookie得方式来做,也就是在握手中加入cookie,并且客户端必须将cookie进行加密验证,回送给服务端

当然,对于物联网场景下的DTLS,我们必须提供了一些扩展定义,这就是RFC7925,已经有了标准定义了。

<>总结

可以使用两种方式:
1 使用psk方式来增加cookie,握手过程比证书这种方式要轻量很多,虽然不是十分安全,但是握手过程对于dos这种重放攻击应该是够得,除非泄密。
2 使用非对称证书加密得方式来握手,这种方式更加安全,可以选择rsa或者ecc等非对称加密算法。

后面会给出一些示例代码。。。待续。。。

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信