5. BLE 配对机制

BLE 的配对过程是在 Master 和 Slave 建立连接之后由 Master 发起的,Slave 负责响应,但 Slave 也可以主动请求 Master 发起配对过程。

配对的最终目的是产生一个对称密钥,这样 Master 和 Slave 之间传递的消息就能够加密、认证,从而防止监听篡改中间人攻击

5.1. 密码学基础

需要了解对称密钥,DH(diffile-hellman)密钥交换算法,ECDH(椭圆曲线diffile-hellman)密钥交换算法,消息认证码,认证加密 CCM 。

学习:BLE安全机制从入门到放弃

5.2. SMP

配对特性交换

学习:Bluetooth Pairing Part 1 – Pairing Feature Exchange

TK 交换方式

TK(Temporary Key) 是临时密钥,由 Master 和 Slave 相互协商得到,共有 4 种:

  • Just Works

  • Passkey

  • Out-of-Band(OOB)

  • Numeric Comparison

学习:Bluetooth Pairing Part 2 Key Generation Methods

Just Works

在此模式下,TK 为固定值 0000,此时的配对没有任何安全性可言,仅仅能够工作。

Passkey

Passkey:通常为手动输入一串 TK 数字,这样 Central 和 Peripheral 就能够拥有相同的 TK 了,可以一端显示另一端输入,也可以两端同时输入。

学习:Bluetooth Pairing Part 3 – Low Energy Legacy Pairing Passkey Entry

https://i.loli.net/2021/03/14/uJUZodDFSycNHXL.png

Out-of-Band(OOB)

OOB:Out-of-Band,翻译过来就是带外,使用非 BLE 技术传输配对信息,例如 NFC、QRCode 。

学习:Bluetooth Pairing Part 5: Legacy Pairing – Out of Band

Numeric Comparison

Numeric Comparison:Central 和 Peripheral 通过 DCEH 密钥配送技术得到保证机密性,然后两端同时输出配对码,等待使用者确认配对码是否匹配。

学习:Bluetooth Pairing Part 4: Bluetooth Low Energy Secure Connections – Numeric Comparison

https://i.loli.net/2021/03/14/Z3VXv4e6Y9PtTBf.png

5.3. 配对业务总结

https://i.loli.net/2021/03/14/f4GvdaUztITgH56.png