CN114070614B - 身份认证方法、装置、设备、存储介质和计算机程序产品 - Google Patents

身份认证方法、装置、设备、存储介质和计算机程序产品 Download PDF

Info

Publication number
CN114070614B
CN114070614B CN202111347551.1A CN202111347551A CN114070614B CN 114070614 B CN114070614 B CN 114070614B CN 202111347551 A CN202111347551 A CN 202111347551A CN 114070614 B CN114070614 B CN 114070614B
Authority
CN
China
Prior art keywords
ciphertext
hardware
server
terminal
identity authentication
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
CN202111347551.1A
Other languages
English (en)
Other versions
CN114070614A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202111347551.1A priority Critical patent/CN114070614B/zh
Publication of CN114070614A publication Critical patent/CN114070614A/zh
Application granted granted Critical
Publication of CN114070614B publication Critical patent/CN114070614B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请涉及一种身份认证方法、装置、设备、存储介质和计算机程序产品,可用于信息安全领域。该方法包括:响应于身份认证操作,向服务器发起身份认证请求;接收服务器响应于身份认证请求反馈的第一随机信息,基于卡模拟方式提供的终端加密秘钥对第一随机信息进行加密得到第一密文;通过通信链路将第一密文传输至硬件认证设备,使得硬件认证设备基于硬件加密秘钥加密第一密文得到第二密文;接收硬件认证设备通过通信链路反馈的第二密文;将第二密文发送至服务器,以使得服务器根据与终端加密秘钥对应的终端解密秘钥、及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,基于解密结果确定身份认证结果。采用本方法能够提高身份认证的安全性。

Description

身份认证方法、装置、设备、存储介质和计算机程序产品
技术领域
本申请涉及计算机技术领域,特别是涉及一种身份认证方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着移动互联网的高速发展,人们使用移动终端的场景越来越多,比如可通过移动支付进行支付、进行业务操作、或者授权操作等等。在这些不同使用场景下,越来越多的终端应用具有高安全认证的需求。
目前传统认证方法,通常采用用户名和密码进行认证,或者短信验证码认证等方式,但这种认证方式可能存在信息被泄露的风险,存在身份认证的安全性不够高的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高身份认证安全性的身份认证方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种身份认证方法。所述方法包括:
响应于身份认证操作,向服务器发起身份认证请求;
接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收所述硬件认证设备通过所述通信链路反馈的第二密文;
将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
在其中一个实施例中,所述响应于身份认证操作,向服务器发起身份认证请求,包括:
在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;所述身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路;
若在所述身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
在其中一个实施例中,所述目标操作包括支付操作,所述方法还包括:
接收服务器下发的令牌;所述令牌为所述服务器在身份认证通过后下发的;
根据所述令牌和所述支付操作所产生的支付信息,共同生成支付请求;
向所述服务器发送所述支付请求;所述支付请求用于指示所述服务器基于支付信息完成支付操作。
在其中一个实施例中,在所述响应于身份认证操作,向服务器发起身份认证请求之前,所述方法还包括:
获取第二随机信息,通过终端的第一主秘钥对所述第二随机信息进行加密得到第一中间密文;
向服务器传输所述第二随机信息,以使得所述服务器基于服务器的第二主秘钥对所述第二随机信息进行加密,得到第二中间密文;
将所述第一中间密文传输至所述服务器,以使得所述服务器基于所述第二主秘钥对所述第一中间密文进行加密,得到第三中间密文;
接收所述服务器传输的第二中间密文,并通过所述第一主秘钥对所述第二中间密文进行加密,得到第四中间密文;
若所述第三中间密文与所述第四中间密文相同,则基于相同的中间密文确定所述终端的终端加密秘钥。
在其中一个实施例中,在所述响应于身份认证操作,向服务器发起身份认证请求之前,所述方法还包括:
建立与硬件认证设备间的通信链路;
从服务器处获取第三随机信息,并基于终端加密秘钥对所述第三随机信息进行加密,得到第五中间密文;
通过预先建立的通信链路将所述第五中间密文传输至硬件认证设备,以使得所述硬件认证设备基于硬件加密秘钥对所述第五中间密文进行加密,得到第六中间密文;
接收所述硬件认证设备通过所述通信链路反馈的第六中间密文和硬件认证设备标识;
通过所述终端加密秘钥对所述硬件认证设备标识进行加密,得到标识密文;
将所述第六中间密文和所述标识密文发送至服务器,以使得所述服务器基于与所述终端加密秘钥对应的终端解密秘钥对所述标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及所述终端解密秘钥对所述第六中间密文进行解密,若解密得到的随机信息与所述第三随机信息相同,则确认所述移动终端和硬件认证设备均通过合法性验证。
在其中一个实施例中,若所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文依次解密后得到的解密信息,与所述第一随机信息相同,则所述身份认证结果为身份认证通过;若所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密失败、或者解密后得到的解密信息与所述第一随机信息不同,则所述身份认证结果为身份认证不通过。
第二方面,本申请还提供了一种身份认证装置。所述装置包括:
发送模块,用于响应于身份认证操作,向服务器发起身份认证请求;
加密模块,用于接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
传输模块,用于通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收模块,用于接收所述硬件认证设备通过所述通信链路反馈的第二密文;
所述发送模块,还用于将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于身份认证操作,向服务器发起身份认证请求;
接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收所述硬件认证设备通过所述通信链路反馈的第二密文;
将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于身份认证操作,向服务器发起身份认证请求;
接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收所述硬件认证设备通过所述通信链路反馈的第二密文;
将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于身份认证操作,向服务器发起身份认证请求;
接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收所述硬件认证设备通过所述通信链路反馈的第二密文;
将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
上述身份认证方法、装置、计算机设备、存储介质和计算机程序产品,在需要进行身份认证时,向服务器发起身份认证请求,从而接收服务器反馈的第一随机信息。通过卡模拟方式提供的终端加密秘钥对第一随机信息进行一级加密,得到第一密文。再将第一密文通过通信链路传输至硬件认证设备,以通过硬件认证设备进行二级加密得到第二密文。将第二密文传输至服务器,以使得服务器解密后进行身份认证。这样,通过移动终端和硬件认证设备间的双重加密认证方式,可以大大提高身份认证的安全性。由于本申请中必须同时得到终端和硬件认证设备后方才可成功进行认证,因而无论硬件认证设备丢失、或者终端丢失的情况都不会造成安全问题,大大提高了身份认证的安全性,特别适合低频高安全要求的认证场景。
附图说明
图1为一个实施例中身份认证方法的应用环境图;
图2为一个实施例中身份认证方法的流程示意图;
图3为一个实施例中终端和硬件认证设备的初始化流程;
图4为一个实施例中身份认证装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的身份认证方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,终端102通过通信链路与硬件认证设备106进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中终端与硬件认证设备具体可通过近场通信连接进行通信,或者USB(Universal Serial Bus,串行总线)直连、蓝牙、WIFI、红外等数据传输方式,不做限定。
具体地,响应于身份认证操作,终端102向服务器104发起身份认证请求;终端102接收服务器104响应于身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密,得到第一密文;终端102通过通信链路将第一密文传输至硬件认证设备106;硬件认证设备106基于硬件加密秘钥加密第一密文得到第二密文;终端102接收硬件认证设备106通过通信链路反馈的第二密文;终端102将第二密文发送至服务器104,以使得服务器104根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。硬件认证设备106为具有NFC(Near Field Communication,近场通信)功能的电子设备。
在一个实施例中,如图2所示,提供了一种身份认证方法,以该方法应用于图1中的终端102为例进行说明,包括以下步骤:
步骤202,响应于身份认证操作,向服务器发起身份认证请求。
具体地,在用户需要进行大额转账或者交易,或者重要的数字授权场景下,用户可操作终端触发身份认证操作,终端响应于该身份认证操作向服务器发起身份认证请求。
在其中一个实施例中,数字授权场景具体可以是通过电子印章进行文件签署的场景。比如,在用户需要使用电子印章进行文件签署前,可在终端上触发身份认证操作,并将硬件认证设备靠近终端,以完成终端和硬件认证设备的身份认证结果。当身份认证结果通过后,终端才授权调用电子印章。
需要说明的是,终端具体可以是移动终端,具有网络通信功能,也具有近场通信功能。
步骤204,接收服务器响应于身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密,得到第一密文。
其中,第一随机信息具体可以是随机数或随机字符串等,本申请实施例对此不作限定。卡模拟方式是HCE(Host-based Card Emulation),也就是基于主机的卡模拟,包括基于硬件的虚拟卡模式和基于软件的主机卡模式。基于硬件的虚拟卡模式可提供安全模块SE,通过该安全模块SE执行对第一随机信息的加密过程。基于软件的主机卡模式,可通过终端中运行的一个应用或云端的服务器完成SE的功能。
具体的,服务器在接收到终端发起的身份认证请求后,可向终端反馈第一随机信息,进而终端可基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密处理,得到第一密文。其中,终端加密秘钥可预先在初始化时存储在终端中,具体可以是对称秘钥或非对称秘钥等,本申请实施例对此不作限定。
在其中一个实施例中,终端和服务器可通过秘钥协商的方式,约定好终端加密秘钥、以及对应的终端解密秘钥。需要说明的是,终端解密秘钥是能够对采用终端加密秘钥加密后的密文进行解密的秘钥,具体可以是终端加密秘钥本身,也可以是基于终端加密秘钥而生成的一个解密秘钥,本申请实施例对此不作限定。其中,关于具体的秘钥协商方式,在后面的实施例中会进行详细阐述。.
步骤206,通过预先建立的通信链路将第一密文传输至硬件认证设备;第一密文用于指示硬件认证设备基于硬件加密秘钥加密第一密文得到第二密文。
具体的,在身份认证场景下,用户可将硬件认证设备靠近终端,以建议终端与硬件认证设备间的通信链路,该通信链路具体可以是近场通信连接。进而,终端可通过该通信链路将第一密文传输至硬件认证设备。需要说明的是,终端和硬件认证设备间也可采用USB等有线通信连接方式等进行安全的通信。
进而,硬件认证设备在接收到第一密文后,会采用硬件加密秘钥对第一密文进行再次加密,得到第二密文。其中,硬件加密秘钥可预先在初始化时存储在硬件认证设备中,具体可以是对称秘钥或非对称秘钥等,本申请实施例对此不作限定。
在其中一个实施例中,硬件认证设备和服务器可通过秘钥协商的方式,约定好硬件加密秘钥、以及对应的硬件解密秘钥。需要说明的是,硬件解密秘钥是能够对采用硬件加密秘钥加密后的密文进行解密的秘钥,具体可以是硬件加密秘钥本身,也可以是基于硬件加密秘钥而生成的一个解密秘钥,本申请实施例对此不作限定。其中,关于具体的秘钥协商方式,在后面的实施例中会进行详细阐述。
步骤208,接收硬件认证设备通过通信链路反馈的第二密文。
具体地,终端接收硬件认证设备通过通信链路所传输的第二密文。在其中一个实施例中,终端可将接收到的第二密文直接存储至安全区域(SE区域),进而再从安全区域中将该第二密文发送至服务器。
步骤210,将第二密文发送至服务器,以使得服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
具体地,终端可将第二密文发送至服务器,服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
在其中一个实施例中,若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文依次解密后得到的解密信息,与第一随机信息相同,则身份认证结果为身份认证通过。若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密失败、或者解密后得到的解密信息与第一随机信息不同,则身份认证结果为身份认证不通过。
上述身份认证方法,在需要进行身份认证时,向服务器发起身份认证请求,从而接收服务器反馈的第一随机信息。通过卡模拟方式提供的终端加密秘钥对第一随机信息进行一级加密,得到第一密文。再将第一密文通过通信链路传输至硬件认证设备,以通过硬件认证设备进行二级加密得到第二密文。将第二密文传输至服务器,以使得服务器解密后进行身份认证。这样,通过移动终端和硬件认证设备间的双重加密认证方式,可以大大提高身份认证的安全性。由于本申请中必须同时得到终端和硬件认证设备后方才可成功进行认证,因而无论硬件认证设备丢失、或者终端丢失的情况都不会造成安全问题,大大提高了身份认证的安全性,特别适合低频高安全要求的认证场景。
在其中一个实施例中,响应于身份认证操作,向服务器发起身份认证请求,包括:在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路;若在身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
具体地,在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面。其中,目标操作具体可以是支付操作、签名操作、或者数字认证操作等。若在身份认证界面中发生身份认证操作,终端则生成身份认证请求并发送至服务器。
下面以支付场景为例进行说明,在检测到用户触发的、且需要安全验证的支付操作时,终端可显示安全支付界面。在安全支付界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路(比如近场通信连接)。若用户在安全支付界面中点击或触发了身份认证操作,终端则可生成身份认证请求并将身份认证请求发送至服务器。
在其中一个实施例中,终端可建立与服务器间的安全传输通道,通过该安全传输通道进行数据传输。其中,安全传输通道,也称TSM(Trusted Service Manager)通道,用于保障数据传输的可靠性和安全性。在另一个实施例中,终端也可以通过该安全传输通道完成秘钥初始化操作,以与服务器间交换终端加密秘钥和/或终端解密秘钥。
上述实施例中,用户可通过身份认证界面方便快捷地进行身份认证操作,以保障目标操作执行的安全性。
在其中一个实施例中,目标操作包括支付操作,该方法还包括执行支付操作的步骤,该步骤具体包括:接收服务器下发的令牌;令牌为服务器在身份认证通过后下发的;根据令牌和支付操作所产生的支付信息,共同生成支付请求;向服务器发送支付请求;支付请求用于指示服务器基于支付信息完成支付操作。
具体的,服务器在身份认证结果表征身份认证通过后,可向终端下发令牌。终端可根据令牌和支付操作所产生的支付信息,共同生成支付请求,进而向服务器发送支付请求;支付请求用于指示服务器基于支付信息完成支付操作。
在其中一个实施例中,身份认证请求中可直接携带有支付信息,该还包括:若身份认证结果表征身份认证通过,则触发服务器基于支付信息完成支付操作。
上述实施例中,在身份认证通过后,通过服务器下发的令牌可以实现安全支付,保障了支付过程的安全性。
在其中一个实施例中,在响应于身份认证操作,向服务器发起身份认证请求之前,该方法还包括终端秘钥初始化过程,该过程包括以下步骤:获取第二随机信息,通过终端的第一主秘钥对第二随机信息进行加密得到第一中间密文。向服务器传输第二随机信息,以使得服务器基于服务器的第二主秘钥对第二随机信息进行加密,得到第二中间密文。将第一中间密文传输至服务器,以使得服务器基于第二主秘钥对第一中间密文进行加密,得到第三中间密文。接收服务器传输的第二中间密文,并通过第一主秘钥对第二中间密文进行加密,得到第四中间密文。若第三中间密文与第四中间密文相同,则基于相同的中间密文确定终端的终端加密秘钥。
具体地,终端中预先存储有第一主秘钥(也可通过HCE技术提供),服务器中预先存储有第二主秘钥。终端获取第二随机信息,并通过第一主秘钥对第二随机信息进行加密得到第一中间密文。终端将第二随机信息传输至服务器,服务器基于第二主密钥对第二随机信息进行加密得到第二中间密文。终端将第一中间密文传输至服务器,并且接收服务器传输的第二中间密文。终端再基于第一主密钥对第二中间密文进行加密得到第四中间密文。服务器基于第二主秘钥对第一中间密文进行加密得到第三中间密文。若第三中间密文与第四中间密文相同,则可将该相同的密文作为终端加密秘钥,这样,终端和服务器间就实现的秘钥的协商。
下面以举例的方式说明该过程:
假设A为服务器,B为终端。双方都有一个主秘钥,A的为S1和B的为S2。A与B先通过明文传输一个随机字符串a,此传输安全性无需保证。A与B用其主秘钥S1、S2分别对a进行一次加密得到b1,b2,此时b1≠b2。A与B互相交换b1和b2。此时A获取到b2,B获取到了b1,此传输安全性无需保证。A用其主秘钥S1对b2进行一次算法得到c1;B用其主秘钥S2对b1进行一次算法得到c2。此时c1=c2,那么可将c1作为双方协商的终端加密秘钥。
需要说明的是,上述过程中,对a字符串进行两次运算,运算顺序不一致但结果须一致。例如a*2*3=6a,a*3*2=6a。运算需要足够复杂,上述的主秘钥S1不能被b1和a字符串反推出来,这样就能保障秘钥协商的安全性。
上述实施例中,终端和服务器间通过秘钥协商的方式可以安全便捷地交换终端加密秘钥,进而保障后续的身份认证可以顺利进行。
在其中一个实施例中,在响应于身份认证操作,向服务器发起身份认证请求之前,方法还包括硬件认证设备的初始化过程,该过程具体包括以下步骤:建立与硬件认证设备间的通信链路;从服务器处获取第三随机信息,并基于终端加密秘钥对第三随机信息进行加密,得到第五中间密文;通过通信链路将第五中间密文传输至硬件认证设备,以使得硬件认证设备基于硬件加密秘钥对第五中间密文进行加密,得到第六中间密文;接收硬件认证设备通过通信链路反馈的第六中间密文和硬件认证设备标识;通过终端加密秘钥对硬件认证设备标识进行加密,得到标识密文;将第六中间密文和标识密文发送至服务器,以使得服务器基于与终端加密秘钥对应的终端解密秘钥对标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及终端解密秘钥对第六中间密文进行解密,若解密得到的随机信息与第三随机信息相同,则确认移动终端和硬件认证设备均通过合法性验证。
具体地,用户可将硬件认证设备靠近终端,进而建立终端与硬件认证设备间的通信链路,比如近场通信连接。终端可从服务器处获取第三随机信息,并基于终端加密秘钥对第三随机信息进行加密,得到第五中间密文。终端通过通信链路将第五中间密文传输至硬件认证设备,以使得硬件认证设备基于硬件加密秘钥对第五中间密文进行加密,得到第六中间密文。终端接收硬件认证设备反馈的第六中间密文和硬件认证设备标识,终端可通过终端加密秘钥对硬件认证设备标识进行加密,得到标识密文,进而将第六中间密文和标识密文发送至服务器。
服务器基于与终端加密秘钥对应的终端解密秘钥对标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及终端解密秘钥对第六中间密文进行解密。若解密得到的随机信息与第三随机信息相同,则确认移动终端和硬件认证设备均通过合法性验证,完成绑定配对工作。其中,硬件加密秘钥所对应的硬件解密秘钥,在硬件认证设备出厂时已经初始化至服务器。
在其中一个实施例中,硬件认证设备的工作秘钥(也就是前文中提及的硬件加密秘钥和硬件解密秘钥)也可以在出厂时即初始化好,在进行初始化流程时,不再通过终端进行传输,从而进一步提升安全性。
在其中一个实施例中,终端具备HCE功能,并通过TSM访问服务器,通过密钥交换算法初始化HCE的工作密钥(也就是终端加密秘钥和终端解密秘钥)。接下来,将硬件认证设备靠近终端启动。由终端发起首次认证过程,从服务器获取第三随机信息,经过一级加密后,通过NFC发给硬件认证设备进行二级加密,获取到第六中间密文。同时终端通过NFC获取到硬件认证设备ID(硬件设备唯一编号,为明文)。终端用自己的工作秘钥对硬件认证设备ID进行加密后,将第六中间密文和硬件认证设备ID密文同时返回给服务器。服务器先用终端的工作秘钥解密硬件认证设备ID得到明文。通过硬件认证设备ID查询硬件设备的工作秘钥(出厂时已初始化到服务器)。然后服务器通过硬件认证设备的工作秘钥和终端的工作秘钥二次解密获取到随机信息,将解密得到的随机信息与之前发送的第三随机信息进行比对。如果比对通过,则确定终端及硬件认证设备合法,完成绑定配对工作。
上述实施例中,在进行初始化过程中,通过终端与硬件认证设备间互相配合的二次加密,以及硬件认证设备标识的唯一性,可以安全地对终端和硬件认证设备的合法性进行校验,实现绑定配对。
参考图3,图3为另一个实施例中终端和硬件认证设备的初始化流程。参考图3,终端需具备HCE功能,并通过TSM访问服务端,通过密钥交换算法初始化HCE的工作密钥,工作秘钥可为对称秘钥或非对称秘钥。通过终端的工作密钥的保护,通过密钥交换算法,获取硬件认证设备的工作秘钥。通过终端的NFC功能与硬件认证设备进行数据交互,初始化硬件认证设备的工作秘钥。其中,终端在这个过程中因为要进行硬件认证设备的工作秘钥的传输,可预先设置终端在传输完硬件认证设备的工作秘钥后,删除硬件认证设备的工作秘钥。
在其中一个实施例中,硬件认证设备中可集成NFC功能、无线反向充电、硬件安全芯片功能。与该硬件认证设备配对的终端包括但不限于手机,所以只要能够提供数据交换的设备,都可以用此设备进行加密。NFC也仅是其中一种交互方式,还可集成USB直连、蓝牙、WIFI、或红外等数据传输方式,不做限定。
在一个具体的实施例中,本申请实施例所提供的身份认证方法和可适用于信息安全领域和物联网领域等,以终端为手机为例来说明本申请的身份认证方法:首先,由手机端发起,从后台服务器请求并获取认证随机数。通过手机工作秘钥将认证随机数进行一级加密形成密文。将硬件认证设备与手机靠一起,启动NFC和无线反向充电,通过NFC将一级密文传输给硬件认证设备。其中,硬件认证设备的无线反向充电元件负责给运算单元供电,在复杂认证或更高安全等级的时候可用。硬件认证设备通过安全芯片对一级密文进行二次加密,并返回给手机端。手机端接收二级密文,并响应给服务端。服务端接收到二级密文后依次用硬件认证设备和手机的工作秘钥解密还原出随机数,与其自身生成的随机数比对,并以此作为认证结果。
由于本申请中必须同时得到终端和硬件认证设备后方才可成功进行认证,因而无论硬件认证设备丢失、或者终端丢失的情况都不会造成安全问题,大大提高了身份认证的安全性,特别适合低频高安全要求的认证场景。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的身份认证方法的身份认证装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个身份认证装置实施例中的具体限定可以参见上文中对于身份认证方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种身份认证装置400,包括:发送模块401、加密模块402、传输模块403和接收模块404,其中:
发送模块401,用于响应于身份认证操作,向服务器发起身份认证请求。
加密模块402,用于接收服务器响应于身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密,得到第一密文。
传输模块403,用于通过预先建立的通信链路将第一密文传输至硬件认证设备;第一密文用于指示硬件认证设备基于硬件加密秘钥加密第一密文得到第二密文。
接收模块404,用于接收硬件认证设备通过通信链路反馈的第二密文。
发送模块401,还用于将第二密文发送至服务器,以使得服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
在其中一个实施例中,发送模块401,还用于在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路;若在身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
在其中一个实施例中,目标操作包括支付操作,该装置还包括生成模块,其中:
接收模块404,还用于接收服务器下发的令牌;令牌为服务器在身份认证通过后下发的。
生成模块,用于根据令牌和支付操作所产生的支付信息,共同生成支付请求。
发送模块401,还用于向服务器发送支付请求;支付请求用于指示服务器基于支付信息完成支付操作。
在其中一个实施例中,该装置还包括确定模块,用于获取第二随机信息,通过终端的第一主秘钥对第二随机信息进行加密得到第一中间密文;向服务器传输第二随机信息,以使得服务器基于服务器的第二主秘钥对第二随机信息进行加密,得到第二中间密文;将第一中间密文传输至服务器,以使得服务器基于第二主秘钥对第一中间密文进行加密,得到第三中间密文;接收服务器传输的第二中间密文,并通过第一主秘钥对第二中间密文进行加密,得到第四中间密文;若第三中间密文与第四中间密文相同,则基于相同的中间密文确定终端的终端加密秘钥。
在其中一个实施例中,该装置还包括合法性验证模块,用于建立与硬件认证设备间的通信链路;从服务器处获取第三随机信息,并基于终端加密秘钥对第三随机信息进行加密,得到第五中间密文;通过通信链路将第五中间密文传输至硬件认证设备,以使得硬件认证设备基于硬件加密秘钥对第五中间密文进行加密,得到第六中间密文;接收硬件认证设备通过通信链路反馈的第六中间密文和硬件认证设备标识;通过终端加密秘钥对硬件认证设备标识进行加密,得到标识密文;将第六中间密文和标识密文发送至服务器,以使得服务器基于与终端加密秘钥对应的终端解密秘钥对标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及终端解密秘钥对第六中间密文进行解密,若解密得到的随机信息与第三随机信息相同,则确认移动终端和硬件认证设备均通过合法性验证。
在其中一个实施例中,若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文依次解密后得到的解密信息,与第一随机信息相同,则身份认证结果为身份认证通过;若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密失败、或者解密后得到的解密信息与第一随机信息不同,则身份认证结果为身份认证不通过。
上述身份认证装置,在需要进行身份认证时,向服务器发起身份认证请求,从而接收服务器反馈的第一随机信息。通过卡模拟方式提供的终端加密秘钥对第一随机信息进行一级加密,得到第一密文。再将第一密文通过通信链路传输至硬件认证设备,以通过硬件认证设备进行二级加密得到第二密文。将第二密文传输至服务器,以使得服务器解密后进行身份认证。这样,通过移动终端和硬件认证设备间的双重加密认证方式,可以大大提高身份认证的安全性。由于本申请中必须同时得到终端和硬件认证设备后方才可成功进行认证,因而无论硬件认证设备丢失、或者终端丢失的情况都不会造成安全问题,大大提高了身份认证的安全性,特别适合低频高安全要求的认证场景。
上述身份认证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种身份认证方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:响应于身份认证操作,向服务器发起身份认证请求;接收服务器响应于身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密,得到第一密文;通过预先建立的通信链路将第一密文传输至硬件认证设备;第一密文用于指示硬件认证设备基于硬件加密秘钥加密第一密文得到第二密文;接收硬件认证设备通过通信链路反馈的第二密文;将第二密文发送至服务器,以使得服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路;若在身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收服务器下发的令牌;令牌为服务器身份认证通过后下发的;根据令牌和支付操作所产生的支付信息,共同生成支付请求;向服务器发送支付请求;支付请求用于指示服务器基于支付信息完成支付操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第二随机信息,通过终端的第一主秘钥对第二随机信息进行加密得到第一中间密文;向服务器传输第二随机信息,以使得服务器基于服务器的第二主秘钥对第二随机信息进行加密,得到第二中间密文;将第一中间密文传输至服务器,以使得服务器基于第二主秘钥对第一中间密文进行加密,得到第三中间密文;接收服务器传输的第二中间密文,并通过第一主秘钥对第二中间密文进行加密,得到第四中间密文;若第三中间密文与第四中间密文相同,则基于相同的中间密文确定终端的终端加密秘钥。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:建立与硬件认证设备间的通信链路;从服务器处获取第三随机信息,并基于终端加密秘钥对第三随机信息进行加密,得到第五中间密文;通过预先建立的通信链路将第五中间密文传输至硬件认证设备,以使得硬件认证设备基于硬件加密秘钥对第五中间密文进行加密,得到第六中间密文;接收硬件认证设备通过通信链路反馈的第六中间密文和硬件认证设备标识;通过终端加密秘钥对硬件认证设备标识进行加密,得到标识密文;将第六中间密文和标识密文发送至服务器,以使得服务器基于与终端加密秘钥对应的终端解密秘钥对标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及终端解密秘钥对第六中间密文进行解密,若解密得到的随机信息与第三随机信息相同,则确认移动终端和硬件认证设备均通过合法性验证。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文依次解密后得到的解密信息,与第一随机信息相同,则身份认证结果为身份认证通过;若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密失败、或者解密后得到的解密信息与第一随机信息不同,则身份认证结果为身份认证不通过。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:响应于身份认证操作,向服务器发起身份认证请求;接收服务器响应于身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密,得到第一密文;通过预先建立的通信链路将第一密文传输至硬件认证设备;第一密文用于指示硬件认证设备基于硬件加密秘钥加密第一密文得到第二密文;接收硬件认证设备通过通信链路反馈的第二密文;将第二密文发送至服务器,以使得服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路;若在身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收服务器下发的令牌;令牌为服务器身份认证通过后下发的;根据令牌和支付操作所产生的支付信息,共同生成支付请求;向服务器发送支付请求;支付请求用于指示服务器基于支付信息完成支付操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第二随机信息,通过终端的第一主秘钥对第二随机信息进行加密得到第一中间密文;向服务器传输第二随机信息,以使得服务器基于服务器的第二主秘钥对第二随机信息进行加密,得到第二中间密文;将第一中间密文传输至服务器,以使得服务器基于第二主秘钥对第一中间密文进行加密,得到第三中间密文;接收服务器传输的第二中间密文,并通过第一主秘钥对第二中间密文进行加密,得到第四中间密文;若第三中间密文与第四中间密文相同,则基于相同的中间密文确定终端的终端加密秘钥。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:建立与硬件认证设备间的通信链路;从服务器处获取第三随机信息,并基于终端加密秘钥对第三随机信息进行加密,得到第五中间密文;通过预先建立的通信链路将第五中间密文传输至硬件认证设备,以使得硬件认证设备基于硬件加密秘钥对第五中间密文进行加密,得到第六中间密文;接收硬件认证设备通过通信链路反馈的第六中间密文和硬件认证设备标识;通过终端加密秘钥对硬件认证设备标识进行加密,得到标识密文;将第六中间密文和标识密文发送至服务器,以使得服务器基于与终端加密秘钥对应的终端解密秘钥对标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及终端解密秘钥对第六中间密文进行解密,若解密得到的随机信息与第三随机信息相同,则确认移动终端和硬件认证设备均通过合法性验证。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文依次解密后得到的解密信息,与第一随机信息相同,则身份认证结果为身份认证通过;若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密失败、或者解密后得到的解密信息与第一随机信息不同,则身份认证结果为身份认证不通过。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:响应于身份认证操作,向服务器发起身份认证请求;接收服务器响应于身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对第一随机信息进行加密,得到第一密文;通过预先建立的通信链路将第一密文传输至硬件认证设备;第一密文用于指示硬件认证设备基于硬件加密秘钥加密第一密文得到第二密文;接收硬件认证设备通过通信链路反馈的第二密文;将第二密文发送至服务器,以使得服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密,并基于解密结果确定身份认证结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近移动终端,以建立硬件认证设备与移动终端间的通信链路;若在身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收服务器下发的令牌;令牌为服务器身份认证通过后下发的;根据令牌和支付操作所产生的支付信息,共同生成支付请求;向服务器发送支付请求;支付请求用于指示服务器基于支付信息完成支付操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取第二随机信息,通过终端的第一主秘钥对第二随机信息进行加密得到第一中间密文;向服务器传输第二随机信息,以使得服务器基于服务器的第二主秘钥对第二随机信息进行加密,得到第二中间密文;将第一中间密文传输至服务器,以使得服务器基于第二主秘钥对第一中间密文进行加密,得到第三中间密文;接收服务器传输的第二中间密文,并通过第一主秘钥对第二中间密文进行加密,得到第四中间密文;若第三中间密文与第四中间密文相同,则基于相同的中间密文确定终端的终端加密秘钥。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:建立与硬件认证设备间的通信链路;从服务器处获取第三随机信息,并基于终端加密秘钥对第三随机信息进行加密,得到第五中间密文;通过预先建立的通信链路将第五中间密文传输至硬件认证设备,以使得硬件认证设备基于硬件加密秘钥对第五中间密文进行加密,得到第六中间密文;接收硬件认证设备通过通信链路反馈的第六中间密文和硬件认证设备标识;通过终端加密秘钥对硬件认证设备标识进行加密,得到标识密文;将第六中间密文和标识密文发送至服务器,以使得服务器基于与终端加密秘钥对应的终端解密秘钥对标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及终端解密秘钥对第六中间密文进行解密,若解密得到的随机信息与第三随机信息相同,则确认移动终端和硬件认证设备均通过合法性验证。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文依次解密后得到的解密信息,与第一随机信息相同,则身份认证结果为身份认证通过;若服务器根据与终端加密秘钥对应的终端解密秘钥、以及与硬件加密秘钥对应的硬件解密秘钥,对第二密文进行解密失败、或者解密后得到的解密信息与第一随机信息不同,则身份认证结果为身份认证不通过。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、以及用户操作信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种身份认证方法,其特征在于,所述方法包括:
响应于身份认证操作,向服务器发起身份认证请求;
接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收所述硬件认证设备通过所述通信链路反馈的第二密文;
将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
2.根据权利要求1所述的方法,其特征在于,所述响应于身份认证操作,向服务器发起身份认证请求,包括:
在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;所述身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近终端,以建立硬件认证设备与终端间的通信链路;
若在所述身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
3.根据权利要求2所述的方法,其特征在于,所述目标操作包括支付操作,所述方法还包括:
接收服务器下发的令牌;所述令牌为所述服务器在身份认证通过后下发的;
根据所述令牌和所述支付操作所产生的支付信息,共同生成支付请求;
向所述服务器发送所述支付请求;所述支付请求用于指示所述服务器基于支付信息完成支付操作。
4.根据权利要求1所述的方法,其特征在于,在所述响应于身份认证操作,向服务器发起身份认证请求之前,所述方法还包括:
获取第二随机信息,通过终端的第一主秘钥对所述第二随机信息进行加密得到第一中间密文;
向服务器传输所述第二随机信息,以使得所述服务器基于服务器的第二主秘钥对所述第二随机信息进行加密,得到第二中间密文;
将所述第一中间密文传输至所述服务器,以使得所述服务器基于所述第二主秘钥对所述第一中间密文进行加密,得到第三中间密文;
接收所述服务器传输的第二中间密文,并通过所述第一主秘钥对所述第二中间密文进行加密,得到第四中间密文;
若所述第三中间密文与所述第四中间密文相同,则基于相同的中间密文确定所述终端的终端加密秘钥。
5.根据权利要求1所述的方法,其特征在于,在所述响应于身份认证操作,向服务器发起身份认证请求之前,所述方法还包括:
建立与硬件认证设备间的通信链路;
从服务器处获取第三随机信息,并基于终端加密秘钥对所述第三随机信息进行加密,得到第五中间密文;
通过预先建立的通信链路将所述第五中间密文传输至硬件认证设备,以使得所述硬件认证设备基于硬件加密秘钥对所述第五中间密文进行加密,得到第六中间密文;
接收所述硬件认证设备通过所述通信链路反馈的第六中间密文和硬件认证设备标识;
通过所述终端加密秘钥对所述硬件认证设备标识进行加密,得到标识密文;
将所述第六中间密文和所述标识密文发送至服务器,以使得所述服务器基于与所述终端加密秘钥对应的终端解密秘钥对所述标识密文进行解密,得到硬件认证设备标识,并基于硬件认证设备标识查询硬件加密秘钥,基于查询到的硬件加密秘钥所对应的硬件解密秘钥、以及所述终端解密秘钥对所述第六中间密文进行解密,若解密得到的随机信息与所述第三随机信息相同,则确认终端和硬件认证设备均通过合法性验证。
6.根据权利要求1至5中任一项所述的方法,其特征在于,若所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文依次解密后得到的解密信息,与所述第一随机信息相同,则所述身份认证结果为身份认证通过;若所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密失败、或者解密后得到的解密信息与所述第一随机信息不同,则所述身份认证结果为身份认证不通过。
7.一种身份认证装置,其特征在于,所述装置包括:
发送模块,用于响应于身份认证操作,向服务器发起身份认证请求;
加密模块,用于接收所述服务器响应于所述身份认证请求反馈的第一随机信息,并基于卡模拟方式所提供的终端加密秘钥对所述第一随机信息进行加密,得到第一密文;
传输模块,用于通过预先建立的通信链路将所述第一密文传输至硬件认证设备;所述第一密文用于指示所述硬件认证设备基于硬件加密秘钥加密所述第一密文得到第二密文;
接收模块,用于接收所述硬件认证设备通过所述通信链路反馈的第二密文;
所述发送模块,还用于将所述第二密文发送至所述服务器,以使得所述服务器根据与所述终端加密秘钥对应的终端解密秘钥、以及与所述硬件加密秘钥对应的硬件解密秘钥,对所述第二密文进行解密,并基于解密结果确定身份认证结果。
8.根据权利要求7所述的装置,其特征在于,所述发送模块,还用于:
在检测到用户触发的、且需要安全验证的目标操作时,显示身份认证界面;所述身份认证界面中显示有身份认证操作指引,用于提示用户将硬件认证设备靠近终端,以建立硬件认证设备与终端间的通信链路;
若在所述身份认证界面中发生身份认证操作,则生成身份认证请求并发送至服务器。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202111347551.1A 2021-11-15 2021-11-15 身份认证方法、装置、设备、存储介质和计算机程序产品 Active CN114070614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111347551.1A CN114070614B (zh) 2021-11-15 2021-11-15 身份认证方法、装置、设备、存储介质和计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111347551.1A CN114070614B (zh) 2021-11-15 2021-11-15 身份认证方法、装置、设备、存储介质和计算机程序产品

Publications (2)

Publication Number Publication Date
CN114070614A CN114070614A (zh) 2022-02-18
CN114070614B true CN114070614B (zh) 2024-01-09

Family

ID=80271968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111347551.1A Active CN114070614B (zh) 2021-11-15 2021-11-15 身份认证方法、装置、设备、存储介质和计算机程序产品

Country Status (1)

Country Link
CN (1) CN114070614B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422266A (zh) * 2022-02-28 2022-04-29 深圳市中悦科技有限公司 一种基于双重验证机制的IDaaS系统
CN114640510B (zh) * 2022-03-02 2023-07-04 宁波三星医疗电气股份有限公司 一种采用分离的加密服务器进行通信的方法
CN114449505B (zh) * 2022-03-08 2022-07-29 芯电智联(北京)科技有限公司 一种nfc标签数据的传输方法、设备和存储介质
CN115189929A (zh) * 2022-06-27 2022-10-14 苏州华兴源创科技股份有限公司 授权认证的方法、装置、计算机设备和存储介质
CN116193429A (zh) * 2023-02-06 2023-05-30 中国联合网络通信集团有限公司 认证方法、装置及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491094A (zh) * 2013-09-26 2014-01-01 成都三零瑞通移动通信有限公司 一种基于c/s模式的快速身份认证方法
CN105871920A (zh) * 2016-06-08 2016-08-17 美的集团股份有限公司 终端与云服务器的通讯系统及方法、终端、云服务器
CN106850603A (zh) * 2017-01-19 2017-06-13 北京洋浦伟业科技发展有限公司 一种白盒密码双向身份认证方法、终端、服务端及系统
CN106899607A (zh) * 2017-03-21 2017-06-27 杭州迪普科技股份有限公司 一种信息加密发送及解密接收的方法及装置
CN108416206A (zh) * 2017-02-10 2018-08-17 北京华大智宝电子系统有限公司 一种安全认证控制装置及数据传输方法
CN112784250A (zh) * 2021-01-27 2021-05-11 深圳融安网络科技有限公司 身份认证方法、客户端、服务器及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103491094A (zh) * 2013-09-26 2014-01-01 成都三零瑞通移动通信有限公司 一种基于c/s模式的快速身份认证方法
CN105871920A (zh) * 2016-06-08 2016-08-17 美的集团股份有限公司 终端与云服务器的通讯系统及方法、终端、云服务器
CN106850603A (zh) * 2017-01-19 2017-06-13 北京洋浦伟业科技发展有限公司 一种白盒密码双向身份认证方法、终端、服务端及系统
CN108416206A (zh) * 2017-02-10 2018-08-17 北京华大智宝电子系统有限公司 一种安全认证控制装置及数据传输方法
CN106899607A (zh) * 2017-03-21 2017-06-27 杭州迪普科技股份有限公司 一种信息加密发送及解密接收的方法及装置
CN112784250A (zh) * 2021-01-27 2021-05-11 深圳融安网络科技有限公司 身份认证方法、客户端、服务器及存储介质

Also Published As

Publication number Publication date
CN114070614A (zh) 2022-02-18

Similar Documents

Publication Publication Date Title
CN114070614B (zh) 身份认证方法、装置、设备、存储介质和计算机程序产品
US10733603B2 (en) Method and apparatus for facilitating electronic payments using a wearable device
CN108322451B (zh) 数据处理方法、装置、计算机设备和存储介质
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
EP4081921B1 (en) Contactless card personal identification system
WO2020192698A1 (zh) 数据安全备份和安全恢复的方法及电子设备
CN109768979A (zh) 数据加密传输方法、装置、计算机设备和存储介质
TW202137199A (zh) 生物支付設備的認證方法、裝置、電腦設備和儲存媒體
WO2018219010A1 (zh) 一种空中发卡方法及装置
CN117561508A (zh) 可验证凭证的跨会话颁发
WO2017044677A1 (en) Method and apparatus for facilitating electronic payments using a wearable device
CN116049802B (zh) 应用单点登陆方法、系统、计算机设备和存储介质
CN117041956A (zh) 通信认证方法、装置、计算机设备和存储介质
CN114553556B (zh) 数据加密方法、装置、计算机设备和存储介质
CN106713225B (zh) 基于二维码认证的二维码装置、系统及其操作方法
CN103488917A (zh) 利用触屏装置实现系统加密保护的方法
WO2018017019A1 (en) Personal security device and method
US20230065643A1 (en) Devices and techniques to perform entropy-based randomness via a contactless card
CN117578655A (zh) 充电鉴权方法、装置、电子设备和存储介质
CN116055063A (zh) 车联网通信方法、装置、计算机设备和存储介质
CN116112268A (zh) 数据处理方法、装置、计算机设备和存储介质
CN115714973A (zh) 基于可信计算的5g移动终端的数据安全加固方法和装置
CN115830745A (zh) 一种锁具开锁系统及方法
CN115174260A (zh) 数据验证方法、装置、计算机、存储介质和程序产品
CN117786639A (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