工程科学与技术   2019, Vol. 51 Issue (3): 158-166
面向无人机网络的密钥管理和认证协议
朱辉1,2, 张业平1, 于攀1, 张之义2, 武衡1, 赵海强2     
1. 西安电子科技大学 网络与信息安全学院,陕西 西安 710071;
2. 通信网信息传输与分发技术重点实验室,河北 石家庄 050081
基金项目: 国家重点研发计划项目(2016YFB0800804);国家自然科学基金项目(61672411);通信网信息传输与分发技术重点实验室开放课题(KX172600023);西安科技创新计划项目(201809168CX9JC10)
摘要: 针对无人机在组网过程中面临的密钥管理与身份认证问题,面向不同应用场景分别提出了有控制站支持的无人机网络认证方案(ASUSG)和无控制站支持的无人机网络认证方案(ASWGS),实现了无人机间的信任建立与安全通信。ASUSG基于椭圆曲线密码体制设计,充分利用控制站计算资源充足、通信链路稳定的特点,将控制站作为密钥生成中心,令控制站实时分发无人机公钥,并辅助无人机完成身份认证、建立安全的通信链路,减少了无人机承担的计算任务。ASWGS基于身份密码体制设计,通过门限密钥技术实现了网内节点在无控制站支持下的身份认证与密钥协商。具体组网时,节点采用遮蔽密钥的方式在公开信道传输用于生成节点私钥的秘密份额,实现了节点私钥的分布式生成。该过程通过预置节点公钥份额的方式能够以较少的计算开销有效阻止恶意节点的干扰行为。安全性分析显示,所提方案能够有效抵御无人机网络面临的身份假冒、消息重放、中间人攻击等多种典型的安全威胁。同时,基于国密算法在Linux平台上对上述两种认证方案进行了仿真实现,实验结果表明,相比于现有方案,本方案中的无人机节点在密钥管理的过程中所需计算开销更少。本文方案能够实现无人机在资源受限条件下的安全组网认证与会话密钥协商。
关键词: 无人机组网    认证方案    椭圆曲线    基于身份密码体制    门限密钥    
Key Management and Authentication Protocol for UAV Network
ZHU Hui1,2, ZHANG Yeping1, YU Pan1, ZHANG Zhiyi2, WU Heng1, ZHAO Haiqiang2     
1. School of Cyber Engineering, Xidian University, Xi’an 710071, China;
2. Science and Technology on Communication Networks Laboratory, Shijiazhuang 050081, China
Abstract: In order to solve the issue of key management and authentication for unmanned aerial vehicle (UAV) networks, two authentication schemes targeted for different UAV networking conditions were proposed in the paper, including a scheme for UAV network supported by ground station (ASUSG) and a scheme for UAV network without ground station (ASWGS). Based on the elliptic curve cryptography, ASUSG was designed by making full use of the scenario characteristics of stable communication link and sufficient computing resource vesting in the ground station. In ASUSG, the ground station was the key generation center, which could distribute public key to UAV instantly and assist UAVs in achieving identity authentication, establishing secure communication links and reducing the computing task of UAVs. ASWGS was designed based on identity-based encryption, in which the identity authentication and key agreement of nodes could be realized without the support of ground station using the threshold cryptography. When networking, the masking key was exploited by nodes to transmit the secret share used to generate the node’s private key in the open channel, realizing the distributed generation of the node’s private key. By presetting the share of the public key of the node in UAVs, the interference behaviors of malicious nodes were effectively prevented with less computational overhead. Security analysis demonstrated that the schemes proposed in the paper could resist many typical security threats effectively, such as identity spoofing attack, message replay attack, man-in-the-middle attack and so on. At the same time, a simulation experiment was designed on Linux platform based on the national secret algorithm. Experimental results showed that compared with the existing schemes, UAV nodes in ASUSG and ASWSG need less computational overhead in the process of key management. It can be concluded that these two schemes could achieve the authentication and secure communication of UAV networking under resource-limited scenarios.
Key words: UAV network    authentication scheme    elliptic curve    identity-based encryption    threshold cryptography    

近年来,无人机(unmanned aerial vehicle,UAV)技术飞速发展,被广泛应用于军事侦察、物流运输、抢险救灾[1]等领域,为人们生产和生活带来了极大的便利。然而,无人机组网也面临着不可忽视的安全问题,与无人机通信对抗相关的研究已经成为当今学术界的研究热点。Leela Krishna等[2]根据无人机大小、攻击形式、攻击目标总结了针对无人机网络的不同攻击方案。为了保障无人机的安全通信,密钥管理作为密码体制的核心之一,是无人机网络安全目标实现的前提和关键。

无人机网络是一个典型的移动自组织网络(mobile ad hoc network,MANET),该网络中的密钥管理主要面临以下问题[3]:首先,无人机使用无线通信,节点通信内容极易被攻击者窃取;其次,该网络缺乏基础设施,无法使用传统有线网络中的密钥管理手段;此外,由于无人机存储和计算能力有限,复杂的密码算法会因为资源消耗大、响应时间长而无法部署;最后,无人机相对移动速度快,导致网络的拓扑结构频繁变化,节点间的信任关系复杂。

针对MANET的密钥管理方案主要分为两类。一部分研究者主张采用组密钥,即由多个协议参与方相互协作共同协商一个密钥。杜春来等[4]提出了一种椭圆曲线域中基于双向身份认证的组密钥管理框架,使用门限系统增强了系统的稳健性;冯涛等[5]介绍了一种轮数较少、组成员之间计算公平的组密钥管理方案。然而,以二者为代表的组密钥管理方案会因节点加入或离开导致的密钥更新产生较大开销。Fu等[6]提出了基于集群的方式减少因节点变化导致需要更新组密钥的节点数,但簇头节点的计算量和通信量大。由于不能很好地解决节点变化带来的密钥更新问题,组密钥在应用上存在一定的局限性。另一部分研究者倾向于采用对密钥,即在单播通信中为通信双方提供身份验证的密钥。对比不同的对密钥管理方案,Singh等[7]指出非对称密钥管理具有较高的安全性。Capkun等[8]提出基于证书的完全自组织密钥管理方案,不需任何第三方,但是节点的存储量和计算量都较大,且只能从概率上保证节点间的证书链。韩磊等[9]利用预分配的秘密值设计了基于身份的非对称密钥管理方案,该方案运行时无需CA参与,且在密钥更新时节点间无需通信,但节点的计算量很大。Khalili等[10]提出利用Shamir的(k,n)门限秘密分享思想[11]实现CA的信任分布化的密钥管理思路,使用身份作为请求节点公钥,k个节点使用密钥份额合成请求节点私钥;Deng等[12]具体化了此方案,但并没有对节点的身份进行认证,无法防止恶意节点篡改请求节点生成的私钥。李慧贤等[13]通过在分布式密钥生成过程中引入局部注册中心的方式,实现了节点的双向认证,解决了门限方案的恶意节点识别问题,但同时也增加了节点通信和计算的开销。

综上所述,现有的密钥管理方案在可行性和安全性上有了较大的改进,但是上述方案并非针对无人机组网认证设计,在无人机场景中使用存在一定的不合理性。作者分析了无人机在不同条件下的运行情况,提出了面向有控制站支持的无人机网络认证方案(authentication scheme for UAV network supported by ground station,ASUSG)和面向无控制站支持的无人机网络认证方案(authentication scheme for UAV network without ground station,ASWGS),实现了无人机间的安全通信。ASUSG基于椭圆曲线密码体制设计,将计算资源充足,通信链路稳定的控制站作为密钥生成中心,负责分发更新节点密钥,并且参与无人机间身份认证,在信任建立的过程中无人机所承担的计算量很少。ASWGS基于身份密码体制设计,在没有控制站的情况下,使用身份公钥,通过门限技术,仅依靠网络内节点相互协作分布式地生成节点私钥;私钥份额传递时无需安全信道,并且利用存储的公钥份额完成无人机的身份认证,能够识别出恶意节点;无人机利用生成的密钥对能够完成节点间的身份认证和密钥协商,建立安全通信。

1 系统模型及攻击者定义 1.1 系统模型

在执行近距离任务时,无人机网络模型存在两种节点:控制站节点(GS)和无人机节点。GS拥有较多的计算和存储资源,在ASUSG中承担主要的计算任务,负责密钥的生成分发;无人机节点计算和存储资源有限,移动速度快,需要在受控状态下进行身份认证,该模型如图1所示。

图1 控制站支持的无人机网络模型 Fig. 1 UAV network model with ground station

在执行远距离任务时,ASWGS无人机网络模型中只存在无人机节点,需要利用较少的计算和通信资源在网络拓扑结构频繁变化的情况下与其他无人机节点进行组网,该模型如图2所示。

图2 无控制站支持的无人机网络模型 Fig. 2 UAV network model without ground station

1.2 攻击者定义

在通信对抗性不断提升的趋势下,攻击者能够针对无人机通信链路高度开放的特性,通过信道监听、消息重放等方式对无人机组网认证实施干扰。这一场景具备安全协议形式化分析常用的Dolve–Yao模型[14]所定义“网络处于攻击者控制之下”的特征。因此,认为该场景下的攻击者也拥有与Dolev–Yao攻击者模型中的攻击者相似的网络攻击能力,具体定义如下:

1)能够监听、拦截、存储所有经过无人机网络的消息,包括认证信息;

2)能够破解截获的认证信息,并利用得到的关键参数伪造认证消息;

3)能够通过代理节点与无人机建立链接,发送构造或截获的认证消息参与无人机组网认证。

结合文献[15]对无人机网络安全威胁的研究,攻击者对无人机网络发起的攻击主要有:

1)伪装无人机攻击。攻击者截获或构造无人机的认证消息,伪装为合法节点向服务器或者网络中其他无人机请求认证。

2)服务器欺骗攻击。攻击者截获或构造服务器的认证响应消息,伪装GS与无人机建立连接。

3)重放攻击。攻击者可以窃听无人机或者GS的认证消息,并重发此消息给相应节点通过认证。

4)中间人攻击。恶意的无人机节点拦截、篡改、伪造合法无人机节点之间的认证消息,窃听双方通信。

2 面向有控制站支持的无人机网络认证方案(ASUSG)

ASUSG基于椭圆曲线设计,由系统初始化、组网认证与密钥协商、密钥更新、无人机的加入与退出这4部分组成。

2.1 ASUSG系统初始化

ASUSG系统的初始化在无人机升空准备阶段进行,主要包括系统参数和认证信息的生成和分发。

Step 1 GS选择一条合规的椭圆曲线以及该曲线上的点构成群 ${E_p}(a,b)$ 的一个生成元 $G(x,y)$ ,要求 $G$ 的阶为大素数 $q$ ;GS选择合适的散列函数 $H$ 、加密算法 $ENC$ 和解密算法 $DEC$ ;GS选择满足新鲜性要求的时间间隔 $\Delta T$

Step 2 GS生成公私钥对:生成一个随机数 ${d_0} \in [1,q - 1]$ 作为GS私钥;计算 ${P_0} = ({x_0},{y_0}) = {d_0}(x,y)$ 作为GS公钥。

Step 3 GS生成节点密钥表:生成随机数 $\{ {d_i}|{d_i} \in [1,q - 1],0 \le i \le n\} $ 作为节点的私钥,其中, $n$ 为一个预计无人机数量的值,然后计算对应的公钥 $\{ {P_i}|{P_i} = {d_i}G,0 \le i \le n\} $ 。随后GS再为节点生成随机数 $\{ RAN{D_i}|RAN{D_i} \in [1,q - 1],0 \le i \le n\} $ 。计算完成之后,GS将节点的密钥对、随机数存储在密钥表中。

Step 4 GS向节点 ${v_i}(1 \le i \le n)$ 传输参数 $ \{ {E_p}(a,b),$ $q,G,{P_0},H,ENC,DEC,\Delta T\} $ 、所有节点的公钥和 ${v_i}$ 的私钥及 $RAN{D_i}$ 。节点在收到参数后存储并调整自身时钟,使其与GS的时钟同步。

2.2 组网认证与密钥协商

1)无人机节点与GS之间的认证

无人机首先与GS进行双向认证,构建安全的通信链路。

Step 1 节点 ${v_i}$ 对当前系统时间 $M$ 进行签名,请求GS认证。节点 ${v_i}$ 生成随机数 $k \in [1,q - 1]$ ,计算点 $({x_t},{y_t}) = kG$ 和签名信息: $r = (H(M) + {x_t})od \;q$ $s = $ $({(1 + {d_i})^{ - 1}} \cdot (k - r \cdot {d_i}))od \;q$ ;计算完成后,验证 $(r,s)$ 的有效性。若存在等式 $r = 0,r + k = q,s = 0$ 成立,说明签名无效,应重新签名。签名验证通过后,将 $\{ M,r,s\} $ 发送给GS。

Step 2 GS对 ${v_i}$ 进行认证,认证通过后生成会话密钥。

Step 2–1 认证过程。GS先验证 $T - M < \Delta T$ 是否成立,其中 $T$ 为当前系统时间,验证通过后检验签名 $(M',r',s')$ 的有效性,计算: $t = (r' + s')od\;q$ $({x'_t},{y'_t}) = $ $s'G + t{P_i}$ $R = (H(M') + {x'_t})od \;q$ 。如果 $R = r'$ ,则 ${v_i}$ 通过认证,否则认证失败。

Step 2–2 生成会话密钥。GS计算 $({x_{\rm{c}}},{y_{\rm{c}}}) = {d_0}{P_i}$ ${K_{0i}} = H({x_{\rm{c}}}||{y_{\rm{c}}})$ ,其中 ${K_{0i}}$ 作为GS与节点 ${v_i}$ 的会话密钥。随后,GS计算密文消息 ${m_{\rm{c}}} = EN{C_{{K_{0i}}}}(RAN{D_i} + 1)$ ,并更新本地随机数 $RAN{D_i} = RAN{D_i} + 1$ 。将 ${m_{\rm{c}}}$ 发送给 ${v_i}$

Step 3 节点 ${v_i}$ 对GS进行认证。节点 ${v_i}$ 计算 $({x_{\rm{c}}},{y_{\rm{c}}}) = {d_i}{P_0}$ ,得到会话密钥 ${K_{0i}} = H({x_{\rm{c}}}||{y_{\rm{c}}})$ ,用该会话密钥解密得到消息 ${m'_{\rm{c}}} = DE{C_{{K_{0i}}}}({m_{\rm{c}}})$ 。如果 ${m'_{\rm{c}}} = RAN{D_i} + 1$ ,则GS通过认证,并更新本地随机数 $RAN{D_i} = RAN{D_i} + 1$ ,否则认证失败。认证完成后,无人机节点 ${v_i}$ 与GS之间使用会话密钥 ${K_{0i}}$ 进行安全通信。

2)无人机节点之间的组网认证

无人机节点间的轻量化认证借助GS实现。节点 ${v_i}$ 生成随机数 $RAN{D_{ij}}$ ,通过GS将 $RAN{D_{ij}}$ 发送给节点 ${v_j}$ :节点 ${v_i}$ 向GS发送 ${m_{0i}} = EN{C_{{K_{0i}}}}(RAN{D_{ij}})$ ;GS解密得到 $RAN{D_{ij}} = DE{C_{{K_{0i}}}}({m_{0i}})$ ,向节点 ${v_j}$ 发送密文 ${m_{0j}} = $ $ EN{C_{{K_{0j}}}}(RAN{D_{ij}})$ ;节点 ${v_j}$ 解密得到 $RAN{D_{ij}} = DE{C_{{K_{0j}}}}({m_{0j}})$

Step 1 节点 ${v_i}$ ${v_j}$ 发起认证请求。 ${v_i}$ 先计算节点间会话密钥 ${K_{ij}} = H({x_{ij}}||{y_{ij}})$ $({x_{ij}},{y_{ij}}) = {d_i}{P_j}$ ,再计算密文 ${m_{ij}} = EN{C_{{K_{ij}}}}(RAN{D_{ij}}||{T_i})$ ,其中 ${T_i}$ 为当前系统时间,将 ${m_{ij}}$ 发送给 ${v_j}$

Step 2 节点 ${v_j}$ ${v_i}$ 进行认证。

Step 2–1  ${v_j}$ 计算会话密钥 ${K_{ij}} = H({x_{ji}}||{y_{ji}})$ $({x_{ji}},{y_{ji}}) =$ $ {d_j}{P_i}$ ,解密得到 $RAN{D'_{ij}}||{T_i} = DE{C_{{K_{ij}}}}({m_{ij}})$ ;随后,获取当前系统时间 ${T_j}$ ,如果 ${T_j} - {T_i} < \Delta T$ 成立,则验证 $RAN{D'_{ij}} = RAN{D_{ij}}$ 是否成立,若等式成立,则 ${v_j}$ 通过认证,否则认证失败。

Step 2–2 节点 ${v_j}$ 使用 ${K_{ij}}$ 计算密文得到 $\;{c_{ij}}= \;$ $ENC{_{{K_{ij}}}}((RAND{_{ij}}+1)||{T_j})$ ,然后更新随机数 $RAN{D_{ij}} =$ $ RAN{D_{ij}} + 1$ ,将 ${c_{ij}}$ 发送给 ${v_i}$

Step 3 节点 ${v_i}$ ${v_j}$ 进行认证。 ${v_i}$ 解密得到 $(RAN{D'_{ij}} + 1)||{T_j} = DE{C_{{K_{ij}}}}({c_{ij}})$ ,获取当前系统时间 ${T'_i}$ ,如果 ${T'_i}$ 满足 ${T'_i} - {T_j} < \Delta T$ ,则验证 $RAN{D'_{ij}} + 1 =$ $ RAN{D_{ij}} + 1$ 是否成立,若等式成立,则 ${v_j}$ 通过认证,更新随机数 $RAN{D_{ij}} = RAN{D_{ij}} + 1$ ,否则认证失败。认证完成后,无人机节点 ${v_i}$ ${v_j}$ 之间使用会话密钥 ${K_{ij}}$ 进行安全通信。

2.3 密钥更新

为保证密钥的安全性,每个节点使用的密钥对需要以固定时间进行更新,具体步骤如下:

Step 1 节点 ${v_i}$ 生成新的密钥对。 ${v_i}$ 生成随机数 ${r_m} \in [1,q - 1]$ ,计算 ${P_{im}} = ({x_{im}},{y_{im}}) = {r_m}({x_i},{y_i}) = {r_m}{P_i}$ ;随后,节点将 $\{ {P_{im}},{r_m}\} $ 通过安全信道发送至GS。

Step 2 GS收到 $\{ {P_{im}},{r_m}\} $ 后验证需要更新的密钥对的正确性。GS计算 ${P'_{im}} = ({x'_{im}},{y'_{im}}) = {r_m}{P_i}$ ;若 ${P'_{im}} = {P_{im}}$ ,则 ${v_i}$ 的密钥对更新成功,GS更新本地密钥表,否则密钥更新失败。

2.4 ASUSG中无人机的加入与退出

ASUSG中,GS定期在网络内广播无人机节点的公钥信息表,在更新无人机节点公钥的同时,将新加入网络的无人机及其公钥添加到公钥信息表中,并且注销退出网络的无人机和其公钥信息,以满足网络内节点动态变化时的认证需求。

3 面向无控制站支持的无人机网络认证方案(ASWGS)

ASWGS由系统初始化、无人机生成加密密钥对、无人机之间的组网认证、无人机的加入和退出、密钥更新这5部分组成。

3.1 ASWGS系统初始化

系统初始化在无人机执行远距离飞行任务前预执行。GS利用BDH参数生成算法产生素数 $p$ 和以 $p$ 为阶的两个循环群 ${G_1}$ ${G_2}$ $ G_1$ $G_2$ 上的运算分别为加法和乘法,并且 ${G_1}$ 是一个GDH群[16];选择一个双线性映射 $e:{G_1} \times {G_1} \to {G_2}$ ,选取一个随机生成元 $P \in {G_1}$ ;选择散列函数 ${H_1}:{\{ 0,1\} ^*} \to G_1^*$ ${H_2}:{G_2} \to {\{ 0,1\} ^m}$ ,选择整数域上散列函数 $H$ ;选择一条合规的椭圆曲线,以及该曲线上的点构成群 ${E_p}(a,b)$ 的一个生成元 $G(x,y)$ ,要求 $G$ 的阶为大素数 $q$ ;选择加密算法 $ENC$ 和解密算法 $DEC$ ;选择满足新鲜性要求的时间间隔 $\Delta T$ ;设置一个特殊的比特串 $N$ 为退网标志信息;根据系统中的无人机数量设置门限值为 $t$ ,生成多于无人机数量的 $n$ 个身份信息 $ID$ ,为新入网节点预留部分 $ID$

首先,GS选择随机数 $s \in {Z_p}$ 作为主密钥,在 ${Z_p}$ 中随机生成一个 $t - 1$ 次的多项式:

$f(x) = s + {l_1}x + {l_2}{x^2} + \cdots + {l_{t - 1}}{x^{t - 1}}(od\;p)$ (1)

然后,GS根据式(1)计算 $n$ 个子密钥 ${s_i} = f(i)$ ,其中 $i$ 为身份信息编号,将子密钥记为私钥份额,并且利用私钥份额计算 ${P_i} = {s_i}P$ ,记为公钥份额,用于无人机节点检验私钥份额的有效性。

最后,GS分配给无人机身份信息和相应私钥份额、公钥份额,并将其他身份信息、公钥份额、系统参数 $\{ {E_p}(a,b),q,G,{G_1},{G_2},e,P,H,{H_1},{H_2},ENC,DEC,\Delta T,N\} $ 一起预置在无人机中,初始化工作完成。

3.2 无人机生成加密密钥对

无人机执行远距离飞行任务的过程中生成加密密钥对,加密密钥对在无人机节点间的组网认证中使用。节点 ${v_i}$ 的加密公钥由其身份信息 $I{D_i}$ 和时间参数 $W$ 生成, $PI{D_i} = {H_1}(I{D_i}||W)$ 。为了恢复其加密私钥, ${v_i}$ 需要向无人机网络内的节点发送请求信息,通过任意 $t$ 个合法节点的认证后, ${v_i}$ 可恢复加密私钥 ${d_i} = sPI{D_i}$

Step 1 节点 ${v_i}$ 首先计算 $PI{D_i} = {H_1}(I{D_i}||W)$ ,然后计算 ${X_i} = {s_i}PI{D_i}$ ,并在网络内广播 ${X_i}$

Step 2  ${v_j}$ 收到 ${X_i}$ 后,计算 $PI{D_i} = {H_1}(I{D_i}||W)$ ,再对 ${v_i}$ 进行身份认证:

$e({X_i},P) = e(PI{D_i},{P_i})$ (2)

若等式成立,则计算 ${Y_j} = {s_j}{s_i}{P_{IDi}}$ ,并发送给 ${v_i}$ ,否则丢弃。

Step 3 节点 ${v_i}$ 收到 ${Y_j}$ 后对 ${v_j}$ 进行身份认证:

$e({Y_j},P) = e({s_i}PI{D_i},{P_j})$ (3)

若等式成立,则记录 ${Y_j}$ ${v_j}$ 的编号,否则丢弃。

节点 ${v_i}$ 收集到 $t$ 个合法节点的 ${Y_j}$ 后可根据门限密钥方案计算 ${d'_i}$

${d'_i} = \sum\limits_{\theta = 1}^t {{l_\theta }(0){s_{{{\textit{z}}_\theta }}}{s_i}PI{D_i}} $ (4)

式中,

${l_\theta }({\textit{z}}) = \prod\limits_{j = 1,j \ne \theta }^t {\frac{{{\textit{z}} - {{\textit{z}}_j}}}{{{{\textit{z}}_\theta } - {{\textit{z}}_j}}}}\text{。} $

其中, ${{\textit{z}}_j}$ ${{\textit{z}}_\theta }$ 为节点编号。然后 ${v_i}$ 利用 ${s_i}$ 即可恢复加密私钥 ${d_i} = {{s}^{ - 1}_i}{d'_i}$

3.3 无人机之间的组网认证

无人机之间使用生成的加密密钥对进行身份认证,从而建立信任,安全通信。

Step 1 节点 ${v_i}$ ${v_j}$ 发起认证请求。

Step 1–1 节点 ${v_i}$ 生成用于协商会话密钥的认证密钥对,选择随机数 $PRI{_i} \in [1,q - 1]$ 作为认证私钥,计算认证公钥 $PU{B_i} = PR{I_i}G$ ;生成大随机数 ${r_i}{\text{,}}RAND{_{ij}} \in$ $ Z_p^*$

Step 1–2 节点 ${v_i}$ 使用 ${v_j}$ 的加密公钥 $PI{D_j}$ 计算密文 $C = \left\langle {{r_i}PI{D_i},(RAN{D_{ij}}||{T_i}) \oplus {H_2}(g_{ij}^{{r_i}})} \right\rangle $ ,其中 ${g_{ij}} = e({d_i},PI{D_j})$ ${T_i}$ 为当前系统时间。

Step 1–3 节点 ${v_i}$ 计算点 $({x_t},{y_t}) = {r_i}G$ ,然后对 $RAN{D_{ij}}$ 进行签名: $r = (H(RAN{D_{ij}}) + {x_t})od \;q$ $s = (1 + $ $PR{I_i})^{ - 1}\cdot (k - r \cdot PR{I_i})od \;q$ 。计算完成后验证 $(r,s)$ 的有效性 $(r \ne 0,r + {r_i} \ne q,s \ne 0)$ 。签名验证通过后将 $\{ r,s,C,PU{B_i}\} $ 发送给节点 ${v_j}$

Step 2 节点 ${v_j}$ ${v_i}$ 进行认证。

Step 2–1 节点提取 $(RAN{D_{ij}}||{T_i}) \oplus {H_2}(g_{ij}^{{r_i}})$ ${r_i}PI{D_i}$ ,计算:

$\;\; RAN{D_{ij}}||{T_i} = {H_2}(e({d_j},{r_i}PI{D_i})) \oplus (RAN{D_{ij}}||{T_i}) \oplus {H_2}(g_{ij}^{{r_i}}){\text{。}}$

Step 2–2 首先验证 ${T_j} - {T_i} < \Delta T$ 是否成立, ${T_j}$ 为当前系统时间,验证通过后提取 $r'{\text{、}}\!\!s'{\text{、}}\!\!PU{B_i}$ ,验证签名 $(RAN{D'_{ij}},r',s')$ 的有效性,计算: $t = (r' + s')od \;q$ $({x'_t},{y'_t}) = s'G + tPU{B_i}$ $R = (H(RAN{D'_{ij}}) + {x'_t})od \;q$ 。如果 $R = r'$ ,则 ${v_i}$ 通过认证,并确认 ${v_i}$ 的认证公钥为 $PU{B_i}$ ,否则认证失败。

Step 2–3 节点 ${v_j}$ 选择随机数 $PR{I_j} \in [1,q - 1]$ 作为认证私钥,计算认证公钥 $PU{B_j} = PR{I_j}G$ ,再提取 $PU{B_i}$ ,计算节点间的会话密钥 ${K_{ij}} = H({x_{ji}}||{y_{ji}})$ $({x_{ji}},{y_{ji}}) =$ $ PR{I_j}PU{B_i}$ ,最后用 ${K_{ij}}$ 计算密文 $ {C_{{\rm{rand}}}} = ENC{_{{K_{ij}}}}((RAND{_{ij}}+$ $1)|| {T_j})$ ,将 $\{ {C_{{\rm{rand}}}},PU{B_j}\} $ 发送给 ${v_i}$

Step 3 节点 ${v_i}$ ${v_j}$ 进行认证:提取 $PU{B_j}$ ,计算会话密钥 ${K_{ij}} = H({x_{ij}}||{y_{ij}})$ $({x_{ij}},{y_{ij}}) = PR{I_i}PU{B_j}$ ;再提取密文 ${C_{{\rm{rand}}}}$ ,计算 $(RAN{D'_{ij}} + 1)||{T_j} = DE{C_{{K_{ij}}}}({C_{{\rm{rand}}}})$ ,获取当前系统时间 ${T_i}^\prime $ ;如果 ${T_i}^\prime - {T_j} < \Delta T$ 成立,则验证 $RAN{D^\prime_{ij}} + 1 = RAN{D_{ij}} + 1$ 是否成立,若等式成立,则 ${v_j}$ 通过认证。认证完成后,无人机节点 ${v_i}$ ${v_j}$ 之间使用会话密钥 ${K_{ij}}$ 进行安全通信。

3.4 ASWGS中无人机的加入与退出

ASWGS中,新加入的无人机节点从GS中获取一个预留的身份信息,并获得相应的私钥份额和公钥份额,同时GS将系统参数、所有身份信息和公钥份额预置在无人机内。凭借获得的有效身份信息和私钥份额,无人机能够在空中请求其他节点生成私钥,加入无人机网络。网络中的无人机请求退出时,需要使用私钥份额对特殊的标记信息进行签名,并在网内广播该消息。数字签名采用基于身份的BLS方案[17],具体的步骤如下所示:

Step 1 退网节点 ${v_i}$ 从系统预置信息中提取 $N$ ,使用私钥份额对 $N$ 签名: $\overline N = {H_1}(N)$ $S\!ig = {s_i}\overline N $ ;随后, ${v_i}$ 在网络内广播签名消息 $\{ N,S\!ig\} $

Step 2 节点 ${v_j}$ 收到签名消息后,检验消息的有效性,首先计算 ${{\overline N} ^\prime } = H_1(N)$ ,再验证等式 $(S\!ig,P) = $ $({{\overline N} ^\prime },{P_i})$ 是否成立。若等式成立,则验证通过,确定 ${v_i}$ 退出网络,注销 ${v_i}$ 的身份信息和公钥份额;否则丢弃消息,断开连接。

3.5 更新节点加密密钥对

节点 ${v_i}$ 加密密钥对的生成与时间有关。系统当前时间 $t({t_\beta } \le t \le {t_{\beta + 1}})$ 时刻节点 ${v_i}$ 加密公钥为 $PI{D_i} = $ ${H_1}(I{D_i}||W)$ ,其中 $W = {t_\beta }$ ${v_i}$ 需要在 ${t_{\beta + 1}}$ 时刻更新加密密钥对,密钥更新周期为 $\Delta t$ ,满足 ${t_{\beta + 1}} = {t_\beta } + \Delta t$ ,根据不同的需求设定 $\Delta t$ (如12、6 h)。

4 方案分析 4.1 可行性分析

1)面向有控制站支持的无人机网络认证方案(ASUSG)中,命题1~2保证了方案的可行性。

命题1  ASUSG中节点与GS及节点间协商的会话密钥是相等的。

证明:因为 $ ({x_{ij}},{y_{ij}}) = {d_i}{P_j} = {d_i}{d_j}G = {d_j}{P_i} = ({x_{ji}},{y_{ji}}) $ ,所以计算得到的密钥相等: ${K_{ij}} = H({x_{ij}}||{y_{ij}}) =H({x_{ji}}||{y_{ji}}) $

证毕。

命题2  ASUSG中节点与GS认证过程所使用的数字签名方案是可行的。

证明:若有 $ (M',r',s') = (M,r,s) $ ,则有:

$\begin{aligned} &\quad \quad \quad \quad t = (r' + s')od\;{\rm{ }}q,\\ & ({x'_t},{y'_t}) = s'G + t{P_i} = \\ & \quad ({(1 + {d_i})^{ - 1}} \cdot (k - r' \cdot {d_i}))G + t \cdot {d_i} \cdot G = \\ & \quad ({(1 + {d_i})^{ - 1}} \cdot (k - r' \cdot {d_i}))G + (r' + s'){d_i}G = \\ & \quad \quad \quad \quad \quad kG = ({x_t},{y_t}), \end{aligned}$

可以得到:

$R = (H(M') + {x'_t})od \;q = r{\text{。}}$

证毕。

2)在面向无控制站支持的无人机网络认证方案(ASWGS)中,密钥管理和身份认证的可行性依赖命题3~5。

命题3  ASWGS中节点生成加密密钥对时的认证过程是可行的。

证明:通过判断式(2)和(3)是否成立检验节点的合法性,因为 $\left\langle {P,{X_i},{P_{IDi}},{P_i}} \right\rangle $ 是有效的Diffie-Hellman组,所以可以得到:

$\begin{aligned} {\text{式}}(2){\text{左}} = & e({X_i},P) = e({s_i}PI{D_i},P) = e{(PI{D_i},P)^{{s_i}}} = \\ & e(PI{D_i},{s_i}P) = e(PI{D_i},{P_i}) = {\text{式}}(2){\text{右}}, \end{aligned}$

同理,能够得到:

$ \begin{aligned} {\text{式}}(3){\text{左}} = & e({Y_j},P) = e({s_j}{s_i}PI{D_i},P) = e{(PI{D_i},P)^{{s_i}{s_j}}} = \\ & e({s_i}PI{D_i},{s_j}P) = e({s_i}PI{D_i},{P_j}) = {\text{式}}(3){\text{右}}{\text{。}} \end{aligned} $

证毕。

命题4  ASWGS中节点生成加密密钥对时基于门限机制恢复加密私钥是可行的。

证明:节点加密私钥的恢复基于门限机制, ${v_i}$ 的加密公钥为 $PI{D_i}$ ,加密私钥为 ${d_i} = sPI{D_i}$ 。由于 ${s_{{{\textit{z}}_j}}} = f({{\textit{z}}_j})$ ,其中 ${{\textit{z}}_j}$ 是节点编号,可知 $({{\textit{z}}_j},{s_{{{\textit{z}}_j}}})$ $f(x)$ 上的一个点,注意到若 $a \ne b$ ,则 ${{\textit{z}}_a} \ne {{\textit{z}}_b}$ ,所以在恢复 ${v_i}$ 的加密私钥时,t个节点计算的 ${Y_1},{Y_2}, \cdots ,{Y_t}$ 可以给出多项式 $f(x){s_i}PI{D_i}$ 上的t个不同的点 $({{\textit{z}}_j},{s_{{{\textit{z}}_j}}}{s_i}PI{D_i})$ ,而 $f(x){s_i}PI{D_i}$ $t - 1$ 次多项式,故利用Lagrange内插公式由这t个点得到:

$\begin{aligned} & {d'_i} = \sum\limits_{\theta = 1}^t {{l_\theta }(0){s_{{{\textit{z}}_\theta }}}{s_i}PI{D_i}} = (\sum\limits_{\theta = 1}^t {{l_\theta }(0){s_{{{\textit{z}}_\theta }}}} ){s_i}PI{D_i} = \\ & \quad \;\; f(0){s_i}PI{D_i} = s{s_i}PI{D_i}, \end{aligned}$

其中,

${l_\theta }({\textit{z}}) = \prod\limits_{j = 1,j \ne \theta }^t {\frac{{{\textit{z}} - {{\textit{z}}_j}}}{{{{\textit{z}}_\theta } - {{\textit{z}}_j}}}} ,$

${{\textit{z}}_j}$ ${{\textit{z}}_\theta }$ 为节点编号。

进而,能够恢复出加密私钥:

${d_i} = s_i^{ - 1}{d'_i} = s_i^{ - 1}{s_i}sPI{D_i} = sPI{D_i}{\text{。}}$

证毕。

命题5  ASWGS中节点之间组网认证所使用的加密方案是可行的。

证明:加密方案使用双线性映射的特性,因为

$\begin{aligned} g_{ij}^{{r_i}} = & e{({d_i},PI{D_j})^{{r_i}}} = e{(sPI{D_i},PI{D_j})^{{r_i}}} = e{(PI{D_i},PI{D_j})^{{r_i}s}} = \\ & e{(sPI{D_j},PI{D_i})^{{r_i}}} = e(sPI{D_j},{r_i}PI{D_i}) = e({d_j},{r_i}PI{D_i}), \end{aligned} $

可以得到:

${H_2}(e({d_j},{r_i}PI{D_i})) = {H_2}(g_{ij}^{{r_i}}),$

所以,能够解密得到原始信息

$RAN{D_{ij}}||{T_i} = {H_2}(e({d_j},{r_i}PI{D_i})) \oplus (RAN{D_{ij}}||{T_i}) \oplus {H_2}(g_{ij}^{{r_i}})\text{。}$

证毕。

4.2 安全性证明

1)面向有控制站支持的无人机网络认证方案(ASUSG)的安全性依赖命题6~7。

命题6  ASUSG中节点与GS认证时的数字签名在适应性选择消息攻击下是存在性不可伪造的。

证明:因为ASUSG基于SM2数字签名算法设计,由文献[18]可知,SM2数字签名方案在适应性选择消息攻击下是存在性不可伪造的,所以,命令6得证,具体证明过程省略。

命题7  ASUSG中节点与GS及节点间密钥协商在窃听者存在的情况下是安全的。

证明:ASUSG使用了椭圆曲线上的DH密钥交换协议[19],计算出协商的会话密钥等同于求解椭圆曲线上的CDH问题,由CDH问题的难解性假设可知,攻击无法实施,密钥交换满足保密性。

2)面向无控制站支持的无人机网络认证方案(ASWGS)的安全性依赖命题8~10。

命题8  节点生成加密密钥对时的认证过程是安全有效的,能够识别出恶意节点。

证明:首先,节点的身份信息 $ID$ 以及通过 ${H_1}$ 生成的 $PID$ 只有合法的节点知道。设敌手A已经获得 $n$ 个身份信息 $I{D_i}(1 \le i \le n,I{D_i} \ne ID)$ 以及其对应公钥 $PI{D_i}$ ,如果A获得 $ID'$ ,使得 ${H_1}(ID'||W) = {H_1}(ID||W) = $ PID,则A可以拥有合法的节点公钥,但是由于 ${H_1}$ 是随机预言机,其产生均匀分布的随机数,这意味着A无法从已知的身份信息和公钥中获得任何相关信息,身份攻击无法进行。其次,对于节点 ${v_i}$ ${v_j}$ ,ASWGS分别通过检验式(2)和(3)是否成立验证 ${v_i}$ ${v_j}$ 的合法性,能够识别出恶意节点,其中,已知 ${P_i}$ $PI{D_i}$ ,而A在不知道 ${s_i}$ 的情况下,计算 ${X_i} = {s_i}PI{D_i}$ 是一个 ${G_1}$ 上CDH问题,在计算上是不可行的,同理,不能计算 ${Y_j}$ 。最后,根据 ${G_1}$ 上离散对数问题的难解性,A获得 ${X_i}$ 后无法计算出 ${s_i}$ ,进而不能求得 $PI{D_i}$ ,同理,获得 ${Y_j}$ 后无法计算出 ${s_j}$

证毕。

命题9  节点恢复加密私钥的过程是安全的。

证明:由Shamir的门限密钥管理方案可知,当 ${v_i}$ 得到少于 $t$ 个有效节点认证回应时,汇聚它们的 ${Y_j}$ 至多可得到 $t - 1$ 次多项式 $f(x){s_i}PI{D_i}$ 上的 $t - 1$ 个点,无法恢复出加密私钥。并且,根据 ${G_1}$ 上的离散对数问题的难解性, ${v_i}$ 无法根据 ${Y_j}$ 和GS公开的公钥份额获取其私钥份额; ${v_i}$ 生成加密私钥后,无法获取GS主密钥。

证毕。

命题10  节点之间的组网认证中使用的加密方案是语义安全的。

证明:ASWGS的加密方案基于文献[16]所提方案设计。如果敌手A通过密文 $C$ 能获取任何关于 $(RAN{D_{ij}}||{T_i})$ 的信息,则A可以通过使用IBE方案[16]加密明文m的密文得到关于m的信息,但是在BDH假设下,该IBE方案在选择明文攻击下是不可区分的,所以ASWGS的加密方案是语义安全的。

证毕。

4.3 安全性分析

1)抵御伪装无人机攻击

ASUSG中,为了伪装成合法节点通过GS认证,敌手A需要构造有效签名 $(M,r,s)$ ,根据命题6,A如果没有合法节点的私钥,就无法通过GS的认证,进而,不能与其他节点进行认证。

ASWGS中,在节点生成加密私钥时,没有合法的身份信息和私钥份额,根据命题8,A无法加入到无人机的通信,不能请求生成加密私钥,同时,因为缺少合法节点的私钥份额,A无法通过合法性认证,进而,无法伪装成合法节点参与节点生成加密私钥的过程;节点之间的组网认证中,A没有加密私钥,不能生成合法的认证消息请求其他节点的认证,并且根据命题10,A没有目标节点 ${v_j}$ 的加密私钥,无法获得 $RAN{D_{ij}}$ ,进而,不能通过请求节点 ${v_i}$ 的认证。

2)抵御服务器欺骗攻击

ASUSG中,为了伪装成GS,敌手A需要构造密文消息 ${m_{\rm c}} = EN{C_{{K_{0i}}}}(RAN{D_i} + 1)$ ,其中 $RAN{D_i}$ 是GS与节点 ${v_i}$ 之间共享的秘密值。根据命题6,A无法获得 ${K_{0i}}$ ,不能解密中间消息得到 $RAN{D_i}$ ,无法伪造 ${m'_{\rm{c}}} = {m_{\rm c}}$ 通过 ${v_i}$ 的认证,不能进行服务器欺骗攻击。

3)抵御重放攻击

ASUSG中节点与GS认证时,节点通过对时间戳签名确保认证请求的新鲜,利用共享随机数 $RAND$ 的更新验证GS响应消息的新鲜性,因敌手A无法对时间戳签名,不能同步 $RAND$ ,无法进行重放攻击。ASUSG和ASWGS节点之间的认证中,为了保证消息的新鲜性,节点请求认证时加密了时间戳,并在节点的响应消息中加密了更新后的随机数 $RAND$ ,A无法加密时间戳,不能同步 $RAND$ ,无法完成重放攻击。

4)抵御中间人攻击

ASUSG中,节点间借助通过GS安全传输的 $RAND$ 进行身份认证,根据1)所述,恶意节点无法伪装成合法节点与GS通信,不能获得 $RAND$ ,无法实施中间人攻击。ASWGS中,节点通过使用自己的加密私钥和目标节点的加密公钥共同加密随机数 $RAND$ 的方式与目标节点进行身份认证,根据命题10,恶意节点没有目标节点的加密私钥,获得认证参数后无法解密得到 $RAND$ ,不能生成合法的认证参数返回请求节点,并且根据1)所述,恶意节点因为没有合法节点的加密私钥,不能假冒相应节点通过目标节点的认证,因此,中间人攻击无法完成。

5 性能分析和仿真实现 5.1 性能分析

为了适应无人机在不同条件下的运行情况,作者设计了有无控制站支持的两种无人机网络认证方案,所提方案中密钥管理的部分工作由GS在系统初始化时进行,可以预处理完成,因此主要考虑无人机在私钥分布式生成时产生的开销。所提方案与分布式密钥管理方案[9,13,2021]的密钥更新开销比较,如表1所示,其中,EM表示椭圆曲线上的倍点运算,MP表示大数模幂运算,P表示双线性对运算。

表1 各方案密钥更新的开销比较 Tab. 1 Cost comparison of key update for each scheme

ASUSG借助计算资源充足的控制站管理无人机节点的密钥,把主要的计算任务集中在控制站。无人机在更新密钥的过程中负责生成新的密钥对,并将相关的密钥参数通过公开信道传输到GS,与GS仅需通信一次,相比于分布式密钥管理方案[9,13,2021],ASUSG中无人机节点的计算和通信开销很少。

ASWGS为了适应无GS支持的特性,通过自组织的方式,分布式生成无人机节点私钥。ASWGS通过适量增加无人机的存储开销,记录其他节点的公钥份额,完成与通信节点的身份认证,与文献[13,21]相比,无需获得注册中心的身份证明,减少了一定的通信量。同时在私钥生成的过程中,ASWGS利用椭圆曲线上CDH问题的难解性,使用请求节点的私钥份额保护所传输的秘密信息,不同于文献[13,2021]使用盲化因子遮蔽秘密信息的方式,有效降低了无人机节点的计算开销,如表1所示。文献[9]采用预分配秘密值的方法生成和更新密钥,节点间无需通信,但用户节点需要承担较大的计算量,为了获知节点公钥,网络中的节点均需要一次运算,并且,在同等安全强度下,密码算法所需的大数模幂运算耗时大于椭圆曲线上的倍点运算[13],结合表1可知,文献[9]方案中无人机节点的开销远大于其他方案。

5.2 仿真实现

在Intel Xeon E3–1231 3.4 GHz的Linux平台上对所提方案和相关的分布式密钥管理方案[9,13,2021]进行了仿真实现,其中,基于椭圆曲线密码体制的方案的密钥长度为224 bit,基于有限域上的离散对数问题的公钥体制的方案的密钥长度为1 536 bit。

为了进一步对比所提方案与其他分布式密钥管理方案的性能,图3比较了单个节点在密钥更新时全网节点的平均计算开销。从图3中可见:在GS的参与下,ASUSG中节点所需计算量很小;同时,ASWGS相比于同样基于门限的密钥管理方案[13,2021],在节点的计算开销上存在明显的优势;文献[9]由于基于离散对数设计,并且全网节点在密钥更新时均需计算,使得节点的计算开销远大于其他方案。

图3 各方案全网节点在密钥更新时的平均计算开销 Fig. 3 Average computational overhead of all network nodes in the key update for each scheme

此外,为了观察ASUSG和ASWGS中节点认证方案的差异,表2给出了ASUSG和ASWGS在认证过程中节点计算所需时间。从表2中可见,借助于控制站,ASUSG中节点的认证中的计算开销小于ASWGS。

表2 ASUSG和ASWGS认证中节点的计算开销 Tab. 2 Computational overhead of nodes in ASUSG and ASWGS authentication

6 结 语

针对无人机在不同条件下的组网过程,提出面向有控制站支持的无人机网络认证方案和面向无控制站支持的无人机网络认证方案,实现了无人机间的安全通信。ASUSG充分利用了控制站计算资源充足的特点,减少了无人机在密钥管理中的计算量;ASWGS使用门限技术,以自组织的方式,分布式生成无人机节点私钥,并通过存储的公钥份额进行身份认证,有效遏制了恶意节点的干扰行为。之后,使用规约论断的方式证明了方案的安全性。所提方案满足双向认证、保密性的需求,能够抵御重放攻击和中间人攻击。性能分析和仿真测试表明,与已有方案相比,所提方案在保证安全性的前提下能有效降低无人机的计算开销,适合应用在无人机组网环境中。此外,ASUSG中控制站承担了大部分的计算工作,当无人机数量较多时,必然会导致控制站产生较大的响应时延。为了让控制站能够快速部署认证方案,及时响应认证请求,下一步将着力研究密码算法的并行化。

参考文献
[1]
Xiang Gang,Hardy A,Rajeh M,et al.Design of the life-ring drone delivery system for rip current rescue[C]//Proceedings of the 2016 IEEE Systems and Information Engineering Design Symposium.Charlottesville:IEEE,2016:181–186.
[2]
Leela Krishna C G,Murphy R R.A review on cybersecurity vulnerabilities for unmanned aerial vehicles[C]//Proceedings of the 2017 IEEE International Symposium on Safety,Security and Rescue Robotics.Shanghai:IEEE,2017:194–199.
[3]
Rodday N M,de Schmidt R O,Pras A.Exploring security vulnerabilities of unmanned aerial vehicles[C]//Proceedings of the 2016 IEEE/IFIP Network Operations and Management Symposium.Istanbul:IEEE,2016:993–994.
[4]
杜春来,胡铭曾,张宏莉. 在椭圆曲线域中基于身份认证的移动ad hoc密钥管理框架[J]. 通信学报, 2007, 28(12): 53-59. DOI:10.3321/j.issn:1000-436x.2007.12.009
[5]
冯涛,王毅琳,马建峰. 一种新的基于椭圆曲线密码体制的Ad hoc组密钥管理方案[J]. 电子学报, 2009, 37(5): 918-924. DOI:10.3321/j.issn:0372-2112.2009.05.002
[6]
Fu Anmin,Zhang Gongxuan,Zhu Zhenchao.A secure and efficient fault-tolerant group key agreement protocol[C]//Proceedings of the 2013 12th IEEE International Conference on Trust,Security and Privacy in Computing and Communications.Melbourne:IEEE,2013:310–314.
[7]
Singh P,Gill N S. A Survey on key management schemes in wireless ad hoc networks[J]. International Journal of Applied Engineering Research, 2018, 13(1): 268-272.
[8]
Capkun S,Buttyan L,Hubaux J P. Self-organized public-key management for mobile ad hoc Networks[J]. IEEE Transactions on Mobile Computing, 2003, 2(1): 52-64. DOI:10.1109/TMC.2003.1195151
[9]
韩磊,刘吉强,韩臻,等. 移动ad hoc网络预分配非对称密钥管理方案[J]. 通信学报, 2012, 33(10): 26-34. DOI:10.3969/j.issn.1000-436X.2012.10.004
[10]
Khalili A,Katz J,Arbaugh W A.Toward secure key distribution in truly ad-hoc networks[C]//Proceedings of the 2003 Symposium on Applications and the Internet Workshops.Orlando:IEEE,2003:342–346.
[11]
Shamir A. How to share a secret[J]. Communications of ACM, 1979, 22(11): 612-613. DOI:10.1145/359168.359176
[12]
Deng Hongmei,Agrawal D P. TIDS:Threshold and identity-based security scheme for wireless ad hoc networks[J]. Ad Hoc Networks, 2004, 2(3): 291-307. DOI:10.1016/j.adhoc.2004.03.005
[13]
李慧贤,庞辽军,王育民. 适合ad hoc网络无需安全信道的密钥管理方案[J]. 通信学报, 2010, 31(1): 112-117. DOI:10.1109/ISCISC.2015.7387905
[14]
Dolev D,Yao A. On the security of public key protocols[J]. IEEE Transactions on Information Theory, 1983, 29(2): 198-208. DOI:10.1109/TIT.1983.1056650
[15]
Schumann J,Moosbrugger P,Rozier K Y.R2U2:Monitoring and diagnosis of security threats for unmanned aerial systems[M]//Runtime Verification.Cham:Springer,2015:233–249.
[16]
Boneh D,Franklin M K. Identity-based encryption from the Weil pairing[J]. SIAM Journal of Computing, 2003, 32(3): 586-615. DOI:10.1007/3-540-44647-8_13
[17]
Boneh D,Lynn B,Shacham H. Short signatures from the Weil pairing[J]. Journal of Cryptology, 2004, 17(4): 297-319. DOI:10.1007/s00145-004-0314-9
[18]
Information technology — Security techniques — Digital signatures with appendix — Part 3:Discrete logarithm based mechanisms AMENDMENT 1:SM2 digital signature mechanism:ISO/IEC 14888-3:2016/DAM 1:2017(E)[S].Geneva:ISO,2017.
[19]
Diffie W,Hellman M E. New directions in cryptography[J]. IEEE Transactions on Information Theory, 1976, 22(6): 644-654. DOI:10.1109/TIT.1976.1055638
[20]
罗长远,李伟,邢洪智,等. 空间网络中基于身份的分布式密钥管理研究[J]. 电子与信息学报, 2010, 32(1): 183-188. DOI:10.3724/SP.J.1146.2009.00461
[21]
王宏,李建华,赖成喆. 基于身份密码的机载自组织网络动态密钥管理[J]. 电子与信息学报, 2018, 40(8): 1985-1991. DOI:10.11999/JEIT171148