关于蓝牙技术安全机制的分析.doc
- 格式:doc
- 大小:599.00 KB
- 文档页数:7
蓝牙技术蓝牙是一种支持设备短距离通信的无线电技术,近年来已经成为研究的热点问题并获得了广泛的应用。
本文从蓝牙技术的起源和特点讲起,详细介绍了蓝牙系统的组成、蓝牙技术的信息安全机制和蓝牙技术的组网方案,最后对蓝牙技术的发展做了展望。
关键词:蓝牙系统组成信息安全机制组网方案1 蓝牙技术概况1.1 蓝牙的起源蓝牙的名字来源于10世纪丹麦国王Harald Blatand,因为他十分喜欢吃蓝梅,所以牙齿每天都带着蓝色。
蓝牙将当时的瑞典、芬兰与丹麦都统一了起来。
1999年12月1日,蓝牙特殊利益集团——Bluetooth SIG发布了蓝牙技术最新标准1.0B 版。
发展至今,加盟的公司已超过2000多家。
一项公开的全球统一的技术规范能得到工业界如此广泛的关注和支持是前所未有的。
当然,这主要得益于蓝牙技术本身所具有的广阔应用前景和诱人的商机。
1.2 蓝牙技术的特点蓝牙技术使用高速跳频和时分多址等先进技术,在近距离内最廉价地将几台数字化设备呈网状链接起来。
蓝牙是一个开放性的、短距离无线通信技术标准。
它可以用来在较短距离内取代目前多种线缆连接方案,穿透墙壁等障碍,通过统一的短距离无线链路,在各种数字设备之间实现灵活、安全、低成本、小功耗的话音和数据通信。
蓝牙作为一种新兴的短距离无线通信技术已经在各个领域得到广泛应用,它提供低成本、低功耗、近距离的无线通信,构成固定与移动设备通信环境中的个人网络,使得近距离内各种信息设备能够实现无缝资源共享。
2 蓝牙系统的参数指标及组成2.1 蓝牙系统结构基本系统参数及指标工作频段:ISM频段2.402GHz—2.480GHz双工方式:TDD业务类别:同时支持电路交换及分组交换业务数据标称速率:1Mbit/s异步信道速率:非对称连接723.2kbit/s 57.6kbit/s对称连接:433.9kbit/s (全双工模式)同步信道速率:64kbit/s (3个全双工信道)信道间隔:1MHz信道数:79发射功率及覆盖:0dBm(1mW),1—10m覆盖,20dBm(100mW),扩展至100m覆盖跳频频点数:79个频点/MHz(2408+k(MHz),k=0,1,2……78);跳频速率:1600次/s工作模式:Active/Sniff/Hold/Park数据连接方式:面向连接业务SCO(话音,电路交换、预留时隙)、无连接业务ACL(分组数据、分组交换、轮询)方式:1/3FEC(3bit重复码),2/3FEC(截短Hamming码),CRC—16,ARQ鉴权:反应逻辑算术方式密钥:以8bits为单位增减,最长128bits安全机制:链路级,认证基于共享链路密钥询问/响应机制,认证和加密密钥生成基于SAFER+算法话音编码方式:CVSD或对数PCM网络拓扑结构:Ad hoc(无中心自组织)结构,Piconet及Scatternet2.2 蓝牙系统的组成蓝牙系统由无线单元、链路控制单元、链路管理和软件结构和协议体系组成。
Layer,LL)以及主机控制接口层(Host Controller Inter-face,HCI);主机层包括:逻辑链路控制和适配器层(Logical Link Control and Adaptation Protocol,L2CAP)、属性协议层(Attribute Protocol,ATT)、通用属性协议配置规范层(Generic Attribute Profile,GATT)、安全管理层(Security Manager Protocol,SMP)以及通用访问规范层(Generic Access Profile,GAP)。
Controller用来实现与硬件相关的射频接收发送初步数据逻辑协议等工作,Host处理完全纯数据协议逻辑的工作,比较特别的HCI层用于衔接Host和Controller通信的中间层。
本文主要研究和分析BLE建立连接时的配对绑定过程。
BLE协议体系结构如图1所示。
BLE的配对绑定过程分为3个阶段[1],第一个阶段是发起配对绑定请求,实际上是配对特征交换得到临时密钥(Temporary Key,TK)值;第二个阶段使用SMP协议进行各种中间密钥的传送和计算,实际上是身份确认以及短期密钥(Short Term Key,STK)生成;第三个阶段是在第二个阶段的基础上进行密文通信交换各种所需要的密钥,例如:长期秘钥(Long Term Key,LTK)、身份解析秘钥(Identity Root Key,IRK)和连接签名解析秘钥(Connec-tion Signature Resolving Key,CSRK)等。
配对绑定阶段流程如图2所示。
2 安全管理协议■2.1 SMP中加密算法BLE协议规定了SMP中使用的是一个单向函数,用于产生秘钥、加密和提供完整性检查。
这种加密引擎被称为先进加密系统(Advanced Encryption Standard,AES)。
BLE 中使用AES的128位版本[2],也就是明文、秘钥和密文都52 | 电子制作 2020年02-03月软件开发是 128 位的,其加解密的安全函数为e,加解密表达式如(1): 密文=ekey(明文)/密文=e(key,明文) (1)这里的加密引擎函数e为AES标准中的电子密码本模式(Electronic Codebook mode encryption,ECB),计算MAC(Media Access Control)地址时使用到了函数CMAC,它是由Counter with Cipher Block Chaining-Message Au thentication Code (CCM)实现。
关于蓝牙的安全机制蓝牙技术提供短距离的对等通信,它在应用层和链路层上都采取了保密措施以保证通信的安全性,所有蓝牙设备都采用相同的认证和加密方式。
在链路层,使用4个参数来加强通信的安全性,即蓝牙设备地址BD_ADD R、认证私钥、加密私钥和随机码RAND。
蓝牙设备地址是一个48位的IEEE地址,它唯一地识别蓝牙设备,对所有蓝牙设备都是公开的;认证私钥在设备初始化期间生成,其长度为128比特;加密私钥通常在认证期间由认证私钥生成,其长度根据算法要求选择8~128比特之间的数(8的整数倍),对于目前的绝大多数应用,采用64比特的加密私钥就可保证其安全性;随机码由蓝牙设备的伪随机过程产生,其长度为128比特。
一、随机码生成每个蓝牙设备都有一个伪随机码发生器,它产生的随机数可作为认证私钥和加密私钥。
在蓝牙技术中,仅要求随机码是不重复的和随机产生的。
“不重复”是指在认证私钥生存期间,该随机码重复的可能性极小,如日期/时间戳;“随机产生”是指在随机码产生前不可能预测码字的实际值。
二、密钥管理加密私钥的长度是由厂商预先设定的,用户不能更改。
为防止用户使用不允许的密钥长度,蓝牙基带处理器不接受高层软件提供的加密私钥。
若想改变连接密钥,必须按基带规范的步骤进行,其具体步骤取决于连接密钥类型。
1.密钥类型连接密钥是一个128比特的随机数,它由两个或多个成员共享,是成员间进行安全事务的基础,它本身用于认证过程,同时也作为生成加密私钥的参数。
连接密钥可以是半永久的或临时的。
半永久连接密钥保存在非易失性存储器中,即使当前通话结束后也可使用,因此,它可作为数个并发连接的蓝牙设备间的认证码。
临时连接密钥仅用于当前通话。
在点对多点的通信中,当主设备发送广播信息时,将采用一个公共密钥临时替换各从设备当前的连接密钥。
蓝牙的信息安全机制及密钥算法改进
蓝牙是一种无线通信技术,它被广泛应用于手机、智能设备和其他电子设备之间的短距离通信。
为了确保蓝牙通信的安全性,蓝牙标准制定了一些信息安全机制和密钥算法。
1. 信息安全机制:
- 配对和认证:蓝牙设备在连接之前需要进行配对和认证。
这样可以确保通信双方是合法的设备,并且可以防止未经授权的设备访问通信。
- 加密:蓝牙使用一种称为E0的对称加密算法对通信数据进行加密。
这种算法使用一个密钥和一个伪随机数生成器对数据进行加密,从而保护数据的机密性。
- 频率跳变:蓝牙使用频率跳变技术来防止外部干扰和窃听攻击。
频率跳变使得蓝牙通信频率在不同的时间片段上跳变,这样即使敌对方能够截获蓝牙信号,也很难对其进行完全解码。
2. 密钥算法改进:
- Bluetooth Low Energy (BLE):BLE是蓝牙的低功耗版本,它引入了一种称为AES-CCM的高级加密标准。
AES-CCM算法结合了AES(Advanced Encryption Standard)和CCM(Counter with CBC-MAC)算法,提供了更高的安全性和数据完整性。
- DoS防护:蓝牙标准还采取了一些措施来防御拒绝服务(DoS)攻击。
例如,限制对蓝牙设备的连接请求次数和频率,以及对连接请求进行认证和授权。
总的来说,蓝牙的信息安全机制和密钥算法不断进行改进以应对新的安全威胁和攻击方法。
未来,随着技术的发展,蓝牙标准可能会继续推出更加安全的机制和算法。
蓝牙的安全模式蓝牙设备总共拥有四种标准化的访问安全模式。
安全模式1(不安全);安全模式2 (服务级别强制安全);安全模式3(链路级强制安全);安全模式4(服务级别强制安全,带密钥配对策略)。
不同的安全模式决定可用的服务安全级别。
使用安全模式1的设备被认为是不安全的。
在这种安全模式下,安全功能(认证和加密)从未启动,因此设备和连接容易受到攻击。
实际上,这种模式下的蓝牙设备是不分敌我的,并且不采用任何机制来阻止其他蓝牙设备建立连接。
如果远程设备发起配对、认证或加密请求,那么安全模式1设备将接受该请求而不加任何认证。
安全模式2是服务级强制安全模式,其可以在链路建立之后但在逻辑信道建立之前启动安全讨程。
在议这种安全模式下,本地安全管理晶控制对特定服务的访问。
访问控制以及与其他协议和设备用户的接口由单独的集中式安全管理器维护。
此策略可以为具有不同安全需求并行运行的应用程序定义不同的安全策略和信任级别来限制访问,可以在不提供对其他服务的访问的情况下授予访问某些服务的权限。
在这种模式下,引入了授权的概念(即决定特定设备是否允许访问特定服务的过程)。
安全模式3提供最好的安全性。
它是链路级强制安全模式,其中蓝牙设备在链路完全建立之前启动安全过程。
在安全模式3下运行的蓝牙设备为设备的所有连接授权认证和加密。
因此,在进行认证、加密和授权之前,甚至不能进行服务的发现。
一旦设备经过身份认证,服务级别授权通常不会被安全模式3设备执行。
当经过身份验证的远程设备在不了解本地设备所有者的情况下使用蓝牙服务时,服务级授权应被执行以防止认证滥用。
安全模式4使用安全简单配对策略(Secure Simple Pairing , SSP ),其中在链路密钥生成时,椭圆曲线(Elliptic Curve Diffie- Hellman , ECDH )密钥协议取代了过时的密钥协议。
武汉工程大学邮电与信息工程学院蓝牙技术的安全性学生姓名 黎子晨学 号专业班级 通信0806成绩1. 蓝牙技术介绍:●一级标题为“黑体、加粗、四号”字●段前、段后均13磅,行距为“多倍行距=1.73”蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。
能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。
利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。
蓝牙采用分散式网络结构以及快跳频和短包技术,支持点对点及点对多点通信,工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。
其数据速率为1Mbps。
采用时分双工传输方案实现全双工传输。
信息时代最大的特点便是更加方便快速的信息传播,正是基于这一点,技术人员也在努力开发更加出色的信息数据传输方式。
蓝牙,对于手机乃至整个IT业而言已经不仅仅是一项简单的技术,而是一种概念。
当蓝牙联盟信誓旦旦地对未来前景作着美好的憧憬时,整个业界都为之震动。
抛开传统连线的束缚,彻底地享受无拘无束的乐趣,蓝牙给予我们的承诺足以让人精神振奋。
蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。
其程序写在一个9 x 9 mm的微芯片中。
例如,如果把蓝牙技术引入到移动电话和膝上型电脑中,就可以去掉移动电话与膝上型电脑之间的令人讨厌的连接电缆而而通过无线使其建立通信。
打印机、PDA、桌上型电脑、传真机、键盘、游戏操纵杆以及所有其它2的数字设备都可以成为蓝牙系统的一部分。
除此之外,蓝牙无线技术还为已存在的数字网络和外设提供通用接口以组建一个远离固定网络的个人特别连接设备群。
蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段。
蓝牙的数据速率为1Mb/s 。
蓝⽛技术的安全机制蓝⽛技术的安全机制蓝⽛技术提供了⼀种短距离的⽆线通信标准,同其它⽆线技术⼀样,蓝⽛技术的⽆线传输特性使它⾮常容易受到攻击,因此安全机制在蓝⽛技术中显得尤为重要。
虽然蓝⽛系统所采⽤的跳频技术已经提供了⼀定的安全保障,但是蓝⽛系统仍然需要链路层和应⽤层的安全管理。
本⽂⾸先讨论⽆线⽹络的安全问题,然后介绍了在蓝⽛系统中采⽤的安全技术。
⼀、⽆线⽹络中的安全问题蓝⽛技术可以提供点对点和点对多点(⼴播)的⽆线连接,采⽤蓝⽛技术,多个蓝⽛设备能够临时组构⽆线通信⽹,实现信息的交换和处理。
这种⽆线⽹络的安全威胁来源于⾮法窃听、⾮授权访问和服务拒绝等,不同的安全威胁会给⽹络带来不同程度的破坏。
⾮法窃听是指⼊侵者通过对⽆线信道的监听来获取传输的信息,是对通信⽹络最常见的攻击⽅法。
这种威胁源于⽆线链路的开放性,但是由于⽆线传输距离受到功率和信噪⽐的限制,窃听者必须与源结点距离较近。
蓝⽛技术标准建议采⽤较低的发射功率,标准通信距离仅有⼗⽶,这在⼀定程度上保证了⽹络的可靠性。
⾮法访问是指⼊侵者伪装成合法⽤户来访问⽹络资源,以期达到破坏⽬的;或者是违反安全策略,利⽤安全系统的缺陷⾮法占有系统资源或访问本应受保护的信息。
必须对⽹络中的通信设备增加认证机制,以防⽌⾮授权⽤户使⽤⽹络资源。
服务拒绝是指⼊侵者通过某些⼿段使合法⽤户⽆法获得其应有的⽹络服务,这种攻击⽅式在Internet中最为常见,也最为有效。
在蓝⽛⽹络中,这种威胁包括阻⽌合法⽤户建⽴连接,或通过向⽹络发送⼤量垃圾数据来破坏合法⽤户的正常通信。
对于这种威胁,通常可采⽤认证机制和流量控制机制来防⽌。
耗能攻击也称为能源消耗攻击,现有蓝⽛设备为节约电池能量,使⽤节能机制,在不进⾏通信时进⼊休眠状态。
能源消耗攻击⽬的是破坏节能机制,如不停地发送连接请求,使设备⽆法进⼊节能模式,最终达到消耗能量的⽬的。
⽬前对这种攻击还没有⾏之有效的办法。
⼆、蓝⽛采⽤的安全技术蓝⽛技术标准除了采⽤上述的跳频扩频技术和低发射功率等常规安全技术外,还采⽤内置的安全机制来保证⽆线传输的安全性。
蓝牙跳频原理蓝牙跳频原理是指蓝牙设备在进行无线通信时,使用一种特殊的跳频技术来避免与其他设备的干扰。
本文将详细介绍蓝牙跳频原理及其工作机制。
一、蓝牙跳频原理概述蓝牙跳频原理是蓝牙技术中最重要的一部分。
蓝牙设备通过在不同频段之间进行快速切换,以避免与其他设备的冲突和干扰。
跳频技术可以使蓝牙设备在通信过程中频繁改变工作频率,从而提高通信的可靠性和安全性。
二、蓝牙跳频工作机制蓝牙设备的跳频工作机制可以分为两个方面:跳频序列和跳频间隔。
1. 跳频序列蓝牙设备使用一种称为跳频序列的伪随机序列来确定频率的跳转顺序。
跳频序列是根据设备的唯一地址和时钟信息生成的,每个设备都有自己的跳频序列。
跳频序列的长度为79个频点,每个频点之间的间隔为1MHz。
蓝牙设备按照跳频序列的顺序在不同的频点上进行通信,从而避免与其他设备的干扰。
2. 跳频间隔蓝牙设备在通信过程中按照一定的时间间隔进行跳频。
跳频间隔是由蓝牙设备的主设备控制的,一般为625微秒。
主设备根据跳频间隔来确定设备在每个频点上通信的时间长度,以及在频点之间切换的时间。
三、蓝牙跳频的优势蓝牙跳频原理具有以下几个优势:1. 抗干扰能力强:由于跳频原理的应用,蓝牙设备可以在不同的频点上进行通信,从而避免了与其他设备的干扰。
即使在存在其他设备干扰的情况下,蓝牙设备也能够通过跳频技术保证通信的稳定性和可靠性。
2. 隐蔽性高:由于跳频原理的存在,蓝牙设备在通信过程中频繁改变工作频率,使得设备的通信行为更加隐蔽,难以被窃听或干扰。
3. 安全性高:跳频序列是根据设备的唯一地址和时钟信息生成的,每个设备都有自己的跳频序列。
这种跳频序列的生成算法具有一定的安全性,可以减少被非法设备攻击的风险。
四、蓝牙跳频的应用领域蓝牙跳频原理广泛应用于各种蓝牙设备中,包括蓝牙耳机、蓝牙音箱、蓝牙键盘、蓝牙鼠标等。
蓝牙跳频技术可以有效地提高这些设备的通信稳定性和安全性。
蓝牙跳频原理也被应用于无线传感器网络、工业自动化等领域。
第1篇一、面试题目1. 请简要介绍蓝牙技术的原理和特点。
2. 蓝牙测试过程中,如何保证测试的全面性和准确性?3. 请列举蓝牙测试中常见的测试类型。
4. 蓝牙测试中,如何进行信号强度测试?5. 请说明蓝牙测试中,如何进行数据传输速率测试?6. 蓝牙测试中,如何进行稳定性测试?7. 请简要介绍蓝牙测试中的干扰测试。
8. 蓝牙测试中,如何进行固件升级测试?9. 请说明蓝牙测试中,如何进行安全性测试?10. 蓝牙测试中,如何进行兼容性测试?11. 请举例说明蓝牙测试中,如何定位和解决一个复杂的BUG?12. 请简要介绍蓝牙测试报告的编写要点。
13. 蓝牙测试中,如何进行现场测试和远程测试?14. 请说明蓝牙测试中,如何进行性能测试?15. 蓝牙测试中,如何进行电源管理测试?二、答案解析1. 蓝牙技术原理及特点:蓝牙技术是一种短距离无线通信技术,基于2.4GHz ISM频段,采用跳频扩频(FHSS)和时分双工(TDD)技术。
其特点如下:(1)低功耗:蓝牙设备在通信过程中功耗较低,适合移动设备使用。
(2)低成本:蓝牙技术具有较低的成本,便于推广应用。
(3)易于使用:蓝牙设备连接简单,用户操作方便。
(4)高安全性:蓝牙通信采用加密技术,确保数据传输的安全性。
(5)低延迟:蓝牙通信延迟较低,适合实时数据传输。
2. 蓝牙测试的全面性和准确性:为确保蓝牙测试的全面性和准确性,需遵循以下原则:(1)制定详细的测试计划,明确测试目标、测试方法、测试用例等。
(2)采用自动化测试工具,提高测试效率。
(3)对测试环境进行严格把控,确保测试结果的可靠性。
(4)对测试结果进行分析和总结,为产品改进提供依据。
3. 蓝牙测试类型:(1)功能测试:验证蓝牙设备的功能是否满足需求。
(2)性能测试:评估蓝牙设备的传输速率、延迟等性能指标。
(3)稳定性测试:验证蓝牙设备在长时间使用过程中的稳定性。
(4)兼容性测试:检查蓝牙设备与其他设备的兼容性。
Bluetooth安全协议随着智能设备的普及和无线通信技术的进步,蓝牙已经成为我们日常生活中使用最广泛的无线通信标准之一。
然而,由于其无线特性,蓝牙也面临着一些安全风险和挑战。
为了确保用户数据和通信的安全性,蓝牙协议联盟(Bluetooth SIG)制定了一系列的安全协议和措施。
1. 蓝牙安全架构蓝牙安全架构主要由两个层次组成:链接层安全(Link Layer Security)和应用层安全(Application Layer Security)。
1.1 链接层安全链接层安全主要用于设备之间的身份验证和加密通信。
在链接层上,蓝牙设备会建立一组称为“链接密钥(Link Key)”的秘钥来进行设备之间的身份验证和数据加密。
连接密钥可以分为长期密钥(Long-Term Key,LTK)和临时密钥(Temporary Key)两种类型。
长期密钥通常用于设备之间的信任建立和长时间稳定的通信,而临时密钥则用于短时间内的临时连接。
1.2 应用层安全应用层安全主要用于保护Bluetooth设备上运行的应用程序的数据和通信。
蓝牙标准中定义了一些安全模式来满足不同场景下的需求,如认证模式(Authentication Mode)、授权模式(Authorization Mode)和加密模式(Encryption Mode)。
应用层安全是通过在传输层上应用加密算法和密钥管理机制来保护通信的。
2. 针对已知漏洞的修复蓝牙协议联盟会定期检测和修复已知的安全漏洞,以保证协议的安全性。
一旦发现漏洞,联盟会发布安全更新,供设备制造商和开发者及时升级和修复。
3. 蓝牙低功耗(Bluetooth Low Energy,BLE)的安全性蓝牙低功耗是一种为了满足低功耗和长电池寿命需求而开发的蓝牙技术。
与传统的蓝牙技术相比,BLE在安全性方面有一些不同之处。
3.1 链接层安全BLE使用了类似于链接层安全的机制来实现设备之间的身份验证和数据加密。
耳机蓝牙连接中的安全性与数据隐私保护近年来,随着智能设备的普及和蓝牙技术的进步,越来越多的人开始使用蓝牙耳机来享受音乐和通话的便利。
然而,与此同时,耳机蓝牙连接的安全性和数据隐私问题也引起了人们的担忧。
本文将探讨耳机蓝牙连接中的安全性问题,并提出一些保护数据隐私的措施。
1. 蓝牙连接的安全性问题蓝牙技术作为一种无线通信技术,存在着一些安全性问题。
首先,蓝牙连接的范围相对有限,但在范围内,黑客仍有可能通过蓝牙连接进行非法访问和攻击。
其次,蓝牙连接的认证和加密机制可能存在漏洞,使得黑客能够窃取连接中传输的敏感信息。
此外,由于耳机通常与智能设备长时间连接,一旦设备的安全性出现问题,耳机也会受到影响。
2. 保护蓝牙连接数据隐私的措施为了提高耳机蓝牙连接的安全性和保护数据隐私,以下是一些可行的措施:2.1 使用蓝牙最新版本蓝牙技术不断进步,不同版本的蓝牙协议在安全性方面可能有所不同。
使用最新版本的蓝牙设备和耳机可以享受更高的安全性保障。
2.2 注意蓝牙设备的设置在连接蓝牙耳机时,确保设备的蓝牙设置处于适当的安全级别。
例如,可以设置设备在连接时要求输入密码或确认连接,以防止未经授权的设备连接。
2.3 使用加密功能许多蓝牙耳机和设备支持加密功能,可以加密数据传输以保护隐私。
在使用蓝牙耳机时,确保打开加密功能,以防止数据被窃取。
2.4 避免使用公共蓝牙连接尽量避免在公共场所使用公共蓝牙连接。
这些连接可能不受保护,容易被黑客利用。
在必要时,使用经过验证的安全信号来连接耳机。
2.5 定期更新软件和固件软件和固件的更新通常包含了安全性修复和改进。
确保定期更新耳机和智能设备的软件和固件,以保护系统免受已知的安全漏洞的侵害。
3. 总结在现代生活中,蓝牙耳机的使用已成为一种趋势,但我们也需要关注其安全性和数据隐私保护问题。
使用最新版本的蓝牙设备、注意设备的安全设置、使用加密功能、避免使用公共蓝牙连接以及定期更新软件和固件等措施,将有助于提高耳机蓝牙连接的安全性和数据隐私保护水平。
蓝牙的安全机制
张吉春
【期刊名称】《中国人民公安大学学报(自然科学版)》
【年(卷),期】2004(010)004
【摘要】蓝牙网络在安全性方面面临假冒、窃听、非授权访问和服务拒绝等威胁.而要保证蓝牙网络安全机制,亟需解决的问题是蓝牙地址、PIN码、链路密钥鉴权和加密等问题.
【总页数】3页(P96-98)
【作者】张吉春
【作者单位】公安大学信息安全工程系,北京,102623
【正文语种】中文
【中图分类】TN92
【相关文献】
1.基于AES算法改进的蓝牙安全机制研究 [J], 杨晓非;赵婷
2.基于DES的蓝牙安全机制研究 [J], 陈丽;赵志强;苏小维;葛朝中;邓瑷
3.蓝牙安全机制在密码学上的应用 [J], 高建明
4.低功耗蓝牙BLE安全机制研究 [J], 胡荣科
5.基于信任机制的蓝牙组播安全机制设计 [J], 陈嘉琪;邓霞;包淑娴;房家杰
因版权原因,仅展示原文概要,查看原文内容请购买。
摘要: 蓝牙安全问题是除价格之外直接制约蓝牙技术广泛应用的瓶颈之一,文章通过对其安全结构、安全模式、安全级别、链路层安全参数、鉴权、密钥管理、加密等分析,讨论蓝牙安全体系中存在的一些问题,旨在探讨蓝牙技术在应用过程中如何能够实现一个真正的无电缆连接、方便快捷、安全可靠的通信环境。
关键词: 蓝牙;安全;鉴权;加密蓝牙提供了一种短距离的无线通信标准,解决了小型移动设备间的无线互连问题。
它以规范的公开性、频带的无须授权性等优点而越来越受到人们的重视。
蓝牙技术的应用范围也已经从替代各种移动信息电子设备之间的电缆,向信息家电、电子商务、汽车、航空、医疗、交通等更加广阔的领域中拓展。
同时,由于蓝牙工作在ISM214GHz 开放频段上,很容易受到干扰。
因此,它的安全性就显得尤为重要。
为了保证通信的安全,蓝牙系统必须在链路层和应用层上提供安全措施。
1 蓝牙安全机制的框架1.1 蓝牙的安全结构图1 蓝牙安全体系结构蓝牙的安全体系结构由用户接口、应用程序、RFCOMM 或者其他复用协议、L2CAP、链路管理器/ 链路控制器、安全管理器(Security Manager) 、通用安全管理实体、HCI、服务数据库、设备数据库、注册等模块组成。
其安全体系结构如图1 所示。
其中实线为“询问”过程,虚线为“注册”过程。
该体系结构各个部件的功能如下。
其中安全管理器是蓝牙安全体系结构中的关键部件。
它主要完成以下六种功能:存储和查询有关服务的相关安全信息;存储和查询有关设备的相关安全信息;回应来自协议实体或应用程序的访问请求(允许或拒绝) ;在连接到应用程序之前进行认证或加密;通过初始化或处理ESCE(外部安全控制实体,例如设备用户) 的输入来建立设备级的信任关系;初始化呼叫及查询由用户输入的个人标识码PIN ,PIN 输入也可以由应用程序来完成。
服务数据库为每个服务提供相关的安全入口。
在起始阶段存储在非易失性存储器NVM 或服务寄存器中。
信任设备必须储存在设备数据库NVM中。
如果入口因故而被删除,那么设备就看成未知设备,而且被设为默认的访问级别。
用户接口其功能是为实现授权而产生的用户交互对话,如输入PIN 等,如果安全管理器需要PIN ,可以使用对ESCE 的调用,也可以直接从链路管理器中取得。
RFCOMM或其它复用协议是需要对服务访问作决定的其它复用协议(如RFCOMM) 以与L2CAP 同样的方式查询安全管理器,但有另外的附加注册过程,它允许对连接到复用协议本身的连接去设置访问策略。
L2CAP 接口要求安全管理器在导入和导出请求状态下有访问数据库的权利。
HCI/ 链路管理器的接口模块可实现以下功能: ①鉴权请求; ②加密控制; ③远程设备的名称请求; ④在链路层设置加密策略; ⑤在链路层设置鉴权策略。
有一些注册过程是必须的,如:有安全级别和协议栈信息的服务、在L2CAP 层之上的复用协议。
注册由负责在BT 协议栈中设置路径的实体完成,它的具体实现取决于注册的实体,如果没有注册,就使用缺省设置。
该体系结构指出何时关联用户(如输入PIN) ,以及为了支持预期的安全检验功能底层的蓝牙协议需要执行的动作。
蓝牙安全体系建立在L2CAP 层之上,它可以实现对服务的选择性访问。
利用中央安全管理器很容易实现灵活的访问机制,因为协议及其它实体的接口很简单,并且它们被局限于请求/ 答应和注册这样一种过程,访问控制封装在安全管理器中。
因此,实现更为复杂的访问不会影响其他部分的实现。
在该体系结构中,访问一个信任设备的信息流,连接的建立过程依次为:(1) HCI 向L2CAP 发送连接请求。
(2) L2CAP 请求安全管理器给予访问权限。
(3) 安全管理器查询服务数据库。
(4) 安全管理器查询设备数据库。
(5) 如果有必要,安全管理器执行鉴权和加密过程。
(6) 安全管理器给予访问权限。
(7) L2CAP 继续建立连接。
1.2 蓝牙的安全模式蓝牙规范中定义了三种安全实现模式:·安全模式1 :无安全机制·安全模式2 :服务级安全机制·安全模式3 :链路级安全机制安全模式1 :无任何安全需求,无须任何安全服务和机制的保护。
此时任何设备和用户都可以访问任何类型的服务;其典型的应用有:电子名片(vCard) 的交换、电子日历(vCalendar) 等数据传输。
安全模式2 :对系统的各个应用和服务需要进行分别的安全保护,包括授权访问、身份鉴别和加密传输。
加密和鉴别发生在逻辑链路控制和适配协议(L2CA 信道建立之前) 。
安全模式3 :对所有的应用和服务的访问都需要实行访问授权、身份鉴别和加密传输。
这种模式的鉴别和加密发生在链路配置完成之前。
113 安全级别(1) 设备的安全级别蓝牙技术标准为蓝牙设备定义了三个级别的信任等级:·可信任设备:设备已经通过鉴权,存储了链路密钥,在设备数据库中标识为“可信任”,可信任设备可以无限制的访问所有的业务;可信任级别可以得到大多数服务。
·不可信任设备:设备已通过鉴权,存储了链路密钥,但在设备数据库中没有标识为“可信任”,不可信任设备访问业务是受限的。
·未知设备:无此设备的安全性信息,为不可信任设备。
(2) 服务的安全级别蓝牙技术标准定义了三种服务安全级别:需要授权与鉴权的服务、仅需要鉴权的服务、对所有设备开放的服务。
一个服务的安全等级由以下三种属性决定,它们保存在服务数据库中。
·需授权———只允许信任设备自动访问的业务(例如,在设备数据库中已登记的那些设备) 。
未被信任的设备需要在授权过程完成后才能访问该业务。
授权总是需要鉴权过程来确认远端设备的身份。
·需鉴权———在连接到应用程序之前,远端设备必须接受鉴权。
·需加密———在允许访问服务之前,链路必须进入加密模式。
另外,蓝牙还定义了缺省安全级别,用于提供继承应用的需要。
当处在最低安全级别时,任何设备都可以得到服务。
当处于最高安全级别时,服务需要授权和鉴权,这时可信任设备可以访问服务,但不可信任设备则需要手工授权,方可访问服务。
2 链路层安全体系211 链路层安全参数在链路层中使用了四种不同的实体来保证安全。
每一个用户有一个唯一的蓝牙设备地址(BD2AD2DR) 、两个加密密钥和一个随机数(每交易一次,变化一次) 。
这四个实体及其长度如表1 所示。
表1 链路层的实体及其长度实体长度蓝牙设备地址(BD2ADDR) 48bit秘密的认证密钥128bit秘密的加密密钥(比特长度可变) 8~128bit随机数(RAND) 128bit蓝牙设备地址(BD2ADDR) :是一个48 位的IEEE 地址。
对于每个蓝牙设备单元来说,这个地址是惟一的、公开的,通过MMI(人机接口交互) 或者查询过程得到。
认证密钥:认证密钥在设备初始化期间生成,它由两个或多个蓝牙网络成员共享,用于认证过程,同时也作为生成加密密钥的参数。
蓝牙采用了一种功能强大的现代加密算法(SAFER + ) 来生成128bit 的认证密钥。
认证密钥由一个随机数、PIN 码的低8 位及BD2ADDR 生成。
加密密钥:通常在认证期间由认证密钥生成,其长度根据算法要求选择8~128bit 之间的数(要求是8bit 的整数倍) 。
当前给出的64bit 加密长度足以满足大部分用户的保密要求。
加密密钥的长度由厂商预先设定,用户不能更改。
为防止用户使用不允许的密钥长度,蓝牙基带处理器不接受高层软件提供的加密密钥。
使用加密方式进行点对多点的通信时,主设备可以使用不同的加密密钥与每一台从设备进行通信。
随机数(RAND) :随机数RAND 由蓝牙单元内随机过程或者伪随机过程生成,其长度为128bit ,它不是静态参数,经常会发生变化。
2.2 鉴权(Authentication)鉴权是为了防止非法访问数据,防止伪造合法用户。
鉴权的作用有两个:一是进行身份认证;二是确认参数传递是否成功。
蓝牙鉴权有一个先决条件,那就是鉴权单元和被鉴权单元之间链路已经有链路字并且安全。
蓝牙的鉴权方案采用询问与响应策略。
协议检查双方是否有相同的密钥,如果有则鉴权通过。
在鉴权过程中生成一个鉴权加密偏移值ACO ,并存储在两个设备中用于以后加密密钥的生成。
在方案中,校验者对于申请者是否能够根据认证算法E1 认证随机数AU2RANDA ,并返回认证结果SERS ,进行校验。
如图2。
图2 询问—响应策略由图 2 可知:E1 算法输入参数包括随机数AU2RANDA 及申请者的蓝牙设备地址BD2ADDR ,使用该地址可以防止简单的反射攻击,由单元A 和单元B 共享的密钥为当前链接字。
鉴权方案按以下步骤进行:①被鉴权设备A 向鉴权设备B 发送一个随机数供鉴权。
②利用E1 鉴权函数,使用随机数、鉴权设备B 的蓝牙地址和当前链路密钥匹配时得出响应。
③鉴权设备B 将响应发往请求被鉴权设备A ,设备A 而后判断响应是否匹配。
哪个设备将被鉴权由应用决定,这意味着被鉴权设备不一定是主设备。
鉴权可以单向进行,也可以互相鉴权。
某些应用只要求进行单向鉴权。
而在点对点对等通信中,可能更希望互相鉴权。
如果鉴权失败,则必须经过一段时间(即等待时间) 后才会允许新一轮鉴权。
这样可阻塞一些恶意的试验性攻击。
213 密钥管理为了确保数据的安全传输,蓝牙系统定义了几种密钥,其中最重要的密钥是链路密钥,它用于BT 两个设备的鉴权。
使用链路密钥可以得到加密密钥,它可以保护报文数据并对所有的新传输重新生成密钥。
对于PIN 来说,虽然它不是密钥,但可以用来识别蓝牙设备。
(1) 链路密钥链路密钥是一个128 位随机数,为通信双方或多方共享,构成多方安全通信的基础。
它用于两个蓝牙设备之间的鉴别。
针对不同应用,有四类链路密钥:·单元密钥KA :KA 在单元A 中生成。
它的存储只需要较少内存的蓝牙单元,用于设备允许大量的其他用户访问且设备存储空间小的情形。
·联合密钥KAB :KAB由单元A 和单元B 的信息生成。
每一对新单元组合均需要生成新联合密钥。
它用于安全要求高且需要较大存储空间的设备间。
·临时密钥Kmaster :此密钥在主设备需同时向多个从设备传输数据时使用。
在此会话过程中,它将临时替代原有的链路密钥。
·初始化密钥KINT :该密钥在初始化过程使用。
它用于保护初始化参数的传输。
(2) 加密密钥由当前的链路密钥推算而来,每次需要加密密钥时它会自动更换。
之所以将加密密钥与鉴权密钥分离开,是因为可以使用较短的加密密钥而不减鉴权过程的安全性。
(3) PIN PIN 码是一个个人识别码,它可以是蓝牙设备提供的一个固定码,也可以由用户任意指定。
但两个设备中的PIN 码必须匹配。