当前位置: 首页 > news >正文

MQTT协议在树莓派上的安全性和性能测试及其在物联网应用中的应用

论文标题:Testing the Security and Performance of MQTT Protocol on Raspberry Pi for IoT Applications(MQTT协议在树莓派上的安全性和性能测试及其在物联网应用中的应用)

作者信息:

  • Mohammed El-Hajj,计算机学院,阿拉伯开放大学,贝鲁特,黎巴嫩,邮箱:mhajj@aou.edu.lb
  • Danil Vorotilov,语义、网络安全与服务学院,特温特大学,恩斯赫德,荷兰,邮箱:d.vorotilov@student.utwente.nl

论文出处:2024 IEEE Asia Pacific Conference on Wireless and Mobile (APWiMob), 28-30 November 2024, Bandung, Indonesia

主要内容:

引言部分: 本文探讨了物联网(IoT)环境中的核心需求之一,即机器对机器(M2M)通信协议。MQTT协议因其轻量级设计而广泛用于资源受限的IoT应用中。树莓派因其价格亲民和多功能性,成为此类项目的流行平台。本研究旨在评估MQTT协议在树莓派4 Model B上的安全性、性能和可扩展性。研究将创建不同带宽级别的IoT环境,并进行分析。树莓派将作为服务器,而虚拟化的Linux实例将作为客户端。研究将对这些环境中收集的数据进行性能和安全性分析。

研究问题:

  • RQ1:在树莓派4 Model B上实现MQTT在多大程度上确保了安全性?
  • RQ2:在MQTT通信中,不同服务质量(QoS)水平对服务器资源利用的影响,特别关注CPU时钟周期和内存消耗。
  • RQ3:MQTT的性能与CoAP(受限应用协议)在延迟、吞吐量和可靠性方面的比较。

文献综述: 本节回顾了与MQTT协议实现、安全性分析和性能评估相关的工作。包括对MQTT安全性的研究,特别是针对MQTT的SlowITe低速率拒绝服务(DoS)攻击;利用机器学习进行DoS攻击检测的研究;MQTT和CoAP协议的性能比较;以及使用QUIC传输协议对MQTT消息传递的性能优势研究。

方法论: 实验中选择了基于特定标准的MQTT代理和客户端,包括开源、MQTT版本5.0和Python实现。研究选择了EMQX代理和mqtt-paho Python库作为客户端。硬件和软件设置包括在树莓派4上部署EMQX代理,使用MacBook Pro进行SSH控制和作为客户端,以及使用Kali Linux进行安全性分析。测量指标包括CPU时钟周期、内存利用、电池使用、数据包延迟、吞吐量和可靠性。

安全性分析: 本节首先设定了MQTT协议的安全需求,包括数据保密性、完整性和可用性。然后展示了如何将这些安全需求转化为技术实现,并进行了威胁建模,识别系统可能面临的潜在威胁和漏洞。讨论了MQTT的QoS选项、TLS加密通信以及版本5.0中会话管理的变化。

讨论: 本节讨论了SlowITe攻击对MQTT协议的影响,以及在不同版本的MQTT上重现该攻击的尝试。分析了TLS连接对CPU和内存使用的影响,并与TCP连接进行了比较。回答了所有三个研究问题,包括对MQTT代理进行的压力测试结果,以及MQTT和CoAP在延迟和吞吐量方面的比较。

以下是对论文《Testing the Security and Performance of MQTT Protocol on Raspberry Pi for IoT Applications》中测试结果的详细总结:

  1. CPU和内存使用情况

    • 论文中进行了压力测试,以研究不同服务质量(QoS)水平对树莓派4 Model B上MQTT代理的CPU和内存使用的影响。测试结果显示,随着订阅者数量的增加,CPU使用率呈现出线性增长关系。特别是在使用TLS连接时,CPU使用率最高,达到100订阅者时,QoS 0的CPU使用率达到了325.34%,即超过了3.25个CPU核心的使用。
    • 内存使用方面,在TCP连接下,随着订阅者数量的增加,内存使用保持稳定。而在QoS 2下,100个订阅者时内存使用达到峰值13%。
  2. 数据包延迟和吞吐量

    • 论文中还比较了MQTT和CoAP协议在不同数据包丢失率下的性能。结果显示,数据包丢失对MQTT的影响较大,随着数据包丢失率的增加,MQTT的延迟中位数增加,而CoAP的延迟影响较小,表现更为稳定。
    • 在吞吐量方面,MQTT在0%数据包丢失时吞吐量为6.07MB/min,而在10%数据包丢失时降至0.35MB/min,显示出94.23%的下降。相比之下,CoAP的吞吐量在不同数据包丢失率下保持相对稳定,即使在8%数据包丢失下仍能保持6.25MB/min的吞吐量。
  3. 安全性分析

    • 论文中提到了MQTT协议的安全性问题,特别是在数据传输过程中容易受到窃听、篡改和未授权访问的风险。研究探讨了使用TLS来增强MQTT通信的安全性,但同时指出TLS会带来额外的性能开销。
    • 论文还提到了MQTT版本5.0在会话管理上的变化,包括Clean Start和Session Expiry Interval两个字段,这些变化可能会影响MQTT代理的内存使用和可用性。
  4. 性能对比

    • 论文中对MQTT和CoAP的性能进行了对比,特别是在不同数据包丢失率下。结果显示,在不稳定的网络环境中,CoAP相比MQTT具有更好的性能表现,尤其是在高数据包丢失率下。

这些测试结果为MQTT协议在物联网环境中的安全性和性能提供了实证分析,并指出了在资源受限的IoT设备上部署MQTT时需要考虑的安全和性能权衡。

 

结论: 研究得出MQTT协议为IoT设备提供了轻量级和高效的消息传输,但缺乏内置的安全特性。使用TLS可以显著提高MQTT通信的安全性,但也引入了性能开销。因此,应根据IoT应用的具体需求管理安全性和性能之间的权衡。未来的研究方向可以探索为资源受限设备设计的轻量级安全机制,特别是与MQTT结合使用时。


http://www.mrgr.cn/news/81272.html

相关文章:

  • Flutter动画学习二
  • 概率论 期末 笔记
  • 今日总结 2024-12-24
  • 数字产科系统如何利用HL7标准实现数据交换?
  • 【含开题报告+文档+PPT+源码】基于SpringBoot的智能安全与急救知识科普系统设计与实现
  • php中 cli和cgi的区别
  • Dubbo 3.x源码(28)—Dubbo服务发布导出源码(7)应用级服务接口元数据发布
  • 物理层知识要点
  • 论如何优雅地“扒“C代码的底裤 - 白盒审计笔记
  • JWT的生成和工作原理
  • 跟踪方案和小语法
  • leetcode 面试经典 150 题:螺旋矩阵
  • ffmpeg之显示一个yuv照片
  • 对称二叉树
  • ffmpeg之播放一个yuv视频
  • 连续自成核退火热分级(SSA)技术表征共聚聚丙烯(PP)分子链结构
  • pytorch MoE(专家混合网络)的简单实现。
  • 国内RPA产品对比
  • 【笔记】学校教的SSH:远程连接到另一个电脑 并对其进行操作
  • 3D视觉坐标变换(像素坐标转换得到基于相机坐标系的坐标)
  • 自然语言编写的prompt为啥比不上编程语言prompt高效?
  • shiro注入filter内存马(绕过长度限制)
  • 武汉做网站优化推广效果的科学评估方法
  • Dubbo简单总结
  • 工业相机镜头选型知识详解
  • WEB 漏洞 - 文件包含漏洞深度解析