DistBlockNet:A Distributed Blockchains-Based Secure SDN Architecture for IOT Network
现有问题
随着IOT中智能设备多样性和数目的增加,IOT的灵活性,效率,可用性,安全性和可扩展性的问题越来越明显。
实验目标
按照高适应性,可用性,容错性,性能,可靠性,可扩展性和安全性的设计原则,构建一个安全分布的物联网网络的高性能架构
主要贡献
- 利用区块链技术为IOT提供分布式的SDN安全架构
- 提出一种更新架构中流规则表的技术
与传统模型比较
设计概述
架构图:

在这个架构中,SDN控制器已区块链的方式连接(?)。同时,每个IOT网络包含OrchAPP,控制器和Shelter模块。OrchAPP和Shelter模块分别处理不同层面的攻击:OrchAPP作用与北向及以上,Shelter作用在南向。通过两者的协作,可以基于反复出现的威胁情况,实行主动或被动的预防。OrchAPP
OrchAPP是使用基于主机的软件,布置到适当的应用层执行点,并将安全问题分为3种,每种有相应的安全策略:
- 访问控制(Access control):在管理层建立的物联网网络中实现资源与客户之间认可关联的安全保护模型。
- 数据保护(Data protection):侧重于数据的分类而不是行为和交互。 管理层完成组织中数据流的标准或策略。
威胁情报:从不同网络中获取实时威胁,并解析。
OrchAPP 通过使用与管理层一起工作的自动化威胁反作用控制,根据识别到的攻击,自动进行保护。Shelter
Shelter包含一下两个组件:
- 流量分析仪(a flow control analyzer):主要在饱和攻击发生时,用于维护网络中的基础设施。作为一个控制应用部署在控制层。
包迁移组件(pocket migration components):向OpenFlow控制器发送良性网络流,而不会造成过载。此外,迁移组件的迁移代理被应用于控制平面,数据平面和高速缓存数据平面的元素之间的控制器应用。
Parser
有些攻击使用某些OpenFlow消息(FLOW_MOD等)来改变控制器的网络视图,Parer通过监听和解析流来导入元数据来确认这些行为。
Graph Builder
通过分析Parser已解析过的数据来勾结或更改网络中的流量图。
Verifier(?)
Verifier离线生成路径数据,通过收集路径数据来推导可能的路径。同时,Verifier在线生成反应规则。在线生成反应规则监视并分配全局变量的当前值到状态路径(the status path)。最终,建立我们需要的反应流量规则。
Migration Agent
数据包迁移代理根据受到的攻击和警报类型,做成相应的动作。比如:但饱和攻击发生时,将有效数据包迁移至数据平面缓存。
Data Plan Cache
在饱和攻击期间,它暂时缓存丢失的数据包。 在洪泛攻击期间,大多数洪水包被重定向到数据计划缓存,以避免淹没(flooding)控制器。 通过使用分类器,Packetin生成器和缓冲区队列,它解析迁移的数据包的头并将它们存储在适当的队列中。
Shelter 工作流
Shleter工作有3个阶段:
- 通过监听数据包,构建或更改网络视图。
- 解析Open Flow消息中的拓扑元数据和状态,建立网络中的流量增量图形。
实时收集元数据流动。
当检测到新的流动行为时,Shelter不会发出警报信号。或者,当收信人检测到调用对现有流行为的修饰符的不可信实体时,或者流拒绝管理员指定的任何规则或安全规则时,收信人会提示一个报警信号。而且,由于来自可信控制器的FLOW_MOD消息生成,所以Shelter不会在流重新路由中引发任何警报,这大大减少了如果识别出每个新行为的信号可能发生的警报。更新网络中IOT设备的流规则

DistBlockNet:A Distributed Blockchains-Based Secure SDN Architecture for IOT Network的更多相关文章
- Distributed MVCC based cross-row transaction
The algorithm for supporting distributed MVCC based cross-row transactions on top of a distributed k ...
- Identifying a distributed denial of service (DDOS) attack within a network and defending against such an attack
The invention provides methods, apparatus and systems for detecting distributed denial of service (D ...
- 论文翻译:2020_RESIDUAL ACOUSTIC ECHO SUPPRESSION BASED ON EFFICIENT MULTI-TASK CONVOLUTIONAL NEURAL NETWORK
论文翻译:https://arxiv.53yu.com/abs/2009.13931 基于高效多任务卷积神经网络的残余回声抑制 摘要 在语音通信系统中,回声会降低用户体验,需要对其进行彻底抑制.提出了 ...
- The architecture of LTE network.
3GPP定义的LTE网络架构结构变得扁平化,无线RNC/BSC 消失,只有eNodeB.控制面使用MME进行处理,用户面使用SGW和PGW进行处理.相比GSM和UMTS,在逻辑接口上定义了S1/X2逻 ...
- Distributed Symmetric Multiprocessing Computing Architecture
Example embodiments of the present invention includes systems and methods for implementing a scalabl ...
- [SDN] What is SDN?
本篇学习笔记写于 Sun Nov 13 15:08:02 2016, 可能有认识不全面的地方. 参考资料为ONF的官方网站中: Software-Defined Networking (SDN) De ...
- SDN交换机迁移2
关于迁移过程中迁移目标(被迁移的交换机和目标控制器)的选择 SDN中基于过程优化的交换机竞争迁移算法 通信学报 交换机:请求速率大于域内平均请求速率的交换机集合: 控制器:综合网络中时延.流量和控制器 ...
- SDN测量论文粗读(二)9.21
Monocle: Dynamic,Fine-Grained Data Plane Monitoring 论文来源:CoNext 发表时间:2015 解决问题及所做贡献:Monocle:检测交换机中硬件 ...
- Information Centric Networking Based Service Centric Networking
A method implemented by a network device residing in a service domain, wherein the network device co ...
随机推荐
- ThreadPoolExecutor源码分析
ThreadPoolExecutor是Java自带线程池FixedThreadPool(固定大小). SingleThreadExecutor(单线程).CacheThreadPool (无限大)的具 ...
- Linux入门——开机启动过程浅析
Linux开机启动过程浅析 Introduction 开机启动过程分为以下6个步骤,分别是BIOS, MBR, GRUB, Kernel, Init, RunLevel, RunDefinition ...
- Splay入门解析【保证让你看不懂(滑稽)】
BST真是神奇的东西... 而且种类好多呀... 我这个蒟蒻只学会了splay orzCJ老爷,各种树都会 好好好,不说了,直接说splay. 不知道splay是啥,,你也要知道平衡树是啥... 平衡 ...
- 【BZOJ2431】逆序对数列(动态规划)
[BZOJ2431]逆序对数列(动态规划) 题面 Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组 ...
- 26.Django模板语言和分页
继承 extends 子版只能继承一个父模板 1.父模板 master.html <!DOCTYPE html> <html lang="en"> < ...
- [解决]Linux Tomcat启动慢--Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [236,325] milliseconds
一.背景 今天部署项目到tomcat,执行./startup.sh命令之后,访问项目迟迟加载不出来,查看日志又没报错(其实是我粗心了,当时tomcat日志还没打印完),一开始怀疑是阿里云主机出现问题, ...
- java ---日期的格式化
import java.util.Date; import java.util.Scanner; import java.text.SimpleDateFormat; import java.util ...
- Python之list列表方法详解
# 列表test = [11, 22, 33, 44, 55, 22]# append方法,在test列表末尾增加一个元素# append(self, p_object) 参数:p_object:待添 ...
- Java中的代理模式--静态代理和动态代理本质理解
代理模式定义:为其他对象提供了一种代理以控制对这个对象的访问. 代理模式的三种角色: Subject抽象主题角色:抽象主题类可以是抽象类也可以是接口,是一个最普通的业务类型定义,无特殊要求. Real ...
- pc端响应式-媒体查询
媒体查询(@media):能在不同的条件下使用不同的样式,使页面在不同在终端设备下达到不同的渲染效果 列举常用的pc屏幕宽度: 1024 1280 1366 1440 1680 1920 ...