BLE SMP在连接请求和连接响应阶段,设备使用设备HCI指令协商加密密钥的类型
时间: 2023-12-04 10:01:38 浏览: 30
在BLE SMP连接请求和连接响应阶段,设备使用设备HCI指令协商加密密钥的类型是“LE Start Encryption”(0x2019)指令。该指令用于启动BLE连接的加密流程,并协商连接双方使用的加密密钥类型。其中,加密密钥类型包括“Just Works”、“Passkey Entry”和“Out of Band”等类型。这些密钥类型的具体协商方式和流程在BLE SMP中有详细规定。
相关问题
BLE SMP Server使用哪个HCI指令可以获取到Client端的设备名?
BLE SMP Server无法直接使用HCI指令来获取Client端的设备名。因为HCI指令一般是用于与底层的蓝牙芯片进行通信的,而设备名是应用层的信息。通常情况下,SMP Server可以通过应用层的API或者协议来获取设备名,例如在GAP层中,可以使用`GAP_DeviceDiscoveryRequest()`函数发起设备发现请求,当Client响应时,Server就可以从响应消息中解析出设备名。如果Server需要在连接建立前获取设备名,也可以在连接建立前通过广播包或者扫描响应包中的设备名字段来获取。
BLE SMP两个设备之间同一个会话,当STK和LTK生成完成后,对数据进行加密后发送,接受方怎么知道数据使用的是STK还是LTK加密?建立连接时,协商的方式获取加密密钥的类型,该过程是如何进行的?
在BLE SMP中,建立连接时,设备之间会进行安全连接的协商,协商的过程中会确定加密密钥的类型(STK或LTK)。协商的过程如下:
1. 连接请求和连接响应阶段:在连接请求和连接响应阶段,设备会协商加密密钥的类型,其中连接请求中包括了建议的加密密钥类型,连接响应中会回复实际使用的加密密钥类型。
2. 安全请求和安全响应阶段:在连接请求和连接响应阶段完成后,设备之间会进行安全请求和安全响应阶段,其中会交换加密密钥和其他安全参数。在这个过程中,设备会使用前面协商好的加密密钥类型(STK或LTK)进行加密和解密。
通过上述协商过程,接收方可以获得加密密钥的类型,并确定数据包使用哪种密钥进行加密。在之后的数据传输过程中,接收方通过查看数据包中的MIC长度来确定数据是使用STK还是LTK加密的。