蓝牙
无线数据与语音通信的全球规范
蓝牙(Bluetooth)技术是一种低成本、低功耗、无线连接的通信技术,旨在为固定设备和移动设备建立短距离的无线通信环境。蓝牙技术的诞生解决了传统电缆连接的不便和局限性,使得当前的一些便携移动设备和计算机设备能够不需要电缆就能连接到互联网,并且可以无线接入互联网。
蓝牙技术最初由爱立信开发,现在是一种被纳入国际标准的短距通信技术,旨在取代连接便携式设备或固定设备的电缆,同时保持较高的安全性。蓝牙从最开始的1.0版本,经过多次更新和改进,发展到现在的蓝牙5.3版本,功能越来越多样化。支持蓝牙的设备可以通过短距离的点对点模式网络进行无线连接和通信,并且使用跳频技术传输信号以实现抗干扰和安全性。蓝牙技术已经被广泛应用于智能网联汽车、语音传输、数据传输、智能家居、医疗保健等众多领域。由于其低功耗和高速度的特点,蓝牙技术也被用于物联网设备的连接和通信,成为连接智能设备的重要手段。
介绍
蓝牙是一种无线通信技术,由 IEEE(电气和电子工程师学会) 认证的数据通信协议的商业名称,其技术名称是 IEEE802.15.1-1Mbps WPAN 协议。蓝牙这个名称取自丹麦维京国王哈拉德的名字,关于这位国王的名字有两种说法:一种是其全名为 Harald Blatand,而 Blatand 在英语中意思为“蓝牙”(Bluetooth);另-种是这位国王酷爱吃蓝梅,以致于牙齿都被染成了蓝色,因此“蓝牙”成了他的绰号。蓝牙这个标志的设计取自 Harald Blatand 名字的H和B两个字母,用古北欧字母来表示,将这两者结合起来,就成为了蓝牙的 Logo,如下图所示。
蓝牙最初设计目标是为了取代现有数字设备上的有线电缆连接,现在广泛用于近距离无线通信场景,如手机、电脑、音响、智能家居等设备之间的连接。蓝牙技术的基本特点是低成本、低功耗和短距离通信,最大通信距离约为 10 米。每个蓝牙设备都拥有唯一的地址,可以建立点对点或点对多点连接,具有自适应频率跳跃技术以保证通信质量和可靠性。
历史进程
意大利物理学家古列尔莫·马可尼在1895年发明了无线电报技术,这是人类历史上第一次成功利用电磁波进行远距离通信,但是当时的无线电技术还十分原始和不稳定,无法实现可靠的短距离通信。随着无线电技术的不断发展,出现了一系列无线通讯技术,如红外线通信技术、无线电远程控制技术、无线电对讲机技术等。20世纪初,除了无线通讯技术,还出现了射频技术,在射频技术的基础上发展出了如雷达技术,微波技术等一系列技术,雷达技术是利用射频信号进行探测和测距的技术,而微波技术则是利用高频射频信号进行通信和数据传输的技术,这些技术在一定程度上解决了人们在短距离通信方面的需求,为蓝牙技术的发展提供了宝贵的经验和技术基础。1994年,瑞典爱立信提出了一种短线连接无线电技术,由荷兰电气工程师雅克布斯·雅普·哈尔特森发明,这就是蓝牙技术的前身。1998年,瑞典爱立信、芬兰诺基亚美国IBM、日本东芝英国CSR等五家公司联合宣布了蓝牙计划,蓝牙技术正式诞生。
版本与功能
蓝牙技术自1994年问世以来,经历了多次版本更新和改进。以下是蓝牙各个版本的主要特点和改进:
工作原理
蓝牙的工作原理是使用2.4GHz的ISM频段,在跳频技术的支持下,实现短距离无线通信。蓝牙技术采用的是时分双工传输方案,在蓝牙通信过程中,发射端和接收端的无线电设备都采用跳频技术,将射频信号按照预先设定的频率序列跳跃发送和接收,以实现抗干扰和安全性,同时支持点对点和点对多点通信。此外,蓝牙还采用时分多址技术,将时间分成许多小段,每个小段中不同的蓝牙设备可以在不互相干扰的情况下进行数据传输。蓝牙的工作原理具体分为以下几个部分:
蓝牙通信主从关系
蓝牙通信中,设备可以分为主设备和从设备。通信时,主设备通常是发起连接的设备,而从设备则是响应连接请求的设备。主设备控制连接并处理数据传输,从设备则被动接收并处理数据传输请求。在连接期间,主设备可以发送控制命令以及数据传输请求,而从设备只能响应这些请求,主从关系在连接建立后可以相互转换。
蓝牙呼叫过程
蓝牙呼叫过程通常涉及到两个设备之间的通信,其中一个设备作为主设备,发起呼叫请求,另一个设备作为从设备,接受呼叫请求并进行响应。呼叫过程通常分为以下几个步骤,首先是主设备进行查找,此时从端设备必须处于可被查找状态才能被发现。主设备找到从设备后,会进行配对,此时需要输入从端设备的PIN码,有的设备不需要PIN码就可以进行配对。配对完成后,主设备向从设备发送呼叫请求,根据应用不同,可能是 ACL 数据链路呼叫或 SCO 语音链路呼叫,链路建立成功后,主从两端之间即可进行双向的数据或语音通信。
蓝牙数据传输应用
蓝牙数据传输应用中,一对一串口数据通信是最常见的应用之一,蓝牙设备在出厂前即提前设好两个蓝牙设备之间的配对信息,主端预存有从端设备的 PIN 码地址等,两端设备加电即自动建链,透明串口传输,无须外围电路干预。一对一应用中从端设备可以设为两种类型,一是静默状态,即只能与指定的主端通信不被别的蓝牙设备查找;二是开发状态,既可被指定主端查找,也可以被别的蓝牙设备查找建链。
系统结构
蓝牙系统一般由天线单元、链路控制 (固件) 单元、链路管理(软件) 单元和蓝牙软件(协议栈)单元组成,以下是对这些单元的详细介绍。
天线单元
蓝牙设备中的天线单元用于接收和发送无线信号。它可以是一个内置的天线或一个外置的天线模块,它们之间通过天线连接器进行连接。天线单元的设计与实现是为了满足蓝牙规范中定义的射频性能指标。
链路控制 (固件) 单元
链路控制单元负责管理蓝牙设备的硬件和固件,以便使其符合蓝牙标准。它通常包含一个嵌入式微处理器和与微处理器交互的固件程序,该程序控制蓝牙设备的操作和信号处理。它负责执行一些基本功能,如频道扫描、发送和接收数据包以及对错误的处理。
链路管理(软件) 单元
链路管理单元是一个软件组件,它提供了蓝牙设备之间的通信。该单元实现了蓝牙协议的一部分,包括设备的发现、连接、安全性、数据传输、断开连接等。这个单元还提供了一个用于管理蓝牙设备状态的状态机。
蓝牙软件(协议栈)单元
蓝牙软件单元也被称为协议栈。它是蓝牙设备的核心组件,实现了蓝牙协议的全部功能。协议栈通常包含多个子层,每个子层都负责不同的任务,如蓝牙控制器层、蓝牙主机层、L2CAP层、RFCOMM层、SDP层等。蓝牙软件单元与链路管理单元之间进行交互,以控制蓝牙设备的操作,并确保它们与其他蓝牙设备之间的通信正常进行。
蓝牙协议
蓝牙规范的协议栈采用分层结构分别完成数据流过滤和传输、跳频、数据顿传输、连接建立和释放、链路控制、数据拆装、服务质量、协议复用和分用等功能。蓝牙协议栈中的协议根据其用途的不同可分为 4 层,即核心协COO议层、电缆替代协议层、电话控制协议层和选用协议层。
核心协议层
核心协议包括基带协议、链路管理协议(LMP)、逻辑链路控制和适配协议(L2CAP)、服务发现协议(SDP),基带协议主要作用是确保各蓝牙设备间的射频连接,以形成微微网络;链路管理协议负责各设备连接的建立和设置;逻辑链路控制和适配协议为上层提供服务;服务发现协议用于查询设备信息和服务类型。。
替代电缆协议层
替代电缆协议层包括串行电路仿真协议(RFCOMM),RFCOMM 是一个仿真有线链路的无线数据仿真协议,符合ETSI 标准的 TS 07.10串口仿真协议,它在蓝牙基带上仿真RS-232的控制和数据信号,为原先使用串行连接的上层业务提供传送能力用于实现数据的转换,使蓝牙设备可以模拟串口通信。
电话控制协议层
电话控制协议层包括二元电话控制规范(TCS Binary)和AT-命令(AT-Command),用于提供音频通信的处理规范和相应的控制命令,使蓝牙设备可以实现电话通话功能。
选用协议层
包括点对点协议(PPP)、用户数据报协议(UDP)、传输控制协议/互联网协议(TCP/IP)、目标交换协议(OBEX)、无线应用协议(WAP)、无线应用环境(WAE)、VCard、vCal、红外移动通信(IrMC)等协议,主要用于实现蓝牙设备的应用功能。
特点
蓝牙技术具有低功耗、低成本、短距离通信、多点连接、开放接口标准以及抗干扰能力强等特点,这使得它成为一种非常便利的无线通信技术,其特点具体如下:
低功耗
蓝牙技术采用低功耗的通信方式,从而延长设备的使用寿命。蓝牙在连接状态下有四种工作模式,分别是激活模式、呼吸模式、保持模式和休眠模式,激活模式下是正常工作的状态,其他模式均是为了降低蓝牙的功耗所规定的模式。
低成本
随着市场需求的增大,各个供应商均推出自己的蓝牙芯片和模块,使得蓝牙产品价格降低,并且应用到广泛的设备中,如手机、耳机、手表等。
短距离通信
蓝牙使用的是2.4GHz的工作频段,这个频段的特性是传输距离相对较短,且蓝牙的发射功率相对较低,故通信距离一般在10米左右,一般应用到个人设备之间的通信。
多点连接
蓝牙技术可以实现多点连接,蓝牙只有一个主设备,但可以有多个从设备,这些蓝牙设备共同组成皮网,通过时分复用技术,蓝牙主设备可以按照一定的时间顺序参与不同从设备皮网连接,从而达到一个设备可以同时连接多个其他设备的目的。
开放接口标准
蓝牙技术的接口是开放的,任何制造商都可以使用标准的蓝牙接口进行开发。这样就有利于蓝牙设备的互相兼容和交互,同时也促进了蓝牙技术的普及和发展。
抗干扰能力
蓝牙技术具有很强的抗干扰能力,其工作频率在2.4GHz左右,而且采用了频率跳跃技术,可以在不同的频率上进行传输,从而减少了干扰和冲突。此外,蓝牙还采用了自适应功率控制技术,可以根据通信环境的变化动态调整功率,保证了通信质量的稳定性和可靠性。
蓝牙攻击方式
蓝牙攻击有漏洞攻击、蓝牙劫持、蓝牙窃听、拒绝服务、模糊测试攻击以及配对窃听等多种攻击方式,其中漏洞攻击可以分为跳频时钟攻击、PIN码问题攻击、链路密钥欺骗、加密密钥流重复、鉴权过程/简单安全配对中的口令等方式。
漏洞攻击
跳频时钟
蓝牙传输使用自适应跳频技术作为扩频方式,因此在跳频系统中运行的计数器包含 28位、频率为3.2kHz的跳频时钟,使控制指令严格受时钟同步、信息收发定时和跳频控制,从而减少传输干扰和错误。但攻击者往往会通过攻击跳频时钟对跳频指令发生器和频率合成器的工作进行干扰,使蓝牙设备之间不能正常通信,并且利用电磁脉冲较强的电波穿透性和传播广度来窃听通信内容和跳频的相关参数。
PIN码问题
个人识别码(PIN)为四位,它是加密密钥和链路密钥的唯一可信生成来源。两个蓝牙设备在连接时需要用户在设备中分别输入相同的 PIN码才能配对。由于 PIN码较短,使得加密密钥和链路密钥的密钥空间的密钥数限制在 10数量级。在使用过程中,如果用户使用过于简单的PIN码长期不更换PIN码或使用固定内置PIN码的蓝牙设备,则自身更容易受到攻击。
链路密钥欺骗
通信过程中使用的链路密钥通过设备中固定的单元密钥产生,在加密过程中其他信息是公开的,由此可见链路密钥存在较大漏洞。如设备 A和不同设备进行通信时均使用自身的单元密钥作为链路密钥,攻击者利用和 A 进行过通信的设备 C 获取这个单元密,便可以通过伪造另一个和 A 通信过的设备 B 的设备地址计算出链路密,伪装成 B 来通过A的鉴权。B伪装成C亦然。
加密密钥流重复
加密密钥流由 EO算法产生,生成来源包括主体设备时钟、链路密钥等。在特定的加密连接中,只有主设备时钟会发生改变。如果设备持续使用时间超过 23.3 小时,时钟值将开始重复,从而产生一个与之前连接中使用的相同的密钥流。密钥流重复则易被攻击者作为漏洞利用,从而得到传输内容的初始明文。
鉴权过程/简单安全配对中的口令
除使用个人识别码(PIN)进行配对以外,蓝牙标准从 V2.1 版本开始,增加了简单安全配对(Secure Simple Pairing,SSP)方式。SSP方式比之前的PIN码配对更加方便,PIN码配对需要两个有输入模块的配对设备同时输入配对密码,而SSP 只需要有输出模块的两个配对设备确认屏幕上显示的是同一个随机数即可。通过设备搜索建立蓝牙物理连接、产生静态SSP口今、鉴权这三步即可建立连接,但由于SSP方式没有提供中间人攻击保护,静态SSP口令容易被中间人攻破。
蓝牙劫持
蓝牙劫持是在开启蓝牙功能的设备上实施的攻击,例如对智能手机或智能手环的攻击。蓝牙的有效传输距离为10m,即在10m范围内可以搜索到其他正在使用蓝牙功能的便携设备,并向其发送信息。攻击者通过发送未经验证的消息给开启蓝牙功能的设备,对用户发起蓝牙劫持。实际的消息不会对用户的设备造成损害,但可以诱使用户以某种方式进行响应或添加新联系人到设备的地址簿。该消息发送攻击类似于对电子邮件用户进行垃圾邮件攻击和网络钓鱼攻击。
蓝牙窃听
蓝牙窃听可以通过对蓝牙漏洞的攻击来实现。例如蓝牙中的OBEX(OBjectEXchange,对象交换)协议,在早期的蓝牙产品规范中没有强制要求使用鉴权,因此攻击者可以利用此漏洞在被攻击者手机没有提示的情况下连接到被攻击手机,获取对手机内各种多媒体文件以及短信通话记录等文件的增删改的权限,甚至可以通过手机命令拨打接听电话。具有攻击功能的指令代码被黑客写成了手机软件,可在网络上下载。黑客一般会使用图形化界面去操作黑客软件,当和别的手机配对成功后即可获得对方手机的操作权限。
拒绝服务
蓝牙容易受到拒绝服务(DOS)攻击。拒绝服务攻击可能导致被攻击设备的蓝牙接口无法使用或耗尽设备电池。该类型的攻击效果并不显著,且因为需要物理接近才能使用蓝牙,所以通常通过简单的移动,使设备处于有效范围之外即可避免。
拒绝服务(DOS)攻击的原理是在短时间内连续向被攻击目标发送连接请求,使被攻击目标无法与其他设备正常建立连接。蓝牙的逻辑链路控制和适配协议规定了蓝牙设备的更高层协议可以接收和发送64 KB 的数据包,类似于 ping 数据包,针对此特点,攻击者可以发送大量ping数据包占用蓝牙接口,使蓝牙接口不能正常使用。
模糊测试攻击
模糊测试攻击通过发送完全随机的数据包给目标蓝牙设备,以此测试目标蓝牙设备的反应,并根据蓝牙协议规范,对其进行基于协议的漏洞挖掘,精心构造某些特殊格式的数据包发送到蓝牙设备,以挖掘所存在的漏洞。例如,蓝牙协议栈的 L2CAP 包解析漏洞,或采用 DoS攻击的思想,对蓝牙手机连续发送大量的小溢出包,使智能手机计算资源耗尽从而形成DoS攻击漏洞等。
可以通过发送大量的随机构造的数据分组来测试智能终端操作系统的健壮性。每发送完一个随机构造的 L2CAP 信令数据分组,就采用 BlueZ蓝牙协议提供的 L2ping工具测试目标设备的反应。如果 L2ping 无反应或反应异常,就记录下该格式的数据分组。通过分析这些数据分组的共同点,找出目标操作系统的漏洞。
配对窃听
因为低位数字排列组合的方式十分有限,所以蓝牙 V2.0及之前更早版本默认的四位PIN码容易被暴力破解。蓝牙V4.0的LE配对与此同理。击者只要监听到足够的数据,就可以通过暴力破解等方式确定密钥,模拟通信方,实现攻击的目的。
应用领域
随着蓝牙技术发展得越来越成熟,蓝牙技术的应用越来越广泛,包括智能网联汽车领域、数据传输领域、语音传输领域以及智能家居等领域。
智能网联汽车领域
蓝牙技术在智能网联汽车中的应用主要包括车载音频传输、车载电话、车载信息娱乐系统等。通过蓝牙技术,车载设备可以与智能手机或其他蓝牙设备进行连接,实现音频传输和电话功能,同时通过车载信息娱乐系统,也可以通过蓝牙连接实现多种娱乐和信息服务。
数据传输应用领域
蓝牙技术在数据传输应用领域的应用非常广泛。例如,通过蓝牙技术可以将数据从传感器或其他设备传输到智能手机或电脑上,实现数据采集、监控和处理。同时,通过蓝牙技术还可以实现电子钥匙、智能门锁等应用,提高安全性和便利性。
语音传输应用领域
蓝牙技术在语音传输应用领域也有广泛的应用。例如,通过蓝牙耳机或扬声器可以实现手机语音通话和音频播放等功能,而蓝牙话筒则可以应用于会议、语音识别等场景。
智能家居领域
蓝牙技术在智能家居领域中的应用也非常广泛。例如,通过蓝牙技术可以实现家庭音响系统、智能灯光控制系统、智能温度控制系统等应用,实现更智能化、便捷化的家居生活。
发展前景
拓展蓝牙技术的应用领域
蓝牙技术的应用领域要向广度发展。蓝牙技术的第一阶段是支持手机、PDA 和笔记本电脑,接下来的发展方向要向着各行各业扩展,包括汽车、信息加点、航空、消费类电子、军用等。
与更多的操作系统之间兼容
在计算机系统中,若要进一步 提高蓝牙技术的应用,就要将蓝牙兼容技术与计算机操作系统同步发展,除了与 Windows、xp 和 pc 平台兼容外,还要跟进技术水平,例如在 win8 系统的计算机应用中建立支持性,提高蓝牙技术在计算机和相关工程中的应用。另外,在兼容性的技术发展中,要不断的对电子产品的发展方向进行研究,在预见性的规划安排中,提高蓝牙技术的应用能力。
低成本且小巧化
蓝牙技术需要小巧、廉价、结构紧凑、功能强大的芯片来嵌入到电子设备内。近年来,一些公司已经推出用于蓝牙的单芯片,包括可以嵌入电池中的芯片,这表明蓝牙芯片正在朝着小巧化方向发展并且在向着单芯片的方向发展,蓝牙芯片将越来越小巧,价格越来越低。
加强合作开发趋势
蓝牙技术的发展主要得益于通讯技术的支持,在未来的经济建设中,各行各业都需要在信息自动化的应用中提高生产水平,因此,要将蓝牙应用技术与多种行业建立合作 形式。比如在汽车制造中,可以将蓝牙技术设计到汽车的智能化应用系统中,增加汽车的使用功能,通过无线数据的连接,将汽车、计算机、手机和人进行紧密的联系,通过手机等设备的简单操作就可以控制汽车运行系统等,如在手机中下载汽车的开关系统,一是保证了汽车的个人使用安全,二是在忘记开关车门时可以避免回到停车地点复查。
漫游功能
随着蓝牙设备数量的增加,漫游功能将成为一个更加重要的趋势。Commil 技术公司设计的一种可以实现在不同蓝牙人口点之间漫游的系统,使得在蓝牙模式切换时不会中断数据和声音交流。因此,蓝牙的发展趋势之一是朝着支持漫游的方向发展,以为用户提供更好的连接体验。
参考资料
目录
概述
介绍
历史进程
版本与功能
工作原理
蓝牙通信主从关系
蓝牙呼叫过程
蓝牙数据传输应用
系统结构
天线单元
链路控制 (固件) 单元
链路管理(软件) 单元
蓝牙软件(协议栈)单元
蓝牙协议
核心协议层
替代电缆协议层
电话控制协议层
选用协议层
特点
低功耗
低成本
短距离通信
多点连接
开放接口标准
抗干扰能力
蓝牙攻击方式
漏洞攻击
跳频时钟
PIN码问题
链路密钥欺骗
加密密钥流重复
鉴权过程/简单安全配对中的口令
蓝牙劫持
蓝牙窃听
拒绝服务
模糊测试攻击
配对窃听
应用领域
智能网联汽车领域
数据传输应用领域
语音传输应用领域
智能家居领域
发展前景
拓展蓝牙技术的应用领域
与更多的操作系统之间兼容
低成本且小巧化
加强合作开发趋势
漫游功能
参考资料