一种适于VoIP媒体传输的加解密方法

文档序号:7669297阅读:217来源:国知局
专利名称:一种适于VoIP媒体传输的加解密方法
技术领域
本发明涉及一禾中用在VoIP (Voice over Internet Protocol)系 统中,对发话端与受话端之间传输的RTP包进行加解密的方法,属于 因特网语音通信技术领域。
背景技术
VoIP是一种使用互联网协议和呼叫信令在互联网上传输话音的技 术。它的实现过程大致包括如下步骤首先是将发话端的模拟语音信 息进行语音编码;接下来是将语音数据封包加以压缩,并同时添加地 址及控制信息;然后,通过互联网传输封装好的RTP包,并根据RTP 包上的地址在互联网中寻找到传送的目的端。到了目的端之后,对RTP 包进行译码和还原的工作,将其转换成受话端能够播放的声音信号。
在上述实现语音通信的过程中,没有经过加密的RTP包在互联网 上传输时很容易被捕获、窃听甚至被语音检测系统屏蔽,因此对该RTP 包实施加密显得尤为重要。
在VoIP系统的数据传输中,RTP包有显著的特点包长较小、长 度一定、发包间隔小、数量大。因此,现阶段使用的RTP包加密方法 主要分为两大类 一类是更改上层协议头,即在原来RTP包外再封装 一个伪头部,或直接更改RTP头,使协议分析系统无法判断或判断成 非RTP协议类型;另一类是对整个RTP包进行加密,使用某种伪随机 序列生成算法生成一段伪随机序列,或直接使用定制的密码表对RTP 包进行加密。
但是,实施加解密的双方都采用同样的加解密算法对大量RTP包 进行加解密操作会导致两个问题其一,由于RTP包的大小都是相同 的,加密后的RTP包的大小依然不变;其二, RTP包中会存在大量的 静音包,在经过加密后所产生的密文内容也会有一定的规律性,不能 很好地隐藏RTP流的特征。语音检测系统能根据该RTP流的特征检测 到语音通道,并能对其进行屏蔽。
在张冬玲发表的《VoIP加密方案BEEO的加密算法原理及实现》一文中,介绍了一种适应于加密在Internet上传输的IP电话相关业 务的较高强度的加密方法一BEEO。该方法适应的信令标准包括SIP、 MGCP、 H.323,适应的媒体传输方式为RTP,适应的网络结构包括客户 服务器模式和端到端模式。具体实施步骤是这样的在发送端,把输 入内容按数据位排列成矩阵,按照协商的方式和密钥形成一个列加密 矩阵、行加密矩阵和加扰矩阵,用列加密矩阵对输入数据的列进行数 据位交换,用行加密矩阵对输入数据的行进行数据位交换,用加扰矩 阵对数据块按字节进行异或操作,从而达到加密的目的。在接收端, 使用同样三个矩阵的逆矩阵顺序进行去扰、行恢复和列恢复,还原出 原始数据。该方法虽然具有实现简单、速度快的优点,但没有改变RTP 包长度一定的这一特性,而且对同样的数据加密后的密文是一样的, 因此容易被语音检测系统定位并屏蔽RTP流。

发明内容
本发明的目的是提供一种在VoIP系统中对发话端与受话端之间 传输的RTP包进行加解密的方法。利用该方法,可以使加密后的包长 可变,并使每次加密的密钥不同,因此破解方很难利用RTP包原有的 特征去捕获RTP包,定位语音通道。
为实现上述的发明目的,本发明采用下述的技术方案-一种适于VoIP媒体传输的加解密方法,其特征在于
(1) 准备密钥表和公钥;
(2) 在发话端,首先取得一个随机数,然后用所述随机数对所述公 钥取余,获得余数;
(3) 按照所述余数的顺序从所述密钥表中取出对应密钥,对明文进 行加密;
(4) 生成密文数据,所述密文数据依次为所述随机数、按照所述
余数确定的长度填入的随机数据、用所述密钥对所述明文加密后的数 据;
(5) 在受话端,从所述密文数据的头端获得所述随机数,用所述随 机数对所述公钥取余,获得所述余数;
(6) 根据所述余数确定的偏移量从所述密文数据中取出所述加密 后的数据;
(7) 按照所述余数的顺序从所述密钥表中取出对应密钥,对所述加密后的数据进行解密,获得所述明文。
其中,所述密文数据以RTP数据包的形式在所述发话端与所述受 话端之间传输。
所述加密和所述解密均采用异或运算。
本发明在传统分组密码的基础上针对语音加密特征进行了扩展, 因此可以实现如下的技术效果
1. 通过携带随机数,使解密方容易得到密钥,避免了使用序列密 码带来的密钥同步问题;
2. 增加了随机数据段,而且随机数据的长度在一定范围内也是随 机的,如此可使加密后的密文长度具有一定的随机性;
3. 由于加密时选取密钥的序列号是随机生成的,即使对同样的数 据进行加密也会得到不同的密文,使密文失去了规律性,难以被破解。


下面结合附图和具体实施方式
对本发明作进一步的说明。 图1为具有加解密功能的VoIP系统实现基本传输的示意图; 图2为加解密流程的逻辑示意图; 图3为密文包的组成示意图。
具体实施例方式
图1显示了一个具有加解密功能的基本VoIP系统。在该系统中, 发话端的电话机连接一个VoIP终端,在该VoIP终端中完成语音数据
的加密工作之后,将加密后的RTP包传送给VoIP平台,并通过该VoIP 平台传送给受话端的VoIP终端,在该VoIP终端中完成解密工作之后, 由受话端的电话机播放解密的语音信号。
下面详细说明本发明所提供的适于VoIP媒体传输的加解密方法 的具体实施步骤。
本加解密方法在实施之前,加解密的两端要拥有一个共同的Key (公钥)和密钥表,且此表要尽量大。在此条件下,参见图2所示, 发送方在发话端取得一个随机数M,用此随机数M对一个固定的Key 值取余,按照取余后的余数从密钥表中选取对应的密钥作为本次加密 的密钥E。同时,将取余后的余数作为RTP包随机增加的数据长度。 然后构造如图3所示的密文数据,即依次填入随机数M、按照随机 数据长度填入随机数据、用密钥E对原明文加密后的数据。现以一段明文"0100 0101 1101 1011 1100 1010 1000 0010"为 例加以说明。假设固定的Key二 128,密钥表中有1000个密钥。 取得随机数M二 339,以4个字节计。 用339对Key取余,339%key = 83。
得至'J第83条密钥,假设为"1001 1011 0100 0100 0001 1101 001 1 0001',。
用该密钥对明文进行加密0100 0101 1 101 101 1 1100 1010 1000 0010 1001 101 1 0100 0100 0001 1101 001 1 0001 = 1 101 1 1 10 1001
mi iioi om iou ooii。
然后依次在密文包中填入随机数M、长度为83的随机数据、加
密后的密文。
解密方可以从密文数据的头端获得随机数M,根据密钥表找到对 应于M的密钥E,用M对相同的Key值取余得到随机数据区的长度, 然后计算偏移量以取得原文的密文,用对应的密钥E进行解密。
仍以上述的加密明文为例进行说明。在接受方收到密文后,解析 得到随机数M二 339,并对key取余得到83。
根据随机数的长度知道密文的偏移量为83 + 4 = 87,可得到密文
数据
1101 1110 1001 1111 1101 0111 1011 0011
取得第339个密钥,并与密文进行模2加运算得到明文
1101 11 10 1001 111 1 1101 0111 101 1 001 1 @ 1001 1011 0100 0100
0001 1101 0011 0001=0100 0101 1101 1011 1100 1010 1000 0010。 由于上述加密和解密过程中使用的密钥表以及固定的Key值是相
同的,因此加解密的运算都是异或运算,这就保证了最小程度的运算
开销,减少对语音的延迟。
另外,由于对RTP包加密使用的密钥是随机的,隐藏了对静音包
加密时加密后数据相同的特征,加之加密后的RTP包的长度是随机的,
能够有效隐藏使用密码表加密后出现的长度一致的特征,因此可以有
效防止检测系统根据语音流特征检测并屏蔽该RTP包。
上面虽然通过实施例描绘了本发明,但本领域普通技术人员知道,
本发明有许多变形和变化而不脱离本发明的精神,所附的权利要求将
包括这些变形和变化。
权利要求
1. 一种适于VoIP媒体传输的加解密方法,其特征在于(1)准备密钥表和一个公钥;(2)在发话端,首先取得一个随机数,然后用所述随机数对所述公钥取余,获得余数;(3)按照所述余数的顺序从所述密钥表中取出对应密钥,对明文进行加密;(4)生成密文数据,所述密文数据依次为所述随机数、按照所述余数确定的长度填入的随机数据、用所述密钥对所述明文加密后的数据;(5)在受话端,从所述密文数据的头端获得所述随机数,用所述随机数对所述公钥取余,获得所述余数;(6)根据所述余数确定的偏移量从所述密文数据中取出所述加密后的数据;(7)按照所述余数的顺序从所述密钥表中取出对应密钥,对所述加密后的数据进行解密,获得所述明文。
2. 如权利要求1所述的适于VoIP 征在于所述密文数据以RTP数据包的形式 间传输。
3. 如权利要求1所述的适于VoIP 征在于所述加密和所述解密均采用异或运算。媒体传输的加解密方法,其特 在所述发话端与所述受话端之 媒体传输的加解密方法,其特
全文摘要
本发明提供了一种适于VoIP媒体传输的加解密方法。在该方法中,首先在发话端取得一个随机数M,用此随机数M对一个固定的Key值取余,按照取余后的余数从密钥表中选取对应的密钥作为加密的密钥E。同时,将取余后的余数作为随机增加的数据长度。依次填入随机数M、按照随机增加的数据长度填入随机数据、用密钥E对原明文加密后的数据作为密文数据。本发明所提供的方法一方面可以有效保证语音通信的保密性,另一方面又对RTP包的特征进行了隐藏,可以有效防止检测系统根据语音流特征检测并屏蔽该RTP包。
文档编号H04L9/18GK101471769SQ20071030459
公开日2009年7月1日 申请日期2007年12月28日 优先权日2007年12月28日
发明者林鲲鹏, 王允升, 郭建立 申请人:北京大唐高鸿数据网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1