Paring中的STK(short-term key) 与 bonding中的LTK(long-term key)的疑问
在TI官方的一个培训胶片上看到以下内容:
Pairing can be initiated by either the central or peripheral device
•During pairing, the two devices generate and exchange short-term keys (STK) which can be used to decrypt data packets
•In addition, either device can request to enable “bonding” to create a long-term relationship between the two devices
–A long-term key (LTK) is generated, exchanged, and stored allowing device to re-encrypt the link quickly upon re-connection, without going through the complete pairing process once again
–Profile / Service configuration data is remembered, so that the user does not need to re-configure the device every time they re-connect
但是我在1.3.2版本的代码中始终找不到关于STK和LTK配置的代码或说明,是不是1.3.2版本默认只支持LTK,即一次配对默认就绑定了?
还有一个问题,如果配置为STK,配对完成后,如果断开连接后再次连接还会要求配对,但是如果是LTK的话就不需要再次配对了?
史蒂文,
首先,如果你还在用1.3.2,建议请更新到1.4版本。
当然,版本和STL 和 LTK 没有关系。
你的理解是正确的。STK 是配对以后产生的临时key,如果不绑定,只会在这一次连接的时候有用,下一次连接的时候需要重新配对绑定。
LTK,就是Long term key,是绑定之后产生的,并且会保存在NV 里面,下次连接后能继续使用,不再需要重新配对。