电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>物联网>蓝牙mesh的“启动配置(provisioning)”的安全流程资料下载

蓝牙mesh的“启动配置(provisioning)”的安全流程资料下载

2021-04-06 | pdf | 228.46KB | 次下载 | 免费

资料介绍

蓝牙mesh网络好比是一个VIP俱乐部。如果您是这个俱乐部的会员,就可以随意进入,享受与会员类别相对应的设施和服务。如果您不是会员,便无论如何也过不了门卫这一关。 蓝牙mesh设备有可能是某一特定蓝牙mesh网络的成员,也有可能不是。如果它是成员,则有权与同为该网络成员的其他设备进行通信(至少以一种基本的方式)。如果它不是成员,那么该设备传输的所有内容都将被网络中的其他设备忽略。 其实可以理解为蓝牙mesh设备也拥有不同的会员类型,例如可以使用某些特定的俱乐部服务设施(如健身房、高尔夫球场等),但不是全部。它只能与网络中的某些设备进行充分的交互。而对其进行管理的就是“应用”(application)这一概念。例如,蓝牙mesh照明开关可以在网络中打开或关闭蓝牙mesh照明灯,因为所有这些设备都是照明应用的一部分。而由于供暖系统并非照明应用的一部分,因此照明开关就无法打开供暖系统。 蓝牙mesh网络 设备要想成为蓝牙mesh网络的成员,则必须经过一个称为“启动配置(provisioning)”的安全流程,将设备添加到网络中。 安全性 安全性是蓝牙mesh网络的核心,我们将在本系列的后续文章中详细介绍这一主题。将设备添加到蓝牙mesh网络、或从中移除设备的过程都将严格遵循安全性要求。 蓝牙mesh网络使用一套包含各类安全密钥的系统,从整体上保护网络,同时保护网络内的各个应用并将其彼此分离。拥有正确的安全密钥,设备才能成为网络成员并有权参与特定应用。网络中的所有节点(node)都拥有一个名为“网络密钥”或“NetKey”的密钥。只有设备拥有了这个密钥,才能成为该网络的成员,即成为其中的节点之一。 命名法 在解密蓝牙mesh系列之前的文章中(第一篇、第二篇、第三篇、第四篇、第五篇),我们介绍了“设备”(Device)和“节点”(Node)这两个正式的技术术语: 作为mesh网络成员的设备称为“节点”,而不构成节点的设备就称为“设备”。本文将用英文首字母大写“D”的“设备(Device)”一词来代指非mesh网络成员的设备,用全部字母小写的“设备(device)”来代指一般的日常电子设备。 启动配置设备(Provisioner) 启动配置的流程会将普通的“设备(Device)”变身为“节点(Node)”,使其正式成为蓝牙mesh网络的成员。这一流程通常需要通过一个应用程序来实现,该程序一般由产品制造商所提供,可在智能手机或平板电脑上使用,但也可以采用其他形式,例如桌面或Web应用程序。 运行启动配置应用程序的设备称为“启动配置设备(Provisioner)”,由于它的作用至关重要,因此在物理上必须要保证它的安全性。 启动配置协议(Provisioning Protocol) 在启动配置期间,启动配置设备会采用称为“启动配置协议”的蓝牙mesh协议,与将要被启动配置的设备进行通信。启动配置设备可通过PB-ADV或PB-GATT承载层[i]两者中的任何一个使用启动配置协议,确保在较早版本的智能手机上亦可实施启动配置设备的应用程序,只要它们支持低功耗蓝牙(Bluetooth Low Energy)和GATT。 向网络中添加新设备 将设备添加至网络的过程中,最重要的一点是要为其提供网络所有其他节点拥有的网络密钥。当然,这一过程本身必须是安全的,这样恶意设备才无法窃取添加新设备时进行的通信,也无法窃取NetKey。 当购买了新的设备(Device)并需要将其添加至当前蓝牙mesh网络时,用户将使用启动配置设备( Provisioner),同时参考这一新设备制造商的说明,将其添加至蓝牙mesh网络。这样,新设备(Device)就变身为节点(Node),成为蓝牙mesh网络的成员。 该流程涉及几个步骤,见下方流程图: 启动配置流程 1、Beacon广播 蓝牙mesh网络规格中介绍了新的GAP广播类型,包括 > 广播类型[ii]。 设备( Device)可采用> 广播类型来发出广播,声明自己是未经启动配置的设备,可被启动配置。用户可能需要根据制造商的说明,按照一定的流程,例如键入一组按钮,或将某一按钮长按一段时间等,以此方式启动新设备的广播。 用户还需要在启动配置设备中启动“添加设备到网络”的流程,以便从Beacon设备(Device)接收广播数据包。需要记住的一点是,启动配置设备可能是智能手机或平板电脑应用,因此在实际操作中会涉及到智能手机解锁、应用程序启动、也许还需要登录应用程序(为了进一步确保安全性),并通过其用户界面启动Beacon设备(Devices)搜寻。这样,启动配置设备就会意识到新设备(Device)的存在和准备就绪状态,可进入后续的启动配置流程。 2、邀请 接下来,启动配置设备将以启动配置邀请PDU(Provisioning Invite PDU)的形式向要进行启动配置设备发送邀请,这是启动配置协议的一部分。Beacon设备会在启动配置功能PDU中回应有关自身的信息。 启动配置功能PDU可提供一系列信息,例如其所拥有的元素数量、所支持的启动配置相关算法等。它还能指示设备(Device)拥有的输入输出功能类型,这些信息将用于认证(Authentication)步骤。 3、交换公共密钥(Public Key) 包括启动配置设备在内的所有蓝牙mesh设备都支持FIPS P-256椭圆曲线算法,因此必须拥有公共密钥。可通过基于该算法的非对称加密来创建安全通道,以完成剩余的启动配置流程。为此,启动配置设备会与将被启动配置的设备(Device)交换公共密钥。需注意的是,将被启动配置的设备(Device)可以通过带外方式(Out of Band),例如QR码,来提供公共密钥。本系列的后续文章将重点讨论mesh安全性,包括启动配置的安全性。 4、认证(Authentication) 启动配置设备基于对新设备(Device)功能的了解,向其发送消息,指示其输出单一或多位数值,对其所支持的多种用户操作(例如按下按钮)作出响应。值的形式会因设备差异而有所不同。一台设备可能会在LED面板上显示一个三位的数值,另一台设备则可能是红色LED灯闪烁几次,闪烁的次数就是输出的验证值。启动配置设备的用户将观察到设备(Device)输出的值,并将值输入启动配置设备的用户界面。 然后,设备(Device)和启动配置设备交换密码散列,这些数据来源包括设备(Device)输出的随机值,允许它们完成对彼此的验证。 5、启动配置数据的分配 认证成功完成之后,会通过两台设备的私有密钥(Private Key)和交换的对等公共密钥生成会话密钥(Session Key)。随后,会话密钥即可用于保护完成启动配置流程所需数据的后续分发,包括网络密钥(NetKey)和设备的唯一地址,即单播地址(Unicast Address)。 启动配置完成后,启动配置设备就会拥有网络的NetKey,这是一个称为“IV索引(IV Index)”的蓝牙mesh安全性参数,且拥有一个由启动配置设备分配的单播地址[iii]。至此,新设备就正式成为了节点,即成为蓝牙mesh网络中的一员。 从网络中移除节点 有时会需要从蓝牙mesh网络中移除节点。设备可能已经损坏并需要更换,或者可能需要将它移到另一蓝牙mesh网络,如公司位于其他城市的另一个办公室。同样,设备可能已经被出售,新的设备所有者可能会采用上述启动配置流程,将设备添加至自己的蓝牙mesh网络。 设备有时会破损
下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1491次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  95次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  11次下载  |  免费
  11. 6100W短波放大电路图
  12. 0.05 MB  |  4次下载  |  3 积分
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  4次下载  |  免费
  15. 8基于AT89C2051/4051单片机编程器的实验
  16. 0.11 MB  |  4次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537793次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费