CN108173827A - 基于区块链思维的分布式sdn控制平面安全认证方法 - Google Patents

基于区块链思维的分布式sdn控制平面安全认证方法 Download PDF

Info

Publication number
CN108173827A
CN108173827A CN201711403221.3A CN201711403221A CN108173827A CN 108173827 A CN108173827 A CN 108173827A CN 201711403221 A CN201711403221 A CN 201711403221A CN 108173827 A CN108173827 A CN 108173827A
Authority
CN
China
Prior art keywords
controller
flow table
certification
request
interchanger
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.)
Granted
Application number
CN201711403221.3A
Other languages
English (en)
Other versions
CN108173827B (zh
Inventor
朱晓荣
邵喆丹
董天才
陈美娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201711403221.3A priority Critical patent/CN108173827B/zh
Publication of CN108173827A publication Critical patent/CN108173827A/zh
Application granted granted Critical
Publication of CN108173827B publication Critical patent/CN108173827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了基于区块链思维的分布式SDN控制平面安全认证方法,该发明基于区块链的思想建立了一种分布式SDN架构的控制平面安全认证方法,旨在提升SDN的安全性能,防止控制器数据篡改和非法控制器的接入。主要途径是通过控制平面之间的身份认证,以及在控制平面和数据平面之间的平面间交叉认证,双重认证确保系统安全。

Description

基于区块链思维的分布式SDN控制平面安全认证方法
技术领域
本发明涉及基于区块链思维的分布式SDN控制平面安全认证方法,基于区块链的思维,利用其分布式特性,建立了SDN架构下控制平面的安全认证方法,属于信息安全技术领域。
背景技术
软件定义网络(Software Defined Networking,SDN)是一种从数据转发平面中分离控制平面以实现支持网络虚拟化的新技术。SDN网络相比较传统网络,在拥有控制与数据平面相分离,可编程性,动态流量控制,集中控制管理等诸多优点的同时,也更增加了其安全隐患。攻击者可以通过IP地址欺骗方式替换现有的SDN控制器或者直接侵入控制器修改信息,这些安全威胁限制了SDN在很多场景下的大规模部署和应用。
区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术。其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。
区块链具有的去信任、开放性、信息不可篡改等特征,与分布式SDN架构的要求不谋而合。将区块链思维运用在SDN架构中,能够有效减少攻击者的攻击行为造成的危害。
发明内容
技术问题:本发明的目的在于提供一种分布式SDN控制层面的安全方法,结合区块链去信任、开放性、信息不可篡改的特征,提升SDN的安全性能,防止控制器数据篡改和非法控制器的接入。
技术方案:本发明是以区块链思维为指导思想,以分布式结构为基础,以非对称加密及分布式存储技术为手段,结合分布式SDN架构的特性和安全要求,综合考虑了控制器之间以及控制器与交换机之间的信息传输与相互认证,双重认证确保系统安全。主要包括如下几个步骤。
1).控制器初始化连接:控制器的初始化以及新控制器顺序加入控制平面;
2).控制平面认证:控制平面各个控制器相互认证身份;
3).控制平面和数据平面交叉认证:控制器和交换机以流表为关键信息相互认证身份;
其中:
所述控制器初始化连接为:首先,管理员密码认证并开启所有控制器,这是对控制器的第一重保护。接下来是各控制器进行连接,即控制器加入过程。管理员随机决定一个初始控制器A,接收其他控制器发出的连接请求。初始控制器A生成私钥,进而产生公钥。下面以控制器B加入过程为例,描述加入步骤。想要加入控制器层的控制器B向初始控制器A发出请求,获取初始控制器A的公钥。控制器B使用A的公钥对自己的信息进行加密,然后发送给初始控制器A。初始控制器A认证信息成功后,将B加入信任列表。新加入的控制器可以请求A或B的认证获取权限。通过这种方式,使得整个控制器网络连接在一起,并且相互之间掌握公钥。
所述控制平面认证为:假设控制器A有数据包向控制器B的域内转发,采取订阅分发的方法,A向共享数据库提出请求全局视图,同时将请求以及自身的信息,如编号、主机信息等发送给其他控制器用以认证。其他控制器收到请求认证的消息后,将请求的时间、内容摘要、设备编码记录在本地。各控制器认证后达成一致共识,若同意A的请求,则反馈给共享数据库。数据库接纳A的请求。若认证失败,则数据库视为无效信息,丢弃。同时,视该控制器为问题控制器,各控制器切除与该控制器的连接,并通知管理员进行查验。
所述的控制平面和数据平面交叉认证为:通过控制器认证交换机的编号、端口、速率、链路、主机信息,进行第一重认证。当控制器给交换机下发流表时,也存储一份在控制器中。每添加一次流表,就相当于控制器区块上的交易就添加一条,记录下发的时间,根据时间顺序排列,在控制器和交换机上有相同的流表。Merkle树通过计算相邻两个流表的哈希值并一层层的向上运算,形成一个二叉树,最终以一个Merkle值归纳了全部流表信息,将其加在认证信息的头部。任何流表的修改都会使得生成的Merkle值改变。因此,若控制器中流表生成的Merkle值与交换机中的流表生成的Merkle值一致,则交换机和流表都是安全的,交换机将新生成的流表加入流表项;若不同,则有如下两种可能(1)交换机被替换;(2)攻击者伪造了源地址为合法控制器IP地址的数据包,下发了伪造的流表。
有益效果:本发明能够在分布式SDN架构控制平面上有效的防止控制器数据篡改和非法控制器的接入。控制器平等存在且相互关联,不需要第三方认证平台进行认证,控制器的每项动作都需要通过其他控制器的认证。同时,数据的分布式存储使得控制器内存储的数据难以被篡改,除非超过百分之五十的控制器信息被篡改,攻击者才能改变控制器存储的信息。
附图说明
图1是一种基于区块链思维的分布式SDN整体架构图。
图2是一种基于区块链思维的分布式SDN控制平面安全认证方法的整体流程图。
图3是本发明中控制器初始化连接的具体流程图。
图4是本发明中控制器发起请求并验证的具体流程图。
图5是本发明中控制器存储信息的区块数据结构图。
具体实施方式
本发明是以区块链思维为指导思想,以分布式结构为基础,以非对称加密及分布式存储技术为手段,结合分布式SDN架构的特性和安全要求,综合考虑了控制器之间以及控制器与交换机之间的信息传输与相互认证,双重认证确保系统安全。
下面结合附图对本发明作进一步描述。
如图1所示,本发明采用水平分布式的SDN作为整体架构。控制器之间的网络相当于一个P2P网络,每个控制器平等存在。由于SDN网络中网络状态根据用户的使用而变化,需要动态的更新全局拓扑及链路信息。如果在各控制器采用分布式的网络信息存储,容易造成广播风暴或者消息更新延迟等情况。因此使用共享数据库来进行全局视图的存储,控制器通过读取数据库来获取全局视图。每个控制器独立管理一个区域,在数据不需要跨域时,在本地进行转发;当数据包的目的地址在别的控制器的域内,则由源目的地的控制器向目的地的控制器进行订阅操作,获取全局视图,构造路径。
如图2所示,本发明主要包括如下几个步骤。
1).控制器初始化连接:控制器的初始化以及新控制器顺序加入控制平面;
2).控制平面认证:控制平面各个控制器相互认证身份;
3).控制平面和数据平面交叉认证:控制器和交换机以流表为关键信息相互认证身份;
控制平台初始化连接过程如下。
首先,管理员密码认证并开启所有控制器,这是对控制器的第一重保护。
如图3所示,就是各控制器进行连接,即控制器初始化过程。管理员随机决定一个初始控制器A,接收其他控制器发出的连接请求。初始控制器A生成私钥,进而产生公钥。下面以控制器B加入过程为例,描述加入步骤。想要加入控制器层的控制器B向初始控制器A发出请求,获取初始控制器A的公钥。控制器B使用A的公钥对自己的信息进行加密,然后发送给初始控制器A。初始控制器A认证信息成功后,将B加入信任列表。新加入的控制器可以请求A或B的认证获取权限。通过这种方式,使得整个控制器网络连接在一起,并且相互之间掌握公钥。
如果控制器B通过A接入网络,那么A就称为B的上级控制器,B就称为A的下级控制器。
当目的地址在控制器的域内时,控制器只需要掌握自己域内的交换机的信息即可;当目的地址在别的控制器的域内时,源目的地的控制器就需要全局视图来确定路径。将控制器每一次对全局视图的请求看作一次交易。本发明选择请求作为认证的关键,记录每一次控制器对数据库的请求,此请求分布式存储在各控制器中,以方便追溯查验。请求的主要内容包括了请求的设备ID、时间、内容摘要。
控制平面认证过程如下。
如图4所示,假设控制器A有数据包向控制器B的域内转发,采取订阅分发的方法,A向共享数据库提出请求全局视图,同时将请求以及自身的信息,如编号、主机信息等发送给其他控制器用以认证。其他控制器收到请求认证的消息后,将请求的信息记录在本地。各控制器认证后达成一致共识,若同意A的请求,则反馈给共享数据库。数据库接纳A的请求。若认证失败,则数据库视为无效信息,丢弃。同时,视该控制器为问题控制器,各控制器切除与该控制器的连接,并通知管理员进行查验。
在认证消息时,每个控制器节点认证自己的上级以及下级控制器。并通过自己的上级及下级控制器获得其他不与本控制器直接连接的控制器节点的信息。通过这种方式,认证所有控制器,并避免广播带来的广播风暴。
如图5所示,控制器的区块数据结构包括了区块头和区块主体两个部分。
1、认证信息包括了控制器ID、Merkle值(由历史请求生成)、上级控制器ID、时间戳。
2、请求信息的主要包括了控制器ID、时间、内容摘要。(相当于区块链中的交易信息,被记录在区块主体中)
在交换机侧,当两个交换机具有相同硬件地址(DPID和MAC地址)和相同交换机名时,控制器无法正确区分二者。因此需要一种比DPID和MAC地址更具信任度的认证方式。基于这种设定,本发明选择流表作为认证的关键。流表在控制器和交换机中分别存储一份,鉴于流表的动态性和难以伪造性,可以更好的用于控制器和交换机之间的相互认证。
控制平面和数据平面交叉认证过程如下。其中,控制器和交换机之间的认证方式关键是流表。
具体地,通过控制器认证交换机的编号、端口、速率、链路、主机信息,进行第一重认证。当控制器给交换机下发流表时,也存储一份在控制器中。每添加一次流表,就相当于控制器区块上的交易就添加一条,记录下发的时间,根据时间顺序排列,在控制器和交换机上有相同的流表。Merkle树通过计算相邻两个流表的哈希值并一层层的向上运算,形成一个二叉树,最终以一个Merkle值归纳了全部流表信息,将其加在认证信息的头部。任何流表的修改都会使得生成的Merkle值改变。因此,若控制器中流表生成的Merkle值与交换机中的流表生成的Merkle值一致,则交换机和流表都是安全的,交换机将新生成的流表加入流表项;若不同,则有如下两种可能:(1)交换机被替换;(2)攻击者伪造了源地址为合法控制器IP地址的数据包,下发了伪造的流表。
本发明的问题在于如何辨别这两种情况。鉴于加在控制器上的认证有两重,我们选择用其他的控制器来认证该控制器的真伪。如果控制平台侧认证成功,那么就可以认为该控制器是安全的,确认是交换机侧出现了问题,成功认证身份的控制器断开与伪交换机的连接;如果该控制器在控制平台认证失败,则由其他控制器来处理被攻击的控制器。

Claims (4)

1.基于区块链思维的分布式SDN控制平面安全认证方法,其特征在于,包括如下几个步骤:
1).控制器初始化连接:控制器的初始化以及新控制器顺序加入控制平面;
2).控制平面认证:控制平面各个控制器相互认证身份;
3).控制平面和数据平面交叉认证:控制器和交换机以流表为关键信息相互认证身份。
2.如权利要求1所述的方法,其特征在于,所述步骤1)控制器初始化连接为:首先,管理员密码认证并开启所有控制器,这是对控制器的第一重保护;
接下来是各控制器进行连接,即控制器加入过程;管理员随机决定一个初始控制器A,接收其他控制器发出的连接请求;初始控制器A生成私钥,进而产生公钥;想要加入控制器层的控制器B向初始控制器A发出请求,获取初始控制器A的公钥;控制器B使用A的公钥对自己的信息进行加密,然后发送给初始控制器A;初始控制器A认证信息成功后,将B加入信任列表;新加入的控制器请求A或B的认证获取权限;通过这种方式,使得整个控制器网络连接在一起,并且相互之间掌握公钥。
3.如权利要求1所述的方法,其特征在于,所述步骤2)所述控制平面认证为:假设控制器A有数据包向控制器B的域内转发,采取订阅分发的方法,A向共享数据库提出请求全局视图,同时将请求以及自身的信息,如编号、主机信息,发送给其他控制器用以认证;其他控制器收到请求认证的消息后,将请求的时间、内容摘要、设备编码记录在本地;各控制器认证后达成一致共识,若同意A的请求,则反馈给共享数据库;数据库接纳A的请求;若认证失败,则数据库视为无效信息,丢弃;同时,视该控制器为问题控制器,各控制器切除与该控制器的连接,并通知管理员进行查验。
4.如权利要求1所述的方法,其特征在于,所述步骤3)所述的控制平面和数据平面交叉认证为:通过控制器认证交换机的编号、端口、速率、链路、主机信息,进行第一重认证;当控制器给交换机下发流表时,也存储一份在控制器中;每添加一次流表,就相当于控制器区块上的交易就添加一条,记录下发的时间,根据时间顺序排列,在控制器和交换机上有相同的流表;Merkle树通过计算相邻两个流表的哈希值并一层层的向上运算,形成一个二叉树,最终以一个Merkle值归纳了全部流表信息,将其加在认证信息的头部;任何流表的修改都会使得生成的Merkle值改变;因此,若控制器中流表生成的Merkle值与交换机中的流表生成的Merkle值一致,则交换机和流表都是安全的,交换机将新生成的流表加入流表项;若不同,则有如下两种情况:(1)交换机被替换;(2)攻击者伪造了源地址为合法控制器IP地址的数据包,下发了伪造的流表。
CN201711403221.3A 2017-12-22 2017-12-22 基于区块链思维的分布式sdn控制平面安全认证方法 Active CN108173827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711403221.3A CN108173827B (zh) 2017-12-22 2017-12-22 基于区块链思维的分布式sdn控制平面安全认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711403221.3A CN108173827B (zh) 2017-12-22 2017-12-22 基于区块链思维的分布式sdn控制平面安全认证方法

Publications (2)

Publication Number Publication Date
CN108173827A true CN108173827A (zh) 2018-06-15
CN108173827B CN108173827B (zh) 2020-09-08

Family

ID=62523650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711403221.3A Active CN108173827B (zh) 2017-12-22 2017-12-22 基于区块链思维的分布式sdn控制平面安全认证方法

Country Status (1)

Country Link
CN (1) CN108173827B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965299A (zh) * 2018-07-19 2018-12-07 清华大学 一种数据访问方法、访问验证设备及数据存储系统
CN109525397A (zh) * 2018-10-12 2019-03-26 南京邮电大学 一种面向sdn网络流规则安全保障的区块链及方法
CN110113148A (zh) * 2019-04-28 2019-08-09 武汉理工大学 一种基于区块链的软件定义机会网络节点身份验证方法
CN110391944A (zh) * 2019-08-02 2019-10-29 山东超越数控电子股份有限公司 一种sdn可信域间策略同步控制方法
CN112769590A (zh) * 2020-11-16 2021-05-07 国网河北省电力有限公司信息通信分公司 一种基于区块链的软件定义内容分发网络服务器选择方式
CN114529405A (zh) * 2022-02-24 2022-05-24 发明之家(北京)科技有限公司 一种基于智能交易的信息访问管理方法及系统
CN114844902A (zh) * 2022-06-30 2022-08-02 南京邮电大学 一种基于区块链技术的sdn控制器与设备交互方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014179923A1 (zh) * 2013-05-06 2014-11-13 华为技术有限公司 基于sdn的网络配置方法、装置及系统
CN104506511A (zh) * 2014-12-15 2015-04-08 蓝盾信息安全技术股份有限公司 一种sdn网络动态目标防御系统及方法
CN106209897B (zh) * 2016-07-28 2020-04-07 重庆邮电大学 一种基于代理的软件定义网络分布式多粒度控制器安全通信方法
CN106572107B (zh) * 2016-11-07 2019-08-09 北京科技大学 一种面向软件定义网络的DDoS攻击防御系统与方法
CN106875165A (zh) * 2017-02-22 2017-06-20 中山大学 一种利用软件定义网络优化的共识算法
CN107222478B (zh) * 2017-05-27 2019-09-17 暨南大学 基于区块链的软件定义网络控制层安全机制构建方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965299A (zh) * 2018-07-19 2018-12-07 清华大学 一种数据访问方法、访问验证设备及数据存储系统
CN109525397A (zh) * 2018-10-12 2019-03-26 南京邮电大学 一种面向sdn网络流规则安全保障的区块链及方法
CN109525397B (zh) * 2018-10-12 2021-05-28 南京邮电大学 一种面向sdn网络流规则安全保障的区块链及方法
CN110113148A (zh) * 2019-04-28 2019-08-09 武汉理工大学 一种基于区块链的软件定义机会网络节点身份验证方法
CN110391944A (zh) * 2019-08-02 2019-10-29 山东超越数控电子股份有限公司 一种sdn可信域间策略同步控制方法
CN112769590A (zh) * 2020-11-16 2021-05-07 国网河北省电力有限公司信息通信分公司 一种基于区块链的软件定义内容分发网络服务器选择方式
CN112769590B (zh) * 2020-11-16 2023-09-08 国网河北省电力有限公司信息通信分公司 一种基于区块链的软件定义内容分发网络服务器选择方法
CN114529405A (zh) * 2022-02-24 2022-05-24 发明之家(北京)科技有限公司 一种基于智能交易的信息访问管理方法及系统
CN114844902A (zh) * 2022-06-30 2022-08-02 南京邮电大学 一种基于区块链技术的sdn控制器与设备交互方法

Also Published As

Publication number Publication date
CN108173827B (zh) 2020-09-08

Similar Documents

Publication Publication Date Title
CN108173827A (zh) 基于区块链思维的分布式sdn控制平面安全认证方法
CN109981582B (zh) 一种基于区块链的物联网设备身份认证方法
US8275984B2 (en) TLS key and CGI session ID pairing
CN109359464B (zh) 一种基于区块链技术的无线安全认证方法
EP3360279B1 (en) Public key infrastructure&method of distribution
US11363033B2 (en) Time-dependent blockchain-based self-verification user authentication method
CN105516980A (zh) 一种基于Restful架构的无线传感器网络令牌认证方法
CN111490968A (zh) 一种基于区块链技术的联盟多节点网络身份认证方法
CN113225736A (zh) 无人机集群节点认证方法、装置、存储介质及处理器
CN110505055A (zh) 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统
CN113259135B (zh) 用于检测数据防篡改的轻量级区块链通信认证装置及其方法
CN101867473A (zh) 抗阻塞攻击的共享媒体终端连接建立方法和接入认证系统
CN109347626A (zh) 一种具有反跟踪特性的安全身份认证方法
CN106657002A (zh) 一种新型防撞库关联时间多密码的身份认证方法
CN115865320A (zh) 一种基于区块链的安全服务管理方法及系统
CN110602083B (zh) 一种数字身份认证数据的安全传输与存储方法
CN105245338B (zh) 一种认证方法及装置系统
CN106230840B (zh) 一种高安全性的口令认证方法
EP3900260A1 (en) System and method for protection of computer networks against man-in-the-middle attacks
CN110519222A (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统
CN107615704A (zh) 一种网络防钓鱼的装置、方法和系统
CN109600357A (zh) 一种分布式身份认证系统、方法及服务器
Kumar et al. Data protection and outsourcing in cloud with Linear programming and image based OTP
US20230077053A1 (en) Authentication using a decentralized and/or hybrid dencentralized secure crypographic key storage method
CN109981662A (zh) 一种安全通信系统及方法

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