BLE SMP两个设备之间同一个会话,当STK和LTK生成完成后,对数据进行加密后发送,接受方怎么知道数据使用的是STK还是LTK加密?建立连接时,协商的方式获取加密密钥的类型,该过程是如何进行的?
时间: 2024-03-04 19:51:36 浏览: 59
Android低功耗蓝牙数据透传发送接受Ble.zip
5星 · 资源好评率100%
在BLE SMP中,建立连接时,设备之间会进行安全连接的协商,协商的过程中会确定加密密钥的类型(STK或LTK)。协商的过程如下:
1. 连接请求和连接响应阶段:在连接请求和连接响应阶段,设备会协商加密密钥的类型,其中连接请求中包括了建议的加密密钥类型,连接响应中会回复实际使用的加密密钥类型。
2. 安全请求和安全响应阶段:在连接请求和连接响应阶段完成后,设备之间会进行安全请求和安全响应阶段,其中会交换加密密钥和其他安全参数。在这个过程中,设备会使用前面协商好的加密密钥类型(STK或LTK)进行加密和解密。
通过上述协商过程,接收方可以获得加密密钥的类型,并确定数据包使用哪种密钥进行加密。在之后的数据传输过程中,接收方通过查看数据包中的MIC长度来确定数据是使用STK还是LTK加密的。
阅读全文