WebRTC学习笔记八 DTLS SRTP coturn穿透

489 篇文章 14 订阅
464 篇文章 13 订阅

一、DTLS SRTP

P2P连接建立之后,双方之间的通信安全是有保障的。但在连接建立的过程中,攻击者可以通过man-in-the-middle方式伪装中间人同时与通信双方建立连接并通信。

WebRTC使用两个预先存在的协议,数据报传输层安全(Datagram Transport Layer Security / DTLS)和 安全实时传输协议(Secure Real-time Transport Protocol / SRTP)。

DTLS使您可以协商会话,然后在两个peer之间安全地交换数据。它是TLS的同类产品,TLS是HTTPS所使用的技术,而DTLS与TLS的区别仅在与其使用UDP而不是TCP作为其传输层。这也意味着DTLS协议必须处理不可靠的数据传输。SRTP是专为安全的交换媒体数据而设计的。相对于DTLS而言,使用SRTP对传输媒体数据有一些优化。

TCP和UDP最大的区别是前者能够保证消息到达另一边。这也是TLS和DTLS的主要区别。DTLS有能力处理消息丢失和接收消息时顺序不正确的能力,它能够在UDP协议基础上使用。这使DTLS满足像WEBRTC这类应用程序的加密要求,它是非常不错的选择。

DTLS先被使用。它通过ICE提供的连接进行一次握手。DTLS是一种客户端/服务器协议,因此其中一侧需要开始握手。客户端/服务器的角色是在信令中被确定的。在DTLS握手期间,双方都会提供证书。 握手完成后,需要将收到的证书与会话描述中的证书哈希进行比较。这是为了确定握手的目标就是您所期望的WebRTC代理。接下来,可以将DTLS连接用于DataChannel通信。

要创建SRTP会话,我们使用DTLS生成的密钥对其进行初始化。SRTP没有握手机制,因此必须使用外部密钥进行引导。一旦完成此操作,媒体数据即可以用SRTP加密并进行交换!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值