配置
角色
配置文件定义了两个角色:快速配对查找器和快速配对提供程序。定位器通常是一部手机,需要查找与之配对的设备。提供方是一台设备,用于宣传其存在的情况和已准备好配对的情况(例如一对可发现的耳机)。
快速配对寻找者应使用 GAP 中心角色。快速配对提供程序应使用 GAP 外围设备角色。
设备发现
为方便设备发现,快速配对服务提供商应通告表明支持 Google 快速配对服务的载荷(如下所述)。快速配对查找工具应定期扫描并观察是否存在快速配对提供程序广告帧,并在需要时采取措施。
模型 ID
每个提供方模型都有一个 24 位模型 ID,该 ID 由 Google 在模型注册期间提供。
发射功率
提供程序设备应以低传输功率 (TxPower) 进行通告,以限制所通告的设备的暴露。不过,功率应足够高,使广告在至少 1 米外的任何手机都能看到。
如需确定邻近度,快速配对寻找器必须知道快速配对提供程序的传输功率。在此配置文件中,TxPower 定义为在来源(0 米)处接收的信号强度,以 dBm 为单位(这与 Eddystone 定义的信号强度相同)。
此衡量值应使用以下方法之一进行传输:
- 包含在广告记录中
- 设备包含 Tx Power Level 数据类型,ibid。第 1.5 条的规定)。
- 在模型注册期间提供
- 制造商在模型注册期间向 Google 提供发射功率以及用于测量它的设备型号。
- 使用此选项时,设备必须保证所有广播的发射功率恒定,以便测量距离准确。
密钥:反仿冒公钥/私钥对
注册模型后,连同模型 ID 一起,Google 将分发一个 256 位反欺骗私钥(一个位于 secp256r1 椭圆曲线上的 [1,n–1] 中的一个整数)。此密钥应保存在提供方设备上,且最好存储在安全元件 (SE) 内。请注意,强烈建议使用安全元件;如果没有安全元件,则无法保证攻击者无法伪造提供方角色,因为私钥可能会泄露。此密钥泄露让攻击者有可能在中间进行攻击;因此,如果检测到假冒或滥用情况,就可能会停用使用此密钥的快速配对功能(例如,在提供商处于配对模式时发出“点按即可配对”通知)。
提供方当前未使用相应的反欺骗公钥。Seek 使用它来加密要发送给提供程序的消息(请参阅基于密钥的配对)。
键:帐号键列表
提供程序应分配空间来存储 128 位帐号密钥的持久列表。每个帐号密钥都允许提供方被识别为属于某个用户帐号。
列表必须能够存储至少 5 个键(即,至少有 80 字节的空间专用于此列表)。提供程序可以选择存储更多此类数据,只需确保密钥能够容纳在其广告包中即可。可以存储的确切数量取决于广告包中可用的可用字节数;如需详细了解如何确定每个键占用的字节数,请参阅帐号密钥过滤器部分。例如,若要通告 10 个帐号密钥,需在数据包中提供 15 个字节。但对于个人设备(如耳机),帐号密钥数不应大于 5。这是为了避免帐号密钥变得过大,从而使其具有唯一性且可跟踪。
此列表最初为空,且在提供程序恢复出厂设置(如果用户清除其配对的设备列表)时必须清除。按照帐号密钥特征部分中的说明填充列表。
BLE 地址信息
为防止进行跟踪,BLE 广告应使用随机的可解析私有地址 (RPA)。地址应至少每 15 分钟轮替一次(当设备处于活跃通告状态时,且每当状态从不广播更改为广播时)。应使用随机偏移来更改地址随机间隔。
属性协议 (ATT) MTU 大小协商
您应尽可能使用 ATT 最大传输单元 (MTU) 值 83,但允许使用默认值 23。