通过扩展MGCP对IP语音接入设备的认证方法
技术领域:
本发明涉及一种设备认证方法,尤其涉及一种通过扩展MGCP对IP语音接入设备的认证方法。
背景技术:
MGCP(Media Gateway Control Protocol,媒体网关控制协议)是IETF(internet工程工作组)较早定义的媒体网关控制协议,主要从功能的角度定义媒体网关控制器和媒体网关之间的行为,实现比较简单,事件交互的机制也比较简单。MGCP具有实现简单等特点。随着技术的不断研究和推进,传统电路交换网和互联网正在相互融合起来,这正是下一代网络的实现目标。并且,下一代网络的逐渐成熟,使得电信网的核心部分成为单一的分组网络成为可能。而对下一代网络中的重要部分语音传输的研究正越来越深入,也即分组语音技术VoIP(Voice over Internet Protocol,语音因特网协议)。而下一代网络技术已经日渐成熟,在这样的形式下,MGCP在IP(Internet Protocol,因特网协议)语音领域被广泛应用起来。
但是,目前IP语音接入设备和MGC(Media Gateway Controlor,媒体网关控制器)之间缺乏认证机制,即MGCP没有认证机制,无法识别IP语音接入设备的身份,从而无法完成对非法IP语音接入设备的访问限制,系统的安全性能比较差。
发明内容:
针对现有媒体网关控制方法中所存在的问题和不足,本发明的目的是提供一种通过扩展MGCP对IP语音接入设备的认证方法。
本发明是这样实现的:一种通过扩展MGCP对IP语音接入设备的认证方法,包括以下步骤:
在MGC设备中存储IP语音接入设备的公钥信息,在MGC设备中加入用于读取存储在MGC设备中的IP语音接入设备的公钥信息的认证模块,同时在IP语音接入设备中加入用于读取自身的私钥信息的认证模块;
所述MGC设备向所述IP语音接入设备发出认证请求;
所述IP语音接入设备收到所述MGC设备的认证请求后,向MGC设备回复加入私钥信息的认证应答;
所述MGC设备检测所述IP语音接入设备的认证应答,并作出授权与否的判断。
进一步地,所述MGC设备发出的认证请求为定长的随机识别码。
进一步地,所述IP语音接入设备向MGC设备回复加入私钥信息的认证应答的过程如下:取出所述MGC设备的认证请求中的随机识别码;
将所述随机识别码用自身的私钥进行加密,向所述MGC设备回复加密随机识别码后获得的密文。
进一步地,所述MGC设备对所述IP语音接入设备的认证过程如下:
所述MGC设备用已记录的所述IP语音接入设备的公钥解密该IP语音接入设备的认证应答,获得解密后的身份识别码明文;
语音验证所述身份识别码明文,若所途的身份识别码明文与原始随机识别码匹配,则所述IP语音接入设备的身份合法,否则不合法。
进一步地,所述MGC设备发出的定长随机识别码具体为16字节的随机识别码。
本发明通过在MGC和IP语音接入设备中各加入一个认证模块,在MGC的存储器中设置IP语音接入设备的公钥信息,MGC中的认证模块可读取存储的公钥信息,并输入至MGC的处理单元,MGC的处理单元对IP语音接入设备应答密文解密;IP语音接入设备中的认证模块可读取自身的私钥信息,并将该私钥信息输入至IP语音接入设备的处理单元,该处理单元对来自MGC的认证请求进行加密。本发明是基于对MGCP协议进行扩展的,对普通的MGC设备进行升级即可进行认证并授权,保证了系统的安全。并且,本发明可使用一般的加密体系,如RSA加密体系等。
附图说明:
下面结合附图,对本发明作出详细描述。
图1为本发明对IP语音接入设备验证流程示意图;
图2为本发明对IP语音接入设备验证另一流程示意图。
具体实施方式:
在说明本发明之前,先介绍一下RSA(美国RSA实验室,以研究加密算法而著名)算法:
RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。基于RSA加密体系的实施方案会产生一个成对公钥和私钥。公钥和私钥间的关系依赖与超大合数的分解,分解合数从数论、概率论和计算学上来讲,是一个不无法在短时间内完成的过程,从而使得从公钥和私钥间的相互推算过程短时间内无法完成,保证了RSA加密体系的强壮性。用公钥加密的数据,能而且只能被公钥解密;用私钥加密的数据,能而且只能被公钥解码;RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。目前,RSA加密体系已经广泛的引用于军事和金融等安全性要求很高的领域。可以采用RSA加密体系对本发明进行认证和授权,当然,其他加密体系同样适用于本发明。
本发明是基于对MGCP协议进行扩展来作为认证手段的,只需要在MGC和IP语音接入设备中的MGCP协议处理模块中增加对扩展参数的识别即可实现,非常的简单方便。这里,媒体网关控制器可以是软交换设备、呼叫代理、中继控制网关,也可以是其它媒体网关控制器。
本发明可基于RSA算法而实现,通过RSA算法对IP语音接入设备进行验证并对其授权,步骤如下:
在MGC设备中存储IP语音接入设备的公钥信息,在MGC设备中加入用于读取存储在MGC设备中的IP语音接入设备的公钥信息的认证模块,同时在IP语音接入设备中加入用于读取自身的私钥信息的认证模块;
MGC设备向IP语音接入设备发出16字节长的随机识别码的认证请求,IP语音接入设备收到MGC设备的认证请求后,向MGC处理单元从认证模块中读取私钥信息,并用该私钥加密MGC设备发出的随机识别码,将随机识别码作为认证应答加入MGC设备的认证请中,并回复给MGC设备;MGC认证处理单元语音从系统数据库中读取IP语音接入设备的的公钥信息,并用该公钥对IP语音接入设备的应答进行解密,解密后的明文与原随机识别码进行匹配,若正确,则IP语音接入设备的身份合法,对IP语音接入设备授权,否则不授权。本发明是实际上对MGCP协议进行的扩展。
按照RFC(Request For Comments,请求评议)2705所规定的MGCP协议标准,以下两种情况下对IP语音接入设备进行身份认证:
1、MGC设备收到IP语音接入设备的RSIP请求的时;
2、MGC设备向IP语音接入设备发出CRCX命令的时。
就上述两种情况分别说明本发明的认证过程。
如图1所示,MGC设备收到IP语音接入设备的RSIP请求时的认证:当MGC设备收到IP语音接入设备的RSIP请求以后,MGC设备记录此RSIP消息,并向IP语音接入设备发出一个临时响应,并产生一个十六字节长度的随机字符串作为随机身份识别码;向IP语音接入设备发出携带有认证请求参数即随机身份识别码的RQNT请求;当IP语音接入设备收到RSIP的临时响应后的携带有认证请求参数的RQNT认证请求后,取出认证请求参数中的随机身份识别码,用自己的私钥进行加密,将此加密后的密文作为认证应答字符串,向MGC设备发出加入了认证应答参数即认证应答字符串的认证应答,即对RQNT的应答;当MGC设备收到IP语音接入设备的身份识别应答,取出认证应答参数,即认证应答字符串,用系统中记录的该IP语音接入设备的公钥进行解密,将随机身份识别码和MGC设备产生的原随机身份识别码进行比较,如果身份不合法向IP语音接入设备发出599 need authorization响应错误信息。拒绝向IP语音接入设备提供媒体网关控制服务,如果接入设备身份认证通过,并向IP语音接入设备发出RSIP的正确响应码200,完成认证和授权。
如图2所示,MGC设备向IP语音接入设备发出CRCX命令时的认证:在MGC设备准备向IP语音接入设备发出CRCX的命令时,产生一个十六字节长度的随机字符串作为随机身份识别码,IP语音接入设备收到CRCX请求后,取出认证请求参数中的随机身份识别码,用自己的私钥进行加密,将此加密后的密文作为认证应答字符串,并向MGC设备发出加入了认证应答参数即认证应答字符串的认证应答,即对CRCX的应答;当MGC设备收到IP语音接入设备的身份识别(即CRCX应答)应答后,取出认证应答参数(认证应答字符串),用系统中记录的该IP语音接入设备的公钥进行解密,并将随机身份识别码和MGC设备产生的原随机身份识别码进行比较,如果匹配则说明身份合法,授权IP语音接入设备可以建立呼叫。如果身份不合法,拒绝向IP语音接入设备提供服务。