CN112182540A - 一种身份验证方法及装置 - Google Patents

一种身份验证方法及装置 Download PDF

Info

Publication number
CN112182540A
CN112182540A CN202011097026.4A CN202011097026A CN112182540A CN 112182540 A CN112182540 A CN 112182540A CN 202011097026 A CN202011097026 A CN 202011097026A CN 112182540 A CN112182540 A CN 112182540A
Authority
CN
China
Prior art keywords
hash
verification information
terminal
server
user
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
CN202011097026.4A
Other languages
English (en)
Other versions
CN112182540B (zh
Inventor
任杰
王光全
薛淼
刘千仞
任梦璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN202011097026.4A priority Critical patent/CN112182540B/zh
Publication of CN112182540A publication Critical patent/CN112182540A/zh
Application granted granted Critical
Publication of CN112182540B publication Critical patent/CN112182540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本申请实施例提供一种身份验证方法及装置,涉及通信技术领域,解决了现有的身份验证方法安全性较低的技术问题,包括:终端响应于用户的身份验证指令,判断第三验证信息是否被篡改。若第三验证信息未被篡改,则终端判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应。若第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则终端响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。若用户输入的生物特征为第四验证信息中的生物特征,则终端判断第四验证信息与第二验证信息是否一致。若第四验证信息与第二验证信息一致,则终端确定身份验证成功。

Description

一种身份验证方法及装置
技术领域
本发明涉及通信技术领域,尤其涉及一种身份验证方法及装置。
背景技术
随着互联网技术的发展,身份验证已经成为互联网中的基础功能。身份验证是指服务器或者终端验证用户、设备或其他实体的身份的过程。
传统的身份验证方法通常包括账号密码验证、短信验证码验证等。但是,由于各种计算机病毒或恶意程序容易控制服务器或者终端的权限,因此,传统的身份验证方法中的账号密码或者短信验证码容易被盗取,进而降低了身份验证的安全性。
发明内容
本申请提供一种身份验证方法及装置,解决了现有的身份验证方法安全性较低的技术问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种身份验证方法,应用于包括终端和服务器的身份验证系统。其中,终端的第一安全容器和服务器的第二安全容器中均预先存储有第一验证信息。终端的第三安全容器和服务器的第四安全容器中均预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。
具体的,终端响应于用户的身份验证指令,判断第三验证信息是否被篡改。若第三验证信息未被篡改,则终端判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应。若第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则终端响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。若用户输入的生物特征为第四验证信息中的生物特征,则终端判断第四验证信息与第二验证信息是否一致。若第四验证信息与第二验证信息一致,则终端确定身份验证成功。其中,第三验证信息为第一安全容器在第三时刻存储的验证信息。第四验证信息为第三安全容器在第三时刻存储的验证信息。第三时刻位于第二时刻之后。
由上可知,终端的第一安全容器和第二安全容器中分别存储有验证信息。在进行身份验证时,终端首先判断第一安全容器中的验证信息是否被篡改,若第一安全容器中的验证信息未被篡改,则根据第一安全容器中的验证信息判断第二安全容器中的验证信息是否被篡改。若第二安全容器中的验证信息未被篡改,则根据若第二安全容器中的验证信息验证用户的身份,以及服务器的身份。这样一来,由于终端中存储有两种生物特征相同,但存储时间不同的验证信息,因此,终端不仅可以验证用户和服务器的身份,还可以验证自身存储的验证信息是否被篡改,进而提高了身份验证的安全性。
第二方面,提供一种身份验证方法,应用于包括终端和服务器的身份验证系统。其中,服务器的第二安全容器中预先存储有第一验证信息。服务器的第四安全容器中预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。
具体的,服务器首先接收终端发送的验证请求,然后根据验证请求,生成预设规则,接着服务器根据预设规则,确定第二生物特征,并确定第二生物特征的第四哈希。后续,服务器向终端发送第四哈希。其中,第二生物特征为第二验证信息中的至少一个生物特征。第三方面,提供一种身份验证装置,应用于终端。终端归属于包括终端和服务器的身份验证系统。终端的第一安全容器和服务器的第二安全容器中均预先存储有第一验证信息。终端的第三安全容器和服务器的第四安全容器中均预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。身份验证方法装置:判断单元和确定单元。
具体的,判断单元,用于响应于用户的身份验证指令,判断第三验证信息是否被篡改。第三验证信息为第一安全容器在第三时刻存储的验证信息。第三时刻位于第二时刻之后。若第三验证信息未被篡改,则判断单元,还用于判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应。第四验证信息为第三安全容器在第三时刻存储的验证信息。若第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则判断单元,还用于响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。若用户输入的生物特征为第四验证信息中的生物特征,则判断单元,还用于判断第四验证信息与第二验证信息是否一致。若第四验证信息与第二验证信息一致,则确定单元,用于确定身份验证成功。
第四方面,提供一种身份验证装置,应用服务器。服务器归属于包括终端和服务器的身份验证系统,服务器的第二安全容器中预先存储有第一验证信息。服务器的第四安全容器中预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。身份验证装置包括:接收单元、生成单元、确定单元和发送单元。
具体的,接收单元,用于接收终端发送的验证请求。生成单元,用于根据接收单元接收的验证请求,生成预设规则。确定单元,用于根据生成单元生成的预设规则,确定第二生物特征;第二生物特征为第二验证信息中的至少一个生物特征。确定单元,还用于确定第二生物特征的第四哈希。发送单元,用于向终端发送确定单元确定的第四哈希。
第五方面,提供一种身份验证装置,包括存储器和处理器。存储器用于存储计算机执行指令,处理器与存储器通过总线连接。当身份验证装置运行时,处理器执行存储器存储的计算机执行指令,以使身份验证装置执行第一方面或第二方面所述的身份验证方法。
该身份验证装置可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面或第二方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述身份验证方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第六方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面或第二方面所述的身份验证方法。
第七方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在计算机上运行时,使得计算机执行如上述第一方面及其各种可能的实现方式所述的身份验证方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与身份验证装置的处理器封装在一起的,也可以与身份验证装置的处理器单独封装,本申请对此不作限定。
本发明中第三方面、第四方面、第五方面、第六方面以及第七方面的描述,可以参考第一方面或第二方面的详细描述;并且,第三方面、第四方面、第五方面、第六方面以及第七方面的描述的有益效果,可以参考第一方面或第二方面的有益效果分析,此处不再赘述。
在本申请中,上述身份验证装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本发明类似,属于本发明权利要求及其等同技术的范围之内。
本发明的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的一种身份验证系统的结构示意图;
图2为本申请实施例提供的一种身份验证装置的硬件结构示意图;
图3为本申请实施例提供的又一种身份验证装置的硬件结构示意图;
图4为本申请实施例提供的一种身份验证方法的流程示意图;
图5为本申请实施例提供的终端的可信执行环境的存储结构示意图;
图6为本申请实施例提供的又一种身份验证方法的流程示意图;
图7为本申请实施例提供的又一种身份验证方法的流程示意图;
图8为本申请实施例提供的又一种身份验证方法的流程示意图;
图9为本申请实施例提供的又一种身份验证方法的流程示意图;
图10为本申请实施例提供的又一种身份验证方法的流程示意图;
图11为本申请实施例提供的一种身份验证装置的结构示意图;
图12为本申请实施例提供的又一种身份验证装置的结构示意图;
图13为本申请实施例提供的又一种身份验证装置的结构示意图;
图14为本申请实施例提供的又一种身份验证装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
为了便于理解本申请,现对本申请涉及到的相关要素进行描述。
可信执行环境(trusted execution environment,TEE)
在终端的开放环境的背景下,安全问题也越来越受到关注。可信执行环境是全球平台组织(global platform,GP)在终端开放环境的背景下,提出的一种应用于互联网技术中的概念。可信执行环境主要应用于安全智能设备,安全支付等领域。可信执行环境是与终端上的其他操作系统并存的运行环境,并且给其他操作系统提供安全服务。
可信执行环境具有其自身的执行空间,比其他操作系统的安全级别更高,但是比起安全元素(safe element,SE)的安全性要低一些。但是可信执行环境能够满足大多数应用的安全需求。
软件保护扩展(software guard extension,SGX)技术是一种应用于可信执行环境中常用的技术。SGX技术是一种基于硬件的保护软件安全状态的技术。SGX技术可以为应用程序或敏感数据提供一个可信执行环境。
安全容器(enclave)
安全容器是一种用于存放应用程序的敏感数据和代码的存储模块。安全容器。若某应用程序或敏感数据需要在可信执行环境中运行或保存,可信执行环境则会将其封装在一个安全容器中。对于该安全容器,可信执行环境可以确保其不受恶意软件的攻击,且允许应用程序开发者保护敏感数据不被未授权访问或者更高特权级别软件的修改。对于安全容器来讲,一个可信执行环境中可以存在多个安全容器,且这些安全容器相互独立。
如背景技术所描述,传统的身份验证方法通常包括账号密码验证、短信验证码验证等。但是,由于各种计算机病毒或恶意程序容易控制服务器或者终端的权限,因此,传统的身份验证方法中的账号密码或者短信验证码容易被盗取,进而降低了身份验证的安全性。
针对上述问题,本申请实施例提供了一种身份验证方法,终端和服务器均将验证信息存储于安全容器中,并在身份验证时确定终端存储的验证信息是否被篡改,以及确定用户的身份和服务器的身份。通过重重验证后,即保证了终端存储的验证信息不被篡改,又提高了身份验证的安全性。
本申请实施例提供的身份验证方法适用于身份验证系统10。图1示出了该身份验证系统10的一种结构。如图1所示,该身份验证系统10包括:终端11和服务器12。其中,终端11与服务器12之间通信连接。
可选的,上述图1所示的身份验证系统10中,服务器12可以与至少一个终端11连接。本申请实施例对终端11的数量及类型均不作限制。
本申请实施例中的终端11可以为各种具有通信功能的手持设备、车载设备、可穿戴设备、计算机、智能家居设备或智能办公设备,本申请实施例对此不作任何限定。例如,手持设备可以是智能手机。车载设备可以是车载导航系统。可穿戴设备可以是智能手环。计算机可以是个人数字助理(personal digital assistant,PDA)电脑、平板型电脑以及膝上型电脑(laptop computer)。智能家居设备可以是智能窗帘、智能水表。智能办公设备可以是智能打印机。
本申请实施例中的服务器12用于向终端11提供业务资源,并对终端及用户进行身份验证。
可选的,服务器12为该服务器对应的云计算服务器集群(由多个服务器组成)中的一个服务器,也可以是该服务器中的芯片,还可以是该服务器中的片上系统,还可以通过部署在物理机上的虚拟机(virtual machine,VM)实现,本申请实施例对此不作限定。
需要说明的是,本申请实施例中,终端11和服务器12上均部署有可信执行环境(例如SGX系统)。本申请实施例中,可信执行环境中的安全容器用于对用户生物特征的保存、哈希的保存以及向服务提供身份比对结果。
具体的,终端11的第一安全容器和服务器12的第二安全容器中均预先存储有第一验证信息。终端11的第三安全容器和服务器12的第四安全容器中均预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。
图1中的终端11和服务器12包括图2所示身份验证装置所包括的元件。下面以图2所示的身份验证装置为例,介绍图1中的终端11和服务器12的硬件结构。
图2示出了本申请实施例提供的身份验证装置的一种硬件结构示意图。如图2所示,该身份验证装置包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是身份验证装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU 0和CPU 1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本发明实施例提供的身份验证方法。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于与其他设备通过通信网络连接。所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图2示出的结构并不构成对该身份验证装置的限定。除图2所示部件之外,该身份验证装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图3示出了本申请实施例中身份验证装置的另一种硬件结构。如图3所示,身份验证装置可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以参考上述存储器22的功能。
通信接口32用于为处理器31提供数据。该通信接口32可以是身份验证装置的内部接口,也可以是身份验证装置对外的接口(相当于通信接口23)。
需要指出的是,图2(或图3)中示出的结构并不构成对身份验证装置的限定,除图2(或图3)所示部件之外,该身份验证装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合上述图1示出的通信系统和上述图2(或图3)示出的身份验证装置,对本申请实施例提供的身份验证方法进行详细介绍。
本申请实施例提供的身份验证方法应用于包括终端和服务器的身份验证系统。由于终端的第一安全容器和服务器的第二安全容器中均预先存储有第一验证信息,因此,本申请实施例提供的身份验证方法包括:“第一验证信息存储流程”。为了保证终端存储的第一验证信息不被篡改,终端还可以存储第二验证信息,以验证第一验证信息的准确性。因此,终端的第三安全容器和服务器的第四安全容器中均预先存储有第二验证信息。这样一来,本申请实施例提供的身份验证方法还包括:“第二验证信息存储流程”。后续,本申请实施例提供的身份验证方法还包括“身份验证流程”。
其中,第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。“第一验证信息存储流程”为终端和服务器存储第一验证信息的流程。“第二验证信息存储流程”为终端和服务器存储第二验证信息的流程。“身份验证流程”为终端根据预先存储的第一验证信息和第二验证信息进行身份验证的流程、以及服务器根据预先存储的第一验证信息和第二验证信息进行身份验证的流程。
下面先对“第一验证信息存储流程”进行描述。
如图4所示,“第一验证信息存储流程”包括:S401-S411。
S401、终端响应于用户在第一时刻录入的多个生物特征,确定用户在第一时刻录入的多个生物特征的第五哈希。
在身份验证的过程中,终端首先要存储用户的验证信息。
可选的,该验证信息可以是多个生物特征,例如:用户的指纹特征、用户的面部特征、用户的虹膜特征或用户的声纹特征等。验证信息还可以包括其他的用于标识用户的信息,本申请对此不作限定。
可选的,终端的第一安全容器中包括多个第一子安全容器。当响应于用户在第一时刻录入的多个生物特征后,终端可以将用户在第一时刻录入的多个生物特征分别存储与多个第一子安全容器中,以保证用户录入的生物特征不被篡改。其中,用户在第一时刻录入的多个生物特征与多个第一子安全容器一一对应。
示例性的,终端将用户的指纹特征存储于安全容器Es中、将用户的面部特征存储于安全容器Ef中、将用户的虹膜特征存储于安全容器Ei中、将用户的声纹特征存储于安全容器Ev中。后续,终端还可以创建用于存放验证所需程序在内的功能安全容器Ee。例如功能安全容器Ee用于生成随机数、抽样参数的生成等,以及接收的哈希值等。
需要说明的是,安全容器Es、安全容器Ef、安全容器Ei、安全容器Ev和安全容器Ee均为第一安全容器中的第一子安全容器。
可选的,安全容器Es、安全容器Ef、安全容器Ei和安全容器Ev还分别存储有用于计算哈希、清空容器的应用程序。
示例性的,如图5所示,终端的可信执行环境中包括第一安全容器、第二安全容器和第三安全容器,第一安全容器包括安全容器Es、安全容器Ef、安全容器Ei、安全容器Ev和安全容器Ee。安全容器Es可以将存储的用户的指纹特征划分为多个取样点,并在安全容器Es中存储多个取样点(例如图5中的取样点S1和取样点S2)。
相应的,安全容器Ef可以将存储的用户的面部特征划分为多个取样点,并在安全容器Ef中存储多个取样点(例如图5中的取样点F1和取样点F2)。
相应的,安全容器Ei可以将存储的用户的虹膜特征划分为多个取样点,并在安全容器Ei中存储多个取样点(例如图5中的取样点I1和取样点I2)。
相应的,安全容器Ev可以将存储的用户的声纹特征划分为多个取样点,并在安全容器Ev中存储多个取样点(例如图5中的取样点V1和取样点V2)。
安全容器Es、安全容器Ef、安全容器Ei和安全容器Ev还分别存储有用于计算哈希、清空容器的应用程序。
终端将用户在第一时刻录入的多个生物特征分别存储与多个第一子安全容器中后,确定用户在第一时刻录入的多个生物特征的第五哈希。
S402、终端向服务器发送用户在第一时刻输入的多个生物特征和第五哈希。
在确定用户在第一时刻录入的多个生物特征的第五哈希之后,终端向服务器发送用户在第一时刻输入的多个生物特征和第五哈希。
可以理解的是,服务器接收终端发送的用户在第一时刻输入的多个生物特征和第五哈希。第五哈希为终端确定的用户在第一时刻录入的多个生物特征的哈希。
S403、服务器根据终端发送的用户在第一时刻输入的多个生物特征,确定第六哈希。
在身份验证的过程中,服务器也需要存储用户的验证信息。
需要说明的是,服务器的第二安全容器中包括多个第二子安全容器,服务器在接收到终端发送的用户在第一时刻输入的多个生物特征后,服务器可以将终端发送的用户在第一时刻录入的多个生物特征分别存储与多个第二子安全容器中,以保证用户录入的生物特征不被篡改。其中,终端发送的用户在第一时刻录入的多个生物特征与多个第二子安全容器一一对应。
具体的,服务器存储用户的验证信息时,可以参考上述S401中,终端存储用户的验证信息的具体描述,本申请实施例对此不再赘述。
服务器将用户在第一时刻录入的多个生物特征分别存储与多个第二子安全容器中后,确定用户在第一时刻录入的多个生物特征的第六哈希。
S404、终端接收服务器发送的第六哈希。
在服务器确定第六哈希后,终端接收服务器发送的第六哈希。
可以理解的是,第六哈希为服务器根据终端发送的用户在第一时刻输入的多个生物特征确定的。
S405、终端判断第五哈希和第六哈希是否一致。
在确定第五哈希以及接收到服务器发送的第六哈希后,终端判断第五哈希和第六哈希是否一致,以提高终端存储验证信息的准确性。
具体的,若终端确定第五哈希和第六哈希一致,则执行S406和S407;若终端确定第五哈希和第六哈希不一致,则执行S408。
S406、终端将用户在第一时刻输入的多个生物特征确定为第一验证信息,并将第一验证信息存储于第一安全容器中。
若第五哈希和第六哈希一致,则终端将用户在第一时刻输入的多个生物特征确定为第一验证信息,并将第一验证信息存储于第一安全容器中。
S407、终端将第六哈希确定为第二哈希,并存储第二哈希。
若第五哈希和第六哈希一致,则终端将第六哈希确定为第二哈希,并存储第二哈希。
可选的,终端可以先执行S406,后执行S407;也可以先执行S407,后执行S406;还可以同时执行S406和S407。
S408、终端删除所有第一子安全容器。
若第五哈希和第六哈希不一致,说明终端存储的验证信息可能已被篡改,为了保证身份验证的安全性,终端删除所有第一子安全容器。
S409、服务器判断第五哈希和第六哈希是否一致。
相应的,服务器判断第五哈希和第六哈希是否一致,以提高服务器存储验证信息的准确性。
若服务器确定第五哈希和第六哈希一致,则执行S410;若终端确定第五哈希和第六哈希不一致,则执行S411。
可选的,服务器可以先执行S404,后执行S409;也可以先执行S409,后执行S404;还可以同时执行S404和S409。
S410、服务器将用户在第一时刻输入的多个生物特征确定为第一验证信息,并将第一验证信息存储于第二安全容器中。
若第五哈希和第六哈希一致,则服务器将用户在第一时刻输入的多个生物特征确定为第一验证信息,并将第一验证信息存储于第二安全容器中。
S411、服务器删除所有第二子安全容器。
若第五哈希和第六哈希不一致,说明服务器存储的验证信息可能已被篡改,为了保证身份验证的安全性,服务器删除所有第二子安全容器。
下面再对“第二验证信息存储流程”进行描述。
如图6所示,“第二验证信息存储流程”包括:S601-S610。
S601、终端响应于用户在第二时刻录入的多个生物特征,确定用户在第二时刻录入的多个生物特征的第七哈希。
S602、终端向服务器发送用户在第二时刻输入的多个生物特征和第七哈希。
S603、服务器根据终端发送的用户在第二时刻输入的多个生物特征,确定第八哈希。
S604、终端接收服务器发送的第八哈希。
S605、终端判断第七哈希和第八哈希是否一致。
若终端确定第五哈希和第六哈希一致,则执行S606;若终端确定第五哈希和第六哈希不一致,则执行S607。
S606、终端将用户在第二时刻输入的多个生物特征确定为第二验证信息,并将第二验证信息存储于第三安全容器中。
S607、终端删除所有第三子安全容器。
第三子安全容器为第三安全容器中,用于存储生物特征的安全容器。
S608、服务器判断第七哈希和第八哈希是否一致。
若服务器确定第七哈希和第八哈希一致,则执行S609;若终端确定第七哈希和第八哈希不一致,则执行S610。
可选的,服务器可以先执行S604,后执行S608;也可以先执行S608,后执行S604;还可以同时执行S604和S608。
S609、服务器将用户在第二时刻输入的多个生物特征确定为第二验证信息,并将第二验证信息存储于第四安全容器中。
S610、服务器删除所有第四子安全容器。
需要说明的是,“第二验证信息存储流程”中的具体步骤可以参考“第一验证信息存储流程”,本申请实施例在此不再详细赘述。
下面再对“身份验证流程”进行描述。
如图7所示,“身份验证流程”包括:S701-S705。
S701、终端响应于用户的身份验证指令,判断第三验证信息是否被篡改。
其中,第三验证信息为第一安全容器在第三时刻存储的验证信息。第三时刻位于第二时刻之后。
在用户请求验证身份时,终端首先响应于用户的身份验证指令,判断终端在第一安全容器中存储的验证信息的真实性,以防被篡改。
可选的,终端首先确定第三验证信息的第一哈希,然后终端响应于用户的身份验证指令,获取预选存储的第二哈希。其中,第二哈希为服务器存储第一验证信息时确定并发送的第一验证信息的哈希,即“第一验证信息存储流程”的S407中,终端确定的哈希。由于第二哈希为服务器存储第一验证信息时确定并发送的第一验证信息的哈希,因此,终端判断第一哈希与第二哈希是否相同。若第一哈希与第二哈希相同,则终端确定第三验证信息未被篡改。若第一哈希与第二哈希不同,则终端确定第三验证信息已被篡改,并删除第一安全容器中的第三验证信息。
进一步的,若终端确定第三验证信息未被篡改,则执行S702;若终端确定第三验证信息已被篡改,则删除第一安全容器中的第三验证信息。
S702、终端判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应。
若第三验证信息未被篡改,则终端判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应,以保证第四验证信息中的多个生物特征未被篡改。
第四验证信息为第三安全容器在第三时刻存储的验证信息。
若终端确定第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则执行S703;若终端确定第三验证信息中的多个生物特征与第四验证信息中的多个生物特征不对应,则删除第一安全容器中的第三验证信息和第二安全容器中的第四验证信息。
S703、终端响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。
若第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则确定第三验证信息和第四验证信息均未被篡改。在这种情况下,终端响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。
具体的,若用户输入的生物特征为第四验证信息中的生物特征,则执行S704;若用户输入的生物特征不是第四验证信息中的生物特征,则显示提示信息。提示信息用于提示用户验证失败。
示例性的,用户按照要求录入两种或多种生物特征,且将两种或多种生物特征按照第一验证信息与第二验证信息的存储方式存储至相应的安全容器中。后续,终端将将两种或多种生物特征存储的安全容器中的每一个特征与第四验证信息中的生物特征进行比对。若比对通过,则本地验证通过,则执行S704,否则拒绝服务。
S704、终端判断第四验证信息与第二验证信息是否一致。
若用户输入的生物特征为第四验证信息中的生物特征,则终端判断第四验证信息与第二验证信息是否一致,以保证第一验证信息、第二验证信息和第二哈希均未被篡改。
可选的,终端判断第四验证信息与第二验证信息是否一致时,首先向服务器发送验证请求。服务器在接收到终端发送的验证请求后,根据验证请求,生成预设规则,然后向终端发送预设规则。
终端在接收到服务器发送的预设规则后,根据预设规则确定第一生物特征以及第一生物特征的第三哈希。其中,第一生物特征为第四验证信息中的至少一个生物特征。
其次,服务器在生成预设规则后,还可以根据预设规则,确定第二生物特征以及第二生物特征的第四哈希。其中,第二生物特征为第二验证信息中的至少一个生物特征。后续,服务器向终端发送第四哈希。
终端在接收到服务器发送的第二生物特征的第四哈希,以及确定第三哈希后,判断第三哈希与第四哈希是否相同。若第三哈希与第四哈希相同,则终端确定第四验证信息与第二验证信息一致。若第三哈希与第四哈希不同,则终端确定第四验证信息与第二验证信息不一致,并删除第三安全容器中的第四验证信息。
示例性的,结合图5,第四安全容器中的服务程序调用存于其中随机数生成代码,生成两个随机数a,b。
其中,0<a≤第四子安全容器的数量。0<b≤第二验证信息中的多个生物特征的取样点的数量。随机数a用于选择具体的第四子安全容器,随机数b用于选择具体的第二验证信息中的多个生物特征的取样点。
终端接收到随机数a和b后,将利用Ee中的应用程序给存储用户生物特征信息的Es,Ef,Ei,Ev四个子安全容器随机标号(1-4)。读取随机数a,并选定该序号所代表的子安全容器Ea(即有
Figure BDA0002724092290000162
Figure BDA0002724092290000163
)。终端读取随机数b,在Ea中将其所存储的第四验证信息中Ea所代表的生物特征的所有取样点总量θa按照如下代码规则进行抽样,以确定第四验证信息中的至少一个生物特征,并计算第三哈希。
其中,代码规则为:
c=b mod a·a
//计算b除以a2后的余数c
for(i=c,i<θa,i=i+c){
//在选定的子安全容器Ea中,将该子安全容器中存储的所有特征值中每间隔c取样
Ssamp←Ci
Figure BDA0002724092290000161
第四验证信息
//Ci为抽样选定的取样点。Ssamp为临时性的子安全容器,用于存放从Ea中抽样得到的特征值(即Ci),以计算第三哈希。}
在第四安全容器中,调用相同的抽样规则进行抽样,以确定第二验证信息中的至少一个生物特征,并计算第四哈希。然后,服务器向终端发送第四哈希。
后续,终端判断第三哈希与第四哈希是否相同。若第三哈希与第四哈希相同,则终端确定第四验证信息与第二验证信息一致,并执行S705;若第三哈希与第四哈希不同,则终端确定若第四验证信息与第二验证信息不一致,并删除第二安全容器中的第四验证信息。
S705、终端确定身份验证成功。
若第四验证信息与第二验证信息一致,则终端确定身份验证成功。
本申请实施例提供一种身份验证方法,应用于包括终端和服务器的身份验证系统。其中,终端的第一安全容器和服务器的第二安全容器中均预先存储有第一验证信息。终端的第三安全容器和服务器的第四安全容器中均预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。
具体的,终端响应于用户的身份验证指令,判断第三验证信息是否被篡改。若第三验证信息未被篡改,则终端判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应。若第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则终端响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。若用户输入的生物特征为第四验证信息中的生物特征,则终端判断第四验证信息与第二验证信息是否一致。若第四验证信息与第二验证信息一致,则终端确定身份验证成功。其中,第三验证信息为第一安全容器在第三时刻存储的验证信息。第四验证信息为第三安全容器在第三时刻存储的验证信息。第三时刻位于第二时刻之后。
由上可知,终端的第一安全容器和第二安全容器中分别存储有验证信息。在进行身份验证时,终端首先判断第一安全容器中的验证信息是否被篡改,若第一安全容器中的验证信息未被篡改,则根据第一安全容器中的验证信息判断第二安全容器中的验证信息是否被篡改。若第二安全容器中的验证信息未被篡改,则根据若第二安全容器中的验证信息验证用户的身份,以及服务器的身份。这样一来,由于终端中存储有两种生物特征相同,但存储时间不同的验证信息,因此,终端不仅可以验证用户和服务器的身份,还可以验证自身存储的验证信息是否被篡改,进而提高了身份验证的安全性。
可选的,结合图7,如图8所示,上述S701可以替换为:S801-S805。
S801、终端确定第三验证信息的第一哈希。
S802、终端响应于用户的身份验证指令,获取预选存储的第二哈希。
其中,第二哈希为服务器存储第一验证信息时确定并发送的第一验证信息的哈希。
S803、终端判断第一哈希与第二哈希是否相同。
若终端确定第一哈希与第二哈希相同,则执行S804;若终端确定第一哈希与第二哈希不同,则执行S805。
S804、终端确定第三验证信息未被篡改。
若第一哈希与第二哈希相同,则终端确定第三验证信息未被篡改。
S805、终端确定第三验证信息已被篡改,并删除第一安全容器中的第三验证信息。
若第一哈希与第二哈希不同,则终端确定第三验证信息已被篡改,并删除第一安全容器中的第三验证信息。
可选的,如图9所示,终端判断第四验证信息与第二验证信息是否一致时,具体包括:
S901、终端向服务器发送验证请求。
可以理解的是,服务器接收终端发送的验证请求。
S902、服务器根据验证请求,生成预设规则。
S903、服务器向终端发送预设规则。
可以理解的是,终端接收服务器发送的预设规则。
S904、终端根据预设规则确定第一生物特征。
其中,第一生物特征为第四验证信息中的至少一个生物特征。
S905、终端确定第一生物特征的第三哈希。
S906、服务器根据预设规则确定第二生物特征。
其中,第二生物特征为第二验证信息中的至少一个生物特征;
S907、服务器确定第二生物特征的第四哈希。
可选的,为了保证服务器存储第二生物特征不被非法访问,服务器确定第二生物特征的第四哈希时,首先获取第一次数。其中,第一次数为服务器读取第一验证信息中的多个生物特征的次数与服务器读取第二验证信息中的多个生物特征的次数之和。然后,服务器确定第二生物特征的初始哈希,并根据第一次数和初始哈希,确定第四哈希。
示例性的,服务器在存储第二验证信息时,在每个安全容器中加入计数器。
计数器的使用逻辑为:无论授权或是非授权的访问,每对第四安全容器中的任一第四子安全容器中的生物特征进行一次访问时,就将该第四子安全容器的计数器的数值加一。
当进行验证步骤的时候,首先对计数器的数值进行确认。由于在验证操作的最后会将所有安全容器中的计数器初始化的操作,故每次进行远程验证操作的时候,需要进行计数器数值的比对。若所有安全容器中的计数器的数值之和为零,则可以继续远程验证。
具体方法为:当服务器接收到来自终端的验证请求后,进入第四安全容器中并计算计数器的数值之和,以确定第四安全容器中的访问次数。然后进行抽样等操作。在计算完第二生物特征的初始哈希之后,将第二生物特征的初始哈希与第四安全容器中的访问次数求和,并向终端发送求和后的数值。若终端验证通过,则将所有的计数器数值归零。
理论上,每对第四安全容器中的任一第四子安全容器中的生物特征进行一次访问时,计数器的数值都会加1。由于每个计数器初始值设置为0,进入安全容器中应用程序中计算计数器之和时,由于服务器尚未对其中存储的生物信息进行访问,故所有的计数器之和应该为0。也就是说,倘若存在未经授权的访问,则该数值不会清零。在验证时,未清零的数值会导致抽样结果哈希的改变,故使得整体系统无法通过验证。
S908、服务器向终端发送第四哈希。
可以理解的是,终端接收服务器发送的第二生物特征的第四哈希。其中,第二生物特征为服务器根据预设规则确定的第二验证信息中的至少一个生物特征。
S909、终端判断第三哈希与第四哈希是否相同。
若第三哈希与第四哈希相同,则终端执行S910;若第三哈希与第四哈希不同,则终端执行S911。
S910、终端确定第四验证信息与第二验证信息一致。
若第三哈希与第四哈希相同,则终端确定第四验证信息与第二验证信息一致。
S911、终端确定第四验证信息与第二验证信息不一致,并删除第三安全容器中的第四验证信息。
若第三哈希与第四哈希不同,则终端确定第四验证信息与第二验证信息不一致,并删除第三安全容器中的第四验证信息。
可选的,结合图9,如图10所示,上述S907可以替换为:S1001-S1003。
S1001、服务器获取第一次数。
第一次数为服务器读取第一验证信息中的多个生物特征的次数与服务器读取第二验证信息中的多个生物特征的次数之和。
S1002、服务器确定第二生物特征的初始哈希。
S1003、服务器根据第一次数和初始哈希,确定第四哈希。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对身份验证装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图11所示,为本申请实施例提供的一种身份验证装置110的结构示意图。该身份验证装置110用于解决现有的身份验证方法安全性较低的技术问题,例如用于执行图4、图6、图7、图8或图9所示的身份验证方法。该身份验证装置110应用于终端。终端归属于包括终端和服务器的身份验证系统,终端的第一安全容器和服务器的第二安全容器中均预先存储有第一验证信息。终端的第三安全容器和服务器的第四安全容器中均预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。身份验证方法装置:判断单元111和确定单元112。
判断单元111,用于响应于用户的身份验证指令,判断第三验证信息是否被篡改。第三验证信息为第一安全容器在第三时刻存储的验证信息。第三时刻位于第二时刻之后。例如,结合图7和图8,判断单元111用于执行S701。
若第三验证信息未被篡改,则判断单元111,还用于判断第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应。第四验证信息为第三安全容器在第三时刻存储的验证信息。例如,结合图7和图8,判断单元111用于执行S702。
若第三验证信息中的多个生物特征与第四验证信息中的多个生物特征一一对应,则判断单元111,还用于响应于用户输入的生物特征,判断用户输入的生物特征是否为第四验证信息中的生物特征。例如,结合图7和图8,判断单元111用于执行S703。
若用户输入的生物特征为第四验证信息中的生物特征,则判断单元111,还用于判断第四验证信息与第二验证信息是否一致。例如,结合图7和图8,判断单元111用于执行S704。
若第四验证信息与第二验证信息一致,则确定单元112,用于确定身份验证成功。例如,结合图7和图8,确定单元112用于执行S705。
可选的,判断单元111,具体用于:
确定第三验证信息的第一哈希。例如,结合图8,判断单元111用于执行S801。
响应于用户的身份验证指令,获取预先存储的第二哈希。第二哈希为服务器存储第一验证信息时确定并发送的第一验证信息的哈希。例如,结合图8,判断单元111用于执行S802。
判断第一哈希与第二哈希是否相同。例如,结合图8,判断单元111用于执行S803。
若第一哈希与第二哈希相同,则确定第三验证信息未被篡改。如,结合图8,判断单元111用于执行S804。
若第一哈希与第二哈希不同,则确定第三验证信息已被篡改,并删除第一安全容器中的第三验证信息。例如,结合图8,判断单元111用于执行S805。
可选的,判断单元111,具体用于:
向服务器发送验证请求。例如,结合图9和图10,判断单元111用于执行S901。
接收服务器发送的预设规则。例如,结合图9和图10,判断单元111用于执行S903。
根据预设规则确定第一生物特征。第一生物特征为第四验证信息中的至少一个生物特征。例如,结合图9和图10,判断单元111用于执行S904。
确定第一生物特征的第三哈希。例如,结合图9和图10,判断单元111用于执行S905。
接收服务器发送的第二生物特征的第四哈希。第二生物特征为服务器根据预设规则确定的第二验证信息中的至少一个生物特征。例如,结合图9和图10,判断单元111用于执行S908。
判断第三哈希与第四哈希是否相同。例如,结合图9和图10,判断单元111用于执行S909。
若第三哈希与第四哈希相同,则确定第四验证信息与第二验证信息一致。例如,结合图9和图10,判断单元111用于执行S910。
若第三哈希与第四哈希不同,则确定第四验证信息与第二验证信息不一致,并删除第三安全容器中的第四验证信息。例如,结合图9和图10,判断单元111用于执行S911。
可选的,确定单元112,还用于响应于用户在第一时刻录入的多个生物特征,确定用户在第一时刻录入的多个生物特征的第五哈希。例如,结合图4,确定单元112用于执行S401。
可选的,结合图11,如图12所示,身份验证装置110还包括:发送单元113、接收单元114和存储单元115。
发送单元113,用于向服务器发送用户在第一时刻输入的多个生物特征和确定单元112确定的第五哈希。例如,结合图4,发送单元113用于执行S402。
接收单元114,用于接收服务器发送的第六哈希。第六哈希为服务器根据发送单元113发送的用户在第一时刻输入的多个生物特征确定的。例如,结合图4,接收单元114用于执行S404。
若第五哈希和第六哈希一致,则确定单元112,用于将用户在第一时刻输入的多个生物特征确定为第一验证信息。例如,结合图4,确定单元112用于执行S406。
存储单元115,用于将确定单元112确定的第一验证信息存储于第一安全容器中。例如,结合图4,存储单元115用于执行S406。
确定单元112,还用于将述接收单元114接收的第六哈希确定为第二哈希。例如,结合图4,确定单元112用于执行S407。
存储单元115,用于存储确定单元112确定的第二哈希。例如,结合图4,存储单元115用于执行S407。
可选的,确定单元112,还用于响应于用户在第二时刻录入的多个生物特征,确定用户在第二时刻录入的多个生物特征的第七哈希。例如,结合图6,确定单元112用于执行S601。
发送单元113,还用于向服务器发送用户在第二时刻输入的多个生物特征和确定单元112确定的第七哈希。例如,结合图6,发送单元113用于执行S602。
接收单元114,还用于接收服务器发送的第八哈希。第八哈希为服务器根据终端发送的用户在第二时刻输入的多个生物特征确定的。例如,结合图6,接收单元114用于执行S604。
若第七哈希和第八哈希一致,则确定单元112,还用于将用户在第二时刻输入的多个生物特征确定为第二验证信息。例如,结合图6,确定单元112用于执行S606。
存储单元115,还用于将确定单元112确定的第二验证信息存储于第三安全容器中。例如,结合图6,存储单元115用于执行S606。
如图13所示,为本申请实施例提供的又一种身份验证装置130的结构示意图。该身份验证装置130用于解决现有的身份验证方法安全性较低的技术问题,例如用于执行图4、图6、图7、图8或图9所示的身份验证方法。该身份验证装置130应用于服务器。服务器归属于包括终端和服务器的身份验证系统,服务器的第二安全容器中预先存储有第一验证信息。服务器的第四安全容器中预先存储有第二验证信息。第一验证信息为用户在第一时刻录入的多个生物特征。第二验证信息为用户在第二时刻录入的多个生物特征。第二时刻位于第一时刻之后。身份验证装置包括:接收单元131、生成单元132、确定单元133和发送单元134。
接收单元131,用于接收终端发送的验证请求。例如,结合图9和图10,接收单元131用于执行S901。
生成单元132,用于根据接收单元131接收的验证请求,生成预设规则。例如,结合图9和图10,生成单元132用于执行S902。
确定单元133,用于根据生成单元132生成的预设规则,确定第二生物特征。第二生物特征为第二验证信息中的至少一个生物特征。例如,结合图9和图10,确定单元133用于执行S906。
确定单元133,还用于确定第二生物特征的第四哈希。例如,结合图9和图10,确定单元133用于执行S907。
发送单元134,用于向终端发送确定单元133确定的第四哈希。例如,结合图9和图10,发送单元134用于执行S908。
可选的,确定单元133,具体用于:
获取第一次数。第一次数为服务器读取第一验证信息中的多个生物特征的次数与服务器读取第二验证信息中的多个生物特征的次数之和。例如,结合图10,确定单元133用于执行S1001。
确定第二生物特征的初始哈希。例如,结合图10,确定单元133用于执行S1002。
根据第一次数和初始哈希,确定第四哈希。例如,结合图10,确定单元133用于执行S1003。
可选的,发送单元134,还用于向终端发送预设规则。例如,结合图9和图10,发送单元134用于执行S903。
可选的,结合图13,如图14所示身份验证装置130还包括:存储单元135。
接收单元131,还用于接收终端发送的用户在第一时刻输入的多个生物特征和第五哈希。第五哈希为终端确定的用户在第一时刻录入的多个生物特征的哈希。例如,结合图4,接收单元131用于执行S402。
确定单元133,还用于根据接收单元131接收的终端发送的用户在第一时刻输入的多个生物特征,确定第六哈希。例如,结合图4,确定单元133用于执行S403。
若第五哈希和第六哈希一致,则确定单元133,还用于将用户在第一时刻输入的多个生物特征确定为第一验证信息。例如,结合图4,确定单元133用于执行S410。
存储单元135,用于将确定单元133确定的第一验证信息存储于第二安全容器中。例如,结合图4,存储单元135用于执行S410。
可选的,接收单元131,还用于接收终端发送的用户在第二时刻输入的多个生物特征和第七哈希。第七哈希为终端确定的用户在第二时刻录入的多个生物特征的哈希。例如,结合图6,接收单元131用于执行S602。
确定单元133,还用于根据接收单元131接收的终端发送的用户在第二时刻输入的多个生物特征,确定第八哈希。例如,结合图6,确定单元133用于执行S603。
若第七哈希和第八哈希一致,则确定单元133,还用于将用户在第二时刻输入的多个生物特征确定为第二验证信息。例如,结合图6,确定单元133用于执行S609。
存储单元135,还用于将确定单元133确定的第二验证信息存储于第四安全容器中。例如,结合图6,存储单元135用于执行S609。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令。当计算机执行指令在计算机上运行时,使得计算机执行如上述实施例提供的身份验证方法中,身份验证装置执行的各个步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的身份验证方法中,身份验证装置执行的各个步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取的存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (22)

1.一种身份验证方法,其特征在于,应用于包括终端和服务器的身份验证系统,所述终端的第一安全容器和所述服务器的第二安全容器中均预先存储有第一验证信息;所述终端的第三安全容器和所述服务器的第四安全容器中均预先存储有第二验证信息;所述第一验证信息为用户在第一时刻录入的多个生物特征;所述第二验证信息为所述用户在第二时刻录入的所述多个生物特征;所述第二时刻位于所述第一时刻之后;所述身份验证方法包括:
所述终端响应于所述用户的身份验证指令,判断第三验证信息是否被篡改;所述第三验证信息为所述第一安全容器在第三时刻存储的验证信息;所述第三时刻位于所述第二时刻之后;
若所述第三验证信息未被篡改,则所述终端判断所述第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应;所述第四验证信息为所述第三安全容器在所述第三时刻存储的验证信息;
若所述第三验证信息中的多个生物特征与所述第四验证信息中的多个生物特征一一对应,则所述终端响应于所述用户输入的生物特征,判断所述用户输入的生物特征是否为所述第四验证信息中的生物特征;
若所述用户输入的生物特征为所述第四验证信息中的生物特征,则所述终端判断所述第四验证信息与所述第二验证信息是否一致;
若所述第四验证信息与所述第二验证信息一致,则所述终端确定身份验证成功。
2.根据权利要求1所述身份验证方法,其特征在于,所述终端响应于所述用户的身份验证指令,判断第三验证信息是否被篡改,包括:
所述终端确定所述第三验证信息的第一哈希;
所述终端响应于所述用户的身份验证指令,获取预选存储的第二哈希;所述第二哈希为所述服务器存储所述第一验证信息时确定并发送的所述第一验证信息的哈希;
所述终端判断所述第一哈希与所述第二哈希是否相同;
若所述第一哈希与所述第二哈希相同,则所述终端确定所述第三验证信息未被篡改;
若所述第一哈希与所述第二哈希不同,则所述终端确定所述第三验证信息已被篡改,并删除所述第一安全容器中的所述第三验证信息。
3.根据权利要求2所述身份验证方法,其特征在于,所述终端判断所述第四验证信息与所述第二验证信息是否一致,包括:
所述终端向所述服务器发送验证请求;
所述终端接收所述服务器发送的预设规则;
所述终端根据所述预设规则确定第一生物特征;所述第一生物特征为所述第四验证信息中的至少一个生物特征;
所述终端确定所述第一生物特征的第三哈希;
所述终端接收所述服务器发送的第二生物特征的第四哈希;所述第二生物特征为所述服务器根据所述预设规则确定的所述第二验证信息中的至少一个生物特征;
所述终端判断所述第三哈希与所述第四哈希是否相同;
若所述第三哈希与所述第四哈希相同,则所述终端确定所述第四验证信息与所述第二验证信息一致;
若所述第三哈希与所述第四哈希不同,则所述终端确定所述第四验证信息与所述第二验证信息不一致,并删除所述第三安全容器中的所述第四验证信息。
4.根据权利要求2所述的身份验证方法,其特征在于,还包括:
所述终端响应于所述用户在所述第一时刻录入的多个生物特征,确定所述用户在所述第一时刻录入的多个生物特征的第五哈希;
所述终端向所述服务器发送所述用户在所述第一时刻输入的多个生物特征和所述第五哈希;
所述终端接收所述服务器发送的第六哈希;所述第六哈希为所述服务器根据所述终端发送的所述用户在所述第一时刻输入的多个生物特征确定的;
若所述第五哈希和所述第六哈希一致,则所述终端将所述用户在所述第一时刻输入的多个生物特征确定为所述第一验证信息,并将所述第一验证信息存储于所述第一安全容器中;
所述终端将所述第六哈希确定为所述第二哈希,并存储所述第二哈希。
5.根据权利要求1-3任一项所述的身份验证方法,其特征在于,还包括:
所述终端响应于所述用户在所述第二时刻录入的多个生物特征,确定所述用户在所述第二时刻录入的多个生物特征的第七哈希;
所述终端向所述服务器发送所述用户在所述第二时刻输入的多个生物特征和所述第七哈希;
所述终端接收所述服务器发送的第八哈希;所述第八哈希为所述服务器根据所述终端发送的所述用户在所述第二时刻输入的多个生物特征确定的;
若所述第七哈希和所述第八哈希一致,则所述终端将所述用户在所述第二时刻输入的多个生物特征确定为所述第二验证信息,并将所述第二验证信息存储于所述第三安全容器中。
6.一种身份验证方法,其特征在于,应用于包括终端和服务器的身份验证系统,所述服务器的第二安全容器中预先存储有第一验证信息;所述服务器的第四安全容器中预先存储有第二验证信息;所述第一验证信息为用户在第一时刻录入的多个生物特征;所述第二验证信息为所述用户在第二时刻录入的所述多个生物特征;所述第二时刻位于所述第一时刻之后;所述身份验证方法包括:
所述服务器接收所述终端发送的验证请求;
所述服务器根据所述验证请求,生成预设规则;
所述服务器根据所述预设规则,确定第二生物特征;所述第二生物特征为所述第二验证信息中的至少一个生物特征;
所述服务器确定所述第二生物特征的第四哈希;
所述服务器向所述终端发送所述第四哈希。
7.根据权利要求6所述的身份验证方法,其特征在于,所述服务器确定所述第二生物特征的第四哈希,包括:
所述服务器获取第一次数;所述第一次数为所述服务器读取所述第一验证信息中的多个生物特征的次数与所述服务器读取所述第二验证信息中的多个生物特征的次数之和;
所述服务器确定所述第二生物特征的初始哈希;
所述服务器根据所述第一次数和所述初始哈希,确定所述第四哈希。
8.根据权利要求6所述的身份验证方法,其特征在于,所述根据所述验证请求,生成预设规则之后,还包括:
所述服务器向所述终端发送所述预设规则。
9.根据权利要求6-8任一项所述的身份验证方法,其特征在于,还包括:
所述服务器接收所述终端发送的所述用户在所述第一时刻输入的多个生物特征和第五哈希;所述第五哈希为所述终端确定的所述用户在所述第一时刻录入的多个生物特征的哈希;
所述服务器根据所述终端发送的所述用户在所述第一时刻输入的多个生物特征,确定第六哈希;
若所述第五哈希和所述第六哈希一致,则所述服务器将所述用户在所述第一时刻输入的多个生物特征确定为所述第一验证信息,并将所述第一验证信息存储于所述第二安全容器中。
10.根据权利要求6-8任一项所述的身份验证方法,其特征在于,还包括:
所述服务器接收所述终端发送的所述用户在所述第二时刻输入的多个生物特征和第七哈希;所述第七哈希为所述终端确定的所述用户在所述第二时刻录入的多个生物特征的哈希;
所述服务器根据所述终端发送的所述用户在所述第二时刻输入的多个生物特征,确定第八哈希;
若所述第七哈希和所述第八哈希一致,则所述服务器将所述用户在所述第二时刻输入的多个生物特征确定为所述第二验证信息,并将所述第二验证信息存储于所述第四安全容器中。
11.一种身份验证装置,其特征在于,应用于终端;所述终端归属于包括所述终端和服务器的身份验证系统,所述终端的第一安全容器和所述服务器的第二安全容器中均预先存储有第一验证信息;所述终端的第三安全容器和所述服务器的第四安全容器中均预先存储有第二验证信息;所述第一验证信息为用户在第一时刻录入的多个生物特征;所述第二验证信息为所述用户在第二时刻录入的所述多个生物特征;所述第二时刻位于所述第一时刻之后;所述身份验证方法装置:判断单元和确定单元;
所述判断单元,用于响应于所述用户的身份验证指令,判断第三验证信息是否被篡改;所述第三验证信息为所述第一安全容器在第三时刻存储的验证信息;所述第三时刻位于所述第二时刻之后;
若所述第三验证信息未被篡改,则所述判断单元,还用于判断所述第三验证信息中的多个生物特征与第四验证信息中的多个生物特征是否一一对应;所述第四验证信息为所述第三安全容器在所述第三时刻存储的验证信息;
若所述第三验证信息中的多个生物特征与所述第四验证信息中的多个生物特征一一对应,则所述判断单元,还用于响应于所述用户输入的生物特征,判断所述用户输入的生物特征是否为所述第四验证信息中的生物特征;
若所述用户输入的生物特征为所述第四验证信息中的生物特征,则所述判断单元,还用于判断所述第四验证信息与所述第二验证信息是否一致;
若所述第四验证信息与所述第二验证信息一致,则所述确定单元,用于确定身份验证成功。
12.根据权利要求11所述身份验证装置,其特征在于,所述判断单元,具体用于:
确定所述第三验证信息的第一哈希;
响应于所述用户的身份验证指令,获取预先存储的第二哈希;所述第二哈希为所述服务器存储所述第一验证信息时确定并发送的所述第一验证信息的哈希;
判断所述第一哈希与所述第二哈希是否相同;
若所述第一哈希与所述第二哈希相同,则确定所述第三验证信息未被篡改;
若所述第一哈希与所述第二哈希不同,则确定所述第三验证信息已被篡改,并删除所述第一安全容器中的所述第三验证信息。
13.根据权利要求11所述身份验证装置,其特征在于,所述判断单元,具体用于:
向所述服务器发送验证请求;
接收所述服务器发送的预设规则;
根据所述预设规则确定第一生物特征;所述第一生物特征为所述第四验证信息中的至少一个生物特征;
确定所述第一生物特征的第三哈希;
接收所述服务器发送的第二生物特征的第四哈希;所述第二生物特征为所述服务器根据所述预设规则确定的所述第二验证信息中的至少一个生物特征;
判断所述第三哈希与所述第四哈希是否相同;
若所述第三哈希与所述第四哈希相同,则确定所述第四验证信息与所述第二验证信息一致;
若所述第三哈希与所述第四哈希不同,则确定所述第四验证信息与所述第二验证信息不一致,并删除所述第三安全容器中的所述第四验证信息。
14.根据权利要求12所述的身份验证装置,其特征在于,
所述确定单元,还用于响应于所述用户在所述第一时刻录入的多个生物特征,确定所述用户在所述第一时刻录入的多个生物特征的第五哈希;
所述身份验证装置还包括:发送单元、接收单元和存储单元;
所述发送单元,用于向所述服务器发送所述用户在所述第一时刻输入的多个生物特征和所述确定单元确定的所述第五哈希;
所述接收单元,用于接收所述服务器发送的第六哈希;所述第六哈希为所述服务器根据所述发送单元发送的所述用户在所述第一时刻输入的多个生物特征确定的;
若所述第五哈希和所述第六哈希一致,则所述确定单元,用于将所述用户在所述第一时刻输入的多个生物特征确定为所述第一验证信息;
所述存储单元,用于将所述确定单元确定的所述第一验证信息存储于所述第一安全容器中;
所述确定单元,还用于将述接收单元接收的所述第六哈希确定为所述第二哈希;
所述存储单元,用于存储所述确定单元确定的所述第二哈希。
15.根据权利要求14所述的身份验证装置,其特征在于,
所述确定单元,还用于响应于所述用户在所述第二时刻录入的多个生物特征,确定所述用户在所述第二时刻录入的多个生物特征的第七哈希;
所述发送单元,还用于向所述服务器发送所述用户在所述第二时刻输入的多个生物特征和所述确定单元确定的所述第七哈希;
所述接收单元,还用于接收所述服务器发送的第八哈希;所述第八哈希为所述服务器根据所述终端发送的所述用户在所述第二时刻输入的多个生物特征确定的;
若所述第七哈希和所述第八哈希一致,则所述确定单元,还用于将所述用户在所述第二时刻输入的多个生物特征确定为所述第二验证信息;
所述存储单元,还用于将所述确定单元确定的所述第二验证信息存储于所述第三安全容器中。
16.一种身份验证装置,其特征在于,应用服务器;所述服务器归属于包括终端和所述服务器的身份验证系统,所述服务器的第二安全容器中预先存储有第一验证信息;所述服务器的第四安全容器中预先存储有第二验证信息;所述第一验证信息为用户在第一时刻录入的多个生物特征;所述第二验证信息为所述用户在第二时刻录入的所述多个生物特征;所述第二时刻位于所述第一时刻之后;所述身份验证装置包括:接收单元、生成单元、确定单元和发送单元;
所述接收单元,用于接收所述终端发送的验证请求;
所述生成单元,用于根据所述接收单元接收的所述验证请求,生成预设规则;
所述确定单元,用于根据所述生成单元生成的所述预设规则,确定第二生物特征;所述第二生物特征为所述第二验证信息中的至少一个生物特征;
所述确定单元,还用于确定所述第二生物特征的第四哈希;
所述发送单元,用于向所述终端发送所述确定单元确定的所述第四哈希。
17.根据权利要求16所述的身份验证装置,其特征在于,所述确定单元,具体用于:
获取第一次数;所述第一次数为所述服务器读取所述第一验证信息中的多个生物特征的次数与所述服务器读取所述第二验证信息中的多个生物特征的次数之和;
确定所述第二生物特征的初始哈希;
根据所述第一次数和所述初始哈希,确定所述第四哈希。
18.根据权利要求16所述的身份验证装置,其特征在于,所述发送单元,还用于向所述终端发送所述预设规则。
19.根据权利要求16-18任一项所述的身份验证装置,其特征在于,还包括:存储单元;
所述接收单元,还用于接收所述终端发送的所述用户在所述第一时刻输入的多个生物特征和第五哈希;所述第五哈希为所述终端确定的所述用户在所述第一时刻录入的多个生物特征的哈希;
所述确定单元,还用于根据所述接收单元接收的所述终端发送的所述用户在所述第一时刻输入的多个生物特征,确定第六哈希;
若所述第五哈希和所述第六哈希一致,则所述确定单元,还用于将所述用户在所述第一时刻输入的多个生物特征确定为所述第一验证信息;
所述存储单元,用于将所述确定单元确定的所述第一验证信息存储于所述第二安全容器中。
20.根据权利要求19所述的身份验证装置,其特征在于,
所述接收单元,还用于接收所述终端发送的所述用户在所述第二时刻输入的多个生物特征和第七哈希;所述第七哈希为所述终端确定的所述用户在所述第二时刻录入的多个生物特征的哈希;
所述确定单元,还用于根据所述接收单元接收的所述终端发送的所述用户在所述第二时刻输入的多个生物特征,确定第八哈希;
若所述第七哈希和所述第八哈希一致,则所述确定单元,还用于将所述用户在所述第二时刻输入的多个生物特征确定为所述第二验证信息;
所述存储单元,还用于将所述确定单元确定的所述第二验证信息存储于所述第四安全容器中。
21.一种身份验证装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;
当所述身份验证装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述身份验证装置执行如权利要求1-5或6-10任一项所述的身份验证方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-5或6-10任一项所述的身份验证方法。
CN202011097026.4A 2020-10-14 2020-10-14 一种身份验证方法及装置 Active CN112182540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011097026.4A CN112182540B (zh) 2020-10-14 2020-10-14 一种身份验证方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011097026.4A CN112182540B (zh) 2020-10-14 2020-10-14 一种身份验证方法及装置

Publications (2)

Publication Number Publication Date
CN112182540A true CN112182540A (zh) 2021-01-05
CN112182540B CN112182540B (zh) 2023-01-24

Family

ID=73949985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011097026.4A Active CN112182540B (zh) 2020-10-14 2020-10-14 一种身份验证方法及装置

Country Status (1)

Country Link
CN (1) CN112182540B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689214A (zh) * 2021-08-25 2021-11-23 中国工商银行股份有限公司 企业安全认证证书激活方法、终端及服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714167A (zh) * 2019-03-15 2019-05-03 北京邮电大学 适用于移动应用签名的身份认证与密钥协商方法及设备
CN110555296A (zh) * 2019-08-01 2019-12-10 阿里巴巴集团控股有限公司 基于区块链的身份验证方法、装置及设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109714167A (zh) * 2019-03-15 2019-05-03 北京邮电大学 适用于移动应用签名的身份认证与密钥协商方法及设备
CN110555296A (zh) * 2019-08-01 2019-12-10 阿里巴巴集团控股有限公司 基于区块链的身份验证方法、装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113689214A (zh) * 2021-08-25 2021-11-23 中国工商银行股份有限公司 企业安全认证证书激活方法、终端及服务器

Also Published As

Publication number Publication date
CN112182540B (zh) 2023-01-24

Similar Documents

Publication Publication Date Title
CN111033502B (zh) 经由区块链使用生物特征数据和不可逆函数进行身份验证
CN110061842B (zh) 带外远程认证
CN106716957B (zh) 高效且可靠的认证
CN107133520B (zh) 云计算平台的可信度量方法和装置
US20120167194A1 (en) Client hardware authenticated transactions
CN110532766A (zh) 一种基于多容器的可信应用程序的处理方法及相关设备
US10938572B2 (en) Revocable biometric-based keys for digital signing
CN108335105B (zh) 数据处理方法及相关设备
CN110401539B (zh) 一种身份验证数据处理方法、服务器、终端及系统
CN109861968A (zh) 资源访问控制方法、装置、计算机设备及存储介质
WO2021084434A1 (en) Authentication mechanism utilizing location corroboration
CN111177703B (zh) 操作系统数据完整性的确定方法及装置
CN110753029B (zh) 一种身份验证方法及生物识别平台
CN112182540B (zh) 一种身份验证方法及装置
CN112468497B (zh) 区块链的终端设备授权认证方法、装置、设备及存储介质
CN111814181B (zh) 系统权限授权方法、装置、电子设备及存储介质
CN113779536A (zh) 一种用户访问方法、系统、电子设备及介质
CN111355583B (zh) 一种业务提供系统、方法、装置、电子设备及存储介质
US10172001B1 (en) Authentication mechanism
US20180324190A1 (en) Global attestation procedure
CN111444498B (zh) 一种解锁方法及共享服务系统
CN112788017B (zh) 一种安全校验方法、装置、设备及介质
CN115203666A (zh) 身份认证方法、装置、存储介质及电子设备
CN113966510A (zh) 可信设备和计算系统
CN110766840A (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