蓝牙安全研究
2013-08-20严霄凤
严霄凤
工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) 北京 100048
0 引言
蓝牙是一种短距离(一般在10m之内)射频(RF)通信开放标准。蓝牙技术主要用于建立无线个人局域网(WPAN)。蓝牙技术已被集成到多种类型的企业和消费者电子设备,包括手机、PDA、笔记本电脑、汽车、医疗设备、打印机、键盘、鼠标和耳机等。通过蓝牙可以在多种设备之间组成专门的网络传输语音和数据。利用蓝牙技术,能够有效地简化移动通信终端设备之间,以及设备与因特网之间的通信,使数据传输变得更加迅速高效,为无线通信拓宽道路。
目前商业设备中用的几个蓝牙版本包括:
(1) 普遍使用的,蓝牙V1.2 BR(基本速率)和V2.0+EDR(增强数据速率);
(2) 正迅速成为标准的,蓝牙V2.1+EDR,对安全简单配对(SSP)形式中加密密钥的建立提供了重大的安全性改进;
(3) 最新版本包括:
① 蓝牙V3.0+HS(高速),对数据传输速率提供了重大改善;
② 蓝牙V4.0LE(低能耗),提供了支持体积较小、资源有限设备及相关应用的低能耗技术。
蓝牙技术和相关设备,容易受到一般无线网络威胁的影响,如拒绝服务(DoS)攻击、窃听、中间人(MITM)攻击、信息修改、资源挪用等。除此之外,还会受到与蓝牙相关的,针对蓝牙实现和规范中已知漏洞攻击的威胁。蓝牙实现的安全保护不当,将为攻击者提供对敏感信息未授权访问和对蓝牙设备以及设备连接的系统或网络未授权使用的机会。
1 蓝牙技术特点
蓝牙是一种低成本、低功耗技术,提供了建立小型无线网络(微微网)的机制。微微网由在同一操作通道、使用相同跳频序列、物理上非常接近的两个或多个蓝牙设备组成。如基于蓝牙的手机和耳机之间的连接就是一个微微网。蓝牙技术的主要优点是:不需电缆、易于文件共享、自动无线同步和共享互联网连接。
蓝牙工作在全球通用的2.4GHz到2.4835 GHz的工业、科学、医学 (ISM)频段。采用跳频扩频(FHSS)传输技术。蓝牙提供了无线链路功率控制,使设备能够根据信号强度,协商和调整其无线功率。跳频方案与无线链路功率控制的结合为蓝牙提供了有限的,避免窃听和恶意访问的保护。
蓝牙设备可通过可发现和可连接模式找到彼此并建立通信。在可发现模式中,设备定期监测一个查询扫描物理信道,并用其设备地址、本地时钟(计数器)值,以及其它寻呼和随后连接所需的特点响应此信道上的查询。在可连接模式中,设备定期监测其寻呼扫描物理信道,并响应此信道上的寻呼,启动网络连接。
1.1 基本、增强和高速数据速率(BR/ EDR/HS)设备
蓝牙设备可以通过使用本地蓝牙、备用介质访问控制(MAC)和物理层(PHY)支持多个数据传输速率。新版本支持高数据传输速率的设备,也支持旧版本的低数据速率。
(1) 基本速率(BR)/增强数据速率(EDR)。蓝牙V1.1和V1.2为基本速率(BR),采用高斯频移键控(GFSK)调制,支持最高1 Mbps的传输速度,有效载荷吞吐量约为720 Kbps。蓝牙V2.0引入的增强数据速率(EDR),使用π/4旋转差分四相相移键控(DQPSK)调制,实现2Mbps的数据传输速率,使用8相差分相移键控(8DPSK)获得的数据传输速率最高为3Mbps,吞吐量约2.1Mbps。
(2) 高速数据速率(HS)。蓝牙V3.0+HS规范中引入的设备通过使用备用 MAC/PHY(AMP)支持更快的数据传输速率,其核心技术是AMP。AMP允许设备使用已有蓝牙技术的同时,通过使用第二种无线技术实现更快的吞吐量。蓝牙模块仅用来创建两台设备之间的配对,数据传输本身通过Wi-Fi射频来完成。拥有互操作性的蓝牙技术标准需要选择802.11标准,802.11 AMP使用正交频分复用(OFDM)调制,提供高达24Mbps的数据速率。
1.2 低能耗(LE)设备
蓝牙V4.0规范引入了低能耗,目的是把蓝牙技术引入纽扣电池供电设备,如医疗设备和其他传感器等。蓝牙低能耗的关键技术目标(与蓝牙BR/EDR相比)包括低功耗、低内存需求、有效的发现和连接过程、短包,以及简单的协议和服务。表1提供了LE与BR/EDR技术的主要区别。
表1 LE与BR/EDR的主要区别
1.3 双模式设备(同时支持LE和BR/EDR/HS)
蓝牙V4.0设备是“双模式”设备,即支持BR/EDR/HS,又支持LE。例如,一部手机采用EDR连接蓝牙耳机,同时采用LE连接解锁和启动用户汽车的传感器。
2 蓝牙安全功能
蓝牙标准中指定了三个基本的安全服务:
认证:根据蓝牙设备地址验证通信设备的身份。蓝牙不提供本地用户认证。
保密:通过确保只有授权设备才能访问和查看传输数据,防止由窃听造成的信息失密。
授权:通过确保允许设备使用服务前设备已被授权,实现资源控制。
蓝牙不提供诸如审计、完整性和不可抵赖性等其他安全服务,如果需要这些服务,应通过其他的方法提供。
2.1 BR/EDR/HS安全功能
蓝牙BR/EDR/HS技术规范定义了四个安全模式(安全模式1到4)。安全模式决定了蓝牙设备什么时候启动安全功能。
(1) 安全模式1:设备被认为没有安全。从不启动安全功能(即,身份验证和加密),设备和连接容易受到攻击。所有V 2.0和更早的设备支持安全模式1,V2.1和更高版本的设备可以使用安全模式1与旧设备兼容。
(2) 安全模式2:强制的服务级安全模式。安全程序可在链接建立后,逻辑通道建立之前启动。由本地安全管理器控制对特定服务的访问。引入授权的概念决定一个特定设备是否被允许访问一个特定服务。在控制器中实现认证和加密机制。所有V 2.0和更早的设备支持安全模式2,V 2.1和更高版本的设备只支持与V2.0或更早设备的兼容。
(3) 安全模式3:强制的链路级安全模式。蓝牙设备在物理链路完全建立前启动安全程序。要求验证和加密所有出入设备的连接。一旦设备通过验证,设备一般不进行服务级别授权。V2.0和更早的设备支持安全模式3,V2.1和更高的设备只能为了兼容的目的支持它。
(4) 安全模式 4:强制的服务级安全模式(类似于安全模式2)。安全程序在物理和逻辑链路建立后启动。使用安全简单配对(SSP),用椭圆曲线Diffie-Hellman(ECDH)密钥协议取代传统的密钥协商用于链路密钥生成。设备认证和加密算法与蓝牙V2.0 + EDR和早期版本中的算法相同。是否进行链路密钥验证取决于使用的SSP关联模型。需要加密所有服务(除服务发现)。为了兼容,当与蓝牙V2.0和更早的,不支持安全模式4的设备通信时,安全模式4的设备可以回落到任何其他三种安全模式之一。
蓝牙安全组件包括:配对和链路密钥生成、认证、保密性和授权等。
配对和链路密钥生成:蓝牙提供的认证和加密机制必须通过密钥协商生成一个对称密钥-链路密钥。BR/EDR有两种配对(即,生成链接密钥)方式。安全模式2和3,通过个人识别号码(PIN)配对启动链路密钥建立;安全模式4使用简单安全配对(SSP)。SSP提供了四个关联模型:数字比较、口令输入、直接连接、带外(OOB)。
(1) 认证:蓝牙设备的认证过程采用挑战/响应方案的形式。挑战/响应协议通过检查蓝牙链路密钥验证设备。蓝牙标准允许进行单向和相互认证。对于相互认证,验证方与申请方交换角色重复认证过程。如果认证失败,蓝牙设备在进行一个新的尝试前等待一段时间。这个时间间隔按指数增加。
(2) 保密性:蓝牙还提供了一个单独的保密服务,以防止在蓝牙设备之间企图窃听包交换数据的有效载荷。蓝牙加密模式有三种:
① 加密模式1-对任何流量无加密。
② 加密模式2-基于单独链路密钥,使用加密密钥加密单独编址的流量,不对广播流量进行加密。
③ 加密模式3-基于主链路密钥,使用加密密钥对所有流量进行加密。
实际上只有其中两个模式提供了保密性。加密模式2和3使用相同的加密机制。蓝牙V2.1+ EDR引入的安全模式4要求将加密用于除服务发现以外的所有数据流。
信任级别、服务安全级别和授权:蓝牙提供了不同级别的信任和服务安全。
(1) 信任级别:包括可信和不可信。可信设备与其他设备具有固定的关系,可以完全访问所有的服务。不可信设备没有与其他蓝牙设备建立关系,对服务的访问受到限制。
(2) 服务安全级别:取决于正在使用的安全模式。安全模式1和3,没有指定服务安全级别。安全模式2,可以强制要求验证、加密和授权。安全模式4,蓝牙规范为SSP期间使用的蓝牙服务指定了如下四个安全级别:
① 3级-要求抗MITM攻击保护和加密,可以进行用户交互。
② 2级-只要求加密,不要求抗MITM攻击保护。
③ 1级-不要求抗MITM攻击保护和加密。提供最低限度的用户交互。
④ 0级-不提供抗MITM攻击保护、加密或用户交互。
(3) 认证:蓝牙核心协议只能认证设备。蓝牙安全架构通过安全管理器允许应用程序执行更精细的安全策略,链路层上蓝牙具体的安全控制操作对应用层透明实施安全控制。因此,可以通过应用层进行基于用户的认证和细粒度的访问控制,并进行相应授权。
2.2 LE安全功能
蓝牙LE旨在支持计算和存储受限的设备,其安全性与BR/EDR/HS不同。LE第一次在蓝牙规范中引入了AES-CCM加密算法。另外,LE还引入了诸如私有设备地址和数据签名等功能,分别由新的加密密钥-身份解析密钥(IRK)和连接签名解析密钥(CSRK)支持这些功能。这些密钥(LTK、IRK、CSRK)在LE配对期间生成并安全分发。
(1) LE安全模式和级别:LE安全模式类似于 BR/EDR的服务级安全模式(即,安全模式2和4),每个服务可以有其自己的安全要求。但是,LE还规定,每个服务请求可以有自己的安全要求。
① LE安全模式1:具有与加密相关的多个级别。1级没有安全,即不启动认证和加密。2级要求加密、非认证配对。3级要求加密、认证配对。
② LE安全模式2:具有与数据签名相关的多个级别。数据签名提供了强数据完整性,但不提供保密性。1级要求数据签名、非认证配对。2级要求数据签名、认证配对。
如果一个特定的服务请求和相关的服务具有不同的安全模式或级别,则取较强的安全要求。安全模式1/3级要求加密、认证配对,是这些模式/级别中最安全的方式,安全模式1/1级是最不安全的。安全模式2不提供加密,首选方式应是安全模式1/3级。
(2) LE配对、生成和分发:LE使用类似BR/EDR SSP的配对方法,不提供防窃听保护。LE配对使用密钥传输,在LE配对期间,要求使用密钥分配步骤。LE配对的关联模型包括:带外(OOB)、口令输入和直接连接。LE配对关联模型名称类似于BR/EDR SSP,但模型提供的安全性有很大的不同。一旦链路使用STK加密,两个设备就分发密钥,如LTK、IRK和CSRK。
(3) 保密性、认证和完整性:蓝牙LE利用AES-CCM提供保密性,以及每包认证和完整性。由于LTK用作加密密钥输入,成功的加密设置提供了隐含的认证。虽然数据签名不提供保密性,但对远程设备持有正确CSRK提供了隐含的认证。
3 蓝牙脆弱性及安全威胁
3.1 脆弱性
与蓝牙安全相关的已知安全漏洞包括:
(1) V1.2之前的版本:基于单元密钥的链路密钥是静态的,并且对每一个配对重用。使用基于单元密钥的链路密钥,可能导致被窃听和欺骗。
(2) V2.1之前的版本:安全模式1的设备从不启动安全机制。PIN码可能太短。缺乏PIN码管理和随机性。使用23.3小时后加密密钥流重复是一个严重的加密漏洞,可能使攻击者能够确定原始明文。
(3) V2.1和V3.0:直接连接关联模型不提供配对过程中的MITM攻击保护。SSP ECDH密钥对可能是静态或其他弱产生的。静态SSP口令为MITM攻击提供了方便。V2.1或更高版本安全模式4的设备与V2.0和更早版本不支持安全模式4的设备连接时,允许回落到任何其他安全模式,在最坏的情况是,设备将回落至没有安全性的安全模式1。
(4) V4.0以前的版本:可重复尝试认证。用于广播加密的主密钥在微微网的所有设备之间共享。BR/EDR加密使用的 E0流加密算法较弱。与特定用户关联的蓝牙设备地址(BD_ADDR)被捕获,可能导致隐私泄露。设备认证采用简单的共享密钥挑战/响应,单向挑战/响应身份验证会受到MITM攻击。
(5) V4.0:LE配对不提供防窃听保护。直接连接配对方法,没有提供抗MITM攻击保护。LE安全模式1/1级不要求任何安全机制(即,没有认证或加密)。
所有版本:链路密钥可能被不当存储。伪随机数生成器(PRNG)的强度未知。加密密钥不能保证具有足够安全的长度。没有用户认证。不执行端到端的安全。有限的安全服务。审计、抗抵赖性和其他服务不包括在蓝牙标准中。可发现和/或可连接的设备容易受到攻击。
3.2 安全威胁
蓝牙技术及相关设备很容易受到一般无线网络威胁,如拒绝服务攻击、窃听、MITM攻击、信息修改、资源盗用等的影响,并且更易遭到特定的蓝牙相关的攻击,如:
(1) 蓝牙诱捕。攻击者通过利用旧设备中的固件缺陷,获得对启用蓝牙功能设备的访问。此攻击强制连接到蓝牙设备,对设备上存储的数据,如电话簿、图像、日历及设备的国际移动设备识别码(IMEI)等进行访问。
(2) 蓝牙劫持。对启用蓝牙功能的移动设备,如手机等进行攻击。攻击者通过向启用蓝牙功能设备的用户发送消息发起蓝牙劫持攻击。消息本身不对用户设备造成损害,但他们可能诱使用户以某种方式作出回应或在设备地址簿中添加新联系人。类似于对电子邮件用户进行的垃圾邮件和网络钓鱼攻击。当用户响应一个恶意的蓝牙劫持消息时,可能遭受损害。
(3) 蓝牙窃听。利用一些老式蓝牙设备固件中的安全漏洞,获得对设备和其命令的访问。此攻击在不通知用户的情况下使用设备的命令,让攻击者访问数据、拨打电话、窃听电话、发送信息,并利用设备提供的其他服务或功能。
(4) 汽车窃听。通过一款软件工具,利用安装在汽车上的免提蓝牙车载套件中的一个关键问题,攻击者将音频传输到汽车喇叭,并从车内的麦克风接收(窃听)声音。
(5) 拒绝服务攻击。蓝牙拒绝服务攻击包括使设备的蓝牙接口不可用和使设备电池枯竭等。
(6) 模糊攻击。蓝牙模糊攻击包括向设备的蓝牙射频发送错误格式或其他非标准数据并观察设备的反应。如果协议栈中存在严重的缺陷,设备运行将由于这些攻击而减慢或停止。
(7) 配对窃听。V2.0和更早版本的PIN/传统配对和V4.0的LE配对很容易受到窃听攻击。如果有足够的时间收集所有配对帧,窃听者可以确定密钥,模拟受信任的设备,进行数据解密。
(8) SSP攻击。许多技术可以强制远程设备使用直接连接SSP,然后利用其不提供抗MITM攻击保护的缺陷。此外,攻击者还可能利用固定口令进行MITM攻击。
4 蓝牙风险缓解对策
为了更好地利用蓝牙的好处和优势,应采取相应的对策缓解蓝牙安全风险的影响。主要措施建议如下:
(1) 使用蓝牙设备可用的最强安全模式。蓝牙安全模式决定了保护蓝牙通讯和设备免受潜在攻击的能力。不同版本的蓝牙设备可用的安全模式不同,使用时应选择每种情况下最安全的模式。蓝牙BR/EDR/HS最强的模式是安全模式3。安全模式4是V2.1+ EDR和更高版本设备的默认模式,如果两个设备都支持安全模式4,则使用安全模式4。安全模式2和4可以使用认证和加密。安全模式1从不启动安全模式,最好永远不用。蓝牙LE最强的模式是安全模式1/3级。
(2) 更改蓝牙设备默认设置,实施必要的安全策略。慎重通过蓝牙网络传输敏感信息、选择和使用蓝牙个人识别码(PIN)。不要使用蓝牙设备的默认设置,禁用不必要的蓝牙配置文件和服务,以减少攻击者可能试图利用的漏洞。
(3) 提高蓝牙使用安全意识。提高安全意识有助于防止安全事件的发生。当不需要时,确保蓝牙设备处于关闭状态,以减少设备暴露于恶意活动的机会。尽可能少进行蓝牙设备配对,在攻击者无法观察到密码输入和窃听蓝牙配对相关通讯的物理安全区域内使用蓝牙设备,将设备设为不可发现模式,以提高蓝牙设备的安全性。
[1]Guide to Bluetooth Security.NIST SP 800-121(修订1).June.2012.
[2]张俊.蓝牙技术及其安全机制研究[J].电脑知识与技术.2008.
[3]胡国华.蓝牙 Ad-hoc网络安全性分析研究[J].通信技术.2009.