在日常使用中,会遇到限制过期时间的问题,但是,对于时间的判断,很难找到一个信任根!如果没有信任根,这个问题其实无从判断。
从实用的角度来设计,我们假定可以找到一个相对可信的信任根,例如,破坏代价比较大的某处加密存储角落。
加密手段可以防止信息被识别、篡改、轻易仿冒,建议使用CBC
方式进行串联加密。
但是,即使存在此信任根,依然需要考虑正常时间调整带来的问题。因为时间调整可能来自于正常的时钟同步、管理员手工调整时间等常见设备管理带来的影响,也有可能就是恶意的时间攻击调整。
特别地,如何针对恶意的时间调整作出限制呢,并兼顾常规时间调整带来的影响呢?
关键就在于在信任根中保存持续增长、不回调
的时间值!如下图所示:
设计
时间调整时的判断
补充
- 时间调整,特别是向过去的时间调整,会影响到定时器执行,所以周期判断逻辑不能仅依赖定时器的执行,还可以辅助独立线程进行睡眠等待
结束语
共享出来,以利于讨论,看有什么更好的办法 😃