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

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

2022-07-15 20:49:59 来源:中国专利 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.验证单元,用于利用所述第一鉴别服务器的公钥对所述第三数字签名进行验证;
40.解密单元,用于当所述第三数字签名验证通过时,利用加密证书对应的私钥对所述请求设备的身份信息密文进行解密得到所述请求设备的数字证书和所述第二密钥;
41.所述验证单元还用于对所述请求设备的数字证书进行合法性验证得到第二验证结果;
42.生成单元,用于根据包括所述第二验证结果在内的信息生成所述第二鉴别结果信息,利用所述第二密钥对包括所述第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括所述第一鉴别结果信息在内的签名数据计算生成第一数字签名,对包括所述第二鉴别结果信息密文在内的签名数据计算生成第四数字签名;
43.发送单元,用于向所述第一鉴别服务器发送第二鉴别响应消息,所述第二鉴别响应消息中包括所述第一鉴别结果信息、所述第一数字签名、所述第二鉴别结果信息密文和所述第四数字签名。
44.由上述技术方案可以看出,在身份鉴别过程中对请求设备的身份信息进行保密处理,以及在请求设备和鉴别接入控制器之间传输身份信息时,对鉴别接入控制器的身份信息进行保密处理,防止了请求设备和鉴别接入控制器的身份信息在传输过程中暴露,保证攻击者无法获得私密、敏感信息。并且通过引入鉴别服务器,在保障实体身份相关信息机密性的同时,实现请求设备与鉴别接入控制器之间的双向身份的实时鉴别,为保证只有合法用户才能访问合法网络奠定基础。
附图说明
45.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
46.图1为本技术实施例提供的一种身份鉴别方法的示意图;
47.图2为本技术实施例提供的一种请求设备req和鉴别接入控制器aac协商消息加密密钥的方法的示意图;
48.图3为本技术实施例提供的非漫游情况下一种身份鉴别方法的示意图;
49.图4为本技术实施例提供的非漫游情况下另一种身份鉴别方法的示意图;
50.图5为本技术实施例提供的漫游情况下一种身份鉴别方法的示意图;
51.图6为本技术实施例提供的漫游情况下另一种身份鉴别方法的示意图;
52.图7为本技术实施例提供的非漫游情况下另一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
53.图8为本技术实施例提供的非漫游情况下另一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
54.图9为本技术实施例提供的漫游情况下另一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
55.图10为本技术实施例提供的漫游情况下另一种身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
56.图11为本技术实施例提供的一种鉴别接入控制器aac的结构框图;
57.图12为本技术实施例提供的一种请求设备req的结构框图;
58.图13为本技术实施例提供的一种第一鉴别服务器as-aac的结构框图;
59.图14为本技术实施例提供的一种第二鉴别服务器as-req的结构框图。
具体实施方式
60.在通信网络中,请求设备可以通过鉴别接入控制器访问网络,为了确保访问网络的请求设备属于合法用户,鉴别接入控制器需要对请求设备的身份进行鉴别。同样的,为了确保请求设备访问的网络属于合法网络,请求设备也需要对鉴别接入控制器的身份进行鉴别。
61.以目前的无线通信和移动通信场景为例,在请求设备通过鉴别接入控制器接入无线网络的场景下,请求设备可以为手机、个人数字助理(personal digital assistant,简称pda)、平板电脑等终端设备,鉴别接入控制器可以是无线接入点、无线路由器等网络侧设备。在请求设备通过鉴别接入控制器接入有线网络的场景下,请求设备可以为台式机、笔记本电脑等终端设备,鉴别接入控制器可以是交换机或路由器等网络侧设备。在请求设备通过鉴别接入控制器接入第四/五代移动通信技术(the 4th/5th generation mobile communication technology,简称4g/5g)网络的场景下,请求设备可以为手机、平板电脑等终端设备,鉴别接入控制器可以为基站等网络侧设备。当然,本技术同样适用于其他有线网络、近距离通信网络等各种数据通信场景。
62.然而,在请求设备和鉴别接入控制器之间进行双向身份鉴别的过程中,请求设备和鉴别接入控制器都需要提供自身的身份信息用于身份鉴别。该身份信息通常可以包含在
实体的数字证书中,且一般携带了私密、敏感信息。若在身份鉴别过程中该身份信息被攻击者截获用于非法用途,则会对鉴别接入控制器、请求设备甚至网络造成极大的安全隐患。
63.为了解决上述技术问题,本技术实施例提供了一种身份鉴别方法,包括:鉴别接入控制器获取请求设备发送的身份密文消息,身份密文消息中包括请求设备的身份信息密文,身份信息密文是利用加密证书的公钥对包括请求设备的数字证书和第二密钥在内的加密数据加密生成的;鉴别接入控制器向其信任的第一鉴别服务器发送第一鉴别请求消息,第一鉴别请求消息中包括请求设备的身份信息密文和鉴别接入控制器的数字证书;鉴别接入控制器接收第一鉴别服务器发送的第一鉴别响应消息,第一鉴别响应消息中包括第一鉴别结果信息、第一数字签名、第二鉴别结果信息密文和第二数字签名;其中,第一鉴别结果信息中包括对鉴别接入控制器的数字证书的第一验证结果,第一数字签名是请求设备信任的第二鉴别服务器对包括第一鉴别结果信息在内的签名数据计算生成的数字签名,第二鉴别结果信息密文是利用第二密钥对包括第二鉴别结果信息在内的信息加密得到的,第二数字签名是第一鉴别服务器对包括第二鉴别结果信息密文在内的签名数据计算生成的数字签名;鉴别接入控制器利用第一鉴别服务器的公钥验证第二数字签名,若验证通过,则向请求设备发送第三鉴别响应消息,第三鉴别响应消息中包括鉴别结果信息密文,鉴别结果信息密文是利用消息加密密钥对包括第一鉴别结果信息和第一数字签名在内的加密数据加密生成的;请求设备利用消息加密密钥对鉴别结果信息密文解密得到第一鉴别结果信息和第一数字签名,利用第二鉴别服务器的公钥验证第一数字签名,若验证通过,则根据第一鉴别结果信息中的第一验证结果确定鉴别接入控制器的身份鉴别结果;当请求设备确定鉴别接入控制器为合法时,向鉴别接入控制器发送第四鉴别响应消息,第四鉴别响应消息中包括第二密钥密文,第二密钥密文是利用消息加密密钥对包括第二密钥在内的信息加密得到的;鉴别接入控制器利用消息加密密钥解密第二密钥密文得到第二密钥,利用第二密钥解密第二鉴别结果信息密文得到第二鉴别结果信息,根据第二鉴别结果信息中的第二验证结果确定请求设备的身份鉴别结果。
64.可以理解的是,本技术实施例中的第一鉴别结果信息是鉴别接入控制器信任的第一鉴别服务器对鉴别接入控制器的数字证书进行合法性验证得到的,第二鉴别结果信息是请求设备信任的第二鉴别服务器对请求设备的数字证书进行合法性验证得到的,上述第一鉴别服务器和第二鉴别服务器可以是用于鉴别身份的两个独立服务器,或者是用于鉴别身份的同一个服务器。以上仅为请求设备、鉴别接入控制器及鉴别服务器的一些示例,不应理解为对请求设备、鉴别接入控制器及鉴别服务器的限定,在本技术实施例其他可能的实现方式中,请求设备、鉴别接入控制器及鉴别服务器还可以是其他设备。
65.本技术实施例提供的身份鉴别方法是实现请求设备和鉴别接入控制器之间的双向身份鉴别(mutual identity authentication,简称mia)。
66.为便于介绍,在本技术实施例中,将以请求设备(requester,简称req)、鉴别接入控制器(authentication access controller,简称aac)和鉴别服务器(authentication server,简称as)为例对本技术的身份鉴别方法进行介绍。
67.其中,aac信任的as称为第一鉴别服务器as-aac,req信任的as称为第二鉴别服务器as-req。as-aac具有验证aac数字证书的合法性的能力,as-aac持有符合iso/iec9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥。as-req具有
验证req数字证书的合法性的能力,as-req持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥。证书解密服务器(certificate sever-decrypt,简称cs-dec)持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的加密证书和加密证书对应的私钥。as-aac和as-req具有将数字证书传递给其它as去验证的能力,也具有将数字证书的验证结果信息传递给其它as的能力。当as-aac和as-req不相同时,as-aac和as-req相互信任,并相互知晓对方的数字证书或数字证书中的公钥。
68.req可以是参与身份鉴别过程的一个端点,与aac建立连接,访问aac提供的服务,且通过aac访问as。req持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥,req知晓as-req的数字证书或数字证书中的公钥,并知晓cs-dec的加密证书或加密证书中的公钥,cs-dec可以是独立的服务器,也可以驻留在as-req中。aac可以是参与身份鉴别过程的另一个端点,与req建立连接,提供服务,并与req通信,且可直接访问as-aac。aac持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥,并知晓as-aac的数字证书或数字证书中的公钥。
69.下面结合图1,说明本技术实施例提供的一种身份鉴别方法,该方法包括:
70.s101、aac获取req发送的身份密文消息reqinit。
71.所述reqinit中包括req的身份信息密文encpub
as
。其中,encpub
as
是req利用cs-dec的加密证书的公钥对包括req的数字证书cert
req
和第二密钥在内的加密数据加密生成的。由此在身份鉴别过程中,对req的身份信息进行保密处理,防止req的身份信息在传输过程中暴露。本技术中,将被加密的对象称为加密数据。
72.s102、aac向其信任的as-aac发送第一鉴别请求消息aacveri。
73.所述aacveri中包括aac的数字证书cert
aac
和encpub
as

74.s103、aac接收as-aac发送的第一鉴别响应消息asveri。
75.所述asveri中包括第一鉴别结果信息、第一数字签名、第二鉴别结果信息密文和第二数字签名。其中,第一鉴别结果信息中包括对cert
aac
的第一验证结果res
aac
,第一数字签名是req信任的as-req对包括所述第一鉴别结果信息在内的签名数据计算生成的数字签名;第二鉴别结果信息密文是利用所述第二密钥对包括第二鉴别结果信息在内的信息加密得到的,所述第二鉴别结果信息中包括对cert
req
的第二验证结果res
req
,所述第二数字签名是as-aac对包括所述第二鉴别结果信息密文在内的签名数据计算生成的数字签名。本技术中,将被签名的对象称为签名数据。
76.需要说明的是,若req信任的as-req和aac信任的as-aac为同一个鉴别服务器,即req和aac共同信任同一个鉴别服务器,此时req和aac共同信任的鉴别服务器可以用as-aac(当然也可以用as-req)来表示。此情形下,可以由as-aac(也可以表示为as-req)对cert
aac
进行合法性验证得到res
aac
,以及对解密所述encpub
as
得到的cert
req
进行合法性验证得到res
req
,其中,可以由as-aac(也可以表示为as-req)利用驻留在as-aac(也可以表示为as-req)内的cs-dec的加密证书对应的私钥解密encpub
as
,也可以由as-aac(也可以表示为as-req)将encpub
as
发送给与之有交互信任关系的cs-dec进行解密,并获取解密得到的cert
req
。然后,as-aac(也可以表示为as-req)根据包括所述res
aac
在内的信息生成第一鉴别结果信
息,根据包括所述res
req
在内的信息生成第二鉴别结果信息,利用解密所述encpub
as
得到的第二密钥对包括所述第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,并对包括第一鉴别结果信息在内的签名数据计算生成第一数字签名sig
as_aac1
(也可以表示为sig
as_req1
),对包括第二鉴别结果信息密文在内的签名数据计算生成第二数字签名sig
as_aac2
(也可以表示为sig
as_req2
),根据包括第一鉴别结果信息、第一数字签名sig
as_aac1
(也可以表示为sig
as_req1
)、第二鉴别结果信息密文和第二数字签名sig
as_aac2
(也可以表示为sig
as_req2
)在内的信息生成第一鉴别响应消息asveri。
77.若req信任的as-req和aac信任的as-aac为两个不同的鉴别服务器,则由as-aac对cert
aac
进行合法性验证得到res
aac
,由as-req对解密所述encpub
as
得到的cert
req
进行合法性验证得到res
req
。因此,as-aac在生成第一鉴别结果信息后,向as-req发送第二鉴别请求消息as-aacveri。所述as-aacveri中包括所述第一鉴别结果信息、所述encpub
as
和第三数字签名sig
as_aac3
。其中,sig
as_aac3
是由as-aac对包括所述第一鉴别结果信息和所述encpub
as
在内的签名数据计算生成的。as-req利用as-aac的公钥验证sig
as_aac3
,若验证通过,则as-req对解密所述encpub
as
得到的cert
req
进行合法性验证得到res
req
,根据包括所述res
req
在内的信息生成第二鉴别结果信息,其中,可以由as-req利用驻留在as-req内的cs-dec的加密证书对应的私钥解密encpub
as
,也可以由as-req将encpub
as
发送给与之有交互信任关系的cs-dec进行解密,并获取解密得到的cert
req
;as-req利用解密所述encpub
as
得到的第二密钥对包括所述第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,再向as-aac发送第二鉴别响应消息as-reqveri,所述as-reqveri中包括第一鉴别结果信息、第一数字签名sig
as_req1
、第二鉴别结果信息密文和第四数字签名sig
as_req4
;其中,sig
as_req1
是由as-req对包括第一鉴别结果信息在内的签名数据计算生成的,sig
as_req4
是由as-req对包括第二鉴别结果信息密文在内的签名数据计算生成的。as-aac接收所述as-reqveri后,利用as-req的公钥验证sig
as_req4
,若验证通过,则as-aac对包括第二鉴别结果信息密文在内的签名数据计算生成第二数字签名sig
as_aac2
,根据包括第一鉴别结果信息、第一数字签名sig
as_req1
、第二鉴别结果信息密文和第二数字签名sig
as_aac2
在内的信息生成第一鉴别响应消息asveri。
78.s104、aac利用as-aac的公钥对第二数字签名进行验证。
79.若验证通过,则aac执行后续操作。
80.s105、aac向req发送第三鉴别响应消息aacauth。
81.所述aacauth中包括鉴别结果信息密文encdata
aac
。其中,encdata
aac
是aac利用消息加密密钥对包括所述第一鉴别结果信息和所述第一数字签名在内的加密数据加密生成的。
82.s106、req利用消息加密密钥对encdata
aac
解密得到第一鉴别结果信息和第一数字签名。
83.其中,消息加密密钥可以是由req和aac协商得到的,也可以是req和aac预先共享的。由于aac利用消息加密密钥采用对称加密算法对包括第一鉴别结果信息和第一数字签名在内的加密数据加密得到encdata
aac
,因此req接收到aacauth后,可以利用消息加密密钥对encdata
aac
解密得到第一鉴别结果信息和第一数字签名。
84.s107、req利用as-req的公钥对第一数字签名进行验证。
85.s108、req根据第一鉴别结果信息中的res
aac
确定aac的身份鉴别结果。
86.s109、req向aac发送第四鉴别响应消息reqauth。
87.所述reqauth中包括第二密钥密文,所述第二密钥密文是req利用消息加密密钥对包括所述第二密钥在内的信息加密得到的。
88.需要说明的是,s107至s109的执行顺序并不影响本技术的具体实现,在实际应用中,可根据需求设定s107至s109的执行顺序。优选建议,先执行s107,当req对所述第一数字签名验证不通过,则丢弃aacauth,当req对所述第一数字签名验证通过后,再执行s108,当req确定aac为合法时,再执行s109,当req确定aac为不合法时,则req根据本地策略选择是否执行s109,考虑到效率,优选方案为不执行并结束本次鉴别过程。
89.s110、aac利用消息加密密钥解密第二密钥密文得到第二密钥,利用第二密钥解密第二鉴别结果信息密文得到第二鉴别结果信息。
90.s111、aac根据第二鉴别结果信息中的res
req
确定req的身份鉴别结果。
91.由上述技术方案可以看出,在鉴别过程中对请求设备的身份信息进行保密处理,在请求设备和鉴别接入控制器之间传输身份信息时,对鉴别接入控制器的身份信息进行保密处理,从而防止请求设备和鉴别接入控制器的身份信息在传输过程中暴露,保证攻击者无法获得私密、敏感的信息。并且通过引入鉴别服务器,在保障实体身份相关信息机密性的同时,实现请求设备和鉴别接入控制器的双向身份鉴别,为确保只有合法用户才能与合法网络通信奠定基础。
92.在一些实施例中,s101的reqinit中还可以包括req的数字签名sig
req
,sig
req
的签名数据包括reqinit中sig
req
之前的其他字段,则在s111之前,aac还需要确定sig
req
是否验证通过,验证通过才能执行s111。需要说明的是,若as-req和as-aac为同一个鉴别服务器,则所述sig
req
可以由as-aac(也可以表示为as-req)进行验证,也可以由aac进行验证;若as-req和as-aac为两个不同的鉴别服务器,则所述sig
req
可以由as-req进行验证,也可以由aac进行验证。其中,aac确定sig
req
是否验证通过包括以下方式:
93.作为一种由鉴别服务器来验证所述sig
req
的实施例,在as-req和as-aac为同一个鉴别服务器(即非漫游)的情形下,当as-aac(也可以表示为as-req)验证所述sig
req
时,sig
req
可以被携带在s102的aacveri中传递至as-aac(也可以表示为as-req),as-aac(也可以表示为as-req)利用解密aacveri中的encpub
as
得到的cert
req
验证所述sig
req
,若验证通过,则继续执行生成并发送第一鉴别响应消息asveri等步骤,若验证不通过,则不会执行生成并发送第一鉴别响应消息asveri等步骤。因此,aac可以根据是否能接收到第一鉴别响应消息asveri来确定sig
req
是否验证通过,若aac能接收到s103的asveri,则aac可以确定sig
req
验证通过。
94.作为一种由鉴别服务器来验证所述sig
req
的另一实施例,在as-req和as-aac为两个不同的鉴别服务器(即漫游)的情形下,当as-req验证所述sig
req
时,sig
req
可以被携带在s102的aacveri、as-aac向as-req发送的第二鉴别请求消息as-aacveri中传递至as-req,as-req利用解密as-aacveri中的encpub
as
得到的cert
req
验证所述sig
req
,若验证通过,则继续执行生成并发送第二鉴别响应消息as-reqveri以及生成并发送后续的第一鉴别响应消息asveri等步骤,若验证不通过,则不会执行生成并发送第二鉴别响应消息as-reqveri以及不会生成并发送后续的第一鉴别响应消息asveri等步骤。因此,aac可以根据是否能接收到第一鉴别响应消息asveri来确定sig
req
是否验证通过,若aac能接收到s103的asveri,则
aac可以确定sig
req
验证通过。
95.作为一种由aac验证所述sig
req
的实施例,鉴别服务器生成的所述第二鉴别结果信息中不仅包括res
req
,还包括cert
req
。则aac接收到s109的reqauth后,利用第二密钥解密第二鉴别结果信息密文得到的第二鉴别结果信息中还包括cert
req
,并利用第二鉴别结果信息中的cert
req
验证所述sig
req
,从而确定sig
req
是否验证通过。
96.在另一些实施例中,s109的reqauth中还可以包括req的数字签名sig
req
,sig
req
的签名数据包括reqauth中sig
req
之前的其他字段,此种情形下,s110中所述鉴别接入控制器利用第二密钥解密第二鉴别结果信息密文得到的第二鉴别结果信息中还包括cert
req
,则在s111之前,aac还需要利用第二鉴别结果信息中的cert
req
对sig
req
进行验证,根据验证结果确定sig
req
是否验证通过,验证通过才能执行s111。
97.在一些实施例中,s102的aacveri中还可以包括aac的数字签名sig
aac
,sig
aac
的签名数据包括aacveri中sig
aac
之前的其他字段,则在s108之前,req还需要确定sig
aac
是否验证通过,验证通过才能执行s108。其中,req确定sig
aac
是否验证通过包括以下方式:由aac信任的as-aac利用aacveri中的cert
aac
对sig
aac
进行验证,验证通过后,才会继续执行后续流程,因此若req能接收到s105的aacauth,则req确定sig
aac
已验证通过。
98.在另一些实施例中,s105的aacauth中还可以包括aac的数字签名sig
aac
,sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段,相应的,在aacauth中,encdata
aac
的加密数据中的第一鉴别结果信息中还包括cert
aac
;则在s108之前,req还需要确定sig
aac
是否验证通过,验证通过才能执行s108。其中,req确定sig
aac
是否验证通过包括以下方式:req利用解密encdata
aac
得到的第一鉴别结果信息中的cert
aac
对sig
aac
进行验证,根据验证结果确定sig
aac
是否验证通过。
99.请参考图1,在req、aac和鉴别服务器之间传递的消息中还可以包括aac和/或req生成的随机数、身份标识等参数信息,正常情况下,在身份鉴别过程中,这些随机数和/或身份标识通过各个消息进行传输的过程中应该是不变的,但是如果遇到网络抖动或攻击等情况时,可能造成消息中参数信息的丢失或篡改。因此,在身份鉴别时还可以对消息中的身份标识和/或随机数的一致性进行验证,以保障鉴别结果的可靠性。具体如下:
100.例如,s101的reqinit中,req生成身份信息密文encpub
as
时的加密数据还可以包括req的身份标识id
req
和第三密钥nonce
reqid
,其中,nonce
reqid
用于对id
req
加密;s102的aacveri中还可以包括aac的身份标识id
aac
;相应的,s103的asveri中还包括req的身份标识密文和id
aac
,s105的aacauth中的encdata
aac
的加密数据还包括req的身份标识密文,其中,req的身份标识密文是利用nonce
reqid
对id
req
加密得到的,例如可以将nonce
reqid
与id
req
进行异或运算,即id
req

nonce
reqid
作为req的身份标识密文。因此,在s108之前,req利用消息加密密钥对encdata
aac
解密还得到req的身份标识密文,req还需要根据自身的身份标识id
req
和所述nonce
reqid
对解密encdata
aac
得到的req的身份标识密文进行验证,具体包括:req利用所述nonce
reqid
对包括req自身的身份标识id
req
在内的信息加密生成req的身份标识密文,并将生成的req的身份标识密文与解密encdata
aac
得到的req的身份标识密文进行一致性验证;或者,req利用所述nonce
reqid
对req的身份标识密文解密得到id
req
,将解密得到的id
req
与req自身的身份标识id
req
进行一致性验证,验证通过后,req再执行s108。在s111之前,aac可以对asveri中的id
aac
和aac自身的身份标识id
aac
(也就是aac通过aacveri发出去的id
aac
)的
一致性进行验证,验证通过后,aac再执行s111。
101.与身份标识类似,s101的reqinit中还可以包括req生成的第二随机数nonce
req
,s102的aacveri中还可以包括nonce
req
和aac生成的第一随机数nonce
aac
;则s103的asveri中还可以包括nonce
req
和nonce
aac
,s105的aacauth中的encdata
aac
的加密数据还可以包括nonce
req
;则在s108之前,req对encdata
aac
解密还得到nonce
req
,并将解密得到的nonce
req
与req生成的nonce
req
的一致性进行验证,验证通过后,再执行s108。在s111之前,aac可以对asveri中的nonce
aac
和aac生成的nonce
aac
的一致性进行验证,验证通过后,再执行s111。
102.在另一些实施例中,为保障鉴别结果的可靠性,aac可以生成消息完整性校验码。s105的aacauth中还可以包括第一消息完整性校验码mactag
aac
,mactag
aac
是aac利用消息完整性校验密钥对包括aacauth中除mactag
aac
外的其他字段计算生成的。相应的,在s108之前,req还需要验证mactag
aac
,验证通过后再执行s108。req验证mactag
aac
时,应利用所述消息完整性校验密钥对包括aacauth中除mactag
aac
外的其他字段计算生成mactag
aac
,并将计算出的mactag
aac
与接收到的aacauth中的mactag
aac
进行比较,若一致,则验证通过,若不一致,则验证不通过。
103.同样的,req也可以生成消息完整性校验码。s109的reqauth中还可以包括第二消息完整性校验码mactag
req
,mactag
req
是req利用消息完整性校验密钥对包括reqauth中除mactag
req
外的其他字段计算生成的。相应的,在s111之前,aac还需要验证mactag
req
,验证通过后再执行s111。aac验证mactag
req
时,应利用所述消息完整性校验密钥对包括reqauth中除mactag
req
外的其他字段计算生成mactag
req
,并将计算出的mactag
req
与接收到的reqauth中的mactag
req
进行比较,若一致,则验证通过,若不一致,则验证不通过。其中,req和aac利用的消息完整性校验密钥的生成方式在下一实施例中介绍。
104.以上实施例中,req和aac使用的消息加密密钥可以是二者协商得到的,因此本实施例还提供一种req和aac协商消息加密密钥的方法,参见图2,所述方法包括:
105.s201、aac向req发送密钥请求消息aacinit。
106.所述aacinit中包括aac的密钥交换参数keyinfo
aac
,keyinfo
aac
包括aac的临时公钥,其中,密钥交换是指如迪菲
·
赫尔曼(diffie-hellman,简称dh)等密钥交换算法。所述aacinit还可以包括aac生成的第一随机数nonce
aac

107.所述aacinit中还可以包括security capabilities
aac
,security capabilities
aac
表示aac支持的安全能力参数信息,包括aac支持的身份鉴别套件(身份鉴别套件中包含一种或多种身份鉴别方法)、对称加密算法、完整性校验算法和/或密钥导出算法等,以供req选择使用的特定安全策略,则req可以根据security capabilities
aac
选择req使用的特定安全策略security capabilities
req
。security capabilities
req
表示req相应确定使用的身份鉴别方法、对称加密算法、完整性校验算法和/或密钥导出算法等。
108.s202、req根据包括req的密钥交换参数keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算消息加密密钥。
109.若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的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
110.s203、req向aac发送身份密文消息reqinit。
111.所述reqinit中包括keyinfo
req
,以便aac根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥在内的信息计算得到消息加密密钥。其中,keyinfo
aac
对应的临时私钥是aac产生的对应于aac的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
112.所述reqinit中还可以包括security capabilities
req
。所述reqinit中还可以包括nonce
req
,以便aac根据包括所述keyinfo
aac
对应的临时私钥、所述keyinfo
req
所包括的临时公钥、所述nonce
aac
和所述nonce
req
在内的信息计算得到该消息加密密钥。
113.所述reqinit中还可以包括所述nonce
aac
,进而aac可以在计算消息加密密钥之前,对reqinit中的nonce
aac
和aac生成的nonce
aac
的一致性进行验证,以确保aac接收的reqinit是对aacinit的响应消息。
114.s204、aac根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成所述第一密钥,根据包括所述第一密钥在内的信息利用所述密钥导出算法计算消息加密密钥。
115.若所述reqinit中还包括所述nonce
req
,则aac可以根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成所述第一密钥k1,将k1结合包括所述nonce
aac
和所述nonce
req
在内的信息,利用协商的或预置的密钥导出算法计算该消息加密密钥。其中,协商的密钥导出算法可以是aac根据req发送的security capabilities
req
而选择使用的密钥导出算法。
116.需要说明的是,在图2实施例中,req和aac也可以生成消息完整性校验密钥。req和aac各自生成消息完整性校验密钥的实施方式与图2实施例中示例的req和aac各自生成消息加密密钥的实施方式相同。例如,aac可以通过图2实施例的方式利用密钥导出算法导出一串密钥数据,该密钥数据既可以作为消息加密密钥又可以作为消息完整性校验密钥,或者,将该密钥数据中的一部分密钥数据作为消息加密密钥,将另一部分密钥数据作为消息完整性校验密钥;aac也可以通过图2实施例的方式利用密钥导出算法分次导出两串相同或不同的密钥数据,一串作为消息加密密钥,一串作为消息完整性校验密钥。req可以通过图2实施例的方式利用密钥导出算法导出一串密钥数据,该密钥数据既可以作为消息加密密钥又可以作为消息完整性校验密钥,或者,将该密钥数据中的一部分密钥数据作为消息加密密钥,将另一部分密钥数据作为消息完整性校验密钥;req也可以通过图2实施例的方式利用密钥导出算法分次导出两串相同或不同的密钥数据,一串作为消息加密密钥,一串作为消息完整性校验密钥。
117.本技术实施例还提供了利用aac和req之间信息交互来确定本次鉴别过程所使用的第一鉴别服务器和/或第二鉴别服务器的方法:
118.请参考图2,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的reqinit中发送给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。
119.作为另一种实施方式,aac可以不必向req发送id
as_aac
,而由req在s203的reqinit中添加自身信任的至少一个鉴别服务器的身份标识id
as_req
。根据id
as_req
和aac自身信任的鉴别服务器的身份标识id
as_aac
确定参与身份鉴别过程的第一鉴别服务器和/或第二鉴别服务器的具体实现方式如前一种实施方式。
120.由于req和aac信任的鉴别服务器可以相同也可以不同,当req和aac信任的鉴别服务器相同时,即为非漫游情况;当req和aac信任的鉴别服务器不同时,即为漫游情况。
121.参见图3,是非漫游情况下身份鉴别方法的一个实施例,其中可以用as-aac(也可以用as-req)表示req和aac共同信任的鉴别服务器,并且在身份鉴别过程中,还可以对req的数字签名sig
req
进行验证。在该实施例执行前,req和aac已经都拥有了消息加密密钥,消息加密密钥可以是双方预先共享的,也可以是通过图2所示的方法协商得到的,由aac验证sig
req
的身份鉴别方法包括:
122.s301、aac获取req发送的身份密文消息reqinit。
123.所述reqinit中包括req的身份信息密文encpub
as
和req的数字签名sig
req

124.s302、aac向as-aac发送第一鉴别请求消息aacveri。
125.所述aacveri中包括encpub
as
和aac的数字证书cert
aac

126.s303、as-aac利用加密证书对应的私钥解密encpub
as
得到req的数字证书cert
req
和第二密钥nonce
reqpub
,分别对cert
aac
及cert
req
进行合法性验证得到cert
aac
的第一验证结果res
aac
和cert
req
的第二验证结果res
req
,根据包括cert
aac
和res
aac
在内的信息生成第一鉴别结果信息,根据包括cert
req
和res
req
在内的信息生成第二鉴别结果信息,对包括第一鉴别结果信息在内的签名数据计算生成第一数字签名sig
as_aac1
,利用nonce
reqpub
对包括第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括第二鉴别结果信息密文在内的签名数据计算生成第二数字签名sig
as_aac2

127.s304、aac接收as-aac发送的第一鉴别响应消息asveri。
128.所述asveri中包括第一鉴别结果信息、第一数字签名sig
as_aac1
、第二鉴别结果信息密文、第二数字签名sig
as_aac2

129.s305、aac利用as-aac的公钥对sig
as_aac2
进行验证,验证通过,则利用消息加密密钥对包括第一鉴别结果信息和sig
as_aac1
在内的加密数据加密生成鉴别结果信息密文encdata
aac
,对包括encdata
aac
在内的签名数据计算生成aac的数字签名sig
aac

130.s306、aac向req发送第三鉴别响应消息aacauth。
131.所述aacauth中包括所述encdata
aac
和所述sig
aac

132.s307、req利用消息加密密钥对encdata
aac
解密得到第一鉴别结果信息和sig
as_aac1

133.s308、req利用as-aac的公钥验证sig
as_aac1
,以及,利用第一鉴别结果信息中的cert
aac
验证sig
aac

134.若验证均通过,则执行s309。
135.s309、req根据第一鉴别结果信息中的res
aac
确定aac的身份鉴别结果。
136.当req确定aac为合法时,执行s310;当req确定aac为不合法时,结束本次鉴别过程。
137.s310、req利用消息加密密钥对包括第二密钥nonce
reqpub
在内的信息加密得到第二密钥密文encdata
req

138.s311、req向aac发送第四鉴别响应消息reqauth。
139.所述reqauth中包括所述encdata
req

140.s312、aac利用消息加密密钥解密encdata
req
得到nonce
reqpub
,利用nonce
reqpub
解密第二鉴别结果信息密文得到第二鉴别结果信息。
141.s313、aac利用解密得到的第二鉴别结果信息中的cert
req
验证req的数字签名sig
req

142.若验证通过,则执行s314。
143.s314、aac根据解密得到的第二鉴别结果信息中的res
req
确定req的身份鉴别结果。
144.需要说明的是,(1)、s301的reqinit中也可以不包括sig
req
,而在s311的reqauth中添加sig
req
,即在s311中,req先对包括所述reqauth中的encdata
req
在内的签名数据计算生成sig
req
,此情形下,s313中aac验证的sig
req
为reqauth中的sig
req
。(2)、s305中计算sig
aac
的操作也可以改为在s302中先行执行,即在s302中,aac先对包括所述aacveri中的encpub
as
和cert
aac
在内的签名数据计算生成sig
aac
,则s302的aacveri中还包括sig
aac
,在s303中,as-aac还需要验证sig
aac
,验证通过后再执行后续操作;此情形下,在s305中aac则不用计算sig
aac
,相应的,s306的aacauth中不包括sig
aac
,在s308中req也不再验证sig
aac
,此时第一鉴别结果信息中可以不包括cert
aac

145.参见图4,是非漫游情况下身份鉴别方法的另一个实施例,其中可以用as-aac(也可以用as-req)表示req和aac共同信任的鉴别服务器,并且在身份鉴别过程中,还可以对req的数字签名sig
req
进行验证。在该实施例执行前,req和aac已经都拥有了消息加密密钥,消息加密密钥可以是双方预先共享的,也可以是通过图2所示的方法协商得到的,由as-aac验证sig
req
的身份鉴别方法包括:
146.s401、aac获取req发送的身份密文消息reqinit。
147.所述reqinit中包括req的身份信息密文encpub
as
和req的数字签名sig
req

148.s402、aac向as-aac发送第一鉴别请求消息aacveri。
149.所述aacveri中包括reqinit和aac的数字证书cert
aac

150.s403、as-aac利用加密证书对应的私钥对reqinit中的encpub
as
解密得到req的数字证书cert
req
和第二密钥nonce
reqpub
,利用cert
req
对sig
req
进行验证。
151.若验证通过,则执行s404。
152.s404、as-aac对cert
aac
及cert
req
进行合法性验证,得到cert
aac
的第一验证结果
res
aac
和cert
req
的第二验证结果res
req
,根据包括cert
aac
和res
aac
在内的信息生成第一鉴别结果信息,根据包括res
req
在内的信息生成第二鉴别结果信息,对包括第一鉴别结果信息在内的签名数据计算生成第一数字签名sig
as_aac1
,利用nonce
reqpub
对包括第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括第二鉴别结果信息密文在内的签名数据计算生成第二数字签名sig
as_aac2

153.s405、aac接收as-aac发送的第一鉴别响应消息asveri。
154.所述asveri中包括第一鉴别结果信息、第一数字签名sig
as_aac1
、第二鉴别结果信息密文、第二数字签名sig
as_aac2

155.s406、aac利用as-aac的公钥验证sig
as_aac2
,验证通过后,则利用消息加密密钥对包括第一鉴别结果信息和sig
as_aac1
在内的加密数据加密生成鉴别结果信息密文encdata
aac
,对包括encdata
aac
在内的签名数据计算生成aac的数字签名sig
aac

156.s407、aac向req发送第三鉴别响应消息aacauth。
157.所述aacauth中包括所述encdata
aac
和所述sig
aac

158.s408、req利用消息加密密钥解密encdata
aac
得到第一鉴别结果信息和sig
as_aac1

159.s409、req利用as-aac的公钥验证sig
as_aac1
,以及,利用第一鉴别结果信息中的cert
aac
验证sig
aac

160.若验证均通过,则执行s410。
161.s410、req根据第一鉴别结果信息中的res
aac
确定aac的身份鉴别结果。
162.当req确定aac为合法时,执行s411。当req确定aac为不合法时,结束本次鉴别过程。
163.s411、req利用消息加密密钥对包括第二密钥nonce
reqpub
在内的信息加密得到第二密钥密文encdata
req

164.s412、req向aac发送第四鉴别响应消息reqauth。
165.所述reqauth中包括所述encdata
req

166.s413、aac利用消息加密密钥解密encdata
req
得到nonce
reqpub
,利用nonce
reqpub
解密第二鉴别结果信息密文得到第二鉴别结果信息。
167.s414、aac根据解密得到的第二鉴别结果信息中的res
req
确定req的身份鉴别结果。
168.需要说明的是,在s406中计算sig
aac
的操作也可以改为在s402中先行执行,即在s402中,aac先对包括所述aacveri中的reqinit和cert
aac
在内的签名数据计算生成sig
aac
,则s402的aacveri中还包括sig
aac
,在s403中,as-aac还需要验证sig
aac
,验证通过后再执行后续操作;此情形下,在s406中aac则不用计算sig
aac
,相应的,s407的aacauth中不包括sig
aac
,在s409中req也不再验证sig
aac
,此时第一鉴别结果信息中可以不包括cert
aac

169.参见图5,是漫游情况下身份鉴别方法的一个实施例,此时as-aac和as-req相互信任,且知晓对方的数字证书或数字证书中的公钥,并且在身份鉴别过程中,还可以对req的数字签名sig
req
进行验证。在该实施例执行前,req和aac已经都拥有了消息加密密钥,消息加密密钥可以是双方预先共享的,也可以是通过图2所示的方法协商得到的,由aac验证sig
req
的身份鉴别方法包括:
170.s501、aac获取req发送的身份密文消息reqinit。
171.所述reqinit中包括req的身份信息密文encpub
as
、req信任的至少一个鉴别服务器
的身份标识id
as_req
及req的数字签名sig
req

172.s502、aac向as-aac发送第一鉴别请求消息aacveri。
173.所述aacveri中包括encpub
as
、aac的数字证书cert
aac
及id
as_req
,以便as-aac对cert
aac
进行合法性验证得到res
aac
,根据包括cert
aac
和res
aac
在内的信息生成第一鉴别结果信息,然后根据id
as_req
确定出此次鉴别过程中用到的as-req。
174.s503、as-aac向as-req发送第二鉴别请求消息as-aacveri。
175.所述as-aacveri中包括第一鉴别结果信息、encpub
as
和第三数字签名sig
as_aac3
。其中,sig
as_aac3
是由as-aac对包括所述第一鉴别结果信息和所述encpub
as
在内的签名数据计算生成的。
176.s504、as-req利用as-aac的公钥验证sig
as_aac3

177.若验证通过,则执行s505。
178.s505、as-req利用加密证书对应的私钥解密encpub
as
得到cert
req
和第二密钥nonce
reqpub

179.s506、as-req对cert
req
进行合法性验证得到res
req
,根据包括cert
req
和res
req
在内的信息生成第二鉴别结果信息,利用nonce
reqpub
对包括第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括所述第一鉴别结果信息在内的签名数据计算生成第一数字签名sig
as_req1
,对包括所述第二鉴别结果信息密文在内的签名数据计算生成第四数字签名sig
as_req4

180.s507、as-req向as-aac发送第二鉴别响应消息as-reqveri。
181.所述as-reqveri中包括第一鉴别结果信息、第一数字签名sig
as_req1
、第二鉴别结果信息密文和第四数字签名sig
as_req4

182.s508、as-aac利用as-req的公钥验证sig
as_req4

183.若验证通过,则执行s509。
184.s509、as-aac对包括第二鉴别结果信息密文在内的签名数据计算生成第二数字签名sig
as_aac2
,根据包括所述第一鉴别结果信息、所述第一数字签名sig
as_req1
、所述第二鉴别结果信息密文和所述第二数字签名sig
as_aac2
在内的信息生成第一鉴别响应消息asveri。
185.s510、as-aac向aac发送第一鉴别响应消息asveri。
186.s511、aac利用as-aac的公钥验证sig
as_aac2
,验证通过后,则利用消息加密密钥对包括所述第一鉴别结果信息和所述sig
as_req1
在内的加密数据加密生成鉴别结果信息密文encdata
aac
,对包括encdata
aac
在内的签名数据计算生成aac的数字签名sig
aac

187.s512、aac向req发送第三鉴别响应消息aacauth。
188.所述aacauth中包括所述encdata
aac
和所述sig
aac

189.s513、req利用消息加密密钥解密encdata
aac
得到所述第一鉴别结果信息和所述sig
as_req1

190.s514、req利用as-req的公钥验证sig
as_req1
,以及,利用第一鉴别结果信息中的cert
aac
验证sig
aac

191.若验证均通过,则执行s515。
192.s515、req根据第一鉴别结果信息中的res
aac
确定aac的身份鉴别结果。
193.当req确定aac为合法时,执行s516;当req确定aac为不合法时,结束本次鉴别过
程。
194.s516、req利用消息加密密钥对包括第二密钥nonce
reqpub
在内的信息加密得到第二密钥密文encdata
req

195.s517、req向aac发送第四鉴别响应消息reqauth。
196.所述reqauth中包括所述encdata
req

197.s518、aac利用消息加密密钥解密encdata
req
得到nonce
reqpub
,利用nonce
reqpub
解密所述第二鉴别结果信息密文得到第二鉴别结果信息。
198.s519、aac利用解密得到的第二鉴别结果信息中的cert
req
验证req的数字签名sig
req

199.若验证通过,则执行s520。
200.s520、aac根据解密得到的第二鉴别结果信息中的res
req
确定req的身份鉴别结果。
201.需要说明的是,(1)、s501的reqinit中也可以不包括sig
req
,而在s517的reqauth中添加sig
req
,即在s517中,req先对包括所述reqauth中的encdata
req
在内的签名数据计算生成sig
req
;此情形下,s519中aac验证的sig
req
为reqauth中的sig
req
。(2)、s511中计算sig
aac
的操作也可以改为在s502中先行执行,即在s502中,aac先对包括所述aacveri中的encpub
as
、cert
aac
和id
as_req
在内的签名数据计算生成sig
aac
,则s502的aacveri中还包括sig
aac
,在s503中,as-aac还需要先验证sig
aac
,验证通过后再执行后续操作;此情形下,在s511中aac则不用计算sig
aac
,相应的,s512的aacauth中不包括sig
aac
,s514中req也不再验证sig
aac
,此时第一鉴别结果信息中可以不包括cert
aac

202.参见图6,是漫游情况下身份鉴别方法的另一个实施例,此时as-aac和as-req相互信任,且知晓对方的数字证书或数字证书中的公钥,且在身份鉴别过程中,还可以对req的数字签名sig
req
进行验证。在该实施例执行前,req和aac已经都拥有了消息加密密钥,消息加密密钥可以是双方预先共享的也可以是通过图2所示的方法协商得到的,由as-req验证sig
req
的身份鉴别方法包括:
203.s601、aac获取req发送的身份密文消息reqinit。
204.所述reqinit中包括req的身份信息密文encpub
as
、req信任的至少一个鉴别服务器的身份标识id
as_req
及req的数字签名sig
req

205.s602、aac向as-aac发送第一鉴别请求消息aacveri。
206.所述aacveri中包括reqinit和cert
aac
,以便as-aac对cert
aac
进行合法性验证得到res
aac
,根据包括cert
aac
和res
aac
在内的信息生成第一鉴别结果信息。
207.s603、as-aac向as-req发送第二鉴别请求消息as-aacveri。
208.as-aac根据reqinit中的id
as_req
确定出此次鉴别过程中用到的as-req,并向as-req发送as-aacveri。所述as-aacveri中包括reqinit、第一鉴别结果信息和第三数字签名sig
as_aac3
。其中,sig
as_aac3
是由as-aac对包括reqinit和第一鉴别结果信息在内的签名数据计算生成的。
209.s604、as-req利用as-aac的公钥验证sig
as_aac3

210.若验证通过,则执行s605。
211.s605、as-req利用加密证书对应的私钥解密reqinit中的encpub
as
得到cert
req
和第二密钥nonce
reqpub

212.s606、as-req利用cert
req
验证req的数字签名sig
req

213.若验证通过,则执行s607。
214.s607、as-req对cert
req
的合法性进行验证得到res
req
,根据包括res
req
在内的信息生成第二鉴别结果信息,利用nonce
reqpub
对包括第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括所述第一鉴别结果信息在内的签名数据计算生成第一数字签名sig
as_req1
,对包括所述第二鉴别结果信息密文在内的签名数据计算生成第四数字签名sig
as_req4

215.s608、as-req向as-aac发送第二鉴别响应消息as-reqveri。
216.所述as-reqveri中包括第一鉴别结果信息、第一数字签名sig
as_req1
、第二鉴别结果信息密文和第四数字签名sig
as_req4

217.s609、as-aac利用as-req的公钥验证sig
as_req4

218.若验证通过,则执行610。
219.s610、as-aac对包括第二鉴别结果信息密文在内的签名数据计算生成第二数字签名sig
as_aac2
,根据包括所述第一鉴别结果信息、所述第一数字签名sig
as_req1
、所述第二鉴别结果信息密文和所述第二数字签名sig
as_aac2
在内的信息生成第一鉴别响应消息asveri。
220.s611、as-aac向aac发送第一鉴别响应消息asveri。
221.s612、aac利用as-aac的公钥验证sig
as_aac2
,验证通过后,则利用消息加密密钥对包括所述第一鉴别结果信息和所述sig
as_req1
在内的加密数据加密生成鉴别结果信息密文encdata
aac
,对包括encdata
aac
在内的签名数据计算生成aac的数字签名sig
aac

222.s613、aac向req发送第三鉴别响应消息aacauth。
223.所述aacauth中包括所述encdata
aac
和所述sig
aac

224.s614、req利用消息加密密钥解密encdata
aac
得到所述第一鉴别结果信息和所述sig
as_req1

225.s615、req利用as-req的公钥验证sig
as_req1
,以及,利用第一鉴别结果信息中的cert
aac
验证sig
aac

226.若验证均通过,则执行s616。
227.s616、req根据第一鉴别结果信息中的res
aac
确定aac的身份鉴别结果。
228.当req确定aac为合法时,执行s617;当req确定aac为不合法时,结束本次鉴别过程。
229.s617、req利用消息加密密钥对包括第二密钥nonce
reqpub
在内的信息加密得到第二密钥密文encdata
req

230.s618、req向aac发送第四鉴别响应消息reqauth。
231.所述reqauth中包括所述encdata
req

232.s619、aac利用消息加密密钥解密encdata
req
得到nonce
reqpub
,利用nonce
reqpub
解密所述第二鉴别结果信息密文得到第二鉴别结果信息。
233.s620、aac根据解密得到的第二鉴别结果信息中的res
req
确定req的身份鉴别结果。
234.需要说明的是,s612中计算sig
aac
的操作也可以改为在s602中先行执行,即在s602中,aac先对包括所述aacveri中的reqinit和cert
aac
在内的签名数据计算生成sig
aac
,则s602的aacveri中还包括sig
aac
,在s603中,as-aac还需要先验证sig
aac
,验证通过后再执行
后续操作;此情形下,在s612中aac则不用计算sig
aac
,相应的,s613的aacauth中不包括sig
aac
,s615中req也不再验证sig
aac
,此时第一鉴别结果信息中可以不包括cert
aac

235.为表述简便,在图7至图10的实施例中,第一鉴别结果信息可以用字段pub
aac
表示,第二鉴别结果信息可以用字段pub
req
表示。
236.参见图7,是非漫游情况下身份鉴别方法的一个实施例,此时可以用as-aac(也可以用as-req)表示req和aac共同信任的鉴别服务器。在该实施例中,req和aac之间的消息加密密钥协商过程被并行地融合到了身份鉴别过程中,更便于工程实施。其中,req的数字签名sig
req
由aac验证,该方法包括:
237.s701、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac

238.s702、aac向req发送密钥请求消息aacinit。
239.所述aacinit中包括nonce
aac
、keyinfo
aac
和security capabilities
aac
。其中,security capabilities
aac
为可选字段,表示aac支持的安全能力参数信息,包括aac支持的身份鉴别套件、对称加密算法、完整性校验算法和/或密钥导出算法等(全文同)。
240.s703、req生成nonce
req
、keyinfo
req
、nonce
reqid
和nonce
reqpub
,根据需要生成security capabilities
req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥(这一步也可以在后续需要使用消息加密密钥和/或消息完整性校验密钥时再执行);利用加密证书的公钥计算req的身份信息密文encpub
as
;计算sig
req

241.其中,security capabilities
req
为可选字段,表示req根据security capabilities
aac
作出的特定安全策略的选择,即req确定使用的身份鉴别方法、对称加密算法、完整性校验算法和/或密钥导出算法等(全文同);req是否生成security capabilities
req
取决于aac向req发送的aacinit中是否携带security capabilities
aac

242.s704、req向aac发送身份密文消息reqinit。
243.所述reqinit中包括nonce
aac
、nonce
req
、security capabilities
req
、keyinfo
req
、encpub
as
及sig
req
。其中,nonce
aac
和security capabilities
req
为可选字段,nonce
aac
应等于aacinit中的nonce
aac
;encpub
as
的加密数据包括id
req
、cert
req
、nonce
reqid
及nonce
reqpub
。sig
req
的签名数据包括reqinit中sig
req
之前的其他字段。例如,当reqinit中依次包括nonce
aac
、nonce
req
、security capabilities
req
、keyinfo
req
、encpub
as
及sig
req
时,sig
req
的签名数据包括nonce
aac
、nonce
req
、security capabilities
req
、keyinfo
req
及encpub
as
;另外,当reqinit中不包括nonce
aac
时,sig
req
的签名数据还包括aacinit中的nonce
aac

244.s705、aac接收所述reqinit后,执行下述操作(若无特别说明或逻辑上的关系,本文中以(1)、(2)
……
编号的动作并不因为有编号而存在必然的先后顺序。全文同),包括:
245.(1)、若reqinit中存在nonce
aac
,则检查所述nonce
aac
与aac生成的nonce
aac
是否相同,若不同,则丢弃reqinit;
246.(2)、根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法
计算消息加密密钥和消息完整性校验密钥;当然,也可以在aac需要使用消息加密密钥和/或消息完整性校验密钥时再执行该计算。
247.s706、aac向as-aac发送第一鉴别请求消息aacveri。
248.所述aacveri中包括encpub
as
、nonce
req
、id
aac
、cert
aac
及nonce
aac
。其中,encpub
as
、nonce
req
应分别等于reqinit中的相应字段;nonce
aac
应等于aac生成的nonce
aac

249.s707、as-aac接收所述aacveri后,执行下述操作,包括:
250.(1)、利用加密证书对应的私钥解密encpub
as
得到cert
req
、id
req
、nonce
reqpub
、nonce
reqid

251.(2)、分别验证cert
aac
和cert
req
的合法性得到res
aac
和res
req
,根据包括cert
aac
和res
aac
在内的信息生成pub
aac
,根据包括cert
req
和res
req
在内的信息生成pub
req
,对id
req
和nonce
reqid
进行异或运算生成id
req

nonce
reqid
,对pub
req
和nonce
reqpub
进行异或运算生成pub
req

nonce
reqpub

252.(3)、对包括id
req

nonce
reqid
、nonce
req
、pub
aac
在内的信息进行签名计算生成第一数字签名sig
as_aac1
,对包括id
aac
、nonce
aac
、pub
req

nonce
reqpub
在内的信息进行签名计算生成第二数字签名sig
as_aac2

253.s708、as-aac向aac发送第一鉴别响应消息asveri。
254.所述asveri中包括id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_aac1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
和sig
as_aac2
。其中,id
req
、nonce
reqid
、nonce
req
、id
aac
、nonce
aac
、nonce
reqpub
应分别等于aacveri中的相应字段。
255.s709、aac接收所述asveri后,执行下述操作,包括:
256.(1)、检查id
aac
和nonce
aac
是否分别与aac自身的身份标识id
aac
、aac生成的nonce
aac
相同;
257.(2)、利用as-aac的公钥验证sig
as_aac2

258.(3)、若上述检查与验证均通过,则利用消息加密密钥计算encdata
aac
,若上述检查与验证中任一步不通过,则立即丢弃asveri;
259.(4)、计算sig
aac

260.(5)、根据需要计算mactag
aac

261.s710、aac向req发送第三鉴别响应消息aacauth。
262.所述aacauth中包括nonce
req
、nonce
aac
、encdata
aac
、sig
aac
及mactag
aac
。其中,nonce
req
和nonce
aac
为可选字段,应分别等于reqinit中的nonce
req
和aac生成的nonce
aac
。encdata
aac
的加密数据包括id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_aac1
,其中,id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_aac1
应分别等于asveri中的相应字段。sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段;mactag
aac
为可选字段,mactag
aac
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段计算生成mactag
aac

263.s711、req接收所述aacauth后,执行下述操作,包括:
264.(1)、若aacauth中存在nonce
req
,则检查所述nonce
req
与req生成的nonce
req
是否相同;若aacauth中存在nonce
aac
,则检查所述nonce
aac
与aacinit中的nonce
aac
是否相同;
265.(2)、若aacauth中存在mactag
aac
,则验证mactag
aac

266.验证过程为:req利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段在本地计算生成mactag
aac
(该计算方式与aac计算mactag
aac
的方式相同),将计算出的mactag
aac
与接收到的aacauth中的mactag
aac
进行比较。
267.(3)、利用消息加密密钥采用对称加密算法解密encdata
aac
得到id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_aac1

268.(4)、将id
req

nonce
reqid
与nonce
reqid
进行异或运算恢复id
req
,检查恢复的id
req
与req自身的身份标识id
req
是否相同;检查nonce
req
与req生成的nonce
req
是否相同;
269.(5)、利用as-aac的公钥验证sig
as_aac1
,以及,利用解密得到的pub
aac
中的cert
aac
验证sig
aac

270.(6)、上述检查与验证中任一步不通过,则立即丢弃aacauth;上述检查与验证均通过后,根据pub
aac
中的res
aac
确定aac的身份鉴别结果;若确定aac为不合法时,结束此次鉴别过程;
271.(7)、利用消息加密密钥计算encdata
req

272.(8)、计算mactag
req

273.s712、req向aac发送第四鉴别响应消息reqauth。
274.所述reqauth中包括nonce
aac
、nonce
req
、encdata
req
和mactag
req
。其中,nonce
req
和nonce
aac
为可选字段,应分别等于req生成的nonce
req
和aacinit中的nonce
aac
。encdata
req
的加密数据包括nonce
reqpub
,且nonce
reqpub
应等于req生成的nonce
reqpub
;mactag
req
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括reqauth中除mactag
req
外的其他字段计算生成mactag
req

275.s713、aac接收所述reqauth后,执行以下操作,包括:
276.(1)、若reqauth中存在nonce
req
,则检查所述nonce
req
与接收到的reqinit中的nonce
req
是否相同;若reqauth中存在nonce
aac
,则检查所述nonce
aac
与aac生成的nonce
aac
是否相同;
277.(2)、验证mactag
req

278.验证过程为:aac利用消息完整性校验密钥采用完整性校验算法对包括reqauth中除mactag
req
外的其他字段在本地计算生成mactag
req
(该计算方式与req计算mactag
req
的方式相同),将计算的mactag
req
与接收到的reqauth中的mactag
req
进行比较。
279.(3)、利用消息加密密钥采用对称加密算法解密encdata
req
得到nonce
reqpub

280.(4)、将nonce
reqpub
与pub
req

nonce
reqpub
进行异或运算恢复pub
req

281.(5)、利用pub
req
中的cert
req
验证sig
req

282.(6)、上述检查和验证均通过后,根据pub
req
中的res
req
确定req的身份鉴别结果;若上述检查与验证中任一步不通过,则立即丢弃reqauth。
283.需要说明的是,(1)、s704的reqinit中也可以不包括sig
req
,而在s712的reqauth中添加sig
req
,即在s712中,req先对包括reqauth中的nonce
aac
、nonce
req
、encdata
req
在内的信息进行签名计算生成sig
req
;此情形下,s713中验证的sig
req
为reqauth中的sig
req
。(2)、在s709中计算sig
aac
的操作也可以改为在s706中先行执行,即在s706中,aac先对包括aacveri中的encpub
as
、nonce
req
、id
aac
、cert
aac
和nonce
aac
在内的信息进行签名计算生成sig
aac
,则s706的aacveri中还包括sig
aac
,在s707中,as-aac还需要验证sig
aac
,验证通过后再执行后
续操作;此情形下,在s709中aac则不用计算sig
aac
,相应的,s710的aacauth中不包括sig
aac
,s711中req也不再验证sig
aac
,此时pub
aac
中可以不包括cert
aac

284.参见图8,是非漫游情况下的身份鉴别方法的另一个实施例,此时可以用as-aac(也可以用as-req)表示req和aac共同信任的鉴别服务器。在该实施例中,req和aac之间的消息加密密钥协商过程被并行地融合到了身份鉴别过程中,更便于工程实施。其中sig
req
由as-aac验证,该方法包括:
285.s801、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac

286.s802、aac向req发送密钥请求消息aacinit。
287.所述aacinit中包括nonce
aac
、keyinfo
aac
和security capabilities
aac
。其中,security capabilities
aac
为可选字段。
288.s803、req生成nonce
req
、keyinfo
req
、nonce
reqid
和nonce
reqpub
,根据需要生成security capabilities
req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;利用加密证书的公钥计算req的身份信息密文encpub
as
;计算sig
req

289.s804、req向aac发送身份密文消息reqinit。
290.所述reqinit中包括nonce
aac
、nonce
req
、security capabilities
req
、keyinfo
req
、encpub
as
及sig
req
。其中,security capabilities
req
为可选字段;encpub
as
的加密数据包括id
req
、cert
req
、nonce
reqid
及nonce
reqpub
;sig
req
的签名数据包括reqinit中sig
req
之前的其他字段。
291.s805、aac接收所述reqinit后,执行下述操作,包括:
292.(1)、检查reqinit中的nonce
aac
与aac生成的nonce
aac
是否相同;若不同,则丢弃reqinit;
293.(2)、根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥。
294.s806、aac向as-aac发送第一鉴别请求消息aacveri。
295.所述aacveri中包括reqinit、id
aac
和cert
aac

296.s807、as-aac接收所述aacveri后,执行下述操作,包括:
297.(1)、利用加密证书对应的私钥解密reqinit中的encpub
as
得到cert
req
、id
req
、nonce
reqid
、nonce
reqpub

298.(2)、利用解密得到的cert
req
验证reqinit中的sig
req

299.(3)、分别验证cert
aac
和cert
req
的合法性得到res
aac
和res
req
后,根据包括cert
aac
和res
aac
在内的信息生成pub
aac
,根据包括res
req
在内的信息生成pub
req
,对id
req
和nonce
reqid
进行异或运算生成id
req

nonce
reqid
,对pub
req
和nonce
reqpub
进行异或运算生成pub
req

nonce
reqpub

300.(4)、对包括id
req

nonce
reqid
、nonce
req
、pub
aac
在内的信息进行签名计算生成第一
数字签名sig
as_aac1
;对包括id
aac
、nonce
aac
、pub
req

nonce
reqpub
在内的信息进行签名计算生成第二数字签名sig
as_aac2

301.s808、as-aac向aac发送第一鉴别响应消息asveri。
302.所述asveri中包括id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_aac1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
和sig
as_aac2
。其中,id
req
、nonce
reqid
、nonce
req
、id
aac
、nonce
aac
、nonce
reqpub
应分别等于aacveri中的相应字段。
303.s809、aac接收所述asveri后,执行下述操作,包括:
304.(1)、检查id
aac
和nonce
aac
是否分别与aac自身的身份标识id
aac
、aac生成的nonce
aac
相同;
305.(2)、利用as-aac的公钥验证sig
as_aac2

306.(3)、若上述检查与验证均通过,则利用消息加密密钥计算encdata
aac
;若上述检查与验证中任一步不通过时,则立即丢弃asveri;
307.(4)、计算sig
aac

308.(5)、根据需要计算mactag
aac

309.s810、aac向req发送第三鉴别响应消息aacauth。
310.所述aacauth中包括nonce
req
、nonce
aac
、encdata
aac
、sig
aac
及mactag
aac
。其中,nonce
req
和nonce
aac
为可选字段,应分别等于reqinit中的nonce
req
和aac生成的nonce
aac
。encdata
aac
的加密数据包括id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_aac1
,且id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_aac1
应分别等于asveri中的相应字段。sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段;mactag
aac
为可选字段,其计算如前所述。
311.s811、req接收所述aacauth后,执行下述操作,包括:
312.(1)、若aacauth中存在nonce
req
,则检查所述nonce
req
与req生成的nonce
req
是否相同;若aacauth中存在nonce
aac
,则检查所述nonce
aac
与aacinit中的nonce
aac
是否相同;
313.(2)、若aacauth中存在mactag
aac
,则验证mactag
aac
;验证过程同图7实施例中的描述;
314.(3)、利用消息加密密钥采用对称加密算法解密encdata
aac
得到id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_aac1

315.(4)、将id
req

nonce
reqid
与nonce
reqid
进行异或运算恢复id
req
,检查恢复的id
req
与req自身的身份标识id
req
是否相同,检查nonce
req
与req生成的nonce
req
是否相同;
316.(5)、利用as-aac的公钥验证sig
as_aac1
,以及,利用解密得到的pub
aac
中的cert
aac
验证sig
aac

317.(6)、上述检查与验证中任一步不通过,则立即丢弃aacauth;上述检查与验证均通过后,根据pub
aac
中的res
aac
确定aac的身份鉴别结果;若确定aac为不合法时,结束此次鉴别过程;
318.(7)、利用消息加密密钥计算encdata
req

319.(8)、计算mactag
req
;其计算过程同图7实施例中的描述。
320.s812、req向aac发送第四鉴别响应消息reqauth。
321.所述reqauth中包括nonce
aac
、nonce
req
、encdata
req
和mactag
req
。其中,nonce
req
和nonce
aac
为可选字段,应分别等于req生成的nonce
req
和aacinit中的nonce
aac
。encdata
req

加密数据包括nonce
reqpub
,且nonce
reqpub
应等于req生成的nonce
reqpub

322.s813、aac接收所述reqauth后,执行以下操作,包括:
323.(1)、若reqauth中存在nonce
req
,则检查所述nonce
req
与接收到的reqinit中的nonce
req
是否相同;若reqauth中存在nonce
aac
,则检查所述nonce
aac
与aac生成的nonce
aac
是否相同;
324.(2)、验证mactag
req
;验证过程同图7实施例中的描述;
325.(3)、利用消息加密密钥采用对称加密算法解密encdata
req
得到nonce
reqpub

326.(4)、将nonce
reqpub
与pub
req

nonce
reqpub
进行异或运算恢复pub
req

327.(5)、上述检查和验证均通过后,根据pub
req
中的res
req
确定req的身份鉴别结果;若上述检查与验证中任一步不通过,则立即丢弃reqauth。
328.需要说明的是,在s809中计算sig
aac
的操作也可以改为在s806中先行执行,即在s806中,aac先对aacveri中的reqinit、id
aac
和cert
aac
进行签名计算生成sig
aac
,则s806的aacveri中还包括sig
aac
,在s807中,as-aac还需要验证sig
aac
,验证通过后再执行后续操作;此情形下,在s809中aac则不用计算sig
aac
,相应的,s810的aacauth中不包括sig
aac
,s811中req也不再验证sig
aac
,此时pub
aac
中可以不包括cert
aac

329.参见图9,是漫游情况下身份鉴别方法的一个实施例,在该实施例中,req和aac之间的消息加密密钥协商过程被并行地融合到身份鉴别过程中,更便于工程实施。其中,req的数字签名sig
req
由aac验证,该方法包括:
330.s901、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac

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

334.s904、req向aac发送身份密文消息reqinit。
335.所述reqinit中包括nonce
aac
、nonce
req
、id
as_req
、keyinfo
req
、encpub
as
、security capabilities
req
及sig
req
。其中,nonce
aac
、id
as_req
和security capabilities
req
为可选字段,且nonce
aac
应等于aacinit中的相应字段。encpub
as
的加密数据包括id
req
、cert
req
、nonce
reqid
及nonce
reqpub
。sig
req
的签名数据包括reqinit中sig
req
之前的其他字段,当reqinit中不包括nonce
aac
时,sig
req
的签名数据还包括aacinit中的nonce
aac
字段。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
(下文同)。
336.s905、aac接收所述reqinit后,执行下述操作,包括:
337.(1)、若reqinit中存在nonce
aac
,则检查所述nonce
aac
与aac生成的nonce
aac
是否相同,若不同,则丢弃reqinit;
338.(2)、根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;也可以在aac需要使用消息加密密钥和/或消息完整性校验密钥时再执行该计算;
339.(3)、若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;或者,
340.若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;
341.需要说明的是,此实施例判断出的结果应为漫游情况。
342.s906、aac向as-aac发送第一鉴别请求消息aacveri。
343.所述aacveri中包括encpub
as
、nonce
req
、id
as_req
、id
aac
、cert
aac
和nonce
aac
。其中,id
as_req
为可选字段,且nonce
req
、id
as_req
应分别等于reqinit中的相应字段;nonce
aac
应等于aac生成的nonce
aac

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

346.(2)、若aacveri中存在id
as_req
,则as-aac根据id
as_req
确定第二鉴别服务器as-req;若不存在,则表示as-aac已确知as-req;
347.(3)、计算第三数字签名sig
as_aac3

348.s908、as-aac向as-req发送第二鉴别请求消息as-aacveri。
349.所述as-aacveri中包括encpub
as
、nonce
req
、id
aac
、nonce
aac
、pub
aac
及sig
as_aac3
。其中,encpub
as
、nonce
req
、id
aac
、nonce
aac
应分别等于aacveri中的相应字段;sig
as_aac3
的签名数据包括as-aacveri中sig
as_aac3
之前的其他字段。
350.s909、as-req接收所述as-aacveri后,利用as-aac的公钥验证sig
as_aac3

351.若验证通过,执行s910。
352.s910、as-req向cs-dec发送解密请求消息as-reqreq。
353.所述as-reqreq中包括encpub
as
。其中,encpub
as
应等于as-aacveri中的相应字段。
354.s911、cs-dec解密所述encpub
as
得到cert
req
、id
req
、nonce
reqid
、nonce
reqpub

355.s912、cs-dec向as-req发送解密响应消息cs-decrep。
356.所述cs-decrep包括解密得到的cert
req
、id
req
、nonce
reqid
及nonce
reqpub
。其中,cert
req
、id
req
、nonce
reqid
、nonce
reqpub
应等于as-aacveri中的相应字段。
357.s913、as-req接收所述cs-decrep后,执行下述操作,包括:
358.(1)、验证cert
req
的合法性得到res
req
,根据包括cert
req
和res
req
在内的信息生成pub
req
;对id
req
和nonce
reqid
进行异或运算生成id
req

nonce
reqid
,对pub
req
和nonce
reqpub
进行异或运算生成pub
req

nonce
reqpub

359.(2)、对包括id
req

nonce
reqid
、nonce
req
、pub
aac
在内的信息进行签名计算生成第一数字签名sig
as_req1
,对包括id
aac
、nonce
aac
、pub
req

nonce
reqpub
在内的信息进行签名计算生成第四数字签名sig
as_req4

360.s914、as-req向as-aac发送第二鉴别响应消息as-reqveri。
361.所述as-reqveri中包括id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_req1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
和sig
as_req4
。其中,id
req
、nonce
reqid
、nonce
reqpub
应分别等于cs-decrep中的相应字段;nonce
req
、id
aac
、nonce
aac
、pub
aac
应分别等于as-aacveri中的相应字段。
362.s915、as-aac利用as-req的公钥验证所述sig
as_req4
,若验证通过,则对包括id
aac
、nonce
aac
、pub
req

nonce
reqpub
在内的信息进行签名计算生成第二数字签名sig
as_aac2

363.s916、as-aac向aac发送第一鉴别响应消息asveri。
364.所述asveri中包括id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_req1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
和sig
as_aac2
。其中,id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_req1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
均来源于as-reqveri。
365.s917、aac接收所述asveri后,执行下述操作,包括:
366.(1)、检查id
aac
和nonce
aac
是否分别与aac自身的身份标识id
aac
、aac生成的nonce
aac
相同;
367.(2)、利用as-aac的公钥验证sig
as_aac2

368.(3)、若上述检查与验证均通过,则利用消息加密密钥计算encdata
aac
,若上述检查与验证中任一步不通过,则立即丢弃asveri;
369.(4)、计算sig
aac

370.(5)、根据需要计算mactag
aac

371.s918、aac向req发送第三鉴别响应消息aacauth。
372.所述aacauth中包括nonce
req
、nonce
aac
、encdata
aac
、sig
aac
及mactag
aac
。其中,sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段;nonce
req
和nonce
aac
为可选字段,且应分别等于reqinit中的nonce
req
和aac生成的nonce
aac
。encdata
aac
的加密数据包括id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_req1
,其中,id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_req1
应分别等于asveri中的相应字段。mactag
aac
为可选字段,其计算如图7实施例中所述。
373.s919、req接收所述aacauth后,执行下述操作,包括:
374.(1)、若aacauth中存在nonce
req
,则检查所述nonce
req
与req生成的nonce
req
是否相
同;若aacauth中存在nonce
aac
,则检查所述nonce
aac
与aacinit中的nonce
aac
是否相同;
375.(2)、若aacauth中存在mactag
aac
,则验证mactag
aac
;验证过程如图7实施例中所述;
376.(3)、利用消息加密密钥采用对称加密算法解密所述encdata
aac
得到id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_req1

377.(4)、将id
req

nonce
reqid
与nonce
reqid
进行异或运算恢复id
req
,检查恢复的id
req
是否与req自身的身份标识id
req
相同;检查nonce
req
是否与req生成的nonce
req
相同;
378.(5)、利用as-req的公钥验证sig
as_req1
,以及,利用解密得到的pub
aac
中的cert
aac
验证sig
aac

379.(6)、上述检查与验证中任一步不通过,则立即丢弃aacauth;上述检查与验证均通过后,根据pub
aac
中的res
aac
确定aac的身份鉴别结果;若确定aac为不合法,则结束本次鉴别过程;
380.(7)、利用消息加密密钥计算encdata
req

381.(8)、计算mactag
req
;计算过程如图7实施例中所述。
382.s920、req向aac发送第四鉴别响应消息reqauth。
383.所述reqauth中包括nonce
aac
、nonce
req
、encdata
req
和mactag
req
。其中,nonce
req
和nonce
aac
为可选字段,且应分别等于req生成的nonce
req
和aacinit中的nonce
aac
;encdata
req
的加密数据包括nonce
reqpub
,且nonce
reqpub
应等于req生成的nonce
reqpub

384.s921、aac接收所述reqauth后,执行下述操作,包括:
385.(1)、若reqauth中存在nonce
req
,则检查所述nonce
req
与接收到的reqinit中的nonce
req
是否相同;若reqauth中存在nonce
aac
,则检查所述nonce
aac
与aac生成的nonce
aac
是否相同;
386.(2)、验证mactag
req
;验证过程如图7实施例中所述;
387.(3)、利用消息加密密钥采用对称加密算法解密encdata
req
得到nonce
reqpub

388.(4)、将nonce
reqpub
与pub
req

nonce
reqpub
进行异或运算恢复pub
req

389.(5)、利用pub
req
中的cert
req
验证sig
req

390.(6)、上述检查和验证均通过后,根据pub
req
中的res
req
确定req的身份鉴别结果;若上述检查与验证中任一步不通过,则立即丢弃reqauth。
391.需要说明的是,(1)、s904的reqinit中也可以不包括sig
req
,而在s920的reqauth中添加sig
req
,即在s920中,req先对包括reqauth中的nonce
aac
、nonce
req
、encdata
req
在内的信息进行签名计算生成sig
req
;此情形下,s921中验证的sig
req
为reqauth中的sig
req
。(2)、在s917中计算sig
aac
的操作也可以改为在s906中先行执行,即在s906中,aac先对包括encpub
as
、nonce
req
、id
as_req
、id
aac
、cert
aac
和nonce
aac
在内的信息进行签名计算生成sig
aac
,则s906的aacveri中还包括sig
aac
,在s907中,as-aac还需要验证sig
aac
,验证通过后再执行后续操作;此情形下,在s917中aac则不用计算sig
aac
,相应的,s918的aacauth中不包括sig
aac
,s919中req也不再验证sig
aac
,此时pub
aac
中可以不包括cert
aac

392.参见图10,是漫游情况下的身份鉴别方法的另一个实施例,在该实施例中,req和aac之间的消息加密密钥协商过程被并行地融合到身份鉴别过程中,更便于工程实施。其中sig
req
由as-req验证,该方法包括:
393.s1001、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac

394.s1002、aac向req发送密钥请求消息aacinit。
395.所述aacinit中包括nonce
aac
、keyinfo
aac
、security capabilities
aac
和id
as_aac
。其中,security capabilities
aac
与id
as_aac
为可选字段。
396.s1003、req生成nonce
req
、keyinfo
req
、nonce
reqid
和nonce
reqpub
,根据需要生成security capabilities
req
和id
as_req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥,利用加密证书的公钥计算req的身份信息密文encpub
as
;计算sig
req

397.s1004、req向aac发送身份密文消息reqinit。
398.所述reqinit中包括encpub
as
、nonce
aac
、nonce
req
、id
as_req
、keyinfo
req
、security capabilities
req
及sig
req
。其中,nonce
aac
应等于aacinit中的相应字段;security capabilities
req
和id
as_req
为可选字段。encpub
as
的加密数据包括id
req
、cert
req
、nonce
reqid
、nonce
reqpub
;sig
req
的签名数据包括reqinit中sig
req
之前的其他字段。
399.s1005、aac接收所述reqinit之后,执行下述操作,包括:
400.(1)、检查reqinit中的nonce
aac
与aac生成的nonce
aac
是否相同;若不同,则丢弃reqinit;
401.(2)、根据包括所述keyinfo
aac
对应的临时私钥和所述keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商的或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;计算消息加密密钥和/或消息完整性校验密钥也可以在后续需要使用时再执行;
402.(3)、确定第一鉴别服务器as-aac如图9实施例中的相关描述;
403.需要说明的是,此实施例判断出的结果应为漫游情况。
404.s1006、aac向as-aac发送第一鉴别请求消息aacveri。
405.所述aacveri中包括reqinit、id
aac
、cert
aac

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

408.(2)、确定第二鉴别服务器as-req如图9实施例中的相关描述;
409.(3)、计算第三数字签名sig
as_aac3

410.s1008、as-aac向as-req发送第二鉴别请求消息as-aacveri。
411.所述as-aacveri中包括reqinit、id
aac
、pub
aac
及sig
as_aac3
。其中,reqinit、id
aac
应分别等于aacveri中的reqinit、id
aac
。sig
as_aac3
的签名数据包括as-aacveri中sig
as_aac3
之前的其他字段。
412.s1009、as-req接收所述as-aacveri后,利用as-aac的公钥验证sig
as_aac3

413.若验证通过,执行s1010。
414.s1010、as-req向cs-dec发送解密请求消息as-reqreq。
415.所述as-reqreq中包括encpub
as
。其中,encpub
as
应等于as-aacveri中的相应字段。
416.s1011、cs-dec解密所述encpub
as
得到cert
req
、id
req
、nonce
reqid
、nonce
reqpub

417.s1012、cs-dec向as-req发送解密响应消息cs-decrep。
418.所述cs-decrep中包括解密得到的cert
req
、id
req
、nonce
reqid
、nonce
reqpub
。其中,cert
req
、id
req
、nonce
reqid
、nonce
reqpub
应等于as-aacveri中的相应字段。
419.s1013、as-req接收所述cs-decrep后,执行下述操作,包括:
420.(1)、利用cert
req
验证所述sig
req
;若验证不通过,则丢弃cs-decrep;
421.(2)、验证cert
req
的合法性得到res
req
,根据包括res
req
在内的信息生成pub
req
;对id
req
和nonce
reqid
进行异或运算生成id
req

nonce
reqid
,对pub
req
和nonce
reqpub
进行异或运算生成pub
req

nonce
reqpub

422.(3)、对包括id
req

nonce
reqid
、nonce
req
、pub
aac
在内的信息进行签名计算生成第一数字签名sig
as_req1
,对包括id
aac
、nonce
aac
、pub
req

nonce
reqpub
在内的信息进行签名计算生成第四数字签名sig
as_req4

423.s1014、as-req向as-aac发送第二鉴别响应消息as-reqveri。
424.所述as-reqveri中包括id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_req1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
和sig
as_req4
。其中,id
req
、nonce
reqid
、nonce
reqpub
应分别等于cs-decrep中的相应字段;nonce
req
、id
aac
、nonce
aac
、pub
aac
应分别等于as-aacveri中的相应字段。
425.s1015、as-aac利用as-req的公钥验证所述sig
as_req4
,若验证通过,则对包括id
aac
、nonce
aac
、pub
req

nonce
reqpub
在内的信息进行签名计算生成第二数字签名sig
as_aac2

426.s1016、as-aac向aac发送第一鉴别响应消息asveri。
427.所述asveri中包括id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_req1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
和sig
as_aac2
。其中,id
req

nonce
reqid
、nonce
req
、pub
aac
、sig
as_req1
、id
aac
、nonce
aac
、pub
req

nonce
reqpub
均来源于as-reqveri。
428.s1017、aac接收所述asveri后,执行下述操作,包括:
429.(1)、检查id
aac
和nonce
aac
是否分别与aac自身的身份标识id
aac
、aac生成的nonce
aac
相同;
430.(2)、利用as-aac的公钥验证sig
as_aac2

431.(3)、若上述检查与验证均通过,则利用消息加密密钥计算encdata
aac
;若上述检查与验证中任一步不通过,则立即丢弃asveri;
432.(4)、计算sig
aac

433.(5)、根据需要计算mactag
aac

434.s1018、aac向req发送第三鉴别响应消息aacauth。
435.所述aacauth中包括nonce
req
、nonce
aac
、encdata
aac
、sig
aac
及mactag
aac
。其中,sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段;nonce
req
和nonce
aac
为可选字段,且应分别等于reqinit中的nonce
req
和aac生成的nonce
aac
。encdata
aac
的加密数据包括id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_req1
,其中,id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_req1
应分别等于asveri中的相应字段。mactag
aac
为可选字段,其计算如图7实施例中所述。
436.s1019、req接收所述aacauth后,执行下述操作,包括:
437.(1)、若aacauth中存在nonce
req
,则检查所述nonce
req
与req生成的nonce
req
是否相
同;若aacauth中存在nonce
aac
,则检查所述nonce
aac
与aacinit中的nonce
aac
是否相同;
438.(2)、若aacauth中存在mactag
aac
,则验证mactag
aac
;验证过程为如图7实施例所述;
439.(3)、利用消息加密密钥采用对称加密算法解密所述encdata
aac
得到id
req

nonce
reqid
、nonce
req
、pub
aac
和sig
as_req1

440.(4)、将id
req

nonce
reqid
与nonce
reqid
进行异或运算恢复id
req
,检查恢复的id
req
是否与req自身的身份标识id
req
相同;检查nonce
req
是否与req生成的nonce
req
相同;
441.(5)、利用as-req的公钥验证sig
as_req1
,以及,利用解密得到的pub
aac
中的cert
aac
验证sig
aac

442.(6)、上述检查与验证中任一步不通过,则立即丢弃aacauth;上述检查与验证均通过后,根据pub
aac
中的res
aac
确定aac的身份鉴别结果;若确定aac为不合法,则结束本次鉴别过程;
443.(7)、利用消息加密密钥计算encdata
req

444.(8)、计算mactag
req
;计算过程如图7实施例中所述。
445.s1020、req向aac发送第四鉴别响应消息reqauth。
446.所述reqauth中包括nonce
aac
、nonce
req
、encdata
req
和mactag
req
。其中,nonce
req
和nonce
aac
为可选字段,且应分别等于req生成的nonce
req
和aacinit中的nonce
aac
。encdata
req
的加密数据包括nonce
reqpub
,且nonce
reqpub
应等于req生成的nonce
reqpub

447.s1021、aac接收所述reqauth后,执行下述操作,包括:
448.(1)、若reqauth中存在nonce
req
,则检查所述nonce
req
与接收到的reqinit中的nonce
req
是否相同;若reqauth中存在nonce
aac
,检查所述nonce
aac
与aac生成的nonce
aac
是否相同;
449.(2)、验证mactag
req
;验证过程如图7实施例中所述;
450.(3)、利用消息加密密钥采用对称加密算法解密encdata
req
得到nonce
reqpub

451.(4)、将nonce
reqpub
与pub
req

nonce
reqpub
进行异或运算恢复pub
req

452.(5)、上述检查和验证均通过后,根据pub
req
中的res
req
确定req的身份鉴别结果;若上述检查与验证中任一步不通过,则立即丢弃reqauth。
453.需要说明的是,在s1017中计算sig
aac
的操作也可以改为在s1006中先行执行,即在s1006中,aac先对aacveri中的reqinit、id
aac
、cert
aac
进行签名计算生成sig
aac
,则s1006的aacveri中还包括sig
aac
,在s1007中,as-aac还需要验证sig
aac
,验证通过后再执行后续操作;此情形下,在s1017中aac则不用计算sig
aac
,相应的,s1018的aacauth中不包括sig
aac
,在s1019中req也不再验证sig
aac
,此时pub
aac
中可以不包括cert
aac

454.在上述各实施例中,每条消息还可以携带一个杂凑值hash
x_y
,该杂凑值hash
x_y
是该消息的发送方实体x利用hash算法对接收到的对端实体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
可以不存在或者无意义。
455.对应的,对端实体y接收到实体x发送的消息后,若该条消息中包含hash
x_y
,则当实体y未曾向实体x发送过前序消息时,实体y忽略hash
x_y
;当实体y曾向实体x发送过前序消息时,实体y利用杂凑算法对之前向实体x发送的最新前序消息在本地计算杂凑值,并与接收到的消息中携带的杂凑值hash
x_y
比较,若一致,则执行后续步骤,否则丢弃或者结束本次鉴别过程。
456.本发明中,对实体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发送的前序消息。
457.上述图7、图8、图9和图10对应实施例中的可选字段和可选操作,在说明书附图的图7、图8、图9和图10中用“*”表示。以上所有实施例中涉及的消息中所包括的各个内容不限定顺序,且在没有特别说明的情况下,不限定消息接收方收到消息后对相关消息的操作顺序以及对消息中所包括的内容进行处理的顺序。
458.基于图1至图10对应的实施例,参见图11,本技术实施例提供了一种鉴别接入控制器aac1100,包括:
459.获取单元1101,用于获取请求设备发送的身份密文消息,所述身份密文消息中包括所述请求设备的身份信息密文,所述身份信息密文是利用加密证书的公钥对包括所述请求设备的数字证书和第二密钥在内的加密数据加密生成的;
460.第一发送单元1102,用于向所述鉴别接入控制器信任的第一鉴别服务器发送第一鉴别请求消息,所述第一鉴别请求消息中包括所述请求设备的身份信息密文和所述鉴别接入控制器的数字证书;
461.第一接收单元1103,用于接收所述第一鉴别服务器发送的第一鉴别响应消息,所述第一鉴别响应消息中包括第一鉴别结果信息、第一数字签名、第二鉴别结果信息密文和第二数字签名,其中,所述第一鉴别结果信息中包括对所述鉴别接入控制器的数字证书的第一验证结果,所述第一数字签名是所述请求设备信任的第二鉴别服务器对包括所述第一鉴别结果信息在内的签名数据计算生成的数字签名,所述第二鉴别结果信息密文是利用所述第二密钥对包括第二鉴别结果信息在内的信息加密得到的,所述第二鉴别结果信息中包括对所述请求设备的数字证书的第二验证结果,所述第二数字签名是所述第一鉴别服务器对包括所述第二鉴别结果信息密文在内的签名数据计算生成的数字签名;
462.第一验证单元1104,用于利用所述第一鉴别服务器的公钥对所述第二数字签名进行验证;
463.第二发送单元1105,用于当所述第二数字签名验证通过时,向所述请求设备发送第三鉴别响应消息,所述第三鉴别响应消息中包括鉴别结果信息密文,所述鉴别结果信息密文是利用消息加密密钥对包括所述第一鉴别结果信息和所述第一数字签名在内的加密数据加密生成的;
464.第二接收单元1106,用于接收所述请求设备发送的第四鉴别响应消息,所述第四
鉴别响应消息中包括第二密钥密文,所述第二密钥密文是利用所述消息加密密钥对包括所述第二密钥在内的信息加密得到的;
465.解密单元1107,用于利用所述消息加密密钥解密所述第二密钥密文得到所述第二密钥,以及,利用所述第二密钥解密所述第二鉴别结果信息密文得到所述第二鉴别结果信息;
466.第一确定单元1108,用于根据所述第二鉴别结果信息中的第二验证结果确定所述请求设备的身份鉴别结果。
467.可选的,鉴别接入控制器还包括:
468.第三发送单元,用于向所述请求设备发送密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;获取单元1101获取的身份密文消息中还包括所述请求设备的密钥交换参数;
469.计算单元,用于根据包括所述鉴别接入控制器的密钥交换参数对应的临时私钥和所述请求设备的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥。
470.可选的,所述第三发送单元发送的密钥请求消息中还包括所述鉴别接入控制器生成的第一随机数,获取单元1101获取的身份密文消息中还包括请求设备生成的第二随机数;
471.则所述计算单元具体用于根据包括所述第一密钥、所述第一随机数和所述第二随机数在内的信息计算所述消息加密密钥。
472.可选的,获取单元1101获取的身份密文消息中还包括所述第一随机数;则所述鉴别接入控制器还包括:
473.第二验证单元,用于对所述身份密文消息中的第一随机数和所述鉴别接入控制器生成的第一随机数的一致性进行验证;
474.若验证通过,则所述计算单元再计算所述消息加密密钥。
475.可选的,所述第三发送单元发送的密钥请求消息中还包括所述鉴别接入控制器支持的安全能力参数信息,则获取单元1101获取的身份密文消息中还包括特定安全策略,所述特定安全策略是所述请求设备根据所述鉴别接入控制器支持的安全能力参数信息确定的。
476.可选的,所述第三发送单元发送的密钥请求消息中还包括所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识;获取单元1101获取的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识;则所述鉴别接入控制器还包括:
477.第二确定单元,用于根据所述身份密文消息中所述请求设备信任的至少一个鉴别服务器的身份标识和所述密钥请求消息中所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识,确定所述第一鉴别服务器。
478.可选的,获取单元1101获取的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识;则所述鉴别接入控制器还包括:
479.第三确定单元,用于根据所述请求设备信任的至少一个鉴别服务器的身份标识和所述鉴别接入控制器信任的鉴别服务器的身份标识,确定所述第一鉴别服务器。
480.可选的,第一发送单元1102发送的第一鉴别请求消息中还包括所述鉴别接入控制
器的身份标识和/或所述鉴别接入控制器生成的第一随机数;对应的,第一接收单元1103接收的第一鉴别响应消息中还包括所述鉴别接入控制器的身份标识和/或所述第一随机数;
481.则所述鉴别接入控制器还包括:
482.第三验证单元,用于对所述第一鉴别响应消息中的鉴别接入控制器的身份标识和所述鉴别接入控制器自身的身份标识的一致性进行验证,和/或,对所述第一鉴别响应消息中的所述第一随机数和所述鉴别接入控制器生成的第一随机数的一致性进行验证,验证通过后,第一确定单元1108再确定所述请求设备的身份鉴别结果。
483.可选的,获取单元1101获取的身份密文消息中还包括所述请求设备的数字签名,则第一确定单元1108还用于确定所述请求设备的数字签名是否验证通过,若确定所述请求设备的数字签名验证通过,则再根据所述第二验证结果确定所述请求设备的身份鉴别结果。
484.可选的,第一确定单元1108具体用于:
485.在解密单元1107解密所述第二鉴别结果信息密文得到的第二鉴别结果信息中还包括所述请求设备的数字证书时,利用所述请求设备的数字证书对所述请求设备的数字签名进行验证时,根据验证结果确定所述请求设备的数字签名是否验证通过;和/或,
486.所述第二鉴别服务器利用解密所述请求设备的身份信息密文得到的所述请求设备的数字证书对所述请求设备的数字签名进行验证,若第一接收单元1103接收到所述第一鉴别响应消息,则确定所述请求设备的数字签名已验证通过。
487.可选的,第二接收单元1106接收的第四鉴别响应消息中还包括所述请求设备的数字签名,解密单元1107利用所述第二密钥解密得到的所述第二鉴别结果信息中还包括所述请求设备的数字证书;则在第一确定单元1108确定所述请求设备的身份鉴别结果之前,第一确定单元1108还用于利用所述第二鉴别结果信息中的所述请求设备的数字证书对所述请求设备的数字签名进行验证,若验证通过,则再根据所述第二验证结果确定所述请求设备的身份鉴别结果。
488.可选的,第二发送单元1105发送的第三鉴别响应消息中还包括第一消息完整性校验码,所述第一消息完整性校验码是所述鉴别接入控制器利用消息完整性校验密钥对包括所述第三鉴别响应消息中除所述第一消息完整性校验码外的其他字段计算生成的;和/或,
489.第二接收单元1106接收的第四鉴别响应消息中还包括第二消息完整性校验码,所述第二消息完整性校验码是所述请求设备利用消息完整性校验密钥对包括所述第四鉴别响应消息中除所述第二消息完整性校验码外的其他字段计算生成的;则所述鉴别接入控制器还包括:
490.第四验证单元,用于利用消息完整性校验密钥验证所述第二消息完整性校验码,验证通过后,第一确定单元1108再根据所述第二验证结果确定所述请求设备的身份鉴别结果。
491.可选的,所述鉴别接入控制器向所述请求设备发送的消息还包括所述鉴别接入控制器对接收到的所述请求设备发送的最新前序消息计算的杂凑值;所述鉴别接入控制器向所述第一鉴别服务器发送的消息还包括所述鉴别接入控制器对接收到的所述第一鉴别服务器发送的最新前序消息计算的杂凑值。
492.参见图12,本技术实施例提供了一种请求设备req1200,包括:
493.第一发送单元1201,用于向鉴别接入控制器发送身份密文消息,所述身份密文消息中包括所述请求设备的身份信息密文,所述身份信息密文是利用加密证书的公钥对包括所述请求设备的数字证书和第二密钥在内的加密数据加密生成的;
494.第一接收单元1202,用于接收所述鉴别接入控制器发送的第三鉴别响应消息,所述第三鉴别响应消息中包括鉴别结果信息密文,所述鉴别结果信息密文是利用消息加密密钥对包括第一鉴别结果信息和第一数字签名在内的加密数据加密生成的;
495.第一解密单元1203,用于利用所述消息加密密钥对所述鉴别结果信息密文进行解密得到所述第一鉴别结果信息和所述第一数字签名;
496.第一验证单元1204,用于利用所述第二鉴别服务器的公钥对所述第一数字签名进行验证,若验证通过,则第一确定单元1205根据所述第一鉴别结果信息中的第一验证结果确定所述鉴别接入控制器的身份鉴别结果;当第一确定单元1205确定所述鉴别接入控制器的身份鉴别结果为合法时,第二发送单元1206向所述鉴别接入控制器发送第四鉴别响应消息;或者,
497.第一验证单元1204,用于利用所述第二鉴别服务器的公钥对所述第一数字签名进行验证,若验证通过,则第二发送单元1206向所述鉴别接入控制器发送第四鉴别响应消息以及第一确定单元1205根据所述第一鉴别结果信息中的第一验证结果确定所述鉴别接入控制器的身份鉴别结果;或者,
498.第一验证单元1204,用于利用所述第二鉴别服务器的公钥对所述第一数字签名进行验证;若所述第一数字签名验证通过,则第一确定单元1205根据所述第一鉴别结果信息中的第一验证结果确定所述鉴别接入控制器的身份鉴别结果;第二发送单元1206向所述鉴别接入控制器发送第四鉴别响应消息;
499.其中,所述第四鉴别响应消息中包括第二密钥密文,所述第二密钥密文是利用所述消息加密密钥对包括所述第二密钥在内的信息加密得到的。
500.可选的,所述请求设备还包括:
501.第二接收单元,用于接收所述鉴别接入控制器发送的密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
502.第一计算单元,用于根据包括所述请求设备的密钥交换参数对应的临时私钥和所述鉴别接入控制器的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥;
503.则第一发送单元1201发送的身份密文消息中还包括所述请求设备的密钥交换参数。
504.可选的,所述第二接收单元接收的密钥请求消息中还包括所述鉴别接入控制器生成的第一随机数;
505.所述第一计算单元具体用于根据包括所述第一密钥、所述第一随机数和所述请求设备生成的第二随机数在内的信息计算所述消息加密密钥;
506.则第一发送单元1201发送的身份密文消息中还包括所述第二随机数。
507.可选的,所述第二接收单元接收的密钥请求消息中还包括所述鉴别接入控制器支持的安全能力参数信息;所述请求设备还包括:
508.第二确定单元,用于根据所述安全能力参数信息确定所述请求设备使用的特定安
全策略;
509.则第一发送单元1201发送的身份密文消息中还包括所述特定安全策略。
510.可选的,所述第二接收单元接收的密钥请求消息中还包括所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识;所述请求设备还包括:
511.第三确定单元,用于根据所述鉴别接入控制器信任的至少一个鉴别服务器的身份标识,确定所述请求设备信任的至少一个鉴别服务器的身份标识;
512.则第一发送单元1201发送的身份密文消息中还包括所述请求设备信任的至少一个鉴别服务器的身份标识。
513.可选的,第一发送单元1201发送的身份密文消息中还包括所述请求设备生成的第二随机数,和/或,所述身份密文消息中的所述身份信息密文的加密数据还包括所述请求设备的身份标识和第三密钥;
514.则第一接收单元1202接收的第三鉴别响应消息中的鉴别结果信息密文的加密数据还包括所述第二随机数和/或所述请求设备的身份标识密文;
515.第一解密单元1203利用所述消息加密密钥对所述鉴别结果信息密文进行解密还得到所述第二随机数和/或所述请求设备的身份标识密文;
516.则所述请求设备还包括:
517.第二验证单元,用于将解密得到的所述第二随机数与所述请求设备生成的第二随机数进行一致性验证,和/或,用于根据所述请求设备自身的身份标识和所述第三密钥对所述请求设备的身份标识密文进行验证,若验证通过,第一确定单元1205再确定所述鉴别接入控制器的身份鉴别结果。
518.可选的,第一确定单元1205在确定所述鉴别接入控制器的身份鉴别结果之前,还用于确定所述鉴别接入控制器的数字签名是否验证通过,若确定所述鉴别接入控制器的数字签名验证通过,则再根据所述第一验证结果确定所述鉴别接入控制器的身份鉴别结果。
519.可选的,第一确定单元1205具体用于:
520.当所述鉴别接入控制器向其信任的第一鉴别服务器发送的第一鉴别请求消息中还包括所述鉴别接入控制器的数字签名时,所述第一鉴别服务器利用所述第一鉴别请求消息中的所述鉴别接入控制器的数字证书,对所述鉴别接入控制器的数字签名进行验证,若第一接收单元1202接收到所述第三鉴别响应消息,则确定所述鉴别接入控制器的数字签名已验证通过;和/或,
521.当所述第三鉴别响应消息中还包括所述鉴别接入控制器的数字签名时,所述第一鉴别结果信息中还包括所述鉴别接入控制器的数字证书;则第一确定单元1205利用所述第一鉴别结果信息中的所述鉴别接入控制器的数字证书对所述鉴别接入控制器的数字签名进行验证,根据验证结果确定所述鉴别接入控制器的数字签名是否验证通过。
522.可选的,第一接收单元1202接收的第三鉴别响应消息中还包括第一消息完整性校验码,所述第一消息完整性校验码是所述鉴别接入控制器利用消息完整性校验密钥对包括所述第三鉴别响应消息中除所述第一消息完整性校验码外的其他字段计算生成的;则所述请求设备还包括:
523.第三验证单元,用于利用消息完整性校验密钥验证所述第一消息完整性校验码,验证通过后,第一确定单元1205再根据所述第一验证结果确定所述鉴别接入控制器的身份
鉴别结果;和/或,
524.第二发送单元1206发送的第四鉴别响应消息中还包括第二消息完整性校验码,所述第二消息完整性校验码是所述请求设备利用消息完整性校验密钥对包括所述第四鉴别响应消息中除所述第二消息完整性校验码外的其他字段计算生成的。
525.可选的,所述请求设备向所述鉴别接入控制器发送的消息还包括所述请求设备对接收到的所述鉴别接入控制器发送的最新前序消息计算的杂凑值。
526.参见图13,本技术实施例提供了一种第一鉴别服务器as-aac1300,第一鉴别服务器as-aac1300为鉴别接入控制器信任的鉴别服务器,包括:
527.第一接收单元1301,用于接收鉴别接入控制器发送的第一鉴别请求消息,所述第一鉴别请求消息中包括请求设备的身份信息密文和所述鉴别接入控制器的数字证书;所述身份信息密文是利用加密证书的公钥对包括所述请求设备的数字证书和第二密钥在内的加密数据加密生成的;
528.第一发送单元1302,用于向所述鉴别接入控制器发送第一鉴别响应消息,所述第一鉴别响应消息中包括第一鉴别结果信息、第一数字签名、第二鉴别结果信息密文和第二数字签名,其中,所述第一鉴别结果信息中包括对所述鉴别接入控制器的数字证书的第一验证结果,所述第一数字签名是所述请求设备信任的第二鉴别服务器对包括所述第一鉴别结果信息在内的签名数据计算生成的数字签名,所述第二鉴别结果信息密文是利用第二密钥对包括第二鉴别结果信息在内的信息加密得到的,所述第二鉴别结果信息中包括对所述请求设备的数字证书的第二验证结果,所述第二数字签名是所述第一鉴别服务器对包括所述第二鉴别结果信息密文在内的签名数据计算生成的数字签名。
529.可选的,所述鉴别接入控制器信任的第一鉴别服务器和所述请求设备信任的第二鉴别服务器是同一个鉴别服务器,则所述第一鉴别服务器还包括:
530.第一解密单元,用于利用加密证书对应的私钥对所述请求设备的身份信息密文进行解密,得到所述请求设备的数字证书和所述第二密钥;
531.第一验证单元,用于对所述鉴别接入控制器的数字证书进行合法性验证得到第一验证结果,对所述请求设备的数字证书进行合法性验证得到第二验证结果;
532.第一生成单元,用于根据包括所述第一验证结果在内的信息生成所述第一鉴别结果信息,根据包括所述第二验证结果在内的信息生成所述第二鉴别结果信息,利用所述第二密钥对包括所述第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括所述第一鉴别结果信息在内的签名数据计算生成第一数字签名,对包括所述第二鉴别结果信息密文在内的签名数据计算生成第二数字签名,根据包括所述第一鉴别结果信息、所述第一数字签名、所述第二鉴别结果信息密文和所述第二数字签名在内的信息生成所述第一鉴别响应消息。
533.可选的,所述鉴别接入控制器信任的第一鉴别服务器和所述请求设备信任的第二鉴别服务器是两个不同的鉴别服务器,则所述第一鉴别服务器还包括:
534.第二验证单元,用于对所述鉴别接入控制器的数字证书进行合法性验证得到第一验证结果;
535.第二生成单元,用于根据包括所述第一验证结果在内的信息生成所述第一鉴别结果信息,对包括所述第一鉴别结果信息和所述请求设备的身份信息密文在内的签名数据计
算生成第三数字签名;
536.第二发送单元,用于向第二鉴别服务器发送第二鉴别请求消息,所述第二鉴别请求消息中包括所述第一鉴别结果信息、所述请求设备的身份信息密文和所述第三数字签名;
537.第二接收单元,用于接收第二鉴别服务器发送的第二鉴别响应消息,所述第二鉴别响应消息中包括所述第一鉴别结果信息、所述第一数字签名、所述第二鉴别结果信息密文和第四数字签名,所述第四数字签名是所述第二鉴别服务器对包括所述第二鉴别结果信息密文在内的签名数据计算生成的数字签名;
538.第三验证单元,用于利用所述第二鉴别服务器的公钥验证所述第四数字签名;
539.第三生成单元,用于当所述第四数字签名验证通过时,对包括所述第二鉴别结果信息密文在内的签名数据计算生成第二数字签名,根据包括所述第一鉴别结果信息、所述第一数字签名、所述第二鉴别结果信息密文和所述第二数字签名在内的信息生成所述第一鉴别响应消息。
540.可选的,所述第一鉴别服务器向所述鉴别接入控制器发送的消息还包括所述第一鉴别服务器对接收到的所述鉴别接入控制器发送的最新前序消息计算的杂凑值;所述第一鉴别服务器向所述第二鉴别服务器发送的消息还包括所述第一鉴别服务器对接收到的所述第二鉴别服务器发送的最新前序消息计算的杂凑值。
541.参见图14,本技术实施例提供了一种第二鉴别服务器as-req1400,第二鉴别服务器as-req1400为请求设备信任的鉴别服务器,若鉴别接入控制器信任的第一鉴别服务器和所述请求设备信任的第二鉴别服务器是两个不同的鉴别服务器,则第二鉴别服务器as-req1400包括:
542.接收单元1401,用于接收所述第一鉴别服务器发送的第二鉴别请求消息,所述第二鉴别请求消息中包括第一鉴别结果信息、所述请求设备的身份信息密文和第三数字签名;所述第三数字签名是所述第一鉴别服务器对包括所述第一鉴别结果信息和所述请求设备的身份信息密文在内的签名数据计算生成的数字签名;所述身份信息密文是利用加密证书的公钥对包括所述请求设备的数字证书和第二密钥在内的加密数据加密生成的;
543.验证单元1402,用于利用所述第一鉴别服务器的公钥对所述第三数字签名进行验证;
544.解密单元1403,用于当所述第三数字签名验证通过时,利用加密证书对应的私钥对所述请求设备的身份信息密文进行解密得到所述请求设备的数字证书和所述第二密钥;
545.验证单元1402还用于对所述请求设备的数字证书进行合法性验证得到第二验证结果;
546.生成单元1404,用于根据包括所述第二验证结果在内的信息生成所述第二鉴别结果信息,利用所述第二密钥对包括所述第二鉴别结果信息在内的信息加密生成第二鉴别结果信息密文,对包括所述第一鉴别结果信息在内的签名数据计算生成第一数字签名,对包括所述第二鉴别结果信息密文在内的签名数据计算生成第四数字签名;
547.发送单元1405,用于向所述第一鉴别服务器发送第二鉴别响应消息,所述第二鉴别响应消息中包括所述第一鉴别结果信息、所述第一数字签名、所述第二鉴别结果信息密文和所述第四数字签名。
548.可选的,所述第二鉴别服务器向所述第一鉴别服务器发送的消息还包括所述第二鉴别服务器对接收到的所述第一鉴别服务器发送的最新前序消息计算的杂凑值。
549.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
550.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其与方法实施例相一致和对应,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
551.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
再多了解一些

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

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

相关文献