摘要:

物联网设备能力有限且数量多,因此当前的传统物联网平台可能无法在可扩展性、可靠性和实时响应方面有效地处理访问控制。本文提出了一种基于区块链、雾节点和物的角色的分散式物联网访问控制系统,利用以太坊智能合约实现安全的设备到设备访问。物联网设备、终端用户和雾节点由管理员添加或删除。在管理员在传感器设备、致动器设备和雾节点之间添加映射关系之后,创建访问控制策略。访问控制策略由事物的角色指定。事物角色(RoT)包含设备的元信息:ID、所有权、位置、设备类型、访问令牌等。它指定了特定事件发生时设备的动作。它还包含描述传感器设备、致动器设备和fog节点之间的映射关系的访问令牌。因此,不同的设备可以根据它们的RoT来响应各种事件,并且在没有中央服务器的情况下自主地相互交互。所有操作都通过区块链智能合同进行;因此,可以可靠地实施访问控制策略。

贡献:

  • 分布式物联网设备访问控制框架基于区块链和边缘计算,允许物联网设备在没有中央服务器协调的情况下进行交互。
  • 识别物联网设备的物联网角色(RoT)配置文件。它还规定了物联网设备在不同情况下的操作及其访问控制策略。
  • 在设备和雾节点之间建立映射关系的访问控制方案。

元素:设备管理员、最终用户、物联网设备、雾节点、云服务器

每个元素都有一个以太坊地址

以太坊节点:Fog Node,Cloud

物联网设备通过关联的fog节点链接到智能合约,管理员和用户通过前端应用程序或特殊电子钱包连接到智能合约

元素功能:

管理员:有两种类型的管理员:超级管理员或所有者和访问受限的助理管理员。超级管理员(所有者)负责创建智能合约,添加或删除设备、外部用户(客户)和系统的雾节点,添加其他人为助理管理员,以及为设备创建事物角色。

用户:是由管理员授权访问特定数据或物联网设备的任何个人或客户。

智能合约:用于创建所有已注册的物联网执行器设备到所有物联网传感器设备的映射。在智能合约的帮助下,我们可以以去中心化的方式有效地管理物联网设备交互。

雾节点:与云服务器相比,雾节点在物理上更靠近物联网设备,提供快速连接。因此,雾节点提高了物联网设备的连接速度、计算能力和可靠性。

云:云服务器可以存储必要的排序和分析所需的物联网数据。

链上+链下

事物角色放在链下

实现:

智能合约内容:变量、结构和修饰符,b) 将设备添加到雾节点和传感器映射,c) 删除设备映射,以及 d) 访问令牌创建。

初始管理员创建合约,数组存放管理员

struct:token,device

两个映射函数:传感器设备映射到可交互设备addSensorDeviceMapping;设备映射雾节点

删除映射函数:delSensor,delFog

创建访问令牌:requestTokenCreation

 

Blockchain-enabled Access Control with Fog Nodes for Independent IoTs的更多相关文章

  1. 转:Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)

    什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...

  2. Oracle Applications Multiple Organizations Access Control for Custom Code

    档 ID 420787.1 White Paper Oracle Applications Multiple Organizations Access Control for Custom Code ...

  3. Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)

    什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...

  4. 开源网络准入系统(open source Network Access Control system)

    开源网络准入系统(open source Network Access Control system) http://blog.csdn.net/achejq/article/details/5108 ...

  5. Browser security standards via access control

    A computing system is operable to contain a security module within an operating system. This securit ...

  6. A GUIDE TO UNDERSTANDINGDISCRETIONARY ACCESS CONTROL INTRUSTED SYSTEMS

    1. INTRODUCTION   The main goal of the National Computer Security Center is to encourage the widespr ...

  7. Access control differentiation in trusted computer system

    A trusted computer system that offers Linux® compatibility and supports contemporary hardware speeds ...

  8. Enabling granular discretionary access control for data stored in a cloud computing environment

    Enabling discretionary data access control in a cloud computing environment can begin with the obtai ...

  9. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' heade

    XMLHttpRequest cannot load http://10.164.153.37:8050/WebService/WebService.asmx/wsGetStreetData. Res ...

  10. Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的China Azure. 我们在创建完Windows Azure Virtual Machi ...

随机推荐

  1. 【学习笔记】C++ 常量折叠原理和验证

    以下的代码很有意思,在相同时刻,相同的内存地址,数据居然会不一样. #include <iostream> int main(void) { const int const_val = 3 ...

  2. C语言定制DEBUG信息

    C语言定制DEBUG信息 背景与问题 在日常编写程序中,我们经常需要输出一些调试信息帮助我们 DEBUG 或者更好的编程,通常我们的做法是这样的: 在需要的地方直接printf(...)输出有用的信息 ...

  3. 【Python】bytes和hex字符串之间的相互转换

    十六进制字符串:a="CC DD 01 61 F6 01 00 64 A4 81 00 00 00 8B" b=bytes.fromhex(a) 转为字节 from socket ...

  4. JSP第五次作业

    1.教材P78-79  例4-9 1 <%@ page language="java" import="java.util.*" pageEncoding ...

  5. java应用定位高cpu占用几步操作

    1.top获取高cpu占用的pid,如266202.查看pid的线程情况, top -H -p 266203.把cpu高占用的线程号转为16进制,printf "%x" 26652 ...

  6. Java Day 2

    标识符 凡是变量中需要自己命名的地方都是标识符,例如:包名.类名.变量名等等 标识符的命名规则 1.Java的标识符只能用26个英文字母大小写,0-9的数字,下划线(_),和美元的符号($). 2.标 ...

  7. 学习java Day1

    今天正式开始自学Java,首先在官网安装了最新版的jdk并配置好了环境,随后安装好了eclipse. 使用eclipse运行了一个基础的aa.java文件,并成功打印出hello world 首先我了 ...

  8. day01-Mybatis介绍与入门

    Mybatis介绍与入门 1.官方文档 Mybatis中文手册:mybatis – MyBatis 3 或者 MyBatis中文网 Maven仓库:Maven Repository: org.myba ...

  9. LG P4148 简单题

    \(\text{Code}\) #include <cstdio> #include <iostream> #include <algorithm> #define ...

  10. [COCI2010-2011#6] STEP

    题目大意 维护一个 \(01\) 序列最长的连续相邻两个数不同的子序列的长度 解析 很裸的线段树题... 要维护的信息很多 区间长度 区间最左端点 区间最右端点 区间最长前缀 区间最长后缀 区间最终的 ...