问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

MQTT-I:在MQTT中实现端到端的数据流完整性

创作时间:
作者:
@小白创作中心

MQTT-I:在MQTT中实现端到端的数据流完整性

引用
CSDN
1.
https://blog.csdn.net/bit_mike/article/details/144437934

MQTT(Message Queuing Telemetry Transport)协议作为物联网(IoT)中的实际标准,其基于发布/订阅模型,通过中心化的MQTT代理服务器来收集和分发消息。尽管MQTT在多个领域得到广泛应用,但标准MQTT缺乏内置的安全特性。本文提出了一个新的协议MQTT-I(Integrity),旨在实现端到端的数据流完整性,以应对不可信代理的威胁模型。

引言

MQTT(Message Queuing Telemetry Transport)协议作为物联网(IoT)中的实际标准,其基于发布/订阅模型,通过中心化的MQTT代理服务器来收集和分发消息。尽管MQTT在多个领域得到广泛应用,但标准MQTT缺乏内置的安全特性。本文提出了一个新的协议MQTT-I(Integrity),旨在实现端到端的数据流完整性,以应对不可信代理的威胁模型。

相关工作

本节回顾了与MQTT端到端安全和外包数据完整性相关的主要研究方法。讨论了确保端到端保密性、访问控制和认证的不同解决方案,以及它们在MQTT中的应用。

背景知识

提供了MQTT协议和Merkle Hash Tree数据结构的背景知识。MQTT是一个客户端-服务器的发布/订阅消息传输协议,Merkle Hash Tree是一种用于验证数据完整性的数据结构。

威胁模型

描述了本文的敌手模型和通过解决方案实现的安全属性。考虑了一个场景,其中代理可能主动干扰协议执行,包括修改、注入、删除消息或改变消息顺序。

动机

讨论了为什么现有的技术不能直接应用于MQTT领域以实现端到端数据流完整性,并介绍了MQTT-I协议如何满足设计挑战。

基线方法

描述了不采用Merkle Hash Tree的基线方法,通过简单的哈希链来确保数据完整性。

MQTT-I:提出的解决方案

详细介绍了MQTT-I协议,该协议通过在发布者端构建Merkle Hash Tree并在代理端进行适当更改来实现数据流的完整性验证。

  • 发布者操作:发布者为每个主题维护一个序列号和一个摘要(digest)。发送消息时,发布者在主题下发布消息,并更新摘要。每轮结束时,发布者构建一个Merkle Hash Tree,并对其根进行签名,然后将签名和根与其他信息一起发布。

  • 代理(Broker)变化:代理需要为每个发布者维护一个与发布者相同的摘要数组,并在接收到发布者的签名信息时,计算Merkle Hash Tree的根,并存储从叶子到根的路径信息,以便订阅者可以重新计算根。

  • 订阅者操作:订阅者维护与发布者相同的摘要数组,并在接收到消息时更新摘要。每轮结束时,订阅者使用代理提供的信息重新计算Merkle Hash Tree的根,并验证发布者的签名以确保数据的完整性。

计算开销

分析了基线方法和MQTT-I与标准MQTT协议相比的计算开销。

与现有方法的比较

将MQTT-I与流数据外包中的流认证数据结构(SADS)进行了比较,并讨论了MQTT-I在计算复杂性上的优势。

实验

通过在物理设备上实现标准MQTT协议、基线方法和MQTT-I来验证提案的性能,包括吞吐量和功耗。

安全性分析

根据威胁模型,对MQTT-I协议的安全性进行了分析,证明了MQTT-I能够确保数据流的完整性。

结论

总结了MQTT-I的主要贡献,讨论了其在安全性、吞吐量和能耗方面的权衡,并提出了未来的研究方向。

本文原文来自IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, VOL. 21, NO. 5, SEPTEMBER/OCTOBER 2024

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号