基于实时基准的离线共享设备控制系统及方法转让专利
申请号 : CN202010835079.5
文献号 : CN111800266A
文献日 : 2020-10-20
发明人 : 魏云龙 , 何玮杰 , 刘国立
申请人 : 福州大学
摘要 :
权利要求 :
1.一种基于实时基准的离线共享设备控制系统,其特征在于,所述系统共享设备终端、用户手机端和服务器端组成;所述共享设备终端包括输入键盘模块、嵌入式处理器、硬件加密模块、设备锁定模块和实时时钟模块;所述嵌入式处理模块与输入键盘模块、硬件加密模块、设备锁定模块和实时时钟模块分别连接。
2.根据权利要求1所述的基于实时基准的离线共享设备控制系统,其特征在于,所述硬件加密模块为加密专用的协处理器,通过接收嵌入式处理器模块发送的动态密钥,对信息进行加密运算,得到动态密码并发送到嵌入式处理器模块;
所述输入键盘模块用于输入数字密码;
所述设备锁定模块为根据具体应用场景决定的电子模块;
所述实时时钟模块用以提供实时时间,以该实时时间值作为种子按预设算法生成随机数,随机数和设备序列号共同组成了动态密钥。
3.根据权利要求1所述的基于实时基准的离线共享设备控制系统,其特征在于,所述嵌入式处理模块采用单片机处理器,以用户使用共享设备的时刻的时间值为种子生成的随机数,并和本设备固定序列号组合,以得到一个动态密钥。
4.根据权利要求1所述的基于实时基准的离线共享设备控制系统,其特征在于,所述嵌入式处理模块为了避免时钟误差,在处理时刻前后的若干间隔内得到一组不同的动态密钥,密钥经过硬件加密模块计算得到一组若干个动态密码,如果用户输入的密码与动态密码组中的某一个相同,则认为密码正确,控制设备锁定模块进行对应的解锁/上锁动作。
5.一种基于实时基准的离线共享设备控制方法,其特征在于,包括以下步骤:
步骤S1:设备嵌入式处理器平时处于休眠状态,用户使用时移动端扫描二维码获取设备序列号并向服务器发送序列号,申请密码;步骤S2:所述服务器根据序列号和实时时间计算出密码,并发送给至移动端;
步骤S3:用户通过所述输入键盘模块把来自服务器的密码输入共享设备;
步骤S4:设备嵌入式处理器被按键唤醒时,在此刻的时间值,以一定间隔在该时间值的前后得到一组时间值,并作为随机数种子得到一组动态密钥,与设定好的静态密钥一起送入硬件加密模块进行加密运算,得到出一组对应的动态密码;
步骤S5:嵌入式处理器将用户输入的密码与动态密码组对比,如果输入密码与密码组中的某个密码一致,则认为密码正确,控制设备锁定模块做出解锁动作。
6.根据权利要求4所述的基于实时基准的离线共享设备控制方法,其特征在于,所述步骤S4利用实时时间和本机序列号共同组成一个动态密钥;使用时间滑块交集算法,采用实时时间及其前后若干个时刻分别与本机序列号组合得到一组若干个动态密钥,由若干个动态密钥分别经过加密运算得到一组若干个动态密码,避免了由于共享设备和服务器之间的时间误差导致两端密码不一致。
说明书 :
基于实时基准的离线共享设备控制系统及方法
技术领域
背景技术
发明内容
所述设备锁定模块为根据具体应用场景决定的电子模块;
所述实时时钟模块用以提供实时时间,以该实时时间值作为种子按预设算法生成随机数,随机数和设备序列号共同组成了动态密钥。
步骤S2:所述服务器根据序列号和实时时间计算出密码,并发送给至移动端;
步骤S3:用户通过所述输入键盘模块把来自服务器的密码输入共享设备;
步骤S4:设备嵌入式处理器被按键唤醒时,在此刻的时间值,以一定间隔在该时间值的前后得以一组时间值,并作为随机数种子得到一组动态密钥,与设定好的静态密钥一起送入硬件加密模块进行加密运算,得到出一组对应的动态密码;
步骤S5:嵌入式处理器将用户输入的密码与动态密码组对比,如果输入密码与密码组中的某个密码一致,则认为密码正确,控制设备锁定模块做出解锁动作。
2. 本发明采用实时时间和设备序列号为参数进行加密运算得到动态密码,使得设备每次使用时的密码都不同,而且同时间不同设备的密码也不同,避免了被穷举破解密码的问题,提高了系统安全性,同时也避免了离线情况下被同一密码重复使用;
3. 本发明采用了滑块算法,解决了由于系统时间误差和用户操作时间差造成共享设备和服务器生成动态密码的实时时间不一致的问题;
4. 采用加密专用的协处理器,避免了嵌入式处理器运行复杂加密算法速度慢的问题。
附图说明
图3是本发明一实施例中共享设备端软件框图;
图4是本发明一实施例中用户手机端软件框图;
图5是本发明一实施例中服务器端软件框图。
具体实施方式
所述设备锁定模块为根据具体应用场景决定的电子模块;如应用在共享单车上应该是电子车锁,应用在共享充电宝上应该是电源管理模块;
所述实时时钟模块用以提供实时时间,以该实时时间值作为种子按预设算法生成随机数,随机数和设备序列号共同组成了动态密钥。
步骤S2:所述服务器根据序列号和实时时间计算出密码,并发送给至移动端;
步骤S3:用户通过所述输入键盘模块把来自服务器的密码输入共享设备;
步骤S4:设备嵌入式处理器被按键唤醒时,在此刻的时间值,以一定间隔在该时间值的前后得以一组若干个实时时间值,并作为随机数种子得到一组动态密钥,与设定好的静态密钥一起送入硬件加密模块进行加密运算,得到出一组对应的动态密码;
步骤S5:嵌入式处理器将用户输入的密码与动态密码组对比,如果输入密码与密码组中的某个密码一致,则认为密码正确,控制设备锁定模块做出解锁动作。