我们将实施某种安全的 VoIP 方案。我们已决定VPN基于的方法,例如点对点隧道协议或者L2TP/IPsec和TLS基于方法的。问题是哪一个更好;对于 VoIP 应用来说更安全、更高效?如果我们同时使用这两种方法,我们能否获得更高的安全性(机密性、真实性和完整性)?提前谢谢您。
答案1
对于 VoIP 来说哪一个更安全、更高效:PPTP、L2TP 还是 TLS...
以下是与该问题相关的一些一般信息... VoIP 可以使用动态压缩代码和编解码器,因此无论底层加密技术如何,它们都可能不安全。例如,如果你能找到我:解密加密 VoIP 对话中的口头短语。
此外,美国国家安全局还使用商用硬件为美国政府生产了一款手机。这些手机使用两层加密。第一层是传统的 IPSec VPN。第二层是使用流加密的 VoIP安全传输协议通过 VPN 隧道传输数据。因此,两个都网络层和应用层安全。例如,Fishbowl(安全电话)。
此外,这个问题有点模糊(但不是很明显)...我们不知道你的安全模型是什么,也不知道你的威胁模型是什么,所以很难说哪个会(或不会)满足你的目标和目的。显然,NSA 的威胁模型包括 VPN 本身无法包含的密码分析 :)
答案2
对于架构,分别考虑两个维度的选项:
安全隧道与安全连接:
- 在 VoIP 场景中,通常涉及多个连接。VoIP 客户端向 VoIP 服务器注册,但对于实际呼叫,客户端直接连接。
- 与建立不安全的连接相比,建立安全连接需要花费巨大的开销,而安全隧道可以避免这种开销。
- 从概念上讲,某些攻击仅在连接阶段才可能发生,因此隧道减少了发生此类攻击的时间点的数量。
- 关于设置和维护,我更喜欢 VPN 连接。例如,没有不必要的服务器暴露,并且更容易接受连接的过滤规则(仅限本地 IP 地址)。此外,您主要必须单独监控隧道的安全公告,而不是必须监控所有暴露服务的安全公告。
- 至于安全性,安全隧道将使观察者无法看到两个 LAN 如何交互,因此他获得的信息会少得多,攻击点也会少得多。
具有安全较高层与安全较低层的两层隧道:
- 尽管在可能的攻击方面存在概念上的差异,但安全程度是相当的。
- 实际上,保护隧道可以提供更高的灵活性(见下文)。
关于您提到的具体解决方案:
- PPTP 存在缺陷且不安全,并且不能提供任何合理的安全性。
- L2TP/IPsec 是一种在安全连接上使用(本身)不安全隧道的方法。
- 安全性非常高,没有发现任何泄密事件,尽管有迹象表明情报机构曾试图引入漏洞。
- 需要固定的端口和协议,并且任何 IPv6 的使用都无法隐藏在隧道中,但对外部而言却是显而易见的。这意味着 VPN 端点之间的所有基础设施都必须支持此特定设置。
- OpenVPN 是一种通过(本身)不安全的连接建立安全隧道的方法。
- 使用 TLS,安全性非常高,并且没有已知的安全漏洞。
- 隧道可以使用任何 IP 基础设施,包括您选择的端口和隐藏隧道的内部详细信息,这样即使 VPN 端点之间的基础设施仅支持 IPv4,您也可以通过隧道路由 IPv6 数据包。
- IPsec 提供一种隧道模式,其中加密的数据包被包装成新的数据包。此模式与 L2TP/IPsec 的不同之处在于它提供的身份验证方法。每当您需要某种登录时,此模式都无法轻松使用。
结论:
- 选择隧道方法,因为其整体安全性(可能性)更高并且麻烦更少。
- 鉴于安全性相当,我更倾向于使用 OpenVPN,因为它具有更高的灵活性。但请研究这两种方法的安全性方面的细节;如果用户可以设置 OpenVPN 连接,那么它的安全性可能会大大降低。
- 如果性能比灵活性更重要,那么有人声称 OpenVPN 更快,但老实说,我会在特定情况下进行自己的测试,因为如果存在值得一提的性能差异,那么我不会期望它们仅仅基于软件(只是一种直觉)。