首页> 中国专利> 一种基于网络编码的WMN匿名通信方法

一种基于网络编码的WMN匿名通信方法

摘要

本发明提供一种基于网络编码的WMN匿名通信方法,包括:系统初始化;初始路由建立;网络中的节点i判定自己是转发节点、信宿节点还是非转发节点;若是转发节点,存储会话流标识到存储列表并转发初始路由建立包;若是信宿节点,存储会话流标识和信源节点与信宿节点间的用于置换加解密的共享密钥,并转发初始路由建立包;若是非转发节点,直接转发初始路由建立包;信源编码;信源节点将编码包头部附上会话流标识,并采用自己的广播密钥对该会话流标识进行加密,持续广播这些编码包,直到收到消息确认包为止;转发节点转发;信宿节点解码;匿名消息确认。本发明将机会路由协议与网络编码有机结合,在有效保证通信双方的匿名性的同时提高了网络吞吐量。

著录项

  • 公开/公告号CN107426248A

    专利类型发明专利

  • 公开/公告日2017-12-01

    原文格式PDF

  • 申请/专利权人 东北大学;

    申请/专利号CN201710790796.9

  • 发明设计人 高天寒;于爽;

    申请日2017-09-05

  • 分类号H04L29/06(20060101);H04L9/08(20060101);

  • 代理机构21109 沈阳东大知识产权代理有限公司;

  • 代理人胡晓男

  • 地址 110169 辽宁省沈阳市浑南区创新路195号

  • 入库时间 2023-06-19 03:54:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-26

    授权

    授权

  • 2017-12-26

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20170905

    实质审查的生效

  • 2017-12-01

    公开

    公开

说明书

技术领域

本发明属于网络安全技术领域,特别涉及一种基于网络编码的WMN匿名通信方法。

背景技术

随着无线通信技术的快速发展和无线网络设备的迅速普及,人们对于无线网络的需求越发迫切。无线Mesh网络(Wireless Mesh Network,WMN)作为解决“最后一公里”接入问题的理想技术,具有自组织、配置简单、可扩展性强、鲁棒性强、部署成本低等优势,已经成为无线宽带接入骨干网络的主流技术选择。WMN作为一种无线多跳网络,由于其传输介质的开放性,为攻击行为提供了便利,安全性成为制约WMN快速普及的瓶颈。此外,随着人们对个人隐私保护的逐步重视,匿名通信成为WMN安全的一个重要研究方向。

传统的WMN匿名通信方案主要依靠重路由、加密以及包填充等技术,往往以牺牲网络性能为代价。近年来,一些学者将目光转向了基于网络编码的匿名通信方案研究上。网络编码是一种融合了路由和编码的信息交换技术,其核心思想是在网络节点上对各条信道上收到的信息进行线性或者非线性的处理,然后转发给下游节点。通过网络编码可以有效降低消息的转发次数,大大提高网络吞吐量。文献“可靠的隐私保护通信”[详见Jing Y K,TeoJ C M,Leong D,et al.Reliable privacy-preserving communications for wirelessad hoc networks[C]//ICC 2015-2015 IEEE International Conference onCommunications.IEEE,2015:6271-6276.]提出了一种基于网络编码的匿名通信方案,通过采用增加虚拟接收者的方式来加强信宿节点的匿名性,其主要思想是将真实信宿节点包含在源节点与虚拟信宿节点之间的最短路径上,使得攻击者无法发现真实的信宿节点。但是在该方案中引入了不必要的消息传输,增加了系统开销,降低网络吞吐量。文献“多跳网络中基于网络编码的隐私保护”[详见Fan Y,Jiang Y,Zhu H,et al.Network Coding BasedPrivacy Preservation against Traffic Analysis in Multi-Hop Wireless Networks[J].IEEE Transactions on Wireless Communications,2011,10(3):834-843.]采用同态加密方案HEFs对网络编码中的GEV进行保护,并且证明了通过保护GEV足以保证消息内容的保密性,转发节点在收到要转发的数据包后不需要对其进行解密便可以直接对其进行操作,保证了信息传输过程中的安全性,即使有节点被妥协,也无法对GEV进行解密。但是基于同态加密的操作过程较为复杂,计算开销比较大。

可见,这些方案虽然可以解决无线网络匿名通信问题,但是在实际的应用过程中却存在着计算开销大、网络吞吐量低的特点,不利于现实环境中的大范围推广。

发明内容

针对现有技术存在的不足,本发明提供一种基于网络编码的WMN匿名通信方法。

本发明的技术方案如下:

一种基于网络编码的WMN匿名通信方法,包括:

步骤1:系统初始化,具体包括:网络中的每个节点i预先产生公私钥对并共享其公钥;网络中的每个节点i与其所有邻居节点间共享一个对称密钥作为自己的广播密钥,用于在转发过程中对数据包的会话流标识信息进行点对点加密;

步骤2:初始路由建立:信源节点计算转发节点列表,并将会话流标识通过初始路由建立包匿名发送给这些节点;

步骤3:网络中的节点i收到初始路由建立包后,判定自己在该会话流中身份:转发节点、信宿节点还是非转发节点;若是转发节点,存储会话流标识到存储列表并转发初始路由建立包;若是信宿节点,存储会话流标识和信源节点与信宿节点间的用于置换加解密的共享密钥,并转发初始路由建立包;若是非转发节点,直接转发初始路由建立包;

步骤4:信源编码:信源节点采用线性随机网络编码对消息M进行编码得到编码包,并采用置换加密保护编码包和全局编码向量GEV;

步骤5:信源节点将编码包头部附上会话流标识,并采用自己的广播密钥对该会话流标识进行加密,持续广播这些编码包,直到收到消息确认包MAP为止;

步骤6:转发节点转发;

步骤7:信宿节点解码;

步骤8:匿名消息确认:信宿节点在接收到数据包后返回消息确认包MAP进行消息确认;

步骤9:若信源节点还有新的消息要发送,则使用P_key和S_new从步骤4开始继续通信。

所述步骤2,包括:

步骤2.1:信源节点根据节点与信宿节点之间的最短路径成功传输一个数据包所需要的平均传输次数ETX来选择转发节点;

步骤2.2:根据转发节点构建初始路由建立包;

步骤2.3:信源节点将初始路由建立包以网络泛洪的方式广播至各个节点,并通过设置合适的TTL值以防止广播风暴。

所述步骤2.1,包括:

寻找信源节点S到信宿节点D的最短路径;

计算信源节点S到信宿节点D的最短路径成功传输一个数据包所需要的平均传输次数ETX(S-D);

对于信源节点S到信宿节点D之间的每个节点i,寻找节点i到信宿节点D的最短路径i-D;

计算节点i到信宿节点D的最短路径i-D成功传输一个数据包所需要的平均传输次数ETX(i-D);

如果ETX(i-D)<ETX(S-D),将节点i加入转发节点列表Forward_list();

输出转发节点列表Forward_list()。

所述步骤4,包括:

步骤4.1:信源节点将原始的消息M分为h个数据片;

步骤4.2:信源节点给每个数据片头部追加全局编码向量GEV;

步骤4.3:信源节点采用置换加密PE对整个数据片进行加密,PE所使用的密钥为信源节点与信宿节点间的用于置换加解密的共享密钥;

步骤4.4:随机选择编码系数,对数据片进行线性编码,生成h个编码包;

步骤4.5:对整个编码包进行置换加密。

所述步骤6,包括:

步骤6.1:网络中节点i在收到一个邻居节点i-1广播的编码包后,采用该邻居节点的广播密钥BKi-1解密得到该编码包的会话流标识;

步骤6.2:若当前节点i的存储列表中有该会话流标识,说明该节点为转发节点,则随机选择编码系数将该编码包与之前收到的来自于同一会话流的编码包编码在一起形成新的编码包,否则说明该节点不是转发节点,直接丢弃该编码包;

步骤6.3:由于置换加密对转发节点的透明性,转发节点在重编码前无需对收到的编码包进行解密操作,而是直接选择编码系数得到新的编码包;

步骤6.4:在转发节点i进行转发前,首先采用自己的广播密钥对消息的会话流标识进行加密,然后广播该编码包。

所述步骤7,包括:

步骤7.1:信宿节点收到编码包后,采用信源节点与信宿节点间的用于置换加解密的共享密钥对编码包进行解密,得到编码包内容和GEV;

步骤7.2:在收到h个线性独立的编码包后,将这h个编码包的GEV组成一个h×h的矩阵G;

步骤7.3:求得G的逆矩阵G-1,再根据M=G-1·G·M解码得到原消息M。

所述步骤8,包括:

步骤8.1:信宿节点构建与初始路由建立包IRSP结构相同的消息确认包MAP;

步骤8.2:信宿节点将该消息确认包MAP以网络泛洪的方法发送出去,并通过设置适当的TTL值防止广播风暴的产生;

步骤8.3:网络中节点根据收到的消息确认包判断自己是否为转发节点:是,则将与旧的会话流标识S_old相关的数据包清空,存储新的会话流标识S_new,S_new为空时会话结束;否则直接转发;

步骤8.4:当信源节点收到此消息确认包时,表示之前发出的消息已经被信宿节点成功收到,则不再继续广播编码包,并存储新的共享密钥和新的会话流标识。

所述初始路由建立包由多个数据段组成,每一个数据段的结构是相同的,每个数据段采用信源节点S为对应节点i生成的临时对称加密密钥进行加密,临时对称加密密钥和对应节点i标识携带在每个数据段的头部,并采用节点i的公钥进行加密。

所述步骤3,包括:

步骤3.1:网络中的节点i用自己的私钥对初始路由建立包IRSP中的每个数据段头部进行解密:如果能够成功解密得到临时对称加密密钥,则说明该节点在转发节点列表中,执行步骤3.2;否则当前节点不在转发节点列表中,当前节点i为非转发节点,直接转发初始路由建立包;

步骤3.2:采用临时对称加密密钥解密数据段的后续部分,查看标志位:若标志位为R则说明当前节点是转发节点,存储会话流标识到存储列表并转发该初始路由建立包;若标志位为D则说明当前节点是信宿节点,存储会话流标识和信源节点与信宿节点间的用于置换加解密的共享密钥,并转发该初始路由建立包。

所述步骤8.3,包括:

步骤8.3.1:当网络中节点i收到此消息确认包时用自己的私钥对该消息确认包MAP中的每个数据段头部进行解密:若能够成功解密得到Keyi,则该节点在转发节点列表中,执行步骤8.3.2;若无法成功解密,则说明该节点不在转发列表中,直接转发;

步骤8.3.2:采用Keyi解密该数据段的后续部分得到相关信息,将与旧的会话流标识S_old相关的数据包清空,存储新的会话流标识S_new,若S_new为空,则表示会话结束。

有益效果:

本发明应用在MWN匿名通信中,将机会路由协议与网络编码有机结合,在有效保证通信双方的匿名性的同时提高了网络吞吐量,能够抵御流量分析;通过置换加密对GEV和消息内容进行保护,由于置换函数与线性组合操作是可交换的,转发节点的再编码可以在加密的数据包上透明地执行,有效提升方案效率;在初始路由建立和匿名消息确认阶段实现通信双方密钥共享,降低密钥管理开销。

附图说明

图1为本发明具体实施方式的整体流程图;

图2为本发明具体实施方式的匿名通信节点模型图;

图3为本发明具体实施方式的初始路由建立包结构图;

图4为本发明具体实施方式的置换加密操作图;

图5为本发明具体实施方式的转发节点转发流程图;

图6为本发明具体实施方式的匿名消息确认包结构图。

具体实施方式

下面结合附图对本发明的具体实施方式做详细说明。

本实施方式是将机会路由协议与网络编码有机结合,通过置换加密对GEV和消息内容进行保护,由于置换函数与线性组合操作是可交换的,转发节点的再编码可以在加密的数据包上透明地执行,有效提升方案效率,在初始路由建立和匿名消息确认阶段实现通信双方密钥共享,降低密钥管理开销。

为方便后续描述,给出如表1所示的标识及说明。

表1标识及说明

一种基于网络编码的WMN匿名通信方法,将机会路由协议与网络编码有机结合,通过置换加密对全局编码向量Global Encoding Vector(GEV)和消息内容进行保护,如图1整体流程图所示,包括以下步骤:

步骤1:系统初始化,具体包括:

步骤1.1:网络中的每个节点i预先产生公私钥对(PKi,SKi)并共享其公钥PKi

步骤1.2:网络中的每个节点i与其所有邻居节点间共享一个对称密钥BKi作为自己的广播密钥,用于在转发过程中对数据包的会话流标识信息进行点对点加密;

步骤2:初始路由建立:信源节点计算转发节点列表Forward list(),并将会话流标识通过IRSP匿名发送给这些节点,以图2所示网络结构为例,具体包括:

步骤2.1:信源节点根据节点与信宿节点之间的最短路径成功传输一个数据包所需要的平均传输次数Expected number of transmissions(ETX)来选择转发节点;

首先,寻找信源节点S到信宿节点D的最短路径,即图2中的S-D=S->2->4->D;

之后,计算信源节点S到信宿节点D的最短路径成功传输一个数据包所需要的平均传输次数,即ETX(S-D)=ETX(S->2)+ETX(2->4)+ETX(4->D)(其中ETX(S->2)表示图2中信源节点S到节点2的链路成功传输一个数据包所需要的平均传输次数,ETX(2->4)表示节点2到节点4的链路成功传输一个数据包所需要的平均传输次数,ETX(4->D)表示节点4到节点D的链路成功传输一个数据包所需要的平均传输次数);

然后,对于信源节点S到信宿节点D之间的每个节点i,寻找节点i到信宿节点D的最短路径i-D;

接着,计算节点i到信宿节点D的最短路径i-D成功传输一个数据包所需要的平均传输次数ETX(i-D);

如果ETX(i-D)<ETX(S-D),将节点i加入Forward_list();

最后,输出转发节点列表Forward_list();

步骤2.2:根据转发节点列表构建初始路由建立包IRSP;如图3所示,初始路由建立包IRSP由多个数据段组成,每一个数据段的结构是相同的,数据段各部分所代表的内容见表1,每个数据段采用信源节点S为对应节点i生成的临时对称加密密钥Keyi进行加密,Keyi和对应节点i标识Ri携带在每个数据段的头部,并采用节点i的公钥PKi进行加密;

步骤2.3:信源节点将初始路由建立包IRSP以网络泛洪的方式广播至各个节点,并通过设置合适的TTL(Time To Live,该字段指定IP包被路由器丢弃之前允许通过的最大网段数量)值以防止广播风暴。

步骤3:网络中的节点i收到初始路由建立包后,判定自己在该会话流中身份:转发节点、信宿节点还是非转发节点;若是转发节点,存储会话流标识到存储列表并转发初始路由建立包;若是信宿节点,存储会话流标识和信源节点与信宿节点间的用于置换加解密的共享密钥,并转发初始路由建立包;若是非转发节点,直接转发初始路由建立包;

步骤3.1:网络中的节点i用自己的私钥对初始路由建立包IRSP中的每个数据段头部进行解密:如果能够成功解密得到临时对称加密密钥Keyi,则说明该节点在转发节点列表Forward_list()中,执行步骤3.2;否则当前节点不在转发节点列表Forward_list()中,当前节点i为非转发节点,直接转发初始路由建立包IRSP;

步骤3.2:采用临时对称加密密钥Keyi解密数据段的后续部分,查看标志位:若标志位为R则说明当前节点是转发节点,存储会话流标识到存储列表并转发该初始路由建立包IRSP;若标志位为D则当前节点是信宿节点,存储会话流标识和信源节点与信宿节点间的用于置换加解密的共享密钥P_key,并转发该初始路由建立包IRSP。

步骤4:信源编码:信源节点采用线性随机网络编码对消息M进行编码得到编码包,并采用置换加密保护编码包和GEV,如图4所示,具体包括:

步骤4.1:信源节点将原始的消息M分为h个数据片;

步骤4.2:信源节点给每个数据片头部追加全局编码向量GEV;

步骤4.3:为了保证全局编码向量GEV的保密性,信源节点采用传统的置换加密Permutation Encryption(PE)对整个数据片进行加密(包含头部追加的GEV和数据片所含信息内容),PE所使用的密钥为信源节点与信宿节点间的用于置换加解密的共享密钥P_key;

步骤4.4:随机选择编码系数,对数据片进行线性编码,生成h个编码包;

步骤4.5:对整个编码包进行置换加密。

步骤5:信源节点将编码包头部附上会话流标识,并采用自己的广播密钥对该会话流标识进行加密,采用802.11MAC协议持续广播这些编码包,直到收到消息确认包MAP为止。

步骤6:转发节点转发,如图5流程图所示,具体包括:

步骤6.1:网络中节点i在收到一个邻居节点i-1广播的编码包后,采用该邻居节点的广播密钥BKi-1解密得到该编码包的会话流标识;

步骤6.2:若当前节点i的存储列表中有该会话流标识,说明该节点为转发节点,则随机选择编码系数将该编码包与之前收到的来自于同一会话流(会话流标识相同)的编码包编码在一起形成新的编码包,否则说明该节点不是转发节点,直接丢弃该编码包;

步骤6.3:由于置换加密对转发节点的透明性,转发节点在重编码前无需对收到的编码包进行解密操作,而是直接选择编码系数得到新的编码包;

步骤6.4:在转发节点i进行转发前,首先采用自己的广播密钥BKi对消息的会话流标识进行加密,然后广播该编码包;

步骤7:信宿节点解码;

步骤7.1:信宿节点收到编码包后,采用信源节点与信宿节点间的用于置换加解密的共享密钥P_key对编码包进行解密,得到编码包内容和GEV;

步骤7.2:在收到h个线性独立的编码包后,将这h个编码包的GEV组成一个h×h的矩阵G:

步骤7.3:采用高斯消元法求得G的逆矩阵G-1,再根据M=G-1·G·M解码得到原消息;

步骤8:匿名消息确认:为了保证消息的可靠传输,以及避免转发节点过度转发消息,信宿节点在接收到数据包后需要返回消息确认包MAP进行消息确认,具体包括:

步骤8.1:信宿节点构建与初始路由建立包IRSP结构相同的消息确认包MAP,如图6所示,由相同的转发节点和信源节点构成,并将信源节点的flag2置为D;

步骤8.2:信宿节点将该消息确认包MAP以网络泛洪的方法发送出去,并通过设置适当的TTL值防止广播风暴的产生;

步骤8.3:网络中节点根据收到的消息确认包判断自己是否为转发节点:是,则将与旧的会话流标识S_old相关的数据包清空,存储新的会话流标识S_new,S_new为空时会话结束;否则直接转发;

步骤8.3.1:当网络中节点i收到此消息确认包时用自己的私钥对该消息确认包MAP中的每个数据段头部进行解密:若能够成功解密得到Keyi,则该节点在转发节点列表中,执行步骤8.3.2;若无法成功解密,则说明该节点不在转发列表中,直接转发;

步骤8.3.2:采用Keyi解密该数据段的后续部分得到相关信息,将与旧的会话流标识S_old相关的数据包清空,存储新的会话流标识S_new,若S_new为空,则表示会话结束。

步骤8.4:当信源节点收到此消息确认包时,表示之前发出的消息已经被信宿节点成功收到,则不再继续广播编码包,并存储新的共享密钥P_key和新的会话流标识S_new。

步骤9:若信源节点还有新的消息要发送,则使用P_key和S_new从步骤4开始继续通信。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号