1.蓝牙概念2.配对和连接3.机密安全性4.蓝牙协议分类5.蓝牙协议栈
1.蓝牙概念
蓝牙(Bluetooth)是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4~2.485GHz的ISM波段的UHF无线电波)。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线(短程串口)的替代方案。蓝牙可连接多个设备,克服了数据同步的难题如今蓝牙由蓝牙技术联盟(BluetoothSpecialInterestGroup,简称SIG)管理。蓝牙技术联盟在全球拥有超过25000家成员公司,它们分布在电信、计算机、网络、和消费电子等多重领域。IEEE将蓝牙技术列为IEEE802.15.1,但如今已不再维持该标准。蓝牙技术联盟负责监督蓝牙规范的开发,管理认证项目,并维护商标权益。制造商的设备必须符合蓝牙技术联盟的标准才能以"蓝牙设备"的名义进入市场。蓝牙技术拥有一套专利网络,可发放给符合标准的设备
0x1:功率射程
蓝牙是一个标准的无线通讯协议,基于设备低成本的收发器芯片,传输距离近、低功耗。由于设备使用无线电(广播)通讯系统,他们并非是以实际可见的线相连,然而准光学无线路径则必须是可行的。射程范围取决于功率和类别,但是有效射程范围在实际应用中会各有差异
0x2:数据吞吐量
有效射程因传输条件、材料覆盖、生产样本的变化、天线配置和电池状态有关。多数蓝牙应用是为室内环境而设计的,由于墙的衰减和信号反射造成的信号衰落会使得射程远小于蓝牙产品规定的射程范围。多数蓝牙应用是由电池供电的2类设备,无论对方设备是1类或2类,射程差异均不明显,因为射程范围通常取决于低功率的设备(木桶效应)。某些情况下,当2类设备连接到一个敏感度和发射功率都高于典型的2类设备的1类收发器上时,数据链的有效射程可被延长。然而多数情况下,1类设备与2类设备的敏感度是相近的。两个敏感度和发射功率都较高的1类设备相连接,射程可远高于一般水平的100m,取决于应用所需要的吞吐量。有些设备在开放的环境中的射程能够高达1km甚至更高蓝牙核心规范规定了最小射程,但是技术上的射程是由应用决定、且是无限的。制造商可根据实际的用例调整射程
0x3:应用场景
1.1版本
1.2002年获批为IEEE802.15.1标准2.1.0B规格中的许多错误得以修正3.添加了未加密频道的可能性4.接收信号强度指示(RSSI)1.2版本
1.更快的连接和发现2.自适应跳频扩频(AFH),通过避免在跳频序列中使用拥挤的频率,提高了对射频干扰的抵抗3.实际应用中的传输速度相较1.1版本提升,高达721kbit/s4.延伸同步连结(eSCO)通过允许重新发送损坏的封包,提高了音频的音质,还可以选择性的提高音频延迟,以提供更好的并行数据传输5.与三线UART的主机控制器接口(HCI)操作6.2005年获批为IEEE802.15.1标准7.为L2CAP引入了流量控制和传输模式2.0+EDR版本
1.这一蓝牙核心版本发布于2004年。主要不同在于增强数据率(EDR)的推出,它能够实现更快速的数据传输。EDR的标称速率是3Mbit/s,尽管实践中的数据传输速率为2.1Mbit/s2.EDR使用GFSK、相移键控(PSK)调制和π/4-DQPSK、8DPSK两个变量的组合3.EDR可通过减少工作周期提供更低的功耗4.这一规格命名为Bluetoothv2.0+EDR,意谓EDR是选择性的功能5.除了EDR,2.0规格还包括其它一些小的改进。产品无需支持更高速的数据率也可完成蓝牙2.0的合规性认证2.1+EDR版本
1.蓝牙核心规范2.1+EDR是蓝牙技术联盟于2007年7月26日推出的2.2.1最大的特点是安全简易配对(SSP):它为蓝牙设备提高了配对体验,同时也提升了安全性的实际应用和强度3.2.1还包括其他一些改进,包括"延长询问回复"(EIR),在查询过程中提供更多信息,让设备能在连接前更好地进行筛选4.低耗电监听模式(SniffSubrating):它能够在低功耗模式下降低耗电3.0+HS版本
1.蓝牙4.2发布于2014年12月2日。它为IOT推出了一些关键性能,是一次硬件更新。但是一些旧有蓝牙硬件也能够获得蓝牙4.2的一些功能,如通过固件实现隐私保护更新2.低功耗数据包长度延展3.低功耗安全连接4.链路层隐私权限5.链路层延展的扫描过滤策略6.BluetoothSmart设备可通过网络协议支持配置文件(InternetProtocolSupportProfile,简称IPSP)实现IP连接7.IPSP为BluetoothSmart添加了一个IPv6连接选项,是互联家庭和物联网应用的理想选择8.蓝牙4.2通过提高BluetoothSmart的封包容量,让数据传输更快速9.业界领先的隐私设置让BluetoothSmart更智能,不仅功耗降低了,窃听者将难以通过蓝牙联机追踪设备RelevantLink:
2.配对和连接
1.蓝牙所能提供多很多服务都可能显示个人数据或受控于相连的设备。出于安全上的考量,有必要识别特定的设备,以确保能够控制哪些设备能与蓝牙设备相连的2.同时,蓝牙设备也有必要让蓝牙设备能够无需用户干预即可建立连接(比如在进入连接范围的同时)3.为解决该矛盾,蓝牙使用一种叫bonding(连接)的过程。Bond是通过配对(paring)过程生成的。配对过程通过或被自用户的特定请求引发而生成bond(比如用户明确要求"添加蓝牙设备"),或是当连接到一个出于安全考量要求需要提供设备ID的服务时自动引发。这两种情况分别称为dedicatedbonding和generalbonding4.配对通常包括一定程度上的用户互动,已确认设备ID。成功完成配对后,两个设备之间会形成Bond,日后再再相连时则无需为了确认设备ID而重复配对过程。用户也可以按需移除连接关系0x1:实施
在蓝牙2.1版本推出安全简易配对(SecureSimplePairing)之后,配对机制有了很大的改变
1.旧有配对
这是蓝牙2.0版及其早前版本配对的唯一方法。每个设备必须输入PIN码;只有当两个设备都输入相同的PIN码方能配对成功。任何16-比特的UTF-8字符串都能用作PIN码。然而并非所有的设备都能够输入所有可能的PIN码
这是蓝牙2.1版本要求的,尽管蓝牙2.1版本的也许设备只能使用旧有配对方式和早前版本的设备互操作。安全简易配对使用一种公钥密码学(publickeycryptography),某些类型还能防御中间人(maninthemiddle,简称MITM)攻击。SSP有以下特点
1.主机就是能够搜索别人并主动建立连接的一方2.从机则不能主动建立连接,只能等别人连接自己3.主从一体就是能够在主机和从机模式间切换,即可做主机也可作从机RelevantLink:
3.机密安全性
0x1:风险
蓝牙技术有它的优势,但它易遭受基于通信协议的网络攻击
1.拒绝服务攻击2.窃听3.中间人攻击4.消息修改5.资源滥用0x2:Bluejacking
RelevantLink:
4.蓝牙协议分类
0x1:HFP(Hands-freeProfile)
0x2:HSP
0x3:A2DP
A2DP全名是AdvancedAudioDistributionProfile(蓝牙音频传输模型协定),A2DP是能够采用耳机内的芯片来堆栈数据,达到声音的高清晰度。有A2DP的耳机就是蓝牙立体声耳机。声音能达到44.1kHz,一般的耳机只能达到8kHz。如果手机支持蓝牙,只要装载A2DP协议,就能使用A2DP耳机了。还有一般所说的技术参数提到蓝牙V1.0V1.1V1.2V2.0——这些是指蓝牙的技术版本,是指通过蓝牙传输的速度,他们是否支持A2DP具体要看蓝牙产品制造商是否使用这个技术
0x4:AVRCP
1.AVRCP(Audio/VideoRemoteControlProfile),也就是音频/视频远程控制规范2.AVRCP设计用于提供控制TV、Hi-Fi设备等的标准接口。此配置文件用于许可单个远程控制设备(或其它设备)控制所有用户可以接入的A/V设备。它可以与A2DP或VDP配合使用3.AVRCP定义了如何控制流媒体的特征。包括1)暂停2)停止3)启动重放4)音量控制5)其它类型的远程控制操作4.AVRCP定义了两个角色1)控制器:控制器通常为远程控制设备,控制器将检测到的用户操作翻译为A/V控制信号,然后再将其传输至远程Bluetooth设备。对于"随身听"类型的媒体播放器,控制设备可以是允许跳过音轨的耳机2)目标设备:目标设备为特征可以更改的设备。在AVRCP中,目标设备则是实际的播放器。常规红外遥控器的可用功能可以在此协议中实现5.AVRCP协议规定了AV/C数字接口命令集的应用范围,实现了简化实施和易操作性。此协议为控制消息采用了AV/C设备模式和命令格式,这些消息可以通过音频/视频控制传输协议(AVCTP)传输0x5:OPP
蓝牙通信程序部分需采用用于设备之间传输数据对象OPPProfile:ObjectPushProfile由于OPPprofile又细分为OPPC(client)端和OPPS(server)端profile,这两个profile区别在于只有client端可以发起数据传输的过程,但是附件设备与手机通信的情景中,既有手机发起数据传输请求也有设备侧发起传输请求的需要,所以要在设备中实现OPPC和OPPS两个profile
0x6:PBAP
5.蓝牙协议栈
蓝牙协议规范遵循开放系统互连参考模型(OSI/RM),从低到高地定义了蓝牙协议堆栈的各个层次。SIG所定义的蓝牙技术规范的目的是使符合该规范的各种应用之间能够实现互操作。互操作的远端设备需要使用相同的协议栈,不同的应用需要不同的协议栈。但是,所有的应用都要使用蓝牙技术规范中的数据链路层和物理层
0x1:协议栈架构
完整的蓝牙协议栈如下图所示,不是任何应用都必须使用全部协议,而是可以只使用其中的一列或多列
蓝牙的核心协议由基带,链路管理,逻辑链路控制与适应协议和服务搜索协议等4部分组成
1.蓝牙核心协议介绍
RFCOMM是基于ETSI-07.10规范的串行线仿真协议。它在蓝牙基带协议上仿真RS-232控制和数据信号,为使用串行线传送机制的上层协议(如OBEX)提供服务
1.文件传输模式
文件传输模式提供两终端间的数据通信功能,可传输后缀为.xls、.ppt、.wav、.jpg和.doc的文件等,以及完整的文件夹、目录或多媒体数据流等,提供远端文件夹浏览功能