微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 如何使用蓝牙4.2保护隐私?

如何使用蓝牙4.2保护隐私?

时间:04-21 来源:互联网 点击:

在我们的日常使用的无线通信设备当中,都包含了MAC地址。MAC地址具有唯一性的特点,通常在网络通信当中,MAC地址作为设备符来采用。MAC地址大多是由设备的生产厂商来分配并且存储在设备当中。如果在网络当中有两个设备具有相同的MAC地址,那么就会产生网络通信的问题,所以设备的生产厂商在分配MAC地址的时候都非常小心,确保地址的唯一性。如果我们希望获取设备的MAC地址也非常的简单,当我们打开智能手机或者是平板电脑,你可以非常简单的在类似于"设备管理"的界面找到设备的MAC地址,而有些设备,比如说无线路由器,它们的MAC地址就打印在设备的背面。同时,我们还可以通过其他的方式来获取设备的MAC地址。

  我们可以试想一下,当我们每天搭乘公共交通穿行了整个城市,当我们在商场购物或是和朋友在餐厅聚餐的时候,你的智能手机可以帮助你付费、点单和导航。如果你的智能手机接入到网络热点当中进行互联网访问的时候,它就可能会在这一系列的过程当中来广播其MAC地址。我们前面提到了MAC地址在网络通信当中的唯一性,你又是智能手机的使用者,那么这部智能手机的MAC地址从某一角度来讲,就代表了你在无线通信过程当中的身份认证。因此就存在这样一种可能,一些怀有恶意的人通过一些其他的无线通信设备,可以获取你的智能手机进行数据交互时的MAC地址并且记录了MAC地址出现的日期、时间和相关的位置,那么你的行踪就可以被监控,如下图所示。

  2136036-16042014044b96

  使用蓝牙技术,也可能面对上面的这种问题。因此在蓝牙4.2核心规范当中,对上述问题提出了一种解决方法。要了解这个解决的方法,首先要现从蓝牙设备的地址说起。和其他的无线通信技术类似,蓝牙设备也有自身的设备地址,我们在蓝牙的核心规范当中,通常称其为BD_ADDR(Bluetooth Device Address),BD_ADDR将会在蓝牙设备诸如连接和配对的过程当中起到设备识别的作用。对于蓝牙设备,可以使用公有地址(Public Device Address),也可以使用随机地址(Random Device Address),但无论是使用公有地址,还是随机地址,它们的地址长度都是48比特,也就是6个字节。

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

  2136036-16042014051MI

  除了公有地址,蓝牙设备也可以使用随机地址进行相关的网络操作。蓝牙的随机地址有包含两种:静态地址(Static Device Address)和私有地址(PrivateDevice Address)。由于静态地址和本文的主题—如何使用蓝牙4.2保护隐私关系不大,这里我们重点介绍一下私有地址。在私有地址的定义当中,又包含了两个子类:不可解析私有地址(Non-resolvable Private Address)和可解析私有地址(Resolvable Private Address, RPA)。所谓不可解析的私有地址,就是蓝牙设备地址在周期性的变化,并且这个地址无法被其他设备所解析,我们可以认为它就是一个随机数。不可解析的私有地址可以保护用户的隐私,因为不断变化的设备地址使得任何设备都无法通过记录蓝牙设备地址的方式来对用户进行跟踪,但这样的保护方式也意味着可信任的设备也无法这个蓝牙设备的真实身份,因此我们着重介绍可解析的私有地址。如下图所示,智能手机的设备地址在不断的变化,因此即便是设备地址被获取,也无法解析出设备的真实身份,除非具有某种解析密钥。

  2136036-16042014054H37

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

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

2136036-160420140621294

当设备B需要生成随机地址的时候,其内部会首先生成一个随机数prand,基于prand随机数,设备B需要利用哈希hash算法生成可解析随机地址的另外一部分,hash。pran

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top