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

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.kler.cn/a/450926.html

相关文章:

  • 安装openGauss数据库一主一备
  • 【幼儿园识物】比大小启蒙资料PDF
  • STM32串口第一次接收数据时第一个字节丢失的问题
  • YOLO模型格式转换:pt -> onnx -> rknn
  • 汽车IVI中控开发入门及进阶(44):杰发科智能座舱芯片
  • Datawhale AI 冬令营学习笔记-零编程基础制作井字棋小游戏
  • 【网络云计算】2024第52周-每日【2024/12/24】小测-理论实操-解析
  • docker 安装minio
  • SpringBoot的Thymeleaf做一个可自定义合并td的pdf表格
  • LeetCode33题:搜索旋转排序数组(原创)
  • 【VMware虚拟机】安装win10系统教程双机可ping通
  • leetcode hot100回文字符串的链表
  • 帝国CMS:如何去掉帝国CMS登录界面的认证码登录
  • 类OCSP靶场-Kioptrix系列-Kioptrix Level 5(2014)
  • GB/T34944-2017 《Java语言源代码漏洞测试规范》解读——行为问题、路径错误、处理程序错误
  • 光谱相机在农业中的具体应用案例
  • C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
  • zabbix监控山石系列Hillstone监控模版(适用于zabbix7及以上)
  • vue实现打印指定页面内容
  • 消除视野盲区,保障行车安全--叉车四路环绕AI防撞系统
  • 迈向未来:.NET技术的持续创新与发展前景
  • 【华为OD-E卷-木板 100分(python、java、c++、js、c)】
  • Naive UI 分页组件二次封装
  • Dubbo简单总结
  • 【蓝桥杯——物联网设计与开发】基础模块8 - RTC
  • GitPuk安装配置指南