一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2022-07-15 20:37:04 来源:中国专利 TAG:


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.所述接收模块还用于接收所述请求设备发送的第二验证消息,所述第二验证消息包括所述请求设备的数字签名;所述请求设备的数字签名是对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的;
26.所述验证模块还用于根据所述请求设备的鉴权结果中携带的所述请求设备的公钥对所述请求设备的数字签名进行验证;
27.生成模块,用于根据所述请求设备的鉴权结果获得所述请求设备的身份合法性鉴别结果,在所述请求设备的数字签名验证通过且在确定所述请求设备的身份合法后产生所述请求设备的新临时身份标识,再生成鉴别完成消息和第一存证消息;其中,所述鉴别完成消息中包括所述请求设备的新临时身份标识;所述第一存证消息中包括所述请求设备的新临时身份标识和所述请求设备的数字签名;
28.所述发送模块还用于通过所述第二鉴别服务器向所述请求设备信任的第一鉴别服务器发送所述第一存证消息,以及向所述请求设备发送所述鉴别完成消息。
29.本技术第四方面提供了一种第二鉴别服务器,包括:
30.接收模块,用于接收鉴别接入控制器发送的第一鉴权请求消息,所述第一鉴权请求消息包括请求设备的临时身份标识和所述鉴别接入控制器的公钥;
31.发送模块,用于向所述鉴别接入控制器发送第一鉴权响应消息,所述第一鉴权响应消息包括所述鉴别接入控制器的鉴权结果、所述请求设备信任的第一鉴别服务器的第一数字签名、所述请求设备的鉴权结果、所述第一鉴别服务器生成的存证随机数和所述第二鉴别服务器的第二数字签名;
32.所述接收模块还用于接收所述鉴别接入控制器生成的第一存证消息,所述第一存证消息中包括所述请求设备的新临时身份标识和所述请求设备的数字签名;所述请求设备的数字签名是所述请求设备对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的。
33.本技术第五方面提供了一种第一鉴别服务器,包括:
34.验证模块,用于利用请求设备的公钥对第一存证消息中的所述请求设备的数字签名进行验证,所述第一存证消息中包括所述请求设备的新临时身份标识和所述请求设备的数字签名;所述请求设备的数字签名是所述请求设备对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的;
35.替换模块,用于在所述请求设备的数字签名验证通过后,生成并保存所述请求设备的请求通过记录,使用所述第一存证消息中所述请求设备的新临时身份标识替换所述请求设备的临时身份标识。
36.由上述技术方案可以看出,请求设备采用临时身份标识作为其身份凭证,鉴别接入控制器采用公钥作为其身份凭证,在身份鉴别过程中,请求设备向鉴别接入控制器发送包括请求设备的临时身份标识的鉴别请求消息,然后鉴别接入控制器向其信任的第二鉴别服务器发送第一鉴权请求消息,第一鉴权请求消息包括请求设备的临时身份标识和鉴别接入控制器的公钥,如此,第二鉴别服务器能够检查鉴别接入控制器的公钥的合法性从而生成鉴别接入控制器的鉴权结果,并生成第二鉴别服务器的第二数字签名,请求设备信任的
第一鉴别服务器能够根据请求设备的临时身份标识查找请求设备的公钥并检查其合法性,从而生成请求设备的鉴权结果,并生成第一鉴别服务器的第一数字签名,此外第一鉴别服务器还生成存证随机数,用于为后续收费提供证据,第二鉴别服务器根据鉴别接入控制器的鉴权结果、第一鉴别服务器的第一数字签名、请求设备的鉴权结果、存证随机数和第二鉴别服务器的第二数字签名生成第一鉴权响应消息并向鉴别接入控制器返回第一鉴权响应消息;鉴别接入控制器验证第二鉴别服务器的第二数字签名,验证通过,则向请求设备发送第一验证消息,第一验证消息包括鉴别接入控制器的鉴权结果、第一鉴别服务器的第一数字签名、所述第一鉴别服务器生成的存证随机数和所述鉴别接入控制器的第一数字签名;请求设备在第一鉴别服务器的第一数字签名和鉴别接入控制器的第一数字签名验证通过后,根据鉴别接入控制器的鉴权结果确定鉴别接入控制器的身份合法性。
37.此外,请求设备确定鉴别接入控制器的身份合法后,还向鉴别接入控制器发送包括请求设备的数字签名的第二验证消息,请求设备的数字签名是对包括第一鉴别服务器的存证随机数在内的信息进行签名计算生成的;鉴别接入控制器根据请求设备的鉴权结果中携带的请求设备的公钥验证请求设备的数字签名以及根据所述请求设备的鉴权结果确定所述请求设备的身份合法性,在验证通过且确定所述请求设备的身份合法后为请求设备分配新临时身份标识,再生成鉴别完成消息和第一存证消息,并将鉴别完成消息发送给请求设备,将第一存证消息发送给第一鉴别服务器;相应的,请求设备使用鉴别完成消息中的新临时身份标识更新请求设备的临时身份标识,第一鉴别服务器验证第一存证消息中的请求设备的数字签名,并在验证通过后生成并保存请求设备的请求通过记录,证明请求设备在特定时间有请求访问网络的行为,为后续收费提供证据避免恶意收费。如此实现请求设备和鉴别接入控制器的双向身份鉴别;并且实体采用临时身份标识作为身份凭证,其真实身份不会被泄露,保障了用户隐私。
附图说明
38.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1为本技术实施例提供的一种身份鉴别方法的示意图;
40.图2为本技术实施例提供的一种请求设备req和鉴别接入控制器aac协商消息完整性校验密钥的方法的示意图;
41.图3为本技术实施例提供的一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
42.图4为本技术实施例提供的一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
43.图5为本技术实施例提供的一种请求设备req的结构框图;
44.图6为本技术实施例提供的一种鉴别接入控制器aac的结构框图;
45.图7为本技术实施例提供的一种第二鉴别服务器as-aac的结构框图;
46.图8为本技术实施例提供的一种第一鉴别服务器as-req的结构框图。
具体实施方式
47.在通信网络中,请求设备可以通过鉴别接入控制器访问网络,为了确保访问网络的请求设备属于合法用户,以及请求设备访问的网络为合法网络,鉴别接入控制器和请求设备之间通常需要进行双向身份鉴别(mutual identity authentication,简称mia)。
48.以目前的无线通信和移动通信场景为例,在请求设备通过鉴别接入控制器访问无线网络的场景下,请求设备可以为手机、个人数字助理(personal digital assistant,简称pda)、平板电脑等终端设备,鉴别接入控制器可以是无线接入点、无线路由器等网络侧设备。在请求设备通过鉴别接入控制器访问有线网络的场景下,请求设备可以为台式机、笔记本电脑等终端设备,鉴别接入控制器可以是交换机或路由器等网络侧设备。在请求设备通过鉴别接入控制器接入第四/五代移动通信技术(the 4th/5th generation mobile communication technology,简称4g/5g)网络的场景下,请求设备可以为手机、平板电脑等终端设备,鉴别接入控制器可以为基站等网络侧设备。当然,本技术同样适用于其他有线网络、近距离通信网络等各种数据通信场景。
49.然而在已有的实体鉴别方案中,通常不能保护用户的隐私信息,且会存在网络接入点恶意计费,给用户造成异常收费的问题。为了解决上述问题,本技术实施例提供一种身份鉴别方法,在该方法中,鉴别接入控制器为请求设备分配临时身份标识作为其身份凭证,鉴别接入控制器自身采用公钥作为身份凭证,请求设备在接入网络时,向鉴别接入控制器发送鉴别请求消息,鉴别接入控制器向其信任的第二鉴别服务器发送第一鉴权请求消息,第一鉴权请求消息包括请求设备的临时身份标识和鉴别接入控制器的公钥,请求设备信任的第一鉴别服务器根据请求设备的临时身份标识生成请求设备的鉴权结果,鉴别接入控制器信任的第二鉴别服务器对鉴别接入控制器的公钥进行验证生成鉴别接入控制器的鉴权结果,然后第二鉴别服务器向鉴别接入控制器发送携带请求设备和鉴别接入控制器的鉴权结果及相关签名的第一鉴权响应消息,请求设备和鉴别接入控制器分别获取对方的鉴权结果实现双向身份鉴别。由于请求设备采用临时身份标识实现身份鉴别,避免传输真实身份信息,保障其真实身份信息的安全。此外,请求设备在确定鉴别接入控制器身份合法后,还向鉴别接入控制器发送第二验证消息,以便鉴别接入控制器为请求设备分配新临时身份标识,并向第一鉴别服务器发送存证消息,对请求设备访问网络行为进行存证,为后续收费提供证据,避免恶意计费。
50.为便于介绍,在本技术实施例中,将以请求设备(requester,简称req)、鉴别接入控制器(authentication access controller,简称aac)和鉴别服务器(authentication server,简称as)为例对一种身份鉴别方法进行介绍。
51.其中,aac信任的as称为第二鉴别服务器as-aac,req信任的as称为第一鉴别服务器as-req。as-aac和as-req各自持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥。as-req知晓req的id或者tid及其所对应的req的公钥pub
req
。另,系统中还可以存在证书解密服务器(certificate sever-decrypt,简称cs-dec),cs-dec持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的加密证书和加密证书对应的私钥;cs-dec可以是独立的服务器,也可以驻留在as-req中。
52.as-aac和as-req可以是同一as也可以是不同的as,当as-aac与as-req相同时,即非漫游情况;当as-aac与as-req不同时,即漫游情况,此时as-aac与as-req相互知晓对方的
签名证书或签名证书中的公钥。
53.req和aac是参与身份鉴别过程的端点,req与aac建立连接,访问aac提供的服务,且通过aac访问as;aac与req建立连接,提供服务,并与req通信,且可直接访问as-aac。req和aac均具有标识身份的id,且req还具有临时身份标识tid。req与aac分别持有一对公私钥(其中,req的公钥与aac的公钥分别记为pub
req
和pub
aac
),req和aac知晓其信任的鉴别服务器的数字证书或其数字证书对应的公钥,且req知晓as-req的签名证书或as-req签名证书中的公钥,在某些应用场景中req还知晓cs-dec的加密证书或cs-dec加密证书中的公钥。as-aac能够根据pub
aac
验证aac的身份合法性,as-req能够根据req的id或tid查找所对应的pub
req
,并根据pub
req
验证req的身份合法性。
54.下面结合图1,说明本技术实施例提供的一种身份鉴别方法,该方法包括:
55.s101、req向aac发送鉴别请求消息attach。
56.所述attach中包括req的临时身份标识tid
req
。其中,tid
req
是由aac为req分配的,在实际应用中tid
req
具有唯一性,即多个req请求接入网络时,aac分别为每个req分配不同的tid
req
,以便对req进行区分。
57.一方面,可以通过临时身份标识实现身份鉴别,避免真实身份信息泄露,另一方面tid
req
具有有效期,可以实现生命周期的管理。
58.s102、aac向其信任的as-aac发送第一鉴权请求消息aacveri。
59.所述aacveri包括aac的公钥pub
aac
和所述tid
req

60.s103、aac接收as-aac发送的第一鉴权响应消息asveri。
61.所述asveri包括aac的鉴权结果res
aac
、req信任的as-req的第一数字签名sig
as_req1
、req的鉴权结果res
req
、as-req生成的存证随机数nonce
as_req
和as-aac的第二数字签名sig
as_aac2

62.需要说明的是,当as-aac和as-req为同一个鉴别服务器时,req和aac共同信任的鉴别服务器可以用as-aac(当然也可以用as-req)来表示。此情形下,由as-aac(也可以表示为as-req)对所述tid
req
和所述pub
aac
进行验证。例如,由as-aac(也可以表示为as-req)判断tid
req
是否有效,若有效,则查找tid
req
所对应的req的公钥pub
req
,并检查pub
req
的合法性,根据包括pub
req
及其检查结果在内的信息生成res
req
,并生成存证随机数nonce
as_aac
(也可以表示为nonce
as_req
),以便为计费提供证据,以及,检查pub
aac
的合法性,根据包括pub
aac
及其检查结果在内的信息生成res
aac
,并对包括res
aac
在内的信息进行签名计算生成所述sig
as_req1
表示,对包括res
req
和nonce
as_req
在内的信息进行签名计算生成所述sig
as_aac2
,根据包括res
aac
、sig
as_req1
、res
req
、nonce
as_req
和sig
as_aac2
在内的信息生成asveri。
63.当aac信任的as-aac和req信任的as-req为不同鉴别服务器时,此情形下,由as-aac验证所述pub
aac
,具体为检查pub
aac
的合法性,根据包括pub
aac
及其检查结果在内的信息生成res
aac
,然后根据res
aac
和aacveri中的tid
req
在内的信息生成第二鉴权请求消息as-aacveri,并向as-req发送as-aacveri。
64.as-req根据tid
req
查找对应的pub
req
,并检查pub
req
的合法性,根据包括pub
req
及其检查结果在内的信息生成res
req
,并生成存证随机数nonce
as_req
,以便为计费提供证据。接着,as-req对包括res
aac
在内的信息进行签名计算生成所述sig
as_req1
,对包括res
req
和nonce
as_req
在内的信息进行签名计算生成as-req的第二数字签名sig
as_req2
,根据res
aac

sig
as_req1
、res
req
、nonce
as_req
和sig
as_req2
在内的信息生成第二鉴权响应消息as-reqveri,并向as-aac发送as-reqveri。
65.as-aac验证所述sig
as_req2
,验证通过后,对包括res
req
和nonce
as_req
在内的信息进行签名计算生成所述sig
as_aac2
,根据包括res
aac
、sig
as_req1
、res
req
、nonce
as_req
和sig
as_aac2
在内的信息生成asveri。
66.需要说明的是,考虑到临时身份标识的时效性,as-req在产生nonce
as-req
之前,还可以判断所述tid
req
是否满足时效性,若是,则as-req再产生存证随机数nonce
as_req
。如此,可以避免非法分子利用失效tid
req
伪装成当前用户发起访问网络的请求。
67.s104、aac验证所述sig
as_aac2

68.具体的,aac知晓as-aac的公钥,其利用as-aac的公钥对sig
as_aac2
进行验证,若验证通过,则表明asveri中的res
req
和nonce
as_req
并未被篡改,可以继续执行后续操作。
69.s105、aac向req发送第一验证消息aacauth。
70.所述aacauth中包括所述res
aac
、所述sig
as_req1
、所述nonce
as_req
和aac的第一数字签名sig
aac1

71.s106、req验证所述sig
as_req1
以及根据所述res
aac
中携带的pub
aac
验证所述sig
aac1
,验证通过后,根据所述res
aac
获得aac的身份合法性鉴别结果。
72.具体的,req知晓as-req的公钥,其利用as-req的公钥对所述sig
as_req1
进行验证;以及,req根据res
aac
中携带的pub
aac
验证sig
aac1
,若所述sig
aac1
和所述sig
as_req1
验证均通过,则req可以根据res
aac
确定aac身份合法性,实现对aac的身份鉴别。若有至少一项验证不通过,则停止执行后续步骤。若确定aac身份合法,则执行s107。
73.s107、req向aac发送第二验证消息reqauth。
74.所述reqauth中包括req的数字签名sig
req
。sig
req
是req对包括所述nonce
as_req
在内的信息进行签名计算生成的。
75.可选的,reqauth中还可以包括req生成的第一消息完整性校验码mactag
req
,则在执行s108之前,aac还要验证mactag
req
,验证通过后再执行后续操作。其中,mactag
req
是req利用其与aac之间的消息完整性校验密钥对包括reqauth中除mactag
req
外的其他字段计算生成的。则aac在验证mactag
req
时,应利用其与req之间的消息完整性校验密钥对包括reqauth中除mactag
req
外的其他字段计算生成mactag
req
,并将计算出的mactag
req
与reqauth中的mactag
req
进行比较,若一致,则验证通过,若不一致,则验证不通过。
76.s108、aac根据所述res
req
中携带的req的公钥pub
req
验证所述sig
req
以及根据所述res
req
获得req的身份合法性鉴别结果,验证通过且确认req的身份合法后产生req的新临时身份标识tid
reqnew
,再生成鉴别完成消息aacfinish和第一存证消息aacupdate。
77.s109、aac向req发送鉴别完成消息aacfinish。
78.其中,所述aacfinish中包括所述tid
reqnew

79.s110、req使用所述aacfinish中的tid
reqnew
替换所述tid
req

80.可选的,s109的aacfinish中还可以包括aac生成的第二消息完整性校验码mactag
aac
。mactag
aac
是aac利用其与req之间的消息完整性校验密钥对包括aacfinish中除mactag
aac
外的其他字段计算生成的。相应的,在执行s110之前,req还要验证mactag
aac
,验证通过后再执行后续操作。req在验证mactag
aac
时,应利用其与aac之间的消息完整性校验密
钥对包括aacfinish中除mactag
aac
外的其他字段计算生成mactag
aac
,并将计算出的mactag
aac
与aacfinish中的mactag
aac
进行比较,若一致,则验证通过,若不一致,则验证不通过。
81.若mactag
aac
验证通过,则表明req与aac的交互是完整的,aacfinish是可信的,req可以采用aacfinish中的tid
reqnew
替换tid
req
,实现临时身份标识的更新。若mactag
aac
验证不通过,则表明req与aac的交互是不完整的,aacfinish不可信,req立即丢弃aacfinish。
82.s111、aac向as-aac发送第一存证消息aacupdate。
83.所述aacupdate中包括所述tid
reqnew
和所述sig
req

84.可选的,所述aacupdate中还包括aac的第二数字签名sig
aac2
,所述sig
aac2
是aac对aacupdate中sig
aac2
之前的其他信息进行签名计算生成的。如此,as-aac可以通过对所述sig
aac2
进行验证以确定aacupdate在传输过程中是否被篡改。
85.s112、as-req利用pub
req
对所述aacupdate中的sig
req
进行验证,验证通过后,生成并保存req的请求通过记录,使用所述aacupdate中的tid
reqnew
替换tid
req

86.当as-aac和as-req为同一个鉴别服务器时,aac直接向as-aac(也可以表示为as-req)发送aacupdate,as-aac(也可以表示为as-req)利用pub
req
对aacupdate中的sig
req
进行验证,若验证通过,则表明req在该时间段发起入网请求并成功入网,基于此,as-aac(也可以表示为as-req)生成req的请求通过记录,并将请求通过记录保存在本地或远端,为后续收费提供证据。此外,as-aac(也可以表示为as-req)还使用aacupdate中的tid
reqnew
替换tid
req
,实现tid
req
的更新。
87.当as-aac和as-req为不同鉴别服务器时,aac向as-aac发送aacupdate,as-aac对包括所述tid
reqnew
和所述sig
req
在内的信息计算生成as-aac的第三数字签名sig
as_aac3
,再根据包括tid
reqnew
、sig
req
和sig
as_aac3
在内的信息生成第二存证消息asupdate,as-aac向as-req发送asupdate,as-req根据as-aac的公钥验证所述sig
as_aac3
,若验证通过,则再执行后续相关步骤,包括验证sig
req
,并在验证通过后生成并保存req的请求通过记录,以及执行用tid
reqnew
替换tid
req
的步骤。
88.在实际应用中,不限定s109和s111的执行顺序,可以先执行s109后执行s111,也可以先执行s111后执行s109,还可以同时执行s109和s111。
89.可选的,aac可以先执行s111即发送所述第一存证消息aacupdate,s112中对所述aacupdate中的sig
req
验证通过后,生成第一存证确认消息,aac接收到所述第一存证确认消息后再执行s109即向req发送所述鉴别完成消息aacfinish。
90.由上可知,本技术提供的身份鉴别方法,通过采用tid
req
作为req的身份凭证,采用pub
aac
作为aac的身份凭证,req在接入网络时,向as-aac发送鉴别请求消息,请求进行双向身份鉴别,as-aac验证pub
aac
的合法性生成res
aac
,as-req验证tid
req
生成res
req
,然后as-aac向aac返回asveri,aac从asveri中获取res
req
,从而确定req的身份合法性,当确定req身份合法后,aac向req发送携带有res
aac
的aacauth,req根据res
aac
确定aac的身份合法性,如此既实现了req和aac的双向身份鉴别,又保障了实体的隐私信息。
91.请参考图1,s103的asveri中的所述res
req
可以表示req的身份合法性鉴别结果为合法、不合法、或空(即res
req
取值为null),因此s105的aacauth中还包括aac生成的指示标识flag
aac
,flag
aac
用于指示是否需要req发送其真实的身份标识id
req
。例如,若asveri中的
所述res
req
表示req的身份合法性鉴别结果为空(即res
req
取值为null),则flag
aac
标识可以为1,表示需要req发送其真实的id
req
,以便重新对req的身份进行验证;若asveri中的所述res
req
表示req的身份合法性鉴别结果为合法或不合法,则flag
aac
标识可以为0,表示不需要req发送其真实的id
req
。当需要req发送其真实的id
req
时,则为了保障req的隐私安全,req可以利用加密证书的公钥对包括id
req
在内的信息加密生成req的身份标识密文encpub
as
,则req向aac发送reqauth时还可以携带encpub
as

92.相应地,aac还向as-aac发送第三鉴权请求消息aacreveri,所述aacreveri中包括所述encpub
as
。若as-aac与as-req为同一鉴别服务器,则as-aac(也可以表示为as-req)可以利用加密证书的私钥解密encpub
as
得到id
req
,根据id
req
查找pub
req
,检查pub
req
的合法性生成res
req
,并根据res
req
生成第三鉴权响应消息asreveri。aac接收所述asreveri,并根据asreveri中的res
req
重新确定req的身份合法性。
93.若as-aac与as-req为不同的鉴别服务器,则as-aac接收所述aacreveri后,还要向as-req发送包括所述encpub
as
的第四鉴权请求消息as-aacreveri,则as-req可以利用加密证书的私钥解密encpub
as
得到id
req
,根据id
req
查找pub
req
,检查pub
req
的合法性生成res
req
,并根据res
req
生成第四鉴权响应消息as-reqreveri。as-aac接收所述as-reqreveri后,根据as-reqreveri中的res
req
生成第三鉴权响应消息asreveri;aac接收所述asreveri,并根据asreveri中的res
req
重新确定req的身份合法性。
94.以上实施例中,req与aac使用的消息完整性校验密钥可以是req与aac之间预先共享的,也可以是二者协商得到的,因此本实施例还提供了一种req和aac协商消息完整性校验密钥的方法,参见图2,所述方法包括:
95.s201、req向aac发送鉴别请求消息attach。
96.所述attach中还包括req生成的第一密钥交换参数keyinfo
req
。所述keyinfo
req
包括req的临时公钥,其中,密钥交换是指如迪菲
·
赫尔曼(diffie-hellman,简称dh)等密钥交换算法。所述attach中还可以包括security capabilities
req
,security capabilities
req
表示req支持的安全能力参数信息,包括req支持的身份鉴别套件(身份鉴别套件中包含一种或多种身份鉴别方法)、密钥交换算法和/或密钥导出算法等,以供aac据以选择要使用的特定安全策略。
97.s202、aac根据包括aac生成的第二密钥交换参数keyinfo
aac
对应的临时私钥和所述keyinfo
req
包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的计算数据利用密钥导出算法计算出消息完整性校验密钥。
98.若s201中的attach中还包括req生成的第一随机数nonce
req
,则aac可以根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
包括的临时公钥进行密钥交换计算生成第一密钥,将所述第一密钥结合包括nonce
req
和aac生成的第二随机数nonce
aac
在内的计算数据,利用协商的或预置的密钥导出算法计算消息完整性校验密钥。本技术中,将算法运算时采用的计算对象称为计算数据。协商的密钥导出算法可以是aac根据req发送的security capabilities
req
而选择使用的密钥导出算法。其中,keyinfo
aac
是aac产生的密钥交换参数,包括aac的临时公钥。keyinfo
aac
对应的临时私钥是aac产生的对应于aac的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
99.s203、aac向req发送第一验证消息aacauth。
100.所述aacauth中还包括aac生成的keyinfo
aac

101.当s201中的attach中还包括nonce
req
时,所述aacauth中还可以包括aac生成的第二随机数nonce
aac

102.s204、req根据包括所述keyinfo
req
对应的临时私钥和所述keyinfo
aac
包括的临时公钥进行密钥交换计算生成所述第一密钥,根据包括所述第一密钥在内的计算数据利用所述密钥导出算法计算出所述消息完整性校验密钥。
103.若aacauth中包括nonce
aac
,则req根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
包括的临时公钥进行密钥交换计算生成所述第一密钥,将所述第一密钥结合包括nonce
req
和nonce
aac
在内的计算数据,利用协商的或预置的密钥导出算法计算消息完整性校验密钥。协商的密钥导出算法可以是req根据aac发送的security capabilities
aac
而选择使用的密钥导出算法。其中,keyinfo
req
对应的临时私钥是req产生的对应于req的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
104.在实际应用时,为了实现保密通信,req和aac还可以协商会话密钥,用于对会话内容加密。具体地,aacauth中还可以包括aac的身份标识id
aac
,aac根据所述第一密钥结合包括tid
req
和id
aac
在内的计算数据计算出会话密钥(包括数据加密密钥或/和数据完整性校验密钥);对应地,req根据所述第一密钥结合包括所述tid
req
和所述id
aac
在内的计算数据计算出会话密钥(包括数据加密密钥或/和数据完整性校验密钥)。
105.其中,aac利用上述方式计算会话密钥时,可以将所述第一密钥结合包括所述tid
req
和所述id
aac
在内的计算数据计算出一串密钥数据,该密钥数据可以作为数据加密密钥和/或数据完整性校验密钥,或者,将该密钥数据中的一部分密钥数据作为数据加密密钥,将另一部分密钥数据作为数据完整性校验密钥。req利用上述方式计算会话密钥时,可以将所述第一密钥结合包括所述tid
req
和所述id
aac
在内的计算数据计算出一串密钥数据,该密钥数据可以作为数据加密密钥和/或数据完整性校验密钥,或者,将该密钥数据中的一部分密钥数据作为数据加密密钥,将另一部分密钥数据作为数据完整性校验密钥。
106.需要说明的是,req和/或aac产生的随机数、身份标识等信息可以在身份鉴别过程中交互的消息中进行传递。正常情况下,接收的消息中携带的随机数和/或身份标识与发送的消息中携带的随机数和/或身份标识应该相同,但在遇到网络抖动或攻击等情况时,可能造成消息中参数信息的丢失或篡改。因此本技术的一些实施例中,还可以通过比较收发消息中的随机数和/或身份标识是否一致来保障鉴别结果的可靠性。
107.在一些实施例中,当s101的attach中还包括nonce
req
时,s102的aacveri中还包括nonce
req
和nonce
aac
,对应地,s103的asveri中还包括nonce
req
和nonce
aac
,s105的aacauth中还包括nonce
req
和nonce
aac
,s107的reqauth中还包括nonce
aac
。如此,在aac向req发送aacauth之前,aac还可以先验证asveri中的nonce
aac
和aac生成的nonce
aac
(也就是aac通过aacveri发出去的nonce
aac
)的一致性;类似地,在req向aac发送reqauth之前,req还可以先验证aacauth中nonce
req
和req生成的nonce
req
(也就是req通过attach发出去的nonce
req
)的一致性;进一步地,在s108中aac产生tid
reqnew
之前,aac还可对reqauth中的nonce
aac
和aac生成的nonce
aac
的一致性进行验证,若验证通过,则执行后续步骤。
108.在另一些实施例中,s102的aacveri中还包括aac的身份标识id
aac
,对应地,s103的asveri中还包括id
aac
,则aac还要验证asveri中id
aac
与aac自身的id
aac
的一致性。
109.考虑到实际应用中还可能存在req为了逃避计费而恶意发送错误的req的数字签名的情况,则当as-aac和as-req为相同的鉴别服务器时,aac可以先向as-aac(也可以表示为as-req)发送aacupdate,由as-aac(也可以表示为as-req)对aacupdate中req的数字签名sig
req
进行验证,验证通过后生成第一存证确认消息as-aacack,若aac接收到as-aacack,则表明as-aac(也可以表示为as-req)已生成并保存req的请求通过记录,aac再向req发送aacfinish。
110.当as-aac和as-req为不同的鉴别服务器时,aac可以先向as-aac发送aacupdate,as-aac根据aacupdate生成第二存证消息as-aacupdate,并向as-req发送as-aacupdate。as-req对所述as-aacupdate中的req的数字签名sig
req
进行验证,若验证通过,则生成第二存证确认消息as-reqack,并向as-aac发送as-reqack;as-aac根据as-reqack生成第一存证确认消息as-aacack,并向aac发送as-aacack,若aac接收到as-aacack,则表明as-req已生成并保存req的请求通过记录,则aac再向req发送aacfinish,若aac在规定时间内未接收到as-aacack,则结束此次鉴别过程。
111.此外,本技术实施例还提供了利用aac和req之间信息交互来确定本次鉴别过程所使用的第一鉴别服务器和/或第二鉴别服务器的方法:
112.请参考图1,在s101中,req主动将其信任的至少一个鉴别服务器的身份标识route
as
添加至attach中,以便aac根据attach中的route
as
和aac自身信任的至少一个鉴别服务器的身份标识id
as_aac
,确定参与身份鉴别的第二鉴别服务器as-aac。例如,aac可以判断route
as
和id
as_aac
中是否存在至少一个相同的鉴别服务器的身份标识,若存在,即为非漫游情况,aac从上述至少一个req和aac共同信任的鉴别服务器的身份标识中确定参与身份鉴别的第二鉴别服务器as-aac;若不存在,则为漫游情况,aac需要根据id
as_aac
确定参与身份鉴别的第二鉴别服务器as-aac,并将route
as
发送给as-aac,以便as-aac根据route
as
确定第一鉴别服务器as-req。
113.由于req和aac信任的鉴别服务器可以相同也可以不同,当req和aac信任的鉴别服务器相同时,即为非漫游情况;当req和aac信任的鉴别服务器不同时,即为漫游的情况。基于前述实施例,下面结合非漫游和漫游的应用场景,对本技术实施例提供的身份鉴别方法进行介绍。其中,主要针对以下两种情况进行介绍:(1)非漫游情况下,req身份保护的身份鉴别方法;(2)漫游情况下,req身份保护的身份鉴别方法。
114.参见图3,为上述(1)情况下的一种身份鉴别方法的实施例,此情形下可以用as-aac(也可以用as-req)表示req和aac共同信任的鉴别服务器。在该实施例中,req和aac之间的消息完整性校验密钥的协商过程被并行地融合到了身份鉴别过程中,更便于工程实施。该身份鉴别方法包括:
115.s301、req生成keyinfo
req
和nonce
req
,根据需要生成security capabilities
req

116.s302、req向aac发送鉴别请求消息attach。
117.所述attach中包括security capabilities
req
、keyinfo
req
、tid
req
、nonce
req
和route
as
。其中,security capabilities
req
为可选字段,表示req支持的安全能力参数信息,包括req支持的身份鉴别套件、密钥交换算法和/或密钥导出算法等(下文同);keyinfo
req
是req生成的第一密钥交换参数,包括req产生的临时公钥;tid
req
表示req的临时身份标识,nonce
req
为req产生的第一随机数,route
as
表示req信任的鉴别服务器的身份标识。
118.s303、aac接收到attach后,执行下述操作(若无特别说明或逻辑上的关系,下述(1)、(2)
……
编号的动作并不因为有编号而存在必然的先后顺序,全文同),包括:
119.(1)生成nonce
aac

120.(2)判断route
as
与自身信任的鉴别服务器的身份标识是否相同,若相同,则确定为非漫游情况。
121.需要说明的是,本实施例中判断结果为非漫游情况。
122.s304、aac向as-aac发送第一鉴权请求消息aacveri。
123.所述aacveri中包括tid
req
、nonce
req
、id
aac
、nonce
aac
和pub
aac
。其中,id
aac
为可选字段,tid
req
和nonce
req
应等于attach中的相应字段,nonce
aac
为aac生成的第二随机数,id
aac
为aac的身份标识,pub
aac
为aac的公钥。
124.s305、as-aac接收到aacveri后,执行下述操作,包括:
125.(1)检查pub
aac
的合法性,根据检查结果及pub
aac
生成res
aac

126.(2)根据tid
req
查找pub
req
并检查pub
req
的合法性,根据检查结果及pub
req
生成res
req
;其中,res
req
的取值情况可以分成以下三种:
127.a.检查结果为合法时,res
req
包括检查结果及pub
req

128.b.检查结果为不合法时,res
req
包括检查结果,根据应用场景也可以包括pub
req

129.c.当tid
req
无效,或as-aac根据本地策略需要根据req的真实身份标识检查req的身份合法性,则res
req
取值为空(null)或者其他特定值,本技术中以取值为null为例。
130.(3)生成存证随机数nonce
as_aac
;其中,当检查结果为不合法时,可以不产生nonce
as_aac
,则在后续步骤中asveri中不包括nonce
as_aac

131.(4)计算as-aac的第一数字签名和第二数字签名sig
as_aac1
和sig
as_aac2

132.s306、as-aac向aac发送第一鉴权响应消息asveri。
133.所述asveri中包括tid
req
、nonce
req
、res
aac
、sig
as_aac1
、id
aac
、nonce
aac
、res
req
、nonce
as_aac
和sig
as_aac2
。其中,tid
req
、nonce
req
、id
aac
、nonce
aac
应分别等于aacveri中的相应字段;sig
as_aac1
的签名数据包括tid
req
、nonce
req
和res
aac
;sig
as_aac2
的签名数据包括nonce
aac
、res
req
和nonce
as_aac
。id
aac
为可选字段,若存在id
aac
,则sig
as_aac2
的签名数据还包括id
aac

134.s307、aac接收到asveri后,执行下述操作,包括:
135.(1)根据需要生成security capabilities
aac

136.(2)若asveri中存在id
aac
,则检查id
aac
是否与aac自身的id
aac
相同;检查nonce
aac
是否与aac生成的nonce
aac
相同;
137.(3)验证sig
as_aac2

138.(4)上述检查与验证中任一步不通过,则立即丢弃asveri;上述检查与验证通过后,根据res
req
生成flag
aac
,或者,上述检查与验证通过后,若res
req
表示req为不合法时,则根据本地策略可以丢弃asveri或结束本次鉴别过程,否则,根据res
req
生成flag
aac

139.(5)生成keyinfo
aac

140.(6)计算aac的第一数字签名sig
aac1

141.其中,flag
aac
用于指示是否需要req提供真实的id
req
;若res
req
取值为null,则flag
aac
标识为1(这里标识为1仅仅是个示例),表示需要req提供真实的id
req
,以便重新对req的身份进行验证;若res
req
取值不为null,则flag
aac
标识为0(这里标识为0仅仅是个示
例),表示不需要req提供真实的id
req

142.s308、aac向req发送第一验证消息aacauth。
143.所述aacauth包括security capabilities
aac
、keyinfo
aac
、tid
req
、nonce
req
、res
aac
、sig
as_aac1
、id
aac
、nonce
aac
、nonce
as_aac
、flag
aac
和sig
aac1
。其中,security capabilities
aac
为可选字段,表示aac根据security capabilities
req
作出的特定安全策略的选择,即aac确定使用的身份鉴别方法、密钥交换算法和/或密钥导出算法等(下文同);keyinfo
aac
是aac产生的第二密钥交换参数,包括aac生成的临时公钥;tid
req
、nonce
req
、res
aac
、sig
as_aac1
、nonce
aac
、nonce
as_aac
应分别等于asveri中的相应字段;sig
aac1
的签名数据包括aacauth中sig
aac1
之前的其他字段。
144.s309、req接收到aacauth后,执行下述操作,包括:
145.(1)检查tid
req
和nonce
req
是否分别与req自身的tid
req
、req生成的nonce
req
相同;
146.(2)获取res
aac
中的pub
aac
,利用pub
aac
验证sig
aac1

147.(3)验证sig
as_aac1

148.(4)上述检查与验证通过后,根据aacauth中的res
aac
得到aac的身份鉴别结果;
149.(5)根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
包括的临时公钥进行密钥交换计算得到第一密钥k,将k结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息完整性校验密钥;当然,这一步也可以移至在需要使用消息完整性校验密钥时再执行;
150.(6)若flag
aac
标识为1,则计算encpub
as

151.(7)计算req的数字签名sig
req

152.(8)计算mactag
req

153.s310、req向aac发送第二验证消息reqauth。
154.所述reqauth中包括nonce
aac
、encpub
as
、sig
req
和mactag
req
。其中,nonce
aac
应等于aacauth中的相应字段;encpub
as
为req的身份标识密文,其是req利用加密证书的公钥对包括id
req
在内的信息加密生成的。sig
req
是req对包括nonce
as_aac
在内的信息进行签名计算生成的;encpub
as
为可选字段,若flag
aac
标识为0,则reqauth可以不携带encpub
as
;mactag
req
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括reqauth中除mactag
req
外的其他字段在内的信息计算生成mactag
req

155.s311、aac接收到reqauth后,执行下述操作,包括:
156.(1)检查nonce
aac
是否与aac生成的nonce
aac
相同,若不同,则立即丢弃reqauth;
157.(2)根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
包括的临时公钥进行密钥交换计算得到第一密钥k,将k结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息完整性校验密钥;
158.(3)验证mactag
req

159.aac利用消息完整性校验密钥采用完整性校验算法对包括reqauth中除mactag
req
外的其他字段在内的信息在本地计算mactag
req
(该计算方式与req计算mactag
req
的方式相同),将计算的mactag
req
与接收到的mactag
req
进行比较,若一致,则验证通过,若不一致,则验证不通过。
160.(4)上述检查与验证中任一步不通过,则立即丢弃reqauth;上述检查与验证通过后,则根据flag
aac
执行下述操作,若flag
aac
标识为0,则验证sig
req
;若flag
aac
标识为1,则aac向as-aac发送第三鉴权请求消息aacreveri。
161.s312、aac向as-aac发送第三鉴权请求消息aacreveri。
162.所述aacreveri包括encpub
as
、id
aac
和nonce
aac
。其中,encpub
as
应等于reqauth中的encpub
as
;id
aac
为可选字段。
163.s313、as-aac接收到aacreveri后,执行下述操作,包括:
164.(1)解密encpub
as
得到id
req

165.(2)根据id
req
查找对应的pub
req

166.(3)检查pub
req
的合法性生成res
req

167.(4)根据需要计算sig
as_aac4

168.s314、as-aac向aac发送第三鉴权响应消息asreveri。
169.所述asreveri包括id
aac
、nonce
aac
、res
req
和sig
as_aac4
。其中,id
aac
为可选字段,as-aac根据aacreveri中是否携带id
aac
确定在asreveri中是否携带id
aac
。sig
as_aac4
为可选字段,其签名数据包括nonce
aac
和res
req
,当asreveri中存在id
aac
时,sig
as_aac4
的签名数据还包括id
aac

170.s315、aac接收到asreveri后,执行下述操作,包括:
171.(1)若asreveri中存在id
aac
,则检查id
aac
是否与aac自身的id
aac
相同;检查asreveri中的nonce
aac
是否与aac生成的nonce
aac
相同;
172.(2)若asreveri中存在sig
as_aac4
,则验证sig
as_aac4

173.(3)根据res
req
中的pub
req
验证sig
req

174.(4)上述检查与验证通过后,根据asreveri中的res
req
得到req的身份鉴别结果;上述检查与验证中任一步不通过,则立即丢弃asreveri。
175.需要说明的是,若flag
aac
标识为1,则表示需要req提供真实的id
req
,此时s310中req向aac发送的reqauth中携带encpub
as
,aac需要向as-aac发送包含encpub
as
的aacreveri,以便as-aac对encpub
as
解密得到id
req
,再根据id
req
查找pub
req
并检查pub
req
的合法性,从而生成res
req
,即需要执行s312至s315;若flag
aac
标识为0,则表示不需要req提供真实的id
req
,此时s310中req向aac发送的reqauth中不携带encpub
as
,即aac无需执行s312至s315,在s311中的检查和验证均通过后直接执行s316及后续步骤。
176.s316、aac确定req的身份合法后产生tid
reqnew
,根据需要计算aac的第二数字签名sig
aac2

177.s317、aac向as-aac发送第一存证消息aacupdate。
178.所述aacupdate包括tid
req
、tid
reqnew
、id
aac
、nonce
aac
、sig
req
和sig
aac2
。其中,id
aac
、sig
aac2
为可选字段;tid
req
应等于attach中的tid
req
;sig
req
应等于reqauth中的sig
req
;sig
aac2
的签名数据包括aacupdate中sig
aac2
之前的其他字段。
179.s318、as-aac接收到aacupdate后,执行下述操作,包括:
180.(1)若aacupdate中存在sig
aac2
,则验证sig
aac2

181.(2)验证sig
req

182.(3)上述验证通过后,则保存tid
reqnew
并替换tid
req
;上述验证中任一步不通过,则
立即丢弃aacupdate;
183.(4)根据需要计算sig
as_aac5

184.s319、as-aac向aac发送第一存证确认消息asack。
185.所述asack包括id
aac
、nonce
aac
和sig
as_aac5
。其中,id
aac
、sig
as_aac5
为可选字段,sig
as_aac5
的签名数据包括asack中sig
as_aac5
之前的其他字段。
186.s320、aac接收到asack后,执行下述操作,包括:
187.(1)若asack中存在id
aac
,则检查id
aac
是否与aac自身的id
aac
相同;检查nonce
aac
是否与aac生成的nonce
aac
相同;
188.(2)若asack中存在sig
as_aac5
,则验证sig
as_aac5

189.(3)上述检查与验证通过后,计算mactag
aac
,上述检查与验证中任一步不通过,则立即丢弃asack;
190.(4)计算会话密钥。
191.其中,aac将s311中计算的k结合nonce
aac
、nonce
req
、id
aac
、tid
reqnew
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用密钥导出算法计算出会话密钥(包括数据加密密钥或/和数据完整性校验密钥),用于req和aac后续的保密通信。
192.s321、aac向req发送鉴别完成消息aacfinish。
193.所述aacfinish包括tid
reqnew
和mactag
aac
。其中,tid
reqnew
应等于aacupdate中的tid
reqnew
,mactag
aac
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括aacfinsh中除mactag
aac
外的其他字段在内的信息计算生成mactag
req

194.s322、req接收到aacfinish后,执行下述操作,包括:
195.(1)验证mactag
aac

196.req利用消息完整性校验密钥采用完整性校验算法对包括aacfinsh中除mactag
aac
外的其他字段在内的信息在本地计算mactag
aac
(该计算方式与aac计算mactag
aac
的方式相同),将计算得到的mactag
aac
与接收到的mactag
aac
进行比较,若一致,则验证通过,否则,验证不通过。
197.(2)保存tid
reqnew
并替换tid
req

198.(3)计算会话密钥。
199.其中,req将s309中计算的k结合nonce
aac
、nonce
req
、id
aac
、tid
reqnew
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用密钥导出算法计算出会话密钥(包括数据加密密钥或/和数据完整性校验密钥),用于req和aac后续的保密通信。
200.由此,实现了req和aac的双向身份鉴别,在该身份鉴别过程中,req以tid
req
作为身份凭证,避免了真实身份信息泄露,保障隐私安全。此外,通过s316至s318实现了对req访问网络行为的存证,为后续收费、访问追溯或避免恶意计费等提供依据。
201.参见图4,为上述(2)情况下的一种身份鉴别方法的实施例。在该实施例中,req和aac之间的消息完整性校验密钥的协商过程被并行地融合到了身份鉴别过程中,更便于工程实施。该身份鉴别方法包括:
202.s401、req生成keyinfo
req
和nonce
req
,根据需要生成security capabilities
req

203.s402、req向aac发送鉴别请求消息attach。
204.所述attach中包括security capabilities
req
、keyinfo
req
、tid
req
、nonce
req

route
as
。其中,security capabilities
req
为可选字段,tid
req
表示req的临时身份标识,nonce
req
为req产生的第一随机数,route
as
表示req信任的鉴别服务器的身份标识。
205.s403、aac接收到attach后,执行下述操作,包括:
206.(1)生成nonce
aac

207.(2)判断route
as
与自身信任的鉴别服务器的身份标识是否相同,若不同,则确定为漫游情况,可以从自身信任的至少一个鉴别服务器中确定as-aac,根据route
as
确定as-req。
208.需要说明的是,本实施例中判断结果为漫游情况。
209.s404、aac向as-aac发送第一鉴权请求消息aacveri。
210.所述aacveri中包括tid
req
、nonce
req
、id
aac
、nonce
aac
和pub
aac
。其中,id
aac
为可选字段,tid
req
和nonce
req
应等于attach中的相应字段,nonce
aac
为aac生成的第二随机数,id
aac
为aac的身份标识,pub
aac
为aac的公钥。
211.s405、as-aac接收到aacveri后,执行下述操作,包括:
212.(1)检查pub
aac
的合法性,根据检查结果和pub
aac
生成res
aac

213.(2)根据需要计算sig
as_aac4

214.s406、as-aac向as-req发送第二鉴权请求消息as-aacveri。
215.所述as-aacveri中包括tid
req
、nonce
req
、res
aac
、id
aac
、nonce
aac
和sig
as_aac4
。其中,tid
req
、nonce
req
、nonce
aac
应分别等于aacveri中的相应字段。sig
as_aac4
的签名数据包括tid
req
、nonce
req
、res
aac
、id
aac
和nonce
aac

216.s407、as-req接收到as-aacveri后,执行下述操作,包括:
217.(1)若as-aacveri中存在sig
as_aac4
,则验证sig
as_aac4

218.(2)验证通过后,根据tid
req
查找pub
req
并检查pub
req
的合法性,根据检查结果和pub
req
生成res
req
;其中,res
req
的取值情况可以分成以下三种:
219.a.检查结果为合法时,res
req
包括检查结果及pub
req

220.b.检查结果为不合法时,res
req
包括检查结果,根据应用场景也可以包括pub
req

221.c.当tid
req
无效,或as-req根据本地策略需要根据req的真实身份标识检查req的身份合法性,则res
req
取值为空(null)或者其他特定值,本技术中以取值为null为例。
222.(3)生成存证随机数nonce
as_req
;其中,当检查结果为不合法时,可以不产生nonce
as_req
,则在后续步骤中as-reqveri中不包括nonce
as_req

223.(4)计算as-req的第一数字签名和第二数字签名sig
as_req1
和sig
as_req2

224.s408、as-req向as-aac发送第二鉴权响应消息as-reqveri。
225.所述as-reqveri中包括tid
req
、nonce
req
、res
aac
、sig
as_req1
、id
aac
、nonce
aac
、res
req
、nonce
as_req
、sig
as_req2
。其中,tid
req
、nonce
req
、res
aac
、id
aac
、nonce
aac
应分别等于as-aacveri中的相应字段;sig
as_req1
的签名数据包括tid
req
、nonce
req
和res
aac
,sig
as_req2
的签名数据包括id
aac
、nonce
aac
、res
req
和nonce
as_req

226.s409、as-aac接收到as-reqveri后,执行下述操作,包括:
227.(1)验证sig
as_req2

228.(2)验证通过后,计算as-aac的第二数字签名sig
as_aac2

229.s410、as-aac向aac发送第一鉴权响应消息asveri。
230.所述asveri中包括tid
req
、nonce
req
、res
aac
、sig
as_req1
、id
aac
、nonce
aac
、res
req

nonce
as_req
和sig
as_aac2
。其中,id
aac
为可选字段。sig
as_aac2
的签名数据包括nonce
aac
、res
req
和nonce
as_req
;id
aac
为可选字段,若存在id
aac
,则sig
as_aac2
的签名数据还包括id
aac

231.s411、aac接收到asveri后,执行下述操作,包括:
232.(1)根据需要生成security capabilites
aac

233.(2)若asveri中存在id
aac
,则检查id
aac
是否与aac自身的id
aac
相同;检查nonce
aac
是否与aac生成的nonce
aac
相同;
234.(3)验证sig
as_aac2

235.(4)上述检查与验证中任一步不通过,则立即丢弃asveri;上述检查与验证通过后,根据res
req
生成flag
aac
,或者,上述检查与验证通过后,若res
req
表示req为不合法时,则根据本地策略可以丢弃asveri或结束本次鉴别过程,否则,根据res
req
生成flag
aac

236.(5)生成keyinfo
aac

237.(6)计算aac的第一数字签名sig
aac1

238.其中,flag
aac
用于指示是否需要req提供真实的id
req
。若res
req
取值为null,则flag
aac
标识为1(这里标识为1仅仅是个示例),表示需要req提供真实的id
req
,以便重新对req的身份进行验证;若res
req
取值不为null,则flag
aac
标识为0(这里标识为0仅仅是个示例),表示不需要req提供真实的id
req

239.s412、aac向req发送第一验证消息aacauth。
240.所述aacauth中包括security capabilites
aac
、keyinfo
aac
、tid
req
、nonce
req
、res
aac
、sig
as_req1
、id
aac
、nonce
aac
、nonce
as_req
、flag
aac
和sig
aac1
。其中,security capabilites
aac
为可选字段,tid
req
、nonce
req
、res
aac
、sig
as_req1
、nonce
aac
、nonce
as_req
应分别等于asveri中的相应字段,sig
aac1
的签名数据包括aacauth中sig
aac1
之前的其他字段。
241.s413、req接收到aacauth后,执行下述操作,包括:
242.(1)检查tid
req
和nonce
req
是否分别与req自身的tid
req
、req生成的nonce
req
相同;
243.(2)获取res
aac
中的pub
aac
,利用pub
aac
验证sig
aac1

244.(3)验证sig
as_req1

245.(4)上述检查与验证通过后,根据aacauth中的res
aac
得到aac的身份鉴别结果;
246.(5)根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
包括的临时公钥进行密钥交换计算得到第一密钥k,将k结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息完整性校验密钥;当然,这一步也可以移至在需要使用消息完整性校验密钥时再执行;
247.(6)若flag
aac
标识为1,则计算encpub
as

248.(7)计算req的数字签名sig
req

249.(8)计算mactag
req

250.s414、req向aac发送第二验证消息reqauth。
251.所述reqauth中包括nonce
aac
、encpub
as
、sig
req
和mactag
req
。其中,nonce
aac
应等于aacauth中的nonce
aac
;encpub
as
是req利用加密证书的公钥对包括id
req
在内的信息加密生成的;sig
req
是req对包括nonce
as_req
在内的信息进行签名计算生成的;encpub
as
为可选字段,若flag
aac
标识为0,则reqauth可以不携带encpub
as
;mactag
req
的计算过程如图3实施例中所述。
252.s415、aac接收到reqauth后,执行下述操作,包括:
253.(1)检查nonce
aac
是否与aac生成的nonce
aac
相同;
254.(2)根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
包括的临时公钥进行密钥交换计算得到第一密钥k,将k结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息完整性校验密钥;
255.(3)验证mactag
req
;验证过程如图3实施例中所述;
256.(4)上述检查与验证中任一步不通过,则立即丢弃reqauth;上述检查与验证通过后,则根据flag
aac
执行下述操作,若flag
aac
标识为0,则验证sig
req
;若flag
aac
标识为1,则aac向as-aac发送第三鉴权请求消息aacreveri。
257.s416、aac向as-aac发送第三鉴权请求消息aacreveri。
258.所述aacreveri包括encpub
as
、id
aac
和nonce
aac
。其中,encpub
as
应等于reqauth中的encpub
as
;id
aac
为可选字段。
259.s417、as-aac向as-req发送第四鉴权请求消息as-aacreveri。
260.所述as-aacreveri是as-aac根据aacreveri生成的,所述as-aacreveri包括encpub
as
、id
aac
和nonce
aac

261.s418、as-req接收到as-aacreveri后,执行下述操作,包括:
262.(1)解密encpub
as
得到id
req

263.(2)根据解密得到的id
req
查找对应的pub
req

264.(3)检查pub
req
的合法性,根据检查结果生成res
req

265.(4)根据需要计算sig
as_req3

266.s419、as-req向as-aac发送第四鉴权响应消息as-reqreveri。
267.所述as-reqreveri包括id
aac
、nonce
aac
、res
req
和sig
as_req3
。其中,id
aac
、nonce
aac
应分别等于as-aacreveri中的相应字段;sig
as_req3
为可选字段,sig
as_req3
的签名数据包括as-reqreveri中sig
as_req3
之前的其他字段。
268.s420、as-aac接收到as-reqreveri后,执行下述操作,包括:
269.(1)若as-reqreveri中存在sig
as_req3
,则验证sig
as_req3

270.(2)验证通过后,根据需要计算sig
as_aac5

271.s421、as-aac向aac发送第三鉴权响应消息asreveri。
272.所述asreveri包括id
aac
、nonce
aac
、res
req
和sig
as_aac5
。其中,id
aac
为可选字段;sig
as_aac5
为可选字段,其签名数据包括nonce
aac
和res
req
,当asreveri中携带有id
aac
时,则sig
as_aac5
的签名数据还包括id
aac

273.s422、aac接收到asreveri后,执行下述操作,包括:
274.(1)若asreveri中存在id
aac
,则检查id
aac
是否与aac自身的id
aac
相同;检查asreveri中的nonce
aac
是否与aac生成的nonce
aac
相同;
275.(2)若asreveri中存在sig
as_aac5
,则验证sig
as_aac5

276.(3)根据res
req
中的pub
req
验证sig
req

277.(4)上述检查与验证通过后,根据asreveri中的res
req
得到req的身份鉴别结果;上述检查与验证中任一步不通过,则立即丢弃asreveri。
278.需要说明的是,若flag
aac
标识为1,则表示需要req提供真实的id
req
,此时s414中
req向aac发送的reqauth中携带encpub
as
,且需要执行s416至s422,以便as-req对encpub
as
解密得到id
req
,再根据id
req
查找pub
req
并检查pub
req
的合法性,从而生成res
req
;若flag
aac
标识为0,则表示不需要req提供真实的id
req
,此时s414中req向aac发送的reqauth中不携带encpub
as
,即aac不必执行s416至s422,在s415中的检查和验证均通过后直接执行s423及后续步骤。
279.s423、aac确定req的身份合法后产生tid
reqnew
,根据需要计算aac的第二数字签名sig
aac2

280.s424、aac向as-aac发送第一存证消息aacupdate。
281.所述aacupdate包括tid
req
、tid
reqnew
、id
aac
、nonce
aac
、sig
req
和sig
aac2
。其中,id
aac
、sig
aac2
为可选字段;sig
req
应等于reqauth中的sig
req

282.s425、as-aac接收到aacupdate后,执行下述操作,包括:
283.(1)若aacupdate中存在sig
aac2
,则验证sig
aac2

284.(2)根据需要计算as-aac的第三数字签名sig
as_aac3

285.s426、as-aac向as-req发送第二存证消息asupdate。
286.所述asupdate是根据aacupdate生成的,所述asupdate包括tid
req
、tid
reqnew
、id
aac
、sig
req
和sig
as_aac3
。其中,tid
req
、tid
reqnew
、sig
req
应分别等于aacupdate中的相应字段;sig
as_aac3
为可选字段,其签名数据包括asupdate中sig
as_aac3
之前的其他字段。
287.s427、as-req接收到asupdate后,执行下述操作,包括:
288.(1)若asupdate中存在sig
as_aac3
,则验证sig
as_aac3

289.(2)验证sig
req

290.(3)验证通过后,保存tid
reqnew
并替换tid
req

291.(4)根据需要计算sig
as_req4

292.s428、as-req向as-aac发送第二存证确认消息as-reqack。
293.所述as-reqack包括id
aac
和sig
as_req4
。其中,sig
as_req4
为可选字段,其签名数据包括id
aac

294.s429、as-aac接收到as-reqack后,执行下述操作,包括:
295.(1)若as-reqack中存在sig
as_req4
,则验证sig
as_req4

296.(2)根据需要计算sig
as_aac6

297.s430、as-aac向aac发送第一存证确认消息as-aacack。
298.所述as-aacack中包括id
aac
、nonce
aac
和sig
as_aac6
。其中,sig
as_aac6
为可选字段,其签名数据包括nonce
aac
;id
aac
为可选字段,当as-aacack中存在id
aac
时sig
as_aac6
的签名数据还包括id
aac

299.s431、aac在接收到as-aacack后,执行下述操作,包括:
300.(1)若as-aacack中存在id
aac
,则检查id
aac
是否与aac自身的id
aac
相同;检查nonce
aac
是否与aac生成的nonce
aac
相同;
301.(2)若as-aacack中存在sig
as_aac6
,则验证sig
as_aac6

302.(3)上述检查与验证通过后,计算mactag
aac
;上述检查与验证中任一步不通过,则立即丢弃as-aacack;
303.(4)计算会话密钥。
304.其中,aac将s415中计算的k结合nonce
aac
、nonce
req
、id
aac
、tid
reqnew
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用密钥导出算法计算出会话密钥(包括数据加密密钥或/和数据完整性校验密钥),用于req和aac后续的保密通信。
305.s432、aac向req发送鉴别完成消息aacfinish。
306.所述aacfinish中包括tid
reqnew
和mactag
aac
。其中,tid
reqnew
应等于aacupdate中的tid
reqnew
。mactag
aac
的计算如图3实施例中所述。
307.s433、req接收到aacfinish后,执行下述操作,包括:
308.(1)验证mactag
aac
;验证过程如图3实施例中所述;
309.(2)保存tid
reqnew
并替换tid
req

310.(3)计算会话密钥。
311.其中,req将s413中计算的k结合nonce
aac
、nonce
req
、id
aac
、tid
reqnew
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用密钥导出算法计算出会话密钥(包括数据加密密钥或/和数据完整性校验密钥),用于req和aac后续的保密通信。
312.由此,实现req和aac的双向身份鉴别,在该身份鉴别过程中,未直接传输req的真实身份,避免了req真实身份信息泄露,保障隐私安全。此外,通过s424至s430实现了对req访问网络行为的存证,为后续收费提供证据,避免了恶意计费现象产生。
313.在上述各实施例中,每条消息还可以携带一个杂凑值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
可以不存在或者无意义。
314.对应的,对端实体y接收到实体x发送的消息后,若该条消息中包含hash
x_y
,则当实体y未曾向实体x发送过前序消息时,实体y忽略hash
x_y
;当实体y曾向实体x发送过前序消息时,实体y利用杂凑算法对之前向实体x发送的最新前序消息在本地计算杂凑值,并与接收到的消息中携带的杂凑值hash
x_y
比较,若一致,则执行后续步骤,否则丢弃或者结束本次鉴别过程。
315.本发明中,对实体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发送的前序消息。
316.上述图3至图4所对应实施例中的可选字段和可选操作,在说明书附图的图3至图4中用“*”表示。以上所有实施例涉及的消息中所包括的各个内容不限定顺序,并且在没有特别说明的情况下,不限定消息接收方收到消息后对相关消息的操作顺序以及对消息中所包
括的内容进行处理的顺序。
317.基于图1至图4对应的方法实施例,参见图5,本技术实施例还提供了一种请求设备req,包括:
318.发送模块510,用于向鉴别接入控制器发送鉴别请求消息,所述鉴别请求消息中包括所述请求设备的临时身份标识;
319.接收模块520,用于接收所述鉴别接入控制器发送的第一验证消息,所述第一验证消息中包括所述鉴别接入控制器的鉴权结果、第一鉴别服务器的第一数字签名、所述第一鉴别服务器生成的存证随机数和所述鉴别接入控制器的第一数字签名;
320.验证模块530,用于验证所述第一鉴别服务器的第一数字签名以及根据所述鉴别接入控制器的鉴权结果中携带的所述鉴别接入控制器的公钥,验证所述鉴别接入控制器的第一数字签名,验证通过后,根据所述鉴别接入控制器的鉴权结果获得所述鉴别接入控制器的身份合法性鉴别结果;
321.发送模块510还用于在确定所述鉴别接入控制器的身份合法后,向所述鉴别接入控制器发送第二验证消息,所述第二验证消息包括所述请求设备的数字签名;其中,所述请求设备的数字签名是对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的;
322.接收模块520还用于接收所述鉴别接入控制器发送的鉴别完成消息,所述鉴别完成消息中包括所述请求设备的新临时身份标识,所述新临时身份标识是所述鉴别接入控制器根据所述请求设备的鉴权结果中携带的所述请求设备的公钥对所述请求设备的数字签名验证通过后生成的;
323.更新模块540,用于使用所述鉴别完成消息中所述请求设备的新临时身份标识替换所述请求设备的临时身份标识。
324.可选的,所述鉴别完成消息中还包括所述鉴别接入控制器生成的第二消息完整性校验码,所述第二消息完整性校验码是所述鉴别接入控制器利用其与所述请求设备之间的消息完整性校验密钥对包括所述鉴别完成消息中除所述第二消息完整性校验码外的其他字段计算生成的;则验证模块530还用于对所述鉴别完成消息中的第二消息完整性校验码进行验证。
325.可选的,所述鉴别请求消息中还包括所述请求设备生成的第一密钥交换参数,所述第一验证消息中还包括所述鉴别接入控制器生成的第二密钥交换参数;所述请求设备还包括:
326.第一计算模块,用于根据包括所述第一密钥交换参数对应的临时私钥和所述第二密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的计算数据利用密钥导出算法计算出所述消息完整性校验密钥。
327.可选的,所述鉴别请求消息中还包括所述请求设备生成的第一随机数,所述第一验证消息中还包括所述第一随机数和所述鉴别接入控制器生成的第二随机数;验证模块530还用于验证所述第一验证消息中的第一随机数和所述请求设备生成的第一随机数的一致性;
328.所述第一计算模块计算所述消息完整性校验密钥的计算数据还包括所述第一随机数和所述第二随机数。
329.可选的,所述第一验证消息中还包括所述鉴别接入控制器的身份标识;
330.所述请求设备还包括:
331.第二计算模块,用于根据包括所述第一密钥、所述请求设备的临时身份标识和所述鉴别接入控制器的身份标识在内的信息计算用于后续保密通信的会话密钥。
332.可选的,所述请求设备向所述鉴别接入控制器发送的消息还包括所述请求设备对接收到的所述鉴别接入控制器发送的最新前序消息计算的杂凑值。
333.参见图6,本技术实施例还提供了一种鉴别接入控制器aac,包括:
334.接收模块610,用于接收请求设备发送的鉴别请求消息,所述鉴别请求消息中包括所述请求设备的临时身份标识;
335.发送模块620,用于向所述鉴别接入控制器信任的第二鉴别服务器发送第一鉴权请求消息,所述第一鉴权请求消息包括所述请求设备的临时身份标识和所述鉴别接入控制器的公钥;
336.接收模块610还用于接收所述第二鉴别服务器发送的第一鉴权响应消息,所述第一鉴权响应消息包括所述鉴别接入控制器的鉴权结果、所述请求设备信任的第一鉴别服务器的第一数字签名、所述请求设备的鉴权结果、所述第一鉴别服务器生成的存证随机数和所述第二鉴别服务器的第二数字签名;
337.验证模块630,用于验证所述第二鉴别服务器的第二数字签名;
338.发送模块620还用于在所述第二鉴别服务器的第二数字签名验证通过后,向所述请求设备发送第一验证消息,所述第一验证消息中包括所述鉴别接入控制器的鉴权结果、所述第一鉴别服务器的第一数字签名、所述第一鉴别服务器生成的存证随机数和所述鉴别接入控制器的第一数字签名;
339.接收模块610还用于接收所述请求设备发送的第二验证消息,所述第二验证消息包括所述请求设备的数字签名;所述请求设备的数字签名是对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的;
340.验证模块630还用于根据所述请求设备的鉴权结果中携带的所述请求设备的公钥对所述请求设备的数字签名进行验证;
341.生成模块640,用于根据所述请求设备的鉴权结果获得所述请求设备的身份合法性鉴别结果,在所述请求设备的数字签名验证通过且在确定所述请求设备的身份合法后产生所述请求设备的新临时身份标识,再生成鉴别完成消息和第一存证消息;其中,所述鉴别完成消息中包括所述请求设备的新临时身份标识;所述第一存证消息中包括所述请求设备的新临时身份标识和所述请求设备的数字签名;
342.发送模块620还用于通过所述第二鉴别服务器向所述请求设备信任的第一鉴别服务器发送所述第一存证消息,以及向所述请求设备发送所述鉴别完成消息。
343.可选的,发送模块620先发送所述第一存证消息,并在接收模块610接收第一存证确认消息后再向所述请求设备发送所述鉴别完成消息,所述第一存证确认消息是第一鉴别服务器对所述第一存证消息中的所述请求设备的数字签名验证通过后生成的。
344.可选的,发送模块620发送的鉴别完成消息中还包括所述鉴别接入控制器生成的第二消息完整性校验码,所述第二消息完整性校验码是所述鉴别接入控制器利用其与所述请求设备之间的消息完整性校验密钥对包括所述鉴别完成消息中除所述第二消息完整性
校验码外的其他字段计算生成的。
345.可选的,所述鉴别请求消息中还包括所述请求设备生成的第一密钥交换参数,所述第一验证消息中还包括所述鉴别接入控制器生成的第二密钥交换参数;所述鉴别接入控制器还包括:
346.第一计算模块,用于根据包括所述第二密钥交换参数对应的临时私钥和所述第一密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的计算数据利用密钥导出算法计算出所述消息完整性校验密钥。
347.可选的,所述鉴别请求消息中还包括所述请求设备生成的第一随机数,所述第一鉴权请求消息中还包括所述第一随机数和所述鉴别接入控制器生成的第二随机数,相应的,所述第一鉴权响应消息中还包括所述第一随机数和所述第二随机数,所述第一验证消息中还包括所述第一随机数和所述第二随机数,所述第二验证消息中还包括所述第二随机数;
348.验证模块630还用于在向所述请求设备发送第一验证消息之前,验证所述第一鉴权响应消息中的第二随机数和所述鉴别接入控制器生成的第二随机数的一致性;以及在产生所述请求设备的新临时身份标识之前,对所述第二验证消息中的第二随机数和所述鉴别接入控制器生成的第二随机数的一致性进行验证;
349.所述第一计算模块计算所述消息完整性校验密钥的计算数据还包括所述第一随机数和所述第二随机数。
350.可选的,所述鉴别请求消息中还包括所述请求设备支持的安全能力参数信息,所述鉴别接入控制器还包括:
351.第一确定模块,用于根据所述安全能力参数信息确定所述鉴别接入控制器使用的特定安全策略,则所述第一验证消息中还包括所述特定安全策略。
352.可选的,所述鉴别请求消息还包括所述请求设备信任的至少一个鉴别服务器的身份标识,所述鉴别接入控制器还包括:
353.第二确定模块,用于根据所述请求消息中所述请求设备信任的至少一个鉴别服务器的身份标识和所述鉴别接入控制器信任的鉴别服务器的身份标识,确定所述第二鉴别服务器。
354.可选的,所述第二验证消息中还包括所述请求设备生成的第一消息完整性校验码,所述第一消息完整性校验码是所述请求设备利用其与所述鉴别接入控制器之间的消息完整性校验密钥对包括所述第二验证消息中除所述第一消息完整性校验码外的其他字段计算生成的;
355.则验证模块630还用于在所述鉴别接入控制器产生所述请求设备的新临时身份标识之前,对所述第一消息完整性校验码进行验证。
356.可选的,当所述请求设备的鉴权结果表示需要所述请求设备发送其真实的身份标识时,则所述鉴别接入控制器生成的所述第一验证消息中还包括指示标识,所述指示标识用于指示所述请求设备发送其真实的身份标识;
357.则所述第二验证消息中还包括所述请求设备的身份标识密文,所述请求设备的身份标识密文是所述请求设备利用加密证书的公钥对所述请求设备的身份标识加密生成的;
358.则发送模块620还用于向所述第二鉴别服务器发送第三鉴权请求消息,所述第三
鉴权请求消息中包括所述请求设备的身份标识密文;
359.接收模块610还用于接收所述第二鉴别服务器发送的第三鉴权响应消息,所述第三鉴权响应消息中包括所述请求设备的鉴权结果;
360.则验证模块630还用于根据所述第三鉴权响应消息中携带的所述请求设备的鉴权结果重新确定所述请求设备的身份合法性。
361.可选的,所述第一鉴权请求消息中还包括所述鉴别接入控制器的身份标识;则所述第一鉴权响应消息中还包括所述鉴别接入控制器的身份标识;
362.验证模块630还用于在向所述请求设备发送第一验证消息之前,验证所述第一鉴权响应消息中的所述鉴别接入控制器的身份标识和所述鉴别接入控制器自身的身份标识的一致性。
363.可选的,所述第一验证消息中还包括所述鉴别接入控制器的身份标识;
364.所述鉴别接入控制器还包括:
365.第二计算模块,用于根据包括所述第一密钥、所述请求设备的临时身份标识和所述鉴别接入控制器的身份标识在内的信息计算用于后续保密通信的会话密钥。
366.可选的,所述鉴别接入控制器向所述请求设备发送的消息还包括所述鉴别接入控制器对接收到的所述请求设备发送的最新前序消息计算的杂凑值;所述鉴别接入控制器向所述第二鉴别服务器发送的消息还包括所述鉴别接入控制器对接收到的所述第二鉴别服务器发送的最新前序消息计算的杂凑值。
367.参见图7,本技术实施例还提供了一种第二鉴别服务器as-aac,第二鉴别服务器as-aac为鉴别接入控制器信任的鉴别服务器,包括:
368.接收模块710,用于接收鉴别接入控制器发送的第一鉴权请求消息,所述第一鉴权请求消息包括请求设备的临时身份标识和所述鉴别接入控制器的公钥;
369.发送模块720,用于向所述鉴别接入控制器发送第一鉴权响应消息,所述第一鉴权响应消息包括所述鉴别接入控制器的鉴权结果、所述请求设备信任的第一鉴别服务器的第一数字签名、所述请求设备的鉴权结果、所述第一鉴别服务器生成的存证随机数和所述第二鉴别服务器的第二数字签名;
370.接收模块710还用于接收所述鉴别接入控制器生成的第一存证消息,所述第一存证消息中包括所述请求设备的新临时身份标识和所述请求设备的数字签名;所述请求设备的数字签名是所述请求设备对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的。
371.可选的,所述第一存证消息中还包括所述鉴别接入控制器的第二数字签名,所述鉴别接入控制器的第二数字签名是对所述第一存证消息中所述鉴别接入控制器的第二数字签名之前的其他信息进行签名计算生成的;
372.则所述第二鉴别服务器还包括:
373.验证模块,用于对所述鉴别接入控制器的第二数字签名进行验证。
374.可选的,所述第一鉴别服务器和所述第二鉴别服务器相同时,所述第二鉴别服务器还包括:
375.第一处理模块,用于检查所述鉴别接入控制器的公钥的合法性生成所述鉴别接入控制器的鉴权结果;根据所述请求设备的临时身份标识查找并检查所述请求设备的公钥的
合法性,产生所述请求设备的鉴权结果并产生存证随机数;
376.第一生成模块,用于根据包括所述鉴别接入控制器的鉴权结果在内的信息计算所述第一鉴别服务器的第一数字签名,根据包括所述请求设备的鉴权结果和所述存证随机数在内的信息计算所述第二鉴别服务器的第二数字签名。
377.可选的,所述第一鉴别服务器和所述第二鉴别服务器不同时,则所述第二鉴别服务器还包括:
378.第二处理模块,用于检查所述鉴别接入控制器的公钥的合法性生成所述鉴别接入控制器的鉴权结果;
379.第二生成模块,用于根据所述第一鉴权请求消息生成第二鉴权请求消息,所述第二鉴权请求消息包括所述请求设备的临时身份标识和所述鉴别接入控制器的鉴权结果;
380.发送模块720还用于向所述第一鉴别服务器发送所述第二鉴权请求消息;
381.接收模块710还用于接收所述第一鉴别服务器发送的第二鉴权响应消息,所述第二鉴权响应消息包括所述鉴别接入控制器的鉴权结果、所述第一鉴别服务器的第一数字签名、所述请求设备的鉴权结果、所述存证随机数以及所述第一鉴别服务器的第二数字签名;所述第一鉴别服务器的第一数字签名是根据包括所述鉴别接入控制器的鉴权结果在内的信息计算生成的,所述第一鉴别服务器的第二数字签名是根据包括所述请求设备的鉴权结果和所述存证随机数在内的信息计算生成的;
382.所述第二处理模块还用于验证所述第一鉴别服务器的第二数字签名,在验证通过后,所述第二生成模块还用于根据包括所述请求设备的鉴权结果和所述存证随机数在内的信息计算所述第二鉴别服务器的第二数字签名,生成所述第一鉴权响应消息;
383.所述第二生成模块还用于根据所述第一存证消息生成第二存证消息,并通过所述发送模块向所述第一鉴别服务器发送所述第二存证消息,所述第二存证消息包括所述请求设备的新临时身份标识、所述请求设备的数字签名和所述第二鉴别服务器的第三数字签名,其中,所述第二鉴别服务器的第三数字签名是所述第二鉴别服务器根据包括所述请求设备的新临时身份标识和所述请求设备的数字签名在内的信息计算生成的。
384.可选的,接收模块710还用于接收所述第一鉴别服务器在所述第二存证消息中的第二鉴别服务器的第三数字签名验证通过后生成并发送的第二存证确认消息;
385.所述第二处理模块还用于验证所述第二存证确认消息中的所述第一鉴别服务器的第三数字签名;
386.所述第二生成模块还用于在所述第一鉴别服务器的第三数字签名验证通过后生成第一存证确认消息;
387.发送模块720还用于向所述鉴别接入控制器发送所述第一存证确认消息。
388.可选的,所述第二鉴别服务器向所述鉴别接入控制器发送的消息还包括所述第二鉴别服务器对接收到的所述鉴别接入控制器发送的最新前序消息计算的杂凑值;所述第二鉴别服务器向所述第一鉴别服务器发送的消息还包括所述第二鉴别服务器对接收到的所述第一鉴别服务器发送的最新前序消息计算的杂凑值。
389.参见图8,本技术实施例还提供了一种第一鉴别服务器as-req,第一鉴别服务器as-req为请求设备信任的鉴别服务器,包括:
390.验证模块810,用于利用请求设备的公钥对第一存证消息中的所述请求设备的数
字签名进行验证,所述第一存证消息中包括所述请求设备的新临时身份标识和所述请求设备的数字签名;所述请求设备的数字签名是所述请求设备对包括所述第一鉴别服务器的存证随机数在内的信息进行签名计算生成的;
391.替换模块820,用于在所述请求设备的数字签名验证通过后,生成并保存所述请求设备的请求通过记录,使用所述第一存证消息中所述请求设备的新临时身份标识替换所述请求设备的临时身份标识。
392.可选的,所述第一鉴别服务器还包括:
393.判断模块,用于在产生所述存证随机数之前,判断所述请求设备的临时身份标识是否满足时效性,若是,则替换模块820产生所述存证随机数。
394.可选的,所述第一鉴别服务器和所述鉴别接入控制器信任的第二鉴别服务器不同时,所述第一鉴别服务器还包括:
395.接收模块,用于接收所述第二鉴别服务器发送的第二鉴权请求消息,其中,所述第二鉴权请求消息包括所述请求设备的临时身份标识和所述鉴别接入控制器的鉴权结果;
396.验证模块810还用于根据所述请求设备的临时身份标识查找并检查所述请求设备的公钥的合法性,产生所述请求设备的鉴权结果并产生存证随机数;
397.计算模块,用于根据包括所述鉴别接入控制器的鉴权结果在内的信息计算所述第一鉴别服务器的第一数字签名,根据包括所述请求设备的鉴权结果和所述存证随机数在内的信息计算所述第一鉴别服务器的第二数字签名;
398.发送模块,用于向所述第二鉴别服务器发送第二鉴权响应消息,所述第二鉴权响应消息包括所述鉴别接入控制器的鉴权结果、所述第一鉴别服务器的第一数字签名、所述请求设备的鉴权结果、所述存证随机数以及所述第一鉴别服务器的第二数字签名;
399.所述接收模块还用于接收所述第二鉴别服务器发送的第二存证消息,所述第二存证消息包括所述请求设备的新临时身份标识、所述请求设备的数字签名和所述第二鉴别服务器的第三数字签名,其中,所述第二鉴别服务器的第三数字签名是所述第二鉴别服务器根据包括所述请求设备的新临时身份标识和所述请求设备的数字签名在内的信息计算生成的;
400.验证模块810还用于验证所述第二鉴别服务器的第三数字签名,并再验证通过后再执行后续相关步骤。
401.可选的,所述第一鉴别服务器向所述第二鉴别服务器发送的消息还包括所述第一鉴别服务器对接收到的所述第二鉴别服务器发送的最新前序消息计算的杂凑值。
402.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
403.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其与方法实施例相一致和对应,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示
意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
404.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献