我是VOIP概念的新手。我刚刚参加了VOIP课程。我对使用TLS,IPSEC和Digest的SIP的实现感兴趣。
我想看看SIP信令是否使用IPSEC而不是TLS,它会如何影响性能,单一信号会耗费多少时间?它会增加安全性还是降低安全性。
我正在寻找具有TLS / IPSEC机制的软电话,以便我可以分析wireshark上的两个数据包,但我没有遇到任何问题。有关如何做到这一点的任何建议吗?
提前感谢!
答案 0 :(得分:0)
软电话并不明确支持IPSEC,因为它是一种网络层协议。 SIP RFC中处理的最低级别是传输层,它提供3种备选方案,即UDP,TCP和TLS。
SIP信令在IPSEC上可以正常工作,因为它不是那么时间敏感的。即使SIP请求和响应的延迟1或2秒也几乎不会引起注意。但是,如果引入额外的延迟,则承载呼叫媒体的RTP流量很可能会受到影响。
答案 1 :(得分:0)
让我们假设您必须在端点(软电话或硬件)和呼叫控制引擎之间保护SIP信令,还假设端点和呼叫控制都位于同一园区,LAN或专用网络中。 正确的选择是在端点和呼叫控制引擎之间使用TLS,大多数端点在其实现(固件或软件)中都支持TLS。无论如何,这对于移动工作人员也同样适用(他们从互联网建立TLS,并将经过身份验证的前端放置在公司内部的DMZ中); TLS非常适合那些不需要安装其他客户端的情况。
另一方面,要在IPSec内部保护SIP,您需要首先在便携式计算机(sip客户端所在的位置)上安装IPSec客户端,IPSec客户端才能通过公司中的IPSec网关来建立安全性(管理起来更加复杂和昂贵) )。简而言之,IPSec非常适合那些需要在整个公共网络的LAN之间保持私密性的繁琐工作(IPSec隧道模式在IPsec网关之间设置)。
当谈论使用TLS或IPSec的SIP时,您不能否定RTP。 要使用SecureRTP,则选择TLS协议。在会话建立过程中,SIP实体在SDP主体内交换TLS参数(例如用于保护RTP的芯片组),请查看日志以查看SIP内部的SDP。在交换结束时,SIP实体能够确保RTP流量安全,因为它们同意了公共会话加密密钥(是从密钥交换协议派生的模拟密钥)。
由于IPSec不同,因此SDP或SIP消息中没有交换IPSec信息。首先设置IPSec隧道,然后在隧道内发送流量,该流量也可以是SIP和RTP。请注意,在IPSec隧道模式下,原始数据包被封装在一个新的IP数据包(有一个外部IP头)上,因此会增加开销和处理。.
摘要: 考虑到您的环境,使用TLS和IPSec可以保护SIP。我会尽可能考虑TLS。 使用TLS可以保护RTP,这称为SecureRTP(加密,消息身份验证和完整性以及对RTP数据的重放攻击保护)。 使用IPSec保护RTP \ SIP需要付出更多的努力。当您需要保护的不仅仅是SIP \ RTP时,请考虑IPSec隧道。 当您决定将IPSec与语音\视频一起使用并且遍历NAT设备时,请查看NAT遍历功能。