7.1 传统蓝牙技术概述

本节的目标是在一个较高的层次上描述蓝牙设备之间的数据交互操作,不会涉及底层协议的重要知识。主要讲解的内容是一些基本的概念,例如,“设备发现”(device discovery)、跳频(frequency hopping)和“微微网”[1](piconet)。

“传统蓝牙”规范在2.4GHz的ISM波段上定义了79个信道,每个信道有1MHz的带宽。设备在这些信道中以每秒1600次的频率进行跳转,换句话说,就是每微秒625次跳转。这项信道跳转技术被称为“跳频扩频”(Frequency Hopping Spread Spectrum,FHSS),这时的蓝牙设备中,用户最大可以达到3Mbps的通信带宽,最大约为100米的传输距离。“跳频扩频”通过在射频(Radio Frequency,RF)频谱中快速地移动,针对噪声信道为通信提供鲁棒性(robustness)。

任何通过蓝牙技术进行无线通信的设备,需要通信双方在同一时刻处于同一信道之内,如下图所示。通过协调的方式进行跳频的所有设备可以相互进行通信,它们共同组成了一个蓝牙的“微微网”。“微微网”是两个或者多个蓝牙设备之间使用的基本网络模型。每个“微微网”都有一个“主设备”(master)和一个到七个“从设备”(slave)。“微微网”中的通信是严格在一个“从设备”和一个“主设备”之间进行的。“微微网”中使用的信道跳跃的顺序是伪随机性的(pseudorandom),它只能通过“主设备”的地址和时钟产生。

7.1.1 “设备发现”技术

就像所有的无线协议一样,使用蓝牙进行通信时,也同样需要确认在功率覆盖范围内是否有可能的“接入点”(peer),这个似乎并不难,只要大家同一频率,使用相同的通信协议握手即可,而当使用“跳频扩频”技术的时候,这个问题会变得非常复杂。假定在某一段时间内,有两个蓝牙设备已经在“微微网”中开始交互操作,这当然意味着它们两个设备的跳频的序列是一致的。但是每一个设备同样是“可发现的”(discoverable),这意味着这个蓝牙设备会周期性地广播它的“蓝牙设备地址”(Bluetooth Device Address,BD_ADDR)到其他还没有加入到这个“微微网”的蓝牙设备上,以便这些设备可以通过它的广播找到它。在这种情况下,这个蓝牙设备就必须暂时地停止它在“微微网”中的跳频动作,然后进入“监听”状态,以便监听是否有其他可能的蓝牙设备正在找自己,如果有,则对那些请求做出回应,然后回来找到原来那个跟自己在“微微网”中通信的蓝牙设备,继续之前的通信过程。这种定期检查其他设备是否在找自己的机制,称为“可发现的”。

许多蓝牙设备默认都不是“可发现的”,所以你需要专门开启这项功能,这通常需要一段时间该操作才能生效。在你打开一些以iOS作为系统内核的移动设备的蓝牙配置“设置”(Settings)页面时,系统会默认进入“可发现的”模式,其界面的显示如图7-1所示。如果某设备无视其他设备的“发现请求”(discovery request),或者也不主动寻找其他设备的“发现请求”,那么这个设备就称为“非可发现的”(non-discoverable)设备。要与这种“非可发现的”设备进行通信,唯一的方法就是通过其他一些手段,在拿到它的“蓝牙设备地址”以后,再通过“蓝牙设备地址”进行通信。

图7-1 Apple公司iOS内核的蓝牙设置(进入“可发现的”模式)

7.1.2 协议概述

在一个蓝牙网络中,可能使用着的协议数量足以令人咋舌。这些协议通常可以分成两类:一种是在“蓝牙控制器”(Bluetooth controller)之间通信使用的,另一种是在“蓝牙主机”(Bluetooth host)之间通信时选择使用的。因为本书属于无线网络安全的主题,所以上面所说的“蓝牙主机”就是我们从笔记本电脑上运行攻击程序所攻击的对象。“蓝牙控制器”则是内置在笔记本电脑里的USB芯片组(chip),或是USB加密狗(dongle),接受“蓝牙主机”的命令,并解释执行这些命令。

图7-2显示了蓝牙协议栈中各层(layer)的组织结构,以及在每一层中,具体实现了哪些协议。从图中可以看到,“蓝牙控制器”负责跳频,基带封装(baseband encapsulation)并且将适当的结果返回到“蓝牙主机”。“蓝牙主机”负责处理更高层的协议,尤其是“主机控制接口”(Host Controller Interface,HCI)连接,它是“蓝牙主机”(你的笔记本电脑)和“蓝牙控制器”(你的蓝牙适配器中的芯片组)之间的通信接口。

图7-2 蓝牙主机和控制器之间的交互

在和蓝牙打交道的时候,需要把这个“蓝牙主机”/“蓝牙控制器”的模型放在你的脑海中。但作为黑客,我们最渴望的是对设备绝对的控制权,以便于可以操纵它的行为。如果将图7-2中

本站所有小说均来源于会员自主上传,如侵犯你的权益请联系我们,我们会尽快删除。
本站所有小说为转载作品,如有侵权,联系xs8666©proton.me
Copyright © 2024 23小说网 Baidu | Sm | xml