[发明专利]一种具备元数据隐私保护和源追责能力的路由方法有效
申请号: | 202010792899.0 | 申请日: | 2020-08-07 |
公开(公告)号: | CN111884816B | 公开(公告)日: | 2022-05-17 |
发明(设计)人: | 夏雨生;陈荣茂;苏金树;陈曙晖;王小峰 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08;H04L45/00 |
代理公司: | 湖南企企卫知识产权代理有限公司 43257 | 代理人: | 任合明 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 具备 数据 隐私 保护 源追责 能力 路由 方法 | ||
1.一种具备元数据隐私保护和源追责能力的路由方法,其特征在于,该方法包括以下步骤:
第一步:系统初始化:
1.1)群初始化
1.1.1)群管理员利用KeyGen(n)生成群管理私钥gmsk,群公钥,和n个群私钥,n是群内成员的数量;
1.1.2)源向群管理员建立TLS连接并发送密钥获取请求;
1.1.3)群管理员选择n个群私钥中的一个发送给源,并将其命名为源的群私钥;
1.2)路径节点初始化:路径节点包括源S,源边界路由器B1,目的边界路由器B2和目的D;路径节点的标志符分别是源标志符ns,源边界路由器标志符n1,目的边界路由器标志符n2和目的标志符nD;
1.2.1)路径节点{S,B1,B2,D}各维护一把秘密密钥,分别是源秘密密钥ks,源边界路由器秘密密钥k1,目的边界路由器秘密密钥k2,目的秘密密钥kD;同时,每个路径节点分别维护一对非对称密钥(x,y),x为私钥,y为公钥,y=gx,其中g为椭圆曲线x25519的生成元;由此,路径节点{S,B1,B2,D}分别持有和
1.2.2)源S通过带外信道获取{B1,B2,D}的公钥和标志符{n1,n2,nD};源S利用随机数ri对其私钥xs进行随机化,获得源随机私钥
1.2.3)源S根据DH密钥交换协议,利用源随机私钥分别与源边界路由器B1的公钥y1,生成源S与源边界路由器B1的正向共享密钥与反向共享密钥与目的边界路由器B2的公钥y2,生成源S与目的边界路由器B2的正向共享密钥与反向共享密钥与目的D的公钥yD生成生成源S与目的D的共享密钥sD;
第二步:链路建立:源S通过链路建立生成“密钥-地址封装”,“密钥-地址封装”包括转发封装和返回封装;链路建立利用建链报文进行通信,每个建链报文SP均由建链头部字段,洋葱字段,负载字段,群签名字段四部分构成;其中头部字段又包括类型字段,持续时间字段,保留字段,以及源地址字段和目的地址字段;每个建链报文均被填充至512字节来防范关联攻击;具体步骤如下:
2.1)源S按照以下步骤构造正向建链报文SP→:
2.1.1)源S设置SP→中Hdrsp字段的exp字段为建链超时时间expsp,设置type字段和rev字段为0,并将源标志符ns和源边界路由器标志符n1分别设置为源地址字段和目的地址字段;
2.1.2)源S利用路径上{B1,B2,D}的公钥和标志符{n1,n2,nD},以及源S与源边界路由器B1的正向共享密钥与反向共享密钥源S与目的边界路由器B2的正向共享密钥与反向共享密钥以及源S与目的D的共享密钥sD,生成反向洋葱O←和正向洋葱O→:其中ε为随机选取的字符串;源S将正向洋葱O→放入SP→的Onion字段;
2.1.3)源S利用源S的秘密密钥ks、源S和目的D的共享密钥sD计算内层返回封装RCin:RCin←ENC(ks,IVs,expc||sD),其中,IVs是源的随机偏移量,expc是密钥-地址封装有效期,ENC代表的加密算法是AES-GCM算法,‘||’表示拼接操作;之后,源S将内层返回封装RCin写入SP→的负载字段;
2.1.4)源S利用源的群私钥gsks,对二次变换正向洋葱生成建链群签名σs:并将签名生成过程中产生的快速验证缓存缓存在本地,T1,T2,T3,均为生成群签名时产生的中间量;同时,源S利用源S与源边界路由器B1的正向共享密钥对σs进行伪随机置换生成一次置换建链群签名[σs]:其中,π代表PRP操作,之后,源S将一次置换建链群签名[σs]写入SP→的群签名字段;
2.1.5)源S将正向建链报文SP→发出;
2.2)源边界路由器B1接收到正向建链报文SP→后,按以下方式进行处理:
2.2.1)源边界路由器B1检查SP→中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP→,tcurr是源边界路由器B1接收到正向建链报文SP→的时间;
2.2.2)源边界路由器B1取出SP→内Onion字段的正向洋葱O→,利用源边界路由器B1的私钥x1对其处理,得到源S与源边界路由器B1的正向共享密钥其中是一次变换正向洋葱,之后,源边界路由器B1将写入SP→的Onion字段;将源边界路由器的标志符n1,目的边界路由器的标志符n2写入SP→中Hdrsp字段的源地址字段和目的地址字段;
2.2.3)源边界路由器B1 取出SP→内负载字段的内层返回封装RCin,利用源边界路由器秘密密钥k1,密钥-地址封装的有效期expc,源标志符ns,和2.2.2)得到的源S与源边界路由器B1的正向共享密钥计算返回封装RC:其中IV1表示源边界路由器B1的随机偏移量;
2.2.4)源边界路由器B1取出SP→内群签名字段的一次置换建链群签名[σs],利用2.2.2)得到的源S与源边界路由器B1的正向共享密钥对[σs]进行逆向PRP得到建链群签名σs:π-1代表逆向PRP操作;源边界路由器B1将建链群签名σs写入SP→的群签名字段;
2.2.5)源边界路由器B1将正向建链报文SP→发出;
2.3)目的边界路由器B2接收到正向建链报文SP→后,按以下方式进行处理:
2.3.1)目的边界路由器B2检查SP→中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP→;
2.3.2)目的边界路由器B2取出SP→中Onion字段的一次变换正向洋葱利用目的边界路由器B2的私钥x2对其处理:其中是二次变换正向洋葱;之后,源边界路由器B1将写入SP→的Onion字段;将目的边界路由器的标志符n2,目的标志符nD写入SP→中Hdrsp字段的源地址字段和目的地址字段;
2.3.3)目的边界路由器B2取出SP→中负载字段的返回封装RC,利用2.3.2)得到的源S与目的边界路由器B2的正向共享密钥对RC进行PRP操作得到一次置换返回封装[RC][1]:
2.3.4)目的边界路由器B2取出SP→内群签名字段的建链群签名σs,利用群公钥gpk对2.3.2获得的二次变换正向洋葱进行验证:验证过程会生成快速验证路由器缓存若d=0,则丢弃报文,否则,将缓存在本地;
2.3.4)目的边界路由器B2将正向建链报文SP→发出;
2.4)目的D接收到正向建链报文SP→后,按以下方式进行处理:
2.4.1)目的D检查SP→中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP→,目的D取出SP→内Onion字段的二次变换正向洋葱利用目的D的私钥xD进行处理:
2.4.2)目的D以如下方式构建反向建链报文SP←:
2.4.2.1)目的D设置SP←中Hdrsp字段的exp字段为建链超时时间expsp,设置type字段和rev字段为0,并将目的标志符nD和目的边界路由器标志符n2分别设置为源地址字段和目的地址字段;目的D将反向洋葱O←放入反向建链报文Sp←的Onion字段;
2.4.2.2)目的D利用目的秘密密钥kD,密钥地址封装有效期expc,与2.4.1)得到的源S与目的D的共享密钥sD,计算内层转发封装FCin:FCin←ENC(kD,IVD,expc||sD),并将其放入反向建链报文SP←的负载字段,IVD表示目的D的随机偏移量;
2.4.2.3)目的D取出正向建链报文SP→内负载字段的一次返回封装[RC][1],利用2.4.1)得到的源S与目的D的共享密钥sD对从[RC][1]进行PRP操作得到二次置换返回封装[RC][2]:[RC][2]=π(sD,[RC][1]);目的D将[RC][2]放入反向建链报文SP←的负载字段;
2.4.2.4)目的D将反向建链报文SP←发出;
2.5)目的边界路由器B2接受到SP←后,以如下方式处理:
2.5.1)目的边界路由器B2检查SP←中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP←;
2.5.2)目的边界路由器B2取出SP←中Onion字段的反向洋葱O←,并利用B2的私钥x2对其处理:其中是一次变换反向洋葱;之后,目的边界路由器B2将写入反向建链报文SP←的Onion字段;将目的边界路由器的标志符 n2,源边界路由器的标志符 n1分别写入反向建链报文SP←的源地址字段和目的地址字段;
2.5.3)目的边界路由器B2取出SP←内负载字段的内层转发封装FCin,利用目的边界路由器秘密密钥k2,密钥-地址封装的有效期expc,目的标志符nD,和2.5.2)得到的目的D与目的边界路由器B2的反向共享密钥计算转发封装FC:其中IV2表示目的边界路由器B2的随机偏移量;之后,目的边界路由器B2将转发封装FC写入SP←的负载字段;
2.5.4)目的边界路由器B2取出SP←内负载字段的二次置换返回封装[RC][2],利用2.5.2)得到的源S与目的边界路由器B2的反向共享密钥对[RC][2]进行PRP置换得到三次置换返回封装之后,目的边界路由器B2将[RC][3]写入SP←的负载字段;
2.5.5)目的边界路由器B2将反向建链报文SP←发出;
2.6)源边界路由器B1接收到反向建链报文SP←后,以如下方式处理:
2.6.1)源边界路由器B1检查SP←中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP←;
2.6.2)源边界路由器B1取出SP←中Onion字段的一次变换反向洋葱并利用B1的私钥x1对其处理:其中是二次变换反向洋葱;之后,源边界路由器B1将写入反向建链报文SP←的Onion字段;将源边界路由器标志符 n1,源标志符nS分别写入SP←的源地址字段和目的地址字段;
2.6.3)源边界路由器B1取出SP←中负载字段的三次置换返回封装[RC][3]和转发封装FC,利用2.6.2)得到的源S与源边界路由器B1的反向共享密钥对[RC][3]和FC进行PRP置换得到四次置换返回封装[RC][4]:和一次置换转发封装[FC][1]:源边界路由器B1将四次置换返回封装[RC][4]和一次置换转发封装[FC][1]写入SP←的负载字段;
2.6.4)源边界路由器B1将反向建链报文SP←发出;
2.7)源S接收到反向建链报文SP←后,按以下方式进行处理:
2.7.1)源S检查SP←中Hdrsp字段的exp字段的建链超时时间expsp,若tcurr>expsp则丢弃SP←;
2.7.2)源S取出SP←中Onion字段的二次变换反向洋葱并利用S的私钥xs对其处理:
2.7.3)源S取出SP←中负载字段的四次置换返回封装[RC][4]和一次置换转发封装[FC][1],利用保存的共享密钥和2.7.2)获得的源S与目的D的共享密钥sD对[RC][4]和[FC][1]进行PRP置换从而分别得到返回封装RC:和转发封装FC:
第三步:数据通信:在数据通信阶段,利用数据报文DP进行通信;每个数据报文DP均由数据头部字段,载荷字段,负载字段,签名字段四部分构成;其中头部字段又包括类型字段,持续时间字段和随机数字段;第一个数据报文将第二步最后产生的RC写入负载字段发送给目的D以支持匿名回复;具体步骤如下:
3.1)源S按照以下步骤构造正向数据报文DP→:
3.1.1)源S利用源S与目的边界路由器B2的共享密钥源S与目的D的共享密钥sD对消息m进行加密得到二次密文和一次密文其中IVm是消息m的偏移量,IVm′是消息m的置换偏移量:之后,源S将二次密文放入DP→的负载字段;
3.1.2)源S设定DP→中Hdrdp字段的exp字段为数据超时时间expdp;nonce字段为消息m的置换偏移量IVm′;目的地址字段和源地址字段为目的边界路由器标志符 n2,源边界路由器标志符 n1;此外,源S设定DP→中载荷字段为2.7.3)得到的转发封装FC;
3.1.3)源S利用源的群私钥gsks,转发封装FC,二次密文数据头部Hdrdp,生成数据群签名σ:此外,源S利用2.1.4)缓存的快速验证缓存φs,转发封装FC,二次密文数据头部Hdrdp,生成挑战c:其中H(·)代表哈希函数;之后,源S将c||σ写入DP→的签名字段;
3.1.4)源S将正向数据报文DP→发出;
3.2)当目的边界路由器B2接收到DP→,按照如下步骤处理:
3.2.1)目的边界路由器B2检查DP→中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP→;
3.2.2)目的边界路由器B2取出DP→的数据头部Hdrdp字段,载荷字段的转发封装FC,负载字段的二次密文和签名字段的挑战c,并利用2.3.4)缓存的快速验证路由器缓存对c进行验证:计算是否成立;如果不成立,则验证失败,跳转到第四步;否则继续执行;
3.2.3)目的边界路由器B2取出DP→中载荷字段的转发封装FC,利用B2的秘密密钥k2和随机偏移量IV2对FC进行解密:若解密失败,则丢弃报文;之后,目的边界路由器B2设置DP→中Hdrdp字段的目的地址字段为nD;设置DP→中载荷字段为内部转发封装FCin;
3.2.4)目的边界路由器B2取出DP→中Hdrdp字段的nonce字段的消息m的置换偏移量IVm′,利用3.2.3)获得的目的D与目的边界路由器B2的反向共享密钥对二次密文进行解密得到一次密文同时,更新DP→中Hdrdp字段的nonce字段为消息m的偏移量IVm:之后,目的边界路由器B2将一次密文写入DP→的负载字段;
3.2.5)目的边界路由器B2将正向数据报文DP→发出;
3.3)当目的D接收到DP→,按照如下步骤处理:
3.3.1)目的D检查DP→中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP→;
3.3.2)目的D取出DP→中载荷字段的内部转发封装FCin,利用目的D的秘密密钥kD和随机偏移量IVD对FCin解密:{expc,sD}←DEC(kD,IVD,FCin);
3.3.3)目的D取出DP→中nonce字段的消息m的随机偏移量IVm,和负载字段的一次密文利用3.3.2)获得的源S与目的D的共享密钥sD对进行解密得到消息m:
3.3.4)如果目的D需要发送回复消息则构造反向数据报文DP←,按照以下步骤处理:
3.3.4.1)目的D利用3.3.2)获得的源S与目的D的共享密钥sD加密回复消息m←得到一次回复密文其中是m←的随机偏移量;之后,目的D将一次回复密文放入反向数据报文DP←的负载字段;
3.3.4.2)目的D设置DP←中Hdrdp字段的exp字段为数据超时时间expdp;nonce字段为目的地址字段和源地址字段为源边界路由器标志符 n1,目的边界路由器标志符 n2;
3.3.4.3)目的D设置DP←的载荷字段为返回封装RC;之后,目的D将反向数据报文DP←发出;
3.4)当源边界路由器B1接收到反向数据报文DP←,按照如下步骤处理:
3.4.1)源边界路由器B1检查DP←中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP←;
3.4.2)源边界路由器B1取出DP←中载荷字段的返回封装RC,利用B1的秘密密钥k1和随机偏移量IV1对RC进行解密:若解密失败,则丢弃报文;之后,源边界路由器B1设置DP→中Hdrdp字段的目的地址字段为源标志符 nS;设置DP←中载荷字段为内部返回封装RCin;
3.4.3)源边界路由器B1取出DP←中Hdrdp字段的nonce字段的m←的随机偏移量计算m←的置换随机偏移量源边界路由器B1取出中负载字段的一次回复密文利用3.4.2)获得的源S与源边界路由器B1的共享密钥对一次回复密文进行加密得到二次回复密文之后,设置DP←中Hdrdp字段的nonce字段为设置DP←中负载字段为二次回复密文
3.4.4)源边界路由器B1将反向数据报文DP←发出;
3.5)当源S收到DP←后,进行如下处理:
3.5.1)源S检查DP←中Hdrdp字段的exp字段的数据超时时间expdp,若tcurr>expdp则丢弃DP←;
3.5.2)源S取出DP←中载荷字段的内部返回封装RCin,利用源S的秘密密钥kS和随机偏移量IVs解密RCin:得到sD←DEC(ks,IVs,RCin);
3.5.3)源S取出DP←中Hdrdp字段的nonce字段的m←的置换随机偏移量和负载字段的二次回复密文利用源S与源边界路由器B1的正向共享密钥对和进行解密得到一次回复密文和m←的随机偏移量再利用3.5.2)获得的源S和目的D的共享密钥sD对一次回复密文解密得到回复消息m←:
第四步:恶意流处理:一旦转发路径上的某一路由器Rr验证群签名出错,遇到恶意流,执行以下操作:
4.1)Rr发送关闭请求给源边界路由器B1,SR中包含验证出错的群签名的所属报文P和Rr的数字签名Sigr:SR={P,Sigr},其中是Rr的私钥,是Rr的公钥;
4.2)边界路由器B2接收到SR后,将其进一步转发给群管理员;
4.3)群管理员接收到SR后,利用验证SR:若是非法数字签名则丢弃;之后,打开报文P中的群签名σ来获取消息源的标志符ns←Open(gpk,gmsk,P,δ);
4.3.1)如果消息打开失败,或者ns为伪造,管理员则要求源边界路由器B1丢弃源地址为ns的报文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010792899.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种汽车排气系统金属波纹管疲劳试验机
- 下一篇:一种食品级环保透气雨鞋
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置