[发明专利]一种实现身份混淆的水下数据传输方法有效
申请号: | 201710436598.2 | 申请日: | 2017-06-12 |
公开(公告)号: | CN107276750B | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 万长胜;苏清玲;袁梦 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L9/08 | 分类号: | H04L9/08;H04L9/32;H04L29/06;H04B13/02 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 柏尚春 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 身份 混淆 水下 数据传输 方法 | ||
1.一种实现身份混淆的水下数据传输方法,其特征在于:包括如下步骤:
(1)初始化阶段:网关GW生成密钥材料,并将密钥材料分发给水下潜航器A和水下潜航器B
网关GW生成自身私钥skGW、公共密码参数pub、水下潜航器A私钥skA和水下潜航器B私钥skB,并通过预先建立好的安全信道分配给水下潜航器A和水下潜航器B,使得水下潜航器A和水下潜航器B拥有各自的密钥材料;
网关GW使用InitSys算法生成自己的私钥skGW和公共密码参数pub;该过程描述为:
{pub,skGW}←InitSys()
具体计算过程如下:
(a1)创建一个阶数q为的加法群G,g∈G为生成元;
(a2)随机生成一组私钥{skGW1,skGW2,…,skGWn∈Zq},Zq为0~q的整数集合,n为一个正整数,n越大安全强度越高;
(a3)计算对应的公钥集合
(a4)计算skGW={skGW1,skGW2,…,skGWn},pub={G,q,g,pkGW1,pkGW2,…,pkGWn};
网关GW使用Gensk算法生成水下潜航器A的私钥skA和水下潜航器B的私钥skB;该过程的描述及计算过程如下:
{skA}←Gensk(VA,pub,skGW):h0(VA)=y1,y2,…,yn,y1,y2,…,yn∈{0,1},VA为水下潜航器A的真实身份;
{skB}←Gensk(VB,pub,skGW):h0(VB)=x1,x2,…,xn,x1,x2,…,xn∈{0,1},VB为水下潜航器B的真实身份;
其中h0:G→{0,1}n为哈希函数;在密钥材料生成完成后,网关GW通过预先建立好的安全信道将密钥材料分配给水下潜航器A和水下潜航器B;初始化阶段完成后,网关GW拥有(pub,skGW),水下潜航器A拥有(VA,skA,pub),水下潜航器B拥有(VB,skB,pub);
(2)数据传输阶段:实现发送方与接收方之间的通信
当水下潜航器A需要向水下潜航器B发送消息M时,水下潜航器A首先基于双方的真实身份计算双方的一次性身份和对应参数,随后基于双方的真实身份生成共享密钥,并对信息M进行签名和加密,最后将签名、加密信息、双方的一次性身份和对应参数发送给水下潜航器B;包括如下步骤:
(21)水下潜航器A使用Confusing算法生成双方的一次性身份OTIA和OTIB和对应参数paraA和paraB;该过程描述为:
{OTIA,OTIB,paraA,paraB}←Confusing(VA,VB,pub)
具体计算过程如下:
(b1)生成两个随机数rA,rB∈Zq,
(b2)计算h1(VB)=b1,b2,…,bn,其中h1:G→{0,1}n为哈希函数,b1,b2,…,bn∈{0,1};
(b3)计算
(b4)计算paraA=rA+h2(t)∈Zq,paraB=rB+h2(t)∈Zq,其中h2:G→Zq为哈希函数;
(22)水下潜航器A使用GenkA算法生成共享密钥sk,然后使用共享密钥sk、SignM算法和EncM算法对信息M进行签名和加密,信息M的签名记为σ,加密后的信息M记为τ;该过程的描述及计算过程如下:
(c1)sk←GenkA(skA,VA,VB,pub):计算
(c2)σ←SignM(sk,M,pub):计算σ=h3(h2(sk),M)∈Zq,h3:Zq→Zq为哈希函数;
(c3)τ←EncM(sk,M,pub):计算τ=h2(sk)+M mod q;
(23)水下潜航器VA将(τ,σ,OTIA,OTIB,paraA,paraB)发送给水下潜航器VB;
当水下潜航器B接收到信息时,首先对接收到的信息进行去混淆,验证自身是否为正确的接收方,并计算发送方的真实身份,随后恢复出共享密钥,并使用验证算法和解密算法来验证并解密接收到的信息,水下潜航器B就接收到了水下潜航器A发送的信息;包括如下步骤:
(24)水下潜航器B接收到水下潜航器A发送的信息(τ,σ,OTIA,OTIB,paraA,paraB)后,首先使用Deconfusing算法去混淆,验证自身是否为正确的接收方,并计算发送方的真实身份;该过程描述为:
{VA,VB}←Deconfusing(skB,OTIA,OTIB,paraA,paraB,pub)
具体计算过程如下:
(d1)计算rA=paraA-h2(t),rB=paraB-h2(t);
(d2)检查是否成立,若不成立,则终止后续计算,因为该信息不是发送给水下潜航器B的;
(d3)计算得到发送方的真实身份;
(25)水下潜航器B使用GenkB算法恢复出共享密钥sk,再使用VerM算法和DecM算法对接收信息进行验证与解密;该过程的描述及计算过程如下:
(e1)sk←GenkB(skB,VA,VB,pub):计算h1(VA)=a1,a2,…,an,其中a1,a2,…,an∈{0,1};
(e2){T,F}←VerM(sk,M,σ,pub):计算σ'=h3(h2(sk),M)∈Zq,判断σ'=σ是否成立,若成立,则验证正确并返回T,若不成立,则验证失败并返回F;
(e3)M←DecM(sk,τ,pub):计算M=τ-h2(sk)modq,水下潜航器VB得到水下潜航器VA发送的消息M。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710436598.2/1.html,转载请声明来源钻瓜专利网。