一种基于H323系统的实体认证方法转让专利

申请号 : CN200410083851.3

文献号 : CN100596066C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李昆王奇雷晓松王海峰张秦

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种基于H323系统的实体认证方法,包括:第一实体向第二实体发送注册请求消息;第二实体向密钥分配中心发送请求服务票据消息;密钥分配中心根据请求服务票据消息生成票据消息,并将所生成的票据消息发送到第二实体;第二实体根据票据生成注册确认消息并将其发送到第一实体;第一实体向第二实体发送确认消息。所述第一实体为终端,所述第二实体包括终端和网守。由于网守不需保存任何终端秘密,当网守的密钥泄露时,管理人员可以很容易地通过修改网守的密钥堵上这个漏洞,从而增加网络的安全性。并提高了抗重放攻击性能。

权利要求 :

1.一种基于H323系统的实体认证方法,包括:

A、第一实体向第二实体发送注册请求消息,所述注册请求消息包括第一 实体标识和第一实体所产生的随机数;

B、第二实体向密钥分配中心发送请求服务票据消息,所述请求服务票据 消息包括第一实体标识、第一实体所产生的随机数、第二实体标识和第二实 体所产生的随机数;

C、密钥分配中心根据请求服务票据消息生成票据消息,并将所生成的票 据消息发送到第二实体,所述票据消息中包含有给第一实体的票据和给第二 实体的票据,其中,所述给第一实体的票据包括第二实体标识,第一实体的 随机数和用第一密钥对第二实体的标识、第一实体所产生的随机数、第一实 体和第二实体的会话密钥组成的码流进行加密的密文;

D、第二实体和第一实体根据票据消息进行互相认证。

2.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于, 所述第一实体为终端,所述第二实体包括终端和网守。

3.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于, 所述第一密钥为由第一实体的密钥对第一实体所产生的随机数和第二实体标 识进行消息鉴别码计算后所导出的密钥。

4.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于, 所述的给第二实体的票据包括:第一实体标识,第二实体的随机数和用第二密钥对第一实体的标识、第 二实体所产生的随机数、第一实体和第二实体的会话密钥组成的码流进行加 密的密文。

5.根据权利要求4所述的基于H323系统的实体认证方法,其特征在于, 所述第二密钥为由第二实体的密钥对第二实体所产生的随机数和第一实体标 识进行消息鉴别码计算后所导出的密钥。

6.根据权利要求1所述的基于H323系统的实体认证方法,其特征在于, 所述步骤D进一步包括:D1、第二实体生成注册确认消息并将其发送到第一实体;

D2、第一实体向第二实体发送确认消息。

7.根据权利要求6所述的基于H323系统的实体认证方法,其特征在于, 所述步骤D1中的所述的注册确认消息包括第二实体的随机数、给第一实体的 票据和用第一实体和第二实体的会话密钥对第一实体的随机数、第二实体的 随机数和第二实体标识所计算的消息鉴别码。

8.根据权利要求6所述的基于H323系统的实体认证方法,其特征在于, 所述步骤D1还包括:第二实体利用第二实体的密钥对由密钥分配中心发来的 给第二实体的票据进行解密,获取第一实体和第二实体的会话密钥。

9.根据权利要求8所述的基于H323系统的实体认证方法,其特征在于, 所述步骤D1还包括第二实体验证票据中的第二实体的随机数与自已保留的随 机数是否一致,若一致,则执行步骤D2,否则,结束本次认证。

10.根据权利要求6所述的基于H323系统的实体认证方法,其特征在于, 所述步骤D2中的所述的确认消息包括用第一实体和第二实体的会话密钥对第 一实体的随机数、第二实体的随机数和第一实体的标识所组成的码流计算消 息鉴别码。

11.根据权利要求6所述的基于H323系统的实体认证方法,其特征在于, 在所述步骤D2之后还包括:第二实体收到确认消息后,重新用第一实体和第 二实体的会话密钥对第一实体的随机数、第二实体的随机数和第一实体的标 识所组成的码流计算消息鉴别码,并与所收到的消息鉴别码进行比较,若结 果一致,则第二实体可确认第一实体的身份,否则,拒绝认证第一实体的身 份认证。

说明书 :

技术领域

本发明涉及一种网络通信技术,尤其涉及一种基于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、第二实体和第一实体根据票据消息进行互相认证。
所述第一实体为终端,所述第二实体包括终端和网守。
所述第一密钥为由第一实体的密钥对第一实体所产生的随机数和第二 实体标识进行消息鉴别码计算后所导出的密钥。
所述的给第二实体的票据包括第一实体标识,第二实体的随机数和用 第二密钥对第一实体的标识、第二实体所产生的随机数、第一实体和第二 实体的会话密钥组成的码流进行加密的密文。
所述第二密钥为由第二实体的密钥对第二实体所产生的随机数和第一 实体标识进行消息鉴别码计算后所导出的密钥。
所述步骤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中抽出进行用户认证的功能,由密钥分配中心(Key Distribution Center,KDC)来分配密钥并进行用户认证,而gk只进行RAS 和Q.931消息的鉴权。
如图2所示,根据本发明,需要成立密钥分配中心(Key Distribution Center,KDC)用于存放用户密钥。当服务请求者需要与服务提供者通讯 时,服务提供者可以根据上层业务规则选择是否需要向KDC获取票据 (Ticket)用于本次会话,若需要,则KDC负责分发双方的会话密钥,否 则,可直接向服务请求者提供服务,如使用H.235框架向服务请求者提供服 务。
为了便于描述本发明,现假设服务提供者是gk,服务请求者是终端 (a),且采用如下简写:
Ka                   a的密钥
Kagk                 a和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的内部流 程。
随机数和网络地址以明文方式传输,使接收方不需解密即可检查是否 受到攻击,提高了抗重放攻击性能。
虽然通过实施例描绘了本发明,但本领域普通技术人员知道,在不脱 离本发明的精神和实质的情况下,就可使本发明有许多变形和变化,本发 明的范围由所附的权利要求来限定。