蓝牙嗅探技术方案
近年来,蓝牙技术享有前所未有的声望和发展速度,在移动设备上的覆盖率更是惊人。事实上,蓝牙已经成为无线配件及智能设备的主要连接方式。不幸的是,最近研究表明,蓝牙所采用的两级流加密模式存在许多缺陷,用户隐私受到潜在危胁。另一方面,则是利用蓝牙传递信息的新型通讯软件被用于违法犯罪活动中,严重影响社会和谐安定。面对蓝牙技术的发展,应当积极采取应对措施,加强在蓝牙嗅探方向的研究。
一、蓝牙嗅探技术背景
1.1蓝牙技术
蓝牙技术是一种支持短距离的无线数据交换方式。一个主设备和一个或多个从设备建立的蓝牙网络被称为微微网(Piconet)。蓝牙技术因其低功耗、低成本、灵活性强而被广泛应用于短距离无线通信中。根据实用需求,蓝牙设备的最大发射功率也被分为三个等级,而其覆盖范围也随着功率而变化。目前,蓝牙技术联盟负责监督蓝牙规范的研究,管理认证项目,并维护商标权益。
1.2无线电层
蓝牙协议栈最底层被称为无线电层。蓝牙技术采用2.4GHz工作频段,该频段是全世界公开通用的无线频段(ISMBand),无需付费和申请,保证了蓝牙可以获得更大的使用范围。蓝牙使用跳频技术,并以1600跳/s的速率进行跳频,传输的数据将会分割成多个数据包,通过指定的79个蓝牙信道分别传输数据包,每个信道占1MHz,蓝牙的实际使用波段为2400MHz~2483.5MHz(包括防护频带)。这种方法导致了选择性拦截的困难,因为攻击者往往需要知道连续的跳频序列。
1.3基带层
基带层负责管理物理连接,确保由蓝牙设备组成的微微网内各单元之间由射频构成的物理连接。每个蓝牙设备都有一个唯一的48位蓝牙设备地址(BD_ADDR),分为3个部分,包括24位的低端地址部分(LAP)、8位的高端地址部分(UAP)和16位的非有效地址部分(NAP)。该地址可以说是蓝牙技术的运算核心,负责几乎所有蓝牙正常工作的控制参数,如密钥、跳频序列都是由此地址计算得到的。
1.4数据包结构
所有的蓝牙数据包都按统一的结构进行封装,由访问码、报头和有效载荷组成。一个有效的数据包必须包含访问码,访问码用于数据同步和DC偏移补偿。一个最简单的蓝牙数据包,如用于寻呼、查询和相应过程的ID包,可以仅包含一个68bit的访问码。蓝牙通信过程中有一个非常重要的包——跳频同步(FHS)包,它包含蓝牙设备的BD_ADDR和时钟信息。
1.5连接的建立
为进行蓝牙数据传输,必须先建立连接。首先,主设备会广播发送ID包作为查询。此时所使用的是79个蓝牙信道中的32个广播信道。从设备收到这个包后,会发送一个FHS包,其中包含了从设备的BD_ADDR和时钟信息。收到FHS包的主设备进入寻呼状态,并按照从设备的跳频序列计算出特定的应答时间,发送ID包。从设备会固定间隔地扫描外部寻呼,在收到主设备的应答ID包后,响应该应答,发送ID包。主设备收到从设备ID包后,发送FHS包确定连接的跳频序列。最后,主从设备分别发送ID包和FHS包进行验证,建立连接。
在微微网中,所有设备共享主设备的时钟,以312.5µs为一个时钟周期,两个周期构成625µs一个时间槽。通常情况下,主设备都会从双数槽传输数据,从设备从单数槽传输数据。
二、蓝牙嗅探方案
2.1蓝牙嗅探的难点
蓝牙嗅探的第一个障碍就是截获蓝牙跳频序列。想要获得一个完整的蓝牙数据传输需要监听所有的79个蓝牙信道,必须拦截和过滤获得完整的数据包,这就要求必须知道正确的蓝牙跳频序列。获得蓝牙跳频序列的方法有两个,一种是依靠强大的软硬件设备,另一种方法需要等待设备重新建立连接,并从建立连接的数据包中获得跳频序列。
另一个问题是常见蓝牙硬件基于数据包的访问码自动进行过滤。由于过滤行为发生在硬件层面,无法通过上层软件的设计来解决,必须依靠相应的硬件设备才能解决该问题。
2.2蓝牙抓包工具Wireshark
Wireshark作为一款常用的抓包工具而被广泛使用。而1.12以上及版本的Wireshark中增添了蓝牙协议标准,意味着可以通过Wireshark对捕获的蓝牙数据包进行分析,为嗅探工作提供了很大的便利。同时,Wireshark也提供了监听本机蓝牙接口的功能,能够监听与本机相连的蓝牙设备。图1为用Wireshark抓取的蓝牙数据包信息。图1中展示的是计算机与蓝牙耳机建立连接过程中的部分数据包。编号27为计算机作为主设备广播发射的一个数据包,查询附近的蓝牙设备。编号28至编号31都是蓝牙耳机对计算机的查询响应,除编号28外的三个数据包中都含有耳机的BD_ADDR。自此,计算机与蓝牙耳机通过互相发送数据包,逐步建立蓝牙连接。
2.3蓝牙无线开发平台Ubertooth
UbertoothOne是由Ubertooth项目组设计提供的一款用于蓝牙研究的硬件。Ubertooth是一个开放源代码的2.4GHz无线开发平台,适用于蓝牙监测。UbertoothOne同样通过USB接口与计算机相连。
利用SpecanUI工具能够直观地观测到实时的蓝牙频谱信息,如图2所示。在图2的观测中存在一个与手机相连的蓝牙耳机。
可以发现,活跃的无线信号主要集中在2403Hz到2446Hz之间,意味着该手机与蓝牙的数据传输主要集中在这些信道上。另外,2402Hz、2426Hz、2480Hz为固定的广播信道,用于对未连接设备间发送广播数据,连接建立和发现远程设备。这3个信道在频谱上也有明显的特点。
UbertoothOne也能支持选择要监听的信道,或是捕获蓝牙数据包等功能。捕获的蓝牙数据包可以通过Wireshark等软件进行分析。通过UbertoothOne发送蓝牙数据包目前为止还是不可能的,意味着不能使用UbertoothOne实现蓝牙数据包的注入操作。
结论
蓝牙嗅探方案的实现,目前还存在不少的难点。另一方面来看,过高的门槛也杜绝了大量不法分子利用蓝牙盗取公民信息的企图。但是,诸如FireChat之类的,通过蓝牙进行通信的软件常常被应用在违法犯罪活动中,已经严重危害了公共安全。深入研究蓝牙技术,积极研究蓝牙嗅探方案,不但能解决当前问题,更为将来的蓝牙安全问题做好应对准备。
以上就是我们深圳市组创微电子有限公司为您介绍的蓝牙嗅探方案技术。如果您有蓝牙产品设计开发需求,可以放心交给我们,我们有丰富的智能电子产品定制开发经验,可以尽快评估开发周期与IC价格,也可以核算PCBA报价。我们是多家国内外芯片代理商:松翰、应广、杰理、安凯、全志、realtek,有MCU、语音IC、BLE蓝牙IC、双模蓝牙模块、wifi模块。我们的拥有硬件设计与软件开发能力。涵盖了电路设计、PCB设计、单片机开发、软件定制开发、APP定制开发、微信公众号开发、语音识别技术、蓝牙开发、wifi技术等。还可以承接智能电子产品研发、家用电器方案设计、美容仪器开发、物联网应用开发、智能家居方案设计、TWS耳机开发、蓝牙耳机音箱开发、儿童玩具方案开发、电子教育产品研发。
- 返回顶部