一种用于VoIP的实时数据加密传输方法

文档序号:7594770阅读:231来源:国知局
专利名称:一种用于VoIP的实时数据加密传输方法
技术领域
本发明涉及一种实时数据加密传输方法,尤其涉及一种用于VoIP (Voice over Internet Protocol)的实时数据加密传输方法,属于数字网络技术领域。
背景技术
随着网络技术的发展,一种基于IP网络的语音传输技术一VoIP越来越得到广泛 应用。VoIP的实质是将模拟声音讯号(Voice)数字化,以数据封包(Data Packet)的型式 在IP数据网络(IP Network)上做实时传递。作为IP网络中的一种特殊流量,语音数据 不但会遇到IP网络数据常见的病毒安全威胁,而且还面临着其特有的一些安全问题,例如 通话干扰、窃听、话费欺诈、拒绝服务等。因此,对实时数据进行加密传输也就成为了 VoIP 服务的必然选择。众所周知,根据不同算法在第三方未知其加密密钥的情况下对其密文进行破译所 付出的代价不同,数据加密方法通常可分为强加密方法和弱加密方法。所谓强加密方法就 是采用分组密码或与公钥密码结合的加密方式,例如RSA加密算法,它是一种非对称加密 算法,加/解密密钥不同。其基于大数的因式分解,出于安全性考虑,密钥长度很大(现在多 用IOM位以及2048位),因此破解代价很大,而且可以同时用于数字签名和数据加密,但缺 点主要是密钥生成复杂,代价过大,加密速度比对称加密算法慢几个数量级,因而普遍用于 身份识别。所谓弱加密方法是指仅对数据进行简单的运算的加密方法,例如AES(AdvanCed Encryption Mandard,高级加密标准)算法,它是一种用于替代DES的加密算法,采用1 位对称密钥,通过多轮循环对数据进行加密,应用时主要针对数据加密。由于VoIP的特殊 性,其对数据传输的实时性要求极高,这就与安全性产生了矛盾。当采用强加密方法时,固 然可以带来较高安全性,但随之而来的却是复杂昂贵的硬件配置、系统性能的下降以及语 音延迟等问题;采用弱加密方法可以解决上述问题,但其安全性确又得不到充分保证。因 此,在VoIP服务中采用混合密钥加密技术成为目前的研究热点。所谓混合密钥加密技术是 指采用两种以上加密算法,通常会使用一种相对较弱的算法对实际数据进行加密,同时使 用一种更强的算法将数据加密时所使用的密钥加密后传递给通信的另一方以实现以使用 动态密钥为前提的安全数据通信。在VoIP通信时必须要对三个部分的安全加以考虑,第一是确认通信数据是由当 前通信的另一方所发出而非第三方伪造,即实现身份数字签名;第二是确认在传输过程中 的数据包未被第三方所修改,即实现篡改检测;第三是必须保证数据发送后被截获时第三 方必须难以破译数据内容,即实现数据加密。传统的混合密钥加密技术虽然在一定程度 上提高通信安全性,但其只针对了密钥的安全性问题,而未能实现VoIP所需要的身份识 别-篡改检测-数据加密体系,无法完全适应VoIP安全性需求,同时也无法针对VoIP的实 时性提供有效保障。

发明内容
本发明所要解决的技术问题在于克服传统混合密钥加密技术应用于VoIP服务所 存在的不足,提供一种用于VoIP的实时数据加密传输方法,该方法在传统混合密钥加密技 术上进行改进,从而在数据传输的安全性及实时性方面取得较佳的平衡。本发明采用以下技术方案
一种用于VoIP的实时数据加密传输方法,包括 通信建立阶段
双方保存有对方用于身份认证以及初始通信时的RSA公钥;通信发起方生成用于通信 数据传输阶段的至少包含AES密钥的AES加密信息,并将生成的AES加密信息使用通信发 起方的通信用RSA私钥进行RSA加密,生成通信信息的数据部分;然后用通信发起方的签名 用RSA私钥对该通信信息的数据部分进行数字签名,生成通信信息数据包,并将该通信信 息数据包发送给通信响应方;
通信响应方收到通信信息数据包后,首先使用存储的通信发起方的签名用RSA公钥 进行通信信息数据包的签名的确认,签名确认通过之后使用存储的发送方的初始通信时的 RSA公钥对通信信息数据包的数据部分解密,得到用于通信数据传输阶段的至少包含AES 密钥的AES加密信息并记录,然后向通信发起方发送经数字签名的确认数据包,之后双方 转入通信数据传输阶段; 通信数据传输阶段
在通信过程中,任何一方发送数据时首先根据AES加密信息将要发送的原始数据 进行加密,生成发送数据包的数据部分,然后对其进行封装,生成发送数据包,对发送 数据包进行数字签名后发送;通信响应方对收到的数据包进行身份确认无误后,根据AES 加密信息对数据部分进行解密,得到原始数据。作为进一步改善的技术方案,所述根据AES加密信息将要发送的原始数据进行加 密,按照以下方法
首先将待加密数据按照每组长度为128比特进行分组,每隔 组抽取《组数据并将抽取出的数据按照原先后顺序排列成一个新的比特串;对得到的新 的比特串使用通信建立阶段记录的AES密钥进行AES加密,得到加密后的比特串;将加密后 的比特串按照每组长度为128x 比特进行拆分,并将拆分得到的各组按照原抽取顺序回 填到抽取数据后的待加密数据中,得到加密后的数据;
所述根据AES加密信息对数据部分进行解密,按照以下方法 首先将加密数据按照每组长度为128比特进行分组,每隔”组抽取组数据并将抽取 出的数据按照原先后顺序排列成一个新的比特串;对得到的新的比特串使用通信建立阶段 记录的AES密钥进行AES解密,得到解密后的比特串;将解密后的比特串按照每组长度为 128xm比特进行拆分,并将拆分得到的各组按照原抽取顺序回填到抽取数据后的加密数 据中,得到解密后的原始数据; 所述《、《均为自然数。本发明将RSA与AES加密技术结合,用于VoIP的数据的安全传输,利用RSA的难 于破解但密钥重复性大且加密代价大的特点,主要使用其作为通信建立时交换数据加密密 钥的强加密算法以及实现整个通信过程中的身份数字签名以及篡改检测;而利用AES算法较好的安全性以及优于RSA算法的效率性,主要完成对数据部分的加密。本发明进一步对 AES算法进行了改进,从而可根据实际需要灵活地在实时性和安全性之间做出最佳的权衡。


图1为本发明方法通信建立阶段的原理示意图; 图2为本发明方法通信数据传输阶段的原理示意图3为本发明提出的改进的AES加密算法的加密原理示意图,其中,图(a)为数据分组 示意图,图(b)为抽取出的数据组成的比特串,图(c)为加密并拆分后的比特串,图(d)为回 填后的数据;
图4为本发明提出的改进的AES加密算法的解密原理示意图,其中,图(a)为数据分组 示意图,图(b)为抽取出的数据组成的比特串,图(c)为解密并拆分后的比特串,图(d)为回 填后的数据;
图5为具体实施方式
中所述本发明方法通信建立阶段的流程图; 图6为具体实施方式
中所述本发明方法通信数据传输阶段的流程图。
具体实施例方式下面结合附图对本发明的技术方案进行详细说明
本发明的用于VoIP的实时数据加密传输方法,包括两个阶段通信建立阶段和通信数 据传输阶段,在两个阶段分别采用不同的数据加密策略(RSA加密方法及改进的AES加密方 法)。在通信建立阶段,双方保存有对方用于身份认证以及初始通信时的RSA公钥;通 信发起方生成用于通信数据传输阶段的至少包含AES密钥的AES加密信息,并将生成的AES 加密信息使用通信发起方的通信用RSA私钥进行RSA加密,生成通信信息的数据部分;然后 用通信发起方的签名用RSA私钥对该通信信息的数据部分进行数字签名,生成通信信息数 据包,并将该通信信息数据包发送给通信响应方;通信响应方收到通信信息数据包后,首先 使用存储的通信发起方的签名用RSA公钥进行通信信息数据包的签名的确认,签名确认通 过之后使用存储的发送方的初始通信时的RSA公钥对通信信息数据包的数据部分解密,得 到用于通信数据传输阶段的至少包含AES密钥的AES加密信息并记录,然后向通信发起方 发送经数字签名的确认数据包,之后双方转入通信数据传输阶段;通信建立阶段的数据加 密传输原理如附图1所示。在通信数据传输阶段,通信过程中,任何一方发送数据时首先根据AES加密信息 将要发送的原始数据进行加密,生成发送数据包的数据部分,然后对其进行封装,生成发送 数据包,对发送数据包进行数字签名后发送;通信响应方对收到的数据包进行身份确认无 误后,根据AES加密信息对数据部分进行解密,得到原始数据。通信数据传输阶段数据加密 传输原理如附图2所示。本发明的通信数据传输阶段中,双方发送的数据可以使用现有的AES加密方法进 行加解密,但为了可根据实际需要灵活调整实时性和安全性之间的权重,本发明又对现有 AES加密方法进行了改进,提出了一种改进的AES加密方法,该方法在加密时首先先将待加 密数据按照每组长度为128比特进行分组,每隔《组抽取组数据并将抽取出的数据按照原先后顺序排列成一个新的比特串;对得到的新的比特串使用通信建立阶段记录的AES密 钥进行AES加密,得到加密后的比特串;将加密后的比特串按照每组长度为128;<m比特进 行拆分,并将拆分得到的各组按照原抽取顺序回填到抽取数据后的待加密数据中,得到加 密后的数据。解密时,首先将加密数据按照每组长度为128比特进行分组,每隔 组抽取% 组数据并将抽取出的数据按照原先后顺序排列成一个新的比特串;对得到的新的比特串使 用通信建立阶段记录的AES密钥进行AES解密,得到解密后的比特串;将解密后的比特串按 照每组长度为128x 比特进行拆分,并将拆分得到的各组按照原抽取顺序回填到抽取数 据后的加密数据中,得到解密后的原始数据;所述@、《均为自然数。其中,《实质上决定 了抽取出来的每组数据的长度, 是抽取数据段之间的间隔,“的值越小, 的值越大,则 实时性较好,而安全性较低;反之,则安全性较高,实时性会有所降低。《、《的具体数值可 以由通信双方事先约定一个固定的值,也可以在每次通信建立阶段由通信发起方根据时间 因子随机生成,并放入所述AES加密信息中发送给接受方,从而增加第三方破解的难度,进 一步提升安全性。下面以《 = 1 , = 1为例来详细说明该改进的AES加密方法的原理。在加密时,首先将数据按照每组128bit进行分组,每隔1组,即每隔128bit抽取 一组,即图3 (a)中的阴影部分;然后将抽取出的各组数据按照原先后顺序排列成一个新的 比特串,该比特串如图3 (b)所示;对该比特串进行AES加密后,再按照每组128bit进行拆 分,加密并拆分后的比特串如图3 (c)所示;最后将拆分得到的各组按照原抽取顺序回填到 抽取数据后的待加密数据中,得到加密后的数据,如图3 (d)所示。类似地,在解密时,首先将加密数据按照每组128bit进行分组,每隔1组,即每隔 128bit抽取一组,即图4 (a)中的阴影部分;然后将抽取出的各组数据按照原先后顺序排 列成一个新的比特串,该比特串如图4 (b)所示;对该比特串进行AES解密后,再按照每组 128bit进行拆分,解密并拆分后的比特串如图4 (c)所示;最后将拆分得到的各组按照原 抽取顺序回填到抽取数据后的待解密数据中,得到解密后的原始数据,如图4 (d)所示。下面以一次通信过程为例,进一步说明本发明方法。首先对通信双方所掌握的信息及用途做一简要说明 通信发起方(数据发送方)
1、通信用RSA加密密钥SRPl通信发起方对AES加密信息进行加密时使用的RSA加密 密钥,性质上属于私钥,必须预先分配并且保密,该密钥只在通信建立阶段使用;
2、签名用RSA加密密钥SRP2通信发起方(或数据发送方)对所有从本方发出的用于通 信的数据包进行数字签名时的RSA加密密钥,性质上属于私钥,必须预先分配并且保密,该 密钥在通信建立和数据发送阶段均使用;
3、验证签名用RSA解密密钥SRP3通信发起方(或数据发送方)验证所有通信响应方 (或数据接收方)传送数据包数字签名时的RSA密钥,为对应RRP3 (RRP3相关说明见后文) 的公钥,必须预先分配,用于解密使用密钥RRP3加密的内容,该密钥该在通信建立和数据 发送阶段均使用;
通信响应方(数据接收方)
1、通信用RSA解密密钥RRPl 通信响应方用于解密加密后的AES密钥所使用的RSA解 密密钥,为对应SRPl的公钥,必须预先分配,用于解密使用SRPl加密的内容,该密钥只在通 行建立阶段使用;2、验证签名用RSA解密密钥RRP2通信响应方(或数据接收方)验证所有通信发起方 (或数据发送方)传送数据包数字签名时的RSA密钥,为对应SRP2的公钥,必须预先分配, 用于解密使用密钥SRP2加密的内容,该密钥该在通信建立和数据发送阶段均使用;
3、签名用RSA加密密钥RRP3通信响应方(或数据接收方)对所有从本方发出的用于通 信的数据包进行数字签名时的RSA加密密钥,性质上属于私钥,必须预先分配并且保密,该 密钥在通信建立和数据发送阶段均使用;
双方共有
1、通信用AES密钥TAP在数据传输阶段对数据进行部分加/解密的AES密钥,在通信 建立阶段由通信发起方随机生成并传递给通信响应方;
2、AES加密参数EL包括《和《 ,在本具体实施方式
中,其与TAP相同在通信建立阶段 由通信发起方随机生成并传递给通信响应方。通信建立阶段,按照以下步骤
步骤1、发起方以当前时间为随机因子生成TAP和EL ;
步骤2、发起方使用SRPl加密随机生成的TAP及EL,作为通知响应方数据包(即通信信 息数据包)的数据部分;
步骤3、将通信信息数据包的数据部分封装入一个IP数据包中,即通信信息数据包,并 使用SRP2对整个数据包进行数字签名,数字签名信息记录在数据包首部之中,然后将经数 字签名的通信信息数据包发送给通信响应方;
步骤4、通信响应方接收到通信信息数据包之后使用RRP2对该数据包进行签名确认, 确定其有效性(未被伪造和篡改)之后拆分出数据部分;
步骤5、通信响应方对拆分出的数据部分使用RRPl解密,得到原始的TAP和EL,并加以记录; 步骤6、通信响应方向发起方发送确认数据包,该数据包使用RRP3签名,同时做好接收 通信数据的准备;
步骤7、通信发起方接收到确认数据包后使用SPR3验证通信响应方的签名后并通过 后,转入通信数据传输阶段。图5显示了通信建立阶段的流程,其中步骤6、步骤7未画出。通信数据传输阶段,具体按照以下步骤
步骤1、数据发送方按照AES加密参数EL使用AES密钥TAP对要发送的数据进行加密, 得到加密后的数据;加密采用本发明提出的改进的AES加密方法,上文已详细说明,此处不 再赘述;
步骤2、数据发送方将加密后的数据封装入一个IP数据包,进行数字签名后将该数据 包发送给数据接收方;
步骤3、数据接受方对收到的数据包进行数字签名确认,确认通过后,取出数据包中的 数据部分;
步骤4、数据接收方按照AES加密参数EL使用AES密钥TAP对数据进行解密,得到原始 数据;解密采用本发明提出的改进的AES加密方法,上文已详细说明,此处不再赘述; 图6显示了通信数据传输阶段的流程。本发明中涉及的RSA加密方法、AES加密方法以及数字签名等内容,均为现有技 术,更详细的信息可参考以下文献,[1]詹柳春.公钥密码体制的研究.电脑知识与技术.2010-12:479-480.,钟秀玉.加密算法在身份验证中的应用.信息网络安全.2010-05:69-70..姚国祥,林良超.RSA密钥对高效生成算法.计算机工程. 2007-20:154-155, 158.,何明星,范平志.新一代私钥加密标准AES进展与评述.计算机应用研究 2001-10:6-8.Advanced Encryption Standard. FIPS Publications 197.2001—11。
权利要求
1.一种用于VoIP的实时数据加密传输方法,其特征在于,包括 通信建立阶段双方保存有对方用于身份认证以及初始通信时的RSA公钥;通信发起方生成用于通信 数据传输阶段的至少包含AES密钥的AES加密信息,并将生成的AES加密信息使用通信发 起方的通信用RSA私钥进行RSA加密,生成通信信息的数据部分;然后用通信发起方的签名 用RSA私钥对该通信信息的数据部分进行数字签名,生成通信信息数据包,并将该通信信 息数据包发送给通信响应方;通信响应方收到通信信息数据包后,首先使用存储的通信发起方的签名用RSA公钥 进行通信信息数据包的签名的确认,签名确认通过之后使用存储的发送方的初始通信时的 RSA公钥对通信信息数据包的数据部分解密,得到用于通信数据传输阶段的至少包含AES 密钥的AES加密信息并记录,然后向通信发起方发送经数字签名的确认数据包,之后双方 转入通信数据传输阶段; 通信数据传输阶段在通信过程中,任何一方发送数据时首先根据AES加密信息将要发送的原始数据进行 加密,生成发送数据包的数据部分,然后对其进行封装,生成发送数据包,对发送数据包进 行数字签名后发送;通信响应方对收到的数据包进行身份确认无误后,根据AES加密信息 对数据部分进行解密,得到原始数据。
2.如权利要求1所述用于VoIP的实时数据加密传输方法,其特征在于, 所述根据AES加密信息将要发送的原始数据进行加密,按照以下方法首先将待加密数据按照每组长度为128比特进行分组,每隔 组抽取 组数据并将抽取出的数据按照原先后顺序排列成一个新的比特串;对得到的新 的比特串使用通信建立阶段记录的AES密钥进行AES加密,得到加密后的比特串;将加密后 的比特串按照每组长度为128x 比特进行拆分,并将拆分得到的各组按照原抽取顺序回 填到抽取数据后的待加密数据中,得到加密后的数据;所述根据AES加密信息对数据部分进行解密,按照以下方法 首先将加密数据按照每组长度为128比特进行分组,每隔《组抽取组数据并将抽取 出的数据按照原先后顺序排列成一个新的比特串;对得到的新的比特串使用通信建立阶段 记录的AES密钥进行AES解密,得到解密后的比特串;将解密后的比特串按照每组长度为 128x 比特进行拆分,并将拆分得到的各组按照原抽取顺序回填到抽取数据后的加密数 据中,得到解密后的原始数据; 所述《、《均为自然数。
3.如权利要求2所述用于VoIP的实时数据加密传输方法,其特征在于,所述·为每次 通信建立阶段由通信发起方根据时间因子随机生成,并放入所述AES加密信息中发送给通 信响应方。
4.如权利要求2所述用于VoIP的实时数据加密传输方法,其特征在于,所述《为每次 通信建立阶段由通信发起方根据时间因子随机生成,并放入所述AES加密信息中发送给通 信响应方。
5.如权利要求1至4中任一项所述用于VoIP的实时数据加密传输方法,其特征在于,所述AES密钥为每次通信建立阶段由通信发起方根据时间因子随机生成。
全文摘要
本发明公开了一种用于VoIP的实时数据加密传输方法,属于数字网络技术领域。该方法包括通信建立阶段和通信数据传输阶段,在两个阶段分别采用不同的数据加密策略。本发明还提出了一种改进的AES加密方法,在加/解密时,首先将数据按照每组128比特分组,然后每隔n组抽取m组数据并将抽取出的数据按照原先后顺序排列成一个新的比特串;对得到的新的比特串进行AES加/解密;将加/解密后的比特串按照每组长度为128×m比特进行拆分,并将拆分得到的各组按照原抽取顺序回填到抽取数据后的加/解密数据中,得到加/解密后的数据;其中m、n均为自然数。本发明在传统混合密钥加密技术上进行了改进,可根据实际需要灵活地在数据传输的安全性与实时性之间做出最佳的权衡。
文档编号H04L9/32GK102111416SQ20111004762
公开日2011年6月29日 申请日期2011年2月28日 优先权日2011年2月28日
发明者孙知信, 金易琛 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1