一种基于h323系统的实体认证方法

文档序号:7598387阅读:196来源:国知局
专利名称:一种基于h323系统的实体认证方法
技术领域
本发明涉及一种网络通信技术,尤其涉及一种基于H323系统的实体认证方法。
背景技术
H323系统是基于无QOS(服务质量)保证的PBN(分组网)实现的。由于PBN网络本身的技术原因,PBN基础网络无法提供QOS,也无法提供安全服务。为了在这类不安全的网络上提供安全的服务,就必须考虑两个问题鉴权和保密。H323系统中主要使用H235协议描述的鉴权和保密技术,下面简要描述H.235协议所描述的鉴权和保密技术。
ITU-T的H235协议描述了若干种安全框架,例如,H235协议描述了在H.3xx系列协议框架内增加的安全服务,如鉴权和保密。H.235协议提供了gk(网守)路由模式下H323系统的认证方案,系统的实体认证服务由RAS(注册接入状态)信令认证来提供,所述gk路由模式是H323系统的一种路由模式,其核心是利用gk来转发H225呼叫信令。
ITU-T的H235协议虽然描述了基于gk路由模式的安全框架,但没有具体描述非gk路由模式下H323系统的安全方案。所述非路由模式是H323系统的另外一种路由模式,和gk路由模式相反,不利用gk来转发H225呼叫信令,而是通信的两个终端直接交互H225呼叫信令;非gk路由模式作为H323系统的一种非常重要的呼叫路由模式,应用非常广泛,同样需要保证H323消息的安全。
H235附录D的基本安全框架中虽然用对称加密算法对消息签名,但gk在认证过程中需要查询实体认证数据,影响认证速度。在gk路由的情况下,附录D的安全框架无法在两个H323终端之间提供真正端到端的安全性,其安全性依赖于中间的可信实体gk。H235附录E的数字签名框架对消息鉴别是使用基于公开密钥证书认证机制,采用公钥加密算法,计算复杂耗时,对系统性能有较大影响。且采用这些机制的系统中gk一旦被攻破,所有用户密钥将全部泄露,对用户造成直接威胁。
在另一与H235协议相关的用户认证与RAS信令认证技术中,是结合Kerberos认证机制进行用户认证的方案。其交互过程如图1所示,基于Kerberos的RAS消息认证系统实现基于“推”型认证模式的RAS信令认证机制。Kerberos基于对称密码,需要建立一个所有客户和他们的共同密钥的数据库。Kerberos认证服务器能产生消息,向一个实体证实另一个实体的身份,Kerberos系统还能产生会话密钥,供一个客户机和服务器使用。
然而,Kerberos认证方案中服务提供者和服务请求者是使用时间戳来进行双向鉴权的,因此,Kerberos认证中的鉴别码是需要网络设备的时钟同步的,实现时难以保证,若使用某种时钟同步协议,那么会把时钟同步协议的潜在危险引入到H.323系统中来。

发明内容
本发明的目的是针对上述现有技术中存在的问题,提供了一种基于H323系统的用户认证方法,本发明主要实现了H323系统非gk路由模式和非GK路由模式下的实体认证和RAS信令认证。
本发明的基于H323系统的实体认证方法包括A、第一实体向第二实体发送注册请求消息;
B、第二实体向密钥分配中心发送请求服务票据消息;C、密钥分配中心根据请求服务票据消息生成票据消息,并将所生成的票据消息发送到第二实体;D、第二实体和第一实体根据票据消息进行互相认证。
所述第一实体为终端,所述第二实体包括终端和网守。
所述步骤A中的所述注册请求消息包括第一实体标识和第一实体所产生随机数。
所述步骤B中的所述的请求服务票据消息包括第一实体标识、第一实体所产生的随机数、第二实体标识和第二实体所产生的随机数。
所述的C步骤的所述票据消息包括给第一实体的票据和给第二实体的票据。
所述的给第一实体的票据包括第二实体标识、第一实体的随机数和用第一密钥对第二实体的标识、第一实体所产生的随机数、第二实体和第一实体的会话密钥组成的码流进行加密的密文。
所述第一密钥包括第一实体的密钥、由第一实体的密钥、第一实体所产生的随机数和第二实体标识所导出的密钥。
所述的给第二实体的票据包括第一实体标识、第二实体的随机数和用第二密钥对第一实体的标识、第二实体所产生的随机数、第一实体和第二实体的会话密钥组成的码流进行加密的密文。
所述第二密钥包括第二实体的密钥、由第二实体的密钥、第二实体所产生的随机数和第一实体标识所导出的密钥。
所述步骤D进一步包括D1、第二实体生成注册确认消息并将其发送到第一实体;
D2、第一实体向第二实体发送确认消息。
所述步骤D1中的所述的注册确认消息包括第二实体的随机数、给第一实体的票据和用会话密钥对第一实体的随机数、第二实体的随机数和第二实体标识所计算的消息鉴别码。
所述步骤D1还包括第二实体利用第二实体的密钥对由密钥分配中心发来的给第二实体的票据进行解密,获取会话密钥。
所述步骤D1还包括第二实体验证票据中的第二实体的随机数与自已保留的随机数是否一致,若一致,则执行步骤D2,否则,结束本次认证。
所述步骤D2中的所述的确认消息包括用会话密码对第一实体的随机数和第二实体的随机数和第一实体的标识所组成的码流计算消息鉴别码。
在所述步骤D2之后还包括第二实体收到确认消息后,重新用会话密码对第一实体的随机数和第二实体的随机数和第一实体的标识所组成的码流计算消息鉴别码,并与所收到的消息鉴别码进行比较,若结果一致,则第二实体可确认第一实体的身份,否则,拒绝认证第一实体的身份认证。
根据本发明,由于gk不需保存任何终端秘密,因此,对gk实施攻击无法获得任何用户认证资料,从而降低用户密钥泄漏的可能性。由于gk只需要保存自己的密钥,当gk的密钥泄露时,管理人员可以很容易地通过修改gk密钥堵上这个漏洞。在通讯过程中服务请求者可以方便地更新会话密钥,以避免会话密钥泄密时所带来。并可方便地提供直接路由、跨GK路由的端到端安全。本发明的认证方法不依赖全网时钟同步,避免了使用时钟同步协议的所带来的潜在危险。
根据本发明,在用户注册时GK不必查询用户密钥,也无需产生会话密钥并进行分发,只需对信令进行认证,从而简化了GK的内部流程。分离的KDC简化了GK的结构,使GK不需保存用户密钥。由于随机数和网络地址以明文方式传输,使接收方不需解密即可检查是否受到攻击,提高了抗重放攻击性能。


图1示出了现有技术的RAS信令认证的示意图;图2示出了本发明的RAS信令认证的第一实施例的示意图;图3示出了本发明的RAS信令认证的第二实施例的示意图;图4示出了本发明的GK与Epa之间的认证流程图。
具体实施例方式
为了便于本领域一般技术人员理解和实现本发明,现结合附图描绘本发明的实施例。
本发明的基本思想是在H.235基础上使用户身份认证和RAS消息认证相分离。即,从gk中抽出进行用户认证的功能,由密钥分配中心(KeyDistribution Center,KDC)来分配密钥并进行用户认证,而gk只进行RAS和Q.931消息的鉴权。
如图2所示,根据本发明,需要成立密钥分配中心(Key DistributionCenter,KDC)用于存放用户密钥。当服务请求者需要与服务提供者通讯时,服务提供者可以根据上层业务规则选择是否需要向KDC获取票据(Ticket)用于本次会话,若需要,则KDC负责分发双方的会话密钥,否则,可直接向服务请求者提供服务,如使用H.235框架向服务请求者提供服务。
为了便于描述本发明,现假设服务提供者是gk,服务请求者是终端(a),且采用如下简写
Ka a的密钥Kagka和b的共享密钥Ea(M) 用Ka对明文M加密Eagk(M) 用Kagk对明文M加密MACa(M) 用Ka对明文M计算的消息鉴别码MACa(A,Ra,Kagk) 用Ka对A、Ra、Kagk组成的码流计算消息鉴别码MACagk(M) 用Kagk对明文M计算的消息鉴别码报MACagk(A,Ra,Kagk) 用Kagk对A、Ra、Kagk组成的码流计算消息鉴别码Ta 给a的票据Tgk 给gk的票据Ca 给a的鉴别码A a的标识,在本发明中是网络地址Ra a生成的随机数GK 网守的标识,在本发明中是网络地址Rgk gk生成的随机数在通讯双方进行认证之前,网守和终端分别向系统进行注册,分别获得用于解密密钥分配中心分发的票据的密钥,该密钥同时存储于密钥分配中心,用于对由会话密钥、通讯对方的标识和自已所产生的随机数所组成的码流进行加密。
现在讨论如何设计票据。
在本发明中,通讯双方(a和gk)需要使用会话密钥对RAS消息进行认证,而会话密钥是由KDC通过票据分发的,所以,票据中应包含会话密钥。为了让服务提供者和服务请求者能够互相进行鉴权,还需要包含他们事先知道的一些秘密,如在本发明中采用的是对方的随机数Ra或Rgk。为了可以不对消息进行解密来快速判断是否受到重放攻击,所述重放攻击是指向网络实体不断重复发送同一条消息,使其继续提供服务。这些秘密也可以以明文的方式发送,接收方首先对他们进行检查,若和自己保存的秘密不一样则可以直接抛弃消息。此外,为了防止第三方截获票据,企图让服务提供者为其提供服务,还需要在给一方的票据中包含另一方的标识,在本实施例中另一方的标识是网络地址。综上所诉,若服务请求者为A,服务提供者为gk,则KDC为a提供的票据Ta可定义如下Ta=B,Ra,Ea(B,Ra,Kagk)KDC为gk提供的票据Tgk可定义如下Tgk=A,Rgk,Egk(A,Rgk,Kagk)为了进一步提高安全性,防止攻击者收集大量票据进行选择明文攻击,每次产生的票据不应该使用同一个密钥进行加解密。本实施例是通过Ka、Ra、gk导出一个加密密钥Ka*,由于Ra是随机数,每次的Ra都不相同,所以用Ka、Ra、gk导出的加密密钥Ka*也不相同,用它进行加密解密操作Ka*=MACa(Ra,GK)对Ra和GK使用密钥Ka计算消息验证码(进行单向散列运算)后取其前128位形成Ka*。虽然Ra,GK是以明文传输的,但Ka是保密的,所以保证了Ka*只能由KDC和a导出。最终的票据Ta被定义为Ta=B,Ra,Ea*(B,Ra,Kab)
明确了票据的格式后,下面描述用户和RAS信令认证过程。
下述过程的目标是使终端和所属GK之间达到相互信任GK对所管理的终端进行RAS消息认证,KDC对终端进行用户身份认证,终端对GK也可以进行认证。应用“拉”型认证模型,可以完成GK与EP密钥分配和相互鉴权。如图4所示,具体流程如下在步骤1中,EPa向GK发送端点注册请求消息,消息中携带了一个随机数Ra和网络地址A,EPa在本地保存发出的随机数Ra。
在步骤2中,GK向KDC请求票据。GK在收到EPa发来的RRQ后,由于需要确认EPa的身份,但并不知道EPa的共享密钥,且根据业务来判断是否需要向KDC请求服务票据,所述业务是根据业务的端口号来判断的。若需要向KDC请求服务票据,则GK产生一个随机数Rgk,向KDC发送消息,消息中包含A,GK,Ra,Rgk,否则直接对Epa进行服务。
在步骤3中,KDC向GK发送票据。KDC收到请求后,再随机产生一个密钥Kagk作为EPa和GK的会话密钥,按照上述生成票据的方法,通过Ka、Kgk分别生成票据Ta、Tgk。然后KDC向GK发送消息,消息中包含Ta,Tgk在步骤4中,GK与EPa之间进行相互认证。在GK与EPa之间进行相互认证之前,首先应进行GK与KDC之间的认证。
当GK收到Tgk后,GK通过Kgk解密Tgk,获取会话密钥Kagk,并验证Rgk与自己保留的Rgk是否一致,若一致则表明KDC也知道Kgk,至此就进行了KDC与GK的相互认证,然后GK就可以通过Kagk生成消息鉴别码MACagk(Ra,Rgk,GK),最后向EPa发送RCF消息,消息中包含Rgk,Ta,MACagk(Ra,Rgk,GK)。若Rgk与自己保留的Rgk不一致则表明KDC可能已被破坏,停止以下过程或向EPa发送消息表明不能提供服务。
接着,GK与EPa之间进行相互认证。当Epa收到Ta后,Epa使用自己的密钥Ka对所收到的Ta进行解密,获取会话密钥Kagk。通过Kagk,EPa可以重新计算鉴别码MACagk(Ra,Rgk,GK)再与收到MACagk(Ra,Rgk,GK)进行进行比较,若比较结果一致,则Epa相信GK的合法身份,否则,丢弃该消息,等待接收GK的消息。为了向GK证明自己的合法身份,EPa需要向GK发送它的鉴别码MACagk(Ra,Rgk,A)。EPa向GK发送确认消息,消息中包含MACagk(Ra,Rgk,A)。GK收到消息后重新计算MACagk(Ra,Rgk,A)并与收到的鉴别码相比较,结果一样则可确认EPa的身份。
至此,终端Epa和GK之间就可以进行通讯。
虽然本发明的认证模型中定义了服务提供者和服务请求者两种角色,但认证模型并没有依赖于服务提供者的特定信息,任何实体若需要其他实体为他提供服务都可以向他发起请求。所以,在H.323应用中,服务请求者对应于可呼叫的H.323实体(如终端),而服务提供者则可对应于网守(GK),也可以对应于另一个可呼叫的H.323实体(如终端)。
在上述的过程中,由于Kgk的拥有者只有GK和KDC,而Ka的拥有者只有EPa和KDC,所以如果GK可以解密Tgk并验证Rgk,则说明Tgk确实是KDC发出的有效票据;如果EPa可以解密Ta并检验Ra,也说明了Ta确实是KDC发出的有效票据,分别完成了EPa和GK鉴别KDC的过程。也因为只有他们知道各自的密钥,所以只有他们能够解密Ta和Tgk获取会话密钥Kagk。在Epa向GK发送确认消息的步骤中,EPa比较鉴别码通过时就完成了对GK的鉴权,同样的,GK成功比较鉴别码即完成了对EPa的鉴权。至此,双方都得到了会话密钥Kagk和进行了相互鉴权。
在网络中无GK管理的情况下,利用本方案也可以使两个终端(EPa和Epb)一同得到会话密钥并进行相互认证。与前面的过程类似,不同的是服务提供者是EPb而不是GK。
这样既降低用户密钥的泄漏可能性,也减轻了GK的处理负担,同时分配会话密钥的过程可以在非GK路由和无GK路由模式中进行。
采用本发明,EPa只需向KDC进行一次认证,在后续过程中使用分配好的会话密钥与GK交互RAS消息。
在用户注册时GK或终端不必查询请求服务的终端的密钥,也无需产生会话密钥并进行分发会话密钥,只需对信令进行认证,简化了GK的内部流程。
随机数和网络地址以明文方式传输,使接收方不需解密即可检查是否受到攻击,提高了抗重放攻击性能。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发明的范围由所附的权利要求来限定。
权利要求
1.一种基于H323系统的实体认证方法,包括A、第一实体向第二实体发送注册请求消息;B、第二实体向密钥分配中心发送请求服务票据消息;C、密钥分配中心根据请求服务票据消息生成票据消息,并将所生成的票据消息发送到第二实体;D、第二实体和第一实体根据票据消息进行互相认证。
2.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于,所述第一实体为终端,所述第二实体包括终端和网守。
3.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于,所述步骤A中的所述注册请求消息包括第一实体标识和第一实体所产生随机数。
4.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于,所述步骤B中的所述的请求服务票据消息包括第一实体标识、第一实体所产生的随机数、第二实体标识和第二实体所产生的随机数。
5.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于,所述的C步骤的所述票据消息包括给第一实体的票据和给第二实体的票据。
6.根据权利要求5所述的基于H323系统的实体认证方法,其特征在于,所述的给第一实体的票据包括第二实体标识、第一实体的随机数和用第一密钥对第二实体的标识、第一实体所产生的随机数、第二实体和第一实体的会话密钥组成的码流进行加密的密文。
7.根据权利要求6所述的基于H323系统的实体认证方法,其特征在于,所述第一密钥包括第一实体的密钥、由第一实体的密钥、第一实体所产生的随机数和第二实体标识所导出的密钥。
8.根据权利要求5所述的基于H323系统的实体认证方法,其特征在于,所述的给第二实体的票据包括第一实体标识、第二实体的随机数和用第二密钥对第一实体的标识、第二实体所产生的随机数、第一实体和第二实体的会话密钥组成的码流进行加密的密文。
9.根据权利要求8所述的基于H323系统的实体认证方法,其特征在于,所述第二密钥包括第二实体的密钥、由第二实体的密钥、第二实体所产生的随机数和第一实体标识所导出的密钥。
10.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于,所述步骤D进一步包括D1、第二实体生成注册确认消息并将其发送到第一实体;D2、第一实体向第二实体发送确认消息。
11.根据权利要求10所述的基于H323系统的实体认证方法,其特征在于,所述步骤D1中的所述的注册确认消息包括第二实体的随机数、给第一实体的票据和用会话密钥对第一实体的随机数、第二实体的随机数和第二实体标识所计算的消息鉴别码。
12.根据权利要求10所述的基于H323系统的实体认证方法,其特征在于,所述步骤D1还包括第二实体利用第二实体的密钥对由密钥分配中心发来的给第二实体的票据进行解密,获取会话密钥。
13.根据权利要求12所述的基于H323系统的实体认证方法,其特征在于,所述步骤D1还包括第二实体验证票据中的第二实体的随机数与自已保留的随机数是否一致,若一致,则执行步骤D2,否则,结束本次认证。
14.根据权利要求10所述的基于H323系统的实体认证方法,其特征在于,所述步骤D2中的所述的确认消息包括用会话密码对第一实体的随机数和第二实体的随机数和第一实体的标识所组成的码流计算消息鉴别码。
15.根据权利要求10所述的基于H323系统的实体认证方法,其特征在于,在所述步骤D2之后还包括第二实体收到确认消息后,重新用会话密码对第一实体的随机数和第二实体的随机数和第一实体的标识所组成的码流计算消息鉴别码,并与所收到的消息鉴别码进行比较,若结果一致,则第二实体可确认第一实体的身份,否则,拒绝认证第一实体的身份认证。
全文摘要
本发明公开了一种基于H323系统的实体认证方法,包括第一实体向第二实体发送注册请求消息;第二实体向密钥分配中心发送请求服务票据消息;密钥分配中心根据请求服务票据消息生成票据消息,并将所生成的票据消息发送到第二实体;第二实体根据票据生成注册确认消息并将其发送到第一实体;第一实体向第二实体发送确认消息。所述第一实体为终端,所述第二实体包括终端和网守。由于网守不需保存任何终端秘密,当网守的密钥泄露时,管理人员可以很容易地通过修改网守的密钥堵上这个漏洞,从而增加网络的安全性。并提高了抗重放攻击性能。
文档编号H04L9/12GK1764112SQ20041008385
公开日2006年4月26日 申请日期2004年10月20日 优先权日2004年10月20日
发明者李昆, 王奇, 雷晓松, 王海峰, 张秦 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1