使用 XMPP 进行 VoIP 的安全性如何?
Posted
技术标签:
【中文标题】使用 XMPP 进行 VoIP 的安全性如何?【英文标题】:What is the security of using XMPP for VoIP? 【发布时间】:2013-08-22 16:35:08 【问题描述】:假设我使用 Jitsi 通过 XMPP 进行 VoIP 电话会议。是什么决定了安全性,它是 XMPP 协议本身的特性还是我正在使用的帐户/服务器(例如 www.jabber.org)?在他们提到使用 SSL 和 TLS 的 Jabber 网站上,这是否适用于 VoIP?
假设 XMPP 已经具备一定的安全性,使用 ZRTP 与仅通过 XMPP 进行常规语音通话相比有什么优势?
使用 SIP 和 XMPP 进行语音呼叫有没有区别,有或没有 ZRTP?
谢谢!
【问题讨论】:
【参考方案1】:XMPP 和 SIP 被称为“信令协议”。它们旨在提供允许两个客户端相互通信小数据包的通道。 SIP 的设计主要以信令为目标,而 XMPP 的设计主要以消息传递和在线状态为目标。不过随着时间的推移,两者都逐渐扩展到彼此的领域:)
但是,SIP 和 XMPP 在技术上都没有承载实际的语音/视频数据。这留给客户端使用信令协议进行协商的其他协议,例如 RTP、ZRTP 等(例如,他们需要交换 IP 地址和端口信息以及 ZRTP 的密钥)。
这意味着通过 SSL 运行 XMPP 对安全至关重要,但它只保护信令部分(客户端协商媒体通道)。语音/视频不经过XMPP通道,必须单独使用ZRTP进行保护。
【讨论】:
SSL 是不够的,因为它不能保证端到端加密,更糟糕的是,它依赖于或某种形式的(根据定义不可信的)“权威”。 (一个逻辑谬误。)PGP/GPG 构建信任网络的方式将是这样做的正确方式。 SSL/TLS 不要求您使用公认的 CA,可以(尽管在许多情况下不切实际)创建自己的 CA,并提供等效的安全性。 XMPP 管道中有端到端加密机制,当您必须使用不受信任的服务时(遗憾的是,OTR 虽然很受欢迎,但不足以保护媒体信号)。以上是关于使用 XMPP 进行 VoIP 的安全性如何?的主要内容,如果未能解决你的问题,请参考以下文章
在没有 VoIP iOS 的情况下保持 XMPP 套接字在后台活动
如何在 android 中编辑和删除 XMPP 中的特定消息?