MANET基于轻量级CA的双向身份认证协议*

2020-08-14 06:32李春燕李佳楠陈卫涛
通信技术 2020年8期
关键词:跨域私钥公钥

李春燕,李佳楠,陈卫涛,金 鑫

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

移动自组织网络(Mobile Ad hoc Network,MANET),是由一组自主无线节点或终端自动组织形成的分布式网络,各节点相互协作并以分布式方式运行,无需固定基础设施的管理。移动自组织网结合了移动网络和计算机网络,具有无中心、自主性和移动性等特点,节点兼具主机和路由器的功能,能在不便于利用基站等固定网络基础设施的情况下提供灵活的通信方式,扩宽了移动网络的应用范围。移动自组织网络成本低且易于部署,自组织、分布式的网络结构使其具备极强的健壮性和抗毁性,因此具有广阔的应用前景和重大军事价值,能够广泛应用于医疗卫生、紧急救灾、军事指挥等各类领域。但由于无线信道开放、网络拓扑动态变化,使得移动自组织网络易受信息劫持、身份冒用、身份追踪等风险,安全问题不可忽视。认证体系是移动自组织网络安全的第一道防线,也是其密钥管理、路由通信、数据安全的基础。但由于其节点资源有限性、网络动态性和管理分布性增大了认证密钥管理的困难程度,尤其增大了跨域认证的难度。因此,设计安全、高效的认证体系对移动自组织网络的安全运行具有重大价值。

1 研究基础

移动自组织网络目前主要的安全认证机制包括集中式认证和分布式认证两类。

集中式认证将现有基于PKI[1]的证书认证机制应用到移动自组织网络中,在网络中选取节点作为CA,用于执行证书的签发、发布、撤销等工作。该认证机制需要将证书集中管理,对于计算、存储、带宽等资源有限的移动自组织网络难以直接适用,一方面大量节点的证书存储,增大CA节点的存储负担,随着节点的加入,可能使新增节点的存储无效。另一方面,CA节点的承担繁重的管理工作,存在单点故障的风险,一旦CA节点被攻击,将影响整个网络的安全运转,因此集中式认证在移动自组织网络中并不适用。

文献[2-3]提出了门限分布式方案,利用门限密码机制(t,n)实现共享密钥认证,将CA的签名密钥分成n份并由n个节点共同持有,CA功能的执行必须任意t个节点联合形成有效证书,少于t个节点则无法恢复签名密钥,因此称为门限密码机制。该机制改进了集中式CA的不足,能有效防止单点故障,具有一定容侵性,但节点的认证需要与t个节点参与通信,任意节点的证书返回有误都会使证书合成失效,使得网络开销增大,加上门限式机制的计算复杂度高、协同工作多,进一步增加系统复杂性,因此基于门限机制的共享密钥认证方式在移动自组织网络中难以取得理想效果。文献[4]提出了全局分布式认证方案,将CA节点的签名密钥分发给网络中所有节点,由各节点共同承担网络认证服务,以此增强分布式认证服务的可用性,但由于所有节点均掌握CA节点私钥,增加私钥暴露风险,降低整个系统安全性。文献[5-7]提出了轻量级CA认证的一般模型,证书由各用户自行管理,简化了证书管理的模型,提高了证书的签发效率,但没有具体提出移动自组织网络的认证协议方案。

本文在提出一个新的基于轻量级CA公钥认证机制的双向认证协议,节点的公私钥由自己产生,CA为节点颁发辅公钥,基于辅公钥认证双方只需一轮信息交互即可完成双向身份认证,降低通信传输开销。针对缺少移动自组织网络跨域认证研究的现状,提出基于信任联盟构建与临时身份签发的跨域身份认证机制,通过联盟节点互签联盟公钥建立不同安全域之间的信任关系,通过为跨域节点签发临时公钥实现跨域双向身份认证,相对于现有协议,该协议交互次数少,无需家乡域CA节点的参与,能保护用户身份的隐私,具有较高的安全性和通信效率。

2 方案描述

2.1 节点构成

移动自组织网络中节点分为三类,轻量级CA节点、普通节点和漫游节点,如图1所示。

(1)轻量级CA节点:在通信域内承担CA功能,具有丰富的计算资源和存储资源,主要负责对普通节点身份认证提供权威担保,可以根据相关算法为普通用户颁发辅公钥,为联盟域CA颁发联盟公钥,为跨域漫游节点颁发临时公钥。

(2)域内普通用户节点:MANET网内除了CA节点的其他普通节点,用于MANET网的业务通信。

(3)漫游节点:由于临时业务需求从其他域漫游到本域的节点,与本域节点通信实现跨域信息交互。

图1 节点组成

2.2 初始化

系统初始化时,轻量级CA和普通节点输入系统参数集K,执行算法G生成各自的公私钥对。轻量级CA节点生成公/私钥对(PKCA/SKCA),PKCA是CA节点的主公钥,SKCA是CA节点的私钥;普通节点Ai生成公私钥对是普通节点Ai的主公钥,是普通节点Ai的私钥。具体初始化过程参见文献[8]。

CA节点通过广播信息向本域的普通节点发送公钥PKCA,用户节点保存CA节点的公钥便于后续申请辅公钥。

2.3 协议设计

2.3.1 域内认证

当域内普通用户节点需要通信时,向CA节点发起辅公钥申请请求,普通用户节点通过交换双方辅公钥直接进行双向身份认证,以A域为例流程如图2所示。

图2 域内认证流程

(1)辅公钥生成

系统初始化完成后,普通用户节点保存自己的公私钥对。当节点Ai需要与节点Ai+1时,向本域CAA节点请求辅公钥以及对方通信节点的公钥信息。节点Ai辅公钥的申请消息如式(1)所示:

MESSAGE1:SLAVERY_PUBLIC_KEY_REQUEST

其中IDAi是节点Ai的身份标识,是节点Ai的主公钥,Tstamp1用于记录当前时间戳,避免消息重放攻击,用来进行消息完整性校验,整个消息用CAA节点的公钥对申请信息进行加密。

节点CAA收到消息(1)后,用自己私钥解密得到节点Ai的身份标识以及公钥根据节点身份标识查询节点状态列表,若状态为已注册且可信,则计算并将其与收到的做比较,若相等则表明节点的信息(1)在发送过程中未被篡改。节点CAA向节点Ai返回消息如式(1):

MESSAGE2:SLAVERY_PUBLIC_KEY_REPLY

CAA节点用自己的私钥为节点Ai的身份标识和主公钥进行签名,生成节点Ai的辅公钥节点Ai+1申请辅公钥流程与节点Ai类似,得到辅公钥

(2)域内双向认证

节点Ai需要与节点Ai+1进行身份认证时,首先交换双方的辅公钥,节点Ai首先将自身辅公钥发送给节点Ai+1;节点Ai+1收到验证请求,利用本地保存的CAA公钥验证节点Ai身份合法性,验证通过后将自身身份信息发送给Ai验证,如式(3)、(4)所示。

MESSAGE3-4:BILATERAL_AUTHENTICATION

节点Ai完成对节点Ai+1的身份认证后,通过掌握的对方主公钥发起协商会话密码过程,进而建立安全通道以发送消息。

2.3.2 跨域认证

跨域认证时,通过在多域的CA节点之间互签联盟公钥建立信任联盟,当节点漫游到异地域时,由联盟CA节点验证节点身份真实性并为其签发临时公钥,作为在异地域的认证凭证,认证过程无需家乡域CA节点的参与,减少跨域认证的交互流程。

(1)信任联盟构建

各域CA节点互签联盟公钥,形成互信互认的分布式信任联盟,各域的CA节点维护并管理联盟关系,如图3所示。

以域A和B为示例,节点CAA将向节点CAB发起联盟建立请求,消息如式(5)所示。

图3 跨域信任联盟

MESSAGE5:UNION_DOMAIN_REQUEST

其中NIDA为A域的唯一网络编号,为CAA节点的公钥。节点CAB收到消息(5)首先确认A域的真实性,再为CAA节点签发联盟公钥,并在本地保存备份,向节点CAA返回联盟公钥的同时将自身域信息一并返回,如式(6)所示。

MESSAGE6:UNION_DOMAIN_REPLAY

MESSAGE7:UNION_DOMAIN_REBACK

(2)临时身份签发

当节点漫游到异地域通信时,向异地域的CA节点请求临时公钥,漫游节点可通过临时公钥与异地域节点之间直接进行双向认证,认证过程无需家乡域的CA节点参与,流程如图4所示。

图4 跨域身份认证

以漫游节点Ai为例,当其漫游到B域时,首先向B域发起临时公钥请求,CAA节点收到临时公钥请求后,将节点CAA为节点CAB签发的联盟公钥发送给节点Ai,以此验证节点CAB的合法性,并获取CAB节点的公钥用于保护漫游节点Ai的身份信息,具体如式(8),(9),(10),(11)。

MESSAGE8-11:SIGN_TENP_PUBLIC_KEY

在式(9)中,节点Ai利用保存的家乡域CAA节点验证节点CAB的联盟身份,验证通过后通过式(10)发起临时公钥签发请求,最后由CAB为节点Ai签发的临时公钥

(3)跨域双向认证

当节点Ai需要和B域内节点Bj通信时,利用临时公钥向Bj发起认证请求,认证流程与域内认证流程类似,如式(12),(13)所示。

MESSAGE12-13:DOMIAN_BILATERAL_AUTHENTICATION

3 协议分析

3.1 安全性分析

本协议具备安全性,能够抵抗节点仿冒、消息重放等攻击,能够保护用户身份的隐私,防止用户身份信息被追踪。

仿冒攻击。当有假冒节点请求通信时,虽然可以伪造一个辅公钥,但由于假冒节点没有经过CA节点合法签名,当使用CA节点公钥进行签名验证时,被请求通信的合法节点可以比较容易判定该节点没有经CA节点的签名认证。辅公钥的用户与传统CA 作用类似,假冒者不知道CA的私钥,即时伪造身份,也容易被识别,能够有效防止仿冒节点攻击。

重放攻击。攻击者可能通过窃取网络传输链路中的消息伪装合法用户,但只是获得旧消息,消息中的时间戳能够标识身份消息的时效性,认证双方可以通过判断时戳达到防御重放攻击的目的。

隐私保护。节点的身份信息均通过加密保护,而私钥由各节点自行生成,不会在网络中传输,从而确保用户身份信息不会泄露。针对跨域认证,采用联盟CA验证和临时身份签发的方式,无需暴露用户节点自身的身份,即可实现跨域认证,能够防止用户身份被追踪。

3.2 效率分析

本协议从存储、计算和通信各方面降低了认证的资源占用,提高了节点间身份认证的效率。

通信开销。在认证协议执行过程中,节点间只需进行一轮交互,无需CA节点的参与,即可完成双向身份认证,交互次数得到减少,与传输PKI认证相比,交互次数减少了50%,同时传输认证消息仅有辅公钥、时间戳和哈希函数值,传输信息量少,所需带宽少。

存储开销。对于普通节点,用户只需存储自己公私钥对和CA节点的公钥,对于CA节点只需存储自己的公私钥对以及联盟节点之间的联盟公钥,无需集中维护用户节点的证书信息,减少了存储资源占用的需求。

计算开销。对于CA节点而言,极大的降低了计算资源占用,由于采用端到端认证,CA节点仅需在签发辅公钥、联盟公钥以及临时公钥的时候仅需密码运算,认证过程由节点双方自行完成,无需CA节点参与,有效的减少了集中式认证的计算资源需求,具有更高的效率。

4 结语

移动自组织网络动态拓扑变化、计算能力有限、带宽资源不足等问题,使得传统的认证方式无法直接适用,本文基于轻量级CA思想提出一种面向移动自组织网络双向身份认证与密钥协商协议,通过签发辅公钥的方式简化证书管理流程,确保用户私钥私密性的同时提高用户身份凭证管理的效率,针对跨域信息共享,提出一种基于联盟公钥的信任联盟构建机制,由联盟CA节点实现漫游用户节点临时身份的签发,通过临时身份实现跨域双向身份认证,跨域过程中用户无需暴露自身身份信息,确保了用户身份信息的隐私性,认证过程无需家乡域CA节点的参与,减少了认证流程,提高了身份认证的效率。

猜你喜欢
跨域私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
基于多标签协同学习的跨域行人重识别
为群众办实事,崂山区打出“跨域通办”组合拳
混合跨域神经网络的草图检索算法
比特币的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
G-SRv6 Policy在跨域端到端组网中的应用
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案
国密SM2密码算法的C语言实现