小米指纹锁的一次性离线密码生成策略是什么?

264 天前
 pvcxy18
我家的小米指纹锁仅支持蓝牙连接,不可连 wifi ,通常需要用米家 APP 蓝牙连接指纹锁来登记密码、指纹信息。
但我发现它也可以实现远端离线生成一次性密码,我可以给定生效时间范围(最多 15 分钟)来生成对应密码。

我推测门锁和 APP 有一套相同的基于当前时间的密码生成算法,APP 蓝牙连接门锁时会同步当前时间。
我有点好奇的是,如果把门锁的电池全部拆掉,然后重新安装上去(即断电后再通电),门锁要如何获得当前时间呢?(也许这样做之后,一次性密码将不在生效,直至 app 再次重连并同步时间?)

1329 次点击
所在节点    问与答
4 条回复
coolfan
264 天前
应该就是你说的这一套吧,OTP 密码:摘要算法(时间+密钥)
vace
264 天前
TOTP 基于时间步长的一次性密码算法,可以生成 6 位或 8 位的数字密码。 [Time-based one-time password]( https://en.wikipedia.org/wiki/Time-based_one-time_password)
clf
264 天前
otp 算法。

可能并不是按当前时间来算的,设备上可能内置了时钟,并不会跟着外部时间变,出厂的时候配置好一个初始时间和服务器上做好绑定。

然后你生成的时候是服务器上用映射后的时间+密钥给你生成的?(也可能是初始化设备的时候反向往你的米家 App 里写了一个密钥和对应的时间映射,但这样手机改时间了就寄了)
Yanlongli
264 天前
离线那说明就是 otp 那套,连蓝牙时自动同步时间。
另外可能内置电容用于短时间内保持时钟不丢失(换电池期间)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1102891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX