IP 语音 (VoIP) 有望颠覆百年语音电话模式,打破公共交换电话网络 (PSTN) 的传统单一服务模式,并将控制和配置点从中心局交换机转移到最终用户的设备。按照互联网的传统,将智能置于边缘具有许多后果:更广泛的开发者社区——特别是庞大的 Web 服务开发者社区——可以从事语音应用程序的开发;开放的接口和可分解的功能有助于多供应商和“自制”解决方案;开源和非专有软件开发可以促进创新和实验。用户本身将在定义、实施和控制电话服务功能方面发挥更大的作用。与之形成对比的是,通过单一普遍的专用网络 PSTN 提供传统语音服务已超过 100 年的历史。PSTN 的典型特点是,服务与硬件(电路交换机)供应商携手开发,产品及其运营是严密保守的专有事务,因此,此类产品的供应商相对较少,而受过语音服务开发培训的软件工程师也相对较少。
VoIP 凭借其包容性、创新性和增长前景,也带来了挑战。VoIP 不易于保护安全。它遭受与任何互联网应用程序相关的所有问题,并且由于其与 PSTN 的互连,VoIP 安全变得更加复杂。一系列信任、实施和操作复杂性使 VoIP 安全尤其复杂。事实上,使 VoIP 软件模型如此强大的相同方面——其灵活、开放、分布式的设计——正是使其可能存在问题的原因。与 PSTN 的情况不同,没有中央实体负责语音服务的设计、实施和监控。我们正在转向一个许多程序员都可以创建语音应用程序的环境。但是,设计不良的代码为潜在的安全漏洞敞开了大门。关于安全机制调用的选择将掌握在开发人员手中,而这些服务的测试和验证可能会以分布式且可能临时的方式进行。此外,与 PSTN 相比,个人用户的期望和成熟度将更大程度地驱动服务的安全性。正如 VoIP 模糊了谁可以开发服务的界限一样,它也模糊了谁可以部署和配置服务的界限。实施者和最终用户将在配置和更改语音服务方面发挥越来越大的作用,并且在许多情况下,由此产生的配置错误事件将暴露安全漏洞。
尽管如此,虽然 VoIP 提出了许多安全挑战,但它也为安全提供了重要的、根本性的机会。将语音服务置于与一系列通信和其他服务相同的地位并共享通用协议,也使我们能够跨所有服务利用安全解决方案。具体而言,从令人兴奋但混乱的互联网世界中学到的许多(有时是痛苦的)关于安全防护的知识可以直接应用于 VoIP。相同(或相似)的经典措施可以应用于 VoIP,以实现保密性、完整性和可用性。如此实现的规模和范围经济应该使我们能够在 PSTN 世界中无法想象的一系列用途中提供经济实惠、适当且灵活的安全性。
在本文中,我们将从软件和网络工程的角度考虑 VoIP 的安全性。虽然我们考虑了安全性的传统方面,即保密性、完整性、身份验证、授权和可用性,但我们将重点关注更广泛的问题,例如软件设计、实施和互操作性。我们的目的不是提供开发安全 VoIP 软件的食谱书或实施安全协议的教程。1, 2, 3 相反,我们将考虑 VoIP 软件开发的方向,以及这可能创造的安全挑战和机遇。
理解 VoIP 对安全的影响的关键在于首先理解 VoIP 引起的语音电话的分解。由此,我们可以检查其安全影响的细节以及软件和网络工程界应采取的一些行动。
在 20 世纪后半叶,PSTN 的设计从相对简单的机械交换机发展而来,这些交换机以分层方式连接,大部分智能和控制都位于本地交换机,发展到处理多种功能的复杂数字交换机,仍然以本地智能和控制为主,再到当前的“智能网络”设计,其中大量的智能和控制已从本地交换机迁移到网络核心。这种转变包括向数字系统、软件控制和通用计算平台的转变。如图 1 所示,资源控制从本地交换机迁移到网络更深处,但始终在运营商的控制之下。在将智能移向网络核心的过程中,PSTN 服务提供商(除其他事项外)旨在提高效率和增强安全性。
正如本期其他文章所述(参见 Sherburne 和 Fitzgeralds 的“You Don’t Know Jack about VoIP”,第 30 页和 James E. Coffman 的“Not Your Father’s PBX”,第 40 页),存在各种可能的 VoIP 实施方式,每种方式都取决于协议的选择和这些协议的特定实施。现在可以以高度分布式的方式提供服务,各种功能由最终用户或服务聚合商拼凑在一起——并在整个网络中维护,并以各种方式由用户、网络提供商或两者共同控制。提供商、组件和配置的多样性(如图 2 所示)将是 VoIP 安全面临的实施挑战之一。此外,市场上 VoIP 产品的特性比传统电话产品更加多样化,部分原因是商业模式的实验与技术可能性的实验以相似的速度进行。与无线电话一样,这些 VoIP 模型表明,用户愿意为了其他一些属性(例如价格点或移动性)而牺牲传统期望,例如服务质量或可用性。这并不意味着用户不重视服务质量或可用性,但这确实破坏了 PSTN 中成熟的概念,即在不可接受的服务和可接受的服务之间存在明显的转变,而与其他权衡无关。这种区分服务、协议、实施、提供商和价格的能力和意愿对将要发展的安全模型具有重大影响。
正如 VoIP 可以部署在相当安全的环境中(例如,安全和/或可信),它也可以部署在潜在不安全的环境中。在这样的环境中,安全漏洞和潜在攻击是很多的。可以对底层网络、传输协议、VoIP 设备(例如,服务器和网关)、VoIP 应用程序、其他相关应用程序(例如,动态主机配置协议 DHCP)、底层操作系统等发起攻击。产品设计中引入的漏洞将是一个持续关注的问题,不正确的配置和实施也是如此。事实上,基本的范式转变——语音只是在共享的基于 IP 的基础设施上运行的另一项服务——质疑了我们对语音安全的基本期望。所采用的技术特性通常微妙地或不那么微妙地影响安全期望和担忧。例如,在电子时代之前,对保密性的经典攻击是“蒸开”信封;人们期望存在风险,并针对此特别制定了对策。但是这种攻击及其对策显然与电话交谈无关。幸存下来的是对保密性的共同关注,我们在表 1 和下面的文本中转向了这些基本安全问题和系统特性。
有线 PSTN 中的安全期望受到其物理特性和操作的强烈影响。隐私和保密性得益于物理访问线路以进行窃听的难度。虽然任何人都可以轻松地在房屋侧面窃听电话线(如果他们可以秘密物理访问),但在网络内部这样做要困难得多。因此,用户感到相对安全,免受除决心坚定的攻击者之外的所有攻击,并且很少考虑进一步保护机密性的方法。执法部门依赖这种期望,并在《通信协助执法法案》(CALEA) 的支持下,可以期望在获得法院命令授权时拦截和收听对话。但是,对于 VoIP,语音对话可以在具有不同拦截特性的许多不同物理网络上流动。用户现在对网络的一致安全性不太自信,可能会调用端到端安全机制,例如强加密。反过来,执法人员现在在想要拦截流量时面临更大的挑战,这既来自可能存在的各种路由,也来自强加密。隐私和其他社会政策目标之间的这种新互动目前正在引发重大争议。为了研究这个问题,我们可能会区分不同类型的 VoIP:运营商 VoIP 和非运营商 VoIP。对于非运营商类型的 VoIP,CALEA 目前似乎不适用——本质上,这种 VoIP 就像电子邮件,而 CALEA 明确声明不适用于信息服务。对于更像运营商类型的 VoIP,特别是那些与 PSTN 连接的 VoIP,这个问题现在在联邦调查局 (FBI) 最近向联邦通信委员会 (FCC) 提出的请愿书中提出。FCC 可能会批准此请愿书,并得出结论,认为 VoIP 是 CALEA 目的的电信服务。无线 PSTN——移动电话——已经看到了一些类似于 VoIP 引起的改变。例如,相对于物理连接到线路,窃听无线电传输的容易程度促使蜂窝行业开发和标准化加密技术,以保护蜂窝电话对话的隐私。但是,VoIP 将在改变安全性的构想和解决方式方面走得更远。
完整性是指我们可以依赖我们发送或接收的内容与我们的意图一致的想法。随着 VoIP 在各种网络上传输,消息(语音或信令)可能会在网络内被修改或欺骗,尽管人类的说话人识别能力使这比欺骗电子邮件更具挑战性。自然的反应是,再次转向使用加密和相关技术的安全性。启用这些类型的安全机制的密钥分发可能会在很大程度上借鉴持续的公钥基础设施发展。特别是,当我们想要验证少量重要的中央组织时,当前用于分发证书和建立信任的机制可能效果良好,但是使用公钥基础设施来验证所有 VoIP 客户端会产生问题。例如,我们如何才能确信每个申请并支付证书费用的个人就是他们声称的人?
可用性意味着在需要时服务存在。在 PSTN 中,可用性通过网络工程和对网络的有限访问来确保。随着语音在基于互联网的网络上传输,诸如拒绝服务 (DoS) 和分布式 DoS 攻击等问题对服务的可用性构成了重大威胁。解决这些问题将需要采用互联网上其他地方正在应用的相同技术,即适当的网络设计和访问控制。当然,DoS 攻击也发生在 PSTN 中,例如通过“拨号器”等机制。阻止发起 DoS 攻击的一个不利因素是 PSTN 中内置的强大身份验证技术。无法识别互联网上 DoS 攻击的煽动者使得这些攻击更难以应对。虽然正在进行研究以提高追踪此类攻击的能力,但这些努力仅取得了有限的成功。然而,重要的是要强调,VoIP 的极端分布和缺乏单一瓶颈表明其在应对 DoS 攻击和拥塞威胁方面具有更大的长期优势。
经典的安全问题还包括确保谁参与通信(身份验证)并且只向他们提供适当的功能(授权)。电话公司根据客户连接的线路识别客户。PSTN 的物理特性——基于线路、基于电话号码作为地址的电路交换——意味着接收者的身份验证仅限于依赖电路交换机将呼叫正确路由到电话号码标识的终端,而发送者的身份验证和授权则限制为可以根据发送者的电话号码(通过来电显示)和识别呼叫者的声音做出的决定。不幸的是,语音识别在许多重要呼叫(例如,911 紧急呼叫和商业交易)中被证明无效,这些呼叫涉及从未交谈过的各方。在这里,VoIP 提供了改进功能的潜力,因为可以应用身份验证技术(例如,用户名和密码、生物识别技术以及智能卡和密钥等物理设备),以便我们验证的不是设备而是人。此外,还存在更丰富的授权功能,可以根据发送者或接收者的经过身份验证的属性以不同的方式路由呼叫(例如,我家人的呼叫无论我走到哪里都会跟随我,但商业伙伴只能在工作时间在办公室或我的手机上联系到我)。但是,基于用户身份的可能操作的组合可能会变得难以管理。在这里,关键的发展在于基于角色的授权,其中功能根据用户在一个类中的成员资格来确定,并且实体之间可能会建立足够的信任以基于共同理解的角色跨实体边界授权用户。
实施这些更高级的身份验证和授权技术应有助于解决诸如 VoIP 垃圾邮件以及通常预计会困扰 VoIP 应用程序的互联网弊病等迫在眉睫的问题,只要它们的创建者找到机会(例如,间谍软件应用程序,记录用户的行为——在这种情况下可能是他们呼叫的人——并在用户不知情的情况下收集数据)。同样,互联网安全性的总体改进将有助于保护 VoIP 的安全,作为对集成到互联网中使 VoIP 暴露于这些问题的补充。在法律方面,我们才刚刚开始看到可能发生的事情的暗示。目前尚不清楚 VoIP 垃圾邮件是否会受到与其他电子邮件垃圾邮件相同的法规的约束,目前的法规非常少,或者它是否会遵循传统电话领域中看到的更积极的监管。
最后,将具有非常不同的安全假设的域——开放且半混乱的互联网和封闭且隔离的 PSTN——结合在一起的一个后果是,为威胁从健壮网络泄漏到脆弱网络创造了机会。用于在 VoIP 和 PSTN 信令之间转换信令的不安全网关可能会将威胁引入到 PSTN 的元素中,而这些元素的最初设计并未考虑到此类威胁。这里的解决方案是在网关功能中采取更高程度的谨慎措施,并努力提供比任何一个网络的内部节点中的正常设计关注点更高程度的隔离。
VoIP 系统的开发方式、它们可以包含的功能范围以及它们嵌入的系统对安全性具有重要影响。
对于 VoIP 软件开发,关键的关注点包括软件稳定性、健壮性和互操作性。这些问题会影响软件的最终安全性,因为缺陷、不稳定性、缺乏健壮性和缺乏互操作性都会造成潜在的安全漏洞——操作系统和互联网应用程序的创建者对此深有体会。在解决这些问题时,开发人员需要像他们在数据世界中开发健壮和安全的 VoIP 应用程序时一样,考虑相同的原则。软件社区在开发(如果不是始终遵循)健全的软件工程实践方面付出了相当大的努力。VoIP 构建在与其他互联网应用程序相同的协议和基础设施之上,将受到我们在互联网上面临的所有安全问题的影响,包括病毒、拒绝服务、软件漏洞、垃圾邮件和未经授权的访问。好消息是,虽然安全问题永远无法完全解决,但保护互联网安全的过程已经相当成熟。虽然 VoIP 开发人员应该吸取互联网的安全教训,但也应该考虑 PSTN 的教训。在操作方面,存在经典的电话问题,例如功能交互。当多个功能以阻碍服务所需操作的方式交互时,就会发生功能交互,例如当用户将呼叫转接到已阻止该转接号码的号码时。然而,正如 Lennox 和 Schulzrinne 所述,4 虽然 VoIP 为功能交互带来了一系列新的复杂性,但它也提供了一些新的解决方案。
大多数 VoIP 实施将语音传输(例如,实时传输协议 RTP)、信令(例如,会话发起协议 SIP)和服务创建彼此分离,并允许每个都维护相当复杂的选项集。这些选项不是静态的,而是有意允许演变的。为了进一步使问题复杂化,VoIP 领域中存在许多协议(专有的和非专有的),其中一些是互补的,而另一些则在某种程度上是可替代的(例如,存在两种广为人知的 VoIP 信令协议——SIP 和 H.323 标准)。这造成的内在复杂性反映了互联网的复杂性,并要求互联网上已经发展起来的相同类型的互操作性机制(例如,正式的标准机构;行业联盟;一对一的互操作性测试;共享通用的、经过良好调试的模块实施;以及精心构建的回退机制——回退到不太理想但功能正常的行为的能力,该行为可以由所有各方实施,或者在需要时下载功能的能力)。例如,SIP 社区通过 SIPit 活动(参见 http://www.sipit.net)参与互操作性测试。这些活动允许实施者测试其产品的互操作性,包括各种安全功能。为了进一步帮助实施,SIP 规范提供了一个单独的实施者章节,其中包括对各种安全方法、要求和协议的描述。
为了简要探讨在一个这样的 VoIP 相关协议中如何提供安全性,让我们考虑 SIP。按照互联网的传统,SIP 在很大程度上依赖于其他协议来提供其他功能,包括安全性。SIP 使用 IPSec(互联网协议安全,一种网络层安全协议)和 TLS(传输层安全,一种传输层安全协议),并借鉴了现有方法,例如 S/MIME(安全多用途互联网邮件扩展)和 HTTP 摘要身份验证。SIP 不为媒体(实时协议,RTP)流提供加密;这在 RTP 规范 3 和通过安全 RTP 等技术中单独解决。2 表 2 概述了 SIP 安全协议的非详尽列表。
类似于软件关注点从单片代码开发转向分布式开发的转变,网络健壮性也从集中式、分层系统转向分布式系统。两者都有自己的漏洞。集中式系统的特点是容易受到组件故障的影响,即使以健壮性作为设计特征也是如此——当曼哈顿的一个关键中心局被毁坏时,在 9/11 袭击事件中禁用了本地有线电话服务,这一特点得到了鲜明的体现。但是分布式系统也有自己的健壮性漏洞,例如黑客用来使服务器过载的难以防御的分布式拒绝服务攻击。VoIP 将语音网络健壮性和控制方面的关注点从前者急剧转移到后者。
用户期望向更大的灵活性和控制权的转变创造了超出软件开发的问题。事实上,许多 VoIP 问题虽然不一定与软件分离,但却是架构或配置问题。当架构或配置阻碍 VoIP 的运行时,例如动态端口分配和防火墙使用的问题,软件和网络工程师都需要考虑解决问题的方法,同时认识到安全性可能会使环境复杂化。需要克服的另一个重大挑战是在高度分布式和多样化的环境中测试 VoIP 服务。虽然存在许多用于在同构 VoIP 环境中进行测试的工具(例如,sipsak 是一个用于测试 SIP 应用程序的简单开源工具;在 VoIP-Info 网站:http://www.voip-info.org/wiki-Open+Source+VOIP+Software 上可以找到许多开源测试工具和其他 VoIP 应用程序),但很少有工具可以检查在混合使用专有和非专有技术、众多协议以及与 PSTN 互连的环境中的端到端运行。
在这种环境中,用户将有可能在他们的语音服务中发挥更积极的作用。尽管如此,虽然用户可能会错误配置他们的服务,但他们现在也可以选择修复它。这种干预能力应该成为用户采用技术以及技术文化期望演变的一个有趣的案例研究。(正如我们所评论的,移动电话显示这些并非像许多 PSTN 资深人士假设的那样静态,而互联网已被证明是发展全新用户行为的沃土)。一些用户将寻求干预,因此,软件工程师应该考虑如何通过为用户提供工具来测试和管理他们自己的语音服务来赋能用户。
VoIP 提出了许多有趣的安全性挑战,这些挑战与传统电话的挑战大不相同。在应对这些挑战时,我们可以考虑供应商、服务提供商和实施者社区的角色。
供应商。软件产品将更频繁地由以标准语言编写的多供应商模块化解决方案组成(而不是更单一的供应商内部程序)。为了使问题复杂化,软件将处于不断发展的状态(反映了计算机软件行业的其余部分)。此外,软件(继 VoIP 协议膨胀之后)的大小和复杂性将继续增长,供应商将不得不努力通过新的集成服务、专有扩展和封闭代码来实现差异化。供应商将需要将计算和互联网产品中常见的许多实践应用于 VoIP 应用程序,包括 (1) 有意识地投资于与其他供应商在多个级别进行互操作性努力,(2) 利用基于 IP 的网络中可用的技术机会,但以“回退友好”模式保护某些功能,即使高级功能无法工作,(3) 继续并可能增加致力于软件工程实践的努力,旨在支持实时关键系统中可预测和安全的性能,(4) 利用广泛的精通 Web 的程序员来获取想法和编程工作,以及 (5) 参与关于围绕 VoIP 的社会政策和监管改革的辩论。
提供商。服务提供商面临潜在产品和基础设施配置的巨大多样性,这既创造了安全机会,也带来了风险。为了解决这个问题,他们需要确保其内部安全专业知识,并开发通过持续测试和评估安全地集成来自多个供应商的模块化组件的能力。安全将是服务提供商、供应商和客户之间的合作事业。最后,服务提供商应考虑参与关于社会、政策和监管改革的辩论,因为这些问题将对定义 VoIP 的安全性产生深远的影响。
用户。这些个人将面临更大(可能令人眼花缭乱)的不同服务产品阵列。对于复杂的用户(即,对于那些电信足够重要以至于值得大量投入时间的用户),他们将希望提高对成本、质量和安全性之间最佳权衡的认识;不太成熟的用户将依赖值得信赖的品牌或政府和行业认证。最后,我们正在进入一个用户可以检查、开发和更改其语音服务的时期,这与过去截然不同。最终,有兴趣保持高安全级别的最终用户有能力参与创建这种环境。
1. Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and Schooler, E. SIP:会话发起协议,互联网 RFC 3261。
2. Baugher, M., McGrew, D., Naslund, M., Carrara, E., and Norrman, K. 安全实时传输协议 (SRTP),互联网 RFC 3711。
3. Schulzrinne, H., Casner, S., Frederick, R., and Jacobson, V. RTP:实时应用程序的传输协议,互联网 RFC 3550。
4. Lennox, J., and Schulzrinne, H. 互联网电话中的功能交互。第六届电信和软件系统中的功能交互研讨会,苏格兰格拉斯哥,2000 年 6 月。
喜欢还是讨厌?请告诉我们
[email protected] 或 www.acmqueue.com/forums
DOUGLAS C. SICKER ([email protected]) 是科罗拉多大学博尔德分校计算机科学系的助理教授,并在跨学科电信项目中有联合任命。在此之前,他曾担任联邦通信委员会工程和技术办公室网络技术部门主管。他的研究兴趣包括网络应用和安全以及公共政策。Sicker 拥有匹兹堡大学的学士、硕士和博士学位,并且是 IEEE 的高级会员以及 和互联网协会的会员。
TOM LOOKABAUGH ([email protected]) 是科罗拉多大学博尔德分校计算机科学系的助理教授,也是跨学科电信学院的院长。在加入大学之前,他在硅谷的高科技企业工作了 13 年,包括共同创立了一家娱乐视频压缩制造商 DiviCom。他的研究兴趣包括普适网络、多媒体和计算机安全。他拥有科罗拉多矿业学院的工程物理学士学位,以及斯坦福大学的电气工程硕士学位、工程管理硕士学位、统计学硕士学位和电气工程博士学位。Lookabaugh 是 和管理学会的会员。
© 2004 1542-7730/04/0900 $5.00
最初发表于 Queue vol. 2, no. 6—
在 数字图书馆 中评论本文
- 通过语音扩大覆盖范围
BlueNote Networks 产品战略副总裁 Mark Ericson 认为,为了利用新的语音技术,您必须制定计划,将该功能直接集成到驱动现有业务流程的应用程序中。
Gordon Bell - 标准的时机和地点
在未来十年中,我们将至少遇到三个主要机遇,成功与否将在很大程度上取决于我们定义适当标准的能力。这是因为在恰当的时机出现的智能设计的标准可以通过创建一个可信赖且可靠的互操作性基础,从而在很大程度上促进新兴产业并鼓励产品开发。从我的角度来看,我认为特别有前景的三个具体领域是:(1) 共同协作以促进协同工作的所有电信和计算能力;(2) 提供音频和/或视频内容在线分发的混合计算/家庭娱乐产品;以及 (3) 无线传感器和网络平台(有些人希望 802.15.4 和 ZigBee 联盟标准最终能够实现的那种平台)。
Sudhir R. Ahuja, Robert Ensor - VoIP:它有什么用?
VoIP(IP 语音)技术是一个快速扩展的领域。越来越多的 VoIP 组件正在开发中,而现有的 VoIP 技术正以快速且仍在加速的速度部署。这种增长是由两个目标推动的:降低成本和增加收入。
James E. Coffman - 不是您父亲的 PBX?
也许没有哪件办公设备比普通的商务电话更理所当然了。然而,这种基本通信设备背后的技术正处于重大转型之中。企业现在正在融合其语音和数据网络,以便简化其网络运营,并利用融合网络带来的新功能优势和能力,从更高的生产力和成本节约到增强的移动性。