BLE SMP两个设备之间同一个会话,当STK和LTK生成完成后,当前加密该选择使用STK还是LTK?为什么?
时间: 2024-03-04 11:51:36 浏览: 209
在BLE SMP中,当STK和LTK生成完成后,当前加密应该选择使用LTK而不是STK。
原因如下:
- STK只用于临时安全连接,而LTK用于长期加密连接。
- LTK使用AES-CCM算法加密,在安全性和性能方面都比STK更可靠。
- 使用LTK可以提高连接的稳定性和安全性。如果使用STK进行加密,则在重新连接时需要重新生成STK,这可能会导致连接中断或不稳定。
因此,当STK和LTK生成完成后,建议使用LTK进行加密。
相关问题
BLE SMP两个设备之间同一个会话,当STK和LTK生成完成后,对数据进行加密后发送,接受方怎么知道数据使用的是STK还是LTK加密?
在BLE SMP中,接收方可以通过查看数据包中的MIC(Message Integrity Check)的长度来确定数据是使用STK还是LTK加密的。
具体来说,数据包中的MIC字段长度是根据加密密钥的长度来确定的,如果使用的是STK,则MIC的长度为8个字节,如果使用的是LTK,则MIC的长度为4个字节。因此,接收方可以通过判断MIC的长度来确定数据是使用STK还是LTK加密的。
此外,接收方在连接建立时也可以通过协商的方式获取加密密钥的类型(STK或LTK),从而知道数据包使用哪种密钥进行加密。
BLE SMP 一个会话中,STK和LTK在使用上有什么区别?
在BLE SMP的一个会话中,STK和LTK在使用上有以下区别:
1. STK只在连接过程中使用,用于进行身份验证和启动加密过程。而LTK则在连接过程中一直使用,用于加密传输的数据。
2. STK是一个短期密钥,每次连接都会生成新的STK。而LTK是一个长期密钥,一旦生成后就会一直使用,直到连接终止或者双方重新协商生成新的LTK。
3. STK的长度为128位,与LTK相同。但是,STK是由主机生成的,而LTK是由双方共同生成的。
4. STK只用于加密和身份验证,不会用于解密。而LTK可以用于加密和解密。
总之,STK和LTK在使用上有一些区别,但都是BLE SMP中非常重要的安全机制,用于保证BLE设备之间的数据传输安全性。
阅读全文