1.本技术涉及网络通信安全技术领域,特别是涉及一种身份鉴别方法和装置。
背景技术:2.在通信网络中,请求设备可以通过鉴别接入控制器访问网络。在一些对安全性需求较高的情况下,鉴别接入控制器需要对请求设备的身份进行鉴别,并且请求设备也需要对鉴别接入控制器的身份进行鉴别,以确保访问网络的请求设备属于合法用户,和/或,请求设备访问的网络属于合法网络。此外,在区块链技术中的点对点传输,也需要在不同节点之间建立信任关系,因此对于节点的身份鉴别也是十分重要的。
3.在对请求设备和鉴别接入控制器的身份鉴别过程中,请求设备和鉴别接入控制器均需要提供自身的身份信息用于身份鉴别。然而,这类身份信息一般携带了私密、敏感的信息,诸如身份证号、家庭住址、银行卡信息、地理位置信息、所属机构信息等私密信息,并且在实际应用过程中,这类身份信息通常会包含在数字证书中,以数字证书作为实体的身份凭证。
4.若在请求设备与鉴别接入控制器的身份鉴别过程中,请求设备或鉴别接入控制器的身份信息被攻击者截获用于非法用途,则会对鉴别接入控制器、请求设备及网络造成极大的安全隐患。
技术实现要素:5.为了解决上述技术问题,本技术提供了一种身份鉴别方法和装置,在保障实体身份和相关信息机密性的同时,实现了鉴别接入控制器和请求设备之间双向或单向的身份鉴别,从而确保访问网络的用户是合法的,和/或,用户访问的网络是合法的。
6.本技术实施例公开了如下技术方案:
7.第一方面,本技术实施例提供了一种身份鉴别方法,包括:
8.鉴别接入控制器和请求设备中任一方作为被验证方,则另一方作为对应的验证方;
9.被验证方向验证方发送被验证方的身份鉴别请求消息,所述被验证方的身份鉴别请求消息中包括所述被验证方的身份信息密文和所述被验证方的数字签名,所述被验证方的身份信息密文是所述被验证方利用消息加密密钥对包括所述被验证方的数字证书在内的加密数据加密生成的;
10.所述验证方接收所述被验证方的身份鉴别请求消息,利用所述消息加密密钥对所述被验证方的身份信息密文进行解密得到所述被验证方的数字证书;
11.所述验证方根据所述被验证方的数字证书和所述被验证方的数字签名,验证所述被验证方的身份合法性,得到所述被验证方的身份验证结果。
12.第二方面,本技术实施例提供了一种鉴别接入控制器,所述鉴别接入控制器包括请求单元和验证单元中的至少一个单元;
13.所述请求单元,用于向请求设备发送所述鉴别接入控制器的身份鉴别请求消息,所述鉴别接入控制器的身份鉴别请求消息中包括所述鉴别接入控制器的身份信息密文和所述鉴别接入控制器的数字签名,所述鉴别接入控制器的身份信息密文是所述鉴别接入控制器利用消息加密密钥对包括所述鉴别接入控制器的数字证书在内的加密数据加密生成的;
14.所述验证单元,用于接收所述请求设备的身份鉴别请求消息,所述请求设备的身份鉴别请求消息中包括所述请求设备的身份信息密文和所述请求设备的数字签名,所述请求设备的身份信息密文是所述请求设备利用消息加密密钥对包括所述请求设备的数字证书在内的加密数据加密生成的;利用所述消息加密密钥对所述请求设备的身份信息密文进行解密得到所述请求设备的数字证书;根据所述请求设备的数字证书和所述请求设备的数字签名,验证所述请求设备的身份合法性得到所述请求设备的身份验证结果。
15.第三方面,本技术实施例提供了一种请求设备,所述请求设备包括请求单元和验证单元中的至少一个单元;
16.所述请求单元,用于向鉴别接入控制器发送所述请求设备的身份鉴别请求消息,所述请求设备的身份鉴别请求消息中包括所述请求设备的身份信息密文和所述请求设备的数字签名,所述请求设备的身份信息密文是所述请求设备利用消息加密密钥对包括所述请求设备的数字证书在内的加密数据加密生成的;
17.所述验证单元,用于接收所述鉴别接入控制器的身份鉴别请求消息,所述鉴别接入控制器的身份鉴别请求消息中包括所述鉴别接入控制器的身份信息密文和所述鉴别接入控制器的数字签名,所述鉴别接入控制器的身份信息密文是所述鉴别接入控制器利用消息加密密钥对包括所述鉴别接入控制器的数字证书在内的加密数据加密生成的;利用所述消息加密密钥对所述鉴别接入控制器的身份信息密文进行解密得到所述鉴别接入控制器的数字证书;根据所述鉴别接入控制器的数字证书和所述鉴别接入控制器的数字签名,验证所述鉴别接入控制器的身份合法性得到所述鉴别接入控制器的身份验证结果。
18.由上述技术方案可以看出,在请求设备和鉴别接入控制器之间传输身份信息时,即在验证方和被验证方之间传输被验证方的身份信息时,对被验证方的身份信息进行保密传输,防止被验证方的身份信息在传输过程中暴露;由此在请求设备与接入控制器之间的身份鉴别的整体过程中,保证攻击者无法获得私密、敏感信息,避免攻击者将私密、敏感信息用于非法用途,在保障实体身份相关信息机密性的同时,实现了鉴别接入控制器和请求设备之间双向或单向的身份鉴别,从而确保访问网络的用户是合法的,和/或,用户访问的网络是合法的。
附图说明
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1为本技术实施例提供的一种身份鉴别方法的示意图;
21.图2为本技术实施例提供的一种请求设备req和鉴别接入控制器aac协商消息加密
密钥的方法的示意图;
22.图3为本技术实施例提供的一种双向身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
23.图4为本技术实施例提供的另一种双向身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
24.图5为本技术实施例提供的一种单向身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
25.图6为本技术实施例提供的另一种单向身份鉴别方法的示意图,其中“*”表示可选的字段或可选的操作;
26.图7为本技术实施例提供的一种鉴别接入控制器aac的结构框图;
27.图8为本技术实施例提供的另一种鉴别接入控制器aac的结构框图;
28.图9为本技术实施例提供的又一种鉴别接入控制器aac的结构框图;
29.图10为本技术实施例提供的一种请求设备req的结构框图;
30.图11为本技术实施例提供的另一种请求设备req的结构框图;
31.图12为本技术实施例提供的又一种请求设备req的结构框图。
具体实施方式
32.在通信网络中,请求设备可以通过鉴别接入控制器访问网络,为了确保访问网络的请求设备属于合法用户,和/或,请求设备访问的网络为合法网络,鉴别接入控制器和请求设备之间需要进行双向或单向的身份鉴别。
33.以目前的无线通信和移动通信场景为例,在请求设备通过鉴别接入控制器接入无线网络的场景下,请求设备可以为手机、个人数字助理(personal digital assistant,简称pda)、平板电脑等终端设备,鉴别接入控制器可以是无线接入点、无线路由器等网络侧设备。在请求设备通过鉴别接入控制器接入有线网络的场景下,请求设备可以为台式机、笔记本电脑等终端设备,鉴别接入控制器可以是交换机或路由器等网络侧设备。在请求设备通过鉴别接入控制器接入第四/五代移动通信技术(the 4th/5th generation mobile communication technology,简称4g/5g)网络的场景下,请求设备可以为手机、平板电脑等终端设备,鉴别接入控制器可以为基站等网络侧设备。当然,本技术同样适用于其他有线网络、近距离通信网络等各种数据通信场景。
34.然而,在对请求设备和/或鉴别接入控制器进行身份鉴别的过程中,请求设备和/或鉴别接入控制器需要提供自身的身份信息用于身份鉴别,其身份信息中一般携带了私密、敏感信息。由于这类身份信息通常可以包含在数字证书中,若攻击者截获了该数字证书,便可将其中的私密、敏感信息用于非法用途,则会对鉴别接入控制器、请求设备甚至网络造成极大的安全隐患。
35.为了解决上述技术问题,本技术实施例提供了一种身份鉴别方法。在该方法中,将鉴别接入控制器和请求设备中的任一方作为被验证方,相应地将另一方作为对应的验证方,鉴别接入控制器与请求设备通过协商生成消息加密密钥;被验证方向验证方发送被验证方的身份鉴别请求消息,被验证方的身份鉴别请求消息中包括被验证方的身份信息密文和被验证方的数字签名,被验证方的身份信息密文是被验证方利用所述消息加密密钥对包
括被验证方的数字证书在内的加密数据加密生成的;验证方接收到被验证方的身份鉴别请求消息后,利用所述消息加密密钥对被验证方的身份信息密文进行解密,得到被验证方的数字证书;进而,验证方根据被验证方的数字证书和被验证方的数字签名,验证被验证方的身份合法性,得到被验证方的身份验证结果。
36.本技术实施例提供的身份鉴别方法既可以实现鉴别接入控制器与请求设备之间的双向身份鉴别(mutual identity authentication,简称mia),也可以实现鉴别接入控制器对请求设备的单向身份鉴别(req authentication with an unauthenticated aac,简称raua),还可以实现请求设备对鉴别接入控制器的单向身份鉴别(aac authentication with an unauthenticated req,简称aaur)。
37.为便于介绍,在本技术实施例中,将以请求设备(requester,简称req),鉴别接入控制器(authentication access controller,简称aac)为例,对本技术的身份鉴别方法进行介绍。
38.其中,req可以是参与身份鉴别过程的一个端点,与aac建立连接,访问aac提供的服务;req持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥。aac可以是参与身份鉴别过程的另一个端点,与req建立连接,提供服务,并与req通信;aac持有符合iso/iec 9594-8/itu x.509、其他标准或其他技术体系规定的数字证书和数字证书对应的私钥。req和aac均能验证对端实体数字证书的合法性。
39.需要说明的是,在本技术的一种可能的实现方式中,可以将req作为被验证方,将aac作为对应的验证方,以及将aac作为被验证方,将req作为对应的验证方。利用aac对req的身份合法性进行验证,利用req对aac的身份合法性进行验证,即实现req和aac之间的双向身份验证。
40.具体实现时,可以先将aac作为验证方,在确定req的身份合法之后,再将aac作为被验证方,向req发送aac的身份鉴别请求消息。此外,也可以先将req作为验证方,在确定aac的身份合法之后,再将req作为被验证方,向aac发送req的身份鉴别请求消息。
41.在另一种可能的实现方式中,可以将req作为被验证方,将aac作为对应的验证方。利用aac对req的身份合法性进行验证,实现对req的单向身份验证。
42.在又一种可能的实现方式中,可以将aac作为被验证方,将req作为对应的验证方,利用req对aac的身份合法性进行验证,实现对aac的单向身份验证。
43.下面结合图1,以上述验证方和被验证方作为执行主体,对本技术实施例提供的一种身份鉴别方法进行介绍,该方法包括:
44.s101、被验证方向验证方发送被验证方的身份鉴别请求消息。
45.被验证方的身份鉴别请求消息中包括被验证方的身份信息密文和被验证方的数字签名;其中,被验证方的身份信息密文是被验证方利用消息加密密钥采用对称加密算法对包括被验证方的数字证书在内的加密数据加密生成的;被验证方的数字签名的签名数据包括被验证方的身份信息密文。本技术中,将被加密的对象称为加密数据,将被签名的对象称为签名数据。
46.其中,消息加密密钥可以是验证方和被验证方协商得到的,即消息加密密钥是aac和req协商得到的,aac和req协商消息加密密钥的实现方式在后续实施例中介绍;消息加密密钥也可以是req和aac预先共享的。
47.当被验证方为req,验证方为aac时,req向aac发送req的身份鉴别请求消息,req的身份鉴别请求消息中包括req的身份信息密文encdata
req
和req的数字签名sig
req
。其中,encdata
req
是req利用消息加密密钥采用对称加密算法对包括req的数字证书cert
req
在内的加密数据加密生成的,由此在req和aac之间传输身份信息的过程中,对req的身份信息进行保密处理,防止req的身份信息在传输过程中暴露。sig
req
的签名数据包括encdata
req
。
48.当被验证方为aac,验证方为req时,aac向req发送aac的身份鉴别请求消息,aac的身份鉴别请求消息中包括aac的身份信息密文encdata
aac
和aac的数字签名sig
aac
。其中,encdata
aac
是aac利用消息加密密钥采用对称加密算法对包括aac的数字证书cert
aac
在内的加密数据加密生成的,由此在req和aac之间传输身份信息的过程中,对aac的身份信息进行保密处理,防止aac的身份信息在传输过程中暴露。sig
aac
的签名数据包括encdata
aac
。
49.s102、验证方接收被验证方的身份鉴别请求消息,利用消息加密密钥对被验证方的身份信息密文进行解密得到被验证方的数字证书。
50.由于被验证方的身份鉴别请求消息中的身份信息密文是被验证方利用消息加密密钥采用对称加密算法对包括被验证方的数字证书在内的加密数据加密得到的,并且该消息加密密钥是验证方和被验证方均知晓的。因此,验证方接收到被验证方的身份鉴别请求消息后,可以利用消息加密密钥,采用对称加密算法解密被验证方的身份信息密文得到被验证方的数字证书。
51.当被验证方为req,验证方为aac时,aac接收到req发送的req的身份鉴别请求消息后,利用消息加密密钥,采用对称加密算法对req的身份鉴别请求消息中的encdata
req
解密得到cert
req
。
52.当被验证方为aac,验证方为req时,req接收到aac发送的aac的身份鉴别请求消息后,利用消息加密密钥,采用对称加密算法对aac的身份鉴别请求消息中的encdata
aac
解密得到cert
aac
。
53.s103、验证方根据被验证方的数字证书和被验证方的数字签名,验证被验证方的身份合法性,得到被验证方的身份验证结果。
54.验证方对被验证方的身份合法性进行验证的过程包括:先利用被验证方的数字证书对身份鉴别请求消息中的被验证方的数字签名进行验证,在被验证方的数字签名验证通过后,再对被验证方的数字证书进行合法性验证,生成被验证方的身份验证结果,根据被验证方的身份验证结果确定被验证方的身份是否合法。或者,先对被验证方的数字证书进行合法性验证,生成被验证方的身份验证结果,再利用被验证方的数字证书对身份鉴别请求消息中的被验证方的数字签名进行验证,在被验证方的数字签名验证通过后,根据被验证方的身份验证结果确定被验证方的身份是否合法。
55.具体的,当被验证方为req,验证方为aac时,aac利用解密encdata
req
得到的cert
req
对sig
req
进行验证,若sig
req
验证通过,则aac对cert
req
的合法性进行验证,生成req的身份验证结果res
req
,根据res
req
确定req是否合法,从而保证合法的req才能访问网络;若sig
req
验证未通过,则aac丢弃req的身份鉴别请求消息。
56.或者,aac对解密encdata
req
得到的cert
req
的合法性进行验证,生成req的身份验证结果res
req
。若res
req
表明req合法时,再对sig
req
进行验证,若sig
req
验证通过,则保证了合法的req才能访问网络;若sig
req
验证未通过,则aac丢弃req的身份鉴别请求消息。若res
req
表
明req不合法时,则aac丢弃req的身份鉴别请求消息。
57.当被验证方为aac,验证方为req时,req利用解密encdata
aac
得到的cert
aac
对sig
aac
进行验证,若sig
aac
验证通过,则req对cert
aac
的合法性进行验证,生成aac的身份验证结果res
aac
,根据res
aac
确定aac是否合法,从而保证访问的网络为合法网络;若sig
aac
验证未通过,则req丢弃aac的身份鉴别请求消息。
58.或者,req对解密encdata
aac
得到的cert
aac
的合法性进行验证,生成aac的身份验证结果res
aac
。若res
aac
表明aac合法时,再对sig
aac
进行验证,若sig
aac
验证通过,则保证了访问的网络为合法网络;若sig
aac
验证未通过,则req丢弃aac的身份鉴别请求消息。若res
aac
表明aac不合法时,则req丢弃aac的身份鉴别请求消息。
59.由上述技术方案可以看出,在请求设备和鉴别接入控制器之间传输身份信息时,即在验证方和被验证方之间传输被验证方的身份信息时,对被验证方的身份信息进行保密处理,防止被验证方的身份信息在传输过程中暴露;由此在请求设备与鉴别接入控制器的身份鉴别过程中,保证攻击者无法获得私密、敏感信息,避免攻击者将私密、敏感信息用于非法用途,在保障实体身份相关信息机密性的同时,实现了鉴别接入控制器和请求设备之间双向或单向的身份鉴别,从而确保访问网络的用户是合法的,和/或,用户访问的网络是合法的。
60.以上实施例中,验证方和被验证方使用的消息加密密钥可以是二者协商得到的,因此本实施例还提供了一种协商消息加密密钥的方法。参见图2,对req和aac协商消息加密密钥的方法进行说明,所述方法包括:
61.s201、aac向req发送密钥请求消息aacinit。
62.所述aacinit中包括aac的密钥交换参数keyinfo
aac
。keyinfo
aac
包括aac的临时公钥,其中,密钥交换是指如迪菲
·
赫尔曼(diffie-hellman,简称dh)等密钥交换算法。所述aacinit中还可以包括aac生成的第一随机数nonce
aac
。
63.此外,所述aacinit中还可以包括security capabilities
aac
,security capabilities
aac
表示aac支持的安全能力参数信息,包括aac支持的身份鉴别套件(身份鉴别套件中包含一种或多种身份鉴别方法)、对称加密算法、完整性校验算法和/或密钥导出算法等,以供req选择使用的特定安全策略,则req可以根据security capabilities
aac
选择req使用的特定安全策略security capabilities
req
。security capabilities
req
表示req相应确定使用的身份鉴别方法、对称加密算法、完整性校验算法和/或密钥导出算法等。
64.s202、req根据包括req的密钥交换参数keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算消息加密密钥。
65.若所述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的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。
66.s203、req向aac发送req的身份鉴别请求消息reqinit,或者发送密钥响应消息reqinit。
67.所述reqinit中包括keyinfo
req
,以便aac根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥在内的信息计算得到消息加密密钥。其中,keyinfo
aac
对应的临时私钥是aac产生的对应于aac的临时公钥的临时私钥,即所述临时公钥和临时私钥是一对临时公私钥对。其中,请求设备的身份鉴别请求消息与密钥响应消息的区别在于,请求设备的身份鉴别请求消息中还包括请求设备的身份信息密文和请求设备的数字签名,在协商消息加密密钥的过程中,二者均可以用于传输计算消息加密密钥所需的参数。
68.所述reqinit中还可以包括security capabilities
req
。所述reqinit中还可以包括nonce
req
,以便aac根据包括keyinfo
aac
对应的临时私钥、keyinfo
req
所包括的临时公钥、nonce
aac
和nonce
req
在内的信息计算得到该消息加密密钥。
69.所述reqinit中还可以包括nonce
aac
,则aac在计算消息加密密钥之前,可以将接收到的reqinit中的nonce
aac
和aac生成的nonce
aac
进行一致性验证。若验证通过,则aac再计算消息加密密钥;若验证不通过,则aac丢弃接收到的reqinit。
70.s204、aac根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成所述第一密钥,根据包括所述第一密钥在内的信息利用所述密钥导出算法计算消息加密密钥。
71.若所述reqinit中还包括nonce
req
,则aac可以根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成所述第一密钥k1,将k1结合包括nonce
aac
和nonce
req
在内的信息,利用协商或预置的密钥导出算法计算该消息加密密钥。其中,协商的密钥导出算法可以是aac根据req发送的security capabilities
req
而选择使用的密钥导出算法。
72.需要说明的是,图2实施例中,req和aac也可以生成消息完整性校验密钥,req和aac各自生成消息完整性校验密钥的方式和图2实施例示例的req和aac各自生成消息加密密钥的方式相同。
73.例如,aac可以通过图2实施例的方式利用密钥导出算法导出一串密钥数据,该密钥数据既可以作为消息加密密钥又可以作为消息完整性校验密钥,或者,将该密钥数据中的一部分密钥数据作为消息加密密钥,将另一部分密钥数据作为消息完整性校验密钥;aac也可以通过图2实施例的方式利用密钥导出算法分次导出两串相同或不同的密钥数据,一串作为消息加密密钥,一串作为消息完整性校验密钥。
74.req可以通过图2实施例的方式利用密钥导出算法导出一串密钥数据,该密钥数据既可以作为消息加密密钥又可以作为消息完整性校验密钥,或者,将该密钥数据中的一部分密钥数据作为消息加密密钥,将另一部分密钥数据作为消息完整性校验密钥;req也可以通过图2实施例的方式利用密钥导出算法分次导出两串相同或不同的密钥数据,一串作为消息加密密钥,一串作为消息完整性校验密钥。
75.当aac和req任一方作为被验证方时,被验证方的身份鉴别请求消息中还可以包括被验证方的消息完整性校验码,被验证方的消息完整性校验码是被验证方利用消息完整性校验密钥对包括被验证方的身份鉴别请求消息中除被验证方的消息完整性校验码外的其他字段计算生成的。相应地,验证方验证被验证方的消息完整性校验码,若验证通过,验证
capabilities
req
才存在;security capabilities
req
表示req根据security capabilites
aac
作出的特定安全策略的选择,即req相应确定使用的身份鉴别方法、对称加密算法、完整性校验算法和/或密钥导出算法等(全文同)。encdata
req
的加密数据包括cert
req
;sig
req
的签名数据包括reqinit中sig
req
之前的其他字段,当reqinit中不包括nonce
aac
字段时,sig
req
的签名数据还包括aacinit中的nonce
aac
字段;mactag
req
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括reqinit中除mactag
req
外的其他字段在内的信息计算生成mactag
req
。
87.s305、aac接收所述reqinit后,执行下述操作(若无特别说明或逻辑上的关系,本文中以(1)、(2)
……
编号的动作并不因为有编号而存在必然的先后顺序。全文同),包括:
88.(1)、若reqinit中存在nonce
aac
,则检查所述nonce
aac
与aac生成的nonce
aac
是否相同;
89.(2)、根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;
90.(3)、验证mactag
req
;
91.验证过程为:aac利用消息完整性校验密钥采用完整性校验算法对包括reqinit中除mactag
req
外的其他字段在内的信息在本地计算mactag
req
(该计算方式与req计算mactag
req
的方式相同),并将计算的mactag
req
与接收到的reqinit中的mactag
req
进行比较。
92.(4)、利用消息加密密钥解密encdata
req
获得cert
req
;
93.(5)、利用解密得到的cert
req
验证sig
req
;
94.(6)、若上述检查和验证中任一步不通过,则立即丢弃reqinit;上述检查和验证均通过后,验证cert
req
的合法性得到req的身份验证结果res
req
;若确定req为不合法时,则结束本次鉴别过程;
95.(7)、利用消息加密密钥采用对称加密算法计算aac的身份信息密文encdata
aac
;
96.(8)、计算数字签名sig
aac
;
97.(9)、利用消息完整性校验密钥计算生成消息完整性校验码mactag
aac
。
98.s306、aac向req发送aac的身份鉴别请求消息aacauth。
99.所述aacauth中包括nonce
aac
、nonce
req
、encdata
aac
、sig
aac
和mactag
aac
。其中,nonce
req
和nonce
aac
为可选字段,且应分别等于reqinit中的nonce
req
、aac生成的nonce
aac
。encdata
aac
的加密数据包括cert
aac
;sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段。mactag
aac
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段在内的信息计算生成mactag
aac
。
100.需要说明的是,当aac确定req为合法时,执行s306;当aac确定req为不合法时,则aac根据本地策略选择是否执行s306,考虑到效率,优选方案为不执行且结束本次鉴别过程。
101.s307、req接收所述aacauth后,执行下述操作,包括:
102.(1)、若aacauth中存在nonce
aac
,则检查nonce
aac
与aacinit中的nonce
aac
是否一致;和/或,若aacauth中存在nonce
req
,则检查nonce
req
与req生成的nonce
req
是否一致;
103.(2)、验证mactag
aac
;
104.验证过程为:req利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段在内的信息在本地计算生成mactag
aac
(该计算方式与aac计算mactag
aac
的方式相同),并将计算得到的mactag
aac
与接收到的aacauth中的mactag
aac
进行比较。
105.(3)、利用消息加密密钥采用对称加密算法解密encdata
aac
得到cert
aac
;
106.(4)、利用解密得到的cert
aac
验证sig
aac
;
107.(5)、上述检查和验证均通过后,验证cert
aac
的合法性得到aac的身份验证结果res
aac
;上述检查和验证中任一步不通过,则立即丢弃aacauth。
108.参见图4,为双向身份鉴别情况下先鉴别aac后鉴别req的身份鉴别方法。其中,req和aac之间的消息加密密钥协商过程被融合到了身份鉴别过程中,更便于工程实施。该方法包括:
109.s401、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac
。
110.s402、aac向req发送密钥请求消息aacinit。
111.所述aacinit中包括nonce
aac
、keyinfo
aac
和security capabilities
aac
。其中,security capabilities
aac
为可选字段。
112.s403、req生成nonce
req
和keyinfo
req
,根据需要生成security capabilities
req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥。
113.s404、req向aac发送密钥响应消息reqinit。
114.所述reqinit中包括nonce
aac
、nonce
req
、security capabilities
req
和keyinfo
req
。其中,security capabilities
req
为可选字段,nonce
aac
应等于aacinit中的相应字段。
115.s405、aac接收所述reqinit后,执行下述操作,包括:
116.(1)、检查reqinit中的nonce
aac
与aac生成的nonce
aac
是否相同,若不同,则丢弃reqinit;
117.(2)、根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;
118.(3)、利用消息加密密钥采用对称加密算法计算aac的身份信息密文encdata
aac
;
119.(4)、计算数字签名sig
aac
;
120.(5)、利用消息完整性校验密钥计算消息完整性校验码mactag
aac
。
121.s406、aac向req发送aac的身份鉴别请求消息aacauth。
122.所述aacauth中包括nonce
aac
、nonce
req
、encdata
aac
、sig
aac
和mactag
aac
。其中,nonce
req
和nonce
aac
为可选字段,且应分别等于reqinit中的nonce
req
、aac生成的nonce
aac
。encdata
aac
的加密数据包括cert
aac
;sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段。mactag
aac
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括aacauth
中除mactag
aac
外的其他字段在内的信息计算生成mactag
aac
。
123.s407、req接收所述aacauth后,执行下述操作,包括:
124.(1)、若aacauth中存在nonce
aac
,则检查nonce
aac
是否与aacinit中的nonce
aac
一致;和/或,若aacauth中存在nonce
req
,则检查nonce
req
是否与req生成的nonce
req
一致;
125.(2)、验证mactag
aac
;
126.验证过程为:req利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段在内的信息在本地计算生成mactag
aac
,并将计算的mactag
aac
与接收到的aacauth中的mactag
aac
进行比较。
127.(3)、利用消息加密密钥采用对称加密算法解密aac的身份信息密文encdata
aac
得到cert
aac
;
128.(4)、利用解密得到的cert
aac
验证sig
aac
;
129.(5)、若上述检查和验证中任一步不通过,则立即丢弃aacauth;上述检查和验证均通过后,验证cert
aac
的合法性得到aac的身份验证结果res
aac
;若确定aac为不合法时,则结束本次鉴别过程;
130.(6)、利用消息加密密钥采用对称加密算法计算req的身份信息密文encdata
req
;
131.(7)、计算数字签名sig
req
;
132.(8)、利用消息完整性校验密钥计算生成消息完整性校验码mactag
req
。
133.s408、req向aac发送req的身份鉴别请求消息reqauth。
134.所述reqauth中包括nonce
aac
、nonce
req
、encdata
req
、sig
req
和mactag
req
。其中,nonce
aac
和nonce
req
为可选字段,且应分别等于aacinit中的nonce
aac
、req生成的nonce
req
。encdata
req
的加密数据包括cert
req
;sig
req
的签名数据包括reqauth中sig
req
之前的其他字段。mactag
req
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括reqauth中除mactag
req
外的其他字段在内的信息计算生成mactag
req
。
135.需要说明的是,当req确定aac为合法时,执行s408;当req确定aac为不合法时,则req根据本地策略选择是否执行s408,考虑到效率,优选方案为不执行且结束本次鉴别过程。
136.s409、aac接收所述reqauth后,执行下述操作,包括:
137.(1)、若reqauth中存在nonce
aac
,则检查nonce
aac
和aac生成的nonce
aac
是否一致;和/或,若reqauth中存在nonce
req
,则检查nonce
req
和reqinit中的nonce
req
是否一致;
138.(2)、验证mactag
req
;
139.验证过程为:aac利用消息完整性校验密钥采用完整性校验算法对包括reqauth中除mactag
req
外的其他字段在内的信息在本地计算生成mactag
req
,并将计算的mactag
req
和接收到的reqauth中的mactag
req
进行比较。
140.(3)、利用消息加密密钥采用对称加密算法解密encdata
req
得到cert
req
;
141.(4)、利用解密得到的cert
req
验证sig
req
;
142.(5)、上述检查和验证均通过后,验证cert
req
的合法性得到req的身份验证结果res
req
;上述检查和验证中任一步不通过,则立即丢弃reqauth。
143.参见图5,为单向身份鉴别情况下单向鉴别req的身份鉴别方法。其中,req和aac之间的消息加密密钥协商过程被并行地融合到了身份鉴别过程中,更便于工程实施。该方法
包括:
144.s501、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac
。
145.s502、aac向req发送密钥请求消息aacinit。
146.所述aacinit中包括nonce
aac
、keyinfo
aac
和security capabilities
aac
。其中,security capabilities
aac
为可选字段。
147.s503、req生成nonce
req
和keyinfo
req
,根据需要生成security capabilities
req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;利用消息加密密钥采用对称加密算法计算req的身份信息密文encdata
req
;计算sig
req
;利用消息完整性校验密钥计算生成消息完整性校验码mactag
req
。
148.s504、req向aac发送req的身份鉴别请求消息reqinit。
149.所述reqinit中包括nonce
aac
、nonce
req
、security capabilities
req
、keyinfo
req
、encdata
req
、sig
req
和mactag
req
。其中,nonce
aac
和security capabilities
req
为可选字段,且nonce
aac
应等于aacinit中的相应字段。encdata
req
的加密数据包括cert
req
;sig
req
的签名数据包括reqinit中sig
req
之前的其他字段,当reqinit中不包括nonce
aac
字段时,sig
req
的签名数据还包括aacinit中的nonce
aac
字段。mactag
req
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括reqinit中除mactag
req
外的其他字段在内的信息计算生成mactag
req
。
150.s505、aac接收所述reqinit后,执行下述操作,包括:
151.(1)、若reqinit中存在nonce
aac
,则检查nonce
aac
与aac生成的nonce
aac
是否相同;
152.(2)、根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;
153.(3)、验证mactag
req
;
154.验证过程为:aac利用消息完整性校验密钥采用完整性校验算法对包括reqinit中除mactag
req
外的其他字段在内的信息在本地计算生成mactag
req
,并将计算的mactag
req
和接收到的reqinit中的mactag
req
进行比较。
155.(4)、利用消息加密密钥解密encdata
req
得的cert
req
;
156.(5)、利用解密得到的cert
req
验证sig
req
;
157.(6)、上述检查和验证均通过后,验证cert
req
的合法性得到req的身份验证结果res
req
;上述检查和验证中任一步不通过,则立即丢弃reqinit。
158.参见图6,为单向身份鉴别情况下单向鉴别aac的身份鉴别方法。其中,req和aac之间的消息加密密钥协商过程被融合到了身份鉴别过程中,更便于工程实施。该方法包括:
159.s601、aac生成nonce
aac
和keyinfo
aac
,根据需要生成security capabilities
aac
。
160.s602、aac向req发送密钥请求消息aacinit。
161.所述aacinit中包括nonce
aac
、keyinfo
aac
和security capabilities
aac
。其中,security capabilities
aac
为可选字段。
162.s603、req生成nonce
req
和keyinfo
req
,根据需要生成security capabilities
req
,根据包括keyinfo
req
对应的临时私钥和keyinfo
aac
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(req和aac采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥。
163.s604、req向aac发送密钥响应消息reqinit。
164.所述reqinit中包括nonce
aac
、nonce
req
、security capabilities
req
和keyinfo
req
。其中,security capabilities
req
为可选字段,nonce
aac
应等于aacinit中的相应字段。
165.s605、aac接收所述reqinit后,执行下述操作,包括:
166.(1)、检查reqinit中的nonce
aac
与aac生成的nonce
aac
是否相同,若不同,则丢弃reqinit;
167.(2)、根据包括keyinfo
aac
对应的临时私钥和keyinfo
req
所包括的临时公钥进行密钥交换计算生成第一密钥k1,将k1结合nonce
aac
、nonce
req
及其他信息(aac和req采用的其他信息是相同的且可选的,譬如特定字符串等)利用协商或预置的密钥导出算法计算消息加密密钥和消息完整性校验密钥;
168.(3)、利用消息加密密钥采用对称加密算法计算生成aac的身份信息密文encdata
aac
;
169.(4)、计算数字签名sig
aac
;
170.(5)、利用消息完整性校验密钥计算生成消息完整性校验码mactag
aac
。
171.s606、aac向req发送aac的身份鉴别请求消息aacauth。
172.所述aacauth中包括nonce
req
、nonce
aac
、encdata
aac
、sig
aac
和mactag
aac
。其中,nonce
req
和nonce
aac
为可选字段,且应分别等于reqinit中的nonce
req
、aac生成的nonce
aac
。encdata
aac
的加密数据包括cert
aac
;sig
aac
的签名数据包括aacauth中sig
aac
之前的其他字段。mactag
aac
的计算过程为:利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段在内的信息计算生成mactag
aac
。
173.s607、req接收所述aacauth后,执行下述操作,包括:
174.(1)、若aacauth中存在nonce
req
,则检查nonce
req
和req生成的nonce
req
是否一致;和/或,若aacauth中存在nonce
aac
,则检查nonce
aac
和接收到的aacinit中的nonce
aac
是否一致;
175.(2)、验证mactag
aac
;
176.验证过程为:req利用消息完整性校验密钥采用完整性校验算法对包括aacauth中除mactag
aac
外的其他字段在内的信息在本地计算生成mactag
aac
,并将计算的mactag
aac
与接收到的aacauth中的mactag
aac
进行比较。
177.(3)、利用消息加密密钥采用对称加密算法解密encdata
aac
得到cert
aac
;
178.(4)、利用解密得到的cert
aac
验证sig
aac
;
179.(5)、上述检查和验证均通过后,验证cert
aac
的合法性得到aac的身份验证结果res
aac
;上述检查和验证中任一步不通过时,则立即丢弃aacauth。
180.在上述各实施例中,每条消息还可以携带一个杂凑值hash
x
,该杂凑值hash
x
是该消息的发送方实体x利用杂凑算法对接收到的对端实体y发送的最新前序消息计算得到的,用
于对端实体y来验证实体x是否接收到完整的最新前序消息。其中,x表示req,则对应的y表示aac;x表示aac,则对应的y表示req;hash
req
表示req对接收到的aac发送的最新前序消息计算的杂凑值,hash
aac
表示aac对接收到的req发送的最新前序消息计算的杂凑值。若发送方实体x当前发送的消息为实体x和实体y之间交互的首条消息,意味着实体x未曾收到对端实体y发送的前序消息,则该条消息中hash
x
可以不存在或者无意义。
181.对应的,对端实体y接收到实体x发送的消息后,若该条消息中包含hash
x
,则当实体y未曾向实体x发送过前序消息时,实体y忽略hash
x
;当实体y曾向实体x发送过前序消息时,实体y利用杂凑算法对之前向实体x发送的最新前序消息在本地计算杂凑值,并与接收到的消息中携带的杂凑值hash
x
比较,若一致,则执行后续步骤,否则丢弃或者结束本次鉴别过程。
182.本发明中,对实体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发送的前序消息。
183.需要说明的是,上述图3、图4、图5和图6对应实施例中的可选字段和可选操作,在说明书附图的图3、图4、图5和图6中用“*”表示。以上所有实施例涉及的消息中所包括的各个内容不限定顺序,且在没有特别说明的情况下,不限定消息接收方收到消息后对相关消息的操作顺序以及对消息中所包括的内容进行处理的顺序。
184.基于图1至图6对应的实施例,本技术实施例还提供了一种鉴别接入控制器,其既可以作为被验证方,也可以作为验证方,还可以同时具备被验证方和验证方的功能。
185.参见图7,仅作为被验证方的鉴别接入控制器700包括:
186.请求单元701,用于向请求设备发送所述鉴别接入控制器的身份鉴别请求消息,所述鉴别接入控制器的身份鉴别请求消息中包括所述鉴别接入控制器的身份信息密文和所述鉴别接入控制器的数字签名,所述鉴别接入控制器的身份信息密文是所述鉴别接入控制器利用消息加密密钥对包括所述鉴别接入控制器的数字证书在内的加密数据加密生成的。
187.可选的,鉴别接入控制器700还包括:发送单元、接收单元和计算单元;
188.发送单元,用于向所述请求设备发送密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
189.接收单元,用于接收所述请求设备发送的密钥响应消息;所述密钥响应消息中包括所述请求设备的密钥交换参数;
190.计算单元,用于根据包括所述鉴别接入控制器的密钥交换参数对应的临时私钥和所述请求设备的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥。
191.参见图8,仅作为验证方的鉴别接入控制器800包括:
192.验证单元801,用于接收请求设备的身份鉴别请求消息,所述请求设备的身份鉴别请求消息中包括所述请求设备的身份信息密文和所述请求设备的数字签名,所述请求设备的身份信息密文是所述请求设备利用消息加密密钥对包括所述请求设备的数字证书在内的加密数据加密生成的;利用所述消息加密密钥对所述请求设备的身份信息密文进行解密
得到所述请求设备的数字证书;根据所述请求设备的数字证书和所述请求设备的数字签名,验证所述请求设备的身份合法性得到所述请求设备的身份验证结果。
193.可选的,鉴别接入控制器800还包括:发送单元和计算单元;发送单元,用于向所述请求设备发送密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;验证单元801接收的所述请求设备的身份鉴别请求消息中还包括所述请求设备的密钥交换参数;计算单元,用于根据包括所述鉴别接入控制器的密钥交换参数对应的临时私钥和所述请求设备的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥。
194.参见图9,同时具备被验证方和验证方功能的鉴别接入控制器900包括:
195.请求单元901,用于向请求设备发送所述鉴别接入控制器的身份鉴别请求消息,所述鉴别接入控制器的身份鉴别请求消息中包括所述鉴别接入控制器的身份信息密文和所述鉴别接入控制器的数字签名,所述鉴别接入控制器的身份信息密文是所述鉴别接入控制器利用消息加密密钥对包括所述鉴别接入控制器的数字证书在内的加密数据加密生成的;
196.验证单元902,用于接收所述请求设备的身份鉴别请求消息,所述请求设备的身份鉴别请求消息中包括所述请求设备的身份信息密文和所述请求设备的数字签名,所述请求设备的身份信息密文是所述请求设备利用所述消息加密密钥对包括所述请求设备的数字证书在内的加密数据加密生成的;利用所述消息加密密钥对所述请求设备的身份信息密文进行解密得到所述请求设备的数字证书;根据所述请求设备的数字证书和所述请求设备的数字签名,验证所述请求设备的身份合法性得到所述请求设备的身份验证结果。
197.可选的,先作为被验证方,后作为验证方的鉴别接入控制器900还包括:发送单元、接收单元和计算单元;
198.发送单元,用于向所述请求设备发送密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
199.接收单元,用于接收所述请求设备发送的密钥响应消息;所述密钥响应消息中包括所述请求设备的密钥交换参数;
200.计算单元,用于根据包括所述鉴别接入控制器的密钥交换参数对应的临时私钥和所述请求设备的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥。
201.可选的,先作为验证方,后作为被验证方的鉴别接入控制器900还包括:发送单元和计算单元;发送单元,用于向所述请求设备发送密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;验证单元902接收的所述请求设备的身份鉴别请求消息中还包括所述请求设备的密钥交换参数;计算单元,用于根据包括所述鉴别接入控制器的密钥交换参数对应的临时私钥和所述请求设备的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥。
202.在图7、图8及图9实施例中,可选的,所述密钥请求消息中还包括所述鉴别接入控制器生成的第一随机数;对应的,所述请求设备的身份鉴别请求消息中还包括所述请求设备生成的第二随机数,或者,所述密钥响应消息中还包括所述请求设备生成的第二随机数;
203.则所述计算单元具体用于:根据包括所述第一密钥、所述第一随机数和所述第二
随机数在内的信息计算所述消息加密密钥。
204.可选的,所述密钥请求消息中还包括所述鉴别接入控制器支持的安全能力参数信息,则验证单元801/902接收的所述请求设备的身份鉴别请求消息或者所述接收单元接收的所述密钥响应消息中还包括特定安全策略,所述特定安全策略是所述请求设备根据所述鉴别接入控制器支持的安全能力参数信息确定的。
205.可选的,所述请求设备的身份鉴别请求消息或者所述密钥响应消息中还包括所述第一随机数,则验证单元801/902还用于:将所述请求设备的身份鉴别请求消息中的第一随机数或者所述密钥响应消息中的第一随机数和所述鉴别接入控制器生成的第一随机数进行一致性验证;若验证通过,则所述计算单元执行相关步骤。
206.可选的,所述计算单元还用于:计算消息完整性校验密钥,所述消息完整性校验密钥与所述消息加密密钥的生成方式相同;
207.请求单元701/901发送的所述鉴别接入控制器的身份鉴别请求消息中还包括所述鉴别接入控制器的消息完整性校验码;所述鉴别接入控制器的消息完整性校验码是利用所述消息完整性校验密钥对包括所述鉴别接入控制器的身份鉴别请求消息中除所述消息完整性校验码外的其他字段计算生成的;和/或,
208.验证单元801/902还用于:验证所述请求设备的身份鉴别请求消息中携带的消息完整性校验码,若验证通过,则再执行验证所述请求设备的身份合法性得到所述请求设备的身份验证结果的步骤。
209.可选的,所述鉴别接入控制器先作为被验证方,请求单元901先向所述请求设备发送所述鉴别接入控制器的身份鉴别请求消息,在所述请求设备确定所述鉴别接入控制器的身份合法之后,所述鉴别接入控制器再作为验证方,验证单元902再接收所述请求设备向所述鉴别接入控制器发送的所述请求设备的身份鉴别请求消息。
210.可选的,所述鉴别接入控制器先作为验证方,验证单元902先接收所述请求设备的身份鉴别请求消息并在确定所述请求设备的身份合法之后,所述鉴别接入控制器再作为被验证方,请求单元901再向所述请求设备发送所述鉴别接入控制器的身份鉴别请求消息。
211.可选的,所述请求设备作为被验证方,所述鉴别接入控制器作为验证方;则所述发送单元先向所述请求设备发送所述密钥请求消息,验证单元801再接收所述请求设备发送的所述请求设备的身份鉴别请求消息,然后验证单元801验证所述请求设备的身份合法性得到所述请求设备的身份验证结果。
212.可选的,所述鉴别接入控制器作为被验证方,所述请求设备作为验证方;则所述发送单元先向所述请求设备发送所述密钥请求消息,所述接收单元再接收所述请求设备发送的所述密钥响应消息,然后请求单元701向所述请求设备发送所述鉴别接入控制器的身份鉴别请求消息。
213.可选的,所述鉴别接入控制器向所述请求设备发送的消息还包括所述鉴别接入控制器对接收到的所述请求设备发送的最新前序消息计算的杂凑值。
214.本技术实施例还提供了一种请求设备,其既可以作为被验证方,也可以作为验证方,还可以同时具备被验证方和验证方的功能。
215.参见图10,仅作为被验证方的请求设备1000包括:
216.请求单元1001,用于向鉴别接入控制器发送所述请求设备的身份鉴别请求消息,
所述请求设备的身份鉴别请求消息中包括所述请求设备的身份信息密文和所述请求设备的数字签名,所述请求设备的身份信息密文是所述请求设备利用消息加密密钥对包括所述请求设备的数字证书在内的加密数据加密生成的。
217.可选的,请求设备1000还包括:接收单元和计算单元;
218.接收单元,用于接收所述鉴别接入控制器发送的密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
219.计算单元,用于根据包括所述请求设备的密钥交换参数对应的临时私钥和所述鉴别接入控制器的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥;
220.请求单元1001向所述鉴别接入控制器发送的所述请求设备的身份鉴别请求消息中还包括所述请求设备的密钥交换参数。
221.参见图11,仅作为验证方的请求设备1100包括:
222.验证单元1101,用于接收鉴别接入控制器的身份鉴别请求消息,所述鉴别接入控制器的身份鉴别请求消息中包括所述鉴别接入控制器的身份信息密文和所述鉴别接入控制器的数字签名,所述鉴别接入控制器的身份信息密文是所述鉴别接入控制器利用消息加密密钥对包括所述鉴别接入控制器的数字证书在内的加密数据加密生成的;利用所述消息加密密钥对所述鉴别接入控制器的身份信息密文进行解密得到所述鉴别接入控制器的数字证书;根据所述鉴别接入控制器的数字证书和所述鉴别接入控制器的数字签名,验证所述鉴别接入控制器的身份合法性得到所述鉴别接入控制器的身份验证结果。
223.可选的,请求设备1100还包括:接收单元、发送单元和计算单元;
224.接收单元,用于接收所述鉴别接入控制器发送的密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
225.计算单元,用于根据包括所述请求设备的密钥交换参数对应的临时私钥和所述鉴别接入控制器的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥;
226.发送单元,用于向所述鉴别接入控制器发送密钥响应消息,所述密钥响应消息中包括所述请求设备的密钥交换参数。
227.参见图12,同时具备被验证方和验证方功能的请求设备1200包括:
228.请求单元1201,用于向鉴别接入控制器发送所述请求设备的身份鉴别请求消息,所述请求设备的身份鉴别请求消息中包括所述请求设备的身份信息密文和所述请求设备的数字签名,所述请求设备的身份信息密文是所述请求设备利用消息加密密钥对包括所述请求设备的数字证书在内的加密数据加密生成的;
229.验证单元1202,用于接收所述鉴别接入控制器的身份鉴别请求消息,所述鉴别接入控制器的身份鉴别请求消息中包括所述鉴别接入控制器的身份信息密文和所述鉴别接入控制器的数字签名,所述鉴别接入控制器的身份信息密文是所述鉴别接入控制器利用所述消息加密密钥对包括所述鉴别接入控制器的数字证书在内的加密数据加密生成的;利用所述消息加密密钥对所述鉴别接入控制器的身份信息密文进行解密得到所述鉴别接入控制器的数字证书;根据所述鉴别接入控制器的数字证书和所述鉴别接入控制器的数字签名,验证所述鉴别接入控制器的身份合法性得到所述鉴别接入控制器的身份验证结果。
230.可选的,先作为验证方,后作为被验证方的请求设备1200还包括:接收单元、发送单元和计算单元;接收单元,用于接收所述鉴别接入控制器发送的密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;计算单元,用于根据包括所述请求设备的密钥交换参数对应的临时私钥和所述鉴别接入控制器的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥;发送单元,用于向所述鉴别接入控制器发送密钥响应消息,所述密钥响应消息中包括所述请求设备的密钥交换参数。
231.可选的,先作为被验证方,后作为验证方的请求设备1200还包括:接收单元和计算单元;
232.接收单元,用于接收所述鉴别接入控制器发送的密钥请求消息,所述密钥请求消息中包括所述鉴别接入控制器的密钥交换参数;
233.计算单元,用于根据包括所述请求设备的密钥交换参数对应的临时私钥和所述鉴别接入控制器的密钥交换参数所包括的临时公钥进行密钥交换计算生成第一密钥,根据包括所述第一密钥在内的信息利用密钥导出算法计算所述消息加密密钥;
234.请求单元1201向所述鉴别接入控制器发送的所述请求设备的身份鉴别请求消息中还包括所述请求设备的密钥交换参数。
235.在图10、图11及图12实施例中,可选的,所述密钥请求消息中还包括所述鉴别接入控制器生成的第一随机数;则所述计算单元具体用于:根据包括所述第一密钥、所述第一随机数和所述请求设备生成的第二随机数在内的信息计算所述消息加密密钥;
236.对应的,所述请求设备的身份鉴别请求消息中还包括所述第二随机数,或者,所述密钥响应消息中还包括所述第二随机数。
237.可选的,请求单元1001/1201发送的所述请求设备的身份鉴别请求消息中还包括所述第一随机数,或者,所述发送单元发送的所述密钥响应消息中还包括所述第一随机数。
238.可选的,所述密钥请求消息中还包括所述鉴别接入控制器支持的安全能力参数信息,所述请求设备还包括:确定单元,用于根据所述安全能力参数信息确定所述请求设备使用的特定安全策略;则所述请求设备的身份鉴别请求消息或者所述密钥响应消息中还包括所述特定安全策略。
239.可选的,所述计算单元还用于:计算消息完整性校验密钥,所述消息完整性校验密钥与所述消息加密密钥的生成方式相同;
240.请求单元1001/1201发送的所述请求设备的身份鉴别请求消息中还包括所述请求设备的消息完整性校验码;所述请求设备的消息完整性校验码是利用所述消息完整性校验密钥对包括所述请求设备的身份鉴别请求消息中除所述消息完整性校验码外的其他字段计算生成的;和/或,
241.验证单元1101/1202还用于:验证所述鉴别接入控制器的身份鉴别请求消息中携带的消息完整性校验码,若验证通过,则再执行验证所述鉴别接入控制器的身份合法性得到所述鉴别接入控制器的身份验证结果的步骤。
242.可选的,所述请求设备先作为验证方,验证单元1202先接收所述鉴别接入控制器发送的所述鉴别接入控制器的身份鉴别请求消息,在验证单元1202确定所述鉴别接入控制器的身份合法之后,所述请求设备再作为被验证方,请求单元1201再向所述鉴别接入控制
器发送所述请求设备的身份鉴别请求消息。
243.可选的,所述请求设备先作为被验证方,请求单元1201先向所述鉴别接入控制器发送所述请求设备的身份鉴别请求消息,在所述鉴别接入控制器确定所述请求设备的身份合法之后,所述请求设备再作为验证方,验证单元1202再接收所述鉴别接入控制器发送的所述鉴别接入控制器的身份鉴别请求消息。
244.可选的,所述请求设备作为被验证方,所述鉴别接入控制器作为验证方;则所述接收单元先接收所述鉴别接入控制器发送的所述密钥请求消息,请求单元1001再向所述鉴别接入控制器发送所述请求设备的身份鉴别请求消息。
245.可选的,所述鉴别接入控制器作为被验证方,所述请求设备作为验证方;则所述接收单元先接收所述鉴别接入控制器发送的所述密钥请求消息,所述发送单元再向所述鉴别接入控制器发送所述密钥响应消息,然后验证单元1101接收所述鉴别接入控制器发送的所述鉴别接入控制器的身份鉴别请求消息。
246.可选的,所述请求设备向所述鉴别接入控制器发送的消息还包括所述请求设备对接收到的所述鉴别接入控制器发送的最新前序消息计算的杂凑值。
247.采用上述鉴别接入控制器和请求设备执行本技术实施例提供的身份鉴别方法,在请求设备和鉴别接入控制器之间传输身份信息时,即在验证方和被验证方之间传输被验证方的身份信息时,对被验证方的身份信息进行保密处理,防止被验证方的身份信息在传输过程中暴露;由此在请求设备访问网络的过程中,保证攻击者无法获得私密、敏感信息,避免攻击者将私密、敏感信息用于非法用途,在保障实体身份相关信息机密性的同时,实现了鉴别接入控制器和请求设备之间双向或单向的身份鉴别,从而确保访问网络的用户是合法的,和/或,用户访问的网络是合法的。
248.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:rom)、ram、磁碟或者光盘等各种可以存储程序代码的介质。
249.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其与方法实施例相一致和对应,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
250.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。