[发明专利]一种具备元数据隐私保护和源追责能力的路由方法有效

专利信息
申请号: 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的报文。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010792899.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top