Design and Testbed Experiments of Public Blockchain-Based Security Framework for IoT-Enabled Dro

article/2025/10/23 8:34:26

摘要

近年来,支持物联网(IoT)的无人机,也称为无人机(UAV),广泛应用于从军事到民用的许多应用,如野生动物监测。由于无人机提供了一种无风险且低成本的设施,以便以高时空分辨率快速持久地监测自然环境,因此它们有助于野生动物监测研究。由于无线通信的性质,部署在其各自飞行区的无人机和安装在动物体内的物联网智能设备之间的通信,以及无人机和其各自地面站服务器(GSS)之间的通信容易受到各种被动和主动攻击。为了缓解这些问题,我们提出了一种基于公共区块链的访问控制实现,用于野生生物监测。同时应用区块链支持的访问控制不仅可以抵御各种攻击,还可以保持不变性、透明度和去中心化特性。接下来,本文模拟区块链部分的拟议安全框架,以测量在区块链中添加不同数量的区块所需的总计算时间,以及每个区块的不同交易数量。最后,进行了一个实际的试验台实验,以证明所提出的框架的可行性。

引言

物联网(IoT)是指能够在人为干预最低的情况下通过无线网络收集和传输数据(信息)的互联网连接对象(虚拟和物理)。物联网的愿景是通过任何网络(公共/专用网络)在任何时间、任何地点将人们与智能设备连接起来,以提供服务[1]。无人机,也称为无人机(UAV),是一种远程驾驶飞机,也是物联网(IoD)环境的一部分,可从军事目的快速部署到民用目的。尽管无人机具有军事背景,但如今它在其他各种应用中变得更加有用。
在这里插入图片描述

图1显示了使用无人机的各种潜在应用。如今,无人机被用于医疗保健应用,以提供急救药物(例如,在新冠肺炎疫情中)、灾害管理(例如,洪水监测、火灾管理等)、智能城市环境交通监测[2]、人群监测、海洋食品供应链中的渔业以捕获足够大的鱼、食品配送系统、,精准农业应用于农田和野生动物监测。最近,无人机被用于野生动物监测,因为无人机是远程控制设备,能够以最小的干扰从难以接近的地方收集野生动物信息[3]。无条件增长的人类活动造成了对野生动物的威胁。在野生动物环境中使用无人机的目的不仅是为了监测野生动物的数量、野生动物种类、数量、习性和生活质量,还可以用于揭示生物多样性实际状况的常规调查。此外,在这样的环境中使用无人机应确保对任何可能影响野生动物种群的奇怪环境活动作出快速反应,并在造成任何永久性损害之前采取预防措施[4]、[5]、[6]。

无人机可以配备若干物联网智能设备,如热红外成像相机、全球定位系统(GPS)和其他智能传感器,以检测野生动物的气味、声音和图像。在无人机的野生动物监测系统中,一些物联网智能设备连接到野生动物身上。这些部署的设备可以感知来自邻居的数据,并将其发送到与飞行区相关的可用无人机。智能设备可以通过公共信道(保险媒体)将感测到的信息发送到其关联的无人机。因此,总是存在危及数据的安全威胁。因此,为了访问实时数据,必须限制数据访问。物联网应用程序中已纳入了多种安全协议,如身份验证、访问控制和密钥管理。访问控制机制是一种安全方案,它控制谁或什么可以看到、使用或访问IoTenabled无人机系统中的资产,以确保机密数据的安全。因此,访问控制是一项主要的安全服务,在支持物联网的无人机辅助应用(如野生动物监测)中提供数据安全极为必要。近年来,研究人员在物联网系统中提出了许多访问控制和认证方案[8]、[9]、[10]、[11]、[12]、[13]、[14]。

Bera等人[15]提出了一种用于IoD环境中未经授权无人机检测的访问控制协议。在这种机制中,基于区块链的解决方案有助于将交易数据(“从无人机到地面站服务器(GSS)的正常安全数据”和“GSS检测未授权无人机的异常(可疑)数据”)存储在专用区块链中。使用真实和真实的交易数据,他们还提供了大数据分析。

Mandal等人[16]为物联网应用设计了一种无证书访问控制机制。他们的方案允许外部授权注册用户(如U)访问特定物联网智能设备(如Si)的实时信息。为此,需要在网关节点(如GN)的帮助下在U和Si之间进行相互认证。通过在“登录和访问控制阶段”相互认证后使用创建的会话密钥,U和Si都可以安全地进行通信。此外,他们的方案允许其他功能特性,例如“当计划将新的智能设备添加到现有物联网环境中时,动态物联网智能设备添加”,“允许撤销授权注册用户U的访问权限的用户撤销”,以及“n个真实注册用户U在任何时间、任何地点使用其移动设备进行用户密码/生物特征更新,无需再与GN联系”。

Lin等人[17]还设计了一种有效的身份验证框架(BSeIn)。它依靠区块链支持的安全相互认证和“细粒度访问控制系统”进行工业4.0部署。该框架方案还集成了以下组件:a)属性签名,b)多接收器加密,c)消息认证码。此外,他们的框架还提供了一些重要的安全特性,包括**“匿名身份验证”、“可审核性”和“保密性”**。

本文的其余部分略述如下。在第二节中,讨论了网络和威胁模型,这是讨论和分析第三节中提出的基于区块链的安全框架所必需的。接下来,在第四节中,我们提供了所提出框架中使用的区块链的详细实现。我们在第五节中提供了所提出框架的试验台实验。

系统模型

本节提供了网络以及本文中使用的威胁模型。

A 网络模型

在这里插入图片描述

如图2所示,使用无人机进行的野生动物监测展示了整体建筑模型。监控室(称为登记机构)登记所有无人机、地面站服务器(GSS)和物联网智能设备(动物跟踪设备),这些设备在部署到特定飞行区或区域之前与野生动物相连。一旦设备部署到多个区域,它们就可以相互通信。该模型中有各种飞行区域,无人机部署在这些区域,以收集实时传感数据(例如动物图像、动物位置等)。全球定位系统(GPS)跟踪项圈(智能动物跟踪设备)与各种野生动物相连,用于跟踪它们的实时位置和状况。动物智能设备可以在它们各自的飞行区域中与飞行无人机连接,以便在它们之间建立会话密钥后发送实时数据。无人机可以通过观察野生动物的不同位置来收集包含飞行区的数据,然后通过在它们之间建立会话密钥来将感测到的数据安全地发送到它们的相关GSS。无人机还可以从与动物相连的智能设备收集数据,并将数据安全地转发给GSS。GSS还可以向无人机发送指令,以监控特定飞行区的野生动物。一旦从多个无人机收集到数据,GSS就利用收集到的安全信息形成交易,并构建区块链。构建块后,GSS执行基于投票的共识算法,即“实用拜占庭容错(PBFT)”共识算法[18],用于将块添加到分布式账本。值得注意的是,GSS形成了构建分布式服务器的对等(P2P)网络。监控室可以从GSS获取实时数据,也可以通过GSS向无人机发送指令。

B 威胁模型

在本节中,我们将讨论我们的威胁模型,并考虑对手的能力。在考虑的威胁模型中,我们假设如下:

•当访问控制机制通过公共信道(不安全信道)进行时,可以在参与者之间传递消息。对手A,可以根据广泛采用的“Dolev Yao威胁模型(也称为DY模型)”影响来自该频道的通信信息[19]。A不仅可以通过窃听来篡改通信的消息,还可以注入伪造消息,删除或修改传输媒体中的传输数据。因此,A可以升级各种主动/被动攻击,例如“中间人攻击”、“重放攻击”、”模拟攻击“等等。

•此外,我们采用了最近事实上的“Canetti and Krawczyk(CK)-对手威胁模型”[20],与DY威胁模型相比,该模型更为强大。根据CK对手威胁模型,A可以获得劫持会话状态的规定,通过这样做,他/她可以捕获会话秘密凭证以及会话期间可能获得的私钥。

•此外,允许A物理捕获部署的设备(物联网智能设备或无人机),并执行复杂的“功率分析攻击”[21]。然后,A可以从捕获的物联网设备和无人机的存储器中检索存储的秘密凭证。因此,“短暂秘密泄露(ESL)攻击”和物理无人机/设备捕获攻击始终存在风险。因此,为特定会话创建会话密钥必须同时包含长期秘密和短期秘密(也称为会话特定(短暂)秘密)。

•最后,我们认为监控室和GSS都是该网络中完全受信任的一方,它们将被置于物理锁定系统之下。

提出基于区块链的安全模型

在本节中,我们详细阐述了为物联网无人机辅助野生动物监测部署提出的基于区块链的安全框架。在这项工作中,我们考虑了公共区块链,以便任何人都可以查看特定区域的野生动物监测情况。整个安全框架将在以下阶段进行讨论。

A 系统初始化阶段

在几个飞行区部署不同实体(物联网智能跟踪设备、无人机和GSS)之前,由**可信注册机构(RA)(称为监控室)**执行。在此阶段,RA为这些实体、证书和基于椭圆曲线的私钥和公钥选择唯一和不同的身份。选择这些凭据后,RA可以在部署之前将这些凭据预加载到其内存中。哈希函数的选择将是“单向密码哈希函数”,并且非奇异椭圆曲线位于大素数阶p的有限域GF(p)上(出于安全原因,该阶应为160位大素数,而安全性考虑基于1024位公钥的RSA密码系统)。

B 访问控制阶段

在此阶段,我们考虑以下实体中的访问控制策略:
1)无人机(DR)和物联网智能设备(SD)
2)无人机DR到其相关地面站服务器(GSS)

1) 无人机DR到智能设备SD访问控制阶段:
与野生动物连接的智能设备SD在建立它们之间的会话密钥后,可以安全地向DR发送实时数据。要建立会话密钥,SD或DR可以通过预加载的凭据(例如,证书)相互验证。一旦认证结束,他们可以通过DR和SD之间的访问控制阶段建立安全的Diffie-Hellman变体会话密钥,这将帮助他们加密/解密实时传感数据。

2) 无人机DR到GSS访问控制阶段:
在此阶段,无人机DR和GSS可以在交换传感信息之前建立会话密钥。在建立他们之间的会话密钥之前,GSS可以通过检查DR预先存储的凭据和DR使用的证书来验证DR的合法性。在所有验证成功完成后,他们可以建立安全的会话密钥。会话密钥可用于DR实时感测数据的加密目的。此会话密钥可进一步用于将GSS的指令发送给DR,以监控特定会话中的飞行区。我们应用现有的基于安全椭圆曲线密码的访问控制机制[22]在无人机(DR)和物联网智能设备(SD)以及无人机DR及其相关地面站服务器(GSS)之间建立会话密钥。

C 块生成阶段

该阶段由GSS执行。每个GSS都与一个飞行区相关联,在该飞行区中,几架无人机可以在访问控制阶段使用已建立的会话密钥安全地飞行并向该GSS发送信息。因此,一旦完成的DR通过其中建立的会话密钥发送加密信息,GSS就可以通过相同的会话密钥解密加密信息并进行交易(Tx)。事务Tx可以保存野生动物图像(例如,热图像、简单图像)、动物位置等信息。
Tx的基本结构为:Tx={时间戳、信息、位置、发送者身份、飞行区身份}
一旦完成事务,GSS将通过注入一个nt事务列表T xi,这些事务的Merkle root {Txi |1≤ i≤ nt},块的版本,块创建时间(时间戳),前一个块的哈希,块创建者身份(块的所有者),块创建者的公钥(称为签名者的公钥),最近块的哈希(当前哈希块),及使用ECDSA签名算法ECDSA.Sig(·)。这种创建的块的详细描述如图3所示:
在这里插入图片描述

D 块添加

在区块链中心要将区块添加到公共区块链中,GSS将执行以下步骤:
•步骤1:一旦交易池达到预定义的交易阈值(nt),就可以从P2P GSS网络中以循环方式选出领导者或提议者。假设领导者是GSS1,它从该池收集nt事务并形成一个块,其结构如图3所示。
•步骤2:GSS1执行“实用拜占庭容错(PBFT)”[18]算法来验证所提出的块。GSS1然后提出阻止或将其广播到P2P网络,领导者的状态将其状态更改为预先准备好的状态。
•步骤3:在从领导者GSS1接收到带有块的预准备消息后,跟随者节点(或称为验证器)进入预准备状态,并验证块,然后等待来自其他验证器的2f+1个有效的已准备消息,其中f是网络中故障节点的数量。如果GSSl接收到至少2f+1个有效响应消息(这意味着GSSl的验证器已经成功验证了Merkle树根、当前哈希块以及提议块中具有事务池的所有事务T xi(i=1,2,··,nt)上的签名),验证器将进入提交状态。收到提交消息后,验证器将块附加到各自的区块链中。

区块链实现

区块链实施已在节点创建的虚拟分布式系统上执行。js VS Code 2019环境。对于区块链模拟,我们认为P2P GSS服务器的节点(称为服务器)数量为14。在“[配置需要写入实验室系统]”下创建的虚拟分布式系统。如图3所示,基于投票的共识算法(PBFT)用于模拟,区块结构用于此实现。模拟在以下两种场景下进行:
•场景1。在此场景下,我们将每个区块的交易数量固定为39,其中区块数量不同。图4中提供的模拟结果表明,当块的数量随着固定的事务数量而变化时,计算时间(以秒为单位)也线性增加
在这里插入图片描述

•场景2。该场景下的区块链模拟如图5所示。我们将每个链中的区块数量固定为29个,并改变每个区块中的交易数量。图5中报告的模拟结果还表明,当每个块的事务也增加时,计算时间(以秒为单位)增加
在这里插入图片描述

测试实验

在这里插入图片描述

在这个试验台实验中,我们通过考虑Bera等人设计的现有访问控制方案,执行了建议的访问控制机制[22]。访问控制机制已在客户机-服务器模型范例中实现,套接字编程环境为python3语言。每个无人机DR被视为客户端,地面站服务器(GSS)被视为服务器。对于网络设置,我们使用Tenda N301路由器为我们的实时实验设置无线网络。

我们使用WIFI热点技术创建了一个专用无线网络。实验结果如图7所示。值得注意的是,DR和GSS之间建立了会话密钥。已建立的DR会话密钥在图7的左侧部分提供,位于Raspberry Pi 3[23]配置(“Ubuntu 18.04,四核1.2GHz Broadcom BCM2837 64位CPU,1GB RAM,16 GB内存”)下,如图6所示,该配置与真实无人机相连。同样,已建立的与DR的会话密钥显示在图7右侧的GSS侧。
在这里插入图片描述
每个GSS的配置被视为环境下的笔记本电脑配置:“Ubuntu 20.04 LTS,64位操作系统,Intel R©CoreTM i5-4210U CPU@1.70GHz,4 GB RAM,130 GB内存分区”。注意到双方(DR和GSS)建立的会话密钥是相同的。一旦在它们之间建立了会话密钥,DR将获取真实图像(存储在一个文件中,如“f2.jpg”),然后通过对称加密(在这种情况下,我们考虑了“高级加密标准(AES-256)”)将图像文件发送到GSS。

结论

在这项工作中,我们在物联网无人机辅助野生动物监测中提出了一个基于公共区块链的访问控制安全框架。在从无人机和间接安装在动物身上的智能设备获得数据安全后,负责的GSS创建交易以建立公共区块。然后通过基于投票的PBFT共识算法来挖掘该块,以便P2P GSS节点验证和添加该块。我们提供了区块链实现。最后,我们为所设计的安全框架提供了测试台实验。未来,我们希望通过在农场房屋的动物身上部署更多无人机和物联网智能设备来扩大试验台实验。


http://chatgpt.dhexx.cn/article/GkrwdQfq.shtml

相关文章

如何使用vs来运行box2d中Testbed的案例

0 环境 vs: vs2012 box2d: Box2D_v2.1.21 得到box2d编译版本 可以参考: https://blog.csdn.net/sty945/article/details/83823976 现在我们得到一个可以用vs2012打开的box2d版本,用vs2012打开如下图所示: 2 运行Testbed的项目 将testbe…

testbed常见问题及处理(2)

1.已经将定义全局变量(或者定义类型)的头文件添加到头文件搜索路径,仍提示变量未定义(或类型未定义) 原因:可能是由于最初分析时未指定头文件搜索路径,或者指定的路径不正确,导致未搜索到头文件…

一张表带你了解自动化测试工具Parasoft VS TestBed

你知道测试金字塔吗? 为了用开发实践来扩大测试规模,如何以正确的数量设计合适类型的自动化测试?测试金字塔是一个很好的指南! 测试金字塔是一个很好的视觉隐喻,它描述了不同的测试层,以及每一层要做多少…

testbed 桩函数设置

testbed 桩函数设置 单元测试时,为了隔离各个函数,方便测试,通常我们会在被测函数中将调用函数进行打桩。 我们可以为打桩函数设置(如果桩函数调用多次,这设置值用逗号分隔,每次调用使用序列中的一个值&…

testbed笔记:头文件里的函数

testbed笔记:头文件里的函数 问题 头文件里的函数不会展现在这里: 解决办法: 在下面位置 右键这里,选择file view display level 勾选full analysis

testbed软件测试技巧,基于LDRA Testbed 软件的单元测试

摘要:LDRA Testbed测试工具辅助完成稿可靠性的军用软件测试工作,文章对LDRA Testbed 的分析并进行单元测试,阐述了LDRA Testbed在软件测试中的作用。文章针对测试的对象进行了需求分析并形成报告,构建测试用例并对如何查看和分析动态覆盖率测试报告做了阐述。证明合理的使用…

SONiC testbed

熟悉一下如何测试,并且查看一些测试配置。文章参照Ansible Playbooks for Testing SONiC。 物理拓扑 上图中的各个硬件介绍 testbed servers是用来跑测试用例的。root fanout switch是根交换机。leaf fanout switches是用来连接被测试交换机。DUTs是指被测试的交换机…

软测工具Testbed的使用以及动态测试实例

基于大连理工大学软件测试与质量保证实验 1,软件与环境安装 由于该版本的Testbed是测试版本,有一定的使用期限。所以最好是下载到虚拟机里面然后使用之前用快照还原状态。当然直接下载到电脑里可以,但注意在使用期限内完成实验。 下载如图…

testbed常见问题及处理(1)

1.序列名不规范 为了工程化的管理测试用例,单元测试时,建议为每个被测函数(uut)创建一个序列,而序列名使用函数名,以便后期维护管理。 2.未确认代码是否编译通过,就开始测试 应当在确定代码编译…

Testbed静态分析

使用testbed进行代码的静态分析主要有四个步骤: 选择分析对象 分析前的设置 分析项的选择与分析过程 查看分析结果 1、选择分析对象 可通过两种方式选择被分析对象:单个文件分析、以集(set)的形式分析,其中以set…

Testbed单元测试

在testbed中C代码中的"单元"指的是一个函数,单元测试就是针对每个函数进行测试。 在使用testbed进行单元测试前需要先确认当前使用的编译器是否正确,且current compiler和default compiler是否是一致的。如果当前编译器不正确,可点…

中山大学2019年研究生复试机试题目(数据科学与计算机学院)

\qquad 本人在2019年9月参加了中山大学数据科学与计算机学院的推免面试,将模拟机试的题目记录如下。(正式机试时有原题出现) 小伙伴们复试加油哇!!!!! \qquad 详细内容已放进网盘&am…

关于我考研的这一年随记 —— 2022暨南大学电子信息计算机技术专业初试第三复试第一

出成绩了,初试第三,复试第一,成功圆梦。这一刻,我与17岁的自己和解。四年前的遗憾终于在今天得到了圆满。这一路走来,我迷茫、焦虑、惶恐与不安,似乎对自己的执念有一股莫名的冲动和那么一丝后怕。出成绩前…

中山大学软件工程专硕考研经验(双非跨考)

我是一名双非医科大学的本科生,因为不是很喜欢这个专业,并且对计算机感兴趣(喜欢写代码),最后就决定跨考计算机了。为什么选择中大呢?说来话长,很多人可能觉得我自不量力,双非跨考还…

2023中山大学计算机考研经验分享

最新数据见:中山大学考研经验分享历年真题_N诺计算机考研 中山大学数据科学与计算机学院官网 中山大学人工智能学院:http://sai.sysu.edu.cn/ 中山大学软件学院:http://sse.sysu.edu.cn/ 中山大学系统科学与工程学院 :http://sss…

【计算机考研院校推荐】广东地区汇总-22考研版

本篇文章由皮皮灰收集 数据来源21考研,仅供22考研参考 收集招生081200 计算机科学与技术、083500 软件工程、083900 网络空间安全、085400 电子信息-计算机方向的院校 更为详细的院校信息可在后台回复获取 广东地区院校目录 1.(10558)中山大学【985/211】 2…

2023 暨南大学计算机专硕(电子信息计算机技术方向)考研经验分享

文章目录 前言数学二专业课 848英语二政治复试杂七杂八考试地点与考试方式作息坐姿群848 资料 总结 前言 2023 年暨南大学计算机专硕考生(电子信息计算技术方向),初试成绩 392 分(复试线 344 分)。非常感谢前人的经验…

2020暨南大学计算机考研经验分享

前言: 主要介绍了今年暨南大学计算机考研的相关情况、848真题的部分回忆内容、自己的一些经验教训,还有复试名单拟录取名单等第一手资料,文章很长,可以只看自己目标专业的情况和真题部分。 一、个人情况介绍 报考的是暨南大学电子…

2022年中山大学计算机考研复试分数线预测

中山大学属于34所自划线院校之一,考研复试分数线分国家线和院校自划线,院校自划线公布时间一般早于国家线,报考中山大学计算机研究生的考生,复试分数线请以院校官网公布的分数线为准! 2021年中山大学计算机考研复试分数线公布日期…

中山大学计算机考研资料汇总

中山大学数据科学与计算机学院官网 中山大学(Sun Yat-sen University, SYSU),简称“中大”,由孙中山先生创办,有着一百多年办学传统,是中国南方科学研究、文化学术与人才培养的重镇。中山大学是教育部和广…