离线密码新方案生成规则
-
离线密码明文格式
其中,当 X=9时,表示清空所有码,必须在密码有效小时数24h内激活才生效
当 X=1,2,3时,66001<=M<=99000时,表示清空单次码
当 X=1,2,3时,33001<=M<=66000时,表示多次密码,必须24h内激活
当 X=1,2,3时,00001<=M<=33000时,表示单次密码,必须6h内激活
注:1) 7位或8位密码,X可以等于1或2或3;9位或10位密码,X只能等于1。
2) N>=8761时,N的单位由小时数变为月(30天),例如 N=8761,即表示密码有效期为1年1个月
2.名词解释
参照时间t0:默认为配网时间,服务端与客户端均保存, ti(i=0,1,2,3)单位都是秒
当前时间t1:设备需要一个时钟来获取当前的时间,时间需要先与服务端同步好
开始时间t2:密码有效期的开始时间
结束时间t3:密码有效期的结束时间
可以得出:M=(t2-t0)/3600
N=(t3-t2)/3600(t3-t2<=1年)
N=8760+(t3-t2)/(3600*24*30)(t3-t2>1年)
3.离线密码碰撞率分析
密码位数 | N的值 | M的范围 | 开门密码组合种数 | 碰撞率 |
7 | N=1~9 | [M+1,M+9) | 9+8+7+6+5+4+3+2+1=45 | 45*3/10^7*0.66<1/20000 |
8 | N=10~99 | [M+10,M+99) | 10+11+12+…+24+(99-24)*24=2055 | 2055*3/10^8*0.66<1/20000 |
9 | N=100~999 | [M+100,M+999) | 24*(999-100+1)=21600 | 21600/10^9*0.66<1/20000 |
10 | N=1000~9999 | [M+1000,M+8760) [M+13月,M+1251月) | 24*(8760-1000+1)=186264 24*(1251-13+1)=29736 | (186264+29736)/10^10*0.66< 1/20000 |
4.离线密码存储方式
由于离线密码是要存储在flash中的,清空单次码,我们现在是把它标记为禁用,下次在使用时进行比对,已经禁用了就不能开门了。如果flash满了,会覆盖掉老的。
5.离线密码开门规则
略
6.小结
- 单次密码,多次密码,清空单次码的M实际小时数为:1~33000,即离线密码的开始时间范围为从配网时间算起到3.76年内。
- 密码有效时间N的范围为:1h~1251月,即离线密码有效时间的范围为从开始时间算起1h内到104年内。