一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种离线密码的鉴权方法、生成方法、设备端及服务端与流程

2022-12-09 19:28:41 来源:中国专利 TAG:


1.本技术涉及信息安全领域,特别涉及一种离线密码的鉴权方法、生成方法、设备端及服务端。


背景技术:

2.离线密码是一种离线的认证及鉴权技术,可用于智能锁、租赁设备(共享设备)、无人检票、离线充值等场景。实际应用中,由于网络不好或厂商出于成本考虑,设备需要在无法联网的条件下完成对用户的身份验证及鉴权。一般使用模式为:用户通过手机从云端申请离线密码(若干位十进制字符串),再通过设备上的数字键盘手动输入,设备验证通过后开放相应的使用权限。但是,离线密码中携带了授权信息,为保证这些关键信息不被篡改,或被篡改后可识别出来,需针对离线密码的完整性做保护,现有技术采用的各种加密方案无法保证离线密码的完整性,并且离线密码一般有限制使用时间或次数的要求,需确保过期、超时、超次数的密码无法通过验证,需要考虑恶意的重放攻击,现有的加密方法尚未实现这一点。


技术实现要素:

3.本技术实施例要达到的技术目的是提供一种离线密码的鉴权方法、生成方法、设备端及服务端,用以解决当前在离线密码的传输和使用中未考虑恶意的重放攻击,使得存在安全隐患的问题。
4.为解决上述技术问题,本技术实施例提供了一种离线密码的鉴权方法,应用于设备端,包括:
5.在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
6.根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
7.当第一验证结果为非重放攻击时,根据授权信息控制设备端。
8.优选地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
9.当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
10.当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
11.具体地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
12.当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
13.根据第一计数器的值和第二计数器的值,得到第一验证结果。
14.优选地,如上所述的离线密码的鉴权方法,根据第一计数器的值和第二计数器的值,得到第一验证结果的步骤包括:
15.获取第一计数器的值与第二计数器的值的数值差;
16.当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
17.具体地,如上所述的离线密码的鉴权方法,预设取值范围包括下述中的至少一项:
18.大于零且小于第一预设正值;
19.小于零且大于第一预设负值;
20.小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
21.进一步的,如上所述的离线密码的鉴权方法,还包括:
22.当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
23.优选地,如上所述的离线密码的鉴权方法,获取离线密码中的授权信息和防重放攻击验证信息的步骤包括:
24.将用户输入的离线密码转换为明文数据帧;
25.根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
26.当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
27.具体地,如上所述的离线密码的鉴权方法,将用户输入的离线密码转换为明文数据帧的步骤包括:
28.将离线密码转换为无符号整数;
29.将无符号整数转换为明文数据帧。
30.优选地,如上所述的离线密码的鉴权方法,根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧的步骤包括:
31.根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
32.根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行消息验证码(message authentication code,简称mac)的验证,并得到解密验证结果。
33.优选地,如上所述的离线密码的鉴权方法,还包括:
34.在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
35.当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示
36.当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码时,执行获取离线密码中的授权信息和防重放攻击验证信息的步骤。
37.具体地,如上所述的离线密码的鉴权方法,当第一验证结果为非重放攻击时,根据授权信息控制设备端的步骤包括:
38.根据授权信息确定授权结果;
39.当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
40.当授权结果为无效时,生成授权无效信息并提示。
41.本技术的再一优选实施例还提供了一种设备端,包括:
42.获取模块,用于在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
43.第一处理模块,用于根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
44.第二处理模块,用于当第一验证结果为非重放攻击时,根据授权信息控制设备端。
45.优选地,如上所述的设备端,第一处理模块包括:
46.第一处理子模块,用于当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
47.第二处理子模块,用于当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
48.具体地,如上所述的设备端,第一处理模块包括:
49.第三处理子模块,用于当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
50.第四处理子模块,用于根据第一计数器的值和第二计数器的值,得到第一验证结果。
51.优选地,如上所述的设备端,第四处理子模块包括:
52.第一处理单元,用于获取第一计数器的值与第二计数器的值的数值差;
53.第二处理单元,用于当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
54.具体地,如上所述的设备端,预设取值范围包括下述中的至少一项:
55.大于零且小于第一预设正值;
56.小于零且大于第一预设负值;
57.小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
58.进一步的,如上所述的设备端,还包括:
59.第三处理单元,用于当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
60.优选地,如上所述的设备端,获取模块包括:
61.第五处理子模块,用于将用户输入的离线密码转换为明文数据帧;
62.第六处理子模块,用于根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
63.第七处理子模块,用于当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
64.具体地,如上所述的设备端,第五处理子模块包括:
65.第一转换单元,用于将离线密码转换为无符号整数;
66.第二转换单元,用于将无符号整数转换为明文数据帧。
67.优选地,如上所述的设备端,第六处理模块包括:
68.第四处理单元,用于根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
69.第五处理单元,用于根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行mac的验证,并得到解密验证结果。
70.优选地,如上所述的设备端,还包括:
71.第五处理模块,用于在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
72.第六处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示
73.第七处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码。
74.进一步的,如上所述的设备端,还包括:
75.具体地,如上所述的设备端,第二处理模块包括:
76.第八处理子模块,用于根据授权信息确定授权结果;
77.第九处理子模块,用于当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
78.第十处理子模块,用于当授权结果为无效时,生成授权无效信息并提示。
79.本技术的另一优选实施例中还提供了一种离线密码的生成方法,应用于服务端,包括:
80.在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
81.根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
82.优选地,如上所述的离线密码的生成方法,根据密码请求信息获取对应设备端的防重放攻击验证信息的步骤包括:
83.当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
84.当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
85.根据第一计数器的历史值得到当前防重放攻击验证信息中的第一计数器的值。
86.具体地,如上所述的离线密码的生成方法,根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码的步骤包括:
87.根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
88.根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
89.将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
90.进一步的,如上所述的离线密码的生成方法,根据预设的认证加密算法对明文数
据帧进行加密,得到加密后的明文数据帧的步骤包括:
91.根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行mac的认证加密;
92.根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
93.本技术的另一优选实施例还提供了一种服务端,包括:
94.第三处理模块,用于在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
95.第四处理模块,用于根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
96.优选地,如上所述的离线密码的生成方法,第三处理模块包括:
97.第十一处理子模块,用于当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
98.第十二处理子模块,用于当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
99.第十三处理子模块,用于根据第一计数器的历史值得到当前防重放攻击验证信息中的第一计数器的值。
100.具体地,如上所述的离线密码的生成方法,第四处理模块包括:
101.第十四处理子模块,用于根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
102.第十五处理子模块,用于根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
103.第十六处理子模块,用于将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
104.进一步的,如上所述的离线密码的生成方法,第十五处理子模块的步骤包括:
105.第六处理单元,用于根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行mac的认证加密;
106.第七处理单元,用于根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
107.本技术的又一优选实施例还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的离线密码的鉴权方法,或者实现如上所述的离线密码的生成方法。
108.与现有技术相比,本技术实施例提供的一种离线密码的鉴权方法、生成方法、设备端及服务端,至少具有以下有益效果:
109.通过在离线密码中携带防重放攻击验证信息,并通过时间戳或计数器进行重发攻击验证,有利于避免不法分子为非法使用设备端所进行的重放攻击,保证离线密码使用的安全性。还通过mac和非对齐的对称加密算法进行双重加密,进一步的提高离线密码的安全性、完整性和机密性。
附图说明
110.图1为本技术的离线密码的鉴权方法的流程示意图之一;
111.图2为本技术的离线密码的鉴权方法的流程示意图之二;
112.图3为本技术的离线密码的鉴权方法的流程示意图之三;
113.图4为本技术的离线密码的鉴权方法的流程示意图之四;
114.图5为本技术的离线密码的鉴权方法的流程示意图之五;
115.图6为本技术的离线密码的鉴权方法的流程示意图之六;
116.图7为本技术的离线密码的鉴权方法的流程示意图之七;
117.图8为本技术的离线密码的鉴权方法的流程示意图之八;
118.图9为本技术的离线密码的鉴权方法的流程示意图之九;
119.图10为本技术的设备端结构示意图;
120.图11为本技术的离线密码的生成方法的流程示意图之一;
121.图12为本技术的离线密码的生成方法的流程示意图之二;
122.图13为本技术的离线密码的生成方法的流程示意图之三;
123.图14为本技术的服务端的结构示意图。
具体实施方式
124.为使本技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本技术的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本技术的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
125.应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
126.在本技术的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
127.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
128.在本技术所提供的实施例中,应理解,“与a相应的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
129.参见图1,本技术的一优选实施例提供了一种离线密码的鉴权方法,应用于设备端,包括:
130.步骤s101,在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
131.步骤s101,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
132.步骤s102,当第一验证结果为非重放攻击时,根据授权信息控制设备端。
133.在本技术的一具体实施例中提供了一种应用于设备端的离线密码的鉴权方法,其中设备端在接收到用户通过按键或触摸等形式输入的离线密码后,会获取离线密码中所携带的授权信息和防重放攻击验证信息,其中,授权信息用于表征设备端的拥有者的对使用者的授权,防重放攻击验证信息用于对该密码是否为不法分子为非法使用设备端所进行的重放攻击,优选地基于授权信息的不同可选择时间戳或预设的第一计数器的值为防重放攻击验证信息;进而根据获取到的防重放攻击验证信息对离线密码进行重放攻击验证,并得到第一验证结果;若第一验证结果为非重放攻击时,会根据授权信息对设备端进行控制。
134.综上所述,在本实施例中通过在离线密码中携带防重放攻击验证信息,并通过时间戳或计数器进行重发攻击验证,有利于避免不法分子为非法使用设备端所进行的重放攻击,保证离线密码使用的安全性。
135.由于,离线密码可由用户单向输入,可应用到各种需要授权认证的离线或半离线的场景中,包括但不限于智能锁、设备租赁或共享、无人检票、离线充值等,保证设备端的离线使用,且有利于提高离线密码以及设备端使用的安全性。
136.可选地,根据设备端的种类、授权信息等条件对所述设备端进行的控制也不尽相同,例如:当设备端为智能锁时,控制设备端开锁;当设备端为电动设备时,控制设备端启动等。
137.参见图2,优选地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
138.步骤s201,当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
139.步骤s202,当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
140.在本技术的一具体实施例中,在根据防重放攻击验证信息对离线密码进行重放攻击验证时,若防重放攻击验证信息为时间戳,则获取授权信息中的有效时长以及设备端的本地时间,并将本地时间与时间戳进行比较,若本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定该密码为有效期内的密码,此时即可确定第一验证结果为非重放攻击;若当前时间小于时间戳,则说明当前还未到达使用该密码的时间,因此确定第一验证结果为验证未通过;若当前时间大于时间戳,且与时间戳的时间差大于有效时长,则确定当前已超过使用该密码的时间,因此确定第一验证结果为验证未通过。即本在本实施例中,通过时间进行防重放攻击的验证,可以避免在密码使用时间段后,再次利用该密码控制设备端的情况出现,保证密码以及设备端的安全。
141.参见图3,具体地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
142.步骤s301,当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
143.步骤s302,根据第一计数器的值和第二计数器的值,得到第一验证结果。
144.在本技术的另一优选实施例中,在根据防重放攻击验证信息对离线密码进行重放攻击验证时,若防重放攻击验证信息为第一计数器的值,说明此时授权信息中不包括绝对时间参数,只包括有效次数等相对参数,此时获取设备端中预存的第二计数器的值,即设备端在使用过程中会记录密码的使用次数或使用过的密码对应的次数,因此在进行重放攻击验证时,根据第一计数器的值和第二计数器的值进行比较,即可确定当前的离线密码是否为重放攻击,并得到第一验证结果。通过增加计数器来判断当前密码是否为重放攻击,可减少密码的使用范围,进一步保证密码以及设备端的安全。
145.参见图4,优选地,如上所述的离线密码的鉴权方法,根据第一计数器的值和第二计数器的值,得到第一验证结果的步骤包括:
146.步骤s401,获取第一计数器的值与第二计数器的值的数值差;
147.步骤s402,当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
148.在本技术的一具体实施例中,根据第一计数器的值和第二计数器的值,得到第一验证结果时,会先获取两者的数值差,在本实施例中该数值差优选为第一计数器的值减去第二计数器的值所得到的差值,进而将该数值差与预先确定并存储的预设取值范围进行对比,当该数值差位于预设取值范围内时,即可确定第一验证结果为非重放攻击;此时即可根据该离线密码对设备端进行控制。若该数值差位于预设取值范围外时,即可确定该离线密码已被使用或未到使用时机,此时不对设备端进行控制,有利于保证设备端的安全。
149.具体地,如上所述的离线密码的鉴权方法,预设取值范围包括下述中的至少一项:
150.大于零且小于第一预设正值;
151.小于零且大于第一预设负值;
152.小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
153.在本技术的一具体实施例中,将预设取值范围设置为大于零且小于第一预设正值,其中第一预设正值优选的为2,即数值差为1,使得离线密码只有通过依次递增的方式输入设备端,才能正常控制设备端,有利于避免设备端被重放攻击;可选地,由于服务端和设备端难以实现同步,且实际使用过程中存在离线密码生成后并未使用的情况,使得服务端和设备端的实时数值差可能大于1,因此为避免后申请的离线密码的正常使用,且避免不法分子钻漏洞,因此可根据实际需求或实验标定的方式将第一预设正值设置为3、4或其他正值;
154.在本技术的另一具体实施例中,在将预设取值范围设置为大于零且小于第一预设正值的基础上,还将预设取值范围设置为小于零且大于第一预设负值,其中第一预设负值可根据实际需求或实验标定的方式设置为-2、-3或其他负值,用于避免因一次或短时间内产生多个离线密码,而由于每个离线密码的使用时间不定,导致出现第一计数器的值小于第二计数器的值的情况出现,此时预设取值范围的设置能够保证该批次生成的离线密码均能使用,保证用户的使用体验。
155.在本技术的再一具体实施例中,由于离线密码所能承载的信息量有限,使得密码使用频繁时,计数器(包括第一计数器和第二计数器)需要进行循环使用,即当计数器的值达到计数上限值后,从零开始重新计数。此时存在接收到的离线密码为后产生的密码,但第一计数器的值小于第二计数器的值的情况出现,因此在上述的基础上,将预设取值范围还
设置为小于第二预设负值且大于等于第三预设负值,其中第三预设负值的绝值为第二计数器的计数上限值,同时第二预设负值和第三预设负值之间间隔预设数量的数值,在保证循环使用的同时避免差距过大,导致的无法分辨离线密码与第二计数器的值对应的密码的生成时间的问题出现。
156.进一步的,如上所述的离线密码的鉴权方法,还包括:
157.当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
158.在本技术的另一实施例中,当确定第一验证结果为非重放攻击后,即确定当前的离线密码为有效密码,此时若数值差大于零,则表明当前的离线密码与上一次使用的离线密码的生成时间靠后,此时根据第一计数器的值对第二计数器的值进行更新,即使第二计数器的值等于第一计数器的值,有利于保证设备端的实时性。当数值差小于零则确定当前的离线密码与上一次使用的离线密码的生成时间靠前,此时为保证设备端的实时性,不对第二计数器的值进行更新。
159.参见图5,优选地,如上所述的离线密码的鉴权方法,获取离线密码中的授权信息和防重放攻击验证信息的步骤包括:
160.步骤s501,将用户输入的离线密码转换为明文数据帧;
161.步骤s502,根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
162.步骤s503,当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
163.在本技术的一优选实施例中,在获取离线密码中的授权信息和防重放攻击验证信息时,由于用户输入的离线密码一般为十进制的数字串,无法直接获取其中所携带的授权信息和防重放攻击验证信息,因此需要将离线密码转换为明文数据帧优选为二进制码流,为保证数据的安全性,因此在生产明文数据帧时会对明文数据帧进行加密,故,在得到名为数据帧后还需要对明文数据帧进行解密,得到解密后的明文数据帧,在本实施例中为进一步的保证明文数据帧的安全性和机密性,采用认证加密算法对明文数据帧进行家,因此在解密时需要根据认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;若得到的解密验证结果为通过,则确定解密后的明文数据帧为完整的数据帧,此时对该明文数据帧进行解析即可得到上述的授权信息和防重放攻击验证信息。若得到的解密验证结果为未通过,则确定解密后的明文数据帧不为完整的数据帧,此时即便对该明文数据帧进行解析,也无法确定得到的授权信息和防重放攻击验证信息的完整性和正确性,因此需要通过声、光、电、文字等形式告知使用者验证失败,便于使用者重新获取离线密码来使用该设备端。
164.可选地,加密后明文数据帧包括帧头、负载及校验三部分,其中,帧头部分可包括帧类型、版本号等帧控制信息,负载部分可包括有效时间、有效次数等授权信息和时间戳或计数器等防重放攻击验证信息,校验部分用于确保数据帧的完整性和真实性。
165.下述为不同离线密码的明文数据帧的比特分布的示例
166.第一示例:26比特对应8位数字串
167.帧头:2比特;负载:15比特;消息验证码:10比特。
code,简称hmac)和基于密码的消息认证码(cipher-based message authentication code,简称cmac)。
192.参见图8,优选地,如上所述的离线密码的鉴权方法,还包括:
193.步骤s801,在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
194.步骤s802,当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示;
195.步骤s803,当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码时,执行获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。
196.在本技术的一具体实施例中,设备端具有密码存储功能,可以存储预设数量的已输入或已使用密码,从而使得在接收到用户输入的离线密码后,会获取预存的已使用离线密码使用表,并将接收到离线密码与已使用离线密码使用表中的已使用密码进行对比,当确定离线密码为已使用密码时,此时再次使用该密码无法控制设备,生成密码无效信息并进行提示,便于使用者更换密码;
197.当确定离线密码为未使用密码,则可暂时确定该离线密码可用,此时可执行后续获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。通过该已使用离线密码使用表可将已使用过的密码进行筛选,有利于避免因密码中的第一计数器的值循环使用时,导致相同的离线密码多次使用带来的安全问题。
198.可选地,在接收到用户输入的离线密码后,还可以获取预存的失效密码表,失效密码表中记载有预设数量的已失效密码;当根据离线密码和失效密码表,确定离线密码为失效密码时,生成密码无效信息并提示;当根据离线密码和失效密码表,确定离线密码为未失效密码时,执行获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。
199.参见图9,具体地,如上所述的离线密码的鉴权方法,当第一验证结果为非重放攻击时,根据授权信息控制设备端的步骤包括:
200.步骤s901,根据授权信息确定授权结果;
201.步骤s902,当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
202.步骤s903,当授权结果为无效时,生成授权无效信息并提示。
203.在本技术的另一实施例中,在根据授权信息控制设备端时,会根据授权信息确定用户的授权结果,例如在有效次数剩余、有效时间剩余等情况下确定
204.该授权结果有效,此时根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限,以充电设备为例,授权信息中的有效范围信息为充电时长,此时开启充电,并保持充电状态的时间的为充电时长。
205.当授权结果为无效时,确定已超过授权次数或有效时间,此时生成授权无效信息并提示以便于使用者重新获取授权。
206.参见图10,本技术的再一优选实施例还提供了一种设备端,包括:
207.获取模块1001,用于在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
208.第一处理模块1002,用于根据防重放攻击验证信息对离线密码进行重放攻击验
证,得到第一验证结果;
209.第二处理模块1003,用于当第一验证结果为非重放攻击时,根据授权信息控制设备端。
210.优选地,如上所述的设备端,第一处理模块包括:
211.第一处理子模块,用于当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
212.第二处理子模块,用于当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
213.具体地,如上所述的设备端,第一处理模块包括:
214.第三处理子模块,用于当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
215.第四处理子模块,用于根据第一计数器的值和第二计数器的值,得到第一验证结果。
216.优选地,如上所述的设备端,第四处理子模块包括:
217.第一处理单元,用于获取第一计数器的值与第二计数器的值的数值差;
218.第二处理单元,用于当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
219.具体地,如上所述的设备端,预设取值范围包括下述中的至少一项:
220.大于零且小于第一预设正值;
221.小于零且大于第一预设负值;
222.小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
223.进一步的,如上所述的设备端,还包括:
224.第三处理单元,用于当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
225.优选地,如上所述的设备端,获取模块包括:
226.第五处理子模块,用于将用户输入的离线密码转换为明文数据帧;
227.第六处理子模块,用于根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
228.第七处理子模块,用于当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
229.具体地,如上所述的设备端,第五处理子模块包括:
230.第一转换单元,用于将离线密码转换为无符号整数;
231.第二转换单元,用于将无符号整数转换为明文数据帧。
232.优选地,如上所述的设备端,第六处理模块包括:
233.第四处理单元,用于根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
234.第五处理单元,用于根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行mac的验证,并得到解密验证结果。
235.优选地,如上所述的设备端,还包括:
236.第五处理模块,用于在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
237.第六处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示
238.第七处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码。
239.进一步的,如上所述的设备端,还包括:
240.具体地,如上所述的设备端,第二处理模块包括:
241.第八处理子模块,用于根据授权信息确定授权结果;
242.第九处理子模块,用于当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
243.第十处理子模块,用于当授权结果为无效时,生成授权无效信息并提示。
244.本技术的设备端的实施例是与上述离线密码的鉴权方法的实施例对应的设备端,上述离线密码的鉴权方法实施例中的所有实现手段均适用于该设备端的实施例中,也能达到相同的技术效果。
245.参见图11,本技术的另一优选实施例中还提供了一种离线密码的生成方法,应用于服务端,包括:
246.步骤s1101,在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
247.步骤s1102,根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
248.在本技术的一具体实施例中还提供了一种应用于服务端的离线密码的生成方法,其中,服务端与用户端通信连接,当接收到用户端发送的关于设备端的密码请求信息后,会根据密码请求信息获取对应设备端的防重放攻击验证信息,包括:绝对时间中的时间戳或生成关于设备端的密码的生成次数即第一计数器的值;进而根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端,使得使用者可将用户端接收到的离线密码,输入至对应的设备端,以使设备端进行验证,其中防重放攻击验证信息的设置有利于避免设备端被重放攻击,进而有利于提高离线密码和设备端的安全性。
249.优选地,如上所述的离线密码的生成方法,根据密码请求信息获取对应设备端的防重放攻击验证信息的步骤包括:
250.当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
251.当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
252.根据第一计数器的历史值得到第一计数器的值。
253.在本技术的一具体实施例中,在获取防重放攻击验证信息,首先确定防重放攻击验证信息的种类,若防重放攻击验证信息为时间戳,则需要根据密码请求信息中的请求时
间确定时间戳,其中优选的请求时间即为时间戳。其中请求时间包括但不限于发送请求的时间和请求使用的时间。若防重放攻击验证信息为第一计数器的值时,则需要获取前一次对应设备端的离线密码生成时的第一计数器的历史值,进而根据该历史值通过增加预设增量得到第一计数器的值。从而保证计数器的值递增。可选地,当第一计数器的值需要循环使用时,若历史值为第一计数器的计数上限值,则确定第一计数器的值为零。
254.参见图12,具体地,如上所述的离线密码的生成方法,根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码的步骤包括:
255.步骤s1201,根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
256.步骤s1202,根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
257.步骤s1203,将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
258.在本技术的一具体实施例中,在生成离线密码时,首先根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧,保证数据的传输,进而根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧,有利于保证加密后的明文数据帧的完整性和机密性,进而将加密后的明文数据帧转换为离线密码,便于使用者根据数字串形式的离线密码进行密码的输入或传输。
259.在将明文数据帧转换为离线密码时,由于本实施例中离线密码优选为十进制数字串,明文数据帧为二进制码流,因此先将明文数据帧转换为无符号整数,再将无符号整数转换为离线密码,有利于保证离线密码与明文数据帧转换的顺利进行,同时有利于避免离线密码与明文数据帧直接转换所消耗的算力。
260.参见图13,进一步的,如上所述的离线密码的生成方法,根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧的步骤包括:
261.步骤s1301,根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行mac的认证加密;
262.步骤s1302,根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
263.在本技术的一优选实施例中,对明文数据帧进行加密的步骤包括:首先根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥对明文数据帧进行mac的认证加密,有利于保护明文数据帧的完整性,放置被恶意篡改,并保证明文数据帧的真实性,实现认证功能。进而在通过非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,在减少空闲比特数的情况下,进一步保证加密后的明文数据帧的完整性和机密性。
264.参见图14,本技术的另一优选实施例还提供了一种服务端,包括:
265.第三处理模块1401,用于在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
266.第四处理模块1402,用于根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
267.优选地,如上所述的离线密码的生成方法,第三处理模块包括:
268.第十一处理子模块,用于当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
269.第十二处理子模块,用于当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
270.第十三处理子模块,用于根据第一计数器的历史值得到当前防重放攻击验证信息中的第一计数器的值。
271.具体地,如上所述的离线密码的生成方法,第四处理模块包括:
272.第十四处理子模块,用于根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
273.第十五处理子模块,用于根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
274.第十六处理子模块,用于将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
275.进一步的,如上所述的离线密码的生成方法,第十五处理子模块的步骤包括:
276.第六处理单元,用于根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行mac的认证加密;
277.第七处理单元,用于根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
278.本技术的服务端的实施例是与上述离线密码的生成方法的实施例对应的服务端,上述离线密码的生成方法实施例中的所有实现手段均适用于该服务端的实施例中,也能达到相同的技术效果。
279.本技术的又一优选实施例还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的离线密码的鉴权方法,或者实现如上所述的离线密码的生成方法。
280.此外,本技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
281.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。
282.以上所述是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献