【发布时间】:2012-01-01 00:18:39
【问题描述】:
为什么选择 TLS 为 SIP 的链路加密?
从paper 看来,TLS 似乎无法处理 UDP,而 SIP 不需要任何人单独使用 TCP!那么TLS如何保证互操作性!
如果改用 IPSec 会出现什么问题?
【问题讨论】:
为什么选择 TLS 为 SIP 的链路加密?
从paper 看来,TLS 似乎无法处理 UDP,而 SIP 不需要任何人单独使用 TCP!那么TLS如何保证互操作性!
如果改用 IPSec 会出现什么问题?
【问题讨论】:
目前,SIP 的 TLS 仅保护部分呼叫流程(邀请和注册)。用于 SIP over TCP 的 TLS 对注册有意义,因为 UAC 将传输凭据。其他 SIP 命令和媒体(音频/视频)仍将通过未加密的 UDP 发送。这是基于 SIP 的 TLS 最常见的用法,被大多数流行的基于 SIP 的 VoIP 电话(即 Skype、WhatsApp)所采用。
或者,可以通过 TCP 为 SIP 使用 TLS 并设置“内联”RTCP 流,其中所有 TLS、SIP 和媒体(音频/视频/DTMF)都通过相同的加密 TCP 流发送;但是,我不确定流行的基于 SIP 的 VoIP 电话(即 Skype、WhatsApp)是否可以支持这一点,尽管可以部署这种技术。相反,所有 RTSP 客户端(Windows Media、Apple QuickTime)都可以通过单个流支持内联 RTCP(指出这一点,因为 RTSP 和 SIP 几乎相同,只是去掉了动词)。
【讨论】:
在最好的情况下,基线 UDP 性能大约是 TLS(代理链模式)的三倍;在里面 最坏的情况下,UDP 的性能是 TLS 的 17 倍 (具有 TLS 和相互身份验证的本地代理)。这 绩效结果主要取决于是否以及如何 执行频繁的 TLS 连接建立,因为 TLS 会话协商会产生昂贵的 RSA 公钥 操作
【讨论】:
您可以使用 SIP over IPSec。 3GPP IMS SIP 甚至更喜欢这样。但是 IPsec 有一些严重的缺点。 要配置 IPSec,您必须在您的机器上拥有管理员权限。
与此相比,TLS 的部署要简单得多。
【讨论】:
您还有其他 UDP 方法,例如标头加密。
23.4.3 RFC 3261 中的隧道加密
【讨论】:
从一篇论文看来,TLS 不能处理 UDP,而 SIP 不能 要求任何人单独使用 TCP!那么互操作性如何 由 TLS 确保!
曾经是真的。 DTLS 为基于数据报的协议(如 UDP)提供 TLS
【讨论】:
从一篇论文看来,TLS 似乎无法处理 UDP,而 SIP 并不要求任何人单独使用 TCP!
TLS 在 TCP 级别上工作,因此 TLS 需要使用 SIP over TCP。
SIP 是在 HTTP 的影响下创建的。 TLS 针对 HTTP(也针对 SIP)进行了优化。
IPSec 的一个主要缺点是增加了原始数据包的大小。与 IPSec 相比,TLS 需要的开销更少。
Some comparison between TLS and IPsec
如果改用 IPSec 会出现什么问题?
根据 RFC 2119,RECOMMENDED 与 SHOULD 具有相同的强度。
"3. SHOULD 这个词,或者形容词“RECOMMENDED”,意思是有 在特定情况下可能存在忽略 特定项目,但必须了解全部含义并 在选择不同的课程之前仔细权衡。”
【讨论】: