【问题标题】:Difference between DTLS-SRTP and SRTP packets send over DTLS connectionsDTLS-SRTP 和 SRTP 数据包通过 DTLS 连接发送的区别
【发布时间】:2015-07-15 05:06:43
【问题描述】:

我有两个 SIP 端点,想通过 DTLS-SRTP 发送媒体。我对以下几点有点困惑

  1. 通过 DTLS 连接发送的 DTLS-SRTP 和 SRTP 数据包是相同还是不同?

  2. 如果不同,能否解释一下它们有何不同?

【问题讨论】:

  • 没有区别。 DTLS-SRTP 表示通过 DTLS 连接发送的 SRTP 数据包。

标签: webrtc sip rtp dtls


【解决方案1】:

DTLS 用于建立密钥,然后用于保护 RT​​P 流。建立密钥后,它们将用于加密 RTP 流以使其成为 SRTP(加密没什么特别之处,standard SRTP rfc3711),然后通过该 DTLS 通道发送。如果您阅读rfc5764,您可以获得更多关于 DTLS 通道是什么以及数据包解复用等的详细信息。

因此,DTLS 是 SRTP 交换的关键管理。请参阅rfc5764 section 4.1 获取一个小示例。

总而言之:如果通过 DTLS 连接的 SRTP 是指一旦交换了密钥并使用这些密钥加密媒体,则没有太大区别。主要区别在于,使用 DTLS-SRTP,DTLS 协商发生在与媒体本身相同的端口上,因此必须在这些端口上考虑数据包解复用。

【讨论】:

    【解决方案2】:

    以上答案几乎正确。在 DTLS-SRTP 中,DTLS 握手确实用于派生 SRTP 主密钥。

    但是,一旦获得主密钥,就不会使用 DTLS 来传输 RTP:RTP 数据包使用 SRTP 加密并直接通过底层传输 (UDP) 发送。

    【讨论】:

    • 发现您的答案更容易理解。尊重。
    猜你喜欢
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2015-02-05
    相关资源
    最近更新 更多