一、网络密钥(Network Key)
应使用符合核心规范要求的随机数生成器生成。 网络密钥层次结构的图示如图所示。
1、用NID EncryptionKey PrivacyKey 来对mesh网络数据加密。
2、Network ID 安全网络广播 以及GATT网络广播
3、IdentityKey 用于节点识别广播
其中hash就是采用 IdentityKey生成。
4、beaconkey
二、应用密钥(AppKey)
1、AID 用于接入消息的验证
不同应用之间可以采用不同的应用秘钥。AppKey用于应用程序的数据。网络中的一些节点具有特定应用,并且根据应用的需要对一些潜在敏感数据的访问进行限制。这些节点具有特定的AppKey,并与特定应用相关联。会使用不同AppKey的领域通常包括安全(楼宇门禁、机房门禁和CEO办公室门禁)、照明(制造厂房、外部楼宇照明和人行道)和HVAC系统。
当一节点接收到讯息时,会将讯息从架构最底下的低功耗蓝牙,一层一层往上传(从载体层到网络层)。接着,网络层会进行各项检查来决定是否将讯息传给上一层,或者直接抛弃。
此外,PDU当中有一个网络识别码(Network ID)栏位,可用来快速判断讯息使用的网络密钥。如果接收端的网络层无法辨识该网络密钥,就代表接收端装置不属于该网络的成员,而会将PDU抛弃。此外,还有一个网络讯息完整性检查(MIC) 栏位。节点会辨识PDU网络识别码对应的网络密钥,如果检查失败,讯息便会直接被抛弃。在发送端节点讯号范围内的所有节点都会收到发出的讯息,与收到装置不相干的讯息则会迅速被抛弃,例如来自不同的网络或子网络的讯息。
同样的原则在上层传输层也一样适用。不过,该层检查的是讯息的应用密钥,也就是PDU当中的应用识别码(AID)栏位。如果收到的节点无法辨识PDU中的应用识别码,上层传输层就会将PDU直接抛弃。此外,若是传输讯息的完整性检查(TransMIC)失败,讯息也会被抛弃。
三、设备秘钥(DevKey)
设备密钥(DevKey)是仅为节点和配置客户端所知的访问层密钥。 设备密钥应绑定到节点已知的每个网络密钥。 那些绑定不能改变。 设备密钥派生的图示如图所示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)