物联网  >   智能家居  >  正文

智能锁临时密码生成原理

  目前市面上很多智能锁常见的临时密码功能,实现方式主要有两种:

  一、门锁提前生成,通过蓝牙发给手机

       这种临时密码,是手机 APP 在对门锁进行基于蓝牙的管理时,由门锁随机生成一批 6 位临时密码发给 APP 。这些密码被同时保存在门锁和手机上,当主人需要远程发放临时密码时,APP 就从手机中将之前保存的临时密码随机选取一个显示,并标记该临时密码已被使用。当手机上存储的临时密码被全部使用,主人必须回到门锁旁,重新使用手机 APP 连接门锁,才能获取下一批临时密码。

  【问题和风险】

  1. 密码预存有数量限制:手机中预存的临时密码一旦被全部使用,临时密码功能就等于没有了,必须回到门锁旁重新获取下一批密码后才能恢复使用。

  2.只能作为一次性密码使用:临时密码生成的时候,并不知道什么时候才会开始使用,所以无法携带时效信息,只能作为一次性密码使用。对于需要在一定时间内多次进出的场景,如亲友临时借住几天,这种临时密码功能无法满足需求。

  二、手机实时生成,通过云服务发给门锁

       这种临时密码方案,需要门锁通过 Zigbee 或蓝牙连接网关,以保持实时联网。主人发放临时密码时,需在手机 APP 上生成 6 位临时密码,数据先发送到云服务,再由云服务中转下发至门锁。门锁接收到临时密码数据后,访客就可以在锁上输入临时密码开门了。这种方式生成的临时密码数据,除了标准的 6 位临时密码外,还可以带上时效控制信息,门锁会按照时效控制信息来确定密码是否在有效期内。

  【问题和风险】

  不安全:门锁是从云服务接收开锁密码的,如果门锁缺乏可靠的密码来源合法性验证手段(如基于安全芯片和双向非对称加密算法的数字签名),黑客(或者门锁厂商内部员工)就可以通过攻击 APP、云服务、或 APP 和门锁的通讯链路,来模拟密码下发命令,向门锁下发开锁密码。

  2017 年的极客大会上,腾讯的安全实验室展示了如何瞬间攻破某品牌的公寓锁,采用的就是这种方法,其根源就是因为该品牌公寓锁的开锁密码是由云服务产生和下发、且没有在门锁端提供可靠的密码来源验证手段。

上一篇:小度在家使用指南(和家亲版)

下一篇:卡米智能点读笔如何快速制作点读包(图文教程)