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

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

3天内不再提示

蓝牙设备如何对设备隐私进行保护呢?

冬至子 来源:润博信息科技 作者:润博君 2023-09-21 15:03 次阅读

在我们的日常使用的无线通信设备当中,都包含了MAC地址。MAC地址具有唯一性的特点,通常在网络通信当中,MAC地址作为设备符来采用。MAC地址大多是由设备的生产厂商来分配并且存储在设备当中。如果在网络当中有两个设备具有相同的MAC地址,那么就会产生网络通信的问题,所以设备的生产厂商在分配MAC地址的时候都非常小心,确保地址的唯一性。

一、概述

如果我们希望获取设备的MAC地址也非常的简单,当我们打开智能手机或者是平板电脑,您可以非常简单的在类似于“设备管理”的界面找到设备的MAC地址,而有些设备,比如说无线路由器,它们的MAC地址就打印在设备的背面。同时,我们还可以通过其他的方式来获取设备的MAC地址。

我们可以试想一下,当我们每天搭乘公共交通穿行了整个城市,当我们在商场购物或是和朋友在餐厅聚餐的时候,你的智能手机可以帮助你付费、点单和导航。如果你的智能手机接入到网络热点当中进行互联网访问的时候,它就可能会在这一系列的过程当中来广播其MAC地址。

我们前面提到了MAC地址在网络通信当中的唯一性,你又是智能手机的使用者,那么这部智能手机的MAC地址从某一角度来讲,就代表了你在无线通信过程当中的身份认证。因此就存在这样一种可能,一些怀有恶意的人通过一些其他的无线通信设备,可以获取你的智能手机进行数据交互时的MAC地址并且记录了MAC地址出现的日期、时间和相关的位置,那么你的行踪就可以被监控,如下图所示:

图片

使用蓝牙技术,也可能面对上面的这种问题。因此在蓝牙4.2核心规范当中,对上述问题提出了一种解决方法。要了解这个解决的方法,首先要现从蓝牙设备的地址说起。和其他的无线通信技术类似,蓝牙设备也有自身的设备地址,我们在蓝牙的核心规范当中,通常称其为BD_ADDR(Bluetooth Device Address),BD_ADDR将会在蓝牙设备诸如连接和配对的过程当中起到设备识别的作用。

对于蓝牙设备,可以使用公有地址(Public Device Address),也可以使用随机地址(Random Device Address),但无论是使用公有地址,还是随机地址,它们的地址长度都是48比特,也就是6个字节。

图片

二、公有地址(Public Device Address)

公有地址的构成包含了两个部分,一部分是公司识别码(Company ID),其需要通过IEEE注册机构付费获得,公司识别码长度为24比特,处于48比特设备地址的高24比特;另外一部分是公司分配码(Company Assigned ID),其长度也为24比特,处于48比特设备地址的低24bit,如下图所示。

图片

  • Company ID(MSB):由IEEE公开分配的地址部分
  • Company Assigned(LSB):公司内部分配的ID

除了公有地址,蓝牙设备也可以使用随机地址进行相关的网络操作。

三、随机地址(Random Device Address)

蓝牙的随机地址有包含两种:静态地址(Static Device Address)和私有地址(PrivateDevice Address)。

3.1、静态地址(Static Device Address)

静态地址(Static Device Address)不能再运行期间改变,它的格式如下(本文的地址格式图均为小端,故下图中Random为LSB):

图片

其中46位的随机地址由开发者或者制造商来分配。

注意:所有的蓝牙设备必须使用Public Address或者Random Static Address其中一种,而接下来要介绍的Private Address仅用于解决隐私问题。

3.2、 私有地址PrivateDevice Address ****

在私有地址的定义当中,又包含了两个子类:不可解析私有地址(Non-resolvable Private Address)和可解析私有地址(Resolvable Private Address, RPA)。所谓不可解析的私有地址,就是蓝牙设备地址在周期性的变化,并且这个地址无法被其他设备所解析,我们可以认为它就是一个随机数。

A、可解析私有地址(Resolvable Private Address)

可解析的随机私有地址的目的是防止恶意第三方跟踪蓝牙设备,同时允许一个或多个受信任方识别目标蓝牙设备。它的原理是与信任的设备共享一个密钥,这个密钥称为IRK(Identity Resolving Key),可解析的私有随机地址就是采用IRK和一个随机数生成的。

在这种情况下,一个可信任的设备称为bonded device(绑定设备),绑定是两个蓝牙连接后的一个可选功能。比如手机连接过一个蓝牙手环,那么断开蓝牙连接后,该设备还会出现在手机的蓝牙列表中,这就是绑定,这样在下次连接的时候就能非常快地配对。这种类型的地址定期变化,根据蓝牙规范的建议是每15分钟更换一次。它的格式如下:

图片

  • random part of prand:随机产生的
  • hash:hash值是使用prand和IRK生成的
  • 通过随机生成的prand和IRK计算出hash之后,组合成了可解析的私有地址。

可解析的私有地址意味着蓝牙设备地址BD_ADDR在周期性的不断变化,可以保护用户的隐私不被跟踪;同时由于其是可解析的,因此配对设备(Pair Device)可以通过这个私有地址解析出蓝牙设备的真实身份。因此,我们要了解可解析的私有地址是如何产生的?

假设有两个蓝牙设备,分别是设备A和设备B,在两个蓝牙设备A、B建立连接之后,这两个蓝牙设备可以通过配对的方式交换各自的身份解析密钥IRK(Identity Resolving Key, IRK),设备A的身份解析密钥IRK-A,设备B的身份解析密钥IRK-B。假设设备B采用了可解析的私有地址机制,那么设备B就需要周期性的产生可解析的私有地址。下图是可解析随机地址的结构,其中可解析随机地址的高两个比特分别为0和1,作为可解析地址的标识符。

当设备B需要生成随机地址的时候,其内部会首先生成一个随机数prand,基于prand随机数,设备B需要利用哈希hash算法生成可解析随机地址的另外一部分,hash。prand随机数和哈希hash分别占用24比特,计算公式为:

哈希hash = ah(IRK-B, prand随机数)

其中函数ah在蓝牙4.2核心规范第3卷H部分2.2.2章节有详细介绍,此处不再赘述。当设备B具有了prand随机数和基于prand随机数生成的哈希hash之后,通过移位相与的方式,就可以生成可解析随机地址RPA。

RPA= hash || prand

那么设备A该如何解析RPA呢?当设备A收到一个蓝牙设备地址BD_ADDR,并且这个地址的地址标识符表明其是一个可解析随机地址,设备A首先将这个地址拆分为prand随机数和哈希hash。接下来其利用之前与设备B配对时获取的IRK-B,通过函数ah来生成一个本地哈希localHash。

localHash = ah(IRK-B, prand)

如果生成的本地哈希localHash与拆分得到的哈希hash相等,说明这个地址是设备B所产生的可解析随机地址;如果不等,代表解析失败。设备A可以利用其获取的其他设备的IRK对这个地址就行解析。下图是一个地址解析的流程图。

图片

地址解析流程

因此,对于可解析随机地址的解析,我们可以认为它是一个穷举的过程。任何设备在收到一个可解析随机地址的时候,都会利用其本地所存储的所有IRK对这个可解析随机地址进行哈希比对,如果相符,解析过程终止,这个地址的真实身份可解析;如果所有的IRK都无法对这个地址进行解析,那么解析失败。

通过上述的方法,蓝牙设备可以通过采用可解析随机地址的方式来对设备隐私进行保护,进而对设备使用者的隐私进行保护。采用了可解析随机地址之后,蓝牙设备的地址是周期性不断变化的,所以即使通过其他方式获取了蓝牙设备的地址,也无法通过设备地址出现的时间和地址来对设备进行跟踪。只有那些经过配对过程完成了身份解析密钥IRK交互的可信设备,才能对可解析随机地址进行解析。

B、不可解析私有地址(Non-resolvable Private Address)

不可解析的私有地址可以保护用户的隐私,因为不断变化的设备地址使得任何设备都无法通过记录蓝牙设备地址的方式来对用户进行跟踪,但这样的保护方式也意味着可信任的设备也无法这个蓝牙设备的真实身份,因此我们着重介绍可解析的私有地址。如下图所示,智能手机的设备地址在不断的变化,因此即便是设备地址被获取,也无法解析出设备的真实身份,除非具有某种解析密钥。

图片

这种地址的唯一目的是防止被其他BLE设备监听。它的地址也会周期性地改变,与可解析地址的不同是,它不能被任何其他设备解析。这种地址不是很常用,但是有时会在Bluetooth beacon中使用。它的格式如下:

图片

四、BLE设备的隐私

如果不采取适当的措施,蓝牙的地址可用于跟踪用户的数据。蓝牙设备的隐私是通过使用resolvable private address(可解析的私有地址)来实现的。在之前的配对过程中对端设备可能已经收到了IRK,以后再建立连接,对端设备在收到了对方广播报文中的resolvable random address后,将其的prand字段提取出来与本地的IRK计算得到一个hash值,与地址中的hash字段做对比,若相同,才进行后续操作。

  • IRK用于生成和解析resolvable private address
  • IRK可由每个设备本地生成、随机生成或在生产过程中分配
  • 在bond过程中,每个设备将其对端设备的IRK存储在它自己的resolving list(解析列表)中
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 连接器
    +关注

    关注

    96

    文章

    12643

    浏览量

    133145
  • 无线通信
    +关注

    关注

    56

    文章

    4201

    浏览量

    142353
  • 蓝牙技术
    +关注

    关注

    44

    文章

    324

    浏览量

    52519
  • 无线路由器
    +关注

    关注

    9

    文章

    336

    浏览量

    31091
  • Hash算法
    +关注

    关注

    0

    文章

    43

    浏览量

    7362
收藏 人收藏

    评论

    相关推荐

    蓝牙4.2公布:支持智能设备联网 更快更安全

    蓝牙技术联盟(Bluetooth SIG)近日公布蓝牙4.2核心技术标准,新技术可以增强隐私保护,加快数据传输速度,使设备通过
    发表于 12-09 16:22 2425次阅读

    如何使用蓝牙4.2保护隐私

    在最新的蓝牙(Bluetooth®)4.2核心规范当中,支持一项新的特性,可以通过周期性地改变蓝牙设备的随机地址帮助蓝牙设备的使用者来
    发表于 11-06 16:46 2372次阅读

    蓝牙在可穿戴设备和智能家居的应用

    。第二,领先的隐私权限,更加安全。蓝牙4.2新版使得蓝牙设备的地址让人无法看到,地址是隐藏的,不会把一个蓝牙ID对外
    发表于 03-10 15:07

    关于如何利用蓝牙保护隐私

    。因此就存在这样一种可能,一些怀有恶意的人通过一些其他的无线通信设备,可以获取你的智能手机进行数据交互时的MAC地址并且记录了MAC地址出现的日期、时间和相关的位置,那么你的行踪就可以被监控.如何利用蓝牙
    发表于 11-04 17:42

    蓝牙设备的几种模式

    `蓝牙设备的几种模式1.蓝牙设备的几种模式,没搞懂,比如从机模式,开机后等待手机或者其他的终端设备连接。那从机模式是被连接,然后广播模式也
    发表于 05-18 15:42

    私有地址是如何产生的?如何使用蓝牙4.2保护隐私

    私有地址是如何产生的?如何使用蓝牙4.2保护隐私
    发表于 05-21 06:05

    大数据及其隐私保护

    在对大数据进行发布或数据挖掘的过程中,隐私泄露是人们最关心的问题,但目前关于大数据隐私保护的研究还处在初级阶段。介绍了有关隐私
    发表于 03-28 16:07 14次下载
    大数据及其<b class='flag-5'>隐私</b><b class='flag-5'>保护</b>

    使用BLE 4.2的系统设计使设备更加保护隐私和节能

    隐私保护是BLE设备防止被不受信任的设备追踪的能力。BLE设备在广播数据包内使用48比特地址,如果该地址被其他
    的头像 发表于 08-05 08:14 2329次阅读
    使用BLE 4.2的系统设计使<b class='flag-5'>设备</b>更加<b class='flag-5'>保护</b><b class='flag-5'>隐私</b>和节能

    如何实现蓝牙4.0的设备通信方案进行设计

     对基于蓝牙4.0的设备通信问题进行了深入研究,提出了基于CC2450F128芯片的蓝牙通信解决方案。设计了通信方案的总体框架,完成了CC2450F128的通信电路设计和通信协议的扩展
    发表于 11-01 11:46 18次下载
    如何实现<b class='flag-5'>蓝牙</b>4.0的<b class='flag-5'>设备</b>通信方案<b class='flag-5'>进行</b>设计

    如何使用差分隐私保护进行谱聚类算法

    中,干扰样本个体之间的权重值,实现样本个体间的信息隐藏以达到隐私保护的目的。通过UCI数据集上的仿真实验,表明该算法能够在一定的信息损失度范围内实现有效的数据聚类,也可以对聚类数据进行保护
    发表于 12-14 10:54 11次下载
    如何使用差分<b class='flag-5'>隐私</b><b class='flag-5'>保护</b><b class='flag-5'>进行</b>谱聚类算法

    可穿戴蓝牙设备存在泄露隐私的风险?

    蓝牙可能泄露隐私?可穿戴蓝牙设备隐藏风险
    的头像 发表于 08-23 15:37 6193次阅读

    蓝牙4.2与隐私保护资料下载

    电子发烧友网为你提供蓝牙4.2与隐私保护资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
    发表于 04-24 08:54 11次下载
    <b class='flag-5'>蓝牙</b>4.2与<b class='flag-5'>隐私</b><b class='flag-5'>保护</b>资料下载

    为什么需要蓝牙医疗设备

    被遗忘。2020年,美国食品和药物管理局警告了几个漏洞,如SweynTooth,这些漏洞可能会使蓝牙医疗设备的用户受到威胁。本博客介绍如何保护蓝牙医疗
    的头像 发表于 09-24 09:52 3492次阅读

    华为开发者大会:HarmonyOS Connect生态设备安全与隐私保护

    华为开发者大会2021上,发布了HarmonyOS Connect生态设备安全与隐私保护指导书。
    的头像 发表于 10-22 16:51 1752次阅读
    华为开发者大会:HarmonyOS Connect生态<b class='flag-5'>设备</b>安全与<b class='flag-5'>隐私</b><b class='flag-5'>保护</b>

    蓝牙模块安全指南:保护你的设备和数据

    随着蓝牙技术在各个领域的广泛应用,设备之间的无线连接变得越来越普遍。然而,与此同时,蓝牙连接也面临着潜在的安全风险。本文将为你提供一份蓝牙模块安全指南,帮助你
    的头像 发表于 12-14 16:14 221次阅读