资料介绍
在本文的Part1中,我介绍了启动配置承载层(provisioning bearer layer)和蓝牙mesh启动配置流程的前三个阶段:发送Beacon信号、邀请和交换公共密钥。
启动配置流程包括五个阶段:
1、发送Beacon信号
2、邀请
3、交换公共密钥
4、认证
5、启动配置数据分发
1、发送Beacon信号:如果未经启动配置的设备支持PB-ADV承载层,则其作为未经启动配置设备Beacon进行广播;如果使用的是PB-GATT承载层,则发送可连接的广播数据包。这就向启动配置设备(Provisioner)表明未经启动配置的设备已做好准备,可进入启动配置流程。
2、邀请:启动配置设备(Provisioner)邀请未经启动配置的设备发送自身启动配置功能信息。
3、交换公共密钥:在此阶段,根据未经启动配置设备的功能,启动配置设备(Provisioner)选择合适的验证方法,并通知未经启动配置设备将要采取的方式。之后,启动配置设备和未经启动配置设备会创建一个椭圆曲线公私密钥对并交换公钥。然后,每台设备使用自己的私钥和对等设备的公钥来计算对称密钥,即ECDHSecret。该密钥用于验证对端设备的身份。
本文将介绍启动配置流程的后两个阶段:认证和启动配置数据分发。
4、认证
在此步骤中,启动配置设备使用所选的验证方法,对未经启动配置设备进行验证。有三种可用的验证方法(OOB, Out-Of-Band):输出OOB(Output OOB)、输入OOB(Input OOB)、以及静态OOB(Static OOB)或无OOB(No OOB)。
输出带外(Output OOB)
若选择的是输出带外(Output OOB)验证方法,则未经启动配置设备会选择一个随机数,并通过与其功能兼容的方式输出该数字。例如,如果未经启动配置设备是一个灯泡,则它能够闪烁指定的次数。如果设备具有LCD屏幕,则可以将随机数显示为多位数值。启动配置设备(Provisioner)的用户需要输入观察到的数字,��验证未经启动配置的设备。输出带外验证方法的工作流程如图1所示。
图1 – 通过输出OOB进行验证
输入随机数后,启动配置设备(Provisioner)生成并检查确认值。无论采用哪种验证方式,整个验证步骤中的检查确认值(check confirmation value)计算方式都是相同的,请继续往下看。
输入带外(Input OOB)
输入带外(Input OOB)验证方法与输出带外(Output OOB)方法类似,但设备的角色相反。启动配置设备(Provisioner)生成并显示随机数,然后提示用户采取适当的操作,将随机数输入未经启动配置的设备。以照明开关为例,用户可以在一定时间内数次按下按钮,以这种形式输入随机数。
与输出带外验证(Output OOB)相比,输入带外(Input OOB)方法需要发送一个附加的启动配置协议PDU。在完成认证操作之后,未经启动配置的设备向启动配置设备发送一个启动配置输入完成PDU(Provisioning Input Complete PDU),通知其随机数已输入完成。随后进入到执行检查确认值操作的步骤。
图 2 – 通过输入OOB进行验证
静态带外(Static OOB) 或无带外(No OOB)
在输入带外或输出带外都不可用的情况下,启动配置设备(Provisioner)和未经启动配置的设备可采用静态带外(Static OOB)验证或无带外(No OOB)验证:采用静态OOB信息;或静态OOB信息不可用,直接以数值0代替。在此情况下,启动配置设备和未经启动配置的设备各自生成一个随机数,然后进行检查确认值操作。
检查确认值(Check Confirmation Value)
无论采用何种验证方法,都会进行确认值生成和检查。根据蓝牙mesh规格,启动配置设备(Provisioner) 和未经启动配置设备应分别计算确认值。这两个值被称为ConfirmationProvisioner和ConfirmationDevice。这两个值的计算都使用一系列相同的函数,不同之处仅在于所使用的随机数输入。
蓝牙mesh规格中有两页关于计算过程的内容说明。确认值生成函数需要8个参数,参数值来自启动配置(Provisioning)过程中的后续步骤。可参考规格的5.4.2.4认证和5.4.1启动配置PDU部分,了解更多详细信息。(详见: )
表1列出了用于确认值生成及其来源的参数。
表1 - 用于确认值计算的参数
让我们来看看用于确认值生成的算法。图3是一个流程图,其中包括了几轮AES-CMAC和SALT生成[1]。该流程图对于ConfirmationProvisioner和ConfirmationDevice值均适用。
如果由启动配置设备(Provisioner)执行输入,则从一个名为RandomProvisioner的值开始(下图中以蓝色表示),并生成ConfirmationProvisioner值。
如果由未经启动配置设备执行输入,则从一个名为RandomDevice的值开始(下图中以绿色表示),并生成ConfirmationDevice值。
图 3 – 确认值生成图
确认值检查(Confirmation Value Check)
当确认值生成之后,两台设备就会进行交换,并且都会检查接收值的完整性。图4表示确认值检查的过程。
确认过程的开始就是启动配置设备(Provisioner)将其随机数RandomProvisioner发送到未经启动配置的设备。未经启动配置设备使用它来重新计算确认值,并与之前接收的确认值进行比较,进行验证。
图 4 –确认值检查
如果由未经启动配置设备计算所得的确认值与接收到的ConfirmationProvisioner不匹配
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 大型蓝牙mesh网络中的消息传输方式资料下载 8次下载
- 蓝牙mesh网络安全性的基本概念资料下载 9次下载
- 蓝牙mesh的“启动配置(provisioning)”的安全流程资料下载 6次下载
- 蓝牙mesh网络的低功耗资料下载 16次下载
- 蓝牙mesh网络如何构成?资料下载 19次下载
- 蓝牙mesh网络拓扑背后的基本概念资料下载 11次下载
- 蓝牙mesh的5个常见误解资料下载 21次下载
- 蓝牙Mesh应用选择芯片资料下载 10次下载
- 说一说蓝牙mesh代理服务资料下载 14次下载
- 蓝牙mesh网络的启动配置协议资料下载 13次下载
- 蓝牙mesh网络为何适合商业照明资料下载 12次下载
- 蓝牙Mesh网络的通信原理资料下载 34次下载
- 蓝牙Mesh网络的隐私与安全资料下载 15次下载
- 蓝牙Mesh网络的构成要素资料下载 5次下载
- 如何向蓝牙Mesh网络添加、删除新的设备资料下载 2次下载
- 泰凌微电子蓝牙Mesh设备固件更新功能和测试说明(一) 470次阅读
- 蓝牙Mesh的四种基本特性 196次阅读
- 蓝牙mesh互传及蓝牙单向穿透的功能测试 550次阅读
- AURIX™ TC3xx启动流程详解 2151次阅读
- 泰凌微电子自研蓝牙Mesh解密分析工具操作说明 1563次阅读
- Zynq在非JTAG模式下的启动配置流程 988次阅读
- 蓝牙资格认证流程说明 3417次阅读
- HAB boot的启动流程与实现步骤 1106次阅读
- 蓝牙传输的原理和蓝牙Mesh技术如何辅助物联网的说明 7568次阅读
- 通过蓝牙Mesh网络连接一切 1.2w次阅读
- 关于Xilinx FPGA的配置流程浅析 4739次阅读
- 蓝牙mesh网络将成为最成功的低功耗物联网标准 8117次阅读
- 介绍如何通过蓝牙Mesh的配置文件实现热门的实时定位服务 4970次阅读
- 蓝牙Mesh的广泛应用指日可待 4002次阅读
- Xilinx FPGA 嵌入式系统程序引导和启动的流程 1987次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1491次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 95次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 11次下载 | 免费
- 6100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 7基于单片机和 SG3525的程控开关电源设计
- 0.23 MB | 4次下载 | 免费
- 8基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537793次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多