CN102185827B - 一种voip***中语音穿透防火墙的方法 - Google Patents

一种voip***中语音穿透防火墙的方法 Download PDF

Info

Publication number
CN102185827B
CN102185827B CN201110032227.0A CN201110032227A CN102185827B CN 102185827 B CN102185827 B CN 102185827B CN 201110032227 A CN201110032227 A CN 201110032227A CN 102185827 B CN102185827 B CN 102185827B
Authority
CN
China
Prior art keywords
terminal
message
encryption
byte
voice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110032227.0A
Other languages
English (en)
Other versions
CN102185827A (zh
Inventor
吴天勇
张剑华
李伟明
李三零
李艳平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Jiami Technology Co., Ltd.
Original Assignee
GUANGDONG JIAHE COMMUNICATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGDONG JIAHE COMMUNICATION TECHNOLOGY Co Ltd filed Critical GUANGDONG JIAHE COMMUNICATION TECHNOLOGY Co Ltd
Priority to CN201110032227.0A priority Critical patent/CN102185827B/zh
Publication of CN102185827A publication Critical patent/CN102185827A/zh
Application granted granted Critical
Publication of CN102185827B publication Critical patent/CN102185827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种VOIP***中语音穿透防火墙的方法,属于实现网络通讯技术的技术领域。IP终端通过配置界面决定是否启动加密协商机制;当该加密协商机制生效时,IP终端连接VOIP服务器通过加密机制获得加密的密钥,并对自身发出的信令数据包利用该加密机制进行加密;接收报文的终端通过所述的加密协商机制识别接收到的报文是否加密,并对加密报文利用所述的加密机制进行解密处理同时进行加密后发出。通过这种方法可在承载网络存在不可控制的语音防火墙设置时保证语音通讯正常进行。

Description

一种VOIP***中语音穿透防火墙的方法
技术领域
本发明涉及一种VOIP***中语音穿透防火墙的方法,属于实现网络通讯技术的技术领域,特别涉及一种解决由于VOIP通讯***的承载网络存在不可控制的语音防火墙设置而导致语音通讯不正常问题的解决方法的技术领域。
背景技术:
VOIP通讯技术的一个主要特色是控制与承载分离(VoIP是Voice overInternet Protocol的缩写,指的是将模拟的声音讯号经过压缩与封包之后,以数据封包的形式在IP网络的环境进行语音讯号的传输,通俗来说也就是互联网电话、网络电话或者简称IP电话的意思。)因此在实际的VOIP***应用部署中绝大部分是利用用户现有的网络资源作为VOIP***的承载网络。对于有VOIP电话远程互通需求的VOIP用户,其往往是租用其他网络运营商的网络实现的。但是网络运营商的网络应用环境一般较为复杂,譬如:有些网络运营商为了网络的安全稳定或其他目的会在其网络的接入点设置防火墙,以限制某些对网络带宽消耗较大的应用或某些特定网络应用的数据流。针对VOIP应用,有极少数网络运营商就会在其网络中部署语音防火墙以限制VOIP数据传输(如图1)。
常见的语音防火墙原理如下:
1、通过分析VOIP通讯过程中的SIP的信令会话,获得参与通讯的双方的在通讯过程中将要使用的网络地址,然后对发自或发往这些地址的数据包进行丢弃,篡改或伪造,致使通讯无法正常进行(如图2所示)。
2、通过分析数据包,根据语音数据包的特征,确定参与语音通讯双方的网络地址,然后对发自这些地址数据包进行丢弃,篡改或伪造,致使通讯无法正常进行(如图3所示)。
发明内容
本发明针对现有技术提供了一种VOIP***中语音穿透防火墙的方法,使得现有的语音防火墙无法通过分析VOIP信令或VOIP语音数据包的特征来确定参与语音通讯的终端的网络地址,从而实现使语音防火墙无法正常工作,进而保证语音通讯正常进行的目的。
为达到所述的目的本发明采用的方法是:
一种VOIP***中语音穿透防火墙的方法,其中IP终端通过配置界面决定是否吭劢加密协商机制;当该加密协商机制生效时,IP终端连接VOIP服务器通过加密机制获得加密的密钥,并对自身发出的信令数据包利用该加密机制进行加密;接收报文的终端通过所述的加密协商机制识别接收到的报文是否加密,若收到的报文是加密的,对加密报文利用所述的加密机制进行解密处理,相应的,该接收报文的终端发出的报文利用所述的加密机制进行加密后发出;
所述的加密协商机制遵循如下规则:
(a)、对于发起呼叫的终端根据终端的加密配置决定发起的呼叫是否吭用加密机制;若终端被配置为加密的,则呼叫过程使用加密机制,否则呼叫过程不使用加密机制;
(b)、对于接受呼叫的终端根据收到的呼叫请求报文的加密标示确定接收到的呼叫其后续过程是否需要加密;若接受到的呼叫请求报文有加密标示,则呼叫过程使用加密机制,否则呼叫过程不使用加密机制;
(c)、当发起或接受呼叫的终端确定使用加密机制时,其发出SIP信令的SDP携带a=x-encrypt:on属性加密标示,否则携带a=x-encrypt属性加密标示;
(d)、当发起或接受呼叫的终端收到SIP信令的SDP报文中携带a=x-encrypt:on属性加密标示,则终端确定本次通话的语音使用加密机制,否则不使用加密机制;
所述的加密机制包括信令加密/解密过程,语音加密/解密过程和密钥获取机制。
该信令加/解密过程的加密过程为:
第一步、终端使用密钥获取机制获得加密密钥,对将要发出的SIP报文以字节为单位,依报文字节的先后顺序,对奇数位的字节和偶数位的字节分别使用不同的加密密钥按字节执行加密算法Dm=Do XOR De;其中Dm为密文字节,Do为明文字节,De为密钥字节;
第二步、对经过第一步处理的SIP报文加插报文头,使所述的报文按字节顺序依次包括加密标示,密文长度和密文三部分;
所述的加密标示为两个字节,指示该报文是加密报文,为固定值,第一字节为十六进制数EF,第二字节为十六进制数FE;
所述的密文长度为两个字节,标示密文的长度;
所述的密文为经过该加密算法处理的SIP报文;
该信令加/解密过程的解密过程为:
终端使用密钥获取机制获得解密密钥,对收到的SIP报文根据报文头的第三、第四字节确定密文长度,去掉报文头部的四字节获得到完整密文,对密文以字节为单位,依密文字节的先后顺序,对奇数位的字节和偶数位的字节使用不同的解密密钥执行以下解密算法:Do=Dm XOR De;其中Do为明文字节,Dm为密文字节,De为密钥字节。
该语音加/解密过程的加密过程为:
终端使用随机数生成算法生成0-10以内的随机数作为加密报文的填充字节长度;
终端使用随机数生成算法生成0-255以内的随机数作为加密报文的填充字节,根据填充字节长度,依次生成所有填充字节;
形成的加密报文包括加密报文头和RTP格式封装的语音数据两部分;
所述的加密报文头以字节形式顺序包括加密标示,填充数据长度和填充数据三部分;
该加密标示为两个字节,内容为固定值,第一字节为十六进制数EE,第二字节为十六进制数FF;
该填充数据长度为一个字节,内容为随机值,范围为0-10内的任意自然数;
该填充数据的长度由填充数据长度字节定义;该填充数据每字节内容为随机值,范围0-255之间的任意自然数;
RTP格式封装的语音数据为VIOP通讯中的正常语音报文;
该语音加/解密过程的解密过程为:
终端对收到的语音加密报文根据报文头的第三字节确定报文头的随机字节长度,去掉报文头部分的字节,得到RTP格式封装的语音数据,解密完成。
所述的密钥获取机制为:
VOIP密钥由两个字节构成,每字节范围为0-255之间的任意自然数;第一个字节为奇数密钥odd_key,用于对SIP信令明文的奇数字节加密或用于对SIP信令密文的奇数字节解密;第二字节为偶数密钥even_key,用于对SIP信令明文的偶数字节加密或用于对SIP信令密文的偶数字节解密;
该两字节信息以十进制文本的形式存储于VOIP服务器的密钥配置文件中,由VOIP服务器的配置管理软件通过用户界面接口提供对该密钥的修改功能;同时IP终端可以通过VOIP***的私有协议向VOIP配置管理软件获取这两个字节的密钥。
该密钥配置文件中的内容为奇数密钥odd_key=170和偶数密钥even_key=85。
该私有协议由请求消息和应答消息构成;请求消息由实现了加密功能的IP终端产生发送给VOIP服务器的管理软件;应答消息由VOIP服务器的管理软件在收到请求消息后产生,该应答消息包含了密钥信息,并被发送到请求方。
该私有协议中由IP终端发向VOIP配置管理软件的请求消息为getkey\r\n;该私有协议中由VOIP配置管理软件发向IP终端的应答消息为okodd_key=170,even_key=85\r\n。
该发起呼叫的终端实施加密机制的步骤为:
(1)、用户通过IP终端上的配置界面接口配置该终端为加密通讯方式;
(2)、用户通过该终端输入被叫终端号码后发起呼叫;
(3)、IP终端判断是否被配置为加密通讯方式;若是,该终端使用密钥获取机制获得密钥后执行步骤4;否则执行步骤5;
(4)、该终端生成发起呼叫的SIP报文,在报文的SDP属性中揑入a=x-encrypt:on属性,对SIP报文执行信令加密过程后执行步骤6;
(5)、终端生成发起呼叫的SIP报文,在报文的SDP属性中揑入a=x-encrypt属性;执行步骤6;
(6)、终端将处理后的信令报文发给被叫终端;
(7)、终端收到被叫终端加密的呼叫应答报文,执行信令解密过程;
(8)、终端判断呼叫应答报文SDP中是否有a=x-encrypt:on属性;若有确定本次通话的语音需要加密;否则确定本次通话语音不需要加密;
(9)、呼叫建立;根据步骤8的判断,对语音执行或不执行语音加密/解密过程;开始发送/接收语音。
该接收呼叫的终端实施加密机制的步骤为:
(1)、IP终端接收SIP呼叫请求报文;
(2)、判断该终端收到的SIP报文是否有加密标示;若是,终端使用密钥获取机制获得密钥并解密报文;否则执行正常的SIP呼叫过程,本程序终止;
(3)、终端检查接收的SIP报文的SDP中是否有a=x-encrypt:on属性;若有确定本次通话语音需要加密,执行步骤4;否则,确定本次通话语音不需要加密,执行步骤5;
(4)、终端生成接收应答呼叫的SIP报文,在报文的SDP属性中揑入a=x-encrypt:on属性,执行信令加密过程,执行步骤6;
(5)、终端生成接收应答呼叫的SIP报文,在报文的SDP属性中揑入a=x-encrypt属性,执行步骤6;
(6)、终端将处理后的信令报文发给主叫终端;
(7)、呼叫建立;根据步骤3的判断,对语音执行或不执行语音加密/解密过程,开始发送/接收语音。
采用本发明的方法由于IP终端通过配置界面吭劢加密协商机制;当该加密协商机制生效时,IP终端连接VOIP服务器通过加密机制获得加密的密钥,并对自身发出的信令数据包利用该加密机制进行加密;接收报文的终端通过所述的加密协商机制识别接收到的报文是否加密,若收到的报文是加密的,对加密报文利用所述的加密机制进行解密处理,相应的,该接收报文的终端发出的报文利用所述的加密机制进行加密后发出;通过这种方法使得现有的语音防火墙无法通过分析信令或语音数据包的特征来确定参与语音通讯的终端的网络地址,从而使语音防火墙无法正常工作,而保证语音通讯正常进行。
附图说明
图1为现有技术中部署了语音防火墙的网络结构示意图;
图2为现有技术中语音防火墙根据信令拦截语音包原理示意图;
图3为现有技术中语音防火墙根据语音包特征拦截语音包原理示意图;
图4为本发明发起呼叫的终端实施加密机制的流程图;
图5为本发明接受呼叫的终端实施加密机制的流程图。
具体实施方式
在现有技术的IP电话***中,VOIP呼叫信令使用SDP协议(SessionDescription Protocol-一个用来描述多媒体会话的应用层控制协议)来描述;SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定;<type>=<value>[CRLF]。
在SDP中用来描述终端媒体能力属性的<类型>多用字母a表示,所以SDP终端媒体能力属性描述文本行的一般形式如下:
a=attribute或a=attribute:value
其中attribute为媒体能力属性,以文本串形式表示,value为其值;而媒体能力属性attribute的设定可根据使用者需要自行确定。也就是说取什么属性名字不重要,只要便于区分就行,重要的是里面的值的设定和判断。
本发明一种VOIP***中语音穿透防火墙的方法,其IP终端通过配置界面决定是否吭劢加密协商机制;当该加密协商机制生效时,IP终端连接VOIP服务器通过加密机制获得加密的密钥,并对自身发出的信令数据包利用该加密机制进行加密;接收报文的终端通过所述的加密协商机制识别接收到的报文是否加密,若收到的报文是加密的,对加密报文利用所述的加密机制进行解密处理,相应的,该接收报文的终端发出的报文利用所述的加密机制进行加密后发出;
所述的加密协商机制遵循如下规则:
(a)、对于发起呼叫的终端根据终端的加密配置决定发起的呼叫是否吭用加密机制;若终端被配置为加密的,则呼叫过程使用加密机制,否则呼叫过程不使用加密机制;
(b)、对于接受呼叫的终端根据收到的呼叫请求报文的加密标示确定接收到的呼叫其后续过程是否需要加密;若接受到的呼叫请求报文有加密标示,则呼叫过程使用加密机制,否则呼叫过程不使用加密机制;
(c)、当发起或接受呼叫的终端确定呼叫需要加密使用加密机制时,其发出SIP信令(一种VOIP呼叫信令)的SDP(描述本端媒体属性的报文)携带“a=x-encrypt:on”属性加密标示,否则携带“a=x-encrypt”属性加密标示;
(d)、当发起或接受呼叫的终端收到SIP信令的SDP报文中携带“a=x-encrypt:on”属性加密标示,则终端确定本次通话的语音使用加密机制,语音需要加密,否则不使用加密机制;
当终端确定呼叫过程需要加密时,使用该加密机制。所述的加密机制包括信令加密/解密过程,语音加密/解密过程和密钥获取机制。
信令加/解密过程:
本过程针对加密呼叫中的SIP报文由发出报文的终端实施加密过程,由接收报文的终端实施解密过程。
(一)加密过程:
1、终端使用“密钥获取机制”获得加密密钥,对将要发出的SIP报文以字节为单位,依报文字节的先后顺序,对奇数位的字节和偶数位的字节使用相同的加密算法不同的加密密钥执行以下加密算法:
Dm=Do XOR De(Dm:密文字节,Do:明文字节,De:密钥字节)
VOIP密钥由两个字节构成,每字节值范围为0-255之间任意自然数,第一个字节为奇数密钥odd_key,用于对SIP信令明文的奇数字节加密或用于对SIP信令密文的奇数字节解密,第二字节为偶数密钥even_key,用于对SIP信令明文的偶数字节加密或用于对SIP信令密文的偶数字节解密。这两字节信息以十进制文本的形式存储于VOIP服务器的密钥配置文件中,VOIP服务器的配置管理软件可以通过用户界面接口提供对该密钥的修改功能。同时IP终端可以通过VOIP***的私有协议向VOIP配置管理软件获取这两个字节的密钥。譬如:VOIP***的中的密钥配置文件中的内容可以定义如下:
odd_key=170
even_key=85
IP终端与VOIP配置管理软件间的协议可以以文本行的形式定义如下:
①、请求消息(IP终端发向VOIP配置管理软件):getkey\r\n;
②、应答消息(VOIP配置管理软件发向IP终端):ok odd_key=170,even_key=85\r\n;
2、对经过第一步处理的SIP报文加揑报文头,加揑后的加密报文如下所示:
加密标示 密文长度 密文
加密标示:两个字节,指示该报文是加密报文,该为固定值,第一字节为EF(十六进制数值),第二字节为FE(十六进制数值);
密文长度:两个字节,标示密文的长度;
密文:经过加密算法处理的SIP报文;
(二)、解密过程:
终端使用“密钥获取机制”获得加密密钥,对收到的SIP报文根据报文头的3,4字节确定密文长度,去掉报文头部的四字节获得到完整密文,对密文以字节为单位,依密文字节的先后顺序,对奇数位的字节和偶数位的字节使用相同的解密算法不同的解密密钥执行以下解密算法:
Do=Dm XOR De(Do:明文字节,Dm:密文字节,De:密钥字节)
语音加/解密过程:
本过程针对加密通讯中的语音报文由发送报文的终端实施加密过程,由接收报文的终端实施解密过程。
(一)、加密过程:
终端使用“随机数生成算法”生成0-10以内的随机(自然数)数作为加密报文的填充字节长度;
终端使用“随机数生成算法”生成0-255以内的随机(自然数)数作为加密报文的填充字节,根据填充字节长度,依次生成所有填充字节;
依以下结构组装加密报文:
Figure GDA0000418602540000091
加密标示:两个字节,内容为固定值,第一字节EE(十六进制数值),第二字节FF(十六进制数值)
填充数据长度:一个字节,内容为随机值,范围:0-10(包含0和10)之间的任意自然数;
填充数据:其长度由“填充数据长度”字段定义,每字节内容为随机值,范围0-255(包含0和10)之间的任意自然数;
RTP格式封装的语音数据:VIOP通讯中的正常语音报文;RTP是实时传送协议(Real-time Transport Protocol)的缩写,其代表一个网络传输的协议,为音频、视频上传中的常用协议。
(二)、解密过程:
终端对收到的语音加密报文根据报文头的第3字节确定报文头的随机字节长度,去掉报文头部字节,得到RTP格式封装的语音数据,解密完成。
密钥获取机制:
对于信令加/解密过程,终端需要首先获得加解密的密钥,该密钥分为针对奇数字节加解密密钥和针对偶数字节加解密的密钥。本发明中,这些密钥存储于VOIP总机(服务器)中,由VOIP总机配置管理软件进行配置和读取,需要加密通讯的终端通过私有协议向VOIP总机配置管理软件请求获得该密钥。
文中的私有协议是指:为了实现IP终端从VOIP服务器获得密钥功能而在实现了加密功能的IP终端和VOIP服务器的管理软件间定义的一条协议。该协议不遵循通讯领域任何现有的公开的协议标准,完全是为了实现这一特定功能而定义的。该协议由请求消息和应答消息构成:请求消息由实现了加密功能的IP终端产生发送给VOIP服务器的管理软件;应答消息由VOIP服务器的管理软件在收到请求消息后产生,该应答消息包含了密钥信息,并被发送到请求方。
下面结合附图和实施例分别对本发明发起呼叫和接收呼叫实施加密机制的过程说明如下。其中发起终端为IP电话A,接收终端为IP电话B;
如图4为发起呼叫的终端实施加密机制的流程图;
1.用户配置IP电话A终端为加密通讯方式;
2.用户利用IP电话A输入IP电话B的被叫号码,发起呼叫;
3.IP电话A终端判断是否被配置为加密通讯方式,若是,IP电话A终端使用“密钥获取机制”获得密钥,执行步骤4;否则执行步骤5;
4.IP电话A终端生成发起呼叫的SIP报文,在报文的SDP属性中揑入“a=x-encrypt:on”属性,对SIP报文执行“信令加密过程”,执行步骤6;
5.IP电话A终端生成发起呼叫的SIP报文,在报文的SDP属性中揑入“a=x-encrypt”属性,执行步骤6;
6.IP电话A终端将处理后的信令报文发给被叫终端IP电话B;
7.IP电话A终端收到被叫终端IP电话B加密的呼叫应答报文,执行“信令解密过程”;
8.IP电话A终端判断呼叫应答报文SDP中是否有“a=x-encrypt:on”属性,若有确定本次通话,语音需要加密,否则确定本次通话语音不需要加密;
9.呼叫建立(IP电话A和IP电话B);开始发送/接收语音,根据步骤8的判断,对语音执行或不执行语音加解密过程。
如图5为接收呼叫的终端实施加密机制的流程图;
1.IP电话B终端接收IP电话A的SIP呼叫请求报文;
2.IP电话B终端收到的SIP报文是否有加密标示确定后续呼叫过程是否需要信令加密,若是,IP电话A终端使用“密钥获取机制”获得密钥,IP电话B对SIP信令解密;否则执行正常的SIP呼叫过程(该过程后续步骤省略);
3.IP电话B终端检查接收的SIP报文的SDP中是否有“a=x-encrypt:on”属性,若有确定本次通话,语音需要加密,执行步骤4;否则,确定本次通话语音不需要加密,执行步骤5;
4.IP电话B终端生成应答接收呼叫的SIP报文,在报文的SDP属性中揑入“a=x-encrypt:on”属性,执行“信令加密过程”,执行步骤6;
5.IP电话B终端生成应答接收呼叫的SIP报文,在报文的SDP属性中揑入“a=x-encrypt”属性,执行步骤6;
6.IP电话B终端将处理后的信令报文发给IP电话A主叫终端;
7.呼叫建立;开始发送/接收语音,根据步骤3的判断,对语音执行或不执行语音加解密过程。
在实际应用过程中的操作过程:
主叫终端设置加密通讯功能,发起呼叫;
主叫终端生成呼叫请求信令报文,该报文的媒体协商部分设置媒体加密标示,加密信令报文后,发出;
网络运营商的语音防火墙收到主叫发出的加密后的信令报文,由于报文是采用私有加密协议加密的,防火墙无法分析,因此无法通过信令报文得到主叫的媒体网络地址;
被叫终端收到加密信令报文,根据报文首部判断报文加密,依照解密算法对报文进行解密,对解密后的报文按照正常的呼叫流程进行处理,在获得主叫设置了媒体加密请求后,确定本次通讯需要对语音进行加密,并生成回应报文,在进行加密后回应给主叫;
网络运营商的语音防火墙收到被叫发出的加密后的呼叫回应信令报文,由于报文是采用私有加密协议加密的,防火墙无法分析,因此无法通过信令报文得到被叫的媒体网络地址;
主叫收到被叫的加密后的回应报文,根据报文首部判断报文加密,依照解密算法对报文进行解密,对解密后的报文按照正常的呼叫流程进行处理,在获得被叫设置了媒体加密请求后,确定本次通讯需要对语音进行加密,至此呼叫建立;
主被叫开始发送加密后的语音数据包;
网络运营商的语音防火墙收到主被叫的加密后的语音数据包,由于加密后的语音数据包已经无法获得正常语音包的特征(RTP包头,固定长度),因此防火墙无法确定收到的包是否是语音包,无法进行干扰;
主被叫分别收到对方的语音包,对语音包进行解密后,按正常的语音数据处理,双方能正常听到对方的声音。

Claims (9)

1.一种VOIP***中语音穿透防火墙的方法,其特征在于IP终端通过配置界面决定是否启劢加密协商机制;当该加密协商机制生效时,IP终端连接VOIP服务器通过加密机制获得加密的密钥,并对自身发出的信令数据包利用该加密机制进行加密;接收报文的终端通过所述的加密协商机制识别接收到的报文是否加密,若收到的报文是加密的,对加密报文利用所述的加密机制进行解密处理,相应的,该接收报文的终端发出的报文利用所述的加密机制进行加密后发出;
所述的加密协商机制遵循如下规则:
(a)、对于发起呼叫的终端根据终端的加密配置决定发起的呼叫是否启用加密机制;若终端被配置为加密的,则呼叫过程使用加密机制,否则呼叫过程不使用加密机制;
(b)、对于接受呼叫的终端根据收到的呼叫请求报文的加密标示确定接收到的呼叫其后续过程是否需要加密;若接受到的呼叫请求报文有加密标示,则呼叫过程使用加密机制,否则呼叫过程不使用加密机制;
(c)、当发起或接受呼叫的终端确定使用加密机制时,其发出SIP信令的SDP携带a=x-encrypt:on属性加密标示,否则携带a=x-encrypt属性加密标示;
(d)、当发起或接受呼叫的终端收到SIP信令的SDP报文中携带a=x-encrypt:on属性加密标示,则终端确定本次通话的语音使用加密机制,否则不使用加密机制;
所述的加密机制包括信令加密/解密过程,语音加密/解密过程和密钥获取机制。
2.如权利要求1所述的VOIP***中语音穿透防火墙的方法,其特征在于:
该信令加/解密过程的加密过程为:
第一步、终端使用密钥获取机制获得加密密钥,对将要发出的SIP报文以字节为单位,依报文字节的先后顺序,对奇数位的字节和偶数位的字节分别使用不同的加密密钥按字节执行加密算法Dm=Do XOR De;其中Dm为密文字节,Do为明文字节,De为密钥字节;
第二步、对经过第一步处理的SIP报文加插报文头,使所述的报文按字节顺序依次包括加密标示,密文长度和密文三部分;
所述的加密标示为两个字节,指示该报文是加密报文,为固定值,第一字节为十六进制数EF,第二字节为十六进制数FE;
所述的密文长度为两个字节,标示密文的长度;
所述的密文为经过该加密算法处理的SIP报文;
该信令加/解密过程的解密过程为:
终端使用密钥获取机制获得解密密钥,对收到的SIP报文根据报文头的第三、第四字节确定密文长度,去掉报文头部的四字节获得到完整密文,对密文以字节为单位,依密文字节的先后顺序,对奇数位的字节和偶数位的字节使用不同的解密密钥执行以下解密算法:Do=Dm XOR De;其中Do为明文字节,Dm为密文字节,De为密钥字节。
3.如权利要求1所述的VOIP***中语音穿透防火墙的方法,其特征在于:
该语音加/解密过程的加密过程为:
终端使用随机数生成算法生成0-10以内的随机数作为加密报文的填充字节长度;
终端使用随机数生成算法生成0-255以内的随机数作为加密报文的填充字节,根据填充字节长度,依次生成所有填充字节;
形成的加密报文包括加密报文头和RTP格式封装的语音数据两部分;
所述的加密报文头以字节形式顺序包括加密标示,填充数据长度和填充数据三部分;
该加密标示为两个字节,内容为固定值,第一字节为十六进制数EE,第二字节为十六进制数FF;
该填充数据长度为一个字节,内容为随机值,范围为0-10内的任意自然数;
该填充数据的长度由填充数据长度字节定义;该填充数据每字节内容为随机值,范围0-255之间的任意自然数;
RTP格式封装的语音数据为VIOP通讯中的正常语音报文;
该语音加/解密过程的解密过程为:
终端对收到的语音加密报文根据报文头的第三字节确定报文头的随机字节长度,去掉报文头部分的字节,得到RTP格式封装的语音数据,解密完成。
4.如权利要求1所述的VOIP***中语音穿透防火墙的方法,其特征在于所述的密钥获取机制为:
VOIP密钥由两个字节构成,每字节范围为0-255之间的任意自然数;第一个字节为奇数密钥odd_key,用于对SIP信令明文的奇数字节加密或用于对SIP信令密文的奇数字节解密;第二字节为偶数密钥even_key用于对SIP信令明文的偶数字节加密或用于对SIP信令密文的偶数字节解密;
该两字节信息以十进制文本的形式存储于VOIP服务器的密钥配置文件中,由VOIP服务器的配置管理软件通过用户界面接口提供对该密钥的修改功能;同时IP终端可以通过VOIP***的私有协议向VOIP配置管理软件获取这两个字节的密钥。
5.如权利要求4所述的VOIP***中语音穿透防火墙的方法,其特征在于该密钥配置文件中的内容为奇数密钥odd_key=170和偶数密钥even_key=85。
6.如权利要求4所述的VOIP***中语音穿透防火墙的方法,其特征在于该私有协议由请求消息和应答消息构成;请求消息由实现了加密功能的IP终端产生发送给VOIP服务器的管理软件;应答消息由VOIP服务器的管理软件在收到请求消息后产生,该应答消息包含了密钥信息,并被发送到请求方。
7.如权利要求6所述的VOIP***中语音穿透防火墙的方法,其特征在于该私有协议中由IP终端发向VOIP配置管理软件的请求消息为getkey\r\n;该私有协议中由VOIP配置管理软件发向IP终端的应答消息为ok odd_key=170,even_key=85\r\n。
8.如权利要求1所述的VOIP***中语音穿透防火墙的方法,其特征在于该发起呼叫的终端实施加密机制的步骤为:
(1)、用户通过IP终端上的配置界面接口配置该终端为加密通讯方式;
(2)、用户通过该终端输入被叫终端号码后发起呼叫;
(3)、IP终端判断是否被配置为加密通讯方式;若是,该终端使用密钥获取机制获得密钥后执行步骤4;否则执行步骤5;
(4)、该终端生成发起呼叫的SIP报文,在报文的SDP属性中***a=x-encrypt:on属性,对SIP报文执行信令加密过程后执行步骤6;
(5)、终端生成发起呼叫的SIP报文,在报文的SDP属性中***a=x-encrypt属性;执行步骤6;
(6)、终端将处理后的信令报文发给被叫终端;
(7)、终端收到被叫终端加密的呼叫应答报文,执行信令解密过程;
(8)、终端判断呼叫应答报文SDP中是否有a=x-encrypt:on属性;若有确定本次通话的语音需要加密;否则确定本次通话语音不需要加密;
(9)、呼叫建立;根据步骤8的判断,对语音执行或不执行语音加密/解密过程;开始发送/接收语音。
9.如权利要求1所述的VOIP***中语音穿透防火墙的方法,其特征在于该接收呼叫的终端实施加密机制的步骤为:
(1)、IP终端接收SIP呼叫请求报文;
(2)、判断该终端收到的SIP报文是否有加密标示;若是,终端使用密钥获取机制获得密钥并解密报文;否则执行正常的SIP呼叫过程,本程序终止;
(3)、终端检查接收的SIP报文的SDP中是否有a=x-encrypt:on属性;若有确定本次通话语音需要加密,执行步骤4;否则,确定本次通话语音不需要加密,执行步骤5;
(4)、终端生成接收应答呼叫的SIP报文,在报文的SDP属性中***a=x-encrypt:on属性,执行信令加密过程,执行步骤6;
(5)、终端生成接收应答呼叫的SIP报文,在报文的SDP属性中***a=x-encrypt属性,执行步骤6;
(6)、终端将处理后的信令报文发给主叫终端;
(7)、呼叫建立;根据步骤3的判断,对语音执行或不执行语音加密/解密过程,开始发送/接收语音。
CN201110032227.0A 2011-01-30 2011-01-30 一种voip***中语音穿透防火墙的方法 Active CN102185827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110032227.0A CN102185827B (zh) 2011-01-30 2011-01-30 一种voip***中语音穿透防火墙的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110032227.0A CN102185827B (zh) 2011-01-30 2011-01-30 一种voip***中语音穿透防火墙的方法

Publications (2)

Publication Number Publication Date
CN102185827A CN102185827A (zh) 2011-09-14
CN102185827B true CN102185827B (zh) 2014-05-14

Family

ID=44571897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110032227.0A Active CN102185827B (zh) 2011-01-30 2011-01-30 一种voip***中语音穿透防火墙的方法

Country Status (1)

Country Link
CN (1) CN102185827B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9515995B2 (en) * 2013-12-27 2016-12-06 Futurewei Technologies, Inc. Method and apparatus for network address translation and firewall traversal
CN104753876A (zh) * 2013-12-30 2015-07-01 北京大唐高鸿数据网络技术有限公司 灵活可控的通话加密方法
CN115567209B (zh) * 2022-09-29 2023-09-22 ***量子科技有限公司 采用透明代理和量子密钥预充注实现VoIP加解密方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009740A (zh) * 2007-01-17 2007-08-01 广州市高科通信技术股份有限公司 双pppoe实现数据与语音同时接入的***及方法
CN101018229A (zh) * 2007-02-12 2007-08-15 华为技术有限公司 一种媒体业务穿越防火墙的方法及防火墙

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935416B2 (en) * 2006-04-21 2015-01-13 Fortinet, Inc. Method, apparatus, signals and medium for enforcing compliance with a policy on a client computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101009740A (zh) * 2007-01-17 2007-08-01 广州市高科通信技术股份有限公司 双pppoe实现数据与语音同时接入的***及方法
CN101018229A (zh) * 2007-02-12 2007-08-15 华为技术有限公司 一种媒体业务穿越防火墙的方法及防火墙

Also Published As

Publication number Publication date
CN102185827A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
US8824684B2 (en) Dynamic, selective obfuscation of information for multi-party transmission
CN101197674B (zh) 加密通信方法、服务器及加密通信***
US7827398B2 (en) Method for offloading encryption and decryption of a message received at a message server to remote end devices
KR100862050B1 (ko) VoIP 보안 통신을 제공하는 사용자 에이전트 및 이를이용한 보안 통신 제공 방법
CN101335615B (zh) 用于usb key音频加解密装置密钥协商的方法
CN105792193B (zh) 基于iOS操作***的移动终端语音端到端加密方法
CN101800734B (zh) 一种会话信息交互方法、装置及***
CN113347215B (zh) 一种移动视频会议加密方法
US7986773B2 (en) Interactive voice response system security
CN104980406B (zh) 通话录音方法、录音服务器、用户级交换机及录音***
JP5979263B2 (ja) 秘話通信装置、方法及びプログラム
CN108833943A (zh) 码流的加密协商方法、装置及会议终端
JP2005504479A (ja) 通信データを暗号化および復号化するための方法
Tang et al. Audio steganography with AES for real-time covert voice over internet protocol communications
CN102185827B (zh) 一种voip***中语音穿透防火墙的方法
CN107517184A (zh) 报文传输方法、装置及***
US7570765B1 (en) Method and an apparatus to perform secure real-time transport protocol-on-the-fly
CN107395552A (zh) 一种数据传输方法及装置
JP5163187B2 (ja) コールセンタシステム
CN101247221A (zh) 在加密之前给信号加水印
CN101547208A (zh) 会话加密方法和语音终端
CN108696512B (zh) 跨协议的码流加密协商方法、装置及会议设备
KR20120087550A (ko) 암호 통신 방법 및 이를 이용한 암호 통신 시스템
TWI725636B (zh) VoIP端對端語音加密通訊方法、系統與電腦可讀儲存媒介
CN112953964B (zh) 一种语音信令加密处理***及加密处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190715

Address after: 519000. A District 1, 15A, conference center, 1 Software Road, Tang Wan Town, Zhuhai hi tech Zone, Guangdong, 1

Patentee after: Guangdong Jiami Technology Co., Ltd.

Address before: 519080, B5, 4th floor, South Software Park, Zhuhai high tech Zone, Guangdong

Patentee before: Guangdong Jiahe Communication Technology Co., Ltd.