一种用于网络电话会议中数据安全传输的实用方案
摘要
在多方VoIP会议系统中,提供不可否认性、不可伪造性和隐私性属性至关重要。以往的工作通常通过使用数字签名、传输层安全协议、IP安全协议或其他密码学工具来实现这些目标。然而,许多方法要么牺牲了性能,要么缺乏形式化安全证明,或两者兼有。在本研究中,我们基于Boneh‐Canetti‐Halevi‐Katz构造构建了一个实用的多方网络电话会议方案。我们的工作聚焦于数据安全传输阶段(即我们假设群组会话密钥已在密钥分发阶段完成分发)。与以往的工作相比,我们的方案提出了一种同时实现不可否认性、不可伪造性和隐私性属性的新范式。该新范式避免了已被证明耗时的数字签名。另一方面,我们的方案具备可证明安全。我们以形式化的方式证明了不可否认性属性,并给出了不可伪造性属性和隐私属性的证明思路。
关键词
VoIP应用 · Boneh-Canetti-Halevi-Katz方案 · 公钥加密
1 引言
由于网络语音(VoIP)技术具有灵活性和低成本的优势,已被广泛采用。在典型的网络电话实现中,语音数据被转换为数字数据,然后编码成数据包,并通过IP网络发送给接收方。接收方对接收的数据包进行解密并恢复语音数据。由于数据包的传输暴露在不安全的公共互联网中,因此安全性是一个重要的考虑因素[12]。在实际应用中,VoIP协议和产品存在大量威胁和漏洞[6,7]。
多方VoIP会议系统是网络电话的一个重要应用。在典型的多方VoIP会议系统中,有一个媒体服务器和多个客户端(见图1)。在此工作中,我们假设媒体服务器充当会议控制管理器的角色。整个系统分为两个阶段:密钥分发和语音数据传输。我们的工作仅关注数据安全传输阶段(即,我们假设组会话密钥已在密钥分发阶段分发。通常假设媒体服务器是诚实的,但我们无法确保所有客户端都是诚实的。因此,当通信开始时,应考虑多个安全问题:不可否认性、不可伪造性、隐私性、前向安全、后向安全、抗合谋等。
本文主要研究语音数据安全传输阶段中的不可否认性、不可伪造性和隐私性问题。具体而言,我们研究以下问题。
问题 假设媒体服务器和客户端共享相同的组会话密钥。考虑以下场景:客户端 pi使用组会话密钥加密语音数据,并将密文发送给媒体服务器。但 pi之后不承认这一事实。此事件称为否认。另一方面,攻击者可以截获加密的语音数据,并向媒体服务器发送伪造的密文。此事件称为伪造。
解决否认和伪造问题有两种被广泛接受的方法:数字签名和消息认证码(MAC)。数字签名是解决否认和伪造问题的常用方案。MAC通常用于在对称环境中解决伪造问题。但数字签名的计算开销较大,效率比MAC低大约2到3个数量级[5]。尽管MAC效率更高,但它不提供不可否认性属性,并且局限于私钥环境。如何设计一个具有不可否认性、不可伪造性和隐私性的高效多方VoIP会议系统仍然是一个难题。
我们的贡献
在本研究中,我们提出了一种针对上述问题的实用解决方案。简而言之,我们构建了一个具有不可否认性、不可伪造性和隐私性的多方网络电话会议方案的新框架。我们的构造基于邦赫‐卡内蒂‐哈利维‐卡茨(BCHK)方案[2]。与之前的工作相比,我们的方案避免了使用数字签名,并且具有可证明安全。我们在一个正式的方式,并给出不可伪造性属性和隐私属性的证明概要。尽管该范式易于实例化,但我们仍将其视为一项可行性成果。
1.1 相关工作
在安全性方面,关于网络电话安全研究的综述已在[6,7]中提出。吴等人[12]提出了一种具备隐私性和完整性的网络电话加密解决方案,但缺乏安全证明。
昆策等人[8]提出了一种基于区间链签名技术实现网络电话不可否认性的方案。昆策等人的成果可扩展至去中心化的多方会话。尽管[8]中的方案效率较高,但其安全分析并不严谨,仅针对某些特定攻击。
王和刘[10]提出了一种保护端到端VoIP隐私性的方案。在他们的构造中,采用了椭圆曲线迪菲‐赫尔曼算法进行密钥协商。然而,他们的工作仅集中在密钥协商阶段,在数据传输阶段仅使用流行的高级加密标准算法对语音数据包进行加密/解密。此外,他们的工作缺乏身份认证机制,也缺乏严格的安全证明。
该研究方向在[14,16]中得以延续,其提出了一种基于椭圆曲线密码学的认证密钥协商协议。但[14,16]中的工作仍存在与王等人构造[10]相同的问题。在其他实际系统中,TLS、IPsec、SRTP被用于增强安全性[1,9,11],但这些工作仍然侧重于性能方面,例如丢包等。
Boneh、Canetti、Halevi和Katz提出了一种基于身份的加密方案(IBE)的高效公钥加密系统,该系统能够抵御自适应选择密文攻击(CCA)[2–4]。在分析BCHK方案的安全证明时,我们发现[2]中的封装方案(承诺的弱变体,在本文其余部分中,我们不区分这两个概念)可以同时保证完整性和不可否认性。这一优良特性使我们相信,该封装方案可以在实际系统中替代消息认证码(MAC)和数字签名。Boneh等人还给出了该封装方案的一个实例。受Boneh等人工作的启发,我们构建了一个多方VoIP会议方案。
组织结构
本文其余部分的结构如下:在第2节中,我们回顾一些与构造相关的标准定义。第3节介绍安全模型。在第4节中,我们给出数据安全传输的构造方案。我们在第5节进行安全性分析。
2 预备知识
2.1 符号说明
符号说明 {0, 1}^k 表示长度为 k 的二进制字符串的集合。如果 S 是一个有限集,我们使用 x ← S 表示从概率分布 S 中均匀采样一个元素 x。我们使用 [n] 表示集合 {1,…, n}。
2.2 承诺方案
我们回顾一下承诺方案的定义以及[2]中的承诺的弱变体
定义1。
承诺方案是由三个概率多项式时间算法(K, Com, Vrfy)组成的元组,具有以下性质:
– K 以安全参数 1^λ 为输入,生成一个公共承诺密钥 ck。
– Com 以承诺密钥 ck、消息 m 和随机数 r 为输入,输出一个承诺 c。
– Vrfy 以公共承诺密钥 ck、打开 op 和消息 m 为输入。如果承诺 c 是有效的,则输出1,否则输出0。
承诺方案必须具有隐藏性和绑定性。隐藏性要求承诺不泄露关于消息的任何信息。绑定性要求无法以两种不同的方式打开一个诚实生成的承诺。
Boneh等人[2]提出了“封装”方案,这是一种承诺的弱变体。定义的详细信息如下所示。为简便起见,我们使用相同的符号。
定义2.
一个封装方案 Π=(Init, S, R)由三个概率多项式时间算法组成,其中
– Init给定安全参数 1^λ,输出公共承诺密钥 pub。
– S给定安全参数 1^λ和字符串 pub,输出 (r, com, dec),其中r ∈{0, 1}^λ, com为承诺字符串,dec为解承诺字符串。
– R给定 (pub, com, dec),输出 r ∈{0, 1}^λ∪{⊥},其中 ⊥是一个特殊符号,表示解封装失败。
该封装方案还应具备绑定性和隐藏性,但只需满足计算隐藏性和计算绑定性。具体而言,计算隐藏性和计算绑定性定义如下。
定义3 (计算隐藏性).
我们称封装方案是计算隐藏的,如果对于所有概率多项式时间对手 A,我们有
| Pr[pub ← Init(1^λ); b ←{0, 1}; r0 ←{0, 1}^λ; (r1, com, dec) ← S(1^λ,pub): A(1^λ,pub, com, rb)= b] −1/2|
是可忽略的。
定义4 (计算绑定性).
我们称封装方案是计算绑定的,如果对于所有概率多项式时间对手 A,我们有
Pr[pub ← Init(1^λ); (r, com, dec) ← S(1^λ, pub); dec′ ← A(1^λ, pub, com, dec): R(pub, com, dec′) ∈/{⊥, r}]
是可忽略的。
2.3 Boneh‐Canetti‐Halevi‐Katz方案
Boneh‐Canetti‐Halevi‐Katz方案[2]是一种从任意CPA安全的基于身份的加密方案构建选择密文安全的公钥加密方案的方法。它由三个概率多项式时间算法组成。
密钥生成: 给定安全参数 1^λ,运行(PK, msk) ← Setup(1^λ),其中 PK是公钥,msk是主私钥;运行 Pub ←Init(1^λ),其中 pub是一个字符串。令 pk=(PK,pub),以及 sk= msk。
加密:
– 发送方通过运行 S(1^λ,pub)获得(r, com, dec),其中 r是封装的随机值,com是充当身份作用的承诺字符串,且 dec是解承诺字符串。
– 以明文 m|dec作为输入,发送方计算 C ←EPK(com, m|dec)。然后发送方计算消息认证码tag ← Macr(C),其中 r是MAC密钥。最终的密文为 〈com, C, tag〉。
解密: 在输入密文 〈com, C, tag〉后,接收方推导出私钥 SKcom,然后使用SKcom对密文 C进行dec,并获得m|dec。接收方随后通过运行 R(pub, com, dec)恢复 r。如果 r ≠ ⊥且标签有效,则接收方输出 m;否则,接收方输出 ⊥。
3 安全模型
我们考虑包含两个游戏的安全模型。游戏1是与封装方案的绑定性相关的不可否认性游戏。游戏2是与消息认证码的不可伪造性质相关的不可伪造性游戏。
游戏1:不可否认性游戏 [2]
设置: 挑战者以安全参数 1^λ 作为输入,并生成 pub ← Init(1^λ)。
挑战: 挑战者在输入 1^λ 和 pub 上运行 (r, com, dec) ← S(1^λ,pub)。然后,挑战者将 (1^λ,pub, com, dec) 发送给对手 A。
决策阶段: 在收到(1^λ,pub, com, dec)后,A输出 dec′。如果 R(pub,com, dec′) ∈/{r,⊥},A赢得游戏。
如果对于任意多项式时间对手 A,赢得游戏的概率是可忽略的,则称该方案具有不可否认性。
游戏2:不可伪造性游戏
设置: 挑战者以安全性 1^λ作为输入并生成一个随机密钥 k。对手 A获得 1^λ。
挑战: 允许对手 A查询一个消息认证码预言机Mack(·),该预言机输入一条消息 m并输出一个标签 t ← Mack(m)。令 Q={(ti, mi)i∈[n]}表示 A与Mack(·)之间所有查询和响应的集合。
伪造: 对手 A输出一对 (m, t)。如果 Vrfyk(m, t) = 1且 m∉Q,则对手 A赢得游戏。
如果对于任意多项式时间对手 A,其成功概率可忽略,则称该方案具有不可伪造性。
4 数据安全传输方案的构建
在本节中,我们提出用于数据安全传输阶段的构造方法。我们首先给出思想概要,然后介绍构造的详细内容。
4.1 构想概述
发送方首先生成一个随机的MAC密钥 r,然后使用封装方案对 r进行封装。这将产生承诺字符串 com和去承诺字符串 dec。接着,发送方使用组会话密钥对 com、dec、m一起加密,并计算密文上的标签。之后,发送方向接收方发送密文和标签(c, t)。根据绑定性,接收方不会将其打开为另一个 r′。在接收到(c, t)后,媒体服务器首先解密 c,然后恢复MAC密钥 r。接着,媒体服务器验证 t的有效性。如果 t有效,则接收方恢复 m。媒体服务器还需要向其余客户端传输已处理的消息(为简化起见,我们省略音频混合过程)。
4.2 构造
假设有一个媒体服务器和 n个客户端。数据安全传输方案包含以下五个算法:
−密钥生成:
输入安全参数 1^λ并输出一个字符串 pub。
−第i′个客户端的加密:
客户端 pi计算
(ri, comi, deci) ← S(1^λ, pub)
其中,随机字符串ri是MAC密钥,comi是承诺字符串,deci是解承诺字符串。
接下来,pi使用组会话密钥 GK对 mi|comi|deci进行加密,从而 pi计算
Ci ← EncGK(mi|comi|deci)
然后pi使用 ri为密文 Ci计算一个消息认证码
tagi ← Macri(Ci)
最后,pi将密文 〈Ci,标签i〉发送到媒体服务器。
−媒体服务器的解密:
收到〈Ci,tagi〉后,媒体服务器将密文解密为
mi|comi|deci ← DecGK(Ci)
Next,媒体服务器运行打开过程以输出MAC密钥 ri
ri ← R(pub, comi, deci)
如果 ri ≠ ⊥ 且 Vrfyri(Ci, tagi) = 1,接收方输出 mi;否则,拒绝密文并输出 ⊥。
−媒体服务器的加密:
假设mi在音频混合过程后变为 m′i。我们用 pubs表示由媒体服务器生成的公钥字符串。媒体服务器计算(rsj, comsj, decsj) ← S(1^λ,pubs),其中 j ∈[n], j ≠ i 和 rsj ∈{0, 1}^k。然后加密 Csj ← EncGK(m′i|comsj|decsj) 。之后,媒体服务器对 Csj 计算一个标签,记为tagsj ← Macrsj(Cj)。最后,媒体服务器将 〈Csj, tagsj〉发送给第 j′个客户端 pj。
−第j′个客户端成员 pj 的解密:
收到密文〈Csj,tagsj〉, pj后,dec解密该密文
m′i|comsj|decsj ← DecGK(Csj)
接下来,pj执行打开过程 rsj ← R(pub, comsj, decsj) ,并输出MAC密钥 rsj。
如果 rsj ≠ ⊥ 且 Vrfyrsj(Csj,tagsj) = 1,则 pj输出 m′i;否则,pj输出 ⊥。
不难验证上述方案是正确的。我们将在下一节中给出关于其安全性的证明。
我们的方案与BCHK方案之间的差异。 我们指出我们的方案与BCHK方案之间的主要区别。首先,我们在BCHK方案中使用组会话密钥来替代主公钥和主私钥。其次,在BCHK方案中,承诺 com是“身份”。在我们的方案中,我们不使用基于身份的加密方案,承诺 com不代表发送者身份,并且我们将 com合并到明文中。
5 安全分析
我们首先证明不可否认性属性,然后证明不可伪造性属性。请注意,以下两个定理在BCHK方案的安全证明中是隐含的。最后,我们将给出关于隐私属性的证明概要。
5.1 不可否认性
该证明大致基于[2]中的定理2。这种证明方法称为归约,这是密码学中几乎唯一的证明方式,它将任何攻击该方案的有效 A对手转化为求解困难问题[5]的有效算法 A′。定理1的证明还参考了[13]中的类似证明。证明风格参考了[15]。
定理1. 如果封装方案的绑定性质成立,则上述构造具有不可否认性。
证明. 我们通过反证法来证明此定理。假设该方案不具有不可否认性,则可以构造一个对手 B,其能够破坏封装方案的绑定性。定义 B如下:
设置: B从其挑战者处接收(1^λ,pub, com∗, dec∗),其中 com∗是 r∗的承诺。然后 B生成一个对称密钥 GK′ ←{0, 1}^n。B将1^λ和 pub发送给对手 A。B设置一个空表 T。
加密查询:
当 A对消息 m发起加密查询时,B按如下方式回答:
1. 输入(1^λ,pub),输出(r′, com, dec),其中 r′ ∈{0, 1}^n。
2. 计算 C ←EncGK′(m|com|dec)。
3. 计算 tag ←消息认证码r′(C),然后将 〈C, tag〉返回给 A。
挑战: 对手 A输出一对长度相同的消息 m0, m1,并将 (m0, m1) 发送给 B。B从 {0, 1} 中随机选择一个比特 b,并计算 C∗ ← EncGK′(mb|com∗|dec∗)。然后计算一个消息认证码 tag∗ ← Macr∗(C∗)。B将 〈C∗, tag∗〉 作为挑战密文发送给对手 A。
解密查询: 如果 〈C, tag〉是对消息 m的先前加密查询的响应,则返回 m。否则,在收到密文 〈Ci, tagi〉后,B解密 Ci并获得(mi|comi|deci)。然后 B检查 comi= com∗和 deci= dec∗是否成立。若成立,则将 〈Ci, tagi〉存入表 T中且不再对其进行解密。否则,运行 ri ← R(pub, comi, deci),并检查 tagi是否有效。若有效,则输出 mi;否则,输出 ⊥。
B完美地进行了模拟。如果 A赢得了游戏,那么 B就获胜。但是根据封装方案的绑定性质,B无法获知一个具有如下性质的值 dec′:R(pub, com∗, dec′)∈/{⊥, r∗}。因此,B的成功概率是可忽略的。因此,对手 A不存在。
5.2 不可伪造性
定理2的证明在思路上与BCHK方案的安全证明相似,因此我们仅给出一个概要。
定理2. 如果封装方案的隐藏属性成立且消息认证码是安全的,则上述方案具有不可伪造性。
证明. 根据封装方案的隐藏属性,MAC密钥 r被隐藏,因此对手无法获得真实的MAC密钥。为了进行伪造,对手可能会选择一个随机密钥 r′。但MAC的安全性意味着该对手的成功概率是可忽略的。
5.3 隐私性
尽管我们主要强调不可否认性属性和不可伪造性属性,隐私属性仍然是必要的。我们在此也给出一个证明概要。因为在交互过程中,MAC密钥 r、承诺字符串 com以及解承诺字符串 dec均使用组会话密钥进行加密。根据对称加密方案的安全性,任何组外的对手都无法获取任何有用信息。这表明隐私属性成立。
700

被折叠的 条评论
为什么被折叠?



