基于区块链加密的SDN边缘计算网络系统、加密方法及介质与流程

文档序号:21360270发布日期:2020-07-04 04:33阅读:246来源:国知局
基于区块链加密的SDN边缘计算网络系统、加密方法及介质与流程

本申请实施例涉及网络系统技术领域,尤其涉及一种基于区块链加密的sdn边缘计算网络系统、加密方法及介质。



背景技术:

sdn网络(softwaredefinednetwork,软件定义网络)是网络虚拟化的一种实现方式。其通过将网络设备的控制面与数据面分离开来,从而实现网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。sdn网络的典型架构一般分为三层,从上往下依次是应用层、控制层和数据转发层。应用层与控制层之间通过北向接口连接,控制层与数据转发层之间通过南向接口连接。在实际应用中,网络管理员可通过应用层下发网络策略给到控制层,以进行网络策略配置。但是,在进行网络策略配置时,网络系统无法较好地应对相关管理员通过应用层配置网络策略向网络设备发起的攻击,且无法知晓攻击发起者的身份,导致网络系统中存在数据丢失可能性,同时存在安全性问题。



技术实现要素:

本申请实施例提供一种基于区块链加密的sdn边缘计算网络系统、加密方法及介质,能够保障sdn网络系统数据的安全性和完整性,避免网络内部攻击。

在第一方面,本申请实施例提供了一种基于区块链加密的sdn边缘计算网络系统,包括:应用层、区块链层、控制层和数据转发层;

所述应用层用于网络策略的配置和更新,对网络策略进行加密并发送至所述区块链层;

所述区块链层用于对所述网络策略进行解密,通过多个共识节点对解密后的所述网络策略进行共识认证,并将认证通过的所述网络策略分布式存储于区块链网络中;

所述控制层用于从所述区块链层提取所述网络策略,将所述网络策略下发至所述数据转发层;

所述数据转发层用于根据接收到的所述网络策略进行数据转发。

进一步的,所述应用层包括加密模块,对应的,所述区块链层包括解密模块;

所述加密模块用于使用所述解密模块的公钥对所述网络策略进行加密;

所述解密模块用于使用自身的私钥对所述网络策略进行解密。

进一步的,所述应用层包括加密模块,对应的,所述区块链层包括解密模块;

所述加密模块用于使用自身的私钥对所述网络策略进行加密;

所述解密模块用于使用所述加密模块的公钥对所述网络策略进行解密。

进一步的,所述应用层还包括:

登录认证模块,用于接收管理员客户端使用自身私钥加密的登录信息,使用管理员客户端的公钥对所述登录信息进行解密并认证,所述登录信息包含管理员账户地址信息。

进一步的,所述区块链层还用于接收对应的管理员账户地址信息,将所述管理员账户地址信息与对应的所述网络策略绑定存储。

进一步的,还包括:

数据挖掘层,用于采集所述数据转发层进行数据转发所产生的网络流量数据,基于所述网络流量数据进行数据分析确定网络用户身份,将所述网络用户身份发送至所述应用层以用于网络策略配置和更新。

在第二方面,本申请实施例提供了一种基于区块链加密的sdn边缘计算网络系统的加密方法,应用于如本发明第一方面所述的基于区块链加密的sdn边缘计算网络系统,包括:

应用层对配置更新的网络策略进行加密并发送至区块链层;

所述区块链层接收所述网络策略并进行解密,通过多个共识节点对解密后的所述网络策略进行共识认证,并将认证通过的所述网络策略分布式存储于区块链网络中;

控制层从所述区块链层提取所述网络策略,将所述网络策略下发至所述数据转发层;

数据转发层接收所述网络策略,根据所述网络策略进行数据转发。

进一步的,所述应用层对配置更新的网络策略进行加密并发送至区块链层,包括:

所述应用层使用自身的私钥对所述网络策略进行加密;或者,

所述应用层使用所述区块链层的公钥对所述网络策略进行加密;

对应的,所述区块链层接收所述网络策略并进行解密,包括:

所述区块链层使用所述应用层的公钥对所述网络策略进行解密;或者,

所述区块链层使用自身的私钥对所述网络策略进行解密。

进一步的,在应用层对配置更新的网络策略进行加密并发送至区块链层之前,还包括:

应用层接收管理员客户端使用自身私钥加密的登录信息,并使用管理员客户端的公钥对所述登录信息进行解密和认证,所述登录信息包含管理员账户地址信息。

在第三方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于区块链加密的sdn边缘计算网络系统的加密方法。

本申请实施例通过应用层对配置更新的网络策略进行加密并发送至区块链层,区块链层接收网络策略并进行解密,通过多个共识节点对解密后的网络策略进行共识认证,并将认证通过的网络策略分布式存储于区块链网络中,由控制层从区块链层提取网络策略,将网络策略下发至数据转发层,使数据转发层根据网络策略进行数据转发。采用上述技术手段,可以保障网络策略传输、下发的安全性,避免数据丢失和网络内部攻击。并进一步通过存储管理员账户地址信息,便于确定网络策略配置者的身份,以为追溯网络内部攻击者的身份提供依据。

附图说明

图1是本申请实施例一提供的一种基于区块链加密的sdn边缘计算网络系统的结构示意图;

图2是本申请实施例一提供的一种基于区块链加密的sdn边缘计算网络系统的加密方法的流程图;

图3是本申请实施例一提供的另一种基于区块链加密的sdn边缘计算网络系统的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

本申请提供的基于区块链加密的sdn边缘计算网络系统及加密方法,旨在通过sdn网络系统结合和区块链技术,借助于区块链技术,在sdn网络系统中的应用层和控制层之间添加了区块链层。对来自于应用层的网络策略先经由区块链层进行机密及共识认证,然后分布式地存储在区块链网络中,降低数据丢失的可能性。同时借助区块链层的数据不可更改特性也进一步保证了网络策略数据的安全。并且,在存储网络策略数据时还进一步将管理员账户地址信息绑定存储,以此可以用来确定网络策略的配置者身份,从而作为其占用网络资源的依据。当网络管理员从应用层下发策略破坏网络设备的正常工作时,网络系统也可以通过区块链层的存储的用户信息追溯破坏者。相对于现有的sdn网络系统,由于没有对网络策略配置进行较好的保护、验证及追溯,使得其无法应对来自网络内部应用层的攻击。而如果管理员通过应用层配置网络策略肆意地对网络设备发起攻击,其作为攻击的发起者也很难被人知晓。基于此,提供本申请实施例的一种基于区块链加密的sdn边缘计算网络系统及加密方法,以解决现有sdn网络系统网络策略配置的安全性、正确性和完整性问题。

实施例一:

图1给出了本申请实施例一提供的一种基于区块链加密的sdn边缘计算网络系统的结构示意图,参照图1,该基于区块链加密的sdn边缘计算网络系统包括:应用层、区块链层、控制层和数据转发层;其中所述应用层用于网络策略的配置和更新,对网络策略进行加密并发送至所述区块链层;所述区块链层用于对所述网络策略进行解密,通过多个共识节点对解密后的所述网络策略进行共识认证,并将认证通过的所述网络策略分布式存储于区块链网络中;所述控制层用于从所述区块链层提取所述网络策略,将所述网络策略下发至所述数据转发层;所述数据转发层用于根据接收到的所述网络策略进行数据转发。

本申请实施例通过将sdn网络系统与区块链技术相结合,利用区块链技术的共识认证和分布式存储等特点,进行网络策略配置、传输和存储。其中,共识认证技术利用各个共识节点对应用层生成的网络策略进行认证,根据各个共识节点的认证结果利用区块链技术的共识机制采用“少数服从多数”的方式确定网络策略是否验证通过。分布式存储技术则利用了区块链技术的容错机制,将接收到的网络策略分布式存储与区块链网络的各个节点中,实现对应网络策略的冗余存储。这样,当网络策略的某部分数据丢失时,还可以通过其它区块链网络中的节点提取该网络策略数据,进而避免数据丢失。并且,应用层在进行网络策略数据传输时,还进一步对网络策略进行加密传输,网络策略的加密传输可以保障数据传输的安全性,避免网络策略传输过程中的外部攻击。

在一个实施例中,共识节点进行共识认证的时候,对应自身通过相应验证规则所确定的认证结果,以md5信息进行传输。则在比对各个共识节点的认证结果的时候,只需要比对各个md5信息是否一致,若一致则认为两个认证结果相同。通过md5信息一方面可以保证信息的传输安全,另一方面也节省了使用原验证结果进行比对时数据繁杂导致共识认证流程的复杂性,提高共识节点的认证效率。

具体的,图2给出了本申请实施例一提供的一种基于区块链加密的sdn边缘计算网络系统的加密方法的流程图,本实施例中提供的基于区块链加密的sdn边缘计算网络系统的加密方法可以由上述基于区块链加密的sdn边缘计算网络系统执行,该基于区块链加密的sdn边缘计算网络系统可以通过软件和/或硬件的方式实现,该基于区块链加密的sdn边缘计算网络系统可以是两个或多个物理实体构成,也可以是一个物理实体构成。

下述以基于区块链加密的sdn边缘计算网络系统为执行基于区块链加密的sdn边缘计算网络系统的加密方法的主体为例,进行描述。参照图2,该基于区块链加密的sdn边缘计算网络系统的加密方法具体包括:

s110、应用层对配置更新的网络策略进行加密并发送至区块链层;

s120、所述区块链层接收所述网络策略并进行解密,通过多个共识节点对解密后的所述网络策略进行共识认证,并将认证通过的所述网络策略分布式存储于区块链网络中;

s130、控制层从所述区块链层提取所述网络策略,将所述网络策略下发至所述数据转发层;

s140、数据转发层接收所述网络策略,根据所述网络策略进行数据转发。

具体的,本申请实施例的sdn网络系统,从上至下分别是应用层、区块链层、控制层和数据转发层。通过应用层进行网络策略的配置和更新,并进一步使用加密技术对网络策略进行加密,完成网络策略数据加密之后,将网络策略发送至区块链层。区块链层对接收到的网络策略先进行解密。其中数据加密和解密的方式现有技术有很多,本申请实施例不做固定限制。通过网络策略数据加密传输,可以避免网络策略传输过程中出现外部攻击破坏的情况,保障网络策略传输的安全性。

进一步的,区块链层完成网络策略数据解密之后,还进一步对网络策略进行验证,验证当前网络策略是否合法。网络策略的验证可根据实际需要预先设定相应的验证规则,在进行验证时,若网络策略符合预设的验证规则,则该网络策略合法,反之则不合法。并且,为了避免单个验证节点对网络策略进行验证时存在的片面性,本申请实施例采用基于区块链技术的共识认证方式进行网络策略的验证。借助区块链技术的共识机制进行共识认证,将网络策略发送至多个共识节点分别进行认证,并根据各个共识节点的验证结果确定网络策略是否验证通过。可以理解的是,在进行共识认证时,各个共识节点返回的验证结果,可能包含“通过”和“不通过”两种不同的验证结果,而共识机制遵从“少数服从多数”的规则,当一方的验证结果较多时,则以该验证结果作为该网络策略的共识认证结果。举例而言,当各个共识节点的验证结果中,“通过”的验证结果多于“不通过”的验证结果,则表明当前网络策略验证通过。通过共识认证,可以进一步保障网络策略的安全性,避免符合验证结果的网络策略被转发使用。

之后,对应验证通过的网络策略,区块链层将这一网络策略使用区块链网络进行存储。利用区块链技术的容错机制,通过将网络策略分布式存储在不同的网络节点中,并且,每一个网络节点均包含网络策略数据的冗余部分。这样,当部分网络策略数据丢失时,还可以通过其他网络节点的数据冗余部分来找回丢失的网络策略数据。通过对网络策略进行分布式存储,可以进一步保障网络策略数据的完整性,避免数据丢失导致网络策略不可用的情况。

进一步的,在进行网络策略的分布式存储后,若进行网络策略提取使用时,发现某一区块链网络节点出现数据丢失,则进一步提示用户对相应节点进行检查,避免持续的网络攻击。当对应网络节点连续出现网络攻击导致数据丢失的问题时,则在下一次进行网络策略数据分布式存储时,忽略该网络节点,选择其他网络节点进行网络策略数据的存储。并通过网络攻击警告以告知用户该网络节点的网络安全情况。以尽快对该网络节点进行修复,避免数据进一步丢失。

区块链层和控制层之间设置北向接口,通过该北向接口,控制层可从区块链层提取相应的网络策略,并进一步通过与数据转发层之间的南向接口将网络策略数据下发至数据转发层,由数据转发层根据接收到的网络策略进行数据转发。

本申请实施例的基于区块链加密的sdn边缘计算网络系统,通过应用层对配置更新的网络策略进行加密并发送至区块链层,区块链层接收网络策略并进行解密,通过多个共识节点对解密后的网络策略进行共识认证,并将认证通过的网络策略分布式存储于区块链网络中,由控制层从区块链层提取网络策略,将网络策略下发至数据转发层,使数据转发层根据网络策略进行数据转发。采用上述技术手段,可以保障网络策略传输、下发的安全性,避免数据丢失和网络内部攻击。并进一步通过存储管理员账户地址信息,便于确定网络策略配置者的身份,以为追溯网络内部攻击者的身份提供依据。

进一步的,参照图3,提供本申请实施例的另一种基于区块链加密的sdn边缘计算网络系统的结构示意图,该基于区块链加密的sdn边缘计算网络系统为上述sdn网络系统的具体化,如图3所示,该基于区块链加密的sdn边缘计算网络系统的所述应用层包括加密模块,对应的,所述区块链层包括解密模块;所述加密模块用于使用所述解密模块的公钥对所述网络策略进行加密;所述解密模块用于使用自身的私钥对所述网络策略进行解密。公钥(publickey)与私钥(privatekey)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是独一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。基于上述原理,通过应用层加密模块使用解密模块的公钥进行加密操作,以使区块链层的解密模块可通过自身的私钥进行解密,以此可保证应用层和区块链层之间在进行网络数据传输时,避免网络策略被破解攻击的隐患。同时,通过使用公钥和私钥的密钥对进行解密,可进一步提高网络策略数据被破解的难度,保障网络策略传输的安全性。

在一些实施例中,还可以对应应用层和区块链层分别设置加密模块和解密模块,所述加密模块用于使用自身的私钥对所述网络策略进行加密;所述解密模块用于使用所述加密模块的公钥对所述网络策略进行解密。同理,利用公钥和私钥的密钥对进行数据加密解密,保障网络策略传输的安全性。

进一步的,所述应用层还包括:

登录认证模块,用于接收管理员客户端使用自身私钥加密的登录信息,使用管理员客户端的公钥对所述登录信息进行解密并认证,所述登录信息包含管理员账户地址信息。通过应用层进行登录验证,以保障网络管理人员身份的合法性。示例性的,在进行登录认证时,管理人员通过管理员客户端上传登录信息,登录信息通过管理员客户端的私钥进行加密。应用层接收管理员客户端使用自身私钥加密的登录信息,并使用管理员客户端的公钥对所述登录信息进行解密和认证,所述登录信息包含管理员账户地址信息。通过对解密后的登录信息进行认证,登录信息认证时,将对应的管理员账户地址信息与管理员账户信息数据库进行比对,若存在相匹配的管理员账户地址信息,则该登录信息认证通过。

更进一步的,管理员登录管理员账户之后进行网络策略配置时,其所配置的网络策略通过应用层发送至区块链层进行分布式存储。所述区块链层还用于接收对应的管理员账户地址信息,将所述管理员账户地址信息与对应的所述网络策略绑定存储。通过将管理员账户地址信息与其对应的网络策略进行绑定存储,可以实现网络策略配置者的追溯。当sdn网络系统中出现内部攻击时,可以通过管理员账户地址信息追溯攻击网络的管理员身份,以此来进一步保障网络内部的安全。

更具体的,参照图3,应用层还包括策略配置模块和策略更新模块,区块链层包括应用层节点验证模块和策略存储模块,控制层包括restapi服务模块、包过滤模块和二层转发模块,数据转发层包括数据转发模块。此外,sdn网络系统还包括数据挖掘部分,数据挖掘部分为数据挖掘层,用于采集所述数据转发层进行数据转发所产生的网络流量数据,基于所述网络流量数据进行数据分析确定网络用户身份,将所述网络用户身份发送至所述应用层以用于网络策略配置和更新。数据挖掘层从下往上依次是数据采集模块,数据清洗模块,数据变换模块和数据分析模块。

其中,数据转发模块由一系列支持openhow协议的软件sdn软件交换机组成,软件交换机具有更大的内存和更强的灵活性,用于数据包的转发;二层转发模块是控制层与数据转发层的连接点,控制层与数据转发层通过南向接口进行通信。应用层通过该模块获取底层网络设备的信息。来自应用层的网络策略也能通过该模块下发到底层网络设备;包过滤模块包含一组过滤规则,这些规则定义了对数据包的具体操作;restapi模块是sdn网络系统中常用的北向接口之一。可以利用该模块进行诸如流表项添加删除之类的操作;策略更新模块相当于运行在应用层的一个应用程序,可以定期获取网络用户的身份信息,并将身份信息与抽象的网络需求相结合,生成具体的网络策略;策略配置模块实时检测底层网络设备的运行状态,并执行网络策略下发任务。在该模块中,预设了批量配置、抽象配置和智能配置功能。批量配置允许管理人员一次性为多个网络设备配置相同的命令。抽象配置允许管理人员只填写少量的参数来完成一次复杂的策略配置。智能配置则是基于用户身份个性化配置网络策略;数据采集模块可以定时采集流经交换机的网络流量数据,并采集一个周期的流量数据作为数据挖掘的样本数据。数据清洗模块,可以清除掉采集到的冗余数据,提高数据挖掘的效率。数据变换模块,将数据清洗模块的输出结果作为输入内容,将其中的数据进行转换,以便生成更适合进行数据分析的数据,进一步提高数据分析的效率。数据分析模块,利用相关数据挖掘算法获取网络用户的身份信息。通过上述各个模块的配合,以实现该sdn网络系统的网络策略配置与更新。

进一步的,提供本申请实施例sdn网络系统的网络策略更新流程。在本系统中,sdn网络系统的应用层的主要功能是策略配置和策略更新。策略配置的实现方式是通过应用层的程序以流表项的形式经由restapi服务模块直接下发网络策略。策略更新是通过获取网络流量中蕴含的身份信息,结合抽象的网络需求生成具体的网络策略,下发到底层网络设备。策略配置流程涉及到策略配置模块、应用层节点验证模块、策略存储模块、restapi服务模块、包过滤模块、二层转发模块以及数据转发模块。进行策略配置时,管理员使用策略配置模块上内置的配置方式对网络设备快速配置。应用层节点验证下发策略的应用层节点合法性。策略存储模块将这些具体的网络策略分布式存储到当前的区块链网络中。restapi服务模块负责连接应用层和控制层,网络策略经由该模块到达控制层。二层转发模块连接控制层和数据转发层,流表项信息经由该模块最终到达数据转发模块。

策略更新流程主要是为了完成自动化的用户识别及策略部署。它由程序自动完成,是一个循环往复的过程,涉及到数据采集模块、数据清洗模块、数据变换模块、数据分析模块、策略更新模块、应用层节点验证模块、策略存储模块、restapi服务模块、包过滤模块、二层转发模块以及数据转发模块。进行策略更新时,通过采集模块先采集网络流量,然后交由清洗模块去掉冗余数据以提高数据挖掘效率。数据变换模块将数据整理成易于进行数据分析的形式进一步提高数据挖掘的效率。数据分析模块将流量数据转换成身份数据。策略更新模块将这些身份数据与抽象的网络需求组合生成具体的网络策略。应用层节点验证下发策略的应用层节点是否合法。策略存储模块将这些具体的网络策略分布式存储到当前的区块链网络中。restapi服务模块负责连接应用层和控制层,网络策略经由该模块到达控制层。二层转发模块连接控制层和数据转发层,流表项信息经由该模块最终到达数据转发模块。

上述,通过绑定管理员账户地址信息可以记录每次网络策略的配置者,通过分布式存储和交易不可篡改性允许管理人员追溯每一次配置记录。当sdn网络受到来自应用层的恶意攻击时,我们可以查看记录来追溯攻击者身份。当需要对网络资源的使用者征收使用费时,相关的记录信息也可以作为一个有效的依据。本申请实施例的sdn网络系统,除了具有更高的安全性外,还能够获取底层网络设备的实时信息,实现对底层网络设备的批量配置、抽象配置和智能配置。同时,通过采用用户身份识别的网络策略自动化部署方案,还可以实现网络策略的个性化配置。

实施例二:

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种基于区块链加密的sdn边缘计算网络系统的加密方法,该基于区块链加密的sdn边缘计算网络系统的加密方法包括:应用层对配置更新的网络策略进行加密并发送至区块链层;所述区块链层接收所述网络策略并进行解密,通过多个共识节点对解密后的所述网络策略进行共识认证,并将认证通过的所述网络策略分布式存储于区块链网络中;控制层从所述区块链层提取所述网络策略,将所述网络策略下发至所述数据转发层;数据转发层接收所述网络策略,根据所述网络策略进行数据转发。

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如cd-rom、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如dram、ddrram、sram、edoram,兰巴斯(rambus)ram等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于区块链加密的sdn边缘计算网络系统的加密方法,还可以执行本申请任意实施例所提供的基于区块链加密的sdn边缘计算网络系统的加密方法中的相关操作。

上述实施例中提供的基于区块链加密的sdn边缘计算网络系统的加密系统、存储介质可执行本申请任意实施例所提供的基于区块链加密的sdn边缘计算网络系统的加密方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于区块链加密的sdn边缘计算网络系统的加密方法。

上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1