CN113676331B - 一种基于区块链的sdn架构轻量级共识方法及sdn交换机 - Google Patents
一种基于区块链的sdn架构轻量级共识方法及sdn交换机 Download PDFInfo
- Publication number
- CN113676331B CN113676331B CN202110926159.6A CN202110926159A CN113676331B CN 113676331 B CN113676331 B CN 113676331B CN 202110926159 A CN202110926159 A CN 202110926159A CN 113676331 B CN113676331 B CN 113676331B
- Authority
- CN
- China
- Prior art keywords
- digital signature
- current
- minimum digital
- sdn switch
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于区块链的SDN架构轻量级共识方法及SDN交换机,包括:S1、获取其对应直连主机的数字签名;S2、从所述数字签名中比较获取本地最小数字签名;S3、获取其他SDN交换机发送的外地最小数字签名;S4、从所述外地最小数字签名与本地最小数字签名中比较获取当前最小数字签名;S5、对当前最小数字签名与本地最小数字签名进行一致性判定,当具有一致性时,则判定当前SDN交换机获得出块权,当具有非一致性时,则判定当前SDN交换机不具备出块权;S6、生成新区块并将所述新区块发布至其他SDN交换机;S7、接收新区块,并对所述新区块进行验证,并将验证结果发送至获得区块权的SDN交换机。本发明通过优化的共识算法提高共识效率。
Description
技术领域
本发明涉及通信网络安全领域,具体涉及一种基于区块链的SDN架构轻量级共识方法及SDN交换机。
背景技术
目前在SDN网络中,设备接入是由控制器为核心的集中式的认证方式,这种过于集中的认证架构下,网络的脆弱性较高,一旦控制器受到攻击会导致整个网络受到影响。因此SDN控制器架构存在严重的中心化问题,例如单点故障和恶意内部管理员,这一问题使得控制器中记录的流表信息可靠性、可信性受到质疑,而且现有解决方案还不能确保流表信息的不可否认性,不能避免篡改等攻击;现有技术网络系统安全性和高效性的效果差。
现有区块链依赖的共识协议(例如PoW/PoS、PBFT)处理数据效率低,且存储能力有限,这使得不能满足网络信息的全部及时处理和存储上链;现有技术系统性能低和效果差。
因此需要将区块链和SDN结合来增强整个网络环境的安全性,保护网络成员的隐私以及防止不受信任的成员对受保护资源的盗用,然后现有的基于区块链的SDN架构大多采用传统的工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、空间证明(Proof of Space,PoSp)等共识算法,严重耗费系统资源且共识的效率低下。
发明内容
本发明的目的在于提供一种基于区块链的SDN架构轻量级共识方法及SDN交换机,结合了SDN网络及其交换设备的特征,以及区块链中基于哈希过程与签名值的随机性,将出块权的竞争转化为最小签名值的竞争,实现不增加任何资源消耗、同时可保证共识随机性与公平性的共识方式,用以解决现有基于区块链的SDN架构共识算法效率低下且系统资源占用率高的问题。
一种基于区块链的SDN架构轻量级共识方法,包括:
S1、当前SDN交换机获取其对应直连主机的数字签名;
S2、当前SDN交换机从所述数字签名中比较获取本地最小数字签名,记为dlocal;
S3、当前SDN交换机获取其他SDN交换机发送的外地最小数字签名dexternal;
S4、当前SDN交换机从所述外地最小数字签名与本地最小数字签名中比较获取当前最小数字签名,记为dmin;
S5、当前SDN交换机对当前最小数字签名dmin与本地最小数字签名dlocal进行一致性判定,当具有一致性时,则判定当前SDN交换机获得出块权并转步骤S6,当具有非一致性时,则判定当前SDN交换机不具备出块权并转步骤S7;
S6、在当前SDN交换机获得出块权时,当前SDN交换机生成新区块并将所述新区块发布至其他SDN交换机;
S7、在当前SDN交换机不具备出块权时,当前SDN交换机接收新区块,并对所述新区块进行验证,并将验证结果发送至获得区块权的SDN交换机;
进一步地,所述一致性判定包括以下情形中的至少1种:
情形1:若本地最小数字签名dlocal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有一致性,则当前SDN交换机获得出块权,转为步骤S6;
情形2:若外地最小数字签名dexternal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有非一致性,则当前SDN交换机不具备出块权,转为步骤S7;
情形3:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当本地最小数字签名时间tlocal先于外地最小数字签名的时间texternal,则本地最小数字签名dlocal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有一致性,当前SDN交换机获得出块权,转为步骤S6;
情形4:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当外地最小数字签名的时间texternal先于本地最小数字签名的时间tlocal,则外地最小数字签名dexternal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有非一致性,则当前SDN交换机不具备出块权,转为步骤S7。
进一步地,所述步骤S1-步骤S7为一个共识周期,所述SDN交换机根据所述共识周期进行周期性循环执行所述共识方法,所述出块权在一个共识周期内仅由一个SDN交换机获得。
进一步地,所述当前SDN交换机在第一预设时间段内实时获取更新本地最小数字签名,若所述当前SDN交换机获取本地最小数字签名的持续时间大于第一预设时间段,则停止更新本地最小数字签名,将当前存储的本地最小数字签名的信息记录为本地最小数字签名。
进一步地,所述当前SDN交换机在第二预设时间段内实时获取更新外地最小数字签名,若所述当前SDN交换机获取外地最小数字签名的持续时间大于第二预设时间段,则停止更新外地最小数字签名,将当前存储的外地最小数字签名的信息记录为外地最小数字签名。
进一步地,所述步骤S7所述当前SDN交换机在第三预设时间段内向相邻SDN交换机发送新区块的请求,若所述当前SDN交换机请求新区块的持续时间大于第三预设时间段,则停止向相邻SDN交换机请求新区块,转为步骤S1。
进一步地,步骤S1所述数字签名封装在所述直连主机向当前SDN交换机发送的待验证数据中。
进一步地,所述步骤S7,当前SDN交换机对所述新区块进行验证包括有效性验证,即验证发送新区块的源SDN交换机与当前共识周期中获得出块权SDN交换机是否一致;还包括合法性验证,即对新区块中包含公钥更新信息的验证。
进一步地,所述当前共识周期为Tf,所述第一预设时间段表示为Tc,将所述第二预设时间段表示为Tw,将所述第三预设时间段表示为Tu,将共识周期表示Tf=Tc+Tw+Tu。
进一步地,所述公钥更新信息包括主机新公钥、主机MAC地址、主机旧公钥、主机旧私钥数字签名与更新时间。
一种用于SDN网络的SDN交换机,其特征在于,包括:
接收解析模块,用于接收主机上传的数据帧,并对所述数据帧验证解析得到数字签名;
本地证明收集模块,用于从所述数字签名中比较获取本地最小数字签名;
外地证明收集模块,用于接收其他SDN交换机发送的外地最小数字签名;
当前最小证明模块,用于从所述外地最小数字签名与本地最小数字签名中比较获取当前最小数字签名;
出块权共识模块,用于对当前最小数字签名dmin与本地最小数字签名dlocal进行一致性判定,当具有一致性时,则判定当前SDN交换机获得出块权,当具有非一致性时,则判定当前SDN交换机不具备出块权;
生成发送模块,用于在当前SDN交换机获得出块权时,当前SDN交换机生成新区块并将所述新区块发布至其他SDN交换机;
接收验证模块,用于在当前SDN交换机不具备出块权时,当前SDN交换机接收新区块,并对所述新区块进行验证,并将验证结果发送至获得区块权的SDN交换机。
进一步地,出块权共识模块包括以下判定模块中的至少1种:
判定模块1:若本地最小数字签名dlocal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有一致性,则判定当前SDN交换机获得出块权;
判定模块2:若外地最小数字签名dexternal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有非一致性,则判定当前SDN交换机不具备出块权;
判定模块3:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当本地最小数字签名时间tlocal先于外地最小数字签名的时间texternal,则本地最小数字签名dlocal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有一致性,则判定当前SDN交换机获得出块权;
判定模块4:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当外地最小数字签名的时间texternal先于本地最小数字签名的时间tlocal,则外地最小数字签名dexternal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有非一致性,则判定当前SDN交换机不具备出块权。
目前现有技术中,基于区块链的SDN架构所采用的共识算法,为在多数区块链中,即矿工节点在每一轮共识过程中必须证明自己具有某种特定的能力,证明方式通常是竞争性地完成某项难以解决但易于验证的任务,在竞争中胜出的矿工节点将获得记账权;例如PoW和PoS等共识算法是基于矿工的算力或者权益来完成随机数搜索任务,以此竞争记账权,但是此类共识算法大多工作量大能耗特别高,还存在由于工作量大带来的延迟较高的问题。
本发明提出的一种基于区块链的SDN架构轻量级共识方法及SDN交换机,利用SDN网络及其交换设备的特征,以及区块链中哈希过程与签名值的随机性,将出块权的竞争转化为最小签名值的竞争。在此过程中,某个网络设备为其直连的终端设备转发的数据帧总量越大,将有越高的概率转发到含有更小签名值的数据帧。交换机转发直连主机的数据帧总量取决于其直连主机数量以及各直连主机发送的数据帧数量。如果该交换机承担了更多数据帧验证工作,说明该交换机对公钥信息更新的及时性要求更高,由这样的交换机获得出块权有利于及时进行验证以过滤非法数据帧,减少不必要的转发开销。
本法明共识过程的核心是“出块权竞争”和“上链”两部分,在具体操作过程中每一轮可以分为出块权竞争、造块、验证和上链4个阶段,共识过程的输入是数据节点生成和验证后的交易或数据,输出则是封装好的数据区块以及更新后的区块链,4个阶段循环往复执行,每执行一轮将会生成一个新区块。
本发明具有的有益效果:
1、利用SDN网络及其交换设备的特征,以及区块链中哈希过程与签名值的随机性,将出块权的竞争转化为最小签名值的竞争,该方法通过引入数字签名的机制,根据节点最小数字签名竞争挑选参与出块的SDN交换机,以降低网络中的通信开销,避免大量系统资源计算无意义的hash,从而较少对系统资源的损耗,提高共识效率。
2、本发明提出了基于区块链的软件定义网络架构的优化共识方法,保障系统的性能,最终实现提高基于区块链的软件定义网络系统安全性和高效性的技术效果。
附图说明
图1为本发明的整体流程示意图;
图2为本发明的实施例1工作流程示意图;
图3为本发明的SDN交换机结构示意图;
图4为本发明的半随机选择验证机制结构示意图;
图5为本发明的验证信息维护机制结构示意图;
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖向”、“纵向”、“侧向”、“水平”、“内”、“外”、“前”、“后”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“开有”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例
具体的,由于数字签名是主机生成并随数据帧传输的,则只有真正转发了该帧的交换机才能得到该信息,故以此作为帧转发证明,关于数字签名的生成将在半随机选择验证机制中具体描述。基于帧转发证明的共识算法包括三个阶段:证明收集阶段、出块权共识阶段、区块共识阶段,将收集数字签名(帧转发证明)的时间表示为Tc,将达成关于出块权共识的时间表示为Tw,将新区块上链的时间表示为Tu,将共识周期表示为Tf,则有Tf=Tc+Tw+Tu。
为了更好地描述基于帧转发证明共识算法,进行如下定义:将SDN交换机的集合表示为S,数量为m,则S={s1,s2,...,sm};主机的集合表示为H,数量为n,则H={h1,h2,...,hn};SDN交换机与主机之间的链路表示为如果si和hj之间有单跳连接,则否则所以,SDN交换机直连主机的集合为数量为
在证明收集周期Tc内,将网络中所有主机产生的数字签名的集合表示为D,数量为a,则D={d1,d2,...,da};将主机和数字签名之间的生成关系表示为如果签名是由主机产生的,则否则在周期Tc内,单台主机产生的数字签名集合为则数量
可见,SDN交换机转发直连主机的数据帧总量取决于其直连主机数量以及各直连主机发送的数据帧数量。如果该SDN交换机承担了更多数据帧验证工作,说明该SDN交换机对公钥信息更新的及时性要求更高,由这样的SDN交换机获得出块权有利于及时进行验证以过滤非法数据帧,减少不必要的转发开销。
下面对各阶段进行简要描述,具体流程如图3所示。
在证明收集阶段(Tc),交换机收集其直连主机的数字签名,每次都保存值较小的一个并记录保存时间,该时间将在出块权共识阶段中作为对值相同的数字签名的选择依据。具体步骤如下:
step1:SDN交换机对其直连主机发来的数据帧进行转发验证,验证通过则将该数据帧携带的数字签名记为dnew,并保存记录时间tnew及相关信息,若当前原记录签名dlocal为0,则依据dnew的信息更新dlocal;
step2:比较新记录签名dnew与原记录签名dlocal的大小,总是保存较小的一个为dlocal,同时更新记录时间tlocal及相关信息;
step3:重复执行step1-step2,直到证明收集持续时间超过Tc,进入出块权共识阶段。
如此,在证明收集阶段结束后,SDN交换机得到由其直连主机在Tc内产生的值最小的数字签名dlocal及其相关信息。
在出块权共识阶段(Tw),交换机将在Tc时期结束后,记录的数字签名dlocal及其相关信息以组播方式发给其他SDN交换机,同时对来自其他SDN交换机的数字签名记录进行验证,在比较后总是保存值较小的一个为dmin,并更新dmin的相关信息,步骤如下:
step2:将收到的来自其他SDN交换机的数字签名记为dnew,比较新记录签名dnew与当前最小签名dmin的大小,总是保存较小的一个为dmin,如果收到值相同的数字签名,保存记录时间较早的一个为dmin,同时更新记录时间tlocal及相关信息;
step3:重复执行step2,直到出块权共识阶段持续时间超过Tw,进入区块共识阶段。
如此,在出块权共识阶段结束后,各SDN交换机对值最小的数字签名dmin记录达成基本一致的认识,其记录者获得当轮出块权。
在区块共识阶段(Tu),获得出块权的SDN交换机发布新区块,其他SDN交换机等待接收新区块,将通过确认的新区块保存到本地区块链上,步骤如下:
step1:判断自己是否获得出块权(最小数字签名的记录者),若是,发布新区块,转到step5,否则转到step2;
step2:向邻居SDN交换机请求新区块,同时等待接收新区块;
step3:对收到的新区块进行有效性与合法性确认,若确认通过,将新区块保存到本地区块链,转到step5;
step4:重复执行step2-step3;
step5:当区块共识阶段持续时间超过Tu,进入下一个共识周期。
其中,SDN交换机对收到的新区块的有效性的确认是通过检验新区块发布者与当前共识周期中dmin的记录者的一致性来实现,合法性确认是对新区块包含的公钥更新信息的确认,该确认的具体含义将在基于区块链的验证信息维护机制中描述。
基于区块链的验证信息维护机制包括伪随机数发放与公钥信息更新。首先,上一轮获得出块权的交换机生成伪随机数上传控制器,然后由控制器周期性地下发伪随机数给主机,供主机完成私钥更新,定期地更新验证信息能增强验证机制的安全性。在控制器不可信的情况下,只要其下发伪随机数,验证机制仍可有效运行;如果控制器停止下发伪随机数,只会影响验证信息更新,不会影响交换机的验证行为,且该行为将作为控制器具有可疑性的依据。主机将更新的公钥作为验证信息发布到网络中,由交换机收集并确认验证信息的完整性与合法性,以区块链形式进行维护,防止虚假验证信息的注入,且在交换机受到攻击或控制时,保障验证信息不受篡改,验证机制仍可有效运行。
本机制包含伪随机数发放与验证信息更新两个过程。为保证伪随机数的随机性,由上一共识周期获得出块权的SDN交换机使用梅森旋转算法(Mersenne Twister)快速生成高质量的伪随机数上传控制器,再由SDN控制器周期地下发伪随机数供主机定期更新私钥。主机每次更新公钥都需要发布含签名的公钥更新信息,作为验证信息的公钥更新信息将由交换机以区块链形式进行维护。
如图4所示,验证信息更新过程如下:
step1:SDN控制器周期地向网络主机下发伪随机数;
step2:主机使用伪随机数与自身信息完成私钥更新,在网络中发布包含“主机新公钥”、“主机MAC地址”、“主机旧公钥”、“主机新私钥数字签名”与“更新时间”的公钥更新信息;
step3:SDN交换机通过验证公钥更新信息的签名进行完整性确认,并从历史公钥更新信息中搜索满足“主机新公钥”为当前公钥更新信息中的“主机旧公钥”的记录进行合法性确认;
step4:若确认通过,更新信息将被保存并等待写入区块链,若确认未通过,更新信息将被丢弃。
为防止在新私钥写入区块链后主机仍使用上一轮私钥生成签名,或主机使用未写入区块链的新私钥生成签名,而导致的验证错误,主机在完成私钥更新后应等待一段时间再启用新私钥,将伪随机数下发周期(即公钥更新周期)表示为Ts,新私钥启用间隔时间为Tk,应有Tk<Ts,SDN交换机在验证时应从区块链中搜索与当前时间距离在2Ts内的对应公钥,其中,Tk与Ts的具体取值需要根据实际网络规模调整。
具体的,提出所述半随机选择验证机制,主机在发送数据帧时,会依据实际需要根据数据帧内容与随机数生成数字签名随帧传输,由交换机作为验证主体对数据帧进行转发验证。半随机选择验证机制由SDN控制器与交换机协同实施,在保证验证性能的同时降低验证开销。
当在转发路径上的所有交换机都对数据帧执行转发验证时,将给网络带来巨大负担;若途经交换机均不对数据帧进行验证时,又可能导致受篡改的数据帧仍然在网络中传播,威胁网络安全且浪费控制器与交换机的资源;若固定对数据进行验证的交换机节点,会遭到针对性攻击,进而削弱该机制的验证性能。为兼顾验证性能与验证开销,本发明提出了半随机选择验证机制,数据帧的入网与出网交换机必须对帧执行验证,途径的其余交换机均按概率执行验证,验证概率由控制器根据网络负载情况进行周期性调整。
主机在发送数据帧时,用一个哈希函数从数据文本中生成报文摘要,然后用主机内部存储伪随机数生成的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该报文是发送方的。如图5所示,在执行转发验证时,SDN交换机需要对待验证数据使用约定的哈希函数进行哈希运算得到消息摘要1,从区块链中搜索对应主机公钥对数据帧携带的数字签名进行解密得到消息摘要2,再对消息摘要1和消息摘要2进行一致性判断,一致则转发该帧,否则丢弃该帧。
SDN控制器依据网络负载情况计算验证概率p并下发给网络中的SDN交换机,若将网络实际吞吐量表示为Tr,理论吞吐量表示为Tt,则网络负载率为验证概率将由SDN控制器依据进行周期性的调整,其中当网络负载率较低时,上调验证概率以提高验证有效性,当网络负载率较高时,下调验证概率以降低验证开销,以此平衡验证性能与验证开销。
转发该帧的SDN交换机若非该帧的入网或出网交换机则按照给定验证概率执行转发验证,否则直接执行转发验证。SDN交换机可以通过检测帧的源、目地址与匹配该帧的收、发端口上所连设备是否为主机来判断当前是否为该帧的入网或出网交换机。其中,在入网交换机上验证可以尽早过滤虚假网络帧以节省网络资源,在出网交换机上验证可以保证交付给目的主机的数据帧是安全且不经篡改的,而途经SDN交换机的验证可以阻止受篡改的网络帧进一步传播。
本发明结合SDN网络特征与基于帧转发证明的共识算法,充分利用区块链的分布式、可追溯、防篡改等特性维护验证信息,实施半随机选择验证与基于区块链的验证信息维护机制,在合理的系统开销下,设计了一种可避免单点故障与私钥泄露问题、对数据帧来源合法性与内容安全性识别的数据帧安全验证机制。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
Claims (12)
1.一种基于区块链的SDN架构轻量级共识方法,其特征在于,包括:
S1、当前SDN交换机获取其对应直连主机的数字签名;
S2、当前SDN交换机从所述数字签名中比较获取本地最小数字签名,记为dlocal;
S3、当前SDN交换机获取其他SDN交换机发送的外地最小数字签名dexternal;
S4、当前SDN交换机从所述外地最小数字签名与本地最小数字签名中比较获取当前最小数字签名,记为dmin;
S5、当前SDN交换机对当前最小数字签名dmin与本地最小数字签名dlocal进行一致性判定,当具有一致性时,则判定当前SDN交换机获得出块权并转步骤S6,当具有非一致性时,则判定当前SDN交换机不具备出块权并转步骤S7;
S6、在当前SDN交换机获得出块权时,当前SDN交换机生成新区块并将所述新区块发布至其他SDN交换机;
S7、在当前SDN交换机不具备出块权时,当前SDN交换机接收新区块,并对所述新区块进行验证,并将验证结果发送至获得区块权的SDN交换机。
2.根据权利要求1所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述一致性判定包括以下情形中的至少1种:
情形1:若本地最小数字签名dlocal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有一致性,则当前SDN交换机获得出块权,转为步骤S6;
情形2:若外地最小数字签名dexternal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有非一致性,则当前SDN交换机不具备出块权,转为步骤S7;
情形3:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当本地最小数字签名时间tlocal先于外地最小数字签名的时间texternal,则本地最小数字签名dlocal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有一致性,当前SDN交换机获得出块权,转为步骤S6;
情形4:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当外地最小数字签名的时间texternal先于本地最小数字签名的时间tlocal,则外地最小数字签名dexternal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有非一致性,则当前SDN交换机不具备出块权,转为步骤S7。
3.根据权利要求1所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述步骤S1-步骤S7为一个共识周期,所述SDN交换机根据所述共识周期进行周期性循环执行所述共识方法,所述出块权在一个共识周期内仅由一个SDN交换机获得。
4.根据权利要求3所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述当前SDN交换机在第一预设时间段内实时获取更新本地最小数字签名,若所述当前SDN交换机获取本地最小数字签名的持续时间大于第一预设时间段,则停止更新本地最小数字签名,将当前存储的本地最小数字签名的信息记录为本地最小数字签名。
5.根据权利要求4所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述当前SDN交换机在第二预设时间段内实时获取更新外地最小数字签名,若所述当前SDN交换机获取外地最小数字签名的持续时间大于第二预设时间段,则停止更新外地最小数字签名,将当前存储的外地最小数字签名的信息记录为外地最小数字签名。
6.根据权利要求5所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述步骤S7所述当前SDN交换机在第三预设时间段内向相邻SDN交换机发送新区块的请求,若所述当前SDN交换机请求新区块的持续时间大于第三预设时间段,则停止向相邻SDN交换机请求新区块,转为步骤S1。
7.根据权利要求1所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,步骤S1所述数字签名封装在所述直连主机向当前SDN交换机发送的待验证数据中。
8.根据权利要求6所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述步骤S7,当前SDN交换机对所述新区块进行验证包括有效性验证,即验证发送新区块的源SDN交换机与当前共识周期中获得出块权SDN交换机是否一致;还包括合法性验证,即对新区块中包含公钥更新信息的验证。
9.根据权利要求6所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述当前共识周期为Tf,第一预设时间段表示为Tc,将所述第二预设时间段表示为Tw,将所述第三预设时间段表示为Tu,将共识周期表示Tf=Tc+Tw+Tu。
10.根据权利要求8所述的一种基于区块链的SDN架构轻量级共识方法,其特征在于,所述公钥更新信息包括主机新公钥、主机MAC地址、主机旧公钥、主机旧私钥数字签名与更新时间。
11.一种用于SDN网络的SDN交换机,其特征在于,包括:
接收解析模块,用于接收主机上传的数据帧,并对所述数据帧验证解析得到数字签名;
本地证明收集模块,用于从所述数字签名中比较获取本地最小数字签名;
外地证明收集模块,用于接收其他SDN交换机发送的外地最小数字签名;
当前最小证明模块,用于从所述外地最小数字签名与本地最小数字签名中比较获取当前最小数字签名;
出块权共识模块,用于对当前最小数字签名dmin与本地最小数字签名dlocal进行一致性判定,当具有一致性时,则判定当前SDN交换机获得出块权,当具有非一致性时,则判定当前SDN交换机不具备出块权;
生成发送模块,用于在当前SDN交换机获得出块权时,当前SDN交换机生成新区块并将所述新区块发布至其他SDN交换机;
接收验证模块,用于在当前SDN交换机不具备出块权时,当前SDN交换机接收新区块,并对所述新区块进行验证,并将验证结果发送至获得区块权的SDN交换机。
12.根据权利要求11所述的一种用于SDN网络的SDN交换机,其特征在于,出块权共识模块包括以下判定模块中的至少1种:
判定模块1:若本地最小数字签名dlocal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有一致性,则判定当前SDN交换机获得出块权;
判定模块2:若外地最小数字签名dexternal为当前最小数字签名dmin时,则判定当前最小数字签名与本地最小数字签名具有非一致性,则判定当前SDN交换机不具备出块权;
判定模块3:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当本地最小数字签名时间tlocal先于外地最小数字签名的时间texternal,则本地最小数字签名dlocal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有一致性,则判定当前SDN交换机获得出块权;
判定模块4:若本地最小数字签名dlocal和外地最小数字签名dexternal均为最小数字签名时,且当外地最小数字签名的时间texternal先于本地最小数字签名的时间tlocal,则外地最小数字签名dexternal为当前最小数字签名dmin,则判定当前最小数字签名与本地最小数字签名具有非一致性,则判定当前SDN交换机不具备出块权。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110926159.6A CN113676331B (zh) | 2021-08-12 | 2021-08-12 | 一种基于区块链的sdn架构轻量级共识方法及sdn交换机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110926159.6A CN113676331B (zh) | 2021-08-12 | 2021-08-12 | 一种基于区块链的sdn架构轻量级共识方法及sdn交换机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113676331A CN113676331A (zh) | 2021-11-19 |
CN113676331B true CN113676331B (zh) | 2022-06-21 |
Family
ID=78542523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110926159.6A Active CN113676331B (zh) | 2021-08-12 | 2021-08-12 | 一种基于区块链的sdn架构轻量级共识方法及sdn交换机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113676331B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525397A (zh) * | 2018-10-12 | 2019-03-26 | 南京邮电大学 | 一种面向sdn网络流规则安全保障的区块链及方法 |
CN110599173A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链的共识节点确定方法、装置、设备及存储介质 |
CN112235252A (zh) * | 2020-09-21 | 2021-01-15 | 西安电子科技大学 | 基于区块链的安全识别方法、安全识别系统及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11757650B2 (en) * | 2018-02-01 | 2023-09-12 | Intel Corporation | Distributed self sovereign identities for network function virtualization |
-
2021
- 2021-08-12 CN CN202110926159.6A patent/CN113676331B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109525397A (zh) * | 2018-10-12 | 2019-03-26 | 南京邮电大学 | 一种面向sdn网络流规则安全保障的区块链及方法 |
CN110599173A (zh) * | 2019-09-20 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链的共识节点确定方法、装置、设备及存储介质 |
CN112235252A (zh) * | 2020-09-21 | 2021-01-15 | 西安电子科技大学 | 基于区块链的安全识别方法、安全识别系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113676331A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112600892B (zh) | 面向物联网的区块链设备、系统及工作方法 | |
Liang et al. | Distributed blockchain-based data protection framework for modern power systems against cyber attacks | |
Fotohi et al. | A novel countermeasure technique to protect WSN against denial-of-sleep attacks using firefly and Hopfield neural network (HNN) algorithms | |
Asokan et al. | Seda: Scalable embedded device attestation | |
Yang et al. | SDAP: A secure hop-by-hop data aggregation protocol for sensor networks | |
Zhu et al. | LEAP+ Efficient security mechanisms for large-scale distributed sensor networks | |
CN110120868B (zh) | 一种基于区块链技术的智能电网安全数据聚合方法及系统 | |
CN111372243A (zh) | 基于雾联盟链的安全分布式聚合与访问系统及方法 | |
Song et al. | OMAP: One-way memory attestation protocol for smart meters | |
Hong et al. | Challenges and direction toward secure communication in the SCADA system | |
CN112417494A (zh) | 基于可信计算的电力区块链系统 | |
CN108989020B (zh) | 一种无人机自组网防御女巫攻击方法及系统 | |
CN114139203B (zh) | 基于区块链的异构身份联盟风险评估系统、方法及终端 | |
CN102685740A (zh) | 一种短程无线通信节点及无线通信方法 | |
Aghapour et al. | An ultra-lightweight and provably secure broadcast authentication protocol for smart grid communications | |
Chen et al. | A blockchain-based privacy-preserving scheme for smart grids | |
CN114915970A (zh) | 基于puf的轻量级智能表批量认证方法及网关 | |
Cao et al. | RPRIA: Reputation and PUF-based remote identity attestation protocol for massive IoT devices | |
Faheem et al. | A blockchain‐based resilient and secure framework for events monitoring and control in distributed renewable energy systems | |
CN113676331B (zh) | 一种基于区块链的sdn架构轻量级共识方法及sdn交换机 | |
Garlapati | Blockchain for IOT-based NANs and HANs in smart grid | |
Wang et al. | A trust enhancement scheme for cluster-based wireless sensor networks | |
Liu et al. | A trust chain assessment method based on blockchain for SDN network nodes | |
Wang et al. | An Access Control Method Against Unauthorized and Noncompliant Behaviors of Real-Time Data in Industrial IoT | |
CN113904788A (zh) | 一种基于区块链的网络帧安全验证方法及sdn交换机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |