您的位置 首页 开关

运用BLE 4.2的体系规划:更快、更安全、更节能-第2部分

在本系列文章的第一部分,我们讨论了蓝牙低功耗(BLE)4.2的数据长度扩展(DLE)和低功耗。在本文中,我们将讨论蓝牙低功耗的隐私保护功能、蓝牙4.2的新增功能以及为何这些变化能够使BLE设备更加

  在本系列文章的榜首部分,咱们评论了蓝牙低功耗(BLE)4.2的数据长度扩展(DLE)和低功耗。在本文中,咱们将评论蓝牙低功耗的隐私维护功用、蓝牙4.2的新增功用以及为何这些改变可以使BLE设备愈加维护隐私和节能。

  隐私维护是BLE设备避免被不受信赖的设备追寻的才能。BLE设备在播送数据包内运用48比特地址,假如该地址被其他设备解码了,那么依据这个地址就可以盯梢该BLE设备的移动。为了维护BLE设备的隐私,受信赖的BLE设备将运用同享密钥“身份解析密钥”(Identity Resolving Key, IRK)的同享密钥。两个具有此同享密钥的BLE设备可以彼此辨认。一台BLE设备先运用该同享密钥生成一个随机的“可解析私有地址”发送出来,另一台设备则选用同一密钥来解析该私有地址。

  蓝牙设备地址

  蓝牙设备运用48比特的设备地址。设备地址被分类为:

  • 公有设备地址

  • 随机设备地址

  1. 公有设备地址:公有设备地址由每台设备的公司ID和公司分配ID组成,遵从IEEE 802-2001规范。公司ID和公司分配ID值均为24比特,构成总数为48比特的地址,如图1所示。

  图1:公有设备地址

  

 

  2. 随机设备地址:望文生义,随机设备地址是随机生成的地址。随机设备地址分为两种类型:

  • 静态随机地址

  • 私有随机地址

  2.1 静态随机地址:静态随机地址可以是出厂前在设备上预先设定好的,也可以在每次开关机循环后更改一个新值。但是,只要设备经过一次完好的开关机循环后才可以更改此地址。假如在运转期间更改了该地址,存储在对端设备中的地址将失效,而且将不行再运用旧地址进行从头衔接。静态随机地址有以下要求:

  • 两个最高有用位恒为1

  • 一切随机位数值都不能为0

  • 一切随机位数值都不能为1

  图2:静态随机地址

  

 

  私有随机地址分两种类型 – 不行解析私有地址和可解析私有地址。

  2.1.1不行解析的私有地址:不行解析的私有地址随机生成,而且每次衔接都会发生改变。不行解析的私有地址有以下要求:

  • 两个最高有用位恒为0

  • 一切随机位数值都不能为0

  • 一切随机位数值都不能为1

  该地址不能和静态地址或公有地址相同。

  2.1.2可解析私有地址(RPA)

  可解析私有地址(RPA)是BLE设备隐私维护的重要支柱。RPA是指运用随机数字和身份解析密钥(IRK)所生成的地址。两个设备在配对期间同享IRK,其存储在设备的内置存储器中。两台配对设备除了同享IRK之外,还同享一个称为身份地址的固定地址。该身份地址可以是公有的或是随机的静态地址类型。因较早进行绑定的设备存有IRK和身份地址,因而可以解析配对设备的私有地址。图3所示为可解析私有地址的格局。

  在RPA中,24比特的Hash是IRK和prand的函数。Prand是24比特的数字,它包含22个随机位数值以及2个固定的最高有用位数值;如图3所示。

  图3:可解析私有地址

  

 

  可解析私有地址的生成:可解析私有地址是与IRK和prand一同生成的。

  Prand是随机生成的,有以下要求:

  • prand的两个最高有用位数值应等于2b01

  • prand的一切位元数值都不能为0

  • prand的一切位元数值都不能为1

  地址中的Hash部分则是运用prand和设备的128位IRK传递到加密函数“e”生成。此加密函数的输出切断为24个最低有用位数值,便是Hash数值。

  Hash=e(IRK,prand *),切断为24位

  *为了使prand的长度与IRK相同,prand增加了104位数值为0的空白位,保证原有的最低有用位坚持不变。

  24比特prand和24比特Hash组合生成随机地址。

  可解析私有地址的解析: B设备假如具有A设备的IRK,则可以解析该A设备的可解析私有地址。可解析私有地址有24位的prand和24位的Hash。B设备经过A设备的prand和IRK来解析地址。当B设备接收到A设备的可解析私有地址后,会从该地址提取出Hash和prand,运用其生成本地Hash值。本地Hash的生成方法与在地址生成期间的方法完全相同。

  本地Hash= e(A设备IRK、prand),切断为24位

  假如B设备生成的本地Hash值与从地址中提取的A设备 Hash值匹配,则该地址被成功解析。假如B设备有一个以上对端的IRK,则该设备将为每个存储的IRK重复这一过程,以确认接收到的可解析私有地址是否与存储的某一个IRK相关,直到IRK中某一个地址匹配成功或许一切地址匹配完毕。

  B设备在配对过程中收到对端设备的IRK和身份地址后,会将其与本地IRK一同存储在待解析列表中,用于将来解析私有地址。

  在蓝牙4.1中,该解析列表保存在主机上,由主机完结地址解析,这意味着在每次收到附有可解析私有地址的播送包时,都需求主机参加解析地址。但在蓝牙4.2中,该解析列表保存在操控器中,由操控器解析私有地址,无需主机干涉;而假如主机运用独自的CPU操控,则意味着不需求唤醒设备中的主机,然后下降了全体功耗。即便关于运用相同的CPU履行操控器和主机的设备,由于地址不再需求经过不同的协议层,也可以经过削减解析地址所需的CPU循环次数而下降功耗。此外,在没有主机参加的情况下,地址在链路层解析,可提供更快的衔接。当在链路层完结地址解析时,Privacy 1.2也被称为链路层(LL)隐私。

  可解析私有地址(RPA)超时

  随机私有地址每隔一段时刻自动更新,进一步下降了设备被盯梢的可能性。该时刻距离由主机设置,为RPA超时设置计时。当计时过期时,IRK和新的prand将会生成新的RPA。关于Privacy 1.1,RPA的超时时刻固定为15分钟。蓝牙4.2中的Privacy 1.2将最小RPA超时时刻削减为1秒,而最大超时时刻可以为11.5小时。蓝牙4.2中RPA不断改变,私有设备难以被盯梢,然后进步了隐私性。

  尽管蓝牙4.1和更旧的版别支撑可解析私有地址,但由于对衔接时刻的影响和功耗的影响约束了可用性。在运用RPA时,不能在Privacy1.1中运用比如设备过滤和定向衔接播送这样的功用。

  设备过滤

  设备过滤是指削减其需求呼应的同类设备数量,有助于削减功耗。设备在过滤功用启用时需求呼应的那些同类设备地址和地址类型,存储在白名单中。该白名单由主机装备并坚持在链路层。装备完结后,链路层用其来过滤对等设备。由于在蓝牙4.1中运用RPA时地址只能由主机解析,因而链路层不能过滤该设备。因而,关于蓝牙4.1,当运用RPA时不支撑设备过滤。由于设备需呼应每个对端设备,因而增加了私有蓝牙4.1设备的功耗。

  在蓝牙4.2中,由于地址解析在链路层完结,即便运用RPA依然可以过滤设备。现在,不在白名单上的设备不需求主机干涉,因而下降了功耗。

  定向衔接播送

  该定向衔接播送PDU包含传达器的RPA,也包含想要衔接至的设备RPA。这使得两个设备之间的衔接变得更快。此外,辅佐设备不需求与不计划衔接的对等设备同享设备的详细详细信息。当根据蓝牙4.1的中心设备运用具有过滤隐私功用的设备时,定向衔接播送不行用,由于其不能在链路层解析地址。但是,蓝牙4.2支撑在链路层解析地址,因而支撑定向播送衔接。蓝牙4.2包含附加扫描过滤器方针设置,答应带可解析私有地址的定向播送。在辅佐设备选用定向衔接播送之前,有必要查看对等设备的中心地址解析特性。中心地址解析特性奉告设备对等设备是否支撑地址解析。

  综上所述,运用可解析私有地址时,BLE设备很难被追寻到;而RPA频频改换且运用定向播送,则使得盯梢私有蓝牙4.2设备变得愈加困难。在链路层的地址解析可以加快衔接且下降功耗。此外,在蓝牙4.2中选用RPA时可以进行设备过滤,与运用蓝牙4.1或更旧版别的设备比较,可进步私有设备的功耗运用功率。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/278665.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部