一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于门限秘密共享的软件定义网络数据安全传输方法与流程

2022-02-24 14:10:53 来源:中国专利 TAG:


1.本发明涉及网络空间安全技术领域,尤其涉及一种基于门限秘密共享的软件定义网络数据安全传输方法。


背景技术:

2.随着网络信息化的发展,网络数据的安全传输是保障上层网络应用的安全和稳定的基础。
3.在物联网中,设备的处理能力弱、网络链路不稳定、网络环境开放、攻击面大等特点为物联网中的数据安全传输带来了严重的挑战。
4.在现有技术中,依赖于节点的强计算和续航能力的高复杂度的加密算法在物联网中的应用受到限制,使得网络中传输的数据面临更大的安全风险;同时,链路的不稳定导致数据包的丢失与重传为网络带来了额外的开销和更高的延迟。虽然软件定义网络具备灵活选路、快速响应、高效更新等优势,但是,软件定义网络的优势目前还较少被用于解决物联网中的安全问题,有的技术中虽然使用了软件定义物联网架构,但是数据安全的传输只是随机选择一条路径,数据安全仍有很大隐患。


技术实现要素:

5.鉴于上述的分析,本发明实施例旨在提供一种基于门限秘密共享的软件定义网络数据安全传输方法,用以解决现有物联网中网络数据传输安全性不足和可靠性差的问题。
6.本发明实施例提供了一种基于门限秘密共享的软件定义网络数据安全传输方法,包括如下步骤:
7.交换机接收到源主机发送的连接请求数据包后,将数据包头部消息发送给控制器;
8.控制器接收到头部消息后,根据历史通信记录和网络拓扑识别是否需要重新选择转发路径;需要,则计算得到多条新转发路径和路径权重,并更新原转发路径和路径权重;以及,指示交换机在当前多条转发路径中选择一条转发连接请求数据包至目的主机;
9.源主机接收到目的主机发送的连接请求回复后,运行k-n门限加密算法对原始数据加密处理,得到n份密文数据,根据当前多条转发路径和路径权重选择k条转发路径发送n份密文数据;
10.当目标主机接收到不重复密文数据的份数大于等于k时,对密文数据解密得到原始数据。
11.基于上述方法的进一步改进,还包括,当目标主机接收到不重复密文数据的份数小于k时,等待源主机重传密文;
12.等待源主机重传密文,包括:
13.根据当前多条转发路径的使用记录,若存在未被使用过的转发路径且未被使用过的转发路径的数量大于等于未收到数据回复的转发路径数量时,源主机对当前多条转发路
径重新计算权重,并按权重大小排序,在未被使用过的转发路径中,从权重最大的路径开始选择,重传未收到数据回复的密文数据,直至目的主机接收到不重复密文份数大于等于k;
14.否则,由控制器重新计算得到多条新转发路径和路径权重,再发送给源主机,源主机根据最新的多条转发路径和路径权重选择新转发路径重传未收到数据回复的密文数据,直至目的主机接收到不重复密文份数大于等于k。
15.基于上述方法的进一步改进,连接请求数据包中对需要进行k-n加密的数据包包头进行标记,并包含加密的k值和n值;
16.初始化时在交换机上预置了对数据包包头标记进行判断的流表规则,交换机接收到连接请求数据包后,对数据包包头进行流表规则匹配,若具有标记,则为k-n加密的连接请求数据包,并通过packetin消息将数据包头部消息发送给控制器;否则,按照其他流表规则进行正常转发。
17.基于上述方法的进一步改进,控制器接收到头部消息后,根据数据包头部消息获取源主机和目的主机信息;
18.根据历史通信记录和网络拓扑识别是否需要重新选择转发路径,包括:
19.根据历史通信记录,确定是第一次建立连接,或者与上次通讯时间间隔超过预置的超时时间,则需要重新选择转发路径;或,
20.根据控制器内维护的网络全局拓扑信息,获取转发路径上交换机增减和链路增减情况,当存在交换机增减和/或链路增减,则需要重新选择转发路径;或,
21.通过对发送的packetout消息和接收的packetin消息进行抓包分析,识别出探测链路拥塞或丢包率超过预置阈值,则需要重新选择转发路径。
22.基于上述方法的进一步改进,计算得到多条新转发路径,包括:
23.根据广度优先规则,得到从源主机到目的主机的所有可用路径,放入可用路径集合;基于可用路径集合,获取每条可用路径中包含的交换机,放入交换机集合;
24.遍历交换机集合,计算在可用路径集合中包含每一个交换机的可用路径条数;遍历可用路径集合,将每条可用路径上交换机的可用路径条数相加,得到每条路径的冲突系数;
25.将可用路径集合中的每条路径按照其冲突系数的大小进行排序,选择冲突系数最小且与已选择路径集合中的路径不相交的一条路径,作为路径选择结果移入已选择路径集合中,从可用路径集合中去除与已选择路径集合中的路径相交的路径,对可用路径集合中剩余的路径重复选择直至为空,得到的已选择路径集合中的路径作为多条新转发路径。
26.基于上述方法的进一步改进,路径权重根据路径上数据包的质量影响因子、历史数据包质量影响因子、数据包的状态和更新前路径权重计算得到,并且在数据包被确认时动态更新;
27.数据包被确认包括:
28.当源主机接收到数据回复时,数据包被确认接收;
29.当源主机在超时时间内未收到数据回复时,数据包被确认丢弃。
30.基于上述方法的进一步改进,路径权重的计算公式是:
31.32.其中,q
r,n
表示在路径r上第n个数据包被确认时的权重,q
r,n-1
表示在路径r上第n-1个数据包被确认时的权重,即权重更新前路径r的权重,初始q
r,0
=1,fn表示第n个数据包的质量影响因子,每当数据包被确认丢失时,数值递增1;f
n-1
是n-1个历史数据包的质量影响因子之和,初始f0=1,计算公式是:
[0033][0034]
pn表示第n个数据包的状态,计算公式是:
[0035]
pn=sn×rn
,n≥1
[0036]
其中,sn表示第n个数据包在路径r上被确认的情况,当被确认接收时,sn为1,否则sn为0;rn表示数据包被确认接收的比率。
[0037]
基于上述方法的进一步改进,源主机接收到目的主机发送的连接请求回复,包括:
[0038]
目的主机接收到连接请求数据包后,得到加密的k值和n值,为连接请求回复打上和连接请求数据包相同转发路径标签,通过与连接请求数据包相同的转发路径向源主机发送连接请求回复,源主机在预置的超时时间内接收到目的主机发送的连接请求回复。
[0039]
基于上述方法的进一步改进,还包括,当源主机在预置的超时时间内未接收到连接请求回复时,重新发送连接请求数据包,由控制器重新计算得到多条新转发路径和路径权重,发送给源主机。
[0040]
基于上述方法的进一步改进,根据当前多条转发路径和路径权重选择k条转发路径发送n份密文数据,包括:
[0041]
对路径权重从大到小排序,从权重最大开始选择k条转发路径;
[0042]
按照向上取整,对n份密文数据计算得到k条转发路径中每条路径上的密文份数平均值,若平均值大于k值,则设置为k值;
[0043]
根据平均值,对k条转发路径分配密文数据的份数;
[0044]
在k条转发路径中,从权重最大的转发路径开始依次发送密文数据,并更新转发路径对应的使用记录。
[0045]
与现有技术相比,本发明至少可实现如下有益效果之一:
[0046]
1、在软件定义网络的背景下,针对实时的拓扑变化和通信记录进行密文包转发策略的动态切换,自适应地进行策略更新,在维护网络安全的同时保障业务的连续性;
[0047]
2、结合了多路径动态选择机制,同时以路径安全权重为路径优先级,以优先级由大到小轮流的形式使密文均匀分布在各路径上,尽可能地减小了单点漏洞产生的窃听风险,并且由于控制器对所有连接的交换机的全局控制,便于获得网络拓扑数据,并在网络拓扑变化时随时进行重新计算,最大限度提高了数据的安全性;
[0048]
3、使用k-n门限加密算法进行数据加密,攻击者在窃取密文小于等于k份的时候,无法根据密文获取任何加密数据相关信息,只有获取密文大于等于k份时才能解密。有效避免数据的部分窃取而导致的数据泄露问题,提高攻击难度,保障了数据传输的安全性;
[0049]
4、数据传输使用了响应重发机制,综合考虑不同路径历史传输情况,在保证数据安全的情况下,为密文动态分配转发路径,同一密文发送和回复使用相同转发路径,有效避免了因链路阻塞导致的数据反复重发,有效抵御攻击者在链路上恶意丢弃数据包而导致的数据传输失败,从而保障数据传输功能,提高传输质量;
[0050]
5、利用软件定义网络集中管理的特点,可以更好地实现动态的路径选择和策略更新;同时,结合门限秘密共享机制在防数据窃取、容忍数据丢失等方面的优势,以提高软件定义物联网的抗数据窃取攻击能力,提升其数据的可用性,保障软件定义物联网上层服务的可靠性。
[0051]
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
[0052]
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
[0053]
图1为本发明实施例中基于门限秘密共享的软件定义网络数据安全传输方法流程图。
具体实施方式
[0054]
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
[0055]
本发明的一个具体实施例,公开了一种基于门限秘密共享的软件定义网络数据安全传输方法流程图,如图1所示。
[0056]
s10:建立数据传输,源主机发送连接请求数据包;
[0057]
需要说明的是,在开始建立数据传输时,源主机发送连接请求数据包,连接请求数据包中对需要进行k-n加密的数据包包头进行标记,并包含加密的k值和n值。
[0058]
示例性地,涉及敏感业务、安全等级高的业务,对数据包进行k-n加密标记。
[0059]
考虑到k与n的值越接近,意味着秘密恢复的限制越大,入侵者更难窃听到传输数据,根据网络拓扑中的总路径条数和转发效率综合确定k值和n值,转发路径选取过多会占用过多网络资源,带来额外的传输开销,解码消耗也会越大,因此,k值一般建议小于4。
[0060]
优选地,对于具有4条或更多可用路径的数据传输,k和n的值分别设置为3和4,而对于具有2条或3条可用路径的数据传输,k和n的值等于可用转发路径的数量。
[0061]
s11:交换机接收到源主机发送的连接请求数据包后,将数据包头部消息发送给控制器;
[0062]
具体来说,初始化时在交换机上预置了对数据包包头标记进行判断的流表规则,交换机接收到源主机发送的连接请求数据包后,对数据包包头进行流表规则匹配,若具有标记,则为k-n加密的连接请求数据包,并通过packetin消息将数据包头部消息发送给控制器;否则,按照其他流表规则进行正常转发。
[0063]
s12:控制器接收到头部消息后,根据历史通信记录和网络拓扑识别是否需要重新选择转发路径;需要,则计算得到多条新转发路径和路径权重,并更新原转发路径和路径权重;以及,指示交换机在当前多条转发路径中随机选择一条转发连接请求数据包至目的主机;
[0064]
控制器接收到头部消息后,根据数据包头部消息获取源主机和目的主机信息;根据历史通信记录和网络拓扑识别是否需要重新选择转发路径,包括:
[0065]
根据历史通信记录,确定是第一次建立连接,或者与上次通讯时间间隔超过预置的超时时间,则需要重新选择转发路径;或,
[0066]
根据控制器内维护的网络全局拓扑信息,获取转发路径上交换机增减和链路增减情况,当存在交换机增减和/或链路增减,则需要重新选择转发路径;或,
[0067]
通过对发送的packetout消息和接收的packetin消息进行抓包分析,识别出探测链路拥塞或丢包率超过预置阈值,则需要重新选择转发路径。
[0068]
由于控制器对所有连接的交换机的全局控制,便于获得网络拓扑数据,在监控到网络拓扑变化时进行重新计算,最大限度地提高了数据的安全性。
[0069]
在识别过程中,针对实时的网络拓扑变化和历史通信记录进行密文包转发策略的动态切换,自适应地进行策略更新,在维护网络安全的同时保障业务的连续性。
[0070]
为了避免单点交换机和链路被攻破导致多条路径数据被窃取,除了源主机和目的主机外,在传输路径选择时需要选择彼此不相交的路径,同时为了提高密文传输的安全性,需要有尽可能多的路径以便在重发时有更多的路径可供后续选择,所以需要计算得到最多的不重复的路径作为可用路径备用。
[0071]
需要说明的是,当路径之间的交叉点越少时,则意味着选择该路径对于后续的选择限制越少,故而通过路径上每个交换机所涉及的可用路径数量得到每个交换机的冲突系数,再将路径上包含的交换机冲突系数相加,根据最小冲突系数选取得到转发路径。
[0072]
具体来说,计算得到多条新转发路径的详细过程包括:
[0073]

根据广度优先规则,得到从源主机到目的主机的所有可用路径,放入可用路径集合;基于可用路径集合,获取每条可用路径中包含的交换机,放入交换机集合;
[0074]

遍历交换机集合,计算在可用路径集合中包含每一个交换机的可用路径条数;遍历可用路径集合,将每条可用路径上交换机的可用路径条数相加,得到每条路径的冲突系数;
[0075]

将可用路径集合中的每条路径按照其冲突系数的大小进行排序,选择冲突系数最小且与已选择路径集合中的路径不相交的一条路径,作为路径选择结果移入已选择路径集合中,从可用路径集合中去除与已选择路径集合中的路径相交的路径,对可用路径集合中剩余的路径重复选择直至为空,得到的已选择路径集合中的路径作为多条新转发路径。
[0076]
为了避免从多条新转发路径中随机选择路径时,路径的连接状态和安全状态影响传输质量,根据质量影响因子等指标对路径权重进行计算,选取权重大的路径作为实际转发路径。
[0077]
需要注意的是,路径权重根据路径上数据包的质量影响因子、历史数据包质量影响因子、数据包的状态和更新前路径权重计算得到,其中,
[0078]
数据包质量影响因子表示数据包被确认丢弃的程度,当源主机在预置的超时时间内未收到目的主机的数据回复时,数据包被确认丢弃,数据包的质量影响因子递增1,否则,数据包被确认接收,数据包质量影响因子不变;
[0079]
历史数据包质量影响因子是转发路径上历史数据包的质量影响因子之和;
[0080]
数据包的状态表示数据包被确认接收的程度,当数据包被确认接收时,数据包状
态为转发路径上数据包被确认接收的比率,当数据包被确认丢弃时,数据包的状态为0;
[0081]
更新前路径权重是转发路径上前一个数据包被确认时的权重。
[0082]
路径权重在每次数据包被确认时动态更新,数据包被确认包括:
[0083]
当源主机接收到数据回复时,数据包被确认接收;
[0084]
当源主机在超时时间内未收到数据回复时,数据包被确认丢弃。
[0085]
具体来说,路径权重的计算公式是:
[0086][0087]
其中,q
r,n
表示在路径r上第n个数据包被确认时的权重,q
r,n-1
表示在路径r上第n-1个数据包被确认时的权重,即权重更新前路径r的权重,初始q
r,0
=1,fn表示第n个数据包的质量影响因子;f
n-1
是n-1个历史数据包的质量影响因子之和,初始f0=1,计算公式是:
[0088][0089]
pn表示第n个数据包的状态,计算公式是:
[0090]
pn=sn×rn
,n≥1
ꢀꢀ
公式(3)
[0091]
其中,sn表示第n个数据包在路径r上被确认的情况,当被确认接收时,sn为1,否则sn为0;rn表示数据包被确认接收的比率,根据转发路径r上被确认接收的数据包数量与已发送的数据包总数量计算得到,用以区分不同的转发路径下收到的数据包的质量和重要性,当确认接收的比率高,能够收到的数据包的质量也被认为是较高的。
[0092]
需要说明的是,在第一次计算权重前,通过控制器在路径变更识别模块进行的链路拥塞和丢包率探测,得到路径上数据包的丢包数量和接收比率,从而得到各路径上数据包的质量影响因子和数据包状态,计算得到第一轮数据发送的路径权重值。
[0093]
权重公式综合考虑了路径上数据包的历史传输情况,侧重于数据传输安全,使得权重计算更合理。
[0094]
根据历史通信记录,如果不是第一次建立连接,且控制器识别出不需要重新选择转发路径时,原转发路径和路径权重不变。
[0095]
根据计算得到的多条新转发路径和路径权重,控制器更新原转发路径和路径权重,包括:
[0096]
如果存在旧的路径转发和路径权重,控制器先通过flowremove消息从旧的转发路径上交换机的流表规则中删除旧的路径转发和路径权重,再通过flowadd消息下发新路径转发和路径权重至新转发路径中交换机的流表规则中。
[0097]
需要说明的是,控制器发送消息告知源主机更新后的转发路径和路径权重,将连接请求数据包通过packetout消息继续向后续交换机转发。
[0098]
通过packetout消息指示交换机在当前多条转发路径中选择一条转发连接请求数据包至目的主机,需要说明的是,转发的是缓存在交换机中的完整的连接请求数据包,优选地,从当前多条转发路径中选择权重最大的路径作为交换机的转发路径。
[0099]
s13:目的主机接收到连接请求数据包后,发送连接请求回复;
[0100]
具体来说,目的主机接收到连接请求数据包后,得到加密的k值和n值,为连接请求回复打上和连接请求数据包相同转发路径标签,通过与连接请求数据包相同的转发路径向
源主机发送连接请求回复。
[0101]
s14:源主机接收到目的主机发送的连接请求回复后,运行k-n门限加密算法对原始数据加密处理,得到n份密文数据,根据当前多条转发路径和路径权重选择k条转发路径发送n份密文数据;
[0102]
需要说明的是,当源主机在预置的超时时间内未接收到连接请求回复和当前路径变动情况时,说明路径选择或者是数据通信存在问题,重新发送连接请求数据包,由控制器重新计算得到多条新转发路径和路径权重,发送消息给源主机,指示交换机发送连接请求包给目的主机,源主机再次等待一个预置的超时时间,接收连接请求回复和当前路径变动情况。示例性地,超时时间为30秒。
[0103]
当源主机在预置的超时时间内接收到目的主机发送的连接请求回复,运行k-n门限加密算法对原始数据加密处理,得到n份密文数据,对密文数据进行标号保存。
[0104]
根据当前多条转发路径和路径权重选择k条转发路径发送n份密文数据,具体方法包括:
[0105]
对路径权重从大到小排序,从权重最大开始选择k条转发路径;
[0106]
按照向上取整,对n份密文数据计算得到k条转发路径中每条路径上的密文份数平均值,若平均值大于k值,则设置为k值;
[0107]
根据平均值,对k条转发路径分配密文数据的份数;
[0108]
在k条转发路径中,从权重最大的转发路径开始依次发送密文数据,并更新转发路径对应的使用记录。
[0109]
优选地,k条转发路径中权重最大路径和权重最小路径传输密文数据的份数差不超过n份的30%。
[0110]
这种根据可用路径链路状况综合考虑选择最终转发路径,对网络状态、网络结构多变的软件定义网络具有很好的适应性。
[0111]
发送密文数据时,源主机修改数据包头部中dscp字段,为n份密文数据打上不同的数据包编号和转发路径标记,发送给目的主机,更新不同路径发送数据包记录,等待接收回复。
[0112]
s15:当目标主机接收到不重复密文数据的份数大于等于k时,对密文数据解密得到原始数据。
[0113]
目的主机接收到密文数据后,按照数据包编号保存数据,并根据密文数据中的转发路径标记,以与密文数据传输的相同转发路径向源主机发送数据回复,告知接收到的密文数据包编号。在保证数据安全的情况下,为密文动态分配转发路径,同一密文发送和回复使用相同路径,有效避免了因链路阻塞导致的数据反复重发,有效抵御攻击者在链路上恶意丢弃数据包而导致的数据传输失败,从而保障数据传输功能,提高了传输质量。
[0114]
根据连接建立过程中目的主机获取的k值和n值,目的主机可以判断接收到的不重复密文份数是否大于等于k,当目标主机接收到不重复密文数据的份数大于等于k时,对密文数据解密,完成一次传输,否则,等待源主机重传密文。
[0115]
源主机在预置的超时时间内未收到目的主机的数据回复,或者接收到的不重复密文数据回复小于k值时,重新选择路径重发未收到数据回复的数据包,包括:
[0116]
根据当前多条转发路径的使用记录,若存在未被使用过的转发路径且未被使用过
的转发路径的数量大于等于未收到数据回复的转发路径数量时,源主机对当前多条转发路径重新计算权重,并按权重大小排序,在未被使用过的转发路径中,从权重最大的路径开始选择,重传未收到数据回复的密文数据,直至目的主机接收到不重复密文份数大于等于k;
[0117]
否则,由控制器重新计算得到多条新转发路径和路径权重,再发送给源主机,源主机根据最新的多条转发路径和路径权重选择新转发路径重传未收到数据回复的密文数据,直至目的主机接收到不重复密文份数大于等于k。
[0118]
使用k-n门限加密算法进行数据加密,攻击者在窃取密文小于等于k份的时候,无法根据密文数据获取任何加密数据相关信息,只有获取密文大于等于k份时才能解密。有效避免数据的部分窃取而导致的数据泄露问题,提高攻击难度,保障了数据传输的安全性。
[0119]
与现有技术相比,本实施例提供的一种基于门限秘密共享的软件定义网络数据安全传输方法,在软件定义网络的背景下,针对实时的拓扑变化和通信记录进行密文包转发策略的动态切换,自适应地进行策略更新,在维护网络安全的同时保障业务的连续性;结合了多路径动态选择机制,同时以路径安全权重为路径优先级,以优先级由大到小轮流的形式使密文均匀分布在各路径上,尽可能地减小了单点漏洞产生的窃听风险,并且由于控制器对所有连接的交换机的全局控制,便于获得网络拓扑数据,并在网络拓扑变化时随时进行重新计算,最大限度提高了数据的安全性;使用k-n门限加密算法进行数据加密,攻击者在窃取密文小于等于k份的时候,无法根据密文获取任何加密数据相关信息,只有获取密文大于等于k份时才能解密。有效避免数据的部分窃取而导致的数据泄露问题,提高攻击难度,保障了数据传输的安全性。数据传输使用了响应重发机制,综合考虑不同路径历史传输情况,在保证数据安全的情况下,为密文动态分配转发路径,同一密文发送和回复使用相同转发路径,有效避免了因链路阻塞导致的数据反复重发,有效抵御攻击者在链路上恶意丢弃数据包而导致的数据传输失败,从而保障数据传输功能,提高传输质量;利用软件定义网络集中管理的特点,可以更好地实现动态的路径选择和策略更新;同时,结合门限秘密共享机制在防数据窃取、容忍数据丢失等方面的优势,以提高软件定义物联网的抗数据窃取攻击能力,提升其数据的可用性,保障软件定义物联网上层服务的可靠性。
[0120]
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
[0121]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献