MshPRF阅读笔记之Mesh security

BLE的东西比zigbee好像是多很多,概念很多,身边也没有朋友做这块可以请教的,比较麻烦,所以想先沉下心、硬弓硬马的啃官方文档。

这里不翻译文档,仅仅是自己半吊子看英文后自己的理解吧。

 

Sequence number

SEQ可以被不同的Element共享,也可以不共享。这说明SEQ的校验是按照Element来的,每个设备node可能收到相同Seq的包,但是同一个node的某一个Element一定要求Seq是不同的,否则就是重放攻击被忽略掉。

3个bytes的Seq,平均5s发送一次消息,可以使用2.6年。

the element shall update the IV Index using the IV Update procedure (see Section 3.10.5). This is done to ensure that the sequence number will never wrap around.

这句话是说Seq还有点依赖于IV index?具体是怎么个依赖呢?

IV Index

整个网络共享一个IV index值,IV Index的更新是通过命令Secure Network beacons (see Section 3.9.3)进行的。
 

Nonce

随机数,用于认证和加密的,应该是像CPU卡那种,为了避免密钥的泄露,不直接传输密钥,而是对端通过对随机数进行加密回传,验证端能解析出自己的随机数即表示认证通过。这种随机数目前有四种类型:

Keys

Mesh中定义了两种类型的key:application keys (AppKey)、network keys(NetKey)。AppKey用来在上传输层被使用,NetKeys在网络层被使用。两种类型的Key都可以在节点间共享。还有一种Key是device key(DevKey),这是一个特殊的application key,每个节点都有一个特有的DevKey,只能被节点本身以及Client Configure所知,用来保护节点和Configureaion Client之间通讯。

AppKey是跟NetKey绑定的,这意味着AppKey只能在它所绑定的NetKey的上下文中使用。一个AppKey只能绑定一个NetKey,一个DevKey可以绑定到所有的Netkey上。

key的绑定关联关系可以用下图解释:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值