CN110830471B - Otp验证方法、服务器、客户端及计算机可读存储介质 - Google Patents

Otp验证方法、服务器、客户端及计算机可读存储介质 Download PDF

Info

Publication number
CN110830471B
CN110830471B CN201911078282.6A CN201911078282A CN110830471B CN 110830471 B CN110830471 B CN 110830471B CN 201911078282 A CN201911078282 A CN 201911078282A CN 110830471 B CN110830471 B CN 110830471B
Authority
CN
China
Prior art keywords
key
seed key
server
otp
seed
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.)
Active
Application number
CN201911078282.6A
Other languages
English (en)
Other versions
CN110830471A (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 Esand Information Technology Co ltd
Original Assignee
Beijing Esand Information 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 Beijing Esand Information Technology Co ltd filed Critical Beijing Esand Information Technology Co ltd
Priority to CN201911078282.6A priority Critical patent/CN110830471B/zh
Publication of CN110830471A publication Critical patent/CN110830471A/zh
Application granted granted Critical
Publication of CN110830471B publication Critical patent/CN110830471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords

Abstract

本发明公开的OTP验证方法接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;验证所述第一认证令牌是否有效;若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。此外,本发明还公开了一种服务器、客户端及计算机可读存储介质。这样,服务器在客户端身份认证通过之后向客户端下发种子密钥,有效提高了种子密钥的安全性,且采用种子密钥生成动态口令的方式实现验证,不需要额外的硬件成本。

Description

OTP验证方法、服务器、客户端及计算机可读存储介质
【技术领域】
本发明涉及一种验证方法领域,具体涉及一种OTP(One-time Password,动态口令)验证方法、服务器、客户端及计算机可读存储介质。
【背景技术】
为了保证用户的身份安全和/或财产安全,金融行业普遍需要对用户身份进行验证,目前使用较多的验证方式包括硬件OTP(One-time Password,动态口令)验证以及短信验证。
硬件OTP验证是硬件设备和服务器分别预置相同的种子密钥,使用时,硬件设备和服务器使用相同的种子密钥和算法,计算出相同的动态口令。然而,硬件OTP需要依赖独立的物理硬件,给用户的携带和保管增加负担。且硬件OTP对硬件设备的晶振频率有严格的要求,需要定期更换硬件设备。
短信验证是通过运营商的基础设施发送短信,在短信中携带动态口令。然而,短信验证方式存在较多的安全隐患,例如用户端(如手机、平板电脑等)容易被恶意软件攻击、网络信道安全遭受威胁(如伪基站劫持短信)等。
可见,现有的验证方式或成本较高,或安全无法得到保障。
【发明内容】
针对上述缺陷,本发明提供了一种OTP验证方法、服务器、客户端及计算机可读存储介质。
一方面,为实现上述目的,本发明提供一种OTP验证方法,应用于服务器,所述方法包括:
接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
验证所述第一认证令牌是否有效;
若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。
可选地,所述根据所述种子密钥派发请求生成OTP响应,包括:
使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥;
根据所述种子密钥派发请求生成工作密钥;
使用所述工作密钥加密所述种子密钥,并将所述加密后的种子密钥携带在所述OTP响应中。
可选地,所述种子密钥派发请求中还携带有客户端随机数以及交换密钥;
所述根据所述种子密钥派生请求生成工作密钥,包括:
随机生成服务端随机数,使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
其中,所述OTP响应中还携带有所述服务端随机数。
可选地,所述工作密钥包括加密密钥以及校验密钥,所述使用所述工作密钥加密所述种子密钥,包括:
使用所述加密密钥加密所述种子密钥,使用所述校验密钥计算所述种子密钥的消息认证码MAC值;
其中,所述OTP响应中还携带有所述种子密钥的MAC值。
另一方面,本发明还提供一种动态口令OTP验证方法,应用于客户端,所述方法包括:
向服务器发送种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
接收所述客户端基于所述种子密钥派发请求返回的OTP响应,其中,所述OTP响应中至少携带有种子密钥;
使用所述种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述方法还包括:
随机生成客户端随机数以及交换密钥,并将所述客户端随机数以及所述交换密钥携带在所述种子密钥派发请求中;
所述OTP响应中携带的种子密钥为加密的种子密钥,所述OTP响应中还携带有服务端随机数,所述使用所述种子密钥计算动态口令之前,所述方法还包括:
使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥。
可选地,OTP响应中还携带有消息认证码MAC值,所述工作密钥包括加密密钥以及校验密钥;
所述使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥,包括:
使用所述加密密钥对所述加密的种子密钥进行解密,得到种子密钥;
使用所述校验密钥计算MAC值,并根据计算得到的MAC值与所述OTP响应中携带的MAC对所述种子密钥进行校验;
所述使用所述种子密钥计算动态口令,包括:
若所述种子密钥校验通过,使用所述种子密钥计算动态口令。
另一方面,本发明还提供一种服务器,包括存储器以及至少一个处理器,所述服务器还包括存储在所述存储器上并可在所述至少一个处理器执行的至少一个程序,所述至少一个程序被所述至少一个处理器执行时实现上述方法中服务器执行的步骤。
另一方面,本发明还提供一种客户端,包括存储器以及至少一个处理器,所述客户端还包括存储在所述存储器上并可在所述至少一个处理器执行的至少一个程序,所述至少一个程序被所述至少一个处理器执行时实现上述方法中客户端执行的步骤。
另一方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存在有计算机可执行的至少一个程序,所述至少一个程序被计算机执行时使计算机执行上述任一项所述的方法中的步骤。
相较于现有技术,本发明提出的OTP验证方法,接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;验证所述第一认证令牌是否有效;若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。这样,服务器在客户端身份认证通过之后向客户端下发种子密钥,有效提高了种子密钥的安全性,且采用种子密钥生成动态口令的方式实现验证,不需要额外的硬件成本。
【附图说明】
图1是本发明实施例提供的一种服务器的结构示意图;
图2是本发明实施例提供的一种客户端的结构示意图;
图3是本发明实施例提供的连接结构示意图之;
图4是本发明实施例提供的一种OTP验证方法的流程示意图;
图5是本发明实施例提供的另一种OTP验证方法的流程示意图。
【具体实施方式】
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
请参阅图1,图1是本发明实施例提供的一种服务器的结构示意图,如图1所示,所述服务器100包括存储器101和处理器102,所述存储器101用于存储所述服务器100的数据和程序,所述处理器102用于读取所述存储器101中存储的程序并运行,以实现各种功能。所述处理器102的数量可以仅为1个,也可以包括多个,本发明实施例对此不作具体限定。
请参阅图2,图2是本发明实施例提供的一种客户端的结构示意图,如图2所示,所述客户端200包括存储器201和处理器202,所述存储器201用于存储所述客户端200的数据和程序,所述处理器202用于读取所述存储器201中存储的程序并运行,以实现各种功能。所述处理器202的数量可以仅为1个,也可以包括多个,本发明实施例对此不作具体限定。所述客户端200可以以各种形式来实施,例如,本发明中描述的客户端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、可穿戴设备、智能手环等移动终端,以及诸如数字TV、台式计算机等固定终端。
请参阅图3,图3是本发明实施例提供的一种连接架构图,如图3所示,客户端与服务器建立通信连接。
所述客户端安装有用于实现有应用程序(APP)以及认证器可信应用(Authenticator TA),所述客户端还包括密钥库(keystore)。其中,所述应用程序运行在REE(Rich Execution Environment,富的执行环境)中,所述认证器可信应用和所述密钥库均运行在TEE(Trusted Execution Environment,可信执行环境)中。
所述认证器可信应用用于与身份认证服务器交互实现身份认证。所述密钥库用于存储种子密钥以及实现动态口令的计算。所述应用程序包括认证器上层接口(Authenticator SDK)以及动态口令接口(OTP SDK),其中,SDK全称为SoftwareDevelopment Kit,软件开发工具包。所述认证器上层接口用于发起身份认证(例如生物识别),所述动态口令接口用于与OTP服务器进行协商,保证种子密钥的安全下发,并用于触发动态口令的生成与显示。
所述服务器包括业务服务器(APP Server)、动态口令服务器(OTP Server)以及身份认证服务器(Authenticator Server)。一些实施例中,所述服务器还需要与加密机进行配合,所述加密机为硬件安全设备,存储有例如设备公钥以及服务器私钥等关键信息,提高整体安全性。
所述业务服务器在执行业务处理时,调用动态口令服务器进行动态口令的验证。所述身份认证服务器用于进行身份认证,并在身份认证通过后下发认证令牌,所述身份认证可以为IFAA(Internet Finance Authentication Alliance,互联网金融身份认证联盟)身份认证,也可以为(Fast Identity Online,线上快速身份验证)身份认证或者SOTER(腾讯提供的生物认证标准)身份认证,相应地,所述身份认证服务器可以为IFAA服务器,也可以为IFDO服务器,还可以为SOTER服务器。所述动态口令服务器用于生成种子密钥,以及与客户端的动态口令接口进行协商,保证种子密钥的安全下发,以及在所述业务服务器的调用下验证动态口令。
基于上述结构示意图以及连接架构图,提出本发明各个实施例。
请参阅图4,图4是本发明实施例提供的一种OTP验证方法的流程图,所述OTP验证方法应用于一服务器中,本发明实施例中,所述服务器可以集中图3中所示的业务服务器、动态口令服务器以及身份认证服务器的功能。如图4所示,所述OTP验证方法包括:
步骤401、接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌。
本实施例中,当客户端需要获取动态口令时,可以向服务器发送种子密钥派发请求,该步骤中,所述服务器接收所述客户端发送的种子密钥派发请求,所述种子密钥派发请求中至少携带有第一认证令牌。
可以理解的是,所述客户端在接收到用于触发获取动态口令的触发操作时,向所述服务器发送所述种子密钥派发请求,用于请求所述服务器下发用于生成动态口令的种子密钥。所述客户端可以向所述业务服务器发送所述种子密钥派发请求,所述业务服务器向所述OTP服务器透传所述种子密钥派发请求。
本发明一些实施例中,所述客户端在接收到用于触发获取动态口令的触发操作时,可以先获取生物信息(例如指纹信息,人脸特征信息等),对获取的生物信息进行识别,并向所述服务器发送携带有生物识别信息的认证请求(例如IFAA认证请求),所述服务器基于所述认证初始化请求对所述生物信息进行验证,若身份认证通过,所述服务器生成认证令牌(AUTH TOKEN),例如第二认证令牌,并向所述客户端返回携带有所述第二认证令牌的认证响应。所述第二认证令牌可以包括以下的至少一种信息:业务标识、用户标识、设备型号、设备标识、生物识别类型、生物识别标识。
所述客户端在接收到所述服务器发送的认证响应后,将所述认证响应中携带的第二认证令牌作为所述第一认证令牌携带在所述种子密钥派发请求中。所述第一认证令牌可以包括以下的至少一种信息:业务标识。用户标识、设备型号、设备标识、生物识别类型、生物识别标识。
本发明一些实施例中,所述种子密钥派发请求中还可以携带有客户端随机数以及交换密钥,相应地,所述客户端在发送所述种子密钥派发请求之前,还会随机生成客户端随机数以及交换密钥。
可以理解的是,对于用户而言,在请求业务之前可能还需要进行注册。具体地,所述客户端可以向所述服务器发送携带有生物识别信息的注册请求,用于请求进行身份认证服务注册,所述服务器响应于所述注册请求,进行身份认证服务注册,在身份认证服务注册成功的情况下生成注册令牌(REG TOKEN),并向所述客户端返回携带有所述注册令牌的注册响应,其中,所述注册令牌可以包括以下的至少一种信息:业务标识、用户标识、设备型号、设备标识、生物识别类型、生物识别标识。
所述客户端接收所述携带有所述注册令牌的注册响应,并向所述服务器发送携带有所述注册令牌的OTP注册请求,所述服务器验证所述注册令牌是否合法,并在验证所述注册令牌合法的情况下创建软令牌,所述软令牌与所述注册令牌的相关信息(例如设备标识)绑定。所述服务器向所述客户端发送携带有所述软令牌的序列号的OTP注册响应,所述客户端接收所述OTP注册响应,并根据所述OTP注册响应进行本地注册。可以理解的是,所述客户端可以向所述业务服务器发送OTP注册请求,所述业务服务器向所述OTP服务器透传所述OTP注册请求。所述OTP服务器向所述业务服务器发送所述OTP注册响应,所述业务服务器向所述客户端透传所述OTP注册响应。
步骤402、验证所述第一认证令牌是否有效。
该步骤中,所述服务器验证所述第一认证令牌是否有效。具体地,所述服务器可以验证所述第一认证令牌是否与所述第二认证令牌相同,若所述第一认证令牌与所述第二认证令牌相同,则确定所述第一认证令牌有效;相反地,若所述第一认证令牌与所述第二认证令牌不相同,则确定所述第一认证令牌无效。
步骤403、若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。
该步骤中,若所述第一认证令牌有效,所述服务器根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。具体地,可以由所述OTP服务器生成所述OTP响应,并向所述业务服务器发送所述OTP响应,所述业务服务器向所述客户端透传所述OTP响应。
具体地,所述服务器可以使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥,然后将所述种子密钥携带在所述OTP响应中,所述OTP主密钥可以是所述服务器中预置的主密钥。一些实施例中,为了保证种子密钥的安全性,可以对所述种子密钥进行加密。具体地,所述服务器还可以根据所述种子密钥派发请求生成工作密钥,并使用所述工作密钥加密所述种子密钥,将所述加密后的种子密钥携带在所述OTP响应中。
所述客户端接收到所述OTP响应后,使用所述OTP响应中的种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效。需要说明的是,当所述OTP响应中携带的是加密后的种子密钥时,所述客户端需要先对加密的种子密钥进行解密,然后进一步计算动态口令。
具体地,所述客户端得到所述种子密钥之后,可以将所述种子密钥加密存储在所述密钥库中(例如在种子密钥有效时间段内将其存储在所述密钥库中),并调用所述密钥库生成动态口令。用户在的带所述动态口令之后,可以在所述客户端(例如在浏览器或者应用程序中)输入所述动态口令,所述客户端向所述服务器发送所述动态口令,请求执行业务操作。所述服务器接收所述动态口令并进行验证,将验证返回所述客户端,和/或根据所述验证结果进行业务处理。具体地,所述服务器可以查找与所述客户端对应的种子密钥,生成动态口令,然后验证接收到的动态口令与生成的动态口令是否一致,若一致,则确定动态口令验证通过。所述客户端和/或所述服务器根据种子密钥生成动态口令的过程可以相同,例如可以使用TOTP(K,T)或者HOTP(K,C)计算动态口令,其中K为种子密钥,T为当前时间,C为计数器,TOTP(Time-based One-Time Password)为基于时间戳算法的动态口令算法,HOTP(HMAC-based One-Time Password)为基于HMAC(Hash-based Message AuthenticationCode,哈希运算消息认证码)动态口令算法。
本实施例中,所述OTP验证方法接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;验证所述第一认证令牌是否有效;若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。这样,服务器在客户端身份认证通过之后向客户端下发种子密钥,避免出现信道安全遭受威胁或者恶意软件进行短信拦截的情况,有效提高了种子密钥的安全性,且采用种子密钥生成动态口令的方式实现验证,不需要额外的硬件成本。
可选地,所述接收客户端发送的种子密钥派发请求之前,所述方法还包括:
接收所述客户端发送的身份认证请求;
响应于所述身份认证请求,对所述客户端进行身份认证;
若所述客户端的身份认证通过,生成第二认证令牌,并向所述客户端发送所述第二认证令牌;
所述验证所述第一认证令牌是否有效,包括:
验证所述第一认证令牌是否与所述第二认证令牌相同;
若所述第一认证令牌与所述第二认证令牌相同,确定所述第一认证令牌有效。
可选地,所述根据所述种子密钥派发请求生成OTP响应,包括:
使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥;
根据所述种子密钥派发请求生成工作密钥;
使用所述工作密钥加密所述种子密钥,并将所述加密后的种子密钥携带在所述OTP响应中。
该实施例中,所述服务器对种子密钥进行加密,具体地,所述服务器使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥,并根据所述种子密钥派发请求生成工作密钥,使用所述工作密钥加密所述种子密钥。
可选地,所述种子密钥派发请求中还携带有客户端随机数以及交换密钥;
所述根据所述种子密钥派生请求生成工作密钥,包括:
随机生成服务端随机数,使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
其中,所述OTP响应中还携带有所述服务端随机数。
该实施例中,所述种子密钥派发请求中还携带有所述客户端随机生成的客户端随机数以及交换密钥,所述服务器随机生成服务端随机数,并使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥。所述服务器还在所述OTP响应中携带所述服务端随机数,用于所述客户端使用所述服务端随机数生成工作密钥。具体地,所述客户端可以使用客户端随机数、服务端随机数以及所述交换密钥派生工作密钥,并使用工作密钥对种子密钥进行解密。
一些实施例中,所述客户端还可以对生成的交换密钥进行加密,例如使用预置的OTP加密公钥加密所述交换密钥。相应地,所述服务器在接收到所述种子密钥派发请求后,使用OTP加密私钥对交换密钥进行解密,这样,能够进一步提高交换密钥的安全性,从而提高种子密钥的安全性。
可选地,所述工作密钥包括加密密钥以及校验密钥,所述使用所述工作密钥加密所述种子密钥,包括:
使用所述加密密钥加密所述种子密钥,使用所述校验密钥计算所述种子密钥的消息认证码MAC值;
其中,所述OTP响应中还携带有所述种子密钥的MAC值。
该实施例中,所述工作密钥包括加密密钥以及校验密钥,所述服务器使用所述加密密钥加密所述种子密钥,并使用所述校验密钥计算所述种子密钥的MAC(MessageAuthentication Code,消息认证码)值,用于实现对种子密钥的校验,加强所述种子密钥的安全性。所述服务器将所述种子密钥的MAC携带在所述OTP响应中。
所述客户端使用所述加密密钥对种子密钥进行解密,并使用所述校验密钥对所述种子密钥进行校验,校验所述种子密钥是否合法。具体地,所述客户端可以使用所述校验密钥计算MAC值,并比对计算得到的MAC与所述OTP响应中携带的MAC值,若两者一致,则确定所述种子密钥合法,所述客户端使用进一步所述种子密钥进行生成动态口令。
请参阅图5,图5是本发明实施例提供的另一种OTP验证方法的流程图,所述OTP验证方法应用于一客户端中,如图5所示,所述方法包括:
步骤501、向服务器发送种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌。
步骤502、接收所述服务器基于所述种子密钥派发请求返回的OTP响应,其中,所述OTP响应中至少携带有种子密钥。
步骤503、使用所述种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效。
本实施例为图4所示的OTP验证方法对应的客户端实施例,客户端执行的各个步骤已经在图4的实施例中进行了详细的描述,此处不再赘述。
本实施例中,所述OTP验证方法向服务器发送种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;接收所述服务器基于所述种子密钥派发请求返回的OTP响应,其中,所述OTP响应中至少携带有种子密钥;使用所述种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效。这样,客户端在身份认证通过的情况才能接收服务器下发的种子密钥,有效提高了种子密钥的安全性,且采用种子密钥生成动态口令的方式实现验证,不需要额外的硬件成本。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述方法还包括:
向所述服务器发送身份认证请求;
接收所述服务器基于所述身份认证请求发送的第二认证令牌,并将所述第二认证令牌作为所述第一认证令牌携带在所述种子密钥派发请求中。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述方法还包括:
随机生成客户端随机数以及交换密钥,并将所述客户端随机数以及所述交换密钥携带在所述种子密钥派发请求中;
所述OTP响应中携带的种子密钥为加密的种子密钥,所述OTP响应中还携带有服务端随机数,所述使用所述种子密钥计算动态口令之前,所述方法还包括:
使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥。
可选地,OTP响应中还携带有消息认证码MAC值,所述工作密钥包括加密密钥以及校验密钥;
所述使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥,包括:
使用所述加密密钥对所述加密的种子密钥进行解密,得到种子密钥;
使用所述校验密钥计算MAC值,并根据计算得到的MAC值与所述OTP响应中携带的MAC对所述种子密钥进行校验;
所述使用所述种子密钥计算动态口令,包括:
若所述种子密钥校验通过,使用所述种子密钥计算动态口令。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过至少一个程序指令相关的硬件来完成,所述至少一个程序可以存储在如图1所示的服务器的存储器101中,并能够被所述处理器102执行,所述至少一个程序被所述处理器102执行时实现如下步骤:
接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
验证所述第一认证令牌是否有效;
若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。
可选地,所述接收客户端发送的种子密钥派发请求之前,所述处理器102,还可实现如下步骤:
接收所述客户端发送的身份认证请求;
响应于所述身份认证请求,对所述客户端进行身份认证;
若所述客户端的身份认证通过,生成第二认证令牌,并向所述客户端发送所述第二认证令牌;
所述验证所述第一认证令牌是否有效,包括:
验证所述第一认证令牌是否与所述第二认证令牌相同;
若所述第一认证令牌与所述第二认证令牌相同,确定所述第一认证令牌有效。
可选地,所述根据所述种子密钥派发请求生成OTP响应,包括:
使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥;
根据所述种子密钥派发请求生成工作密钥;
使用所述工作密钥加密所述种子密钥,并将所述加密后的种子密钥携带在所述OTP响应中。
可选地,所述种子密钥派发请求中还携带有客户端随机数以及交换密钥;
所述根据所述种子密钥派生请求生成工作密钥,包括:
随机生成服务端随机数,使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
其中,所述OTP响应中还携带有所述服务端随机数。
可选地,所述工作密钥包括加密密钥以及校验密钥,所述使用所述工作密钥加密所述种子密钥,包括:
使用所述加密密钥加密所述种子密钥,使用所述校验密钥计算所述种子密钥的消息认证码MAC值;
其中,所述OTP响应中还携带有所述种子密钥的MAC值。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过至少一个程序指令相关的硬件来完成,所述至少一个程序可以存储在如图2所示的客户端的存储器201中,并能够被所述处理器202执行,所述至少一个程序被所述处理器202执行时实现如下步骤:
向服务器发送种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
接收所述服务器基于所述种子密钥派发请求返回的OTP响应,其中,所述OTP响应中至少携带有种子密钥;
使用所述种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述处理器202,还可实现如下步骤:
向所述服务器发送身份认证请求;
接收所述服务器基于所述身份认证请求发送的第二认证令牌,并将所述第二认证令牌作为所述第一认证令牌携带在所述种子密钥派发请求中。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述处理器202,还可实现如下步骤:
随机生成客户端随机数以及交换密钥,并将所述客户端随机数以及所述交换密钥携带在所述种子密钥派发请求中;
所述OTP响应中携带的种子密钥为加密的种子密钥,所述OTP响应中还携带有服务端随机数,所述使用所述种子密钥计算动态口令之前,所述方法还包括:
使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥。
可选地,OTP响应中还携带有消息认证码MAC值,所述工作密钥包括加密密钥以及校验密钥;
所述使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥,包括:
使用所述加密密钥对所述加密的种子密钥进行解密,得到种子密钥;
使用所述校验密钥计算MAC值,并根据计算得到的MAC值与所述OTP响应中携带的MAC对所述种子密钥进行校验;
所述使用所述种子密钥计算动态口令,包括:
若所述种子密钥校验通过,使用所述种子密钥计算动态口令。
本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过至少一个程序指令相关的硬件来完成,所述至少一个程序可以存储于一计算机可读存储介质中,所述至少一个程序被执行时,包括以下步骤:
接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
验证所述第一认证令牌是否有效;
若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令。
可选地,所述接收客户端发送的种子密钥派发请求之前,所述至少一个程序被执行时,还可实现如下步骤:
接收所述客户端发送的身份认证请求;
响应于所述身份认证请求,对所述客户端进行身份认证;
若所述客户端的身份认证通过,生成第二认证令牌,并向所述客户端发送所述第二认证令牌;
所述验证所述第一认证令牌是否有效,包括:
验证所述第一认证令牌是否与所述第二认证令牌相同;
若所述第一认证令牌与所述第二认证令牌相同,确定所述第一认证令牌有效。
可选地,所述根据所述种子密钥派发请求生成OTP响应,包括:
使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥;
根据所述种子密钥派发请求生成工作密钥;
使用所述工作密钥加密所述种子密钥,并将所述加密后的种子密钥携带在所述OTP响应中。
可选地,所述种子密钥派发请求中还携带有客户端随机数以及交换密钥;
所述根据所述种子密钥派生请求生成工作密钥,包括:
随机生成服务端随机数,使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
其中,所述OTP响应中还携带有所述服务端随机数。
可选地,所述工作密钥包括加密密钥以及校验密钥,所述使用所述工作密钥加密所述种子密钥,包括:
使用所述加密密钥加密所述种子密钥,使用所述校验密钥计算所述种子密钥的消息认证码MAC值;
其中,所述OTP响应中还携带有所述种子密钥的MAC值。
一些实施例中,所述至少一个程序被执行时,可以实现以下步骤:
向服务器发送种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
接收所述服务器基于所述种子密钥派发请求返回的OTP响应,其中,所述OTP响应中至少携带有种子密钥;
使用所述种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述至少一个程序被执行时,还可实现如下步骤:
向所述服务器发送身份认证请求;
接收所述服务器基于所述身份认证请求发送的第二认证令牌,并将所述第二认证令牌作为所述第一认证令牌携带在所述种子密钥派发请求中。
可选地,所述向所述服务器发送种子密钥派发请求之前,所述至少一个程序被执行时,还可实现如下步骤:
随机生成客户端随机数以及交换密钥,并将所述客户端随机数以及所述交换密钥携带在所述种子密钥派发请求中;
所述OTP响应中携带的种子密钥为加密的种子密钥,所述OTP响应中还携带有服务端随机数,所述使用所述种子密钥计算动态口令之前,所述方法还包括:
使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥。
可选地,OTP响应中还携带有消息认证码MAC值,所述工作密钥包括加密密钥以及校验密钥;
所述使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥,包括:
使用所述加密密钥对所述加密的种子密钥进行解密,得到种子密钥;
使用所述校验密钥对计算MAC值,并根据计算得到的MAC值与所述OTP响应中携带的MAC对所述种子密钥进行校验;
所述使用所述种子密钥计算动态口令,包括:
若所述种子密钥校验通过,使用所述种子密钥计算动态口令。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (7)

1.一种动态口令OTP验证方法,应用于服务器,其特征在于,所述方法包括:
接收客户端发送的种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
验证所述第一认证令牌是否有效;
若所述第一认证令牌有效,根据所述种子密钥派发请求生成OTP响应,并向所述客户端发送所述OTP响应,其中,所述OTP响应中至少携带有种子密钥,所述种子密钥用于生成动态口令;
其中,所述根据所述种子密钥派发请求生成OTP响应,包括:
使用OTP主密钥对所述第一认证令牌做派生,生成种子密钥;
根据所述种子密钥派发请求生成工作密钥;
使用所述工作密钥加密所述种子密钥,并将所述加密后的种子密钥携带在所述OTP响应中;
其中,所述种子密钥派发请求中还携带有客户端随机数以及交换密钥;
所述根据所述种子密钥派生请求生成工作密钥,包括:
随机生成服务端随机数,使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
其中,所述OTP响应中还携带有所述服务端随机数。
2.根据权利要求1所述的OTP验证方法,其特征在于,所述工作密钥包括加密密钥以及校验密钥,所述使用所述工作密钥加密所述种子密钥,包括:
使用所述加密密钥加密所述种子密钥,使用所述校验密钥计算所述种子密钥的消息认证码MAC值;
其中,所述OTP响应中还携带有所述种子密钥的MAC值。
3.一种动态口令OTP验证方法,应用于客户端,其特征在于,所述方法包括:
向服务器发送种子密钥派发请求,其中,所述种子密钥派发请求中至少携带有第一认证令牌;
接收所述服务器基于所述种子密钥派发请求返回的OTP响应,其中,所述OTP响应中至少携带有种子密钥;
使用所述种子密钥计算动态口令,并向所述服务器发送所述动态口令,用于请求所述服务器验证所述动态口令是否有效;
其中,所述向所述服务器发送种子密钥派发请求之前,所述方法还包括:
随机生成客户端随机数以及交换密钥,并将所述客户端随机数以及所述交换密钥携带在所述种子密钥派发请求中;
所述OTP响应中携带的种子密钥为加密的种子密钥,所述OTP响应中还携带有服务端随机数,所述使用所述种子密钥计算动态口令之前,所述方法还包括:
使用所述客户端随机数、服务端随机数以及交换密钥,派生工作密钥;
使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥。
4.根据权利要求3所述的OTP验证方法,其特征在于,OTP响应中还携带有消息认证码MAC值,所述工作密钥包括加密密钥以及校验密钥;
使用所述工作密钥,对所述加密的种子密钥进行解密,得到种子密钥,包括:
使用所述加密密钥对所述加密的种子密钥进行解密,得到种子密钥;
使用所述校验密钥计算MAC值,并根据计算得到的MAC值与所述OTP响应中携带的MAC对所述种子密钥进行校验;
所述使用所述种子密钥计算动态口令,包括:
若所述种子密钥校验通过,使用所述种子密钥计算动态口令。
5.一种服务器,包括存储器以及至少一个处理器,其特征在于,所述服务器还包括存储在所述存储器上并可在所述至少一个处理器执行的至少一个程序,所述至少一个程序被所述至少一个处理器执行时实现上述权利要求1至2任一项所述的方法中的步骤。
6.一种客户端,包括存储器以及至少一个处理器,其特征在于,所述客户端还包括存储在所述存储器上并可在所述至少一个处理器执行的至少一个程序,所述至少一个程序被所述至少一个处理器执行时实现上述权利要求3至4任一项所述的方法中的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存在有计算机可执行的至少一个程序,其特征在于,所述至少一个程序被计算机执行时使计算机执行上述权利要求1至2任一项所述的方法中的步骤;
或者,所述至少一个程序被计算机执行时使计算机执行上述权利要求3至4任一项所述的方法中的步骤。
CN201911078282.6A 2019-11-06 2019-11-06 Otp验证方法、服务器、客户端及计算机可读存储介质 Active CN110830471B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911078282.6A CN110830471B (zh) 2019-11-06 2019-11-06 Otp验证方法、服务器、客户端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911078282.6A CN110830471B (zh) 2019-11-06 2019-11-06 Otp验证方法、服务器、客户端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110830471A CN110830471A (zh) 2020-02-21
CN110830471B true CN110830471B (zh) 2022-05-24

Family

ID=69552913

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911078282.6A Active CN110830471B (zh) 2019-11-06 2019-11-06 Otp验证方法、服务器、客户端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110830471B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582876A (zh) * 2020-05-09 2020-08-25 腾讯科技(深圳)有限公司 操作认证方法、装置、存储介质及电子装置
CN111526166B (zh) 2020-07-03 2020-12-15 支付宝(杭州)信息技术有限公司 一种信息验证方法、装置及设备
CN112003706B (zh) * 2020-08-24 2023-07-18 北京字节跳动网络技术有限公司 一种签名的方法、装置、计算机设备及存储介质
CN113806721A (zh) * 2021-09-24 2021-12-17 深信服科技股份有限公司 一种接入认证方法、装置、设备及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269266A (zh) * 2013-04-27 2013-08-28 北京宏基恒信科技有限责任公司 动态口令的安全认证方法和系统
CN103647645A (zh) * 2013-11-05 2014-03-19 北京宏基恒信科技有限责任公司 多认证服务器的动态口令认证方法、系统和装置
CN103684782A (zh) * 2013-11-26 2014-03-26 飞天诚信科技股份有限公司 一种令牌认证系统中令牌设备的激活方法
CN108964922A (zh) * 2018-06-19 2018-12-07 深圳市文鼎创数据科技有限公司 移动终端令牌激活方法、终端设备及服务器
CN110266642A (zh) * 2019-05-15 2019-09-20 网宿科技股份有限公司 身份认证方法及服务器、电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519066B (zh) * 2014-12-23 2017-11-28 飞天诚信科技股份有限公司 一种激活移动终端令牌的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103269266A (zh) * 2013-04-27 2013-08-28 北京宏基恒信科技有限责任公司 动态口令的安全认证方法和系统
CN103647645A (zh) * 2013-11-05 2014-03-19 北京宏基恒信科技有限责任公司 多认证服务器的动态口令认证方法、系统和装置
CN103684782A (zh) * 2013-11-26 2014-03-26 飞天诚信科技股份有限公司 一种令牌认证系统中令牌设备的激活方法
CN108964922A (zh) * 2018-06-19 2018-12-07 深圳市文鼎创数据科技有限公司 移动终端令牌激活方法、终端设备及服务器
CN110266642A (zh) * 2019-05-15 2019-09-20 网宿科技股份有限公司 身份认证方法及服务器、电子设备

Also Published As

Publication number Publication date
CN110830471A (zh) 2020-02-21

Similar Documents

Publication Publication Date Title
US10348715B2 (en) Computer-implemented systems and methods of device based, internet-centric, authentication
CN110830471B (zh) Otp验证方法、服务器、客户端及计算机可读存储介质
US9741033B2 (en) System and method for point of sale payment data credentials management using out-of-band authentication
EP3319292B1 (en) Methods, client and server for checking security based on biometric features
US10848304B2 (en) Public-private key pair protected password manager
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
US10924289B2 (en) Public-private key pair account login and key manager
TW201741922A (zh) 一種基於生物特徵的安全認證方法及裝置
JP2018532301A (ja) 本人認証方法及び装置
WO2015188426A1 (zh) 一种身份验证方法、装置、系统及相关设备
JP2016063533A (ja) 電子取引用のネットワーク認証方法
EP3487142A1 (en) Method and device for providing and obtaining graphic code information, and terminal
WO2015188424A1 (zh) 一种密钥存储设备及其使用方法
US20180357638A1 (en) Identity information authentication method, user terminal, service terminal, authentication server, and service system
CN110677382A (zh) 数据安全处理方法、装置、计算机系统及存储介质
CN108616352B (zh) 基于安全元件的动态口令生成方法和系统
WO2017050152A1 (zh) 用于移动设备的密码安全系统及其密码安全输入方法
CN113709115A (zh) 认证方法及装置
KR101570773B1 (ko) 모바일 기기를 사용한 인터넷 서비스의 클라우드 인증 방법
CN108768655B (zh) 动态口令生成方法和系统
CN112348998B (zh) 一次性密码的生成方法、装置、智能门锁及存储介质
CN110830264A (zh) 业务数据验证方法、服务器、客户端及可读存储介质
JP6701011B2 (ja) 端末登録方法、及び端末登録システム
EP3320664B1 (en) Method of authenticating communication of an authentication device and at least one authentication server using local factor
KR20200067987A (ko) 로그인 제어 방법

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
CB03 Change of inventor or designer information

Inventor after: Tong Lina

Inventor after: Feng Xishun

Inventor after: Lu Ruyi

Inventor after: Li Ruide

Inventor after: Gu Yan

Inventor after: Wang Jun

Inventor before: Tong Lina

Inventor before: Feng Xishun

Inventor before: Lu Ruyi

Inventor before: Li Ruide

Inventor before: Gu Yan

Inventor before: Wang Junyang

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant