BLE SMP Security Request的作用
时间: 2023-06-26 17:04:07 浏览: 143
BLE SMP Security Request是用于启动安全连接的命令。它通常由主设备发送给从设备,以请求进行安全连接。在BLE连接中,安全连接是通过建立安全关系来保护通信的机密性、完整性和可用性。在进行BLE通信之前,主设备和从设备需要先进行身份验证,并且协商出一套加密和认证算法来保护通信的安全。BLE SMP Security Request命令就是用于引导这个安全连接过程的。
相关问题
BLE SMP CSRK生成过程
BLE SMP(Secure Connections Pairing)协议中,CSRK(Connection Signature Resolving Key)是用于加密和解密数据包的密钥。下面是CSRK的生成过程:
1. 确定参与配对的两台设备的公钥和私钥。
2. 通过公钥交换算法,双方交换并验证对方的公钥,确保双方公钥的合法性和真实性。
3. 确定随机数r1和r2。
4. 将r1和r2以及双方的公钥按照一定规则进行计算,生成CSRK。
具体的计算方法是,将r1和r2按照一定的规则转换成两个256位的数值,然后将这两个数值与双方的公钥进行异或运算,再将结果进行SHA-256哈希运算,即可得到128位的CSRK。
5. 双方将CSRK保存在本地,用于加密和解密数据包。
需要注意的是,CSRK只能用于加密和解密数据包,不能用于身份验证。在BLE SMP协议中,身份验证需要使用配对过程中生成的Long Term Key(LTK)。
BLE SMP DIV的生成方式
BLE SMP DIV是由Master和Slave设备在进行安全连接时生成的一种用于加密通信的随机数。具体生成方式如下:
1. Master设备和Slave设备各自生成一个随机数,分别称为RANDm和RANDs。
2. Master设备将自己的RANDm和Slave设备的RANDs发送给Slave设备,Slave设备将自己的RANDs和Master设备的RANDm也发送给Master设备。
3. Master设备和Slave设备使用自己的RANDm和RANDs以及另一方发送的RAND来生成一个共享的密钥,生成方式为:SMP DIV = E(RANDm || RANDs || RAND)。
其中,E为加密函数,“||”表示连接操作符,RAND为两个随机数的异或结果。
4. 生成SMP DIV后,Master设备和Slave设备就可以使用该密钥进行加密通信了。
阅读全文