1.一种无人机之间认证与密钥协商方法,其特征在于,所述方法包括以下步骤:S1.地面站生成系统公共参数和自身私钥,具体包括:S1.1、设GF(q)为一个有限域,其
2 3
中q是一个大素数,表示GF(q)的大小,地面站在GF(q)上选择椭圆曲线Eq(a,b):y=x+ax+b(mod q),其中(a,b)∈GF(p),U是Eq(a,b)上的基点;
S1.2、地面站选择第一随机数 作为自身私钥,其中,将该私钥s与所述基点U进行点乘运算得到地面站公钥Ppub,即Ppub=s·U;
S1.3、地面站选择自己的假名SID和两个哈希函数h1(·)和h2(·),其中h1(·)将任意长度的字符串映射为一个整数,h2(·)将任意长度的字符串映射为一个长度固定的字符串;
S1.4:地面站保存所述私钥s,公开所述椭圆曲线Eq(a,b)、大素数q、基点U、地面站公钥Ppub、地面站假名SID和两个哈希函数h1(·)和h2(·);
S2.无人机在所述地面站注册,地面站根据所述公共参数和自身私钥为每架无人机生成认证信息;
S3.无人机与无人机进行相互认证,并协商会话密钥。
2.根据权利要求1所述的无人机之间认证与密钥协商方法,其特征在于,所述S2包括以下步骤:S2.1、假设共有n架无人机,地面站为每架无人机选择第二随机数将该随机数di与所述椭圆曲线基点U进行点乘运算得到 其中 和分别是点Di的横坐标和纵坐标,即
S2.2、地面站将自身假名SID和点Di的横坐标 合并后利用所述哈希函数h1(·)生成第一哈希值,该第一哈希值和所述地面站私钥s的乘积加上所述第二随机数di得到的结果再模q得到Fi,地面站将点Di和Fi通过安全通道发送给对应的无人机,即S2.3、无人机收到Di和Fi后,选择一个挑战Ci,该挑战是嵌入在无人机中的PUF的输入,输出相应的响应Ri=PUFi(Ci);
S2.4、无人机用由所述PUF的响应Ri和收到的点Di的纵坐标 合并后利用所述哈希函数h2(·)生成的第二哈希值与收到的Fi异或得到Gi,无人机将认证信息点Di、Gi和Ci存储在内存中,即
3.根据权利要求2所述的无人机之间认证与密钥协商方法,其特征在于,所述S3包括以下步骤:S3.1、无人机α(1≤α≤n)将内存中存储的挑战Cα作为PUF的输入,PUF输出对应的响应Rα=PUFα(Cα),再将输出的响应Rα和内存中存储的点Dα的纵坐标 合并后利用所述哈希函数h2(·)生成第三哈希值,内存中存储的Gα与该第三哈希值异或得到Fα,即S3.2、无人机α产生第三随机数 将该第三随机数kα与所述椭圆曲线基点U进行点乘运算得到 其中 和 分别是点Kα的横坐标和纵坐标,无人机α再将所述Fα加上第三随机数kα,相加后的结果模q得到Jα,即 和Jα=(Fα+kα)mod q;
S3.3、无人机α把内存中存储的点Dα、所述点Kα和Jα通过公共通道发送给无人机β(1≤β≤n,α≠β);
S3.4、无人机β收到无人机α发送的信息后,将收到的Jα与所述椭圆曲线基点U进行点乘运算得到Zα1,再将地面站假名SID和收到的点Dα的横坐标 合并后利用所述哈希函数h1(·)生成的第四哈希值与地面站公钥Ppub进行点乘运算得到Zα2,接着将收到的点Dα、计算得到的Zα2与收到的Kα相加,相加后的结果模q得到Zα3,将Zα1与Zα3进行比较,即比较Jα·U和如果两者相等,则无人机α通过无人机β的认证,继续S3.5,否则终止认证;
S3.5、无人机β将存储在内存中的挑战Cβ输入到PUF中,PUF输出对应的响应Rβ=PUFβ(Cβ),再将输出的响应Rβ和内存中存储的点Dβ的纵坐标 合并后利用所述哈希函数h2(·)生成第五哈希值 ,存储在内 存中的Gβ与该第五哈 希值异或得到Fβ,即S3.6、无人机β产生第四随机数 将该第四随机数kβ与所述椭圆曲线基点U进行点乘运算得到 其中点Kβ的横坐标和纵坐标分别是 和 接着无人机β将所述Fβ与第四随机数kβ相加后的结果模q得到Jβ,再用由所述 和合并后利用所述哈希函数h2(·)生成的第六哈希值与计算得到的Jβ异或得到L;
即 Jβ=(Fβ+kβ)mod q和
S3.7、无人机β把内存中存储的点Dβ、所述点Kβ和L通过公共通道发送给无人机α;
S3.8、无人机α收到信息后,将所述 和收到的点Dβ的横坐标 合并后利用所述哈希函数h2(·)生成第七哈希值,收到的L与该第七哈希值异或得到Jβ,即将Jβ与所述椭圆曲线基点U进行点乘运算得到Zβ1,再用由所述地面站假名SID和收到的点Dβ的横坐标 合并后利用所述哈希函数h1(·)生成的第八哈希值与所述地面站公钥Ppub进行点乘运算得到Zβ2,接着将收到的点Dβ、计算得到的Zβ2与收到的Kβ相加后的结果模q得到Zβ3,将Zβ1与Zβ3进行比较,即:比较Jβ·U和
如果两者相等,则无人机β通过无人机α的认证,继续S3.9,否则终止认证会话;
x y x y
S3.9、无人机α将所述第三随机数kα与点Kβ进行点乘运算得到V=(V ,V),其中V和V 分x y别是点V的横坐标和纵坐标,再将计算得到的V 、V、所述点Dα的纵坐标 和点Dβ的纵坐标合并后利用所述哈希函数h2(·)生成第九哈希值SK,将该第九哈希值作为协商出来的第一会话密钥,接着将第九哈希值SK、所述 和 合并后利用所述哈希函数h2(·)生成第十哈希值W;
x y
即计算V=kα·Kβ=(V ,V)、 和
S3.10、无人机α把所述第十哈希值W通过公共通道发送给无人机β;
x y
S3.11、无人机β收到信息后,将所述第四随机数kβ与点Kα进行点乘运算得到V=(V ,V),x y再将计算得到的V、V 、所述点Dα的纵坐标 和点Dβ的纵坐标 合并后利用所述哈希函数h2(·)生成第十一哈希值SK;
x y
即计算V=kβ·Kα=(V ,V)和
S3.12、无人机β比较收到的第十哈希值W是否等于由所述第十一哈希值SK、和 合并后利用所述哈希函数h2(·)生成的第十二哈希值若两者不等,则终止密钥协商会话,否则将所述第十一哈希值SK作为协商出来的第二会话密钥,之后无人机α与无人机β之间使用第二会话密钥SK进行通信。
4.根据权利要求3所述的无人机之间认证与密钥协商方法,其特征在于,所述方法还包括:S4.1、地面站为预先注册过的新的无人机选择第五随机数 将该第五随机数与所述椭圆曲线基点U进行点乘运算得到 其中 和
分别是点 的横坐标和纵坐标,
即
S4.2、地面站将自身假名SID和点 的横坐标 合并后利用所述哈希函数h1(·)生成第十三哈希值,该第十三哈希值和所述地面站私钥s的乘积加上所述第五随机数new new得到的结果再模q得到Fi 地面站,将点 和Fi 通过安全通道发送给新的无人机;
即计算
S4.3、新的无人机收到信息后,选择一个挑战 作为嵌入在无人机中的PUF的输入,PUF输出相应的响应S4.4、新的无人机用由所述PUF的响应 和收到的点 的纵坐标 合并后利new
用所述哈希函数h2(·)生成的第十四哈希值与收到的Fi 异或得到 即无人机再将认证信息点 和 存储在内存
中。
5.一种计算设备,其特征在于,所述计算设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至4任一项所述的无人机之间进行相互认证与密钥协商的方法。
6.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至4任一项所述的无人机之间进行相互认证与密钥协商的方法。