如何使用dtls协议抵御重放攻击
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等非对称加密算法。
后面会给出一些示例代码。。。待续。。。
如何使用dtls协议抵御重放攻击相关推荐
- 音视频开发系列(19)玩转 WebRTC 安全通信:一文读懂 DTLS 协议
在 WebRTC 中,为了保证媒体传输的安全性,引入了 DTLS 来对通信过程进行加密.DTLS 的作用.原理与 SSL/TLS 类似,都是为了使得原本不安全的通信过程变得安全.它们的区别点是 DTL ...
- CBC加密模式本身不能抵御重放攻击
一些文章书籍中讲到,ECB.CFB加密模式不能抵御重放攻击,举的例子是:用旧报文替换部分新报文达到欺骗接收者的目的.言外之意,似乎CBC模式可以抵御这种攻击.实际情况是不是这样呢?网上一通翻腾竟然 ...
- DTLS协议中的509证书和密钥如何传输
DTLS协议 在openssl中,创建DTLS环境都已经被封装好了 ssl_ctx = SSL_CTX_new(DTLS_method()); 接下去我们编程的时候有两种方式去使用DTLS,1 是直接 ...
- 详解 WebRTC 传输安全机制:一文读懂 DTLS 协议
DTLS(Datagram Transport Layer Security) 是基于 UDP 场景下数据包可能丢失或重新排序的现实情况下,为 UDP 定制和改进的 TLS 协议.在 WebRTC 中 ...
- WebRTC服务器理论铺垫(六):OpenSSL协议,DTLS协议,RTP协议和SRTP协议
文章目录 一.SSL协议 二.OpenSSL 三.TLS和DTLS 四.DTLS的通信的步骤图 五.RTP协议和SRTP协议 5.1 详解RTP协议 5.2 详解RTCP协议 5.3 RTP & ...
- DTLS协议学习记录
DTLS基于UDP协议 1.DTLS握手协议 2.DTLS时序图: 2.1.实际上在握手之前还需要做很多事情,其中之一就是交换SDP信息,也就是媒体协商(需要通过信令进行连接),其中也包含交换了ICE ...
- DTLS数据包传输层安全性协议详解
目录 1.DTLS的特点 2.DTLS相比 TLS做了一些改进 3.DTLS的消息格式 3.1.记录层 3.2.传输层映射 3.3.记录负载保护 3.4.握手消息格式 3.5.握手交互消息内容 互联网 ...
- 网络协议文档阅读笔记-TLS vs DTLS | Difference between TLS and DTLS
TLS是工作在除应用层协议外最顶层的协议.也就是传输层协议,这个协议,在有些文档中称为应用层的子协议.DTLS与TLS区别就在那个D,也就是Datagram TLS协议 TLS:提供了应用程序(如We ...
- java dtls server_DTLS协议(基于UDP)中client/server的认证过程和密钥协商过程
我的总结:DTLS的握手就是协商出一个对称加密的秘钥(每个客户端的秘钥都会不一样),之后的通信就要这个秘钥进行加密通信.协商的过程要么使用非对称加密算法进行签名校验身份,要么通过客户端和服务器各自存对 ...
最新文章
- 施一公:优秀博士如何养成(全文) 清华大学演讲
- java线程池队列场景,Java面试题汇总
- 实用技巧:Linux操作系统Vim/Vi编程提速
- SPI分配传感器的寄存器
- ANSYS——常见梁的后处理方法(弯曲应力、弯矩、轴力等的显示)
- SQL Server2008函数大全(完整版)
- phpstorm设置背景图片
- 联网时浏览器跳出MSN中国
- 胆战心惊形容什么_胆战心惊的近义词
- SAP 增强学习(4):四代增强 隐式增强(Enhancement-Point)
- 【经典】《Java170道面试笔试题全面含答案》涉及java/数据库/Spring框架/JVM/数据结构算法/设计模式相关
- webpack雪碧图生成
- 黄向东:工业物联网数据库 IoTDB及其应用
- 计算机开机的四个画面,电脑系统开机时的欢迎使用四个漂亮字如何修改
- 网易邮箱登录界面制作方法
- python文本编辑器怎么运行_python程序编辑和运行的几种方法
- java 去掉前后逗号_java 怎样去掉最后面那个逗号
- Web自动化selenium技术快速实现爬虫
- WIN10 未安装任何音频驱动 扬声器有个小红叉(已解决)
- SecureCRT永久设置和配色方案
热门文章
- chromedriver与chrome各版本及下载地址,截止到2018.5.30
- 70. Climbing Stairs 题解
- 首页 系统相关 正文 小米手机远程和电脑互相连接及控制的方法
- 安装Microsoft Visual Studio 2008的时候,经常会出现Microsoft Visual Studio Web创作组件安装失败的情况
- iPhone 15有望配备潜望式摄像头 供应商已宣布投资建厂
- 超大杯来了!一加10 Ultra将在第三季度登场:或搭载OPPO 自研影像芯片
- 《李焕英》票房反超,全靠《唐探3》衬托?
- 又涨价了!华为 P40系列海外售价曝光:还好国行版友好不少
- 马斯克:特斯拉智能召唤功能已被使用超过55万次
- 不能再任性 APP收集个人信息基本规范公开征求意见