CN108777615A - 动态口令认证方法和装置 - Google Patents

动态口令认证方法和装置 Download PDF

Info

Publication number
CN108777615A
CN108777615A CN201811083683.6A CN201811083683A CN108777615A CN 108777615 A CN108777615 A CN 108777615A CN 201811083683 A CN201811083683 A CN 201811083683A CN 108777615 A CN108777615 A CN 108777615A
Authority
CN
China
Prior art keywords
dynamic password
information
facility information
user
equipment
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
CN201811083683.6A
Other languages
English (en)
Other versions
CN108777615B (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.)
Shanghai Union Software Technology Co Ltd
Original Assignee
Shanghai Union Software Technology 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 Shanghai Union Software Technology Co Ltd filed Critical Shanghai Union Software Technology Co Ltd
Priority to CN201811083683.6A priority Critical patent/CN108777615B/zh
Publication of CN108777615A publication Critical patent/CN108777615A/zh
Application granted granted Critical
Publication of CN108777615B publication Critical patent/CN108777615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种动态口令认证方法和装置;其中,该方法包括:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。本发明可以降低对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。

Description

动态口令认证方法和装置
技术领域
本发明涉及物联网技术领域,尤其是涉及一种动态口令认证方法和装置。
背景技术
随着物联网设备不断发展,在线手机开锁、手机控制设备和设备身份识别等应用越来越频繁;如图1所示,现有最常见的方式大多为用户通过用户端(也可以称为客户端)触发操作,例如,具体的触发方式可以为扫描设备的二维码等;用户端向服务器(具体可以为云端服务器)发送执行触发指令,服务器对该指令进行处理,如用户身份信息的认证、根据认定查找对应的设备标识等;处理完毕后,服务端向设备标识对应的设备发出指令,以控制该设备执行相应的操作。但上述这种方式,当设备端处于离线状态下(例如断网或处于无网络覆盖的地区),设备将无法接收服务器的执行请求。并且,如果服务器离线或宕机,设备也无法执行相应的请求。
针对上述现有的设备控制方式或认证方式过于依赖网络通信,如果设备离线,则难以实现设备的控制或认证的问题,尚未提出有效的解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种动态口令认证方法和装置,以降低对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。
第一方面,本发明实施例提供了一种动态口令认证方法,方法应用于客户端或服务器;方法包括:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。
在本发明较佳的实施例中,上述根据设备信息,生成与当前时间对应的第一动态口令的步骤,包括:对设备信息进行第一加密运算,得到信息密钥;通过预设的加密算法和当前时间对应的时间参数,对信息密钥进行第二加密运算,得到初始动态口令;时间参数为当前时间与预设的口令有效时间长度的比值;对初始动态口令进行截取处理,得到预设位数的第一动态口令。
在本发明较佳的实施例中,上述方法还包括:获取用户的身份信息或用户选择的服务类型信息;上述对设备信息进行第一加密运算,得到信息密钥的步骤,包括:对设备信息和身份信息进行第一加密运算,得到信息密钥;或者,对设备信息和服务类型信息进行第一加密运算,得到信息密钥。
第二方面,本发明实施例提供了一种动态口令认证方法,该方法应用于设备;方法包括:接收用户输入的第一动态口令;第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户;根据设备自身的设备信息,生成与当前时间对应的第二动态口令;如果第二动态口令与接收到的第一动态口令相匹配,确定动态口令认证成功。
在本发明较佳的实施例中,上述根据设备自身的设备信息,生成与当前时间对应的第二动态口令的步骤,包括:将设备信息进行第一加密运算,得到信息密钥;通过预设的加密算法和当前时间对应的时间参数,对信息密钥进行第二加密运算,得到初始动态口令;时间参数为当前时间与预设的口令有效时间长度的比值;对初始动态口令进行截取处理,得到预设位数的第二动态口令。
在本发明较佳的实施例中,上述如果设备中预先保存有多种服务类型信息;对于每种服务类型信息,将设备信息进行第一加密运算,得到信息密钥的步骤包括:将设备信息和服务类型信息进行第一加密运算,得到信息密钥;如果设备中预先保存有多个合法用户的身份信息;对于每个身份信息,将设备信息进行第一加密运算,得到信息密钥的步骤包括:将设备信息和身份信息进行第一加密运算,得到信息密钥。
在本发明较佳的实施例中,上述如果第二动态口令与接收到的第一动态口令相匹配,确定动态口令认证成功的步骤,包括:判断第二动态口令与接收到的第一动态口令的差值是否在预设的范围内;如果是,确定动态口令认证成功。
在本发明较佳的实施例中,上述确定动态口令认证成功的步骤之后,方法还包括:执行与第二动态口令相匹配的任务程序。
第三方面,本发明实施例提供了一种动态口令认证装置,该装置设置于客户端或服务器;装置包括:指令接收模块,用于接收用户发出的认证指令;信息获取模块,用于获取认证指令对应的设备信息;第一口令生成模块,用于根据设备信息,生成与当前时间对应的第一动态口令;口令反馈模块,用于将第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。
第四方面,本发明实施例提供了一种动态口令认证装置,装置设置于设备;装置包括:口令接收模块,用于接收用户输入的第一动态口令;第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户;第二口令生成模块,用于根据设备自身的设备信息,生成与当前时间对应的第二动态口令;认证模块,用于如果第二动态口令与接收到的第一动态口令相匹配,确定动态口令认证成功。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种动态口令认证方法和装置,接收到用户发出的认证指令后,获取该认证指令对应的设备信息;进而根据该设备信息,生成与当前时间对应的第一动态口令;最后将该第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。该方式通过动态口令的方式可以实现离线设备的控制或者离线设备对用户的访问权限认证,降低了对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的设备控制方式示意图;
图2为本发明实施例提供的一种动态口令认证方法的流程图;
图3为本发明实施例提供的另一种动态口令认证方法的流程图;
图4为本发明实施例提供的另一种动态口令认证方法的流程图;
图5为本发明实施例提供的另一种动态口令认证方法的流程图;
图6为本发明实施例提供的另一种动态口令认证方法的流程图;
图7为本发明实施例提供的另一种动态口令认证方法的流程图;
图8为本发明实施例提供的一种动态口令认证装置的结构示意图;
图9为本发明实施例提供的另一种动态口令认证装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到现有的设备控制方式或认证方式过于依赖网络通信,如果设备离线,则难以实现设备的控制或认证的问题,本发明实施例提供了一种动态口令认证方法和装置;该技术可以应用于离线设备的控制或离线设备的认证过程中;为便于对本实施例进行理解,首先对本发明实施例所公开的一种动态口令认证方法进行详细介绍。
本发明实施例提供的一种动态口令认证方法,该方法应用于客户端或服务器;在实际实现时,该方法可以由客户端执行,也可以由服务器执行;其中,该客户端具体可以为手机、平板电脑等移动终端;该服务器具体可以为云端服务器。
如图2所示,该方法包括如下步骤:
步骤S202,接收用户发出的认证指令;
如果该方法应用于客户端,该认证指令可以由用户在客户端上点击相应的按钮或扫描、填写相应的信息得到;例如,用户可以通过客户端扫描设备上的二维码,获取到设备信息后发出该认证指令。如果该方法应用于云端服务器,用户可以通过手机等移动终端发出该认证指令。此时,该认证指令中通常携带有用户的身份信息,如账户信息、手机号等。
步骤S204,获取认证指令对应的设备信息;
该设备信息通常包含用于唯一标识设备身份的设备标识;该设备信息可以从认证指令中提取,也可以由设备标识库中提取。例如,用户通过客户端扫描设备的二维码后,可以从二维码中获取该设备的设备标识,客户端将该设备标识携带至上述认证指令中,进而发送至云端服务器,此时,设备信息即可从认证指令中获取。再如,用户再发出认证指令前,从客户端中的设备表示库中选择设备标识,此时,可以根据用户的选择获取该设备信息。
步骤S206,根据设备信息,生成与当前时间对应的第一动态口令;
具体而言,可以预先设置动态口令的生成算法,将上述设备信息和当前时间作为输入参数,输入至该生成算法中,得到第一动态口令;其中,当前时间可以为接收到认证指令的时间,该当前时间具体可以通过时间戳的形式表示。上述动态口令的生成算法具体可以为加密算法或其他数据变换算法;该生成算法的输入参数除上述设备信息和当前时间以外,还可以包含用户选择的服务类型信息、用户的身份信息、动态口令的有效期、动态口令的位数等。上述第一动态口令具体可以为指定位数的字符串,该字符串可以为数字、符号、字母、汉字等类型,也可以同时包含其中的多种类型。
步骤S208,将第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。
用户可以从该设备上的交互接口将上述第一动态口令输入至设备中;该交互接口可以为键盘、触摸屏、扫描器或图像识别器等;设备接收到高第一动态口令后,可以根据该设备自身的设备标识和当前时间生成一个第二动态口令,根据该第二动态口令对上述第一动态口令进行认证。具体而言,如果接收到的第一动态口令与第二动态口令相匹配(如相同,或二者的差值在预设范围内),则说明该用户输入的第一动态口令是针对该设备的,此时,设备可以确认该用户具有访问、控制或操作该设备的权限,因而设备执行对应的动作;例如,开锁、启动设备提供相关服务等。
本发明实施例提供的一种动态口令认证方法,接收到用户发出的认证指令后,获取该认证指令对应的设备信息;进而根据该设备信息,生成与当前时间对应的第一动态口令;最后将该第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。该方式通过动态口令的方式可以实现离线设备的控制或者离线设备对用户的访问权限认证,降低了对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。
本发明实施例还提供了另一种动态口令认证方法,该方法应用于客户端或服务器;该方法在上述实施例所示方法的基础上实现,如图3所示,该方法包括如下步骤:
步骤S302,接收用户发出的认证指令;
步骤S304,获取认证指令对应的设备信息;获取用户的身份信息或用户选择的服务类型信息;
在实际实现时,除获取设备信息外,还需要根据设备的不同类型,获取用户的身份信息或用户选择的服务类型信息;具体地,对于提供服务的设备,如共享单车、共享按摩椅等,需要获取用户选择的服务类型信息;对于按摩椅而言,该服务类型信息可以为按摩时间、按摩部位等信息,因此服务类型信息也可以称为套餐信息。对于具有保密性质的设备,如内网监控摄像设备等,需要认证当前用户是否具有访问或操作权限,此时需要获取用户的身份信息,如身份证号、手机号或者人脸特征等。
步骤S306,对设备信息和身份信息进行第一加密运算,得到信息密钥;或者,对设备信息和服务类型信息进行第一加密运算,得到信息密钥。另外,还可以仅对设备信息进行第一加密运算,得到信息密钥;该第一加密运算可以为哈希运算、多重哈希运算或其他密码算法。
步骤S308,通过预设的加密算法和当前时间对应的时间参数,对信息密钥进行第二加密运算,得到初始动态口令;该时间参数为当前时间与预设的口令有效时间长度的比值;
该预设的加密算法可以为HMAC(Hash-based Message Authentication Code,哈希消息认证码)-SHA1加密算法,当然也可以通过其他加密算法实现;上述时间参数也可以称为时间间隔内的C值,该时间间隔即为上述口令有效时间长度,该时间间隔可以根据时间需求设定,例如,几秒、几分钟等;上述当前时间具体可以包括当前的年、月、日、时、分、秒,也可以仅包括其中的一部分。上述当前时间可以用当前时间戳表示;因此,上述时间间隔内的C值=当前时间戳/时间间隔。
由于时间一直在变化,当前时间戳也随之变化,因此,上述初始动态口令通常会随着时间的变化始终不同,因此,该初始动态口令的随机性更大,从而可以提高动态口令的安全性。
步骤S310,对初始动态口令进行截取处理,得到预设位数的第一动态口令。
通过上述第二加密运算得到的初始动态口令可能具有很长的位数,为了便于用户输入,可以预先设定动态口令的位数,从上述初始动态口令中截取该预设位数的字符,得到上述第一动态口令。具体地,可以从初始动态口令头部、尾部或中间的指定位置处截取预设位数的字符,也可以从初始动态口令随机提取预设位数的字符,组成上述第一动态口令。
步骤S312,将第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。
上述动态口令认证方法,通过动态口令的方式可以实现离线设备的控制或者离线设备对用户的访问权限认证,降低了对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。
本发明实施例还提供了另一种动态口令认证方法,该方法应用于设备,该设备可以为共享单车、共享按摩椅等提供服务的设备,也可以为内网监控摄像设备等具有保密性质的设备等;如图4所示,该方法包括如下步骤:
步骤S402,接收用户输入的第一动态口令;第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户;
步骤S404,根据设备自身的设备信息,生成与当前时间对应的第二动态口令;
具体而言,可以预先设置动态口令的生成算法,将上述设备信息和当前时间作为输入参数,输入至该生成算法中,得到第二动态口令;该生成算法通常与上述客户端或服务器生成第一动态口令时所使用的生成算法相匹配,以使该第二动态口令与第一动态口令具有可比性。
上述当前时间可以为接收到认证指令的时间,该当前时间具体可以通过时间戳的形式表示。上述动态口令的生成算法具体可以为加密算法或其他数据变换算法;该生成算法的输入参数除上述设备信息和当前时间以外,还可以包含用户选择的服务类型信息、用户的身份信息、动态口令的有效期、动态口令的位数等。上述第一动态口令具体可以为指定位数的字符串,该字符串可以为数字、符号、字母、汉字等类型,也可以同时包含其中的多种类型。
步骤S406,如果第二动态口令与接收到的第一动态口令相匹配,确定动态口令认证成功。
考虑到第一动态口令的当前时间与第二动态口令的当前时间存在一定的时间差,因而第二动态口令与第一动态口令可能相同,也可能不完全相同;如果二者的差值在预设范围内,则可以确定动态口令认证成功。
本发明实施例提供的上述动态口令认证方法,设备接收到用户输入的第一动态口令后,根据该设备自身的设备信息,生成与当前时间对应的第二动态口令;如果该第二动态口令与接收到的第一动态口令相匹配,确定动态口令认证成功。该方式通过动态口令的方式可以实现离线设备的控制或者离线设备对用户的访问权限认证,降低了对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。
本发明实施例还提供了另一种动态口令认证方法,该方法应用于设备;该方法在上述实施例所示方法的基础上实现,如图5所示,该方法包括如下步骤:
步骤S502,接收用户输入的第一动态口令;该第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户;
步骤S504,如果设备中预先保存有多种服务类型信息;对于每种服务类型信息,将设备信息和服务类型信息进行第一加密运算,得到信息密钥。如果设备中预先保存有多个合法用户的身份信息;将设备信息和身份信息进行第一加密运算,得到信息密钥。另外,还可以仅对设备信息进行第一加密运算,得到信息密钥;该第一加密运算可以为哈希运算、多重哈希运算或其他密码算法。
步骤S506,通过预设的加密算法和当前时间对应的时间参数,对信息密钥进行第二加密运算,得到初始动态口令;该时间参数为当前时间与预设的口令有效时间长度的比值;
该预设的加密算法可以为HMAC(Hash-based Message Authentication Code,哈希消息认证码)-SHA1加密算法,当然也可以通过其他加密算法实现;通常,设备对信息密钥进行第二加密运算所使用的加密算法与前述客户端或服务器对信息密钥进行第二加密运算所使用的加密算法相匹配。
上述时间参数也可以称为时间间隔内的C值,该时间间隔即为上述口令有效时间长度,该时间间隔可以根据时间需求设定,例如,几秒、几分钟等;上述当前时间具体可以包括当前的年、月、日、时、分、秒,也可以仅包括其中的一部分。上述当前时间可以用当前时间戳表示;因此,上述时间间隔内的C值=当前时间戳/时间间隔。
由于时间一直在变化,当前时间戳也随之变化,因此,上述初始动态口令通常会随着时间的变化始终不同,因此,该初始动态口令的随机性更大,从而可以提高动态口令的安全性。
步骤S508,对初始动态口令进行截取处理,得到预设位数的第二动态口令。
通过上述第二加密运算得到的初始动态口令可能具有很长的位数,为了便于用户输入,可以预先设定动态口令的位数,从上述初始动态口令中截取该预设位数的字符,得到上述第二动态口令。具体地,可以从初始动态口令头部、尾部或中间的指定位置处截取预设位数的字符,也可以从初始动态口令随机提取预设位数的字符,组成上述第二动态口令。
步骤S510,判断第二动态口令与接收到的第一动态口令的差值是否在预设的范围内;如果是,执行步骤S512;如果否,执行步骤S514;
步骤S512,确定动态口令认证成功,执行与第二动态口令相匹配的任务程序。
步骤S514,确定动态口令认证失败。
本发明实施例还提供了另一种动态口令认证方法,该方法应用于设备;该方法在上述实施例所示方法的基础上实现,本实施例中,以设备中预先保存有多种服务类型信息为例进行具体描述;如图6所示,该方法包括如下步骤:
步骤S602,接收用户输入的第一动态口令;
步骤S604,设置i的初始值为1;
步骤S606,从预先保存多种服务类型信息中获取第i个服务类型信息;
步骤S608,判断i是否小于或等于N,N为服务类型信息种类总数;如果是,执行步骤S610,如果否,结束;
步骤S610,将设备信息和服务类型信息进行第一加密运算,得到信息密钥;
步骤S612,通过预设的加密算法和当前时间对应的时间参数,对信息密钥进行第二加密运算,得到初始动态口令;该时间参数为当前时间与预设的口令有效时间长度的比值;
步骤S614,对初始动态口令进行截取处理,得到预设位数的第二动态口令。
步骤S616,判断第二动态口令与接收到的第一动态口令的差值是否在预设的范围内;如果是,执行步骤S618;如果否,i=i+1,继续执行步骤S606;
步骤S618,确定动态口令认证成功,执行与第二动态口令相匹配的任务程序。
上述方式通过动态口令的方式可以实现离线设备的控制或者离线设备对用户的访问权限认证,降低了对网络通信的过度依赖性,使得设备控制或认证的操作更加便捷、安全性更高。
本发明实施例还提供了另一种动态口令认证方法,该方法通过用户、客户端或服务器、以及离线设备三方交互实现;如图7所示,该方法包括如下步骤:
步骤S702,用户向客户端或服务费发送认证指令;该认证指令可以用于用户权限认证、开锁、控制设备运行等。
步骤S704,客户端或服务器生成第一动态口令;
步骤S706,客户端或服务器向用户展示第一动态口令;
步骤S708,用户向设备输入第一动态口令;
步骤S710,设备生成第二动态口令,根据该第二动态口令验证该第一动态口令;
步骤S712,验证通过后,设备开始执行对应的动作。
上述实施例提供的动态口令认证方法,适用于普遍离线设备的的安全认证;该离线认证不仅可以进行用户身份证,还能带入相应信息认证,如套餐信息、权限信息等;该方法不需要更多的用户端(客户端)第三方硬件,如蓝牙/近场通信NFC设备等的支持。
对应于上述方法实施例,参见图8所示的一种动态口令认证装置的结构示意图,该装置设置于客户端或服务器;该装置包括:
指令接收模块80,用于接收用户发出的认证指令;
信息获取模块81,用于获取认证指令对应的设备信息;
第一口令生成模块82,用于根据设备信息,生成与当前时间对应的第一动态口令;
口令反馈模块83,用于将第一动态口令反馈给用户,以使用户将第一动态口令输入至设备信息对应的设备上,通过设备对第一动态口令进行认证。
参见图9所示的另一种动态口令认证装置的结构示意图,该装置设置于设备;该装置包括:
口令接收模块90,用于接收用户输入的第一动态口令;第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取认证指令对应的设备信息;根据设备信息,生成与当前时间对应的第一动态口令;将第一动态口令反馈给用户;
第二口令生成模块91,用于根据设备自身的设备信息,生成与当前时间对应的第二动态口令;
认证模块92,用于如果第二动态口令与接收到的第一动态口令相匹配,确定动态口令认证成功。
本发明实施例提供的动态口令认证装置,与上述实施例提供的动态口令认证方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的动态口令认证方法和装置的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种动态口令认证方法,其特征在于,所述方法应用于客户端或服务器;所述方法包括:
接收用户发出的认证指令;
获取所述认证指令对应的设备信息;
根据所述设备信息,生成与当前时间对应的第一动态口令;
将所述第一动态口令反馈给所述用户,以使所述用户将所述第一动态口令输入至所述设备信息对应的设备上,通过所述设备对所述第一动态口令进行认证。
2.根据权利要求1所述的方法,其特征在于,根据所述设备信息,生成与当前时间对应的第一动态口令的步骤,包括:
对所述设备信息进行第一加密运算,得到信息密钥;
通过预设的加密算法和当前时间对应的时间参数,对所述信息密钥进行第二加密运算,得到初始动态口令;所述时间参数为所述当前时间与预设的口令有效时间长度的比值;
对所述初始动态口令进行截取处理,得到预设位数的第一动态口令。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述用户的身份信息或所述用户选择的服务类型信息;
对所述设备信息进行第一加密运算,得到信息密钥的步骤,包括:
对所述设备信息和所述身份信息进行第一加密运算,得到信息密钥;
或者,对所述设备信息和所述服务类型信息进行第一加密运算,得到信息密钥。
4.一种动态口令认证方法,其特征在于,所述方法应用于设备;所述方法包括:
接收用户输入的第一动态口令;所述第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取所述认证指令对应的设备信息;根据所述设备信息,生成与当前时间对应的第一动态口令;将所述第一动态口令反馈给所述用户;
根据所述设备自身的设备信息,生成与当前时间对应的第二动态口令;
如果所述第二动态口令与接收到的所述第一动态口令相匹配,确定动态口令认证成功。
5.根据权利要求4所述的方法,其特征在于,所述根据所述设备自身的设备信息,生成与当前时间对应的第二动态口令的步骤,包括:
将所述设备信息进行第一加密运算,得到信息密钥;
通过预设的加密算法和当前时间对应的时间参数,对所述信息密钥进行第二加密运算,得到初始动态口令;所述时间参数为所述当前时间与预设的口令有效时间长度的比值;
对所述初始动态口令进行截取处理,得到预设位数的第二动态口令。
6.根据权利要求5所述的方法,其特征在于,如果所述设备中预先保存有多种服务类型信息;对于每种服务类型信息,所述将所述设备信息进行第一加密运算,得到信息密钥的步骤包括:将所述设备信息和所述服务类型信息进行第一加密运算,得到信息密钥;
如果所述设备中预先保存有多个合法用户的身份信息;对于每个身份信息,所述将所述设备信息进行第一加密运算,得到信息密钥的步骤包括:将所述设备信息和所述身份信息进行第一加密运算,得到信息密钥。
7.根据权利要求4所述的方法,其特征在于,如果所述第二动态口令与接收到的所述第一动态口令相匹配,确定动态口令认证成功的步骤,包括:
判断所述第二动态口令与接收到的所述第一动态口令的差值是否在预设的范围内;
如果是,确定动态口令认证成功。
8.根据权利要求4所述的方法,其特征在于,确定动态口令认证成功的步骤之后,所述方法还包括:执行与所述第二动态口令相匹配的任务程序。
9.一种动态口令认证装置,其特征在于,所述装置设置于客户端或服务器;所述装置包括:
指令接收模块,用于接收用户发出的认证指令;
信息获取模块,用于获取所述认证指令对应的设备信息;
第一口令生成模块,用于根据所述设备信息,生成与当前时间对应的第一动态口令;
口令反馈模块,用于将所述第一动态口令反馈给所述用户,以使所述用户将所述第一动态口令输入至所述设备信息对应的设备上,通过所述设备对所述第一动态口令进行认证。
10.一种动态口令认证装置,其特征在于,所述装置设置于设备;所述装置包括:
口令接收模块,用于接收用户输入的第一动态口令;所述第一动态口令由客户端或服务器通过下述方式生成:接收用户发出的认证指令;获取所述认证指令对应的设备信息;根据所述设备信息,生成与当前时间对应的第一动态口令;将所述第一动态口令反馈给所述用户;
第二口令生成模块,用于根据所述设备自身的设备信息,生成与当前时间对应的第二动态口令;
认证模块,用于如果所述第二动态口令与接收到的所述第一动态口令相匹配,确定动态口令认证成功。
CN201811083683.6A 2018-09-17 2018-09-17 动态口令认证方法和装置 Active CN108777615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811083683.6A CN108777615B (zh) 2018-09-17 2018-09-17 动态口令认证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811083683.6A CN108777615B (zh) 2018-09-17 2018-09-17 动态口令认证方法和装置

Publications (2)

Publication Number Publication Date
CN108777615A true CN108777615A (zh) 2018-11-09
CN108777615B CN108777615B (zh) 2021-07-16

Family

ID=64029038

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811083683.6A Active CN108777615B (zh) 2018-09-17 2018-09-17 动态口令认证方法和装置

Country Status (1)

Country Link
CN (1) CN108777615B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814808A (zh) * 2018-12-29 2019-05-28 国网山东省电力公司博兴县供电公司 一种电力监控数据链处理方法及***
CN109977038A (zh) * 2019-03-19 2019-07-05 湖南麒麟信安科技有限公司 一种加密u盘的访问控制方法、***及介质
CN111371867A (zh) * 2020-02-26 2020-07-03 杭州涂鸦信息技术有限公司 物联网设备的控制方法及装置、电子设备
CN112134885A (zh) * 2020-09-23 2020-12-25 国网江苏省电力有限公司泰州供电分公司 一种互联网终端访问加密的方法和***
CN113285948A (zh) * 2021-05-21 2021-08-20 中国电信股份有限公司 反向动态口令认证方法、装置、介质及电子设备
CN116232634A (zh) * 2022-12-05 2023-06-06 ***政治工作部军事人力资源保障中心 跨域动态口令身份安全认证***及方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1977490A (zh) * 2004-06-28 2007-06-06 株式会社东芝 存储媒体处理方法、存储媒体处理装置以及程序
CN101197665A (zh) * 2007-12-24 2008-06-11 北京飞天诚信科技有限公司 动态口令生成方法及其装置
CN101291228A (zh) * 2008-06-18 2008-10-22 华为技术有限公司 一种超级密码的生成、认证方法和***、设备
CN101420302A (zh) * 2008-12-01 2009-04-29 成都市华为赛门铁克科技有限公司 安全认证方法和设备
CN102148685A (zh) * 2010-02-04 2011-08-10 陈祖石 一种由用户自定义多密码种子动态密码认证方法及***
CN102843236A (zh) * 2012-09-12 2012-12-26 飞天诚信科技股份有限公司 一种动态口令的生成及认证方法与***
CN103078739A (zh) * 2012-12-27 2013-05-01 华为技术有限公司 动态口令认证方法、装置和网络***
CN103491090A (zh) * 2013-09-23 2014-01-01 金蝶软件(中国)有限公司 一种安全认证方法、设备及***
CN103607281A (zh) * 2013-11-12 2014-02-26 飞天诚信科技股份有限公司 一种安全设备的解锁方法和***
CN107086622A (zh) * 2017-05-08 2017-08-22 上海熊家信息科技有限公司 扫码充电设备以及扫码充电方法、***
US20170329944A1 (en) * 2016-05-11 2017-11-16 Ca, Inc. Two-way authentication in single password with agent
CN107689097A (zh) * 2017-08-29 2018-02-13 重庆壹元电科技有限公司 基于跳频技术的同步密码生成及验证***及其应用
CN107979472A (zh) * 2017-12-01 2018-05-01 江苏乐希科技有限公司 一种密码锁***以及认证方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1977490A (zh) * 2004-06-28 2007-06-06 株式会社东芝 存储媒体处理方法、存储媒体处理装置以及程序
CN101197665A (zh) * 2007-12-24 2008-06-11 北京飞天诚信科技有限公司 动态口令生成方法及其装置
CN101291228A (zh) * 2008-06-18 2008-10-22 华为技术有限公司 一种超级密码的生成、认证方法和***、设备
CN101420302A (zh) * 2008-12-01 2009-04-29 成都市华为赛门铁克科技有限公司 安全认证方法和设备
CN102148685A (zh) * 2010-02-04 2011-08-10 陈祖石 一种由用户自定义多密码种子动态密码认证方法及***
CN102843236A (zh) * 2012-09-12 2012-12-26 飞天诚信科技股份有限公司 一种动态口令的生成及认证方法与***
CN103078739A (zh) * 2012-12-27 2013-05-01 华为技术有限公司 动态口令认证方法、装置和网络***
CN103491090A (zh) * 2013-09-23 2014-01-01 金蝶软件(中国)有限公司 一种安全认证方法、设备及***
CN103607281A (zh) * 2013-11-12 2014-02-26 飞天诚信科技股份有限公司 一种安全设备的解锁方法和***
US20170329944A1 (en) * 2016-05-11 2017-11-16 Ca, Inc. Two-way authentication in single password with agent
CN107086622A (zh) * 2017-05-08 2017-08-22 上海熊家信息科技有限公司 扫码充电设备以及扫码充电方法、***
CN107689097A (zh) * 2017-08-29 2018-02-13 重庆壹元电科技有限公司 基于跳频技术的同步密码生成及验证***及其应用
CN107979472A (zh) * 2017-12-01 2018-05-01 江苏乐希科技有限公司 一种密码锁***以及认证方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109814808A (zh) * 2018-12-29 2019-05-28 国网山东省电力公司博兴县供电公司 一种电力监控数据链处理方法及***
CN109977038A (zh) * 2019-03-19 2019-07-05 湖南麒麟信安科技有限公司 一种加密u盘的访问控制方法、***及介质
CN109977038B (zh) * 2019-03-19 2021-02-05 湖南麒麟信安科技股份有限公司 一种加密u盘的访问控制方法、***及介质
CN111371867A (zh) * 2020-02-26 2020-07-03 杭州涂鸦信息技术有限公司 物联网设备的控制方法及装置、电子设备
CN112134885A (zh) * 2020-09-23 2020-12-25 国网江苏省电力有限公司泰州供电分公司 一种互联网终端访问加密的方法和***
CN113285948A (zh) * 2021-05-21 2021-08-20 中国电信股份有限公司 反向动态口令认证方法、装置、介质及电子设备
CN116232634A (zh) * 2022-12-05 2023-06-06 ***政治工作部军事人力资源保障中心 跨域动态口令身份安全认证***及方法
CN116232634B (zh) * 2022-12-05 2024-04-16 ***政治工作部军事人力资源保障中心 跨域动态口令身份安全认证***及方法

Also Published As

Publication number Publication date
CN108777615B (zh) 2021-07-16

Similar Documents

Publication Publication Date Title
CN108777615A (zh) 动态口令认证方法和装置
CN108551443B (zh) 一种应用登录方法、装置、终端设备及存储介质
CN107302539B (zh) 一种电子身份注册及认证登录的方法及其***
TWI578749B (zh) 用於遷移金鑰之方法及設備
US10205711B2 (en) Multi-user strong authentication token
US9887989B2 (en) Protecting passwords and biometrics against back-end security breaches
Ibrokhimov et al. Multi-factor authentication in cyber physical system: A state of art survey
US8914866B2 (en) System and method for user authentication by means of web-enabled personal trusted device
CN109328348B (zh) 一种业务认证方法、***及相关设备
CN108965222B (zh) 身份认证方法、***及计算机可读存储介质
JP2017503253A (ja) Qrコードを用いた認証システム及びその方法
CN110311895B (zh) 基于身份验证的会话权限校验方法、***及电子设备
KR102274285B1 (ko) 동적 공유 시크릿 분배 방식의 otp 보안관리 방법
CN106487758B (zh) 一种数据安全签名方法、业务终端以及私钥备份服务器
EP3398289A1 (en) A method, system and apparatus using forward-secure cryptography for passcode verification
KR101052294B1 (ko) 콘텐츠 보안 장치 및 콘텐츠 보안 방법
CN111726369A (zh) 一种身份认证方法、***及服务器
CN111163164A (zh) 一种基于鲲鹏芯片的云桌面安全传输方法及装置
CN109861954B (zh) 一种认证方法、移动终端、pc端及辅助认证服务器
JP2022533979A (ja) ユーザのバイオメトリクスを利用したユーザ認証および署名装置、並びにその方法
US12019719B2 (en) Method and electronic device for authenticating a user
US11972651B2 (en) Intelligent key device and verification method therefor
CN108280330A (zh) 数据输出方法及***
TW201843613A (zh) 利用圖形鎖的個人身分認證方法及系統
Johnson et al. With vaulted voice verification my voice is my key

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Dynamic password authentication method and device

Effective date of registration: 20221216

Granted publication date: 20210716

Pledgee: Bank of Jiangsu Limited by Share Ltd. Shanghai Changning branch

Pledgor: SHANGHAI BINGSOFT TECHNOLOGY Co.,Ltd.

Registration number: Y2022310000379