一种更优雅的蓝牙配对技术 - Cross-transport key derivation (CTKD)
蓝牙CTKD是蓝牙4.2版本引入的一种交叉传输密钥派生的安全机制,全称 Cross-transport key derivation,主要用在蓝牙双模设备上,它可以跨越BLE和BT的边界,通过将BLE配对生成的LTK转化成BT配对的LinkKey,从而直接实现BT的配对,当然也可以通过BT配对生成的LinnkKey转化成BLE的LTK来实现BLE的配对,目前我们主要研究和使用前者。通过CTKD可以通过一次配对将BT和BLE两个链路都配对上,从而提升蓝牙双模设备的配对体验。
PS: 虽然蓝牙4.2就支持CTKD特性,但是在引入CTKD特性的时候,有一些安全风险https://www.bluetooth.com/learn-about-bluetooth/key-attributes/bluetooth-security/blurtooth/, 所以在蓝牙5.1版本中加入了对CTKD的限制,解决了该问题,所以建议在蓝牙5.1版本后使用CTKD特性。
应用场景
主要应用在蓝牙双模设备上,如蓝牙耳机、蓝牙手表上,通过手机APP连接BLE,并通过BLE的配对转化生成BT的配对密钥,从而实现一次配对完成BT和BLE的配对,提升双模产品的配对体验。
蓝牙设备端要求
- BT和BLE的MAC地址必须保持一致。
在蓝牙核心规范中CTKD的介绍中并没有直接说明BT和BLE的MAC地址要保持一致,但是在分析蓝牙配对绑定的流程中发现双方只在BL