(四)深入理解蓝牙Mesh的IV Index和RPL

本文深入探讨了蓝牙Mesh网络中的IV Index和RPL(重播保护列表)概念。IV Index用于防止重放攻击,当seq number达到最大值时需要更新。IV Update通过SNB消息进行,确保所有设备同步IV Index。RPL是一个记录设备seq number的列表,用于防重放攻击和实现relay特性。文章还讨论了RPL的存储策略以及IV Update过程中可能遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.seq number和IV index的关系

二.Mesh网络中IV Index更新的场景

三.Mesh网络IV Index更新的方式

四.什么是RPL

五.RPL和设备自身信息如何存储

六.Mesh IV Update过程容易引入的bug


一.seq number和IV index的关系

根据上一篇文章的介绍可知,蓝牙mesh消息的network层pdu包含了三字节的seq number字段。seq number标识了是此条mesh消息的唯一性,用于防止重放攻击,每发送一条新mesh消息,seq number + 1。那么问题来了,seq的大小只有三字节,sig spec提到过,每5s发送一条mesh消息的话,那么2.6年之后,seq number就用满了,这个时候就需要给seq number进行“扩容”,可以理解为向上进一位,向上进位的部分就是IV index,IV index是4字节,因此用于保证消息唯一性的“标识”就由3字节变为了7字节,用户正常使用,5万亿年也用不满。那么sig mesh在设计时,为什么不将IV index直接设置到network pdu中呢?因为mesh是基于ble的广播信道,4.2协议基础上的广播信道的数据长度有限。IV index为4字节长度,对于mesh来说,每一包消息都带着完整的IV index太重了,没有那么多的可用长度留给IV index用,因此在network层的pdu上只包含了IV index的最低有效位,叫做IVI字段。

图1 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GuoFeng.Wan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值