Bluetooth技术学习笔记 ——GAP之安全(LE)

4-7-8呼吸法:先用舌头抵住上颚,用瑜伽式呼吸,吸气4秒,屏气7秒,呼气8秒。如此循环3到4次,有惊喜出现。
core_v5.0 vol 3. Part C
LTK:Long Term Key
STK:Short Term Key

目录

  1. LE安全概述
  2. 安全模式
  3. 鉴权过程
  4. 隐私特性
1. LE安全概述

不同的设备、服务以及服务请求有着不同的安全模式和等级需求。LE安全模式分为LE安全模式1LE安全模式2。安全模式1的安全等级包括:等级1、等级2,等级3和等级4。安全模式2的安全等级包括等级1和等级2。

LE安全过程为:鉴权过程、授权过程、数据签名连接过程。
 

2. 安全模式

(1)安全模式1
(2)安全模式2
(3)混合安全模式需求
(4)Secure Connections Only mode
 

3. 鉴权过程

鉴权过程发起时刻:在连接建立之后,发起或收到服务请求时。
鉴权过程通过使能加密实现。鉴权类型:authenticated pairing 、unauthenticated pairing。

  • authenticated pairing:配对过程中,鉴权设置为“MITM protection”。
  • unauthenticated pairing:配对过程中,鉴权设置为“No MITM protection”。

(1) 响应服务请求
当本地设备收到了服务请求,其行为见下表:
在这里插入图片描述

(2) 发起服务请求
当本地设备发起服务请求,其行为:

  • 本地设备的安全数据库描述了发起服务请求的安全需求。若不需要加密,则不需要进行加密和配对。
  • 若需要加密,LTK无效,需发起配对过程。若配对失败,则丢弃服务请求。
  • 若已配对,但安全秘钥大小是无效的,则需要发起配对过程。
  • 若需要加密,LTK有效,则在发起服务请求前,使能安全。若远程设备绑定不存在,或连接上了错误的设备,则需要在确认远程设备后,进行重新绑定,执行服务发现和重配远程设备。
  • 若需要authenticated pairing,且已存在unauthenticated pairing,链路已被加密,则需执行authenticated pairing的配对过程。
  • 若两个设备处于绑定模式,任何重连都需要本地设备在发起服务请求前,发起加密请求。
  • 若本地设备在发起服务请求前未使能加密其安全需求依赖于错误码,则在收到远端设备的“Insufficient Authentication”时,不需要发起authenticated pairing
  • 在发起服务请求时,若满足:①未使能加密;②收到了“Insufficient Authentication”或“Insufficient Encryption”;③ 本地设备存在一个LTK,则需要发起加密过程;若加密失败或本地设备没有LTK,则需要发起配对过程。
     
4. DATA SIGNING

数字签名,略。
 

5.AUTHORIZATION PROCEDURE

略。
 

6.ENCRYPTION PROCEDURE

加密过程,略。
 

7. 隐私特性(Privacy feature)

隐私特性包括两种模式:设备隐私模式和网络隐私模式。

  • 设备隐私模式:若远端设备的广播数据携带Identity AddressPrivate Address,则处于该模式的设备可接收此广播数据。若对端的GAP服务不支持Resolvable Private Address Only characteristic,则设备只能采用该模式。
  • 网络隐私模式:若远端设备广播的identity Address相关IRK已被分发,则处于该模式的设备不接收该广播消息。

设备支持的隐私类型:基于Host的隐私或基于Host和Controller的隐私。若设备支持基于Controller的隐私,需要满足以下条件:

  • Host可能需要通过添加或删除设备标识来维护一个可解析地址列表。设备标识包括:对端Identity Address本地/对端 IRK对
  • 若配对时远端设备提供了一个全0的identity address,则Host需要选择一个唯一的身份标识来替代对端提供的全0的identity address。即Host需要确保配置给Controller远端设备标识的唯一性。

(1) 外围设备的隐私特性

     若外围设备处于连接模式,则使用可解析私有地址作为广播者的设备地址。
     若外围设备处于非连接模式,则使用可解析私有地址不可解析私有地址作为广播者的设备地址。

     若已stored bond的设备收到了一个可解析私有地址,Host可执行resolvable private address resolution过程来解析该地址。若解析成功,Host可接收该连接;若解析失败,Host断开连接,或携带错误码“Authentication failure”,或执行配对过程,或执行鉴权过程。

❤❤ 基于Controller的隐私特性:

  • 可使用非直连模式直连模式。只有当对端设备的Controller支持地址解析时,才可使用直连模式。
  • 若私有地址被Controller解析或生成,则默认为网络隐私模式

❤❤ 基于Host的隐私特性:

  • 可使用非直连模式来进行连接。
  • 可使用**‘resolvable private address generation过程**或“‘non-resolvable private address generation过程”来生成解析地址。
  • Host设置定时器TGAP(pravited_addr_int)。当该定时器超时时,生成新的可解析私有地址或不可解析私有地址。若边缘设备不发广播,可不运行该定时器。

(2) 中心设备的隐私特性
     中心设备使用可解析私有地址作为发起者的设备地址。
     主动扫描时,中心设备使用可解析私有地址不可解析私有地址

     若已stored bond的设备收到了一个可解析私有地址,Host可执行resolvable private address resolution过程来解析该地址。若解析成功,Host可接收该连接;若解析失败,Host断开连接,或携带错误码“Authentication failure”,或执行配对过程,或执行鉴权过程。

❤❤ 基于Controller的隐私特性:

  • 若Controller使能了地址解析,则可使用任何连接过程进行连接。
  • 若私有地址被Controller解析或生成,则默认为网络隐私模式

❤❤ 基于Host的隐私特性:

  • 基于Host的隐私特性只能使用通用连接过程进行连接。
  • Host设置定时器TGAP(pravited_addr_int)。当该定时器超时时,生成新的可解析私有地址或不可解析私有地址。若中心设备未扫描或处于未连接状态时,可不运行该定时器。

(3) 广播者的隐私特性
     广播者可使用可解析地址或不可解析地址。

     若Controller不支持或未使能地址解析功能,则Host设置定时器TGAP(pravited_addr_int)。当该定时器超时时,生成新的可解析私有地址或不可解析私有地址。若广播者不发广播,可不运行该定时器。

     广播数据中不携带可识别设备的信息,如设备名字,标识。

(4) 观察者的隐私特性
     主动扫描时,观察者可使用可解析地址或不可解析地址。

     若Controller不支持或未使能地址解析功能,则Host设置定时器TGAP(pravited_addr_int)。当该定时器超时时,生成新的可解析私有地址或不可解析私有地址。若观察者,可不运行该定时器。

猜你喜欢

转载自blog.csdn.net/u012800825/article/details/89221332
今日推荐