一种身份鉴别方法和装置与流程

文档序号:30759498发布日期:2022-07-15 20:12阅读:205来源:国知局
一种身份鉴别方法和装置与流程

1.本技术涉及网络通信安全技术领域,特别是涉及一种身份鉴别方法和装置。


背景技术:

2.在通信网络中,请求设备可以通过鉴别接入控制器访问网络。在一些对安全性需求较高的情况下,鉴别接入控制器需要对请求设备的身份进行鉴别,以确保访问网络的请求设备属于合法用户。此外,在区块链技术中的点对点传输,也需要在不同节点之间建立信任关系,因此对于节点的身份鉴别也是十分重要的。
3.在对请求设备进行身份鉴别的过程中,请求设备需要提供自身的身份信息用于身份鉴别。然而,这类身份信息一般携带了私密、敏感的信息,诸如身份证号、家庭住址、银行卡信息等。并且在实际应用过程中,请求设备的身份信息通常会包含在数字证书中,以数字证书作为身份凭证。
4.若在请求设备的身份鉴别过程中,请求设备的身份信息被攻击者截获用于非法用途,则会对鉴别接入控制器、请求设备及网络造成极大的安全隐患。


技术实现要素:

5.为了解决上述技术问题,本技术提供了一种身份鉴别方法和装置,通过引入鉴别服务器,在保障实体身份相关信息机密性的同时,实现了鉴别接入控制器对请求设备的单向身份鉴别。
6.第一方面,本技术实施例提供了一种身份鉴别方法,包括:
7.鉴别接入控制器获取请求设备发送的身份密文消息,所述身份密文消息中包括所述请求设备的身份信息密文,所述身份信息密文是利用消息加密密钥对包括所述请求设备的数字证书在内的信息加密生成的;
8.所述鉴别接入控制器利用所述消息加密密钥对所述身份信息密文进行解密得到所述请求设备的数字证书;
9.所述鉴别接入控制器向其信任的第一鉴别服务器发送第一鉴别请求消息,所述第一鉴别请求消息中包括所述请求设备的数字证书;
10.所述鉴别接入控制器接收所述第一鉴别服务器发送的第一鉴别响应消息,所述第一鉴别响应消息中包括鉴别结果信息和所述第一鉴别服务器的数字签名,所述鉴别结果信息中包括对所述请求设备的数字证书的验证结果;
11.所述鉴别接入控制器利用所述第一鉴别服务器的公钥对所述第一鉴别服务器的数字签名进行验证;
12.若验证通过,则所述鉴别接入控制器根据所述数字证书的验证结果确定所述请求设备的身份鉴别结果。
13.第二方面,本技术实施例提供了一种鉴别接入控制器,包括:
14.获取单元,用于获取请求设备发送的身份密文消息,所述身份密文消息中包括所
述请求设备的身份信息密文,所述身份信息密文是利用消息加密密钥对包括所述请求设备的数字证书在内的信息加密生成的;
15.解密单元,用于利用所述消息加密密钥对所述身份信息密文进行解密得到所述请求设备的数字证书;
16.第一发送单元,用于向所述鉴别接入控制器信任的第一鉴别服务器发送第一鉴别请求消息,所述第一鉴别请求消息中包括所述请求设备的数字证书;
17.接收单元,用于接收所述第一鉴别服务器发送的第一鉴别响应消息,所述第一鉴别响应消息中包括鉴别结果信息和所述第一鉴别服务器的数字签名,所述鉴别结果信息中包括对所述请求设备的数字证书的验证结果;
18.第一验证单元,用于利用所述第一鉴别服务器的公钥对所述第一鉴别服务器的数字签名进行验证;
19.第一确定单元,用于当所述第一鉴别服务器的数字签名验证通过时,根据所述数字证书的验证结果确定所述请求设备的身份鉴别结果。
20.第三方面,本技术实施例提供了一种请求设备,包括:
21.加密单元,用于利用消息加密密钥对包括所述请求设备的数字证书在内的信息加密生成身份信息密文;
22.发送单元,用于向鉴别接入控制器发送身份密文消息,所述身份密文消息中包括所述请求设备的身份信息密文。
23.由上述技术方案可以看出,在请求设备与鉴别接入控制器之间传输身份信息时,对请求设备的身份信息进行保密处理,可以防止身份信息在传输过程中暴露,保证攻击者无法获得私密、敏感信息,并且通过引入鉴别服务器,在保障实体身份相关信息机密性的同时,实现了鉴别接入控制器对请求设备的单向身份的实时鉴别,为保证只有合法用户才能访问网络奠定基础。
附图说明
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
25.图1为本技术实施例提供的一种身份鉴别方法的示意图;
26.图2为本技术实施例提供的一种请求设备req和鉴别接入控制器aac协商消息加密密钥的方法的示意图;
27.图3为本技术实施例提供的非漫游情况下一种身份鉴别方法的示意图;
28.图4为本技术实施例提供的漫游情况下一种身份鉴别方法的示意图;
29.图5为本技术实施例提供的非漫游情况下另一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
30.图6为本技术实施例提供的漫游情况下另一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
31.图7为本技术实施例提供的一种鉴别接入控制器aac的结构框图;
32.图8为本技术实施例提供的一种请求设备req的结构框图。
具体实施方式
33.在通信网络中,请求设备可以通过鉴别接入控制器访问网络,为了确保访问网络的请求设备属于合法用户,鉴别接入控制器需要对请求设备的身份进行鉴别。
34.以目前的无线通信和移动通信场景为例,在请求设备通过鉴别接入控制器接入无线网络的场景下,请求设备可以为手机、个人数字助理(personal digital assistant,简称pda)、平板电脑等终端设备,鉴别接入控制器可以是无线接入点、无线路由器等网络侧设备。在请求设备通过鉴别接入控制器接入第四/五代移动通信技术(the 4th/5th generation mobile communication technology,简称4g/5g)网络的场景下,请求设备可以为手机、平板电脑等终端设备,鉴别接入控制器可以为基站等网络侧设备。当然,本技术同样适用于其他有线网络、近距离通信网络等各种数据通信场景。
35.然而,在对请求设备进行身份鉴别的过程中,请求设备需要提供自身的身份信息用于鉴别,例如该身份信息可以为请求设备的数字证书,该数字证书中通常携带了身份证号、家庭住址、银行卡信息等私密、敏感信息;若攻击者截获了该数字证书,便可获取其中的私密、敏感信息并用于非法用途,会对鉴别接入控制器、请求设备甚至网络造成极大的安全隐患。
36.为了解决上述技术问题,本技术实施例提供了一种身份鉴别方法,包括:鉴别接入控制器获取请求设备发送的身份密文消息,该身份密文消息中包括请求设备的身份信息密文,该身份信息密文是利用消息加密密钥对包括请求设备的数字证书在内的信息加密生成的;如此,通过身份密文消息保证请求设备的身份信息在请求设备和鉴别接入控制器之间传输的安全性。然后,鉴别接入控制器利用消息加密密钥对身份信息密文解密得到请求设备的数字证书,向其信任的第一鉴别服务器发送包括请求设备的数字证书的第一鉴别请求消息,并接收第一鉴别服务器发送的第一鉴别响应消息,第一鉴别响应消息中包括鉴别结果信息和第一鉴别服务器的数字签名,鉴别结果信息中包括对请求设备的数字证书的验证结果;鉴别接入控制器利用第一鉴别服务器的公钥对第一鉴别服务器的数字签名进行验证,若验证通过,则鉴别接入控制器根据所述数字证书的验证结果确定请求设备的身份鉴别结果。
37.可以理解的是,本技术实施例提到的鉴别结果信息是请求设备信任的鉴别服务器对请求设备的数字证书进行合法性验证得到的。以上仅为请求设备、鉴别接入控制器及鉴别服务器的示例,不应理解为对请求设备、鉴别接入控制器及鉴别服务器的限定,在本技术实施例其他可能的实现方式中,请求设备、鉴别接入控制器及鉴别服务器还可以是其他设备。
38.本技术实施例提供的身份鉴别方法是实现鉴别接入控制器对请求设备的单向身份鉴别(req authentication with an unauthenticated aac,简称raua)。
39.为便于介绍,在本技术实施例中,将以请求设备(requester,简称req)、鉴别接入控制器(authentication access controller,简称aac)和鉴别服务器(authentication server,简称as)为例对本技术的身份鉴别方法进行介绍。
40.其中,as为可信第三方实体,持有符合iso/iec 9594-8/itu x.509、其他标准或其
他技术体系规定的数字证书和数字证书对应的私钥。aac信任的as称为第一鉴别服务器as-aac,req信任的as称为第二鉴别服务器as-req。当as-aac和as-req不相同时,as-aac和as-req相互信任,并相互知晓对方的数字证书或数字证书中的公钥。
41.req可以是参与身份鉴别过程的一个端点,与aac建立连接,访问aac提供的服务,且通过aac访问as。req持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥,其中as-req具有验证req数字证书的合法性的能力。aac可以是参与身份鉴别过程的另一个端点,与req建立连接,提供服务,并与req通信,且可直接访问as-aac,aac知晓as-aac的数字证书或数字证书中的公钥。
42.下面结合图1,说明本技术实施例提供的一种身份鉴别方法,该方法包括:
43.s101、aac获取req发送的身份密文消息reqinit。
44.所述reqinit中包括req的身份信息密文encdata
req
。其中,encdata
req
为req利用消息加密密钥采用对称加密算法对包括req的数字证书cert
req
在内的信息加密生成的。由此在req和aac之间传输身份信息的过程中,对req的身份信息进行保密处理,防止req的身份信息在传输过程中暴露。所述消息加密密钥可以是req和aac协商得到的,也可以是req和aac预先共享的。req和aac协商消息加密密钥的实现方式将在后续介绍。
45.s102、aac利用消息加密密钥对encdata
req
进行解密得到cert
req

46.由于encdata
req
是req利用消息加密密钥采用对称加密算法对包括cert
req
在内的信息加密得到的,因此aac接收到req发送的encdata
req
后,可以利用消息加密密钥采用对称加密算法对encdata
req
解密得到cert
req

47.s103、aac向其信任的as-aac发送第一鉴别请求消息aacveri。
48.所述aacveri中包括cert
req
,以便通过as-aac实现对cert
req
的合法性的验证。
49.需要说明的是,若aac信任的第一鉴别服务器as-aac和req信任的第二鉴别服务器as-req为同一个鉴别服务器时,此时req和aac共同信任的鉴别服务器可以用as-aac(当然也可以用as-req)来表示。此情形下,由as-aac(当然也可以表示为as-req)对cert
req
进行合法性验证后得到验证结果res
req
,根据包括res
req
在内的信息生成鉴别结果信息pub
req
,对包括pub
req
在内的签名数据计算生成as-aac(当然也可以表示为as-req)的数字签名sig
as_aac
(当然也可以表示为sig
as_req
),根据包括pub
req
和sig
as_aac
(当然也可以表示为sig
as_req
)在内的信息生成第一鉴别响应消息asveri。
50.若aac信任的第一鉴别服务器as-aac和req信任的第二鉴别服务器as-req为两个不同的鉴别服务器时。此情形下,as-aac接收到第一鉴别请求消息aacveri后,向as-req发送第二鉴别请求消息as-aacveri,所述as-aacveri中包括aacveri中的cert
req
,由as-req对cert
req
进行合法性验证后得到验证结果res
req
,根据包括res
req
在内的信息生成鉴别结果信息pub
req
,对包括pub
req
在内的签名数据计算生成as-req的数字签名sig
as_req
。然后,as-aac接收as-req发送的第二鉴别响应消息as-reqveri,所述as-reqveri中包括pub
req
和sig
as_req
。as-aac利用as-req的公钥验证sig
as_req
,验证通过后,对包括pub
req
在内的签名数据计算生成as-aac的数字签名sig
as_aac
,根据包括pub
req
和sig
as_aac
在内的信息生成第一鉴别响应消息asveri。
51.s104、aac接收as-aac发送的第一鉴别响应消息asveri。
52.所述asveri中包括鉴别结果信息pub
req
和as-aac的数字签名sig
as_aac
。其中,pub
req
中包括cert
req
的验证结果res
req

53.s105、aac利用as-aac的公钥对sig
as_aac
进行验证。
54.验证通过后,执行后续操作。
55.s106、aac根据pub
req
中的res
req
确定req的身份鉴别结果。
56.由于res
req
可以反映出req是否合法,因此aac对sig
as_aac
验证通过后,便可以根据pub
req
中的res
req
确定req是否合法,从而确保只有合法的req才能访问网络。
57.由上述技术方案可以看出,在请求设备和鉴别接入控制器之间传输身份信息时,对请求设备的身份信息进行保密处理,防止请求设备的身份信息在传输过程中暴露,保证攻击者无法获得私密、敏感的信息。并且通过引入鉴别服务器,在保障实体身份相关信息机密性的同时,实现了鉴别接入控制器对请求设备的单向身份的实时鉴别,为确保只有合法用户才能访问网络奠定基础。
58.请参考图1,在一些实施例中,s101的reqinit中还可以包括req的数字签名sig
req
,sig
req
的签名数据包括reqinit中sig
req
之前的其他字段,则在s106之前,aac还需要确定sig
req
是否验证通过,验证通过才能执行s106。其中,aac确定sig
req
是否验证通过包括以下方式:(1)、aac可以利用解密reqinit中的encdata
req
得到的cert
req
验证sig
req
,根据验证结果确定sig
req
是否验证通过;(2)、当s104的asveri中的pub
req
中还包括cert
req
时,aac可以利用该pub
req
中的cert
req
对sig
req
进行验证,根据验证结果确定sig
req
是否验证通过;(3)、当s104的asveri中的pub
req
中还包括cert
req
时,aac可以先将pub
req
中的cert
req
和解密encdata
req
得到的cert
req
进行一致性比较,若一致,则aac再利用pub
req
中的cert
req
验证sig
req
,根据验证结果确定sig
req
是否验证通过;(4)、sig
req
也可以由req信任的as-req进行验证,此情形下,sig
req
可以被携带在s103的aacveri中,as-aac进一步通过as-aacveri将sig
req
传递至as-req,as-req利用接收到的cert
req
验证sig
req
,验证通过后,才会执行后续流程,因此若aac能够接收到s104的asveri,则aac可以确定sig
req
已验证通过。
59.在身份鉴别过程中,还可以对消息中的身份标识和/或随机数的一致性进行验证,以保障鉴别结果的可靠性和新鲜性。请参考图1,在一些实施例中,s103的aacveri中还可以包括aac的身份标识id
aac
和/或aac生成的第一随机数nonce
aac
;相应地,s104的asveri中还包括id
aac
和/或nonce
aac

60.需要说明的是,as-aac接收到aacveri后,会将其中的id
aac
和/或nonce
aac
在后续交互的消息中进行传递,例如通过asveri将id
aac
和/或nonce
aac
发送给aac,在正常情况下,asveri中的id
aac
和/或nonce
aac
应当与aacveri中的id
aac
和/或nonce
aac
相同,但在aacveri和/或asveri的传输过程中,如果遇到网络抖动或攻击等情况时,可能造成消息中参数信息的丢失或篡改。因此在s106之前,aac可以先验证asveri中的id
aac
和aac自身的身份标识id
aac
的一致性,和/或,验证asveri中的nonce
aac
和aac生成的nonce
aac
的一致性,若验证通过,则aac再执行s106根据pub
req
中的res
req
确定req的身份鉴别结果。
61.以上实施例中,req与aac使用的消息加密密钥可以是二者协商得到的,因此本实施例还提供了一种req和aac协商消息加密密钥的方法,参见图2,所述方法包括:
62.s201、aac向req发送密钥请求消息aacinit。
63.所述aacinit中包括aac的密钥交换参数keyinfo
aac
,keyinfo
aac
包括aac的临时公钥,其中,密钥交换是指如迪菲
·
赫尔曼(diffie-hellman,简称dh)等密钥交换算法。所述
aacinit中还可以包括aac生成的第一随机数nonce
aac

64.所述aacinit中还可以包括security capabilities
aac
,security capabilities
aac
表示aac支持的安全能力参数信息,包括aac支持的身份鉴别套件(身份鉴别套件中包含一种或多种身份鉴别方法)、对称加密算法和/或密钥导出算法等,以供req选择使用的特定安全策略,则req可以根据security capabilities
aac
选择req使用的特定安全策略security capabilities
req
。security capabilities
req
表示req相应确定使用的身份鉴别方法、对称加密算法和/或密钥导出算法等。
65.s202、req根据包括req的密钥交换参数keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算消息加密密钥。
66.若s201中的aacinit中还包括aac生成的nonce
aac
,则req可以根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合包括nonce
aac
和req生成的第二随机数nonce
req
在内的信息,利用协商的或预置的密钥导出算法计算消息加密密钥。协商的密钥导出算法可以是req根据aac发送的security capabilities
aac
而选择使用的密钥导出算法。其中,keyinfo
req
是req产生的密钥交换参数,包括req的临时公钥。keyinfo
req
对应的临时私钥是req产生的对应于req的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
67.s203、req向aac发送身份密文消息reqinit。
68.所述reqinit中包括所述keyinfo
req
,以便aac根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥在内的信息计算消息加密密钥。其中,keyinfo
aac
对应的临时私钥是aac产生的对应于aac的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
69.所述reqlnit中还可以包括security capabilities
req
。所述reqinit中还可以包括nonce
req
,以便aac根据包括所述keyinfo
aac
对应的临时私钥、所述keyinfo
req
所包括的临时公钥、所述nonce
aac
和所述nonce
req
在内的信息计算得到消息加密密钥。
70.所述reqinit中还可以包括所述nonce
aac
,进而aac可以在计算消息加密密钥之前,对reqinit中的nonce
aac
和aac生成的nonce
aac
的一致性进行验证,以确保aac接收的reqinit是对aacinit的响应消息。
71.s204、aac根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成所述第一密钥,根据包括所述第一密钥在内的信息利用所述密钥导出算法计算消息加密密钥。
72.若所述reqinit中还包括所述nonce
req
,则aac可以根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成所述第一密钥k1,将k1结合包括所述nonce
aac
和所述nonce
req
在内的信息,利用协商的或预置的密钥导出算法计算该消息加密密钥。其中,协商的密钥导出算法可以是aac根据req发送的security capabilities
req
而选择使用的密钥导出算法。
73.本技术实施例还提供了利用aac和req之间信息交互来确定本次鉴别过程所使用的第一鉴别服务器和/或第二鉴别服务器的方法:
74.aac在s201的aacinit中添加aac信任的至少一个鉴别服务器的身份标识id
as_aac

则req根据所述id
as_aac
确定自身信任的至少一个鉴别服务器的身份标识id
as_req
。具体实现时,req从id
as_aac
中选取至少一个鉴别服务器且是自身信任的鉴别服务器作为id
as_req
,若选取失败,则req将自身信任的至少一个鉴别服务器作为id
as_req
(其中,选取成功对应非漫游情况,选取失败对应漫游情况),将该id
as_req
添加至s203的reqlnit中发送给aac。进而,aac可以根据id
as_aac
和id
as_req
确定第一鉴别服务器,例如aac可以判断id
as_req
和id
as_aac
中是否存在至少一个相同的鉴别服务器的身份标识,若存在,即为非漫游情况,aac从上述至少一个req和aac共同信任的鉴别服务器的身份标识中,确定参与身份鉴别的第一鉴别服务器;若不存在,则为漫游情况,aac需要根据id
as_aac
确定参与身份鉴别的第一鉴别服务器as-aac,并将id
as_req
发送给as-aac,以便as-aac根据id
as_req
确定第二鉴别服务器as-req。
75.作为另一种实施方式,aac可以不必向req发送id
as_aac
,而由req在s203的reqlnit中添加自身信任的至少一个鉴别服务器的身份标识id
as_req
。根据id
as_req
和aac自身信任的鉴别服务器的身份标识id
as_aac
确定参与身份鉴别过程的第一鉴别服务器和/或第二鉴别服务器,具体实现方式如前一种实施方式。
76.由于req和aac信任的鉴别服务器可以相同也可以不同,当req和aac信任的鉴别服务器相同时,即为非漫游情况;当req和aac信任的鉴别服务器不同时,即为漫游情况。
77.参见图3,是在非漫游情况下身份鉴别方法的一个实施例。其中,可以用as-aac(当然也可以用as-req)来表示req和aac共同信任的鉴别服务器,在该实施例执行之前,req和aac都拥有了消息加密密钥,消息加密密钥可以是双方预先共享的,也可以是双方预先通过图2所示的方法协商得到的,所述身份鉴别方法包括:
78.s301、aac获取req发送的身份密文消息reqinit。
79.所述reqinit中包括req的身份信息密文encdata
req

80.s302、aac利用消息加密密钥对reqinit中的encdata
req
解密得到cert
req

81.s303、aac向as-aac发送第一鉴别请求消息aacveri。
82.所述aacveri中包括cert
req

83.s304、as-aac对cert
req
进行合法性验证得到res
req
,根据包括res
req
在内的信息生成pub
req
,对包括pub
req
在内的签名数据计算生成as-aac的数字签名sig
as_aac

84.s305、aac接收as-aac发送的第一鉴别响应消息asveri。
85.所述asveri中包括pub
req
和sig
as_aac

86.s306、aac利用as-aac的公钥验证sig
as_aac

87.若验证通过,则执行s307。
88.s307、aac根据pub
req
中的res
req
确定req的身份鉴别结果。
89.参见图4,是在漫游情况下身份鉴别方法的一个实施例。其中,as-aac与as-req相互信任,且知晓对方的数字证书或数字证书中的公钥,在该实施例执行之前,req和aac都拥有了消息加密密钥,消息加密密钥可以是双方预先共享的,也可以是双方预先通过图2所示的方法协商得到的,所述身份鉴别方法包括:
90.s401、aac获取req发送的身份密文消息reqinit。
91.所述reqinit中包括req的身份信息密文encdata
req

92.s402、aac利用消息加密密钥对reqinit中的encdata
req
解密得到cert
req

93.s403、aac向as-aac发送第一鉴别请求消息aacveri。
capabilities
req
、keyinfo
req
及encdata
req
;另外,当reqinit中不包括nonce
aac
字段时,sig
req
的签名数据还应包括aacinit中的nonce
aac
字段。本技术中,将被加密的对象称为加密数据,将被签名的对象称为签名数据。
114.s505、aac接收所述reqinit后,执行下述操作(若无特别说明或逻辑上的关系,本文中以(1)、(2)
……
编号的动作并不因为有编号而存在必然的先后顺序。全文同),包括:
115.(1)、若reqinit中存在nonce
aac
,则检查该nonce
aac
是否与aac生成的nonce
aac
相同,若不同,则丢弃reqinit;
116.(2)、根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥;
117.(3)、利用消息加密密钥采用对称加密算法对encdata
req
解密得到cert
req

118.s506、aac向as-aac发送第一鉴别请求消息aacveri。
119.所述aacveri中包括nonce
aac
、id
aac
和cert
req
。其中,nonce
aac
应等于aac生成的nonce
aac
;cert
req
应等于reqinit中的cert
req

120.s507、as-aac接收所述aacveri后,执行下述操作,包括:
121.(1)、验证cert
req
的合法性得到res
req
,根据包括cert
req
和res
req
在内的信息生成pub
req

122.(2)、计算sig
as_aac

123.s508、as-aac向aac发送第一鉴别响应消息asveri。
124.所述asveri中包括id
aac
、nonce
aac
、pub
req
及sig
as_aac
。其中,id
aac
、nonce
aac
应分别等于aacveri中的相应字段;sig
as_aac
的签名数据包括id
aac
、nonce
aac
和pub
req

125.s509、aac接收所述asveri后,执行下述操作,包括:
126.(1)、检查asveri中的id
aac
、nonce
aac
是否分别与aac自身的身份标识id
aac
、aac生成的nonce
aac
相同;
127.(2)、利用as-aac的公钥验证sig
as_aac

128.(3)、检查pub
req
中的cert
req
是否与解密encdata
req
得到的cert
req
相同;
129.(4)、利用cert
req
验证sig
req

130.(5)、上述检查和验证均通过后,根据pub
req
中的res
req
确定req的身份鉴别结果;上述检查和验证中任一步不通过,则立即丢弃asveri。
131.需要说明的是,在s509中对sig
req
的验证也可以改为在s505中先行执行,即aac在解密所述encdata
req
得到cert
req
后,利用cert
req
对sig
req
进行验证,此时pub
req
中可以不包括cert
req
。或者,在s509中对sig
req
的验证也可以改为在s507中由as-aac先行执行,此情形下,sig
req
通过s506的aacveri传递至as-aac,由as-aac利用接收到的cert
req
验证sig
req
,此时pub
req
中可以不包括cert
req

132.参见图6,是在漫游情况下身份鉴别方法的一个实施例。在该实施例中,req和aac之间的消息加密密钥协商过程被融合到了身份鉴别过程中,更便于工程实施。该身份鉴别方法包括:
133.s601、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac

134.s602、aac向req发送密钥请求消息aacinit。
135.所述aacinit中包括nonce
aac
、keyinfo
aac
、id
as_aac
和security capabilities
aac
。其中,id
as_aac
和security capabilities
aac
为可选字段;id
as_aac
表示aac信任的至少一个鉴别服务器的身份标识,用于使得req根据id
as_aac
确定是否存在共同信任的鉴别服务器。
136.s603、req生成nonce
req
和keyinfo
req
,根据需要生成id
as_req
和security capabilities
req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥,利用消息加密密钥采用对称加密算法计算req的身份信息密文encdata
req
;计算sig
req

137.其中,security capabilities
req
和id
as_req
为可选字段;id
as_req
表示req信任的至少一个鉴别服务器的身份标识,当aacinit中存在id
as_aac
时,req尽量从其信任的鉴别服务器中选择至少一个与id
as_aac
中相同的鉴别服务器作为id
as_req
,若选择失败,则将自身信任的至少一个鉴别服务器作为id
as_req
(本实施例对应选择失败的情况);当aacinit中不存在id
as_aac
时,req将自身信任的至少一个鉴别服务器作为id
as_req

138.s604、req向aac发送身份密文消息reqinit。
139.所述reqinit中包括nonce
aac
、nonce
req
、keyinfo
req
、id
as_req
、security capabilities
req
、encdata
req
及sig
req
。其中,nonce
aac
、security capabilities
req
和id
as_req
为可选字段,且nonce
aac
应等于aacinit中的相应字段;encdata
req
的加密数据包括cert
req
。sig
req
的签名数据包括reqinit中sig
req
之前的其他字段,当reqinit中不包括nonce
aac
时,sig
req
的签名数据还包括aacinit中的nonce
aac
字段。
140.s605、aac接收所述reqinit后,执行下述操作,包括:
141.(1)、若reqinit中存在nonce
aac
,则检查该nonce
aac
是否与aac生成的nonce
aac
相同,若不同,则丢弃reqinit;
142.(2)、根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥;
143.(3)、利用消息加密密钥采用对称加密算法对encdata
req
解密得到cert
req

144.(4)、若reqinit中携带id
as_req
且aacinit中携带id
as_aac
,则aac判断id
as_req
和id
as_aac
是否存在至少一个相同的鉴别服务器的身份标识,若存在,即为非漫游情况,aac从上述至少一个req和aac共同信任的鉴别服务器的身份标识中,确定参与身份鉴别的第一鉴别服务器;若不存在,则为漫游情况,aac需要根据id
as_aac
确定参与身份鉴别的第一鉴别服务器as-aac,并将id
as_req
发送给as-aac,以便as-aac根据id
as_req
确定第二鉴别服务器as-req;或者,
145.若reqinit中携带id
as_req
但aacinit中不携带id
as_aac
,则aac判断id
as_req
和aac所信任的鉴别服务器是否存在至少一个相同的鉴别服务器的身份标识,若存在,即为非漫游情况,aac从上述至少一个req和aac共同信任的鉴别服务器的身份标识中,确定参与身份鉴别的第一鉴别服务器;若不存在,则为漫游情况,aac需要根据自身信任的鉴别服务器确定参
与身份鉴别的第一鉴别服务器as-aac,并将id
as_req
发送给as-aac,以便as-aac根据id
as_req
确定第二鉴别服务器as-req;
146.需要说明的是,此实施例判断出的结果为漫游情况。
147.s606、aac向as-aac发送第一鉴别请求消息aacveri。
148.所述aacveri中包括nonce
aac
、id
aac
、id
as_req
及cert
req
。其中,id
as_req
为可选字段,其应等于reqinit中的相应字段;nonce
aac
应等于aac生成的nonce
aac
;cert
req
应等于reqinit中的相应字段。
149.s607、as-aac接收所述aacveri后,向as-req发送第二鉴别请求消息as-aacveri。
150.若aacveri中存在id
as_req
,则as-aac根据id
as_req
确定第二鉴别服务器as-req;若不存在,则表示as-aac已确知as-req。所述as-aacveri中包括id
aac
、nonce
aac
及cert
req
。其中,id
aac
、nonce
aac
、cert
req
均来源于aacveri。
151.s608、as-req接收所述as-aacveri后,执行下述操作,包括:
152.(1)、验证cert
req
的合法性得到res
req
,根据包括cert
req
和res
req
在内的信息生成pub
req

153.(2)、计算sig
as_req

154.s609、as-req向as-aac发送第二鉴别响应消息as-reqveri。
155.所述as-reqveri中包括id
aac
、nonce
aac
、pub
req
及sig
as_req
。其中,id
aac
、nonce
aac
应分别等于as-aacveri中的相应字段;sig
as_req
的签名数据包括id
aac
、nonce
aac
和pub
req

156.s610、as-aac接收所述as-reqveri后,执行下述操作,包括:
157.(1)、利用as-req的公钥验证sig
as_req
,若验证不通过,则丢弃as-reqveri;
158.(2)、计算sig
as_aac

159.s611、as-aac向aac发送第一鉴别响应消息asveri。
160.所述asveri中包括id
aac
、nonce
aac
、pub
req
及sig
as_aac
。其中,id
aac
、nonce
aac
、pub
req
应分别等于as-reqveri中的相应字段;sig
as_aac
的签名数据包括id
aac
、nonce
aac
和pub
req

161.s612、aac接收所述asveri后,执行下述操作,包括:
162.(1)、检查asveri中的id
aac
、nonce
aac
是否分别与aac自身的身份标识id
aac
、aac生成的nonce
aac
相同;
163.(2)、利用as-aac的公钥验证sig
as_aac

164.(3)、检查pub
req
中的cert
req
是否与解密encdata
req
得到的cert
req
相同;
165.(4)、利用cert
req
验证sig
req

166.(5)、上述检查和验证均通过后,根据pub
req
中的res
req
确定req的身份鉴别结果;上述检查和验证中任一步不通过,则立即丢弃asveri。
167.需要说明的是,在s612中对sig
req
的验证也可以改为在s605中先行执行,即aac在解密所述encdata
req
得到cert
req
后,利用cert
req
验证sig
req
,此时pub
req
中可以不包括cert
req
。或者,在s612中对sig
req
的验证也可以改为在s608中由as-req先行执行,此情形下,sig
req
通过s606的aacveri、s607的as-aacveri传递至as-req,由as-req利用接收到的cert
req
验证sig
req
,此时pub
req
中可以不包括cert
req

168.在上述各实施例中,每条消息还可以携带一个杂凑值hash
x_y
,该杂凑值hash
x_y
是该消息的发送方实体x利用杂凑算法对接收到的对端实体y发送的最新前序消息计算得到
的,用于对端实体y来验证实体x是否接收到完整的最新前序消息。其中,hash
req_aac
表示req对接收到的aac发送的最新前序消息计算的杂凑值,hash
aac_req
表示aac对接收到的req发送的最新前序消息计算的杂凑值,hash
aac_as-aac
表示aac对接收到的as-aac发送的最新前序消息计算的杂凑值,hash
as-aac_aac
表示as-aac对接收到的aac发送的最新前序消息计算的杂凑值,hash
as-aac_as-req
表示as-aac对接收到的as-req发送的最新前序消息计算的杂凑值,hash
as-req_as-aac
表示as-req对接收到的as-aac发送的最新前序消息计算的杂凑值。若发送方实体x当前发送的消息为实体x和实体y之间交互的首条消息,意味着实体x未曾收到对端实体y发送的前序消息,则该条消息中hash
x_y
可以不存在或者无意义。
169.对应的,对端实体y接收到实体x发送的消息后,若该条消息中包含hash
x_y
,则当实体y未曾向实体x发送过前序消息时,实体y忽略hash
x_y
;当实体y曾向实体x发送过前序消息时,实体y利用杂凑算法对之前向实体x发送的最新前序消息在本地计算杂凑值,并与接收到的消息中携带的杂凑值hash
x_y
比较,若一致,则执行后续步骤,否则丢弃或者结束本次鉴别过程。
170.本发明中,对实体x而言,对端实体y向实体x发送的前序消息指的是:实体x向对端实体y发送消息m之前,接收过的对端实体y向实体x发送的消息;对端实体y向实体x发送的最新前序消息指的是:实体x向对端实体y发送消息m之前,接收的对端实体y向实体x发送的最新一条消息。若实体x向其对端实体y发送的消息m是实体x和实体y之间交互的第一条消息,则实体x向其对端实体y发送消息m之前,不存在对端实体y向实体x发送的前序消息。
171.上述图5和图6对应实施例中的可选字段和可选操作,在说明书附图的图5和图6中用“*”表示。以上所有实施例中涉及的消息中所包括的各个内容不限定顺序,并且在没有特别说明的情况下,不限定消息接收方收到消息后对相关消息的操作顺序以及对消息中所包括的内容进行处理的顺序。
172.基于图1-6对应的实施例,参见图7,本技术实施例提供了一种鉴别接入控制器aac,包括:
173.获取单元701,用于获取请求设备发送的身份密文消息,所述身份密文消息中包括所述请求设备的身份信息密文,所述身份信息密文是利用消息加密密钥对包括所述请求设备的数字证书在内的信息加密生成的;
174.解密单元702,用于利用所述消息加密密钥对所述身份信息密文进行解密得到所述请求设备的数字证书;
175.第一发送单元703,用于向所述鉴别接入控制器信任的第一鉴别服务器发送第一鉴别请求消息,所述第一鉴别请求消息中包括所述请求设备的数字证书;
176.接收单元704,用于接收所述第一鉴别服务器发送的第一鉴别响应消息,所述第一鉴别响应消息中包括鉴别结果信息和所述第一鉴别服务器的数字签名,所述鉴别结果信息中包括对所述请求设备的数字证书的验证结果;
177.第一验证单元705,用于利用所述第一鉴别服务器的公钥对所述第一鉴别服务器的数字签名进行验证;
178.第一确定单元706,用于当所述第一鉴别服务器的数字签名验证通过时,根据所述数字证书的验证结果确定所述请求设备的身份鉴别结果。
179.可选的,获取单元701获取的身份密文消息中还包括所述请求设备的数字签名,则
在第一确定单元706确定所述请求设备的身份鉴别结果之前,第一确定单元706还用于确定所述请求设备的数字签名是否验证通过,若确定所述请求设备的数字签名验证通过,则第一确定单元706再根据所述数字证书的验证结果确定所述请求设备的身份鉴别结果。
180.可选的,第一确定单元706具体用于:
181.利用解密单元702解密所述请求设备的身份信息密文得到的所述请求设备的数字证书对所述请求设备的数字签名进行验证,根据验证结果确定所述请求设备的数字签名是否验证通过;或者,
182.当所述鉴别结果信息中还包括所述请求设备的数字证书时,利用所述鉴别结果信息中的所述请求设备的数字证书对所述请求设备的数字签名进行验证,根据验证结果确定所述请求设备的数字签名是否验证通过;或者,
183.当所述鉴别结果信息中还包括所述请求设备的数字证书时,将解密所述请求设备的身份信息密文得到的所述请求设备的数字证书与所述鉴别结果信息中的所述请求设备的数字证书的一致性进行比较,若一致,则再利用所述请求设备的数字证书对所述请求设备的数字签名进行验证,根据验证结果确定所述请求设备的数字签名是否验证通过;或者,
184.当所述请求设备信任的第二鉴别服务器利用接收到的所述请求设备的数字证书对所述请求设备的数字签名进行验证,若接收单元704接收到所述第一鉴别响应消息,则确定所述请求设备的数字签名已验证通过。
185.可选的,所述鉴别接入控制器还包括:
186.第二发送单元,用于向所述请求设备发送密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;则获取单元701获取的身份密文消息中还包括所述请求设备的密钥交换参数;
187.计算单元,用于根据包括所述鉴别接入控制器的密钥交换参数对应的临时私钥和所述请求设备的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥。
188.可选的,所述第二发送单元发送的密钥请求消息中还包括所述鉴别接入控制器生成的第一随机数;对应的,获取单元701获取的身份密文消息中还包括所述请求设备生成的第二随机数;
189.所述计算单元,具体用于根据包括所述第一密钥、所述第一随机数和所述第二随机数在内的信息计算所述消息加密密钥。
190.可选的,获取单元701获取的身份密文消息中还包括所述第一随机数;所述鉴别接入控制器还包括:
191.第二验证单元,用于对所述身份密文消息中的第一随机数和所述鉴别接入控制生成的第一随机数的一致性进行验证;验证通过后,所述计算单元再计算所述消息加密密钥。
192.可选的,所述第二发送单元发送的密钥请求消息中还包括所述鉴别接入控制器支持的安全能力参数信息;则获取单元701获取的身份密文消息中还包括请求设备使用的特定安全策略,所述特定安全策略是所述请求设备根据所述安全能力参数信息确定的。
193.可选的,所述第二发送单元发送的密钥请求消息中还包括所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识;则获取单元701获取的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识;所述鉴别接入控制器还包括:
194.第二确定单元,用于根据所述身份密文消息中所述请求设备信任的至少一个鉴别服务器的身份标识和所述密钥请求消息中所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识,确定参与身份鉴别的第一鉴别服务器。
195.可选的,获取单元701获取的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识;所述鉴别接入控制器还包括:
196.第三确定单元,用于根据所述请求设备信任的至少一个鉴别服务器的身份标识和所述鉴别接入控制器信任的鉴别服务器的身份标识,确定参与身份鉴别的第一鉴别服务器。
197.可选的,第一发送单元703发送的第一鉴别请求消息中还包括所述鉴别接入控制器的身份标识和/或所述鉴别接入控制器生成的第一随机数;
198.对应的,接收单元704接收的第一鉴别响应消息中还包括所述鉴别接入控制器的身份标识和/或所述第一随机数;
199.则所述鉴别接入控制器还包括:
200.第三验证单元,用于对所述第一鉴别响应消息中的鉴别接入控制器的身份标识和所述鉴别接入控制器自身的身份标识的一致性进行验证,和/或,对所述第一鉴别响应消息中的第一随机数和所述鉴别接入控制器生成的第一随机数的一致性进行验证;验证通过后,第一确定单元706再根据所述数字证书的验证结果确定所述请求设备的身份鉴别结果。
201.可选的,所述鉴别接入控制器向所述请求设备发送的消息还包括所述鉴别接入控制器对接收到的所述请求设备发送的最新前序消息计算的杂凑值;所述鉴别接入控制器向所述第一鉴别服务器发送的消息还包括所述鉴别接入控制器对接收到的所述第一鉴别服务器发送的最新前序消息计算的杂凑值。
202.参见图8,本技术实施例还提供了一种请求设备req,包括:
203.加密单元801,用于利用消息加密密钥对包括所述请求设备的数字证书在内的信息加密生成身份信息密文;
204.发送单元802,用于向鉴别接入控制器发送身份密文消息,所述身份密文消息中包括所述请求设备的身份信息密文。
205.可选的,所述请求设备还包括:
206.接收单元,用于接收所述鉴别接入控制器发送的密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
207.计算单元,用于根据包括所述请求设备的密钥交换参数对应的临时私钥和所述鉴别接入控制器的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥;
208.发送单元802发送的身份密文消息中还包括所述请求设备的密钥交换参数。
209.可选的,所述接收单元接收的密钥请求消息中还包括所述鉴别接入控制器生成的第一随机数;
210.所述计算单元,具体用于根据包括所述第一密钥、所述第一随机数和所述请求设备生成的第二随机数在内的信息计算所述消息加密密钥;
211.发送单元802发送的身份密文消息中还包括所述第二随机数。
212.可选的,所述接收单元接收的密钥请求消息中还包括所述鉴别接入控制器支持的
安全能力参数信息,所述请求设备还包括:
213.第一确定单元,用于根据所述安全能力参数信息确定所述请求设备使用的特定安全策略;
214.发送单元802发送的身份密文消息中还包括所述特定安全策略。
215.可选的,所述接收单元接收的密钥请求消息中还包括所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识;则所述请求设备还包括:
216.第二确定单元,用于根据所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识,确定所述请求设备信任的至少一个鉴别服务器的身份标识;则发送单元802发送的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识。
217.可选的,发送单元802发送的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识。
218.可选的,发送单元802发送的身份密文消息中还包括所述鉴别接入控制器生成的第一随机数。
219.可选的,所述请求设备向所述鉴别接入控制器发送的消息还包括所述请求设备对接收到的所述鉴别接入控制器发送的最新前序消息计算的杂凑值。
220.在请求设备和鉴别接入控制器之间传输身份信息时,对请求设备的身份信息进行保密处理,防止请求设备的身份信息在接入网络的过程中暴露,保证攻击者无法获得请求设备私密、敏感的信息。并且通过引入鉴别服务器,在保障实体身份相关信息机密性的同时,实现鉴别接入控制器对请求设备的单向身份的实时鉴别,从而为确保只有合法用户才能访问网络奠定基础。
221.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
222.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其与方法实施例相一致和对应,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
223.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1