CN105827591B - 一种身份认证方法、客户端、服务器及系统 - Google Patents

一种身份认证方法、客户端、服务器及系统 Download PDF

Info

Publication number
CN105827591B
CN105827591B CN201610096824.2A CN201610096824A CN105827591B CN 105827591 B CN105827591 B CN 105827591B CN 201610096824 A CN201610096824 A CN 201610096824A CN 105827591 B CN105827591 B CN 105827591B
Authority
CN
China
Prior art keywords
character string
string
dynamic password
client
generates
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.)
Expired - Fee Related
Application number
CN201610096824.2A
Other languages
English (en)
Other versions
CN105827591A (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.)
Beijing Qidsc Technology Co Ltd
Original Assignee
Beijing Qidsc Technology Co Ltd
Filing date
Publication date
Application filed by Beijing Qidsc Technology Co Ltd filed Critical Beijing Qidsc Technology Co Ltd
Priority to CN201610096824.2A priority Critical patent/CN105827591B/zh
Publication of CN105827591A publication Critical patent/CN105827591A/zh
Application granted granted Critical
Publication of CN105827591B publication Critical patent/CN105827591B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种身份认证方法、客户端、服务器及系统,能够实现客户端与服务器之间的双向身份认证,从而保障系统的安全性。该身份认证方法包括:基于客户端标识,生成中间字符串;基于该中间字符串,生成验证码以及第一动态口令;其中,该验证码被发送至服务器;根据该第一动态口令和从该服务器接收的第二动态口令,确定身份认证是否通过。

Description

一种身份认证方法、客户端、服务器及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种客户端与服务器之间的身份认证方法、客户端、服务器及系统。
背景技术
目前的很多应用场景中都涉及到客户端与服务器之间的身份认证,例如,在餐厅、会议室等环境下,因为特殊工作场景的需要,客户端处于单应用模式,在该模式下,客户端只能使用预设的单一应用,而当用户提起退出该单应用模式的请求时,就要进行上述客户端与服务器之间的身份认证。
在现有技术中,一般通过验证OTP(One Time Password,一次性口令)来实现身份认证,具体过程为:服务器采用约定的算法和随机函数生成OTP后,通过短信等途经发送给用户,用户将获取的OTP输入客户端,客户端再将该OTP发送给服务器进行比对,当服务器接收的OTP与服务器自身生成的OTP相同时,认证通过。显然,这是一种由服务器来进行的单向身份认证的过程,并且OTP的生成过程也过于简单,极易使OTP在验证过程中遭到破解。因此现有技术采用的身份认证方式具有安全隐患,导致系统安全性不足。
发明内容
本发明实施例提供一种客户端与服务器之间的身份认证方法、客户端、服务器及系统,用以解决现有技术中存在的系统安全性较差的问题。
本发明实施例提供一种身份认证方法,包括:基于客户端标识,生成中间字符串;基于该中间字符串,生成验证码以及第一动态口令;其中,所述验证码被发送至服务器;根据所述第一动态口令和从所述服务器接收的第二动态口令,确定身份认证是否通过。
本发明实施例还提供一种身份认证方法,包括:接收客户端发送的验证码;基于所述验证码,得到中间字符串;基于该中间字符串,生成第二动态口令;向所述客户端发送所述第二动态口令。
本发明实施例还提供一种客户端,包括:第一生成单元,用于基于客户端标识,生成中间字符串;第二生成单元,用于基于该中间字符串,生成验证码;第三生成单元,用于基于该中间字符串,生成第一动态口令;第一发送单元,用于将所述验证码发送至服务器;第一接收单元,用于接收所述服务器发送的第二动态口令;验证单元,用于根据所述第一动态口令和所述第二动态口令,确定身份认证是否通过。
本发明实施例还提供一种服务器,包括:第二接收单元,用于接收客户端发送的验证码;第四生成单元,用于基于所述验证码,得到中间字符串;第五生成单元,用于基于该中间字符串,生成第二动态口令;第二发送单元,用于向客户端发送所述第二动态口令。
本发明实施例还提供一种身份认证系统,包括客户端和服务器,其中:所述客户端,用于基于客户端标识,生成中间字符串;基于该中间字符串,生成验证码以及第一动态口令;其中,所述验证码被发送至所述服务器;根据所述第一动态口令和从所述服务器接收的第二动态口令,确定身份认证是否通过;所述服务器,用于接收所述客户端发送的验证码;基于所述验证码,得到中间字符串;基于该中间字符串,生成第二动态口令;向所述客户端发送所述第二动态口令。
本发明有益效果包括:
本发明实施例提供的方案中,客户端生成中间字符串,根据该中间字符串生成验证码和第一动态口令,并将该验证码发送给服务器;服务器接收客户端发送的验证码,根据该验证码反向提取出中间字符串,并根据该中间字符串生成第二动态口令,发送给客户端;客户端接收服务器发送的第二动态口令,将其与上述第一动态口令比对,完成身份认证。相比于现有技术,采用本发明实施例提供的方案实现了客户端和服务器之间的双向身份认证,并且动态口令的生成过程更为严密,不易在认证过程遭到破解,系统安全性较高。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的一种客户端与服务器之间的身份认证方法的流程图之一;
图2为本发明实施例提供的一种客户端与服务器之间的身份认证方法的流程图之二;
图3为本发明实施例提供的一种客户端与服务器之间的身份认证方法的详细流程图;
图4为本发明实施例提供的一种客户端的结构示意图;
图5为本发明实施例提供的一种客户端中的第三生成单元的结构示意图;
图6为本发明实施例提供的一种服务器的结构示意图;
图7为本发明实施例提供的一种服务器中的第五生成单元的结构示意图;
图8为本发明实施例提供的一种身份认证系统的结构示意图。
具体实施方式
为了给出提高系统安全性的实现方案,本发明实施例提供了一种身份认证方法、客户端、服务器及系统,以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
本发明实施例提供一种客户端与服务器之间的身份认证方法,该方法的执行主体为客户端,如图1所示,具体可以包括以下步骤:
S101、基于客户端标识,生成中间字符串。
S102、基于该中间字符串,生成验证码以及第一动态口令;其中,该验证码被发送至服务器。
S103、根据上述第一动态口令和从上述服务器接收的第二动态口令,确定身份认证是否通过。
进一步地,上述步骤S101中,具体可以包括:对上述客户端标识进行加密处理得到第一混合字符串;从上述第一混合字符串中随机截取出一段字符串作为中间字符串。
具体地,对上述客户端标识的加密可选用多种加密方法,例如,可以采用MD5(Message Digest Algorithm 5,信息摘要算法第五版)加密方法;从上述第一混合字符串中随机截取字符串可采用多种随机截取方法,使得每次获得的中间字符串是随机变化的,例如,可以通过随机函数随机生成一个整数,用该整数对10取余,得到的余数作为从第一混合字符串开始截取字符串的起点位置。本领域技术人员可以理解,上述过程只是本说明书提供的一个优选实施例中的步骤,并不一定是实施本发明所必须的,也不用于限定本发明。
进一步地,上述步骤S102中,基于该中间字符串,生成验证码,具体可以包括:基于当前时间戳,生成数字字符串;按照第一预设插入规则,将上述中间字符串插入上述数字字符串,生成上述验证码。
具体地,基于当前时间戳生成数字字符串的处理方法是预设的,有截取、数组索引等多种方法可以选用,例如,可以用时间戳除以某个整数,对所获得的结果取整后,再从其中截取所需的数字字符串。采用时间戳生成数字字符串可以在生成验证码的过程中进一步引入不确定因子,增加了验证码和动态口令的破解难度,提高系统安全性。
具体地,将上述中间字符串插入上述数字字符串中用到的第一预设插入规则也是一种预设规则,任意的字符插入方法都可以选用,例如,可以在数字字符串的每个偶数位之后插入依次中间字符串的每一位。
本领域技术人员可以理解,上述过程只是本说明书提供的一个优选实施例中的步骤,并不一定是实施本发明所必须的,也不用于限定本发明。
进一步地,上述步骤S102中,基于该中间字符串,生成第一动态口令,具体可以包括:获取密钥,基于上述密钥和上述中间字符串,生成第二混合字符串;基于上述第二混合字符串,生成上述第一动态口令。
具体地,获取密钥可以包括以下步骤:获取客户端沙箱的密码管理系统中存储的加密密钥;对上述加密密钥进行解密,得到上述密钥。
其中,加密密钥可以预先生成并存储在上述密码管理系统,也可以在客户端初始化时生成并存储;生成方法是自定义的,例如,可以将当前时间戳转换成时间格式的字符串,再对该字符串采用某种加密方法得到;将加密密钥存储在客户端沙箱的密码管理系统,既可以保障密钥存储的安全,也可以简化密钥存储的算法设计;对加密密钥进行解密的方法参照所选用的加密方法进行反向解密。
具体地,基于上述密钥和上述中间字符,生成第二混合字符串,可以包括以下步骤:按照第二预设插入规则,将上述密钥插入上述中间字符串,生成第一待处理字符串;对上述第一待处理字符串进行加密处理得到第二待处理字符串;从上述第二待处理字符串中随机截取出一段字符串作为上述第二混合字符串。
其中,第二预设插入规则是一种预设规则,可以与上述第一预设插入规则一致,也可以另行设计;对第一待处理字符串进行加密处理得到第二待处理字符串的加密处理方法可在通用加密方法中自行选用;为了将插入处理和加密处理两步结合,以简化字符串处理的算法设计,可以将上述密钥作为MD5加密的盐值插入上述中间字符串,再将得到的第一待处理字符串进行MD5加密处理;从上述第二待处理字符串中随机截取字符串的方法可以自行设计和选用。
具体地,基于上述第二混合字符串,生成上述第一动态口令,可以包括以下步骤:针对上述第二混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第一动态口令中的一位;其中,1<N<11。
本领域技术人员可以理解,上述过程只是本说明书提供的一个优选实施例中的步骤,并不一定是实施本发明所必须的,也不用于限定本发明。
进一步地,上述步骤S103中,具体可以包括:将上述第一动态口令和从上述服务器接收的第二动态口令进行比对,若上述第一动态口令和上述第二动态口令的比对结果一致,则通过身份认证,若二者不一致,则不通过;比对的过程可以是一次,也可以是多次,例如,三次比对结果均不一致,则不通过身份认证,并拒绝再次进行认证。
与上述图1所示方法相应的,本发明实施例提供一种客户端与服务器之间的身份认证方法,该方法的执行主体为服务器,如图2所示,具体可以包括以下步骤:
S201、接收客户端发送的验证码。
S202、基于上述验证码,得到中间字符串。
S203、基于该中间字符串,生成第二动态口令。
S204、向所述客户端发送上述第二动态口令。
进一步地,上述步骤S202中,具体可以包括:按照预设提取规则,从上述验证码中提取出上述中间字符串。其中,上述预设提取规则与客户端侧步骤S102中的第一预设插入规则是相对应的,依照上述中间字符串插入数字字符串得到上述验证码的方法,则可以反向提取出上述中间字符串。本领域技术人员可以理解,上述过程只是本说明书提供的一个优选实施例中的步骤,并不一定是实施本发明所必须的,也不用于限定本发明。
进一步地,上述步骤S203中,具体可以包括:获取密钥,基于该密钥和上述中间字符串,生成第三混合字符串;基于该第三混合字符串,生成上述第二动态口令。
具体地,基于该密钥和上述中间字符串,生成第三混合字符串,可以包括:按照第二预设插入规则,将该密钥插入上述中间字符串,生成第三待处理字符串;对该第三待处理字符串进行加密处理得到第四待处理字符串;从该第四待处理字符串中随机截取出一段字符串作为上述第三混合字符串。
具体地,基于该第三混合字符串,生成上述第二动态口令,可以包括:针对该第三混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为上述第二动态口令中的一位;其中,1<N<11。
需要注意的是,关于上述步骤S203的详细阐述,可以参照以客户端为执行主体的步骤S102中“基于上述中间字符串,生成第一动态口令”的方法。本领域技术人员可以理解,上述过程只是本说明书提供的一个优选实施例中的步骤,并不一定是实施本发明所必须的,也不用于限定本发明。
下面结合附图,用具体实施例对本发明提供的方案进行详细描述。
图3所示为本发明实施例提供的一种身份认证方法的详细流程图,具体包括以下步骤:
S301、客户端对客户端标识进行加密处理得到第一混合字符串;从该第一混合字符串中随机截取出一段字符串作为中间字符串。
例如,客户端对客户端标识进行MD5加密处理,得到包含有字母和数字混合的字符串A;调用随机函数生成一个0-99之间的整数,比如45,将该整数对10取余,余数为5,那么就从混合字符串A的第5位开始截取字符串;截取4位字符串,得到中间字符串B4。
S302、客户端基于当前时间戳,生成数字字符串;按照第一预设插入规则,将上述中间字符串插入上述数字字符串,生成验证码。
例如,客户端将当前时间戳除以9,将得到的结果取整,再从该整数结果的第1位开始截取6位字符串,得到数字字符串C6;在数字字符串C6中选取4个位置,比如第1位之前以及第2、4、6位之后,依次插入中间字符串B4的每一位字符,得到10位验证码D10。
S3021、客户端获取客户端沙箱的密码管理系统中存储的加密密钥;对该加密密钥进行解密,得到密钥。
例如,用户在客户端发起请求后,客户端进行初始化工作,检查加密密钥是否已存储于客户端沙箱的密码管理系统中,若存在则完成初始化;若不存在,则按照预设的加密密钥生成方法生成加密密钥,比如,客户端将当前时间戳转换成时间格式的字符串作为密钥K,再对密钥进行加密,存储于上述密码管理系统中,客户端完成初始化;初始化工作完成以后,客户端从上述密码管理系统中获取加密密钥,并对加密密钥反向解密,得到密钥K。
S3022、客户端按照第二预设插入规则,将上述密钥插入上述中间字符串,生成第一待处理字符串;对上述第一待处理字符串进行加密处理得到第二待处理字符串;从上述第二待处理字符串中随机截取出一段字符串作为第二混合字符串。
例如,将密钥K作为MD5加密的盐值插入中间字符串B4,得到第一待处理字符串E;对E进行MD5加密处理,得到第二待处理字符串EN;从该字符串EN的第1位开始截取6位字符串,得到含有字母和数字的第二混合字符串F6。
S3023、客户端针对上述第二混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为第一动态口令中的一位;其中,1<N<11。
例如,预设一个含有数字0-9以及字母a-z共36位字符的样本数组,每个字符均对应一个位置索引数;以该样本数组为基准,获取第二混合字符串F6中每个字符的位置索引数,比如36、5、23、29、17、33;将所得的6个位置索引数分别对10取余,余数分别为6、5、3、9、7、3,那么该第一动态口令则为653973。
S303、客户端向服务器发送上述验证码。
S304、服务器接收上述验证码。
S305、服务器按照预设提取规则,从上述验证码中提取出上述中间字符串。
例如,根据上述第一预设插入规则,得到的10位验证码D10中,中间字符串B4的每一位字符分别在验证码D10的第1、4、7、10位,那么就将服务器的提取规则预设为,提取验证码D10的第1、4、7、10位字符,得到中间字符串B41。
S3061、服务器获取密钥。
S3062、服务器按照第二预设插入规则,将上述密钥插入上述中间字符串,生成第三待处理字符串;对上述第三待处理字符串进行加密处理得到第四待处理字符串;从上述第四待处理字符串中随机截取出一段字符串作为第三混合字符串。
S3063、服务器针对上述第三混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为第二动态口令中的一位;其中,1<N<11。
具体地,步骤S3062和S3063的实现方法可以参照步骤S3022和S3023的举例。
S307、服务器向客户端发送第二动态口令。
S308、客户端接收第二动态口令。
S309、客户端比对上述第一动态口令和上述第二动态口令,确定身份认证是否通过。
例如,客户端将第一动态口令和第二动态口令进行比对,若二者一致,则通过身份认证;若二者不一致,则进行下一次比对,依次类推;最大比对次数预设为3次,若经过3次比对,仍得到不一致的结果,则认证不通过。
特别强调的是,本发明实施例提供的流程仅为一种参考流程,本发明提供的一种身份认证方法,其具体流程的实现并不局限于以上流程提供的步骤顺序,尤其是,步骤S2021-S2023与步骤S302以及步骤S303-S308之间,不存在唯一的顺序关系。
基于同一发明构思,根据本发明上述实施例提供的一种客户端与服务器之间的身份认证方法,相应地,本发明另一实施例还提供了一种客户端、服务器及系统,具体实现方式可以参见前述方法的实施例,重复之处不再赘述。
本发明实施例提供一种客户端,其结构示意图如图4所示,具体可以包括以下单元:
第一生成单元401,用于基于客户端标识,生成中间字符串;
第二生成单元402,用于基于该中间字符串,生成验证码;
第三生成单元403,用于基于该中间字符串,生成第一动态口令;
第一发送单元404,用于将上述验证码发送至服务器;
第一接收单元405,用于接收上述服务器发送的第二动态口令;
验证单元406,用于根据上述第一动态口令和上述第二动态口令,确定身份认证是否通过。
进一步地,上述第一生成单元401,具体可以用于对上述客户端标识进行加密处理得到第一混合字符串;从上述第一混合字符串中随机截取出一段字符串作为中间字符串。
进一步地,上述第二生成单元402,具体可以用于基于当前时间戳,生成数字字符串;按照第一预设插入规则,将上述中间字符串插入上述数字字符串,生成上述验证码。
进一步地,上述第三生成单元403,可以包括第一获取子单元4031、第一生成子单元4032和第二生成子单元4033,其结构示意图如图5所示,其中:上述第一获取子单元4031,用于获取密钥;上述第一生成子单元4032,用于基于上述密钥和上述中间字符串,生成第二混合字符串;上述第二生成子单元4033,用于基于上述第二混合字符串,生成上述第一动态口令。
具体地,上述第一获取子单元4031,可以用于获取客户端沙箱的密码管理系统中存储的加密密钥;对上述加密密钥进行解密,得到上述密钥。
具体地,上述第一生成子单元4032,可以用于按照第二预设插入规则,将上述密钥插入上述中间字符串,生成第一待处理字符串;对上述第一待处理字符串进行加密处理得到第二待处理字符串;从上述第二待处理字符串中随机截取出一段字符串作为上述第二混合字符串。
具体地,上述第二生成子单元4033,可以用于针对上述第二混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为上述第一动态口令中的一位;其中,1<N<11。
本发明实施例提供一种服务器,其结构示意图如图6所示,具体可以包括如下单元:
第二接收单元601,用于接收客户端发送的验证码;
第四生成单元602,用于基于上述验证码,得到中间字符串;
第五生成单元603,用于基于该中间字符串,生成第二动态口令;
第二发送单元604,用于向上述客户端发送上述第二动态口令。
进一步地,上述第四生成单元602,具体可以用于按照预设提取规则,从所述验证码中提取出所述中间字符串。
进一步地,上述第五生成单元603,可以包括第二获取子单元6031、第三生成子单元6032和第四生成子单元6033,其结构示意图如图7所示,其中:上述第二获取子单元6031,用于获取密钥;上述第三生成子单元6032,用于基于上述密钥和上述中间字符串,生成第三混合字符串;上述第四生成子单元6033,用于基于上述第三混合字符串,生成上述第二动态口令。
具体地,上述三生成子单元6032,可以用于按照第二预设插入规则,将上述密钥插入上述中间字符串,生成第三待处理字符串;对上述第三待处理字符串进行加密处理得到第四待处理字符串;从上述第四待处理字符串中随机截取出一段字符串作为上述第三混合字符串。
具体地,上述第四生成子单元6033,可以用于针对上述第三混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为上述第二动态口令中的一位;其中,1<N<11。
本发明实施例提供一种身份验证系统,包括客户端801和服务器802,结构示意图如图8所示,其中:
客户端801,用于基于客户端标识,生成中间字符串;基于该中间字符串,生成验证码以及第一动态口令;其中,该验证码被发送至服务器802;根据上述第一动态口令和从服务器802接收的第二动态口令,确定身份认证是否通过;
服务器802,用于接收客户端801发送的验证码;基于该验证码,得到中间字符串;基于该中间字符串,生成第二动态口令;向客户端801发送该第二动态口令。
综上所述,本发明实施例提供的方案,实现了客户端和服务器之间的双向身份认证,并且动态口令的生成过程更为严密,不易在认证过程遭到破解,从而提高了系统安全性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (17)

1.一种身份认证方法,其特征在于,包括:
基于客户端标识,生成中间字符串;
基于该中间字符串,生成验证码以及第一动态口令;其中,所述验证码被发送至服务器;其中,基于该中间字符串,生成第一动态口令,具体包括:获取密钥,基于所述密钥和所述中间字符串,生成第二混合字符串;基于所述第二混合字符串,生成所述第一动态口令;其中,基于所述第二混合字符串,生成所述第一动态口令,具体包括:针对所述第二混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第一动态口令中的一位;其中,1<N<11;
根据所述第一动态口令和从所述服务器接收的第二动态口令,确定身份认证是否通过。
2.如权利要求1所述的方法,其特征在于,基于客户端标识,生成中间字符串,具体包括:
对所述客户端标识进行加密处理得到第一混合字符串;
从所述第一混合字符串中随机截取出一段字符串作为中间字符串。
3.如权利要求1所述的方法,其特征在于,基于该中间字符串,生成验证码,具体包括:
基于当前时间戳,生成数字字符串;
按照第一预设插入规则,将所述中间字符串插入所述数字字符串,生成所述验证码。
4.如权利要求1所述的方法,其特征在于,获取密钥,具体包括:
获取客户端沙箱的密码管理系统中存储的加密密钥;
对所述加密密钥进行解密,得到所述密钥。
5.如权利要求1所述的方法,其特征在于,基于所述密钥和所述中间字符串,生成第二混合字符串,具体包括:
按照第二预设插入规则,将所述密钥插入所述中间字符串,生成第一待处理字符串;
对所述第一待处理字符串进行加密处理得到第二待处理字符串;
从所述第二待处理字符串中随机截取出一段字符串作为所述第二混合字符串。
6.一种身份认证方法,其特征在于,包括:
接收客户端发送的验证码;
基于所述验证码,得到中间字符串;
基于该中间字符串,生成第二动态口令,具体包括:获取密钥,基于所述密钥和所述中间字符串,生成第三混合字符串;基于所述第三混合字符串,生成所述第二动态口令;其中,基于所述第三混合字符串,生成所述第二动态口令,具体包括:针对所述第三混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第二动态口令中的一位;其中,1<N<11;
向所述客户端发送所述第二动态口令。
7.如权利要求6所述的方法,其特征在于,基于所述验证码,得到中间字符串,具体包括:
按照预设提取规则,从所述验证码中提取出所述中间字符串。
8.如权利要求6所述的方法,其特征在于,基于所述密钥和所述中间字符串,生成第三混合字符串,具体包括:
按照第二预设插入规则,将所述密钥插入所述中间字符串,生成第三待处理字符串;
对所述第三待处理字符串进行加密处理得到第四待处理字符串;
从所述第四待处理字符串中随机截取出一段字符串作为所述第三混合字符串。
9.一种客户端,其特征在于,包括:
第一生成单元,用于基于客户端标识,生成中间字符串;
第二生成单元,用于基于该中间字符串,生成验证码;
第三生成单元,用于基于该中间字符串,生成第一动态口令;所述第三生成单元包括第一获取子单元、第一生成子单元和第二生成子单元,其中:所述第一获取子单元,用于获取密钥;所述第一生成子单元,用于基于所述密钥和所述中间字符串,生成第二混合字符串;所述第二生成子单元,用于基于所述第二混合字符串,生成所述第一动态口令;其中,所述第二生成子单元,具体用于针对所述第二混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第一动态口令中的一位;其中,1<N<11;
第一发送单元,用于将所述验证码发送至服务器;
第一接收单元,用于接收所述服务器发送的第二动态口令;
验证单元,用于根据所述第一动态口令和所述第二动态口令,确定身份认证是否通过。
10.如权利要求9所述的客户端,其特征在于,所述第一生成单元,具体用于对所述客户端标识进行加密处理得到第一混合字符串;从所述第一混合字符串中随机截取出一段字符串作为中间字符串。
11.如权利要求9所述的客户端,其特征在于,所述第二生成单元,具体用于基于当前时间戳,生成数字字符串;按照第一预设插入规则,将所述中间字符串插入所述数字字符串,生成所述验证码。
12.如权利要求9所述的客户端,其特征在于,所述第一获取子单元,具体用于获取客户端沙箱的密码管理系统中存储的加密密钥;对所述加密密钥进行解密,得到所述密钥。
13.如权利要求9所述的客户端,其特征在于,所述第一生成子单元,具体用于按照第二预设插入规则,将所述密钥插入所述中间字符串,生成第一待处理字符串;对所述第一待处理字符串进行加密处理得到第二待处理字符串;从所述第二待处理字符串中随机截取出一段字符串作为所述第二混合字符串。
14.一种服务器,其特征在于,包括:
第二接收单元,用于接收客户端发送的验证码;
第四生成单元,用于基于所述验证码,得到中间字符串;
第五生成单元,用于基于该中间字符串,生成第二动态口令;所述第五生成单元包括第二获取子单元、第三生成子单元和第四生成子单元,其中:所述第二获取子单元,用于获取密钥;所述第三生成子单元,用于基于所述密钥和所述中间字符串,生成第三混合字符串;所述第四生成子单元,用于基于所述第三混合字符串,生成所述第二动态口令;其中,所述第四生成子单元,具体用于针对所述第三混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第二动态口令中的一位;其中,1<N<11;
第二发送单元,用于向所述客户端发送所述第二动态口令。
15.如权利要14所述的服务器,其特征在于,所述第四生成单元,具体用于按照预设提取规则,从所述验证码中提取出所述中间字符串。
16.如权利要求14所述的服务器,其特征在于,所述第三生成子单元,具体用于按照第二预设插入规则,将所述密钥插入所述中间字符串,生成第三待处理字符串;对所述第三待处理字符串进行加密处理得到第四待处理字符串;从所述第四待处理字符串中随机截取出一段字符串作为所述第三混合字符串。
17.一种身份认证系统,其特征在于,包括客户端和服务器,其中:
所述客户端,用于基于客户端标识,生成中间字符串;基于该中间字符串,生成验证码以及第一动态口令;其中,所述验证码被发送至所述服务器;根据所述第一动态口令和从所述服务器接收的第二动态口令,确定身份认证是否通过;其中,基于该中间字符串,生成第一动态口令,具体包括:获取密钥,基于所述密钥和所述中间字符串,生成第二混合字符串;基于所述第二混合字符串,生成所述第一动态口令;其中,基于所述第二混合字符串,生成所述第一动态口令,具体包括:针对所述第二混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第一动态口令中的一位;其中,1<N<11;
所述服务器,用于接收所述客户端发送的验证码;基于所述验证码,得到中间字符串;基于该中间字符串,生成第二动态口令;向所述客户端发送所述第二动态口令;其中,基于该中间字符串,生成第二动态口令,具体包括:获取密钥,基于所述密钥和所述中间字符串,生成第三混合字符串;基于所述第三混合字符串,生成所述第二动态口令;其中,基于所述第三混合字符串,生成所述第二动态口令,具体包括:针对所述第三混合字符串中的每个字符,获取该字符在预设样本数组中的位置索引数;将该位置索引数对整数N取余,得到的余数依次作为所述第二动态口令中的一位;其中,1<N<11。
CN201610096824.2A 2016-02-22 一种身份认证方法、客户端、服务器及系统 Expired - Fee Related CN105827591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610096824.2A CN105827591B (zh) 2016-02-22 一种身份认证方法、客户端、服务器及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610096824.2A CN105827591B (zh) 2016-02-22 一种身份认证方法、客户端、服务器及系统

Publications (2)

Publication Number Publication Date
CN105827591A CN105827591A (zh) 2016-08-03
CN105827591B true CN105827591B (zh) 2019-07-16

Family

ID=

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152172A (zh) * 2011-12-07 2013-06-12 中国电信股份有限公司 一种手机令牌动态口令生成方法、客户端、服务器以及系统
CN103297403A (zh) * 2012-03-01 2013-09-11 盛大计算机(上海)有限公司 一种实现动态密码认证的方法和系统
CN104579649A (zh) * 2013-10-28 2015-04-29 腾讯科技(深圳)有限公司 身份识别方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103152172A (zh) * 2011-12-07 2013-06-12 中国电信股份有限公司 一种手机令牌动态口令生成方法、客户端、服务器以及系统
CN103297403A (zh) * 2012-03-01 2013-09-11 盛大计算机(上海)有限公司 一种实现动态密码认证的方法和系统
CN104579649A (zh) * 2013-10-28 2015-04-29 腾讯科技(深圳)有限公司 身份识别方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
动态口令双向身份认证系统的研究与实现;季晓玉;《中国优秀硕士学位论文全文数据库》;20090515;全文

Similar Documents

Publication Publication Date Title
US9652920B2 (en) Voting systems and voting methods based on smart mobile communication devices
CN102017578B (zh) 用于在令牌与验证器之间进行认证的网络助手
US10320564B2 (en) System and method for generating and depositing keys for multi-point authentication
US8875264B2 (en) System, method and program for off-line two-factor user authentication
EP2316097B1 (en) Protocol for device to station association
WO2020155779A1 (zh) 数字签名的认证方法、装置、计算机设备和存储介质
EP2626807A1 (en) Two- factor user authentication system, and method therefor
EP2747366A1 (en) Client/server access authentication
CN106060078B (zh) 应用于云平台的用户信息加密方法、注册方法及验证方法
CN105101183B (zh) 对移动终端上隐私内容进行保护的方法和系统
CN101765996A (zh) 远程认证和交易签名
NO324315B1 (no) Metode og system for sikker brukerautentisering ved personlig dataterminal
CN109618341A (zh) 一种数字签名认证方法、系统、装置以及存储介质
WO2012067847A1 (en) System and method for end to end encryption
CN108270561B (zh) 数据发送方法及装置、密钥索引的生成方法及装置
CN108737323A (zh) 一种数字签名方法、装置及系统
CN101964789A (zh) 安全访问受保护资源的方法及系统
WO2012131675A2 (en) Authentication system with time attributes
CN104767617A (zh) 一种信息处理方法、系统和相关设备
CN106453321A (zh) 一种认证服务器、系统和方法及待认证终端
CN110071937A (zh) 基于区块链的登录方法、系统及存储介质
CN103944889A (zh) 一种网络用户在线身份认证的方法和认证服务器
CN105430017A (zh) 数据安全通信方法
CN105100093A (zh) 一种身份认证的方法和服务器
CN101217371A (zh) 实现用户帐号验证的方法

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190716

Termination date: 20200222