发明内容
本发明的目的是提供一种基于ID的无线多跳网络认证接入方法,其解决了现有无线多跳网络的认证接入方法存在安全隐患的技术问题。
本发明的技术解决方案是:
一种基于ID的无线多跳网络认证接入方法,包括以下步骤:
步骤11]定义终端设备和协调器的非受控端口和受控端口,使得终端设备和协调器的非受控端口通行认证协议数据包及管理信息,终端设备和协调器的受控端口通行应用数据包;
步骤12]协调器广播信标帧;所述信标帧中包括协调器所支持的认证及密钥管理套件;
步骤13]当终端设备收到协调器的信标帧时,终端设备选定一种认证及密钥管理套件,然后向协调器发送连接请求命令;所述连接请求命令包括终端设备选定的认证及密钥管理套件;
步骤14]当协调器收到终端设备的连接请求命令时,协调器根据终端设备选定的认证及密钥管理套件与该终端设备进行认证过程;
步骤15]若认证成功,则协调器打开受控端口,允许该终端设备接入无线多跳网络,同时向该终端设备发送连接响应命令;终端设备收到该协调器的连接响应命令后,打开受控端口,从而接入到该无线多跳网络。
上述认证及密钥管理套件为基于ID方式的认证及密钥管理套件。
上述终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,所述步骤14]的具体认证过程为:
步骤21]当协调器从终端设备发送的连接请求命令中得知终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,生成协调器认证询问,然后协调器将协调器认证询问和协调器公钥组成认证激活发送给终端设备;
步骤22]终端设备收到认证激活后,验证协调器公钥的有效性;若验证不通过,则丢弃该认证激活,若验证通过,则终端设备生成终端设备认证询问、公钥撤销查询标识和终端设备临时公钥,然后将终端设备认证询问、协调器认证询问、终端设备公钥、公钥撤销查询标识、终端设备临时公钥以及终端设备对前面五项信息的签名组成认证请求发送给协调器;
步骤23]协调器收到认证请求后,验证认证请求签名的合法性、协调器认证询问的一致性和终端设备临时公钥的有效性;若验证不通过,则认证失败,若验证通过,根据公钥撤销查询标识决定是否进行公钥撤销查询;如果不进行公钥撤销查询,协调器生成协调器临时公钥和接入结果,然后协调器将公钥撤销查询标识、终端设备认证询问、协调器临时公钥、接入结果以及协调器对前面四项信息的签名组成认证响应发送给终端设备,然后进行步骤27];如果进行公钥撤销查询,协调器设置公钥撤销查询标识和生成协调器公钥撤销查询询问,然后将协调器公钥撤销查询询问、公钥撤销查询标识和终端设备公钥组成公钥撤销查询请求发送给可信中心;
步骤24]可信中心收到公钥撤销查询请求后,验证公钥撤销查询标识,验证终端设备公钥的有效性并生成终端设备公钥撤销结果,然后将协调器公钥撤销查询询问、公钥撤销查询标识和终端设备公钥撤销结果组成公钥撤销查询响应发送给协调器;
步骤25]协调器收到公钥撤销查询响应后,验证公钥撤销查询标识,验证协调器公钥撤销查询询问和公钥撤销查询标识的一致性,验证终端设备公钥撤销结果,若验证不通过,则认证失败;若验证通过,则协调器生成协调器临时公钥和接入结果,然后将公钥撤销查询标识、终端设备认证询问、协调器临时公钥、终端设备的身份标识和接入结果以及协调器对前面五项信息的签名组成认证响应发送给终端设备;同时,协调器根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥;
步骤26]终端设备收到认证响应后,验证公钥撤销查询标识,验证认证响应的签名的有效性,验证终端设备认证询问、公钥撤销查询标识和终端设备的身份标识的一致性以及验证接入结果;若验证不通过,则认证失败;若验证通过,则根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥,认证成功;
步骤27]终端设备收到步骤23中协调器发送的认证响应后,验证认证响应的签名的有效性、终端设备认证询问的一致性和接入结果;若验证不通过,则认证失败;若验证通过,则终端设备根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥,认证成功。
上述终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,所述步骤14]的具体认证过程还可为:
步骤21]当协调器从终端设备发送的连接请求命令中得知终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,生成协调器认证询问,然后协调器将协调器认证询问和协调器公钥组成认证激活发送给终端设备;
步骤22]终端设备收到认证激活后,验证协调器公钥的有效性;若验证不通过,则丢弃该认证激活,若验证通过,则终端设备生成终端设备认证询问、公钥撤销查询标识和终端设备临时公钥,然后将终端设备认证询问、协调器认证询问、终端设备公钥、公钥撤销查询标识、终端设备临时公钥以及终端设备对前面五项信息的签名组成认证请求发送给协调器;
步骤23]协调器收到认证请求后,验证认证请求签名的合法性、协调器认证询问的一致性和终端设备临时公钥的有效性;若验证不通过,则认证失败,若验证通过,根据公钥撤销查询标识决定是否进行公钥撤销查询;如果不进行公钥撤销查询,协调器生成协调器临时公钥和接入结果,然后协调器将公钥撤销查询标识、终端设备认证询问、协调器临时公钥、接入结果以及协调器对前面四项信息的签名组成认证响应发送给终端设备,然后进行步骤27];如果进行公钥撤销查询,协调器设置公钥撤销查询标识和生成协调器公钥撤销查询询问,然后将协调器公钥撤销查询询问、终端设备认证询问、公钥撤销查询标识和协调器公钥组成公钥撤销查询请求发送给可信中心;
步骤24]可信中心收到公钥撤销查询请求后,验证公钥撤销查询标识,验证协调器公钥的有效性并生成协调器公钥撤销查询结果,使用可信中心私钥对协调器公钥撤销查询结果计算签名,从而生成公钥撤销查询签名,然后将协调器公钥撤销查询询问、公钥撤销查询标识、协调器公钥撤销查询结果和公钥撤销查询签名组成公钥撤销查询响应发送给协调器;
步骤25]协调器收到公钥撤销查询响应后,验证公钥撤销查询标识,验证协调器公钥撤销查询询问和公钥撤销查询标识的一致性,验证协调器公钥撤销查询结果和公钥撤销查询签名的有效性,若验证不通过,则认证失败;若验证通过,则协调器生成协调器临时公钥和接入结果,然后将公钥撤销查询标识、终端设备认证询问、协调器临时公钥、终端设备的身份标识、接入结果、协调器公钥撤销查询结果和公钥撤销查询签名以及协调器对前面七项信息的签名组成认证响应发送给终端设备;同时,协调器根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥;
步骤26]终端设备收到认证响应后,验证公钥撤销查询标识,验证认证响应的签名的有效性,验证终端设备认证询问、公钥撤销查询标识和终端设备的身份标识的一致性以及验证接入结果;若验证不通过,则认证失败;若验证通过,则终端设备验证协调器公钥撤销查询结果和公钥撤销查询签名为有效后,根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥,认证成功;
步骤27]终端设备收到步骤23中协调器发送的认证响应后,验证认证响应的签名的有效性、终端设备认证询问的一致性和接入结果;若验证不通过,则认证失败;若验证通过,则终端设备根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥,认证成功。
所述终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,所述步骤14]的具体认证过程还可为:
步骤21]当协调器从终端设备发送的连接请求命令中得知终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,生成协调器认证询问,然后协调器将协调器认证询问和协调器公钥组成认证激活发送给终端设备;
步骤22]终端设备收到认证激活后,验证协调器公钥的有效性;若验证不通过,则丢弃该认证激活,若验证通过,则终端设备生成终端设备认证询问、公钥撤销查询标识和终端设备临时公钥,然后将终端设备认证询问、协调器认证询问、终端设备公钥、公钥撤销查询标识、终端设备临时公钥以及终端设备对前面五项信息的签名组成认证请求发送给协调器;
步骤23]协调器收到认证请求后,验证认证请求签名的合法性、协调器认证询问的一致性和终端设备临时公钥的有效性;若验证不通过,则认证失败,若验证通过,根据公钥撤销查询标识决定是否进行公钥撤销查询;如果不进行公钥撤销查询,协调器生成协调器临时公钥和接入结果,然后协调器将公钥撤销查询标识、终端设备认证询问、协调器临时公钥、接入结果以及协调器对前面四项信息的签名组成认证响应发送给终端设备,然后进行步骤27];如果进行公钥撤销查询,协调器设置公钥撤销查询标识和生成协调器公钥撤销查询询问,然后将协调器公钥撤销查询询问、终端设备认证询问、公钥撤销查询标识、终端设备公钥和协调器公钥组成公钥撤销查询请求发送给可信中心;
步骤24]可信中心收到公钥撤销查询请求后,验证公钥撤销查询标识,验证终端设备公钥的有效性并生成终端设备公钥撤销结果,验证协调器公钥的有效性并生成协调器公钥撤销查询结果,使用可信中心私钥对协调器公钥撤销查询结果计算签名,从而生成公钥撤销查询签名,然后将协调器公钥撤销查询询问、公钥撤销查询标识、终端设备公钥撤销结果、协调器公钥撤销查询结果和公钥撤销查询签名组成公钥撤销查询响应发送给协调器;
步骤25]协调器收到公钥撤销查询响应后,验证公钥撤销查询标识,验证协调器公钥撤销查询询问和公钥撤销查询标识的一致性,验证协调器公钥撤销查询结果和公钥撤销查询签名的有效性以及验证终端设备公钥撤销结果,若验证不通过,则认证失败;若验证通过,则协调器生成协调器临时公钥和接入结果,然后将公钥撤销查询标识、终端设备认证询问、协调器临时公钥、终端设备的身份标识、接入结果、协调器公钥撤销查询结果和公钥撤销查询签名以及协调器对前面七项信息的签名组成认证响应发送给终端设备;同时,协调器根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥;
步骤26]终端设备收到认证响应后,验证公钥撤销查询标识,验证认证响应的签名的有效性,验证终端设备认证询问、公钥撤销查询标识和终端设备的身份标识的一致性以及验证接入结果;若验证不通过,则认证失败;若验证通过,则终端设备验证协调器公钥撤销查询结果和公钥撤销查询签名为有效后,根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥,认证成功;
步骤27]终端设备收到步骤23中协调器发送的认证响应后,验证认证响应的签名的有效性、终端设备认证询问的一致性和接入结果;若验证不通过,则认证失败;若验证通过,则终端设备根据终端设备临时公钥和协调器临时私钥生成终端设备和协调器之间的基密钥,认证成功。
上述认证接入方法还包括终端设备成功连接到该协调器时,协调器与终端设备进行单播密钥协商的步骤:当认证成功且协调器需要与该终端设备进行单播密钥协商时,协调器与该终端设备进行单播密钥协商。
上述单播密钥协商过程为:
步骤41]认证成功后,协调器需要建立或更新单播密钥时,生成协调器单播密钥协商询问,协调器将协调器单播密钥协商询问组成单播密钥协商请求发送给终端设备;
步骤42]终端设备收到单播密钥协商请求后,生成终端设备单播密钥协商询问,根据基密钥、协调器单播密钥协商询问和终端设备单播密钥协商询问生成终端设备与协调器之间的单播密钥;然后将协调器单播密钥协商询问、终端设备单播密钥协商询问和消息鉴别码组成的单播密钥协商响应发送给协调器;所述的消息鉴别码是终端设备根据协调器单播密钥协商询问和终端设备单播密钥协商询问计算得到的消息鉴别码;
步骤43]协调器收到单播密钥协商响应后,根据基密钥、协调器单播密钥协商询问和终端设备单播密钥协商询问计算单播密钥,然后验证协调器单播密钥协商询问的一致性和终端设备的消息鉴别码的有效性,若验证不通过,则单播密钥协商失败;若验证通过,则协调器将协调器单播密钥协商询问以及对终端设备单播密钥协商询问计算的消息鉴别码组成的单播密钥协商确认发送给终端设备;
步骤44]终端设备收到单播密钥协商确认后,验证终端设备单播密钥协商询问的一致性和协调器的消息鉴别码的有效性;若验证不通过,则单播密钥协商失败;若验证通过,则单播密钥协商成功。
上述认证接入方法还包括单播密钥协商完成后的协调器与终端设备进行组播密钥通告的过程:若单播密钥协商通过且协调器需要与该终端设备进行组播密钥协商,则协调器与该终端设备进行组播密钥通告过程。
上述认证接入方法中的组播密钥通告过程为:
步骤51]单播密钥协商成功后,协调器要建立或更新组播密钥时,首先利用通告主密钥计算组播密钥,然后使用单播密钥中的加密密钥对通告主密钥进行加密,生成组播密钥通告标识,最后将组播密钥通告标识、已加密的组播通告主密钥和消息鉴别码组成组播密钥通告发送给终端设备;所述的消息鉴别码是协调器利用组播密钥中的鉴别密钥对组播密钥通告标识和已加密的组播通告主密钥计算得到的;
步骤52]终端设备收到组播密钥通告后,首先验证组播密钥通告标识并利用通告主密钥计算组播密钥,然后继续验证协调器的消息鉴别码的有效性,若验证不通过,则组播密钥协商失败,若验证通过,则终端设备将组播密钥通告标识和消息鉴码组成组播密钥响应发送给协调器;所述的消息鉴别码是终端设备利用本地生成组播密钥中的鉴别密钥对组播密钥通告标识消息计算得到的;
步骤53]协调器收到组播密钥响应后,协调器验证组播密钥通告标识的一致性和终端设备的消息鉴别码的有效性;若验证不通过,则组播密钥协商失败,若验证通过,组播密钥协商成功。
本发明的优点:
1、终端设备经认证后才能连接到协调器,从而实现了终端设备到无线多跳网络的认证接入。终端设备也可以对协调器进行认证,从而根据认证结果判定是否连接到该协调器。因此,提高了终端设备接入无线多跳网络的安全性和性能。
2、终端设备和协调器都定义了非受控端口和受控端口,并利用认证结果对它们进行控制,从而形成端口访问控制体系,提高了终端设备接入无线多跳网络的安全性。
3、终端设备和协调器为不同的安全服务定义了单播密钥协商过程和组播密钥通告过程,从而保证了终端设备和协调器之间的通信安全。
4、采用了三元对等鉴别协议,可信中心为终端设备和协调器提供公钥撤销表,实现终端设备和协调器的双向认证,提高了终端设备接入无线多跳网络的安全性。
5、由于基于ID的公钥本身具有撤销特性且基于ID的公钥长度较短,所以减少了公钥撤销查询的次数和减少了传输的通信量,从而提高了终端设备接入无线多跳网络的性能。
6、可信中心发送给协调器的信息在安全通道中传输,而该安全通道可以利用协调器和可信中心的公私钥对通过非交互方式建立,消除了它们之间的密钥协商过程且降低了可信中心发送给协调器的信息复杂度,从而提高了终端设备接入无线多跳网络的性能。
具体实施方式
本发明适用于WAPI框架方法(TePA,基于三元对等鉴别的访问控制方法)在包括无线局域网、无线城域网在内的具体网络上应用时的安全应用协议。
在无线多跳网络的认证接入系统中,认证的目的是要在终端设备和它所关联的协调器之间建立信任,并对在它们之间的链路上传递的数据进行保护。终端设备和它所关联的协调器属于同一个管理域,也就是某个无线多跳网络,而该无线多跳网络的可信中心需要为该无线多跳网络中的所有设备进行配置,如:配置不同认证及密钥管理套件下的密钥信息。
在无线多跳网络的认证接入系统中,协调器广播信标帧,在协调器广播的信标帧中,协调器支持的认证及密钥管理套件为基于ID方式的认证及密钥管理套件。终端设备通过协调器的信标帧识别协调器所支持的认证及密钥管理套件,然后验证终端设备是否支持基于ID方式的认证及密钥管理套件,若支持且具有该方式下的密钥信息,则终端设备向该协调器发送连接请求命令。
当协调器收到终端设备的连接请求命令后,若从连接请求命令中获知终端设备也支持基于ID方式的认证及密钥管理套件,则协调器在基于ID方式的认证及密钥管理套件下与该终端设备进行认证过程,然后向该终端设备发送连接响应命令。若认证成功,则协调器将该终端设备接入无线多跳网络,它发送的连接响应命令中包含一些接入信息,如:分配的网络地址。若认证成功且协调器想与该终端设备进行单播密钥协商,则协调器与该终端设备进行单播密钥协商过程。若单播密钥协商通过且协调器想与该终端设备进行组播密钥协商,则协调器与该终端设备进行组播密钥通告过程。
终端设备与协调器进行认证过程后将收到该协调器发送的连接响应命令,当终端设备收到该协调器的连接响应命令时,若终端设备与该协调器的认证成功且该协调器发送的连接响应命令中包含一些接入信息,则终端设备连接到该协调器,从而接入该无线多跳网络。若终端设备接入网络后收到该协调器发送的单播密钥协商请求命令,则终端设备与该协调器进行单播密钥协商过程。若终端设备成功完成单播密钥协商过程后收到该协调器发送的组播密钥通告请求命令,则终端设备与该协调器进行组播密钥通告过程。
终端设备和协调器都定义了非受控端口和受控端口,且具有端口控制能力。非受控端口只能通行认证协议数据包和认证成功前的管理信息,而受控端口可以通行应用数据包。在终端设备和协调器在认证成功前,它们只能使用非受控端口进行通信,而只有在它们认证成功后,它们才会打开受控端口进行通信。
图2是无线多跳网络的认证接入系统,A为请求认证接入的终端设备,B是A所关联的协调器,S是该无线多跳网络的可信中心,并要求A和B都拥有S所配置的密钥信息,实线表示已认证接入状态,虚线表示需要进行认证接入的状态。
LR-WPAN、HR-WPAN和WSN都支持这种无线多跳网络拓扑结构,所以这种认证接入方法可适用于它们。
认证过程的具体实现如下,参见图3。认证过程的流程示意图参见图6。
1]当协调器从终端设备发送的连接请求命令中得知终端设备选定的认证及密钥管理套件为基于ID方式的认证及密钥管理套件时,协调器进行如下处理:
a)利用随机数产生器产生协调器认证询问N1,询问也称为挑战字、随机数等;
b)向终端设备发送协调器认证询问N1、协调器的身份标识IDC和协调器公钥的有效期TLC-PK。
2]终端设备收到步骤1]中协调器发送的信息后,进行如下处理:
a)验证协调器公钥的有效期TLT-PK,若已经逾期,则丢弃该信息;否则,利用随机数产生器产生终端设备认证询问N2;
b)利用预安装的ECC域参数PECC产生用于ECDH交换的临时私钥x和临时公钥x·P;
c)若终端设备需要请求对协调器公钥PKID-C进行撤销查询,则将公钥撤销查询标识QFPK比特0的值为设为1;否则,设为0;
d)终端设备使用终端设备私钥SKID-T对公钥撤销查询标识QFPK、协调器认证询问N1、终端设备认证询问N2、临时公钥x·P、协调器的身份标识IDC、终端设备的身份标识IDT和终端设备公钥的有效期TLT-PK进行签名计算,生成终端设备认证请求签名SigT;
e)向协调器发送公钥撤销查询标识QFPK、协调器认证询问N1、终端设备认证询问N2、临时公钥x·P、协调器的身份标识IDC、终端设备公钥PKID-T中的后两个字段和终端设备所生成的终端设备认证请求签名SigT。
3]协调器收到步骤2]中终端设备发送的信息后,进行如下处理:
a)验证协调器认证询问N1和协调器的身份标识IDC是否与自己在步骤1中发送的对应值保持一致,若不一致,则丢弃该信息;
b)验证终端设备公钥的有效期TLT-PK,若已经逾期,则丢弃该信息;
c)级联终端设备公钥PKID-T中的后两个字段、无线多跳网络中可信中心的CA证书的主体身份IDS-CA和无线多跳网络标识IDNet,构成终端设备公钥PKID-T,然后使用该终端设备公钥PKID-T和预安装的基于身份的公开参数PID验证终端设备认证请求签名SigT,若签名验证不成功,则丢弃该信息;
d)检查公钥撤销查询标识QFPK的比特0,若比特0的值为1,则执行e)操作;否则,执行f)操作;
e)利用随机数生成算法生成协调器公钥撤销查询询问N3。若协调器也需要请求对终端设备公钥PKID-T进行撤销查询,则将公钥撤销查询标识QFPK的比特1的值设为1,向可信中心发送公钥撤销查询标识QFPK、终端设备认证询问N2、协调器公钥撤销查询询问N3、终端设备的身份标识IDT、设备的公钥的有效期TLT-PK、协调器的身份标识IDC和协调器公钥的有效期TLC-PK;否则,将公钥撤销查询标识QFPK的比特1的值设为0,向可信中心发送公钥撤销查询标识QFPK、终端设备认证询问N2、协调器公钥撤销查询询问N3、协调器的身份标识IDC和协调器公钥的有效期TLC-PK;
f)若协调器需要请求对终端设备公钥PKID-T进行撤销查询,则将公钥撤销查询标识QFPK的比特1的值设为1,利用随机数生成算法生成协调器公钥撤销查询询问N3,向可信中心发送公钥撤销查询标识QFPK、协调器公钥撤销查询询问N3、终端设备的身份标识IDT和设备的公钥的有效期TLT-PK;否则,将公钥撤销查询标识QFPK的比特1的值设为0,利用预安装的ECC域参数PECC生成用于ECDH交换的临时私钥y、临时公钥y·P,使用自己的临时私钥y和步骤2中终端设备发送的临时公钥x·P进行ECDH计算,得到主密钥种子(x·y·P)abscissa,对其进行扩展KD-HMAC-SHA256((x·y·P)abscissa,N1||N2||“base key expansion forkey and additional nonce”),生成终端设备与协调器之间的基密钥BK,生成接入结果ReI,使用协调器私钥SKID-C对公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT和接入结果ReI进行签名计算,生成协调器认证响应签名SigC,向终端设备发送公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT、接入结果ReI和协调器所生成的协调器认证响应签名SigC,然后执行步骤6]。
4]可信中心收到步骤3]中协调器发送的信息后,进行如下处理:
a)检查公钥撤销查询标识QFPK的比特0和比特1的值,若比特0和比特1的值都为1,则执行b)操作;若比特0的值为1而比特1的值为0,则执行c)操作;若比特0的值为0而比特1的值为1,则执行d)操作;
b)级联无线多跳网络中可信中心的CA证书的主体身份IDS-CA、无线多跳网络标识IDNet、终端设备的身份标识IDT和终端设备公钥的有效期TLT-PK,构成终端设备公钥PKID-T,级联无线多跳网络中可信中心的CA证书的主体身份IDS-CA、无线多跳网络标识IDNet、协调器的身份标识IDC和协调器公钥的有效期TLC-PK,构成协调器公钥PKID-C,然后查询可信中心中该无线多跳网络的基于ID的公钥撤销表,生成终端设备公钥撤销结果ReT和协调器公钥撤销查询结果ResultC-PK,使用可信中心私钥SKID-S对协调器公钥撤销查询结果Resul tC-PK进行签名计算,生成公钥撤销查询签名SigS,向协调器发送公钥撤销查询标识QFPK、协调器公钥撤销查询询问N3、终端设备公钥撤销结果ReT、协调器公钥撤销查询结果ResultC-PK和公钥撤销查询签名SigS。协调器公钥撤销查询结果ResultC-PK由终端设备询问N2、协调器公钥撤销结果ReC、协调器的身份标识IDC和协调器公钥的有效期TLC-PK构成;
c)级联无线多跳网络中可信中心的CA证书的主体身份IDS-CA、无线多跳网络标识IDNet、协调器的身份标识IDC和协调器公钥的有效期TLC-PK,构成协调器公钥PKID-C,然后查询可信中心中该无线多跳网络的基于身份的公钥撤销表,生成协调器公钥撤销查询结果ResultC-PK,使用可信中心私钥SKID-S对协调器公钥撤销查询结果ResultC-PK进行签名计算,生成公钥撤销查询签名SigS,向协调器发送公钥撤销查询标识QFPK、协调器公钥撤销查询询问N3、协调器公钥撤销查询结果ResultC-PK和公钥撤销查询签名SigS;
d)级联无线多跳网络中可信中心的CA证书的主体身份IDS-CA、无线多跳网络标识IDNet、终端设备的身份标识IDT和终端设备公钥的有效期TLT-PK,构成终端设备公钥PKID-T,然后查询可信中心中该无线多跳网络的基于身份的公钥撤销表,生成终端设备公钥撤销结果ReT,向协调器发送公钥撤销查询标识QFPK、协调器公钥撤销查询询问N3和终端设备公钥撤销结果ReT;
可信中心向协调器发送的这些信息在协调器与可信中心之间和安全通道中传输。该安全通道可由协调器和可信中心通过非交互方式建立,如:协调器利用自身的私钥和可信中心公钥生成会话密钥,而可信中心利用自身的私钥和协调器公钥生成会话密钥。
5]协调器收到步骤4]中可信中心发送的信息后,进行如下处理:
a)验证公钥撤销查询标识QFPK和协调器公钥撤销查询询问N3是否与步骤3中协调器发送的对应值一致,若不一致,则丢弃信息;否则,则检查公钥撤销查询标识QFPK的比特0和比特1的值,若比特0和比特1的值都为1,则执行b)操作;若比特0的值为1而比特1的值为0,则执行c)操作;若比特0的值为0而比特1的值为1,则执行d)操作;
b)验证终端设备公钥撤销结果ReT。若终端设备公钥PKID-T已被撤销,则中止该认证过程;否则,执行e)操作后协调器使用协调器私钥SKID-C对公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT、接入结果ReI、协调器公钥撤销查询结果ResultC-PK和公钥撤销查询签名SigS进行签名计算,生成协调器认证响应签名SigC,向终端设备发送公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT、接入结果ReI、协调器公钥撤销查询结果ResultC-PK、公钥撤销查询签名SigS和协调器认证响应签名SigC;
c)执行e)操作后协调器使用协调器私钥SKID-C对公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT、接入结果ReI、协调器公钥撤销查询结果ResultC-PK和公钥撤销查询签名SigS进行签名计算,生成协调器认证响应签名SigC,向终端设备发送公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT、接入结果ReI、协调器公钥撤销查询结果ResultC-PK、公钥撤销查询签名SigS和协调器认证响应签名SigC;
d)验证终端设备公钥撤销结果ReT。若终端设备公钥PKID-T已被撤销,则中止该认证过程;否则,执行e)操作后协调器使用协调器私钥SKID-C对公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT和接入结果ReI进行签名计算,生成协调器认证响应签名SigC,向终端设备发送公钥撤销查询标识QFPK、终端设备认证询问N2、临时公钥y·P、终端设备的身份标识IDT、接入结果ReI和协调器所生成的协调器认证响应签名SigC;
e)利用预安装的ECC域参数PECC生成用于ECDH交换的临时私钥y、临时公钥y·P,使用自己的临时私钥y和步骤2中终端设备发送的临时公钥x·P进行ECDH计算,得到主密钥种子(x·y·P)abscissa,对其进行扩展KD-HMAC-SHA256((x·y·P)abscissa,N1||N2||“base key expansion for key and additionalnonce”),生成终端设备与协调器之间的基密钥BK,生成接入结果ReI。
6]终端设备收到步骤3]或步骤5]中协调器发送的信息后,进行如下处理:
a)验证终端设备询问N2、终端设备的身份标识IDT和公钥撤销查询标识QFPK的比特0的值是否与步骤2中终端设备发送的对应值一致,若不一致,则丢弃信息;
b)级联无线多跳网络中可信中心的CA证书的主体身份IDS-CA、无线多跳网络标识IDNet、协调器的身份标识IDC和协调器公钥的有效期TLC-PK,构成协调器公钥PKID-C,使用协调器公钥PKID-C和预安装的基于身份的公开参数PID验证协调器认证响应签名SigC,若签名验证不成功,则丢弃该信息;
c)若公钥撤销查询标识QFPK的比特0的值为1时,则执行d)操作;否则,执行e)操作;
d)使用可信中心公钥PKID-S和预安装的基于身份的公开参数PID验证公钥撤销查询签名SigS,若签名验证不成功,则丢弃该信息;否则,验证协调器公钥撤销查询结果ResultC-PK中终端设备询问N2、协调器的身份标识IDC和协调器公钥的有效期TLC-PK的一致性以及协调器公钥撤销结果ReC。若满足一致性且协调器公钥未被撤销,则执行e)操作;否则,丢弃该信息;
e)终端设备使用自己的临时私钥x和协调器的临时公钥y·P进行ECDH计算,得到主密钥种子(x·y·P)abscissa,对其进行扩展KD-HMAC-SHA256((x·y·P)abscissa,N1||N2||“base key expansion for key and additional nonce”),生成终端设备与协调器之间的基密钥BK。
单播密钥协商过程的具体实现如下,参见图4。
1]认证成功后,协调器要建立或更新单播密钥时,协调器进行如下处理:
协调器利用随机数产生器产生协调器单播密钥协商询问N4,向终端设备发送协调器单播密钥协商询问N4;
2]终端设备收到步骤1]中协调器发送的信息后,进行如下处理:
a)级联终端设备和协调器的64位扩展地址,得到终端设备和协调器的MAC地址的级联值ADDID;
b)终端设备利用随机数产生器产生终端设备单播密钥协商询问N5,然后计算KD-HMAC-SHA256(BK,ADDID||N4||N5||“pairwise key expansion forunicast and additional keys and nonce”),生成单播加密密钥UEK、单播完整性校验密钥UCK和单播消息鉴别密钥UMAK。BK是终端设备在认证过程中产生的终端设备与协调器之间的基密钥BK。
c)用单播消息鉴别密钥UMAK通过HMAC-SHA256算法对协调器单播密钥协商询问N4和终端设备单播密钥协商询问N5进行消息鉴别码计算,生成单播密钥协商时终端设备的消息鉴别码HMACTU,然后向协调器发送协调器单播密钥协商询问N4、终端设备单播密钥协商询问N5和单播密钥协商时终端设备的消息鉴别码HMACTU。
3]协调器收到步骤2]中终端设备发送的信息后,进行如下处理:
a)验证协调器单播密钥协商询问N4的一致性,若不一致,则丢弃该信息;
b)级联终端设备和协调器的64位扩展地址,得到终端设备和协调器的MAC地址的级联值ADDID。
c)计算KD-HMAC-SHA256(BK,ADDID||N4||N5||“pairwise key expansionfor unicast and additional keys and nonce”),生成单播加密密钥UEK、单播完整性校验密钥UCK和单播消息鉴别密钥UMAK。BK是终端设备在认证过程中产生的终端设备与协调器之间的基密钥BK。利用所生成的单播消息鉴别密钥UMAK通过HMAC-SHA256算法本地计算协调器单播密钥协商询问N4和终端设备单播密钥协商询问N5的消息鉴别码,与所接收到信息中的单播密钥协商时终端设备的消息鉴别码HMACTU比较,若相同,则执行操作d);否则,丢弃该信息。
d)用协调器所生成的单播消息鉴别密钥UMAK通过HMAC-SHA256算法对终端设备单播密钥协商询问N5进行消息鉴别码计算,生成单播密钥协商时协调器的消息鉴别码HMACCU,然后向终端设备发送终端设备单播密钥协商询问N5和单播密钥协商时协调器的消息鉴别码HMACCU。
4]终端设备收到步骤3]中协调器发送的信息后,进行如下处理:
a)验证终端设备单播密钥协商询问N5的一致性,若不一致,则丢弃该信息;
b)利用本地所生成的单播消息鉴别密钥UMAK通过HMAC-SHA256算法本地计算终端设备单播密钥协商询问N5的消息鉴别码,与所接收到信息中的单播密钥协商时协调器的消息鉴别码HMACCU比较,若相同,则单播密钥协商成功;否则,丢弃该信息。
组播密钥协商过程的具体实现如下,参见图5。
1]单播密钥协商成功后,协调器要建立或更新组播密钥时,协调器进行如下处理:
a)利用随机数产生器产生组播密钥通告标识NM和组播通告主密钥NMK;
b)利用协调器和终端设备之间的单播加密密钥UEK对组播通告主密钥NMK进行加密;
c)利用协调器和终端设备之间的单播消息鉴别密钥UMAK通过HMAC-SHA256算法对组播密钥通告标识NM和已加密的组播通告主密钥NMKE进行消息鉴别码计算,得到组播密钥协商时协调器的消息鉴别码HMACCM。其中,组播密钥通告标识NM为一个整数,存在初始值,在每次密钥更新通告时该值加1。若通告的密钥不变,则该值保持不变。
d)向终端设备发送组播密钥通告标识NM、已加密的组播通告主密钥NMKE和组播密钥协商时协调器的消息鉴别码HMACCM。
2]终端设备收到步骤1中协调器发送的信息后,进行如下处理:
a)利用协调器和终端设备之间的单播消息鉴别密钥UMAK通过HMAC-SHA256算法本地计算组播密钥通告标识NM和已加密的组播通告主密钥NMKE的消息鉴别码,与所接收到信息中的组播密钥协商时协调器的消息鉴别码HMACCM比较,若不相同,则丢弃该信息;
b)检查组播密钥通告标识NM是否单调递增,若不是单调递增,则丢弃该信息;
c)利用协调器和终端设备之间的单播加密密钥UEK对已加密的组播通告主密钥NMKE进行解密,得到组播通告主密钥NMK,利用KD-HMAC-SHA256算法进行扩展,则生成组播加密密钥MEK和组播完整性校验密钥MCK;
d)利用协调器和终端设备之间的单播消息鉴别密钥UMAK通过HMAC-SHA256算法对组播密钥通告标识NM进行消息鉴别码计算,得到组播密钥协商时终端设备的消息鉴别码HMACTM;
e)向协调器发送组播密钥通告标识NM和组播密钥协商时终端设备的消息鉴别码HMACTM。
3]协调器收到步骤2]中终端设备发送的信息后,进行如下处理:
a)利用协调器和终端设备之间的单播消息鉴别密钥UMAK通过HMAC-SHA256算法本地计算组播密钥通告标识NM的消息鉴别码,与所接收到信息中的组播密钥协商时终端设备的消息鉴别码HMACTM比较,若不相同,则丢弃该信息;
b)比较组播密钥通告标识NM与步骤1]协调器所发送的对应值,若相同,则本次组播密钥协商成功;否则,丢弃该信息。
c)利用KD-HMAC-SHA256算法对自己生成的组播通告主密钥NMK进行扩展,则生成组播加密密钥MEK和组播完整性校验密钥MCK。
终端设备认证接入之后,终端设备和可信中心利用公私钥对采用基于ID的非交互密码分享形式建立安全通道。当终端设备作为协调器运行认证接入时,上述建立的安全通道也就可以保护认证过程中协商器和可信中心之间的通信。