通过 DTLS 连接发送的 DTLS-SRTP 和 SRTP 数据包之间的区别
Difference between DTLS-SRTP and SRTP packets send over DTLS connections
我有两个 SIP 端点,想通过 DTLS-SRTP 发送媒体。我在以下几点有点困惑
通过DTLS连接发送的DTLS-SRTP和SRTP数据包是相同的还是不同的?
如果不同,你能解释一下它们有什么不同吗?
DTLS 用于建立密钥,然后用于保护 RTP 流。一旦建立了密钥,它们就会用于加密 RTP 流以使其成为 SRTP(加密没有什么特别之处,standard SRTP rfc3711) and then sent over that DTLS channel. If you read rfc5764,您可以获得有关 DTLS 通道是什么以及对数据包进行多路分解等的更多详细信息。
因此,DTLS 是 SRTP 交换的关键管理。见 rfc5764 section 4.1 的小例子。
总而言之:如果通过 DTLS 连接上的 SRTP,您的意思是一旦交换了密钥并使用这些密钥加密媒体,就没有太大区别。主要区别在于使用 DTLS-SRTP 时,DTLS 协商发生在与媒体本身相同的端口上,因此必须在这些端口上考虑数据包解复用。
以上答案几乎正确。在DTLS-SRTP中,确实使用了DTLS握手来派生SRTP主密钥。
但是,一旦获得主密钥,就不会使用 DTLS 传输 RTP:RTP 数据包使用 SRTP 加密并直接通过底层传输 (UDP) 发送。
我有两个 SIP 端点,想通过 DTLS-SRTP 发送媒体。我在以下几点有点困惑
通过DTLS连接发送的DTLS-SRTP和SRTP数据包是相同的还是不同的?
如果不同,你能解释一下它们有什么不同吗?
DTLS 用于建立密钥,然后用于保护 RTP 流。一旦建立了密钥,它们就会用于加密 RTP 流以使其成为 SRTP(加密没有什么特别之处,standard SRTP rfc3711) and then sent over that DTLS channel. If you read rfc5764,您可以获得有关 DTLS 通道是什么以及对数据包进行多路分解等的更多详细信息。
因此,DTLS 是 SRTP 交换的关键管理。见 rfc5764 section 4.1 的小例子。
总而言之:如果通过 DTLS 连接上的 SRTP,您的意思是一旦交换了密钥并使用这些密钥加密媒体,就没有太大区别。主要区别在于使用 DTLS-SRTP 时,DTLS 协商发生在与媒体本身相同的端口上,因此必须在这些端口上考虑数据包解复用。
以上答案几乎正确。在DTLS-SRTP中,确实使用了DTLS握手来派生SRTP主密钥。
但是,一旦获得主密钥,就不会使用 DTLS 传输 RTP:RTP 数据包使用 SRTP 加密并直接通过底层传输 (UDP) 发送。