蓝牙规范 Core v5.2 GAP 文档解读第13-16章 BR/EDR/LE双模的操作和安全方面、蓝牙设备要求、定义

13 BR/EDR/LE双模的操作

BR/EDR的物理传输和LE的物理传输,同时两个物理传输到同一个远程设备是可选的(不一定同时)。

可发现模式的需求
受限和通用可发现模式都要通过使用广播Flag AD Type将两种物理传输能力都暴露出来:
a) Flags AD type中的‘BR/EDR Not Supported’ bit 应设置为0
b) Flags AD type中的‘Simultaneous LE and BR/EDR to Same Device Capable
    (Controller)’和‘Simultaneous LE and BR/EDR to Same Device
    Capable (Host)’都应设置为0
LMP特征中的‘LE Supported (Controller)’和‘LE Supported (Host)’应按照[Vol 2] Part C, Section 3.2的定义进行设置。

确定BR/EDR物理传输和LE物理传输是否建立到同一对等设备,设备应使用LE广播物理通道上使用的公共地址,或使用SMP身份地址信息包([Vol 3] Part H, Section 3.6.5)中包含的BD_ADDR字段的公共地址(如果已收到该信息包)。

 

14 BR/EDR/LE双模的安全方面

跨传输密钥派生

如果本地和远程设备都支持通过BR/EDR和LE传输的安全连接,设备可以有选择地为两个传输生成具有相同强度和相同MITM保护的密钥,作为单个配对过程的一部分(参见[Vol 3] Part H, Section
2.3.5.7)。

在执行跨传输密钥派生时,如果其他传输的密钥已经存在,则设备不应使用强度或MITM保护较弱的密钥覆盖该现有密钥。如果BR/EDR链接密钥是由一个不执行远程公钥验证的控制器生成的(参见[Vol 2] Part H, Section 7.6),那么不应使用跨传输密钥派生从这样的BR/EDR链接密钥生成LE LTK。

注意:主机可以使用HCI_Read_Local_Simple_Pairing_Options命令(参见[Vol 4] Part E, Section 7.4.9)或供应商特定的方法来确定控制器是否执行远程公钥验证。

如果使用HCI_LE_Generate_DHKey命令(见[Vol 4] Part E, Section 7.8.37)生成的LE LTK是由不执行远程公钥验证的控制器生成的(见[Vol 3] Part H, Section 2.3.5.6.1),那么不应使用跨传输密钥派生从这样的LE LTK生成BR/EDR链接密钥。

注意:主机可以使用Remote Public Key Validation feature bit(参见[Vol 6] Part B, Section 4.6)或供应商特定的方法来确定HCI_LE_Generate_DHKey命令是否执行远程公钥验证。

 

冲突处理

如果配对已经由BR/EDR传输上的本地设备发起,并且从LE传输上的同一个远程设备接收到配对请求,则在双方都支持LE安全连接的情况下,将使用SMP错误代码BR/EDR配对进行中(0x0D)拒绝LE配对。

如果一个BR/EDR/LE设备支持LE安全连接,那么它应该一次只在一个传输上启动对同一个远程设备的配对。

 

15 蓝牙设备要求

蓝牙设备地址

所有蓝牙设备都应该有一个蓝牙设备地址(BD_ADDR),该地址具有唯一性。特定的蓝牙设备地址要求取决于蓝牙设备的类型。

蓝牙设备地址类型公有蓝牙地址蓝牙公有地址用于BR/EDR物理通道的BD_ADDR([Vol 2] Part B, Section 1.2)
蓝牙公有地址用于LE物理通道的BD_ADDR([Vol 6] Part B, Section 1.3)
随机蓝牙地址随机设备地址用于LE物理通道的BD_ADDR(见LE安全)

 

GATT协议要求

 BR/EDR
GAP角色
LE
广播者
LE
观察者
LE
外围设备
LE
中心设备
GATT ClientOEEOO
GATT ServerC1EEMM
C1: 如果在BR/EDR物理传输上支持GATT协议,则为M,否则为E。

 

SDP要求

 BR/EDR设备
BR/EDR/LE双模设备
LE-Only设备
SDP ClientC1E
SDP ServerC1 or C2E
C1: SDP Client和SDP Server至少支持一个为M,两个都支持为O。
C2: 如果支持GATT server,则为M,否则为O。

 

SDP服务记录要求

支持通过BR/EDR物理传输访问GATT服务器的BR/EDR或BR/EDR/LE设备应发布表15.3中所示的SDP记录。GAP Start Handle应设置为«Generic Attribute Profile»服务声明的属性句柄。GAP End Handle应设置为«Generic Attribute Profile»服务定义组中最后一个属性的属性句柄。

如果一个BR/EDR或BR/EDR/LE设备在BR/EDR传输上支持基于GATT的服务,该服务应存在于SDP服务器和GATT服务器中。

 

16 定义

通用定义

模式:一组指示,定义设备如何响应某些事件。

空闲:从远程设备上来看,当没有链接建立时,蓝牙设备处于空闲状态,或者处于空闲模式。

绑定(Bond:两个蓝牙设备之间的一种关系,通过创建、交换和存储一个公共链接密钥来定义。绑定是通过绑定过程或LMP配对过程创建的。

连接相关定义

物理通道:一个同步的蓝牙基带兼容射频跳频序列。

微微网:共享由主参数(时钟和BD_ADDR)定义的相同物理通道的一组蓝牙设备。

物理链路:在两个设备之间使用paging建立的一种基带级连接。一个物理链路包含物理通道上的一个传输槽序列,该传输槽在master传输槽和slave传输槽之间交替。

ACL链接:在LMP级别创建的两个设备之间的异步(包交换)连接。ACL链接上的流量使用ACL包进行传输。

SCO链接:预留带宽通信的同步(电路交换)连接。例如,两个设备之间的声音,通过在一个物理通道上定期预留插槽而在LMP级别创建SCO链接。SCO链接上的流量使用SCO数据包进行传输。只有先建立ACL链接,才能建立SCO链接。

链接:ACL链接的简写

PAGE:一种基带状态,设备在该状态中传输寻呼序列,并处理对寻呼序列的任何最终响应。

PAGE_SCAN:一种基带状态,设备在该状态中侦听寻呼序列。

寻呼(Page):一个设备的寻呼序列的传送,寻呼序列包含所请求的物理链路的设备的设备访问码。

寻呼扫描(Page Scan):一个设备对寻呼序列的监听,寻呼序列包含自己的设备访问码。

通道:两个设备之间在L2CAP级别上的逻辑连接,为单个应用程序或更高层协议服务。

连接(Connection):两个对等应用程序或映射到通道上的更高层协议之间的连接。

连接(Connecting):设备之间建立连接时的通信阶段。(连接阶段在链接建立阶段完成之后。)

连接(到服务):建立到服务的连接。如果还没有建立物理链路、建立链接和建立通道,也要包括这些的建立。

设备相关定义

可发现设备:一个范围内的蓝牙设备可以响应查询(通常除了响应寻呼之外)。

静默设备:如果蓝牙设备不响应远程设备所做的查询,则对远程设备来说,该蓝牙设备表现为静默。设备可能由于不可发现或基带堵塞而处于静默状态。

可连接设备:范围内的蓝牙设备可以响应寻呼。

信任的设备:一个已配对的设备明确标记为是信任的。

配对的设备:已交换过链接密钥的蓝牙设备(在请求建立连接之前或在连接阶段)。

之前配对的设备:一个蓝牙设备,在建立链路之前,与之交换链接密钥,并存储链接密钥。

未配对的设备:一个蓝牙设备,在请求建立连接之前没有可用的交换的链接密钥。

已知设备:至少存储了设备的BD_ADDR。

未知设备:没有存储蓝牙设备的任何信息(BD_ADDR、链接密钥或其它)。

认证的设备:一个蓝牙设备,其身份已在当前链接的生存期内根据认证过程经过验证。

过程相关定义

寻呼(Paging):在基带级别上建立ACL类型的物理链路的过程,包括发起者的寻呼动作和响应设备的寻呼扫描动作。

链接建立:在LMP级别上建立链接的过程。当两个设备都同意LMP设置完成时,链接就建立起来了。

通道建立:在L2CAP级别上建立通道的过程。

连接建立:用于创建映射到通道上的连接的过程。

建立信任关系:远程设备被标记为信任设备的过程。过程包括为将来的认证和配对存储公共链接密钥(如果链接密钥不可用)。

建立安全连接:建立连接的过程,包括认证和加密。

设备发现:从可发现设备中检索蓝牙设备地址、时钟、设备类别字段和使用的寻呼扫描模式的过程。

名字发现:检索可连接设备的用户友好名称(蓝牙设备名称)的过程。

服务发现:查询和浏览其他蓝牙设备提供的服务的过程。

安全性相关定义

认证:一个通用过程,如果链接密钥存在,则基于LMP-认证;如果不存在链接密钥,则基于LMP-配对。

LMP-认证:用于验证远程设备身份的LMP级别的过程。该过程基于挑战-应答机制,使用随机数、密钥和非发起设备的BD_ADDR。使用的密钥可以是以前交换过的链接密钥。

授权(Authorization):蓝牙设备的用户授权特定(远程)蓝牙设备访问特定服务的过程。授权意味着远程设备的身份可以通过认证过程验证。

授权(Authorize):授权特定蓝牙设备访问特定服务的行为。它可能基于用户确认,或基于给定存在的信任关系。

LMP-配对:一种基于PIN对两个设备进行认证的过程,之后创建一个公共链接密钥,该密钥可以用作信任关系或(单个)安全连接的基础。该过程包括以下步骤:创建初始化密钥(基于随机数和PIN),创建和交换公共链接密钥,以及基于公共链接密钥的LMP-认证。

绑定(Bonding):用于执行第一次认证的专用过程,其中创建并存储一个公共链接密钥以供将来使用。

信任(Trusting):将已配对的设备标记为受信任的。信任标记可以由用户完成,也可以在成功配对后由设备自动完成(例如在可绑定模式下)。

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值