CN115460598A - 一种离线密码的鉴权方法、生成方法、设备端及服务端 - Google Patents

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

Info

Publication number
CN115460598A
CN115460598A CN202110632833.XA CN202110632833A CN115460598A CN 115460598 A CN115460598 A CN 115460598A CN 202110632833 A CN202110632833 A CN 202110632833A CN 115460598 A CN115460598 A CN 115460598A
Authority
CN
China
Prior art keywords
password
replay attack
information
offline password
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110632833.XA
Other languages
English (en)
Other versions
CN115460598B (zh
Inventor
王雷
习熹
王斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile IoT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202110632833.XA priority Critical patent/CN115460598B/zh
Publication of CN115460598A publication Critical patent/CN115460598A/zh
Application granted granted Critical
Publication of CN115460598B publication Critical patent/CN115460598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/121Wireless intrusion detection systems [WIDS]; Wireless intrusion prevention systems [WIPS]
    • H04W12/122Counter-measures against attacks; Protection against rogue devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供了一种离线密码的鉴权方法、生成方法、设备端及服务端,其中应用于设备端的离线密码的鉴权方法,包括:在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;当第一验证结果为非重放攻击时,根据授权信息控制设备端。通过在离线密码中携带防重放攻击验证信息,并通过时间戳或计数器进行重发攻击验证,有利于避免不法分子为非法使用设备端所进行的重放攻击,保证离线密码使用的安全性。

Description

一种离线密码的鉴权方法、生成方法、设备端及服务端
技术领域
本申请涉及信息安全领域,特别涉及一种离线密码的鉴权方法、生成方法、设备端及服务端。
背景技术
离线密码是一种离线的认证及鉴权技术,可用于智能锁、租赁设备(共享设备)、无人检票、离线充值等场景。实际应用中,由于网络不好或厂商出于成本考虑,设备需要在无法联网的条件下完成对用户的身份验证及鉴权。一般使用模式为:用户通过手机从云端申请离线密码(若干位十进制字符串),再通过设备上的数字键盘手动输入,设备验证通过后开放相应的使用权限。但是,离线密码中携带了授权信息,为保证这些关键信息不被篡改,或被篡改后可识别出来,需针对离线密码的完整性做保护,现有技术采用的各种加密方案无法保证离线密码的完整性,并且离线密码一般有限制使用时间或次数的要求,需确保过期、超时、超次数的密码无法通过验证,需要考虑恶意的重放攻击,现有的加密方法尚未实现这一点。
发明内容
本申请实施例要达到的技术目的是提供一种离线密码的鉴权方法、生成方法、设备端及服务端,用以解决当前在离线密码的传输和使用中未考虑恶意的重放攻击,使得存在安全隐患的问题。
为解决上述技术问题,本申请实施例提供了一种离线密码的鉴权方法,应用于设备端,包括:
在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
当第一验证结果为非重放攻击时,根据授权信息控制设备端。
优选地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
具体地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
根据第一计数器的值和第二计数器的值,得到第一验证结果。
优选地,如上所述的离线密码的鉴权方法,根据第一计数器的值和第二计数器的值,得到第一验证结果的步骤包括:
获取第一计数器的值与第二计数器的值的数值差;
当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
具体地,如上所述的离线密码的鉴权方法,预设取值范围包括下述中的至少一项:
大于零且小于第一预设正值;
小于零且大于第一预设负值;
小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
进一步的,如上所述的离线密码的鉴权方法,还包括:
当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
优选地,如上所述的离线密码的鉴权方法,获取离线密码中的授权信息和防重放攻击验证信息的步骤包括:
将用户输入的离线密码转换为明文数据帧;
根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
具体地,如上所述的离线密码的鉴权方法,将用户输入的离线密码转换为明文数据帧的步骤包括:
将离线密码转换为无符号整数;
将无符号整数转换为明文数据帧。
优选地,如上所述的离线密码的鉴权方法,根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧的步骤包括:
根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行消息验证码(Message Authentication Code,简称MAC)的验证,并得到解密验证结果。
优选地,如上所述的离线密码的鉴权方法,还包括:
在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示
当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码时,执行获取离线密码中的授权信息和防重放攻击验证信息的步骤。
具体地,如上所述的离线密码的鉴权方法,当第一验证结果为非重放攻击时,根据授权信息控制设备端的步骤包括:
根据授权信息确定授权结果;
当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
当授权结果为无效时,生成授权无效信息并提示。
本申请的再一优选实施例还提供了一种设备端,包括:
获取模块,用于在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
第一处理模块,用于根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
第二处理模块,用于当第一验证结果为非重放攻击时,根据授权信息控制设备端。
优选地,如上所述的设备端,第一处理模块包括:
第一处理子模块,用于当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
第二处理子模块,用于当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
具体地,如上所述的设备端,第一处理模块包括:
第三处理子模块,用于当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
第四处理子模块,用于根据第一计数器的值和第二计数器的值,得到第一验证结果。
优选地,如上所述的设备端,第四处理子模块包括:
第一处理单元,用于获取第一计数器的值与第二计数器的值的数值差;
第二处理单元,用于当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
具体地,如上所述的设备端,预设取值范围包括下述中的至少一项:
大于零且小于第一预设正值;
小于零且大于第一预设负值;
小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
进一步的,如上所述的设备端,还包括:
第三处理单元,用于当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
优选地,如上所述的设备端,获取模块包括:
第五处理子模块,用于将用户输入的离线密码转换为明文数据帧;
第六处理子模块,用于根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
第七处理子模块,用于当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
具体地,如上所述的设备端,第五处理子模块包括:
第一转换单元,用于将离线密码转换为无符号整数;
第二转换单元,用于将无符号整数转换为明文数据帧。
优选地,如上所述的设备端,第六处理模块包括:
第四处理单元,用于根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
第五处理单元,用于根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行MAC的验证,并得到解密验证结果。
优选地,如上所述的设备端,还包括:
第五处理模块,用于在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
第六处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示
第七处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码。
进一步的,如上所述的设备端,还包括:
具体地,如上所述的设备端,第二处理模块包括:
第八处理子模块,用于根据授权信息确定授权结果;
第九处理子模块,用于当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
第十处理子模块,用于当授权结果为无效时,生成授权无效信息并提示。
本申请的另一优选实施例中还提供了一种离线密码的生成方法,应用于服务端,包括:
在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
优选地,如上所述的离线密码的生成方法,根据密码请求信息获取对应设备端的防重放攻击验证信息的步骤包括:
当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
根据第一计数器的历史值得到当前防重放攻击验证信息中的第一计数器的值。
具体地,如上所述的离线密码的生成方法,根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码的步骤包括:
根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
进一步的,如上所述的离线密码的生成方法,根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧的步骤包括:
根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行MAC的认证加密;
根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
本申请的另一优选实施例还提供了一种服务端,包括:
第三处理模块,用于在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
第四处理模块,用于根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
优选地,如上所述的离线密码的生成方法,第三处理模块包括:
第十一处理子模块,用于当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
第十二处理子模块,用于当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
第十三处理子模块,用于根据第一计数器的历史值得到当前防重放攻击验证信息中的第一计数器的值。
具体地,如上所述的离线密码的生成方法,第四处理模块包括:
第十四处理子模块,用于根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
第十五处理子模块,用于根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
第十六处理子模块,用于将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
进一步的,如上所述的离线密码的生成方法,第十五处理子模块的步骤包括:
第六处理单元,用于根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行MAC的认证加密;
第七处理单元,用于根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
本申请的又一优选实施例还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的离线密码的鉴权方法,或者实现如上所述的离线密码的生成方法。
与现有技术相比,本申请实施例提供的一种离线密码的鉴权方法、生成方法、设备端及服务端,至少具有以下有益效果:
通过在离线密码中携带防重放攻击验证信息,并通过时间戳或计数器进行重发攻击验证,有利于避免不法分子为非法使用设备端所进行的重放攻击,保证离线密码使用的安全性。还通过MAC和非对齐的对称加密算法进行双重加密,进一步的提高离线密码的安全性、完整性和机密性。
附图说明
图1为本申请的离线密码的鉴权方法的流程示意图之一;
图2为本申请的离线密码的鉴权方法的流程示意图之二;
图3为本申请的离线密码的鉴权方法的流程示意图之三;
图4为本申请的离线密码的鉴权方法的流程示意图之四;
图5为本申请的离线密码的鉴权方法的流程示意图之五;
图6为本申请的离线密码的鉴权方法的流程示意图之六;
图7为本申请的离线密码的鉴权方法的流程示意图之七;
图8为本申请的离线密码的鉴权方法的流程示意图之八;
图9为本申请的离线密码的鉴权方法的流程示意图之九;
图10为本申请的设备端结构示意图;
图11为本申请的离线密码的生成方法的流程示意图之一;
图12为本申请的离线密码的生成方法的流程示意图之二;
图13为本申请的离线密码的生成方法的流程示意图之三;
图14为本申请的服务端的结构示意图。
具体实施方式
为使本申请要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本申请的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本申请的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
参见图1,本申请的一优选实施例提供了一种离线密码的鉴权方法,应用于设备端,包括:
步骤S101,在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
步骤S101,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
步骤S102,当第一验证结果为非重放攻击时,根据授权信息控制设备端。
在本申请的一具体实施例中提供了一种应用于设备端的离线密码的鉴权方法,其中设备端在接收到用户通过按键或触摸等形式输入的离线密码后,会获取离线密码中所携带的授权信息和防重放攻击验证信息,其中,授权信息用于表征设备端的拥有者的对使用者的授权,防重放攻击验证信息用于对该密码是否为不法分子为非法使用设备端所进行的重放攻击,优选地基于授权信息的不同可选择时间戳或预设的第一计数器的值为防重放攻击验证信息;进而根据获取到的防重放攻击验证信息对离线密码进行重放攻击验证,并得到第一验证结果;若第一验证结果为非重放攻击时,会根据授权信息对设备端进行控制。
综上所述,在本实施例中通过在离线密码中携带防重放攻击验证信息,并通过时间戳或计数器进行重发攻击验证,有利于避免不法分子为非法使用设备端所进行的重放攻击,保证离线密码使用的安全性。
由于,离线密码可由用户单向输入,可应用到各种需要授权认证的离线或半离线的场景中,包括但不限于智能锁、设备租赁或共享、无人检票、离线充值等,保证设备端的离线使用,且有利于提高离线密码以及设备端使用的安全性。
可选地,根据设备端的种类、授权信息等条件对所述设备端进行的控制也不尽相同,例如:当设备端为智能锁时,控制设备端开锁;当设备端为电动设备时,控制设备端启动等。
参见图2,优选地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
步骤S201,当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
步骤S202,当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
在本申请的一具体实施例中,在根据防重放攻击验证信息对离线密码进行重放攻击验证时,若防重放攻击验证信息为时间戳,则获取授权信息中的有效时长以及设备端的本地时间,并将本地时间与时间戳进行比较,若本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定该密码为有效期内的密码,此时即可确定第一验证结果为非重放攻击;若当前时间小于时间戳,则说明当前还未到达使用该密码的时间,因此确定第一验证结果为验证未通过;若当前时间大于时间戳,且与时间戳的时间差大于有效时长,则确定当前已超过使用该密码的时间,因此确定第一验证结果为验证未通过。即本在本实施例中,通过时间进行防重放攻击的验证,可以避免在密码使用时间段后,再次利用该密码控制设备端的情况出现,保证密码以及设备端的安全。
参见图3,具体地,如上所述的离线密码的鉴权方法,根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
步骤S301,当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
步骤S302,根据第一计数器的值和第二计数器的值,得到第一验证结果。
在本申请的另一优选实施例中,在根据防重放攻击验证信息对离线密码进行重放攻击验证时,若防重放攻击验证信息为第一计数器的值,说明此时授权信息中不包括绝对时间参数,只包括有效次数等相对参数,此时获取设备端中预存的第二计数器的值,即设备端在使用过程中会记录密码的使用次数或使用过的密码对应的次数,因此在进行重放攻击验证时,根据第一计数器的值和第二计数器的值进行比较,即可确定当前的离线密码是否为重放攻击,并得到第一验证结果。通过增加计数器来判断当前密码是否为重放攻击,可减少密码的使用范围,进一步保证密码以及设备端的安全。
参见图4,优选地,如上所述的离线密码的鉴权方法,根据第一计数器的值和第二计数器的值,得到第一验证结果的步骤包括:
步骤S401,获取第一计数器的值与第二计数器的值的数值差;
步骤S402,当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
在本申请的一具体实施例中,根据第一计数器的值和第二计数器的值,得到第一验证结果时,会先获取两者的数值差,在本实施例中该数值差优选为第一计数器的值减去第二计数器的值所得到的差值,进而将该数值差与预先确定并存储的预设取值范围进行对比,当该数值差位于预设取值范围内时,即可确定第一验证结果为非重放攻击;此时即可根据该离线密码对设备端进行控制。若该数值差位于预设取值范围外时,即可确定该离线密码已被使用或未到使用时机,此时不对设备端进行控制,有利于保证设备端的安全。
具体地,如上所述的离线密码的鉴权方法,预设取值范围包括下述中的至少一项:
大于零且小于第一预设正值;
小于零且大于第一预设负值;
小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
在本申请的一具体实施例中,将预设取值范围设置为大于零且小于第一预设正值,其中第一预设正值优选的为2,即数值差为1,使得离线密码只有通过依次递增的方式输入设备端,才能正常控制设备端,有利于避免设备端被重放攻击;可选地,由于服务端和设备端难以实现同步,且实际使用过程中存在离线密码生成后并未使用的情况,使得服务端和设备端的实时数值差可能大于1,因此为避免后申请的离线密码的正常使用,且避免不法分子钻漏洞,因此可根据实际需求或实验标定的方式将第一预设正值设置为3、4或其他正值;
在本申请的另一具体实施例中,在将预设取值范围设置为大于零且小于第一预设正值的基础上,还将预设取值范围设置为小于零且大于第一预设负值,其中第一预设负值可根据实际需求或实验标定的方式设置为-2、-3或其他负值,用于避免因一次或短时间内产生多个离线密码,而由于每个离线密码的使用时间不定,导致出现第一计数器的值小于第二计数器的值的情况出现,此时预设取值范围的设置能够保证该批次生成的离线密码均能使用,保证用户的使用体验。
在本申请的再一具体实施例中,由于离线密码所能承载的信息量有限,使得密码使用频繁时,计数器(包括第一计数器和第二计数器)需要进行循环使用,即当计数器的值达到计数上限值后,从零开始重新计数。此时存在接收到的离线密码为后产生的密码,但第一计数器的值小于第二计数器的值的情况出现,因此在上述的基础上,将预设取值范围还设置为小于第二预设负值且大于等于第三预设负值,其中第三预设负值的绝值为第二计数器的计数上限值,同时第二预设负值和第三预设负值之间间隔预设数量的数值,在保证循环使用的同时避免差距过大,导致的无法分辨离线密码与第二计数器的值对应的密码的生成时间的问题出现。
进一步的,如上所述的离线密码的鉴权方法,还包括:
当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
在本申请的另一实施例中,当确定第一验证结果为非重放攻击后,即确定当前的离线密码为有效密码,此时若数值差大于零,则表明当前的离线密码与上一次使用的离线密码的生成时间靠后,此时根据第一计数器的值对第二计数器的值进行更新,即使第二计数器的值等于第一计数器的值,有利于保证设备端的实时性。当数值差小于零则确定当前的离线密码与上一次使用的离线密码的生成时间靠前,此时为保证设备端的实时性,不对第二计数器的值进行更新。
参见图5,优选地,如上所述的离线密码的鉴权方法,获取离线密码中的授权信息和防重放攻击验证信息的步骤包括:
步骤S501,将用户输入的离线密码转换为明文数据帧;
步骤S502,根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
步骤S503,当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
在本申请的一优选实施例中,在获取离线密码中的授权信息和防重放攻击验证信息时,由于用户输入的离线密码一般为十进制的数字串,无法直接获取其中所携带的授权信息和防重放攻击验证信息,因此需要将离线密码转换为明文数据帧优选为二进制码流,为保证数据的安全性,因此在生产明文数据帧时会对明文数据帧进行加密,故,在得到名为数据帧后还需要对明文数据帧进行解密,得到解密后的明文数据帧,在本实施例中为进一步的保证明文数据帧的安全性和机密性,采用认证加密算法对明文数据帧进行家,因此在解密时需要根据认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;若得到的解密验证结果为通过,则确定解密后的明文数据帧为完整的数据帧,此时对该明文数据帧进行解析即可得到上述的授权信息和防重放攻击验证信息。若得到的解密验证结果为未通过,则确定解密后的明文数据帧不为完整的数据帧,此时即便对该明文数据帧进行解析,也无法确定得到的授权信息和防重放攻击验证信息的完整性和正确性,因此需要通过声、光、电、文字等形式告知使用者验证失败,便于使用者重新获取离线密码来使用该设备端。
可选地,加密后明文数据帧包括帧头、负载及校验三部分,其中,帧头部分可包括帧类型、版本号等帧控制信息,负载部分可包括有效时间、有效次数等授权信息和时间戳或计数器等防重放攻击验证信息,校验部分用于确保数据帧的完整性和真实性。
下述为不同离线密码的明文数据帧的比特分布的示例
第一示例:26比特对应8位数字串
帧头:2比特;负载:15比特;消息验证码:10比特。
其中,负载处可以为11比特的计数器和4比特的有效次数(限次密码);
或者,12比特的时间戳和3比特的有效时长(限时密码)。
第二示例:33比特对应10位数字串
帧头:4比特;负载:19比特;消息验证码:12比特。
其中,负载可以为12比特的计数器和7比特的有效次数(限次密码);
或者,9比特的计数器、5比特的起始时以及5比特的有效时(循环密码);
或者,13比特的起始日和6比特的有效天数(限时密码);
或者,15比特的起始日和4比特的时间段序号(限时密码)。
第三示例:39比特对应12位数字串
帧头:2比特;负载:23比特;消息验证码:14比特。
其中,负载可以为11比特的计数器和7比特的有效次数(限次密码);
或者,11比特的计数器、5比特的起始时以及5比特的有效时(循环密码);
或者,14比特的起始日和9比特的有效天数(限时密码);
或者,11比特的起始日和5比特的起始时以及5比特的有效时(限时密码)。
参见图6,具体地,如上所述的离线密码的鉴权方法,将用户输入的离线密码转换为明文数据帧的步骤包括:
步骤S601,将离线密码转换为无符号整数;
步骤S602,将无符号整数转换为明文数据帧。
在本申请的一具体实施例中,在将离线密码转换为明文数据帧时,由于本实施例中离线密码优选为十进制数字串,明文数据帧为二进制码流,因此先将离线密码转换为无符号整数,再将无符号整数转换为明文数据帧,有利于保证离线密码与明文数据帧转换的顺利进行,同时有利于避免离线密码与明文数据帧直接转换所消耗的算力。
参见图7,优选地,如上所述的离线密码的鉴权方法,根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧的步骤包括:
步骤S701,根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
步骤S702,根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行MAC的验证,并得到解密验证结果。
在本申请的另一优选实施例中,根据预设的认证加密算法对明文数据帧进行解密验证时,首先根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧,其中采用非对齐的对称加密算法对明文数据帧进行解密或加密,有利于避免二进制码流比特数对齐时对比特的浪费,有利于在有限的数据帧中包含较多的信息,或将有限的信息承载于比特数较少的数据帧中,进而有利于减少离线密码中的数字个数,减小用户的输入难度。
在解密后,根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行MAC的验证,即采用基于密钥分散算法的MAC进行验证,即通过服务端和设备端预置一组共享密钥,可以减少服务端的密钥存储压力,同时设备端可根据自身的唯一标识码和子密钥进行解密,也有利于保证设备端解密时的安全性。
可选地,MAC包括但不限于:散列消息验证码(Hashed Message AuthenticationCode,简称HMAC)和基于密码的消息认证码(Cipher-based Message AuthenticationCode,简称CMAC)。
参见图8,优选地,如上所述的离线密码的鉴权方法,还包括:
步骤S801,在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
步骤S802,当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示;
步骤S803,当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码时,执行获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。
在本申请的一具体实施例中,设备端具有密码存储功能,可以存储预设数量的已输入或已使用密码,从而使得在接收到用户输入的离线密码后,会获取预存的已使用离线密码使用表,并将接收到离线密码与已使用离线密码使用表中的已使用密码进行对比,当确定离线密码为已使用密码时,此时再次使用该密码无法控制设备,生成密码无效信息并进行提示,便于使用者更换密码;
当确定离线密码为未使用密码,则可暂时确定该离线密码可用,此时可执行后续获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。通过该已使用离线密码使用表可将已使用过的密码进行筛选,有利于避免因密码中的第一计数器的值循环使用时,导致相同的离线密码多次使用带来的安全问题。
可选地,在接收到用户输入的离线密码后,还可以获取预存的失效密码表,失效密码表中记载有预设数量的已失效密码;当根据离线密码和失效密码表,确定离线密码为失效密码时,生成密码无效信息并提示;当根据离线密码和失效密码表,确定离线密码为未失效密码时,执行获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。
参见图9,具体地,如上所述的离线密码的鉴权方法,当第一验证结果为非重放攻击时,根据授权信息控制设备端的步骤包括:
步骤S901,根据授权信息确定授权结果;
步骤S902,当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
步骤S903,当授权结果为无效时,生成授权无效信息并提示。
在本申请的另一实施例中,在根据授权信息控制设备端时,会根据授权信息确定用户的授权结果,例如在有效次数剩余、有效时间剩余等情况下确定
该授权结果有效,此时根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限,以充电设备为例,授权信息中的有效范围信息为充电时长,此时开启充电,并保持充电状态的时间的为充电时长。
当授权结果为无效时,确定已超过授权次数或有效时间,此时生成授权无效信息并提示以便于使用者重新获取授权。
参见图10,本申请的再一优选实施例还提供了一种设备端,包括:
获取模块1001,用于在接收到用户输入的离线密码后,获取离线密码中的授权信息和防重放攻击验证信息,其中,防重放攻击验证信息包括:时间戳或第一计数器的值;
第一处理模块1002,用于根据防重放攻击验证信息对离线密码进行重放攻击验证,得到第一验证结果;
第二处理模块1003,用于当第一验证结果为非重放攻击时,根据授权信息控制设备端。
优选地,如上所述的设备端,第一处理模块包括:
第一处理子模块,用于当防重放攻击验证信息为时间戳时,获取授权信息中的有效时长以及设备端的本地时间;
第二处理子模块,用于当本地时间大于时间戳,且与时间戳的时间差小于或等于有效时长时,确定第一验证结果为非重放攻击。
具体地,如上所述的设备端,第一处理模块包括:
第三处理子模块,用于当防重放攻击验证信息为第一计数器的值时,获取设备端存储的第二计数器的值;
第四处理子模块,用于根据第一计数器的值和第二计数器的值,得到第一验证结果。
优选地,如上所述的设备端,第四处理子模块包括:
第一处理单元,用于获取第一计数器的值与第二计数器的值的数值差;
第二处理单元,用于当数值差位于预设取值范围内时,确定第一验证结果为非重放攻击。
具体地,如上所述的设备端,预设取值范围包括下述中的至少一项:
大于零且小于第一预设正值;
小于零且大于第一预设负值;
小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为第二计数器的计数上限值。
进一步的,如上所述的设备端,还包括:
第三处理单元,用于当确定第一验证结果为非重放攻击后,若数值差大于零,则根据第一计数器的值对第二计数器的值进行更新。
优选地,如上所述的设备端,获取模块包括:
第五处理子模块,用于将用户输入的离线密码转换为明文数据帧;
第六处理子模块,用于根据预设的认证加密算法对明文数据帧进行解密验证,并得到解密验证结果和解密后的明文数据帧;
第七处理子模块,用于当解密验证结果为通过时,对解密后的明文数据帧进行解析到授权信息和防重放攻击验证信息。
具体地,如上所述的设备端,第五处理子模块包括:
第一转换单元,用于将离线密码转换为无符号整数;
第二转换单元,用于将无符号整数转换为明文数据帧。
优选地,如上所述的设备端,第六处理模块包括:
第四处理单元,用于根据预设的非对齐的对称加密算法对明文数据帧进行解密,得到解密后的明文数据帧;
第五处理单元,用于根据设备端的唯一标识码和子密钥对解密后的明文数据帧进行MAC的验证,并得到解密验证结果。
优选地,如上所述的设备端,还包括:
第五处理模块,用于在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,已使用离线密码使用表中记载有预设数量的已使用密码;
第六处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为已使用密码时,生成密码无效信息并提示
第七处理模块,用于当根据离线密码和已使用离线密码使用表,确定离线密码为未使用密码。
进一步的,如上所述的设备端,还包括:
具体地,如上所述的设备端,第二处理模块包括:
第八处理子模块,用于根据授权信息确定授权结果;
第九处理子模块,用于当授权结果为有效时,根据授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
第十处理子模块,用于当授权结果为无效时,生成授权无效信息并提示。
本申请的设备端的实施例是与上述离线密码的鉴权方法的实施例对应的设备端,上述离线密码的鉴权方法实施例中的所有实现手段均适用于该设备端的实施例中,也能达到相同的技术效果。
参见图11,本申请的另一优选实施例中还提供了一种离线密码的生成方法,应用于服务端,包括:
步骤S1101,在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
步骤S1102,根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
在本申请的一具体实施例中还提供了一种应用于服务端的离线密码的生成方法,其中,服务端与用户端通信连接,当接收到用户端发送的关于设备端的密码请求信息后,会根据密码请求信息获取对应设备端的防重放攻击验证信息,包括:绝对时间中的时间戳或生成关于设备端的密码的生成次数即第一计数器的值;进而根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端,使得使用者可将用户端接收到的离线密码,输入至对应的设备端,以使设备端进行验证,其中防重放攻击验证信息的设置有利于避免设备端被重放攻击,进而有利于提高离线密码和设备端的安全性。
优选地,如上所述的离线密码的生成方法,根据密码请求信息获取对应设备端的防重放攻击验证信息的步骤包括:
当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
根据第一计数器的历史值得到第一计数器的值。
在本申请的一具体实施例中,在获取防重放攻击验证信息,首先确定防重放攻击验证信息的种类,若防重放攻击验证信息为时间戳,则需要根据密码请求信息中的请求时间确定时间戳,其中优选的请求时间即为时间戳。其中请求时间包括但不限于发送请求的时间和请求使用的时间。若防重放攻击验证信息为第一计数器的值时,则需要获取前一次对应设备端的离线密码生成时的第一计数器的历史值,进而根据该历史值通过增加预设增量得到第一计数器的值。从而保证计数器的值递增。可选地,当第一计数器的值需要循环使用时,若历史值为第一计数器的计数上限值,则确定第一计数器的值为零。
参见图12,具体地,如上所述的离线密码的生成方法,根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码的步骤包括:
步骤S1201,根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
步骤S1202,根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
步骤S1203,将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
在本申请的一具体实施例中,在生成离线密码时,首先根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧,保证数据的传输,进而根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧,有利于保证加密后的明文数据帧的完整性和机密性,进而将加密后的明文数据帧转换为离线密码,便于使用者根据数字串形式的离线密码进行密码的输入或传输。
在将明文数据帧转换为离线密码时,由于本实施例中离线密码优选为十进制数字串,明文数据帧为二进制码流,因此先将明文数据帧转换为无符号整数,再将无符号整数转换为离线密码,有利于保证离线密码与明文数据帧转换的顺利进行,同时有利于避免离线密码与明文数据帧直接转换所消耗的算力。
参见图13,进一步的,如上所述的离线密码的生成方法,根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧的步骤包括:
步骤S1301,根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行MAC的认证加密;
步骤S1302,根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
在本申请的一优选实施例中,对明文数据帧进行加密的步骤包括:首先根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥对明文数据帧进行MAC的认证加密,有利于保护明文数据帧的完整性,放置被恶意篡改,并保证明文数据帧的真实性,实现认证功能。进而在通过非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,在减少空闲比特数的情况下,进一步保证加密后的明文数据帧的完整性和机密性。
参见图14,本申请的另一优选实施例还提供了一种服务端,包括:
第三处理模块1401,用于在接收到用户端发送的关于设备端的密码请求信息后,根据密码请求信息获取对应设备端的防重放攻击验证信息,其中防重放攻击验证信息包括:时间戳或关于设备端的第一计数器的值;
第四处理模块1402,用于根据防重放攻击验证信息以及密码请求信息中的授权信息,生成离线密码,并发送至用户端。
优选地,如上所述的离线密码的生成方法,第三处理模块包括:
第十一处理子模块,用于当预设的防重放攻击验证信息为时间戳时,根据密码请求信息中的请求时间确定时间戳;
第十二处理子模块,用于当预设的防重放攻击验证信息为第一计数器的值时,获取前一次对应设备端的离线密码生成时的第一计数器的历史值;
第十三处理子模块,用于根据第一计数器的历史值得到当前防重放攻击验证信息中的第一计数器的值。
具体地,如上所述的离线密码的生成方法,第四处理模块包括:
第十四处理子模块,用于根据防重放攻击验证信息以及密码请求信息中的授权信息生成明文数据帧;
第十五处理子模块,用于根据预设的认证加密算法对明文数据帧进行加密,得到加密后的明文数据帧;
第十六处理子模块,用于将加密后的明文数据帧转换为离线密码,离线密码为具有预设长度的数字串。
进一步的,如上所述的离线密码的生成方法,第十五处理子模块的步骤包括:
第六处理单元,用于根据设备端的唯一标识码和服务端预存的与设备端对应的根密钥,对明文数据帧进行MAC的认证加密;
第七处理单元,用于根据非对齐的对称加密算法对认证加密后明文数据帧进行二次加密,得到加密后的明文数据帧。
本申请的服务端的实施例是与上述离线密码的生成方法的实施例对应的服务端,上述离线密码的生成方法实施例中的所有实现手段均适用于该服务端的实施例中,也能达到相同的技术效果。
本申请的又一优选实施例还提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的离线密码的鉴权方法,或者实现如上所述的离线密码的生成方法。
此外,本申请可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (18)

1.一种离线密码的鉴权方法,应用于设备端,其特征在于,包括:
在接收到用户输入的离线密码后,获取所述离线密码中的授权信息和防重放攻击验证信息,其中,所述防重放攻击验证信息包括:时间戳或第一计数器的值;
根据所述防重放攻击验证信息对所述离线密码进行重放攻击验证,得到第一验证结果;
当所述第一验证结果为非重放攻击时,根据所述授权信息控制所述设备端。
2.根据权利要求1所述的离线密码的鉴权方法,其特征在于,所述根据所述防重放攻击验证信息对所述离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
当所述防重放攻击验证信息为所述时间戳时,获取所述授权信息中的有效时长以及所述设备端的本地时间;
当所述本地时间大于所述时间戳,且与所述时间戳的时间差小于或等于所述有效时长时,确定所述第一验证结果为非重放攻击。
3.根据权利要求1所述的离线密码的鉴权方法,其特征在于,所述根据所述防重放攻击验证信息对所述离线密码进行重放攻击验证,得到第一验证结果的步骤包括:
当所述防重放攻击验证信息为所述第一计数器的值时,获取所述设备端存储的第二计数器的值;
根据所述第一计数器的值和所述第二计数器的值,得到所述第一验证结果。
4.根据权利要求3所述的离线密码的鉴权方法,其特征在于,所述根据第一计数器的值和所述第二计数器的值,得到所述第一验证结果的步骤包括:
获取所述第一计数器的值与所述第二计数器的值的数值差;
当所述数值差位于预设取值范围内时,确定所述第一验证结果为非重放攻击。
5.根据权利要求4所述的离线密码的鉴权方法,其特征在于,所述预设取值范围包括下述中的至少一项:
大于零且小于第一预设正值;
小于零且大于第一预设负值;
小于第二预设负值且大于等于第三预设负值,其中,第三预设负值的绝对值为所述第二计数器的计数上限值。
6.根据权利要求4所述的离线密码的鉴权方法,其特征在于,还包括:
当确定所述第一验证结果为非重放攻击后,若所述数值差大于零,则根据所述第一计数器的值对所述第二计数器的值进行更新。
7.根据权利要求1所述的离线密码的鉴权方法,其特征在于,所述获取所述离线密码中的授权信息和防重放攻击验证信息的步骤包括:
将用户输入的所述离线密码转换为明文数据帧;
根据预设的认证加密算法对所述明文数据帧进行解密验证,并得到解密验证结果和解密后的所述明文数据帧;
当所述解密验证结果为通过时,对解密后的所述明文数据帧进行解析到授权信息和防重放攻击验证信息。
8.根据权利要求7所述的离线密码的鉴权方法,其特征在于,所述将用户输入的所述离线密码转换为明文数据帧的步骤包括:
将所述离线密码转换为无符号整数;
将所述无符号整数转换为所述明文数据帧。
9.根据权利要求7所述的离线密码的鉴权方法,其特征在于,所述根据预设的认证加密算法对所述明文数据帧进行解密验证,并得到解密验证结果和解密后的所述明文数据帧的步骤包括:
根据预设的非对齐的对称加密算法对所述明文数据帧进行解密,得到解密后的所述明文数据帧;
根据所述设备端的唯一标识码和子密钥对解密后的所述明文数据帧进行消息验证码MAC的验证,并得到所述解密验证结果。
10.根据权利要求1所述的离线密码的鉴权方法,其特征在于,还包括:
在接收到用户输入的离线密码后,获取预存的已使用离线密码使用表,所述已使用离线密码使用表中记载有预设数量的已使用密码;
当根据所述离线密码和所述已使用离线密码使用表,确定所述离线密码为已使用密码时,生成密码无效信息并提示
当所述根据所述离线密码和所述已使用离线密码使用表,确定所述离线密码为未使用密码时,执行获取所述离线密码中的授权信息和防重放攻击验证信息的步骤。
11.根据权利要求1所述的离线密码的鉴权方法,其特征在于,当所述第一验证结果为非重放攻击时,根据所述授权信息控制所述设备端的步骤包括:
根据所述授权信息确定授权结果;
当所述授权结果为有效时,根据所述授权信息中的有效范围信息,在有效范围内开放对应的控制权限;
当所述授权结果为无效时,生成授权无效信息并提示。
12.一种设备端,其特征在于,包括:
获取模块,用于在接收到用户输入的离线密码后,获取所述离线密码中的授权信息和防重放攻击验证信息,其中,所述防重放攻击验证信息包括:时间戳或第一计数器的值;
第一处理模块,用于根据所述防重放攻击验证信息对所述离线密码进行重放攻击验证,得到第一验证结果;
第二处理模块,用于当所述第一验证结果为非重放攻击时,根据所述授权信息控制所述设备端。
13.一种离线密码的生成方法,应用于服务端,其特征在于,包括:
在接收到用户端发送的关于设备端的密码请求信息后,根据所述密码请求信息获取对应所述设备端的防重放攻击验证信息,其中所述防重放攻击验证信息包括:时间戳或关于所述设备端的第一计数器的值;
根据所述防重放攻击验证信息以及所述密码请求信息中的授权信息,生成所述离线密码,并发送至所述用户端。
14.根据权利要求13所述的离线密码的生成方法,其特征在于,根据所述密码请求信息获取对应所述设备端的防重放攻击验证信息的步骤包括:
当预设的所述防重放攻击验证信息为时间戳时,根据所述密码请求信息中的请求时间确定所述时间戳;
当预设的所述防重放攻击验证信息为第一计数器的值时,获取前一次对应所述设备端的离线密码生成时的第一计数器的历史值;
根据所述第一计数器的历史值得到当前所述防重放攻击验证信息中的所述第一计数器的值。
15.根据权利要求13所述的离线密码的生成方法,其特征在于,所述根据所述防重放攻击验证信息以及所述密码请求信息中的授权信息,生成所述离线密码的步骤包括:
根据所述防重放攻击验证信息以及所述密码请求信息中的授权信息生成明文数据帧;
根据预设的认证加密算法对所述明文数据帧进行加密,得到加密后的所述明文数据帧;
将加密后的所述明文数据帧转换为所述离线密码,所述离线密码为具有预设长度的数字串。
16.根据权利要求14所述的离线密码的生成方法,其特征在于,所述根据预设的认证加密算法对所述明文数据帧进行加密,得到加密后的所述明文数据帧的步骤包括:
根据所述设备端的唯一标识码和所述服务端预存的与所述设备端对应的根密钥,对所述明文数据帧进行MAC的认证加密;
根据非对齐的对称加密算法对认证加密后所述明文数据帧进行二次加密,得到加密后的所述明文数据帧。
17.一种服务端,其特征在于,包括:
第三处理模块,用于在接收到用户端发送的关于设备端的密码请求信息后,根据所述密码请求信息获取对应所述设备端的防重放攻击验证信息,其中所述防重放攻击验证信息包括:时间戳或关于所述设备端的第一计数器的值;
第四处理模块,用于根据所述防重放攻击验证信息以及所述密码请求信息中的授权信息,生成离线密码,并发送至所述用户端。
18.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11中任一项所述的离线密码的鉴权方法,或者实现如权利要求12至15中任一项所述的离线密码的生成方法。
CN202110632833.XA 2021-06-07 2021-06-07 一种离线密码的鉴权方法、生成方法、设备端及服务端 Active CN115460598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110632833.XA CN115460598B (zh) 2021-06-07 2021-06-07 一种离线密码的鉴权方法、生成方法、设备端及服务端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110632833.XA CN115460598B (zh) 2021-06-07 2021-06-07 一种离线密码的鉴权方法、生成方法、设备端及服务端

Publications (2)

Publication Number Publication Date
CN115460598A true CN115460598A (zh) 2022-12-09
CN115460598B CN115460598B (zh) 2024-08-27

Family

ID=84294445

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110632833.XA Active CN115460598B (zh) 2021-06-07 2021-06-07 一种离线密码的鉴权方法、生成方法、设备端及服务端

Country Status (1)

Country Link
CN (1) CN115460598B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739659A (zh) * 2012-06-16 2012-10-17 华南师范大学 一种防重放攻击的认证方法
CN102761560A (zh) * 2012-08-01 2012-10-31 飞天诚信科技股份有限公司 一种验证信息完整性的方法和系统
US8392709B1 (en) * 2009-04-28 2013-03-05 Adobe Systems Incorporated System and method for a single request—single response protocol with mutual replay attack protection
US20150089236A1 (en) * 2013-09-24 2015-03-26 The Regents Of The University Of Michigan Real-Time Frame Authentication Using ID Anonymization In Automotive Networks
CN106789997A (zh) * 2016-12-12 2017-05-31 中国传媒大学 一种防重放攻击的加密方法
CN108512848A (zh) * 2018-03-31 2018-09-07 深圳大普微电子科技有限公司 防重放攻击的方法以及相关装置
CN108737110A (zh) * 2018-05-23 2018-11-02 中汇会计师事务所(特殊普通合伙) 一种用于防重放攻击的数据加密传输方法及装置
CN110324360A (zh) * 2019-08-02 2019-10-11 联永智能科技(上海)有限公司 离线密码设置、管理方法、装置、系统、服务器及介质
US20190379653A1 (en) * 2013-04-08 2019-12-12 Titanium Crypt, Inc. Accelerated communication attack detection
CN110611564A (zh) * 2019-07-30 2019-12-24 云南昆钢电子信息科技有限公司 一种基于时间戳的api重放攻击的防御系统及方法
US10749680B1 (en) * 2019-03-25 2020-08-18 Micron Technology, Inc. Secure communication between a vehicle and a remote device
US10785035B1 (en) * 2019-04-26 2020-09-22 Alibaba Group Holding Limited Anti-replay attack authentication protocol
US20200344058A1 (en) * 2019-04-29 2020-10-29 Google Llc Systems and methods for distributed verification of online identity
CN112711759A (zh) * 2020-12-28 2021-04-27 山东鲁能软件技术有限公司 一种防重放攻击漏洞安全防护的方法及系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8392709B1 (en) * 2009-04-28 2013-03-05 Adobe Systems Incorporated System and method for a single request—single response protocol with mutual replay attack protection
CN102739659A (zh) * 2012-06-16 2012-10-17 华南师范大学 一种防重放攻击的认证方法
CN102761560A (zh) * 2012-08-01 2012-10-31 飞天诚信科技股份有限公司 一种验证信息完整性的方法和系统
US20190379653A1 (en) * 2013-04-08 2019-12-12 Titanium Crypt, Inc. Accelerated communication attack detection
US20150089236A1 (en) * 2013-09-24 2015-03-26 The Regents Of The University Of Michigan Real-Time Frame Authentication Using ID Anonymization In Automotive Networks
CN106789997A (zh) * 2016-12-12 2017-05-31 中国传媒大学 一种防重放攻击的加密方法
CN108512848A (zh) * 2018-03-31 2018-09-07 深圳大普微电子科技有限公司 防重放攻击的方法以及相关装置
CN108737110A (zh) * 2018-05-23 2018-11-02 中汇会计师事务所(特殊普通合伙) 一种用于防重放攻击的数据加密传输方法及装置
US10749680B1 (en) * 2019-03-25 2020-08-18 Micron Technology, Inc. Secure communication between a vehicle and a remote device
US10785035B1 (en) * 2019-04-26 2020-09-22 Alibaba Group Holding Limited Anti-replay attack authentication protocol
US20200344058A1 (en) * 2019-04-29 2020-10-29 Google Llc Systems and methods for distributed verification of online identity
CN110611564A (zh) * 2019-07-30 2019-12-24 云南昆钢电子信息科技有限公司 一种基于时间戳的api重放攻击的防御系统及方法
CN110324360A (zh) * 2019-08-02 2019-10-11 联永智能科技(上海)有限公司 离线密码设置、管理方法、装置、系统、服务器及介质
CN112711759A (zh) * 2020-12-28 2021-04-27 山东鲁能软件技术有限公司 一种防重放攻击漏洞安全防护的方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
G. EDWARD SUH ECT.: "Efficient Memory Integrity Verification and Encryption for Secure Processors", 《MICRO 36: PROCEEDINGS OF THE 36TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE》, 3 December 2003 (2003-12-03) *
农丽萍;王力虎;黄一平;: "基于JSP的短信服务器接口安全性设计", 计算机应用与软件, no. 10, 15 October 2010 (2010-10-15) *

Also Published As

Publication number Publication date
CN115460598B (zh) 2024-08-27

Similar Documents

Publication Publication Date Title
US6819766B1 (en) Method and system for managing keys for encrypted data
CN102970299A (zh) 文件安全保护系统及其方法
US20150052350A1 (en) System and method for authenticating a user
CA2498684A1 (en) Apparatus for encryption key management
WO2009155813A1 (zh) 一种在客户端保存加密数据的方法及系统
WO2022193620A1 (zh) 一种用于网络文件保护的编解码方法、装置
CN112565205B (zh) 可信认证和度量方法、服务器、终端及可读存储介质
CN111080845A (zh) 临时解锁方法、系统、门锁、管理员终端和可读存储介质
CN110601822A (zh) 一种基于量子保密通信技术的加密盲签名方法
CN103036674A (zh) 基于手机动态密码的电脑使用权限控制方法
WO2021109817A1 (zh) 密钥的更新方法、数据解密方法、数字签名的验证方法
KR20200135157A (ko) 네트워크 보안 대칭형 양자 암호키 기반 암호화 장치
RU2698424C1 (ru) Способ управления авторизацией
CN107104792B (zh) 一种便携式移动口令管理系统及其管理方法
CN116170131B (zh) 密文处理方法、装置、存储介质及可信执行设备
CN111182483B (zh) 终端及其呼叫限制补充业务重置密码的方法和系统
CN115460598B (zh) 一种离线密码的鉴权方法、生成方法、设备端及服务端
CN108632295B (zh) 防止终端反复攻击服务器的方法
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法
CN111489461B (zh) 一种集团用蓝牙钥匙系统
CN112231662A (zh) 一种基于sm2算法的二维码的注册认证方法及系统
CN115994343B (zh) 一种激光切割设备的软件授权方法及系统
CN116707802B (zh) 基于密钥加密密钥(kek)的授权管理方法及系统
JP2001357018A (ja) 動的パスワード認証方法、装置およびその方法を記録した記録媒体
CN111865565B (zh) 秘钥管理方法、智能设备、服务器和移动终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant