- 多部手机能开同一把锁
- KEY加密、解密的安全性
- 手机丢了之后的应对措施
- 锁大多数时间应为休眠状态
- 用于开锁的手机必须事先与待开启的锁绑定(GUID)
- 锁在唤醒之后,只能被已经绑定的手机开启
- 锁在唤醒之后,生成一个4位(或6位)的PIN,该PIN的有效时间限制为1分钟,1分钟后若锁未开启,则锁重置为休眠状态
- 解锁者需输入有效PIN才能生成用于验证开锁的KEY1
- 锁扫描手机生成的KEY1,并检查该手机的GUID是否在已绑定设备列表中,若不在,则锁重置为休眠状态
- 锁在检查GUID通过之后,根据刚刚的有效PIN和该GUID计算出解锁的KEY2,若该KEY2无法与KEY1对应开锁,则锁重置为休眠状态
- KEY1与KEY2若匹配,则开锁(输出高电平),之后锁重置为休眠状态
- 锁不应当联入局域网,更不应当联入互联网
- 锁应提供唤醒按钮,按下后从休眠状态转为唤醒状态并给出PIN
- 当锁处于唤醒状态时,再次按下唤醒按钮则不应有任何作用
- 整个开锁过程有且仅有两次验证,不应再增加任何冗余步骤
- 锁的内部使用简单数组来保存已绑定的手机的GUID,数组最大元素数量不应过大,且不可修改
- 锁在生成PIN时,应按照某一规律计算出有伪随机性的PIN
- 锁对应的显示屏应在生成PIN后显示出PIN,在休眠状态时关闭,在唤醒状态且PIN失效时亦应关闭
- 手机(上的APP)在输入PIN后,不检查该PIN是否为此时的有效PIN
- 手机根据输入的PIN和手机对应的GUID,按某一规律计算出KEY1,并显示出KEY1对应的解锁图案(暂用二维码)
- 解锁图案的信息应包含如下:
- 当前设备GUID
- 当前设备根据刚刚输入的未检查有效性的PIN生成的KEY1
- 该解锁图案不加入有效时间判断
- 锁扫描某一设备的解锁图案后,进行 保障安全性 中的
第6条
,判断该设备是否在已绑定的设备列表中 - 锁根据获得的GUID与刚刚的有效PIN进行同一规律的计算,生成KEY2,若解锁设备输入的PIN为有效的,刚KEY2与KEY1必满足某一特定规律,否则解锁设备中的PIN则为无效PIN
- 验证KEY2与KEY1,进行 保障安全性 中的
第8条
- 若已与锁绑定的手机丢失,且手机上的解锁APP可用,则之后拥有该手机的任何人均可以进行正常步骤的开锁行为,但锁与解锁APP的开发者不对这种行为负责。参考普通钥匙丢失后,拾取到该钥匙的人可以正常使用钥匙开锁
- 锁应保留普通钥匙孔,即可以使用普通钥匙进行开锁
- 若所有与某一锁绑定的手机均丢失,参考使用钥匙开锁
- 若所有与某一锁绑定的手机均丢失,且对应的钥匙也丢失,则应采取第三方手段拆除锁,参考公安备案的开锁
- 每一部手机均可以与任意数量的锁进行绑定,且该手机可以按照上正常行为解锁与其绑定的任何锁