蓝牙中的密码交换协议SRP——secure remote password

SRP是一个基于口令的身份认证和密钥交换协议。SRP的优点在于,认证过程中不会有密钥明文传递的现象,用户只需要持有口令即可,此外,服务端存储的非用户的口令,而是与口令相关的信息,即便服务器被敌手俘获,敌手也无法伪造一个合法的客户端(无法拿到口令) 从而保证了双方的安全。

对于一个不依赖外部特定条件,而又需要简单安全的密码登录认证方式的场景,SRP提供了近乎完美的解决方案。

首先,用create_salted_verification_key() 方法为用户密码生成一个加盐后的认证秘钥。结果中的盐和秘钥将被服务器应用存储,待认证阶段时使用。

在XBee3中,对应的AT指令参考为:盐(Salt),Verifier即为认证秘钥,这几个值并不唯一,和明文有关但无法反推出明文密钥,它可以用于认证,并保证这一过程各自独立完成,安全和可信。