[go: up one dir, main page]

CN114117383A - 一种注册方法、认证方法及装置 - Google Patents

一种注册方法、认证方法及装置 Download PDF

Info

Publication number
CN114117383A
CN114117383A CN202111228163.1A CN202111228163A CN114117383A CN 114117383 A CN114117383 A CN 114117383A CN 202111228163 A CN202111228163 A CN 202111228163A CN 114117383 A CN114117383 A CN 114117383A
Authority
CN
China
Prior art keywords
authenticated
key
hash value
auxiliary data
feature
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.)
Pending
Application number
CN202111228163.1A
Other languages
English (en)
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 Jianmozi Technology Co ltd
Original Assignee
Moqi Technology Beijing 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 Moqi Technology Beijing Co ltd filed Critical Moqi Technology Beijing Co ltd
Priority to CN202111228163.1A priority Critical patent/CN114117383A/zh
Publication of CN114117383A publication Critical patent/CN114117383A/zh
Priority to PCT/CN2022/126690 priority patent/WO2023066374A1/zh
Pending legal-status Critical Current

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • 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/36User authentication by graphic or iconic representation
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本申请提供一种注册方法、认证方法及装置,用于改善现有的基于生物特征进行身份认证的方法难以兼顾性能与隐私保护的问题。该方法包括:获得待注册对象的待处理图像,待处理图像包括第一生物特征区域;根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板;根据第一生物特征模板进行编码运算,得到第一辅助数据;其中,所述编码运算包括不可逆变换;对第一生物特征区域进行特征提取,得到第一索引特征;向服务器发送注册信息,注册信息包括第一索引特征和第一辅助数据。

Description

一种注册方法、认证方法及装置
技术领域
本申请涉及生物识别、隐私保护和数据安全的技术领域,具体而言,涉及一种注册方法、认证方法及装置。
背景技术
生物识别是现代身份管理和访问控制系统的重要手段。由于个人与其生物特征之间存在牢固和永久的联系,将注册用户的生物特征暴露给攻击者将严重损害用户隐私。对生物特征进行保护的一种方法是不可逆变换,将生物特征经过不可逆变换后的结果存储在生物识别系统,由于仅基于不可逆变换结果无法得到生物特征,即便生物识别系统被攻破,也不会导致用户的生物特征被泄露。但是,由于编码使用的不可逆变换通常是通过在真实特征信息的基础上添加噪声实现,而认证阶段需要通过与编码运算相应的解码还原真实特征信息,这个解码过程通常对算力消耗较大,会显著降低识别性能。当进行1:N认证(即从N个对象中认证出1个正确的目标对象)且N较大时,认证耗时会显著增长,大大影响用户体验。可见,目前基于生物特征进行身份认证的方法难以兼顾识别性能与隐私保护。
发明内容
本申请实施例的目的在于提供一种注册方法、认证方法及装置,用于改善现有的基于生物特征进行身份认证的方法难以兼顾识别性能与隐私保护的问题。
本申请实施例提供了一种注册方法,应用于终端设备,包括:获得待注册对象的待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点;根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的生物特征表示;根据第一生物特征模板进行编码运算,得到第一辅助数据;其中,编码运算包括不可逆变换;对第一生物特征区域进行特征提取,得到第一索引特征,第一索引特征的区分度低于第一生物特征模板的区分度;存储注册信息,或向服务器发送注册信息,注册信息包括第一索引特征和第一辅助数据。
本申请实施例还提供了一种注册方法,应用于服务器,包括:接收终端设备发送的注册信息,注册信息是通过上面描述的注册方法确定的;将注册信息存储至数据库中,包括:将注册信息中的第一索引特征和第一辅助数据关联存储至数据库中。
本申请实施例还提供了一种认证方法,应用于终端设备,包括:获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点;根据第二生物特征区域,确定第二索引特征;向服务器发送认证请求,认证请求中包含第二索引特征;接收服务器发送的底库辅助数据,底库辅助数据包括由服务器根据第二索引特征确定的多个第一辅助数据;多个第一辅助数据是通过上面描述的方法存储至服务器的数据库中的;根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板,待认证生物特征模板包括多个第二特征点对应的生物特征表示;获取待认证对象的身份认证结果;身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;其中,底库辅助数据包括根据第二索引特征确定的多个第一辅助数据。
本申请实施例还提供了一种认证方法,应用于服务器,包括:获取终端设备发送的认证请求,认证请求包括:第二索引特征,第二索引特征是根据待认证对象的待认证图像所包含的第二生物特征区域确定的;第二索引特征包括表征第二生物区域宏观特征的特征信息;在数据库中查询与第二索引特征的距离满足距离条件的多个第一索引特征,在数据库中查询多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;其中,第一索引特征和第一辅助数据是通过上面描述的注册方法存储在数据库中的;向终端设备发送底库辅助数据,其中,底库辅助数据用于终端设备确定待认证对象的身份认证结果。
本申请实施例还提供了一种密钥使用方法,包括:使用如上面描述的身份认证方法对待认证对象进行身份认证;若待认证对象的身份认证结果为认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥。
本申请实施例还提供了一种数字签名方法,包括:通过上面描述的注册方法,确定出注册信息;生成第一私钥对应的第一公钥;其中,所述第一私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;将第一公钥发送给验签方,以供验签方利用第一公钥对使用第一私钥生成的数字签名进行验签。
本申请实施例还提供了一种数字签名方法,包括:使用如上面描述的身份认证方法对待认证对象进行身份认证;若待认证对象的身份认证结果为认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥;将签名数据发送给验签方,以供验签方使用校验通过的密钥所对应的公钥对签名数据的数字签名进行验签;其中,校验通过的密钥所对应的公钥通过上面描述的方法发送给验签方。
本申请实施例还提供了一种消息解密方法,包括:通过上面描述的注册方法,确定出注册信息;生成第二私钥对应的第二公钥;其中,所述第二私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;将第二公钥发送给消息加密方。
本申请实施例还提供了一种消息解密方法,包括:接收消息加密方发送的待解密数据;使用如上面描述的身份认证方法对待认证对象进行身份认证;若待认证对象的身份认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥对待解密数据进行解密,得到解密数据;其中,校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥;其中,校验通过的密钥所对应的公钥通过上面描述的方法发送给消息加密方,待解密数据是用校验通过的密钥所对应的公钥进行加密的。
本申请实施例还提供了一种应用登录方法,包括:使用如上面描述的身份认证方法对待认证对象进行身份认证;若待认证对象的身份认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥发送至应用服务器,以登录目标应用程序;或,将使用如上面描述的身份认证方法确定出的校验通过的密钥和用户标识登录目标应用程序;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥。
本申请实施例还提供了一种区块链节点信息同步方法,应用于区块链上的当前区块链节点,区块链上包括多个区块链节点,包括:通过上面描述的注册方法,确定出注册信息;生成第三私钥对应的第三公钥;其中,所述第三私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;将第三公钥向区块链上的其他区块链节点广播。
本申请实施例还提供了一种区块链节点信息同步方法,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,包括:使用上面描述的身份认证方法对待认证对象进行身份认证;若所述待认证对象的身份认证成功,则使用上面描述的身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;将所述交易数据广播给所述区块链上的其他区块链节点,以供所述其他区块链节点使用所述校验通过的密钥所对应的公钥对所述交易数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过上面描述的区块链节点信息同步方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
本申请实施例还提供了一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如上面描述的方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的生物识别方法中的注册方法的流程图;
图2示出的本申请实施例提供的生物识别方法中的注册方法的其中一种交互时序图;
图3示出的本申请实施例提供的生物识别方法中的第一种具体认证方法的交互示意图;
图4示出的本申请实施例提供的生物识别方法中的第二种具体认证方法的交互示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
可以理解的是,生物识别方法分为注册和认证两个阶段,此处的注册阶段对应的注册方法和认证阶段对应的认证方法可以部分或全部的由终端或服务器执行。下面会详细地指出由终端设备执行的步骤和由服务器执行的步骤。其中,终端设备例如:指掌纹、指掌静脉打卡机、门锁,指掌纹、指掌静脉支付设备,人脸支付设备,虹膜识别门禁设备,智能手机,个人电脑,平板电脑或者智能家居设备等等,服务器例如:x86服务器以及非x86服务器等,非x86服务器包括:大型机、小型机和UNIX服务器等。
请参见图1示出的本申请实施例提供的生物识别方法中的注册方法的流程示意图。下面首先介绍终端设备执行的注册方法。该注册方法可以包括:
步骤S101:终端设备获得待注册对象的待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点。
待注册对象,是指在认证之前需要注册的目标对象,此处的目标对象可以是人或者动物,例如:早上打卡的员工、进行支付的消费者、动物园中的动物等等。待注册对象的待处理图像,是指在注册时需要使用的包括生物特征区域的图像。生物特征可以包括指掌纹、指掌静脉人脸、虹膜等等。生物特征区域可以为待处理图像中生物特征所在区域的局部图像,例如待处理图像中去除背景的图像(生物特征为前景),待处理图像中生物特征所在检测框对应的局部图像。生物特征区域中的特征点是指生物特征区域中具有代表性特征的位置,例如人脸关键点、指掌纹细节点、指掌静脉细节点、虹膜特征点。
上述步骤S101可以接触或非接触的方式实施。非接触方式例如:使用摄像机、录像机或彩色照相机等终端设备对目标对象进行拍摄,获得待处理图像。接触方式例如:使用指纹传感器、掌纹传感器或指静脉传感器等等采集待处理图像。获取待处理图像后,可以将待处理图像存储至文件系统、数据库或移动存储设备中。可理解的是,以非接触的方式采集到的生物特征区域所包含特征点的数量通常多于接触的方式。
步骤S102:终端设备根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的生物特征表示。
示例性的,生物特征模板是基于生物特征区域进行可逆变换得到的,与多个第一特征点对应。示例性地,该生物特征模板表示可以是以向量或数据集合等形式呈现。
示例性的,一个生物特征模板中包括与多个特征点一一对应的多个生物特征表示,每个生物特征表示为其对应的特征点的局部信息,使得生物特征模板包括足够高的区分度。
在一种具体实现方式中,生物特征模板包括与多个特征点一一对应的多个生物特征表示,每个特征点对应的生物特征表示包括描述该特征点的信息,例如特征点的位置、角度、与其他特征点的相对位置、相对角度等。此时,生物特征模板可以为多个特征点对应的生物特征表示的集合,或者为多个特征点对应的生物特征表示所组成的向量。
可以理解的是,生物特征模板中包含的信息越多,生物特征模板的区分度越高。生物特征模板需要有足够高的区分度以保证认证时能从底库中的N个对象中识别出待认证对象,具体的区分度需求根据视在其中进行生物特征识别的底库规模来确定。可以理解的是,底库规模越大,要求生物特征模板的区分度越高。
步骤S103:终端设备根据第一生物特征模板进行编码运算,得到第一辅助数据;其中,编码运算包括不可逆变换。
上述步骤103所使用的编码运算包括不可逆变换。可以理解的是,编码运算包括不可逆变换是指编码运算包含的若干步骤中至少一个步骤为不可逆变换,使得难以仅根据编码运算得到的第一辅助数据通过逆变换确定生物特征模板。如此,可实现隐私保护。
同时,生物特征天然的模糊性必然要求编码运算对应的解码运算具备容错性(此时,编码运算会使用BCH、RS等方式进行纠错码编码)或认证阶段使用的匹配器具有容错性,如此才能基于与注册时足够相似但不完全相同的生物特征模板进行认证。
由于编码使用的不可逆变换通常相当于在真实特征信息的基础上添加噪声,而认证阶段可以根据一个与注册时的真实特征信息足够相似的认证特征信息和注册时编码运算所得的第一辅助数据通过编码运算相应的解码运算来还原真实特征信息,这个过程通常对算力消耗较大。在1:N认证且N较大时,认证耗时会显著增长,大大影响用户体验。
编码运算可以是密钥参与的,根据密钥的参与方式不同,编码运算可分为以下两类实现方式:第一,根据第一生物特征模板和第一辅助数据对应的密钥进行编码运算,得到第一辅助数据;第二,根据第一生物特征模板进行编码运算,得到第一辅助数据和第一辅助数据对应的密钥。下面仅描述编码运算的具体实现方式,该种方式对应的认证方法将在后文描述。
可理解的是,第一辅助数据对应的密钥并不要求在存在第一辅助数据后生成,如果一个密钥和第一辅助数据有对应关系,例如,该密钥用于生成第一辅助数据或者该密钥和第一辅助数据是基于同一生物特征模板生成,则称其为第一辅助数据对应的密钥。
在第一类实现方式又包括两种具体的实现方式1.1和1.2:
在实现方式1.1中,步骤S103可以被实施为:
S1031,对第一生物特征模板进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥确定的。
示例性地,该第一辅助数据对应的密钥可以是待处理图像对应的待注册用户输入的或根据待注册用户的输入生成的。例如,通过对待注册用户的输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一辅助数据对应的密钥。
在该种可选的实施方式中,注册阶段,Fk(X)=H;认证阶段,Fk’(X’)=H’。其中,F为特征转换函数,k为第一辅助数据对应的密钥,k’为认证阶段获取的密钥,X和X’分别为注册阶段和认证阶段的生物特征模板,H和H’分别为注册阶段和认证阶段的辅助数据。若X和X’足够接近且k’=k,则H和H’足够接近。在该种可选的实施方式中,认证阶段,通过匹配器判断H和H’是否足够接近,匹配器具有容错性。
实现方式1.1的具体例子可为生物哈希(Biohashing)和鲁棒哈希(Robusthashing)。
在实现方式1.2中,步骤S103可以被实施为:
S1032,根据第一辅助数据对应的密钥确定纠错码码字;
第一辅助数据对应的密钥可以是用户输入或系统生成,其中,系统生成包括随机生成或根据用户输入生成。第一辅助数据对应的密钥为k维。系统随机生成例如,系统随机生成一随机量,再在随机量的基础上添加校验信息作为第一辅助数据对应的密钥。根据用户输入生成例如,通过对待注册用户的输入进行格式转换、位数补齐、校验信息添加中的一种或多种来生成第一辅助数据对应的密钥。
根据第一辅助数据对应的密钥从n维有限域中确定出纠错码码字,纠错码码字为n维(n>k),使得编码算法对应的解码算法具有容错性。可理解的是,n比k大得越多容错能力越强,编码运算所需运算量越大。
根据第一辅助数据对应的密钥确定纠错码码字,包括根据第一辅助数据对应的密钥确定纠错码码字,或根据第一辅助数据对应的密钥和第一生物特征模板确定纠错码码字。
根据k维的第一辅助数据对应的密钥确定n维的纠错码码字的方式有多种,示例性的,可以通过BCH等纠错码编码确定纠错码码字。示例性的,可直接将k维的密钥补齐为n维,将k维的密钥与k*n的编码矩阵进行运算转换为n维向量。
根据第一辅助数据对应的密钥和量化值确定纠错码码字的方式有多种,示例性的,可以通过RS纠错编码确定纠错码码字。例如根据第一辅助数据对应的密钥生成(k-1)阶多项式函数(也即生成多项式函数的k个系数),在n个量化值处求函数值得到n维纠错码码字。
S1033,对纠错码码字进行第一变换处理,得到第一辅助数据,第一变换处理为不可逆变换。
对纠错码码字进行第一变换处理,得到第一辅助数据可以包括:对纠错码码字进行与第一生物特征模板无关的第一变换处理;也可以包括,根据第一生物特征模板,对纠错码码字进行第一变换处理,得到第一辅助数据,从而实现对纠错码码字的保护。
当纠错码码字根据第一辅助数据对应的密钥确定、未根据第一生物特征模板确定时,S1033的第一变换处理需要与第一生物特征模板有关,从而在编码运算中实现对纠错码码字即第一辅助数据对应的密钥和第一生物特征模板的绑定,进而实现对第一辅助数据对应的密钥和第一生物特征模板的保护。当纠错码字根据第一辅助数据对应的密钥和第一生物特征模板确定时,S1033中的第一变换处理可以与第一生物特征模板有关也可以与第一生物特征模板无关,因为S1032已经将第一辅助数据对应的密钥和第一生物特征模板绑定,无论S1033是否与第一生物特征模板有关,均可实现对第一辅助数据对应的密钥和第一生物特征模板的保护。
也就是说,步骤S1032和步骤S1033中至少一个步骤使用步骤S102得到的第一生物特征模板,即在将k维的第一辅助密钥扩展到n维时或扩展到n维后使用第一生物特征模板,从而在编码运算中实现对第一生物特征模板和第一辅助数据对应的密钥的绑定。
在该种可选的实施方式中,注册阶段,c=Enc(k)或c=Enc(k,X),对c进行第一变换处理得到H;认证阶段,Dec(X’,H)=k’。其中,Enc为确定纠错码码字的步骤,Dec为编码运算对应的解码运算步骤,k为第一辅助数据对应的密钥,k’为解码运算所得密钥,X和X’分别为注册阶段和认证阶段的生物特征模板,H为第一辅助数据。若X和X’足够接近,则k’=k。
实现方式1.2的具体例子可以为模糊承诺(Fuzzy Commitment),模糊金库(FuzzyVault)。
第二类实现方式可以为:步骤S103可以被实施为:
S1034,确定纠错码码字;
本实施方式中,在确定纠错码码字前并未获取第一辅助数据对应的密钥,纠错码码字不根据第一辅助数据对应的密钥生成。
示例性的,步骤S1034包括:随机确定纠错码码字;根据第一生物特征模板确定纠错码码字;根据第一生物特征模板和随机量确定纠错码码字中一者。示例性的,当确定纠错码码字时使用了生物特征模板时,可使用RS纠错编码。示例性的,当确定纠错码码字时未使用生物特征模板时,可通过BCH纠错编码、RS纠错编码等方式进行纠错编码。随机确定纠错码码字例如,随机生成k维向量,乘以k*n编码矩阵作为纠错码码字;根据第一生物特征模板和随机量确定纠错码码字例如,随机生成(k-1)阶多项式函数(也即随机生成多项式函数的k个系数),在n个量化值处求函数值得到n维码字。当随机确定纠错码码字或根据量化值和随机量确定纠错码码字时,可基于同一量化值确定出不同的纠错码码字,从而保证生物特征识别算法的可撤销性。
S1035,对纠错码码字进行第二变换处理,得到第一辅助数据,第二变换处理为不可逆变换。
第二变换处理可与第一生物特征模板有关或无关。
当纠错码码字随机确定时,第二变换处理需要与第一生物特征模板有关,从而实现对纠错码码字和第一生物特征模板的编码运算,进而实现对第一生物特征模板的保护。当纠错码码字根据第一生物特征模板确定,或根据第一生物特征模板和随机量确定时,由于S1034中已经将第一生物特征模板和纠错码码字对应,无论第二变换处理与第一生物特征模板有关或无关,均能实现对第一生物特征模板的保护。
也就是说,步骤S1034和步骤S1035中至少一个步骤使用步骤S102得到的第一生物特征模板,从而实现对第一生物特征模板的编码运算。
S1036,根据所述第一生物特征模板生成第一辅助数据对应的密钥;
示例性的,通过强提取器根据第一生物特征模板生成第一辅助数据对应的密钥,即第一辅助数据对应的密钥是由生物特征区域生成的。
在该种可选的实施方式中,注册阶段,c=Enc(r)或c=Enc(X),k=Ext(X),对c进行第二变换处理得到H;认证阶段,Dec(X’,H)=X1,k’=Ext(X1)。其中,r为随机变量,Enc为确定纠错码码字的步骤,Dec为编码运算对应的解码运算,Ext为从生物特征模板中提取密钥的步骤,k为第一辅助数据对应的密钥,X和X’分别为注册阶段和认证阶段的生物特征模板,X1为纠错码解码所得生物特征模板,H为第一辅助数据。若X和X’足够接近,则X1=X,从而k’=k。
第二类可选的实施方式的具体例子可以为模糊提取(Fuzzy Extractor)。
可理解的是,生物特征模板包含的生物特征表示是以较高的分辨率离散的,在以实现方式1.2或第二类可选的实施方式进行编码运算前,需将生物特征表示进一步离散化即量化,在实现方式1.2和第二类可选的实施方式描述的第一生物特征模板,可以理解为量化后的第一生物特征模板。
根据所述第一生物特征模板进行量化可以理解为将第一特征点对应的生物特征表示量化至格点空间。例如,生物特征表示为特征点的位置、角度<i,j,θ>,其中i、j、θ取值范围分别为1-32,1-16,1-8,i、j、θ取值可以为整数或小数。为便于编码,希望量化后的i、j、θ取1-32,1-16,1-8中的整数值,此时格点空间的大小为32*16*8,格点空间的分辨率为1。
根据第一生物特征模板进行量化可以包括将第一生物特征模板中包含的生物特征表示中的各元素单独取整和/或运算,和/或在元素之间取整/运算。在一个具体实施方式中,量化包括将各元素单独取整,例如,<3.5,5.1,60.5>这一生物特征表示对应的量化值为<4(取整),5(取整),2(60.5/360后取整)>。另一具体实施方式中,量化包括将各元素单独取整后拼接为多位数,例如,<3.5,5.1,60.5>这一生物特征表示对应的量化值为452(取整为<4,5,2>后拼接为多位数)。
步骤S104:终端设备对第一生物特征区域进行特征提取,得到第一索引特征,第一索引特征的区分度低于第一生物特征模板的区分度。
示例性的,索引特征的区分度比第一生物特征模板的区分度低至少一个量级。索引特征的区分度只需把大底库缩小至足够小的候选列表即可(即减小需要对比的数据量)。候选列表足够小是指,以设备的算力,在认证阶段,将待认证对象的待认证生物特征模板与候选列表中各条记录进行比对的总比对耗时在可接受时间范围内。例如,待认证对象的待认证生物特征模板与单条记录的比对耗时为20ms,可接受时间范围为1s,则需要将候选列表缩小为50条记录才能使总比对耗时在可接受时间范围内。索引特征的区分度不能过高,否则如果不对索引特征进行加密存储将导致隐私泄露。
示例性的,索引特征可以是宏观特征或全局特征。示例性的,当生物特征是指掌纹、指掌静脉时,索引特征可以是指掌纹、指掌静脉的全局描述性信息、手指手掌形状相关信息、手指指关节线、手掌粗纹线相关信息等特征中至少一者。
索引特征(Index Feature,IF)可以为向量或图的形式。
步骤S105:终端设备存储注册信息,或向服务器发送注册信息,注册信息包括第一索引特征和第一辅助数据。
可理解的是,终端设备可将注册信息本地存储,相应的认证阶段的各步骤也在终端设备执行,终端设备也可将注册信息发送至服务器存储,相应的认证阶段的步骤由终端设备和服务器配合执行。
本发明实施例中,在生物识别的注册阶段获取具有高区分度的第一生物特征模板所对应的第一辅助数据和具有低区分度的索引特征,使得在认证阶段可以先用索引特征进行初筛,再用第一辅助数据进行细筛。一方面,索引特征具有低区分度,无需经过复杂不可逆变换后存储也能保证不泄露隐私,使得在认证阶段无需经过纠错码解码即可使用索引特征进行比对,因此使用索引特征进行比对时运算速度快,相比之下,用辅助数据进行比对时涉及不可逆变换/编码运算对应的解码运算,运算速度慢,先用运算速度快的索引特征比对能够快速大幅缩小候选列表,使得在候选列表范围内进行运算速度慢的不可逆变换/解码运算不显著影响性能;同时,索引特征的区分度差,生物特征模板的区分度好,最终认证结果由生物特征模板确定,能够保证认证精度;另一方面,索引特征的区分度较差,即便生物识别系统被攻破,索引特征被泄露,也无法根据索引特征识别出具体的对象,而第一辅助数据是通过不可逆变换获得的,即便第一辅助数据被泄露,也无法由第一辅助数据通过不可逆变换的逆变换得到第一生物特征模板,因此,本发明实施例的方法具有高安全性。可见,本发明实施例的方法能够兼顾性能、精度和安全性。
在一种具体的实施方式中,当注册信息中的第一辅助数据是根据步骤S103中的第一类实施方式中实现方式1.1确定时,注册信息中可以包括第一辅助数据,通过比较认证阶段生成的待认证辅助数据和第一辅助数据,确定认证结果。当注册信息中的第一辅助数据是根据步骤S103中的第一类实施方式中实现方式1.2或以第二类实施方式确定时,在认证阶段可通过通过编码运算对应的解码运算生成第一辅助数据对应的待认证密钥,通过比较待认证密钥和第一辅助数据对应的密钥对待认证密钥进行校验,确定认证结果。当注册信息中的第一辅助数据是根据步骤S103第一类实施方式中实现方式1.2或以第二类实施方式确定时,为了进一步提高系统安全性能,可使用生物特征与其他因子结合进行多因子认证。一种可能的多因子认证方式为,在注册阶段,将第一辅助数据对应的密钥与其他因子进行变换处理得到第一多因子密钥,在认证阶段,通过与编码运算对应的解码运算生成第一辅助数据对应的待认证密钥,再次获取其他因子,对待认证密钥和认证阶段获取的其他因子进行与注册阶段同样的变换处理,得到待认证多因子密钥,通过比较待认证多因子密钥和第一多因子密钥对待认证多因子密钥进行校验,确定认证结果。可以理解的是,使用多因子认证时,除了对待认证多因子密钥进行校验,还可对待认证密钥进行校验。
当注册信息中的第一辅助数据是根据步骤S103中第一类实施方式中实现方式1.2或以第二类实施方式确定时,由于在认证阶段需要对待认证密钥和/或待认证多因子密钥进行校验,注册信息中还需包括对待认证密钥和/或待认证多因子密钥进行校验所需的信息。
在一种具体实施方式中,对密钥进行校验可以包括根据密钥的哈希值进行校验,此时,上述的注册信息还可以包括:根据第一辅助数据对应的密钥生成的第一哈希值和/或根据第一多因子密钥生成的第二哈希值,第一哈希值、第二哈希值分别用于在认证阶段对待认证密钥和待认证多因子密钥进行校验。可以理解的是,第一哈希值、第二哈希值可根据密钥确定,可根据密钥和默认的哈希参数确定,也可根据密钥和设置(非默认的)的哈希参数确定,其中哈希参数包括盐值和/或哈希运算的轮数。使用设置的哈希参数进行哈希运算时,针对不同待注册用户可以使用不同哈希参数,或针对同一用户不同应用场景也可以使用不同的哈希参数,使得生物识别系统更大程度的满足可撤销性。可以理解的是,使用设置的哈希参数进行哈希运算时,注册信息中还需要额外包括哈希参数,以在认证阶段根据同样的哈希参数对解码运算获得的待认证密钥或由待认证密钥确定出的待认证多因子密钥进行哈希运算。
基于上述描述,注册信息中所包含的内容可以包括但不限于表1中列出的几种情形:
表1
Figure BDA0003314941840000081
Figure BDA0003314941840000091
若注册信息还包括第一哈希值,相应的,本实施例中的注册方法还可以包括:
步骤611,根据所述第一辅助数据对应的密钥进行哈希运算,确定所述注册信息中的第一哈希值。其中,根据所述第一辅助数据对应的密钥进行哈希运算还可以是根据所述第一辅助数据对应的密钥和第一哈希参数进行哈希运算。
若注册信息还包括第二哈希值,相应的,本实施例中的身份注册方法还可以包括:
步骤S612,根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,得到第一多因子密钥;
步骤S613,根据所述第一多因子密钥进行哈希运算,确定所述注册信息中的第二哈希值。其中,根据第一多因子密钥进行哈希运算还可以是根据第一多因子密钥和第二哈希参数进行哈希运算。
如前述内容可知,本实施方式对应多因子认证的场景,其他因子可以为其他生物特征或用户口令等,优选的,其他因子为精确的而非模糊的,本申请实施例以其他因子为用户口令为例,直接将用户口令作为第一变换密钥或根据接收的用户口令生成第一变换密钥。根据用户口令生成第一变换密钥例如是对用户口令进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一变换密钥。。
示例性的,第一辅助数据对应的密钥和第一变换密钥可通过变换处理结合,变换处理可以为任何可逆或不可逆变换。例如,变换处理为用第一辅助数据对应的密钥对第一变换密钥进行对称加密,用第一变换密钥对第一辅助数据对应的密钥进行对称加密。相比于将多个独立因子分别进行校验,将多个因子结合使得在认证阶段可以只对结合结果进行一次校验即确定是否多个独立因子均正确。
示例性的,根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,得到第一多因子密钥可以包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,在变换处理结果中加入校验信息,得到第一多因子密钥。例如,根据变换结果确定冗余位,第一多因子密钥包括变换结果和冗余位。
可以理解的是,注册信息还可以同时包括第一哈希值和第二哈希值,以对待认证密钥和待认证多因子密钥二者进行校验,此时,注册方法包括步骤S611、S612和S613。
在一可选的实施方式中,在通过哈希值对密钥进行校验之前,可对密钥进行初步校验,初步校验通过的密钥再进行后续校验。示例性的,可通过待认证密钥、待认证多因子密钥中本身包含的校验信息进行初步校验,例如,利用密钥中包含的冗余位进行初步校验。还可借助额外的校验值对待认证密钥、待认证多因子密钥进行初步校验。可以理解的是,初步校验相比于后续校验消耗算力更少、网络通信更少,通过初步校验缩小需要进行后续校验的密钥的范围能够提高认证效率。
借助额外的校验值对待认证密钥和/或待认证多因子密钥进行初步校验时,注册信息还可以包括第一辅助数据对应的密钥所对应的第一校验值和/或第一多因子密钥对应的第二校验值。相应的,本申请实施例提供的身份注册方法还可以包括:根据所述第一辅助数据对应的密钥生成第一校验值和/或根据第一多因子密钥生成第二校验值。
示例性的,若注册信息中包括第一校验值和/或第二校验值,第一校验值和/或第二校验值需要与其对应的第一辅助数据关联存储。
示例性的,校验值可以是密钥中部分或全部位对应的数值进行运算后的结果,也可以是密钥中部分位对应的数值。
示例性的,待认证密钥、待认证多因子密钥中本身包含的校验信息可以理解为将校验值作为冗余信息隐藏在密钥中。
对于终端设备将注册信息发送至服务器存储的情况,相应的,在终端设备执行完S101-S105并且S105中是终端设备向服务器发送注册信息的情形中,服务器的注册方法包括:
步骤S106:服务器接收终端设备发送的注册信息。
步骤S107:服务器将注册信息中的第一索引特征和第一辅助数据关联存储至数据库中。
示例性的,服务可以从注册信息中解析出第一索引特征和第一辅助数据并将其关联存储。
本服务器执行的步骤中,服务器接收终端设备发送的注册信息,并将注册信息中的第一索引特征和第一辅助数据关联存储至数据库中。本申请中的关联存储是指存储后从一者能够确定另一者,例如将同一待注册对象的第一索引特征和第一辅助数据作为一条记录的多个子项进行存储。
无论注册信息存储在终端设备还是服务器,在一种具体的实施方式中,上述终端设备和服务器中用于存储注册信息的数据库可以包括:第一数据表和第二数据表;在第一数据表中关联存储上述的第一索引特征和第一辅助数据,或者,在第一数据表中关联存储上述的第一索引特征、第一辅助数据、哈希参数(第一哈希参数和/或第二哈希参数),或者,在第一数据表中关联存储上述的第一索引特征、第一辅助数据、哈希参数(第一哈希参数和/或第二哈希参数)、校验值(第一校验值和/或第二校验值);在第二数据表中关联存储上述的哈希值(第一哈希值和/或第二哈希值)和待注册对象的用户标识。具体的,终端设备或服务器中注册方法还包括:
步骤S151:获取待注册对象的用户标识,包括:接收待注册对象的用户标识,或者,生成待注册对象的用户标识。
注册信息存储在终端设备时,如果待注册对象指定了用户标识,可接收待注册对象的用户标识,否则,可生成一用户标识作为待注册对象的用户标识。用户标识可做广义理解,可以为用户姓名、证件号、个人信息等任何能够用于表明用户身份的标识。
注册信息存储在终端设备时,如果终端设备还发送了用户标识,则接收待注册对象的用户标识,否则,可生成一用户标识作为待注册对象的用户标识。
步骤S152:将用户标识与第一哈希值和/或第二哈希值与关联存储至第二数据表中。
若将第一索引特征、第一辅助数据、用户标识关联存储,攻击者可能利用索引特征将两个系统中的用户标识关联起来。本申请实施例将第一索引特征和第一辅助数据存储在一个数据表中,用户信息和哈希值关联存储在另一数据表中,使得除非待认证密钥或待认证多因子密钥校验成功,攻击者无法从第一索引特征或第一辅助数据关联到用户标识。
在一个具体实施方式中,第一辅助数据对应的密钥的获取、使用和/或传输过程都在终端设备TEE(Trusted Execution Environment,可信执行环境)中被执行;和/或,第一变换密钥和第一多因子密钥的获取、使用和/或传输过程都在TEE中被执行。上述密钥的获取可以是接收来自待注册/待认证对象的输入,也可以是系统生成,或是通过运算获得;第一辅助数据对应的密钥的使用可以是使用该密钥进行编码运算、哈希运算、计算校验值哈希运算、进行变换处理;第一变换密钥的使用可以是进行变换处理;第一多因子密钥的使用可以是哈希运算。
如此,可保证密钥不出TEE、不被泄露,进一步保证了生物识别系统的安全性。
由于待处理图像包括生物特征区域,也涉及用户隐私,当然希望从待处理图像的采集到预处理、获得生物特征模板、由生物特征模板得到辅助数据的过程都在TEE中进行,然而TEE无论算力还是存储空间都是有限的,各个步骤均在TEE执行中难以实现,此时可以将各步骤以一定优先级在TEE中执行。在一个具体实施方式中,步骤S102按照以下两种方式进行划分为不同子步骤,并且各个子步骤以一定优先级在TEE执行:
划分方式1,步骤S102包括:根据所述第一生物特征区域确定第一中间结果,根据所述第一中间结果确定第一生物特征模板;
其中,所述根据所述第一生物特征区域确定第一中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第一中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行。
此种方式将步骤S102划分为两段,当TEE资源充足时,两段可均在TEE执行,否则两段以一定优先级在TEE中执行。
划分方式2,根据所述第一生物特征区域确定第二中间结果;根据所述第二中间结果确定第三中间结果;根据所述第三中间结果确定第一生物特征模板;
其中,所述根据所述第一生物特征区域确定第二中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第三中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;所述根据所述第二中间结果确定第三中间结果以第三优先级在所述可信执行环境中被执行。
此种方式将步骤S102划分三段,当TEE资源充足时,三段可均在TEE执行,否则三段以一定优先级在TEE中执行。
其中,所述第三优先级低于所述第一优先级,所述第三优先级低于所述第二优先级。上述第一优先级、第二优先级孰高孰低并不做限制,“第一”、“第二”并不代表优先级高低。
可以理解的是,不在TEE中执行的步骤在REE中执行。一方面,根据第一生物特征区域进行浅层变换得到中间结果的过程与第一生物特征区域相关性较强,涉及用户隐私,应该以高优先级(第一优先级)放入TEE;另一方面,在步骤S103已经在TEE中执行的前提下,将步骤S102中与步骤S103紧密连接的部分放在TEE中执行并不增加TEE与REE之间的通信成本,可以考虑以高优先级(第二优先级)放入TEE。基于上述两方面考虑,在划分方式2中,根据所述第二中间结果确定第三中间结果的步骤既不属于第一生物特征区域相关性较强的步骤,也不属于与步骤S103紧密连接的步骤,可以最低优先级在TEE中执行。而第一优先级和第二优先级哪个更高,可根据更希望对与第一生物特征区域相关性较强的数据做更强的保护,还是更希望降低TEE、REE之间的通信成本来选择。
一个具体实施方式中,为进一步提高第一索引特征的安全性,并控制候选列表的大小,可在第一索引特征中添加噪声。例如,在认证阶段,用待认证对象张三的第二索引特征进行初筛时,若张三注册时的第一索引特征未添加噪声,第一索引特征和第二索引特征之间的距离为5,初筛条件可以为:与第二索引特征之间距离不大于5的索引特征,此时底库中例如返回20个初筛结果;若张三注册时的第一索引特征添加了一定噪声,使得添加了噪声的第一索引特征和第二索引特征之间的距离为10,初筛条件可以为:与第二索引特征之间距离不大于10的索引特征。此时不能再使用过于严苛的初筛条件,否则会将实际匹配的对象在初筛阶段过滤掉,此时底库中例如返回50个初筛结果。可见,当添加在第一索引特征中的噪声强度变大时,为避免漏掉真实的匹配对象,初筛条件放宽,候选列表中记录数增多,将初筛出来的索引特征所对应辅助数据发送给终端的耗时变长,细筛时耗时变长,但是第一索引特征的安全性变好。具体的噪声信息(加噪声方式和噪声强度中至少一者)可根据对比对总耗时的要求和对第一索引特征的安全性要求进行权衡。添加噪声的方式/强度可以是固定的,也可根据终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一个因素确定。
具体的,可以由服务器来确定噪声信息并添加噪声,也可以由终端设备来确定噪声信息并添加噪声,也可以由服务器或终端中一者确定噪声信息,另一者添加噪声,下面示例性的列举确定和添加噪声由终端设备、服务器执行的两种情形:
第一种情形,由服务器确定噪声信息,向第一索引特征中添加噪声,该实施方式包括:
步骤S211:终端设备获取终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一者。
步骤S212:终端设备向服务器发送性能信息、网络信息和期待安全等级中至少一者。
步骤S213:服务器接收终端设备发送的性能信息、网络信息和期待安全等级中至少一者。
步骤S214:服务器根据性能信息、网络信息和期待安全等级中至少一者,确定噪声信息,噪声信息包括:加噪声方式和噪声强度中至少一者。
步骤S215:服务器根据噪声信息向第一索引特征中添加噪声,获得加噪后的第一索引特征。
步骤S216:服务器将噪声信息和加噪后的第一索引特征关联存储至数据库中。
上述步骤S215的实施方式包括:第一种添加噪声方式,服务器获取终端设备对第一生物特征区域进行特征提取得到的第一索引特征,然后,根据加噪声方式在第一索引特征上添加噪声数据,获得加噪后的第一索引特征。第二种添加噪声方式,服务器获取终端设备对第一生物特征区域进行特征提取得到的第一索引特征,然后,在第一索引特征上添加噪声强度的噪声数据,获得加噪后的第一索引特征。第三种添加噪声方式,服务器获取终端设备对第一生物特征区域进行特征提取得到的第一索引特征,然后,根据加噪声方式在第一索引特征上添加噪声强度的噪声数据,获得加噪后的第一索引特征。
第二种情形,由终端设备确定噪声,并向索引特征中添加噪声,该实施方式包括:
步骤S221:终端设备获取终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一者。
步骤S222:终端设备根据性能信息、网络信息和期待安全等级中至少一者确定噪声信息,噪声信息包括:加噪声方式和噪声强度中至少一者。
步骤S104包括:S223:终端设备根据噪声信息和第一生物特征区域确定第一索引特征。
上述步骤S223的实施方式包括:第一种添加噪声方式,终端设备对第一生物特征区域进行特征提取,得到第一初始索引特征,然后,根据加噪声方式在第一初始索引特征上添加噪声数据,获得第一索引特征。第二种添加噪声方式,终端设备对第一生物特征区域进行特征提取,得到第一初始索引特征,然后,在第一索引特征上添加噪声强度的噪声数据,获得第一索引特征。第三种添加噪声方式,终端设备对第一生物特征区域进行特征提取,得到第一初始索引特征,然后,根据加噪声方式在第一初始索引特征上添加噪声强度的噪声数据,获得第一索引特征。
可理解的是,若动态确定添加噪声的方式/强度,则需要将噪声信息与第一辅助数据关联存储,以在认证阶段动态根据该噪声信息确定用于决定该第一辅助数据是否筛选通过的距离条件。
可以理解的是,为了使得攻击者无法确认哪些特征是真实用户的索引特征,哪些是混淆特征,从而无法判定一个用户是否在系统中,进一步提高数据安全性,服务器还可以在数据库中增加用于混淆的数据记录,生成并增加混淆数据的实施方式可以包括:
步骤S242:服务器确定仿真辅助数据。
步骤S242可通过S2421-S2423中任一步骤实施:
S2421:生成仿真图像,所述仿真图像包括仿真生物特征区域,根据所述仿真生物特征区域,确定所述仿真特征区域的仿真生物特征模板,根据仿真生物特征模板确定所述仿真辅助数据;
S2422:生成仿真生物特征模板,根据仿真生物特征模板确定所述仿真辅助数据;
例如可以用生成对抗网络(Generative Adversarial Network,GAN)生成仿真图像或生成仿真生物特征模板;其中,可以使用的生成对抗网络包括:GAN、styleGAN、styleGAN2、WGAN(Wasserstein GAN)、WGAN-GP(Wasserstein GAN-gradient penalty)和辅助分类生成对抗网络(Auxiliary Classifier Generative Adversarial Network,AC-GAN)等。
S2423:直接生成所述仿真辅助数据。
为节省算力,可直接生成仿真辅助数据。例如可以随机生成。仿真辅助数据用来进行认证阶段的解码或辅助数据的比对,即便随机生成,也不会影响其作为混淆记录的作用,且随机生成较S2421或S2422的方式更为节省算力。
步骤S243:服务器确定仿真索引特征,
步骤S243可通过S2431-S2432中任一步骤实施:
S2431,直接生成所述仿真索引特征;
例如可以用生成对抗网络(Generative Adversarial Network,GAN)生成仿真索引特征。
S2432,对仿真图像的仿真生物特征区域进行特征提取,得到仿真索引特征。
示例性的,可在预先生成仿真图像后,对仿真图像的仿真生物特征区域进行特征提取,得到仿真索引特征。示例性的,可根据仿真生物特征区域以从第一生物特征区域中提取第一索引特征/第一初始索引特征同样的方式确定仿真索引特征。
步骤S244:服务器将仿真索引特征和仿真辅助数据关联存储至所述数据库中。
上面介绍了终端和服务器的注册方法,下面介绍终端的认证方法,认证方法可以包括:
步骤S301:终端设备获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点。
步骤S302:终端设备根据第二生物特征区域,确定第二索引特征;所述第二索引特征和所述第一索引特征通过相同的特征提取方法提取。
步骤S301-S302与步骤S101和S104类似,在此不再赘述。需要说明的是,第二索引特征和第一索引特征通过相同的特征提取方法提取,是指第二索引特征和第一索引特征通过相同的特征提取方法提取,或第二索引特征和第一初始索引特征通过相同的特征提取方法提取。
步骤S303:终端设备根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板。
可以理解的是,终端设备根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板的步骤包括根据第一生物特征区域确定第一生物特征模板的特征提取步骤的至少前半部分。例如,注册时,根据第一生物特征区域,通过特征提取步骤a-e,确定第一生物特征模板。认证时,可根据第二生物特征区域,通过步骤a-b、a-c、a-d、a-e确定待认证生物特征模板。如果解码运算在服务器完成,则终端提取的待认证生物特征模板可以包括多个第二特征点对应的生物特征表示,也可以包括用于确定多个第二特征点对应的生物特征表示的中间结果,此时服务器完成根据中间结果确定多个第二特征点对应的生物特征表示和后续步骤。例如,注册时,通过特征提取步骤a-e,根据第一生物特征区域,确定第一生物特征模板。认证时,终端设备可以通过步骤a-b确定待认证生物特征模板、由服务器完成步骤c-e,或者终端设备通过步骤a-e确定待认证生物特征模板。因此,可以理解的是,待认证生物特征模板可以包括多个第二特征点对应的生物特征表示或包括用于确定多个第二特征点对应的生物特征表示的中间结果。
步骤S304:终端设备获取待认证对象的身份认证结果,所述身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的。
可以理解的是,根据待认证生物特征模板和底库辅助数据确定身份认证结果的各个步骤,可以在终端设备执行,也可以在服务器执行,也可由终端设备执行部分步骤,服务器执行部分步骤。
其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据包括在注册信息中,所述注册信息是通过上述身份注册方法实施例确定的。
在一种实现方式中,根据待认证生物特征模板和底库辅助数据确定身份认证结果的各个步骤在服务器执行,获取所述待认证对象的身份认证结果,包括:接收服务器发送的所述待认证对象的身份认证结果。身份认证结果可包括认证成功或不成功,认证成功的用户标识,校验通过的待认证密钥,校验通过的待认证多因子密钥,匹配哈希值中的一种或多种。
示例性的,在该实现方式中,可以发送第二索引特征,并通过终端和服务器之间预先建立的安全通道发送待认证生物特征模板,以供服务器根据第二索引特征确定底库辅助数据并根据待认证生物特征模板和所述底库辅助数据确定出待认证对象的身份认证结果。为保证数据传输的安全性,在终端和服务器之间建立安全通道可以是在终端设备TEE和服务器TEE之间建立安全通道。该实现方式中,由于服务器算力通常强于终端设备,在服务器根据待认证生物特征模板和底库辅助数据确定身份认证结果通常比终端设备根据待认证生物特征模板和底库辅助数据确定身份认证结果更快,但需要对待认证生物特征模板,认证成功的用户标识,校验通过的待认证密钥,校验通过的待认证多因子密钥,匹配哈希值中一种或多种数据进行传输。
可以理解的是,发送第二索引特征和待认证生物特征模板的步骤可以是一步完成或两步完成。一步完成例如,第二索引特征和待认证生物特征模板都通过安全通道发送。
在另一种实现方式,根据待认证生物特征模板和底库辅助数据确定身份认证结果的各个步骤中的至少部分步骤在终端设备执行。
在该实现方式中,认证方法还可以包括:获取底库辅助数据的步骤。
底库辅助数据包括根据所述第二索引特征确定的多个第一辅助数据;所述多个第一辅助数据是通过上述的注册方法存储至数据库中的。
可理解的是,底库辅助数据存储在终端本地或服务器。若注册信息存储于终端设备,则由终端设备根据第二索引特征从注册信息中确定底库辅助数据。若注册信息存储于服务器,则由服务器根据第二索引特征从注册信息中确定底库辅助数据。可以理解的是,此时需要终端设备将第二索引特征发送给服务器(单独发送,或包含在认证请求中发送,可通过安全通道发送)以供其根据第二索引特征从注册信息中确定底库辅助数据。如果身份认证过程中使用底库辅助数据的是终端,且确定出底库辅助数据的为服务器,则服务器需要把底库辅助数据发送至终端设备。下面说明存储有注册信息的设备(终端设备或服务器)根据第二索引特征从注册信息中确定底库辅助数据的过程。
步骤S305:在数据库中查询与第二索引特征的距离满足距离条件的多个第一索引特征。
示例性的,距离条件为多个第一索引特征与第二索引特征的距离小于距离阈值,和/或,多个第一索引特征为与第二索引特征的距离最小的预设数量个第一索引特征。
示例性的,当注册信息中包含以第一索引特征对应的噪声信息(可理解的是,因为第一索引特征与第一辅助数据是关联存储的,与第一索引特征对应,也即与第一辅助数据对应)即噪声信息动态添加时,可根据所述数据库中的目标第一索引特征所对应的噪声信息动态确定其对应的距离条件;所述目标第一索引特征为所述数据库中的一个第一索引特征;所述噪声信息包括:加噪声方式和噪声强度中的至少一种。
例如,第一索引特征a添加的噪声强度为5,其距离条件可以为:与第二索引特征之间的距离小于10。第一索引特征b添加的噪声强度为15,其距离条件可以为:与第二索引特征之间的距离小于20。也就是说,第一索引特征a与第二索引特征之间的距离小于10,才可以将其对应的辅助数据作为底库辅助数据中的第一辅助数据之一,第一索引特征a与第二索引特征之间的距离小于20,就可以将其对应的辅助数据作为底库辅助数据中的第一辅助数据之一。
如此,可在动态添加噪声的情况下提高索引特征初筛的准确性。
步骤S306:在数据库中查询多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据。
其中,第一索引特征和第一辅助数据是通过前文所述的注册方法存储在数据库中的。
在注册阶段,第一索引特征和第一辅助数据关联存储在数据库中,在步骤S306查询到多个第一索引特征后,可查询与其一一对应的多个第一辅助数据(下文以M个表示),将多个第一辅助数据的集合作为底库辅助数据。
在该实现方式中,示例性的,在获取了底库辅助数据之后,步骤S304包括:
S3042,根据待认证生物特征模板与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
示例性的,与编码运算对应的解码运算包括纠错码解码运算。示例性的,纠错码解码运算可以为BCH解码、RS解码等与纠错码编码对应的解码。步骤S103被实施为1.2或第二类实施方式时,注册阶段,步骤S103中使用了纠错码码字。S103被实施为1.2时,认证阶段的解码运算中,可通过纠错码解码运算根据与第一生物特征模板足够接近的待认证生物特征模板和第一辅助数据恢复出步骤S103中确定出的纠错码码字,进而根据纠错码码字得到第一辅助数据对应的密钥;S103被实施为第二类实施方式时,认证阶段的解码运算中,可通过纠错码解码运算根据与第一生物特征模板足够接近的待认证生物特征模板和第一辅助数据恢复出步骤S103中确定出的纠错码码字,进而根据纠错码码字还原出第一生物特征模板,再根据第一生物特征模板得到第一辅助数据对应的密钥。
可以理解的是,对于底库辅助数据中的一个第一辅助数据,当该第一辅助数据是待认证对象在注册阶段确定的注册信息中所包含的第一辅助数据时,根据待认证生物特征模板与该第一辅助数据确定出的待认证密钥等于第一辅助数据对应的密钥。当该第一辅助数据不是待认证对象在注册阶段确定的注册信息中所包含的第一辅助数据时,根据待认证生物特征模板与该第一辅助数据无法确定出待认证密钥或者确定出的待认证密钥与第一辅助数据对应的密钥不一致。可以理解的是,无法确定出待认证密钥是指在多项式时间内无法确定出待认证密钥。
S3043,对待认证密钥进行校验,确定出对待认证对象的身份认证结果。
在一个具体实施方式中进行多因子认证,此时步骤S304包括:
S3042,根据待认证生物特征模板与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
S3044,根据部分或全部的所述待认证密钥和第二变换密钥进行S612中的变换处理,得到待认证多因子密钥;
本实施方式对应的其他因子为用户口令,示例性的,第二变换密钥根据认证阶段接收的用户口令确定,例如直接将认证阶段的用户口令作为第二变换密钥或根据接收的用户口令生成第二变换密钥。根据用户口令生成第二变换密钥例如是对用户口令进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第二变换密钥。可理解的是,由认证阶段用户口令确定第二变换密钥的方式与注册阶段由用户口令确定第一变换密钥的方式相同。
可以理解的是,注册阶段,可将第一辅助数据对应的密钥和第一变换密钥作为变换处理的变量,认证阶段,可将待认证密钥和第二变换密钥作为变换处理的变量。也就是说,注册阶段和认证阶段的变换处理变量不同,参数相同。
示例性的,根据部分待认证密钥和第二变换密钥进行变换处理,得到待认证多因子密钥可以是,根据初步校验通过的待认证密钥和第二变换密钥进行变换处理,得到待认证多因子密钥;或者,根据校验通过的目标待认证密钥和第二变换密钥进行变换处理,得到待认证多因子密钥。
可理解的是,对部分待认证密钥进行变换处理而非全部待认证密钥,可提高认证效率。
S3045,对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果。
具体的,步骤S3045中的对所述待认证多因子密钥进行校验包括:
S3045a,根据部分或全部所述待认证多因子密钥确定部分或全部所述待认证多因子密钥对应的待认证多因子哈希值,或者,根据部分或全部所述待认证多因子密钥和与其对应的第一辅助数据所对应的第二哈希参数确定所述待认证密钥对应的待认证多因子哈希值;
可以理解的是,如果注册信息中包含第二哈希参数,存储注册信息时,第一辅助数据和第二哈希参数关联存储。在获取底库辅助数据的同时,也可以获取底库辅助数据中包含的第一辅助数据对应的第二哈希参数。
确定部分待认证多因子密钥的待认证多因子哈希值可以是,先对待认证多因子进行初步校验,仅计算初步校验通过的待认证多因子密钥的哈希值。
对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;
其中,所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为满足指定条件的第二哈希值;所述第二哈希值包括在所述注册信息中。
可理解的是,本实施方式中,根据密钥的哈希值对密钥进行校验。
若存储注册信息时,第二哈希值与第一辅助数据关联存储,则确定了底库辅助数据中包含哪些第一辅助数据后,可查询出这些第一辅助数据所对应的第二哈希值,此时,底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值。若存储注册信息时,第二哈希值未与第一辅助数据关联存储,则确定了底库辅助数据中包含的第一辅助数据,无法查询出这些第一辅助数据所对应的第二哈希值,此时,底库第二哈希值可以为满足指定条件的第二哈希值,例如是全量第二哈希值或根据一些限制因素缩小范围的第二哈希值。限制因素例如是,用户标识、设备标识、注册时间、认证时间、认证地点等。可以理解的是,如果底库第二哈希值是用限制因素缩小范围的第二哈希值,则需要将限制因素和第二哈希值关联存储。
确定出了底库第二哈希值后,可比对待认证多因子哈希值和底库第二哈希值,对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过。例如,底库第一辅助数据中包含10个第一辅助数据,根据这10个第一辅助数据确定出了10个待认证多因子哈希值,底库第二哈希值为50000个。如果10个待认证多因子哈希值中有一个与底库第二哈希值匹配,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过。
可以理解的是,当生成待认证多因子哈希值的设备与存储注册信息的设备不是同一设备时,需要通过数据传输使待认证多因子哈希值和底库第二哈希值处于同一设备,才能进行比对。例如,注册信息存储在服务器,待认证多因子哈希值由终端设备生成,此时比对待认证多因子哈希值和底库第二哈希值的步骤可以由于终端或服务器执行,由终端执行时,服务器需下发底库第二哈希值,由服务器执行时,终端需上传待认证多因子哈希值。
比对待认证多因子哈希值和底库第二哈希值的步骤由终端执行时,终端执行以下步骤:
接收服务器发送的所述底库第二哈希值,并将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的所述底库第二哈希值;
相应的,服务器执行以下步骤:将底库第二哈希值发送给所述终端设备,以使所述终端设备将待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
比对待认证多因子哈希值和底库第二哈希值的步骤由服务器执行时,终端执行以下步骤:
将所述待认证多因子哈希值发送给所述服务器,以使所述服务器将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值。
相应的,服务器执行以下步骤:
接收所述终端设备发送的待认证多因子哈希值,将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值。
可以理解的是,示例性的,比对待认证多因子哈希值和底库第二哈希值的步骤由某设备执行,则根据比对结果确定校验结果的步骤可以在同一设备执行,根据校验结果确定身以份认证结果的步骤可在同一设备或不同设备执行。例如,比对待认证多因子哈希值和底库第二哈希值在服务器执行,比对结果为对于hash(sk1),底库第二哈希值中存在与其匹配的底库第二哈希值,则确定sk1的校验结果为校验通过也可在服务器执行,确定待认证对象的身份认证结果为认证成功可在服务器或终端设备执行。若确定待认证对象的身份认证结果在终端设备执行,需要将校验通过的校验结果发送终端设备。
一个具体实施方式中,步骤S3043中的对待认证密钥进行校验包括:
S3043a,根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。
对S3043a的解释可类比于S3045a。
比对待认证哈希值和底库第一哈希值的步骤可以由终端或服务器执行。
由终端执行时,终端执行以下步骤:
接收服务器发送的所述底库第一哈希值,并将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
相应的,服务器执行以下步骤:
将底库第一哈希值发送给所述终端设备,以使所述终端设备将待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
由服务器执行时,终端执行以下步骤:
将所述待认证哈希值发送给所述服务器,以使所述服务器将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的底库第一哈希值。
相应的,服务器执行以下步骤:
接收所述终端设备发送的待认证哈希值,将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
步骤S3045a包括根据部分待认证多因子密钥确定部分待认证多因子密钥对应的待认证多因子哈希值时,S3045a之前还包括:
S3045b,对所述待认证多因子密钥进行初步校验,得到初步校验通过的待认证多因子密钥。
可理解的是,步骤S3045a中的部分待认证多因子密钥指初步校验通过的待认证多因子密钥。
S3045b包括利用所述待认证多因子密钥中的检验信息对所述待认证多因子密钥进行初步校验,或者,
根据所述待认证多因子密钥生成待认证第二校验值,将所述待认证第二校验值和底库第二校验值进行比对来进行初步校验;
其中,所述底库第二校验值为所述数据库中所述待认证多因子密钥所对应的第一辅助数据所对应的第二校验值。如前所述,注册信息中包括第二校验值时,第二校验值与第一辅助数据关联存储,确定了一个第一辅助数据即可确定其对应的第二校验值。待认证多因子密钥是根据底库辅助数据中的某个第一辅助数据生成的,则该第一辅助数据对应的第二校验值为底库第二校验值。可以理解的是,如果存储第二校验值的设备和进行初步校验的设备不是同一设备(例如存储第二校验值的设备是服务器,进行初步校验的设备是终端设备),则存储第二校验值的设备需要将底库第二校验值发送至进行初步校验的设备。
类似的,步骤S3043a包括根据部分待认证密钥确定部分待认证密钥对应的待认证多因子哈希值时,S3043a之前还包括:
S3043b,对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥。
可理解的是,步骤S3043a中的部分待认证密钥指初步校验待认证密钥。对S3043b的说明可类比于S3045b。
可以理解的是,如果存在待认证密钥和/或待认证多因子密钥的校验结果为校验通过,则待认证对象的身份认证结果为认证成功。校验校验是否通过和身份认证是否成功的可以是同一设备或不同设备。
一个具体的实施方式中,身份认证方法还包括:
S790:根据匹配哈希值确定所述匹配哈希值对应的用户标识;示例性的,匹配哈希值可以在终端设备产生;
其中,S790,包括:
S7901,将匹配哈希值发送给服务器,以使所述服务器根据所述匹配哈希值查询与匹配哈希值对应的用户标识;
S7902,接收所述匹配哈希值对应的用户标识;
或者,S7903,根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;
其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。
其中,用户标识可作广义理解,包括用户姓名、证件号、账号ID等信息。
示例性的,可将第一辅助数据与第一索引特征、哈希参数、校验值等信息关联存储于第一数据表,用户标识和第一哈希值和/或第二哈希值关联存储于第二数据表,以在确定了存在与待认证密钥的待认证哈希值匹配的底库第一哈希值和/或确定了存在与待认证多因子密钥的待认证多因子哈希值匹配的底库第二哈希值时,可在第二数据表中根据匹配哈希值确定出用户标识。其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值(也即与待认证密钥的待认证哈希值匹配的底库第一哈希值),或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值(也即与待认证多因子密钥的待认证多因子哈希值匹配的底库第二哈希值)。可理解的是,通常情况下,用待认证密钥进行校验确定身份认证结果,则校验结果为校验通过的待认证密钥所对应的待认证哈希值为匹配哈希值,用待认证多因子密钥进行校验确定身份认证结果,则校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值为匹配哈希值。
可理解的是,若终端设备未存储哈希值-用户标识的关系,则执行步骤S7901-7902,若终端设备存储了哈希值-用户标识的关系,则执行步骤S7903。终端设备存储了哈希值-用户标识的关系可以包括,终端设备存储注册信息,并关联存储了第一哈希值/第二哈希值和用户标识,还可以包括,终端设备接收底库第一哈希值、底库第二哈希值的同时还接收了底库第一哈希值/底库第二哈希值与用户标识的对应关系。
步骤S103采用第一类实施方式中实现方式1.1时,步骤S304包括:
S3046,根据所述待认证生物特征模板以及认证密钥,进行所述编码运算,得到待认证辅助数据;
示例性的,认证密钥是待认证对象在认证阶段输入的或根据待认证对象在认证阶段的输入确定的。例如,通过对待认证对象的输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成认证密钥。可以理解的是,认证密钥和注册阶段实现方式1.1中第一辅助数据对应的密钥进行相同的处理得到。
本实施方式中,编码运算为步骤S103中形式相同的特征转换,只是本实施方式中的特征转换是根据认证密钥确定的。
本实施方式中,注册阶段,Fk(X)=H;认证阶段,Fk’(X’)=H’。其中,F为特征转换函数,k为第一辅助数据对应的密钥,k’为认证密钥,X和X’分别为注册阶段和认证阶段的生物特征模板,H和H’分别为注册阶段和认证阶段的辅助数据,认证阶段的辅助数据即待认证辅助数据。
S3047,根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
若X和X’足够接近且k’=k,则H和H’足够接近。若底库辅助数据中存在一个与待认证辅助数据足够接近的底库辅助数据,则待认证对象的身份认证成功。因此可根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
本申请实施例还提供了一种由服务器执行的身份认证方法。下面将对该方法的具体流程进行详细阐述。
步骤910,获取终端设备发送的第二索引特征,所述第二索引特征是根据待认证对象的待认证图像所包含的第二生物特征区域确定的;所述第二索引特征和上述注册方法中的第一索引特征通过相同的特征提取方法提取。
步骤920,在数据库中查询与所述第二索引特征的距离满足距离条件的多个第一索引特征。
在所述数据库中查询所述多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;其中,所述第一索引特征和所述第一辅助数据是通过上述注册方法存储在所述数据库中的。
对S910和S920的说明参见对S305和S306的描述。
本实施例提供的身份认证方法可以基于确定出的底库辅助数据对接收到的待认证生物特征模板进行认证。具体的,可在服务器进行认证,也可将底库辅助数据发送给终端设备,由终端设备进行认证或由终端设备和服务器配合进行认证。对于终端设备进行认证或由终端设备和服务器配合进行认证的情形,身份认证方法还包括S921:服务器向所述终端设备发送所述底库辅助数据。
在一个由服务器进行认证的实施方式中,本实施例提供的身份认证方法还可以包括以下步骤930-步骤950。
步骤930,通过安全通道接收终端设备发送的待认证生物特征模板;
步骤940,根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果。
步骤950,向终端设备发送待认证对象的身份认证结果。
可理解的是,身份认证结果可包括认证成功或不成功,认证成功的用户标识,校验通过的待认证密钥,校验通过的待认证多因子密钥,匹配哈希值中的一种或多种。
一个具体实施方式中,对应于S103的第一类实施方式中实现方式1.2.和第二类实施方式,步骤940包括:
S960,根据所述待认证生物特征模板与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据一一对应的至少一个待认证密钥;
S970,对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。
S960和S970的说明参见对S3042和S3043的说明。区别仅在于,S960和S970是由服务器执行的,S3042和S3043是由终端设备执行的。
一个具体实施方式中,步骤S970中的对待认证密钥进行校验包括:
S9701,根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。
对S9701的说明可见前文对应步骤S3043a。区别仅在于,S9701是由服务器执行的,S3043a是终端设备执行的。
可以理解的是,S970还包括比对待认证哈希值和底库第一哈希值,确定与所述待认证多因子哈希值匹配的所述底库第二哈希值的步骤,由于待认证哈希值在服务器产生,底库第一哈希值在服务器存储,这个步骤可以由服务器执行。
步骤S9701包括根据部分待认证密钥确定部分待认证密钥对应的待认证多因子哈希值时,S9701之前还包括:
S9700,对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥。
S9700的说明参见前文对应步骤S3043b。区别仅在于,S9700是由服务器执行的,S3043b是终端设备执行的。
一个具体的实施方式中,服务器执行的身份认证方法还包括:
S992,根据匹配哈希值在所述数据库的第二数据表中查询与所述匹配哈希值对应的用户标识;示例性的,匹配哈希值可以是在服务器产生的,也可以是在终端设备产生后发送给服务器,由服务器接收的。
S993,向所述终端设备发送与所述匹配哈希值对应的用户标识;
其中,所述数据库包括第一数据表和第二数据表;所述第一辅助数据存储于所述第一数据表中;所述用户标识和所述第二哈希值关联存储于所述第二数据表中;和/或,所述用户标识和所述第一哈希值关联存储于所述第二数据表中;
所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。
相关描述可参见步骤前文对应步骤。其中S992-S993在服务器执行。
在一个具体实施方式中,对应于步骤S103的第一种实施方式中实现方式1.1,
步骤940包括,
根据所述待认证生物特征模板和认证密钥,进行所述编码运算,得到待认证辅助数据;
根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
关于这两个步骤的描述参见前文对应步骤S3046和S3047,区别仅在于这两个步骤在服务器执行。
本申请实施例中,在认证阶段可以先用索引特征进行初筛,再用第一辅助数据进行细筛。一方面,索引特征具有低区分度,无需经过复杂不可逆变换后存储也能保证不泄露隐私,使得在认证阶段无需经过不可逆变换的解码即可使用索引特征进行比对,因此使用索引特征进行比对时运算速度快,相比之下,用辅助数据进行比对时涉及不可逆变换/编码运算对应的解码运算,运算速度慢,先用运算速度快的索引特征比对能够快速大幅缩小候选列表,使得在候选列表范围内进行运算速度慢的不可逆变换/解码运算不显著影响性能;同时,索引特征的区分度差,生物特征模板的区分度好,最终认证结果由生物特征模板确定,能够保证认证精度;另一方面,索引特征的区分度较差,即便生物识别系统被攻破,索引特征被泄露,也无法根据索引特征识别出具体的对象,而第一辅助数据是通过不可逆变换获得的,即便第一辅助数据被泄露,也无法由第一辅助数据通过不可逆变换的逆变换得到第一生物特征模板,因此,本发明实施例的方法具有高安全性。可见,本发明实施例的方法能够兼顾性能、精度和安全性。
可以理解的是,若终端设备需要使用第一哈希参数/第二哈希参数,第一校验值/第二校验值,底库第一哈希值/底库第二哈希值,与底库第一哈希值/底库第二哈希值关联的用户标识,则服务器也会将相关数据发送给终端设备。
请参见图2示出的本申请实施例提供的注册方法的其中一种交互时序图;本申请实施例提供一种具体的注册方法,包括:
S400,终端设备获得待注册对象的待处理图像,待处理图像包括第一生物特征区域,第一生物特征区域中包括多个第一特征点;
S401,终端设备根据第一生物特征区域,确定第一生物特征区域的第一生物特征模板,第一生物特征模板包括多个第一特征点对应的生物特征表示;
S402,终端设备对用户输入进行格式转换并添加冗余位作为校验信息,生成第一辅助数据对应的密钥;
S403,终端设备根据第一生物特征模板和第一辅助数据对应的密钥进行编码运算,得到第一辅助数据;其中,编码运算包括不可逆变换;
S404,终端设备确定第一哈希参数,根据第一辅助数据对应的密钥和第一哈希参数进行哈希运算,得到第一哈希值;
S405,终端设备获取终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一者;
S406,终端设备根据终端设备的性能信息、终端设备与服务器之间的网络信息和期待安全等级中至少一者确定噪声信息;
S407,终端设备对第一生物特征区域进行特征提取,得到第一初始索引特征,在第一初始索引特征上添加噪声信息中包含的噪声强度的噪声数据,获得第一索引特征;第一索引特征的区分度低于第一生物特征模板的区分度;
S408,终端设备向服务器发送注册信息;注册信息包括第一索引特征、第一辅助数据、第一哈希参数、第一哈希值;
S409,终端设备向服务器发送噪声信息和用户指定的用户标识;
S410,服务器接收注册信息、噪声信息和用户标识;
S411,服务器将注册信息中的第一索引特征、第一辅助数据、第一哈希参数、噪声信息关联存储;
S412,服务器将用户标识和第一哈希值关联存储。
请参见图3示出的本申请实施例提供的第一种具体认证方法的交互时序图;本申请实施例提供一种具体的身份认证方法,包括:
S500,终端设备获取待认证对象的待认证图像,待认证图像包括第二生物特征区域,第二生物特征区域中包括多个第二特征点;
S501,终端设备根据第二生物特征区域,确定第二索引特征;第二索引特征和第一索引特征通过相同的特征提取方法提取;
S502,终端设备根据第二生物特征区域,确定第二生物特征区域的待认证生物特征模板;
S503,终端设备将第二索引特征发送至服务器;
S504,终端设备将待认证生物特征模板通过安全通道发送至服务器;
S505,服务器根据第二索引特征在数据库中查询与第二索引特征的距离满足距离条件的多个第一索引特征;
S506,服务器在数据库中查询多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;
S507,服务器根据待认证生物特征模板和底库辅助数据进行解码运算,得到至少一个待认证密钥;
S508,服务器对至少一个待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
S509,服务器根据初步校验通过的待认证密钥对应的第一辅助数据对应的第一哈希参数,确定初步校验通过的待认证密钥对应的待认证哈希值;
S510,服务器将每个待认证哈希值与底库第一哈希值进行对比,确定与待认证哈希值匹配的底库第一哈希值;如果对于某个待认证哈希值,存在与其匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥为校验通过;
S510,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;
S511,服务器通过安全通道向终端设备发送身份认证结果,身份认证结果包括认证成功、校验通过的待认证密钥和用户标识;
S512,终端设备接收身份认证结果。
请参见图4示出的本申请实施例提供的第二种具体认证方法的交互时序图;本申请实施例提供另一种具体的身份认证方法,包括:
S500-S503,S505-S506,还包括,
S520,服务器向终端设备发送底库辅助数据和底库辅助数据包括的第一辅助数据所对应的第一哈希参数;
S521,终端设备根据待认证生物特征模板和接收到的底库辅助数据进行解码运算,得到至少一个待认证密钥;
S522,终端设备对至少一个待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
S523,终端设备根据初步校验通过的待认证密钥对应的第一辅助数据对应的第一哈希参数,确定初步校验通过的待认证密钥对应的待认证哈希值;
S524,终端设备向服务器发送待认证哈希值;
S525,服务器将接收到的每个待认证哈希值与底库第一哈希值进行对比,确定与待认证哈希值匹配的底库第一哈希值;如果对于某个待认证哈希值,存在与其匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥为校验通过;
S526,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;
S527,服务器向终端设备发送身份认证结果,身份认证结果包括认证成功、匹配哈希值和用户标识;
S528,终端设备接收身份认证结果,根据身份认证结果中的匹配哈希值确定出校验通过的待认证密钥。
本申请实施例提供另一种具体的身份认证方法,包括:
S500-S503,S505-S506,还包括,
S540,服务器向终端设备发送底库辅助数据和底库辅助数据包括的第一辅助数据所对应的第二哈希参数;
S541,终端设备根据待认证生物特征模板和接收到的底库辅助数据进行解码运算,得到至少一个待认证密钥;
S542,终端设备对至少一个待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
S543,终端设备根据初步校验通过的待认证密钥和第二变换密钥,生成待认证多因子密钥;第二变换密钥是根据待认证对象输入的用户口令确定的;
S544,终端设备对待认证多因子密钥进行初步校验,得到初步校验通过的待认证多因子密钥;
S545,终端根据初步校验通过的待认证多因子密钥对应的第一辅助数据对应的第二哈希参数,确定初步校验通过的待认证密钥对应的待认证多因子哈希值;
S546,终端设备向服务器发送待认证多因子哈希值;
S547,服务器将接收到的每个待认证多因子哈希值与底库第二哈希值进行对比,确定与待认证多因子哈希值匹配的底库第二哈希值;如果对于某个待认证多因子哈希值,存在与其匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥为校验通过;
S548,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证多因子密钥所对应的待认证多因子哈希值;
S549,服务器向终端设备发送身份认证结果,身份认证结果包括认证成功、匹配哈希值和用户标识;
S550,终端设备接收身份认证结果,根据身份认证结果中的匹配哈希值确定出校验通过的待认证多因子密钥。
本申请实施例还提供另一种具体的身份认证方法,包括:
S500-S503,S505-S506,S520-S523,
S529,服务器向终端设备发送底库第一哈希值;
S530,终端设备将每个待认证哈希值与接收到的底库第一哈希值进行对比,确定与待认证哈希值匹配的底库第一哈希值;如果对于某个待认证哈希值,存在与其匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥为校验通过;
S531终端设备向服务器发送匹配哈希值,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;
S532,服务器根据匹配哈希值确定该匹配哈希值对应的用户标识,匹配哈希值为校验通过的待认证密钥所对应的待认证哈希值;
S533,服务器向终端设备发送匹配哈希值对应的用户标识;
S534,终端设备接收匹配哈希值对应的用户标识;
S535,终端设备确定身份认证结果:身份认证结果包括:认证成功,校验成功的待认证密钥,用户标识。
本申请实施例还提供一种密钥使用方法,下面对该方法的具体流程进行详细阐述。
步骤1010,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1020。
可选地,本实施例所使用的身份认证方法可以与上述实施例身份认证方法类似,关于步骤1010的具体细节可以参阅上述实施例中的描述,在此不再赘述。
可以理解的是,步骤S1010的身份认证方法,需要是能够在认证过程中确定出待认证密钥或待认证多因子密钥的方法,也就是说,身份认证结果是通过校验待认证密钥或待认证多因子密钥确定的。待认证密钥或待认证多因子密钥的生成、校验可以在终端或服务器进行。若确定校验通过的待认证密钥或校验通过的待认证多因子密钥是在服务器进行的,则服务器需要把校验通过的待认证密钥或校验通过的待认证多因子密钥发送至终端设备,使终端设备利用校验通过的密钥进行后续应用处理。通常情况下,服务器和终端设备之间的密钥传输在二者的TEE之间通过安全通道进行。示例性的,校验通过的密钥可以包含在身份认证结果中由服务器发送给终端设备。
步骤1020,使用上述身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理。
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
可以理解的是,步骤S1010使用的身份认证方法是通过校验待认证密钥或待认证多因子密钥进行身份认证的,因此身份认证通过时,必然会确定一个校验通过的待认证密钥或校验通过的待认证多因子密钥。
如果认证阶段用待认证密钥校验,则校验通过的密钥包括校验通过的待认证密钥;如果认证阶段用待认证多因子密钥校验,则校验通过的密钥可以包括校验通过的待认证多因子密钥,也可以包括生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
本发明实施例中,在认证阶段能够根据与注册时足够接近的生物特征和辅助信息还原出注册阶段所使用的密钥,从而可以利用还原出的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理。
本申请实施例提供一种数字签名方法。下面将对该方法具体流程进行详细阐述。
步骤1110,通过身份注册方法,确定出注册信息。
其中,所述注册信息包括第一辅助数据。
本实施例所使用的身份注册方法可以与上述实施例四提供的身份注册方法类似,关于本实施例中的步骤1110的身份注册方法的其它细节可以参阅实施例四中的描述,在此不再赘述。
需要说明的是,步骤S1110的注册方法需要是步骤S103中的实现方式1.2或第二类方法,即该注册方法对应的认证方法,是通过生成并校验待认证密钥或待认证多因子密钥来进行身份认证的。
步骤1120,生成第一私钥对应的第一公钥。
其中,第一私钥为第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥。
示例性的,可将注册阶段涉及的第一辅助数据对应的密钥或第一多因子密钥作为第一私钥,基于第一私钥生成第一公钥。
示例性的,可生成第一私钥-第一公钥组成的密钥对,将第一私钥作为第一辅助数据对应密钥,或者基于第一辅助数据对应的密钥生成第一多因子密钥。此时,步骤S1120可能先于步骤S1110执行。
步骤1130,将所述第一公钥发送给验签方,以供所述验签方利用所述第一公钥对使用所述第一私钥生成的数字签名进行验签。
本申请实施例提供一种数字签名方法。下面将对该方法的具体流程进行详细阐述。
步骤1210,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1220。
对步骤S1210的说明参见步骤S1010。
步骤1220,使用身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据。
示例性的,可利用校验通过的密钥对待签名信息的哈希值进行非对称加密,得到数字签名,将数字签名和待签名信息作为签名数据。
步骤1230,将所述签名数据发送给验签方,以供所述验签方使用所述校验通过的密钥所对应的公钥对所述签名数据的数字签名进行验签。
示例性的,在接收到签名数据前,验签方已经接收到至少一个公钥。至少一个公钥通过S1110-S1130的方法发送给验签方。验签方可根据签名数据中包含或附带的信息确定用哪个公钥对数字签名进行验签。
示例性的,验签方接收到签名数据后,可计算签名数据中待签名数据的哈希值,将该哈希值与数字签名经公钥解密后得到的结果进行比较,二者一致则验签通过。此处的公钥,是指验签方根据签名数据中包含或附带的信息确定出的用于验签的公钥。
其中,所述校验通过的密钥所对应的公钥通过S1110-S1130所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
本申请实施例提供一种消息解密方法。下面将对该方法的具体流程进行详细阐述。
步骤1410,通过身份注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据。
本实施例所使用的身份注册方法可以与上述实施例提供的身份注册方法类似,关于本实施例中的步骤1410的身份注册方法的其它细节可以参阅实施例中的描述,在此不再赘述。
该步骤的具体说明参见步骤S1110。
步骤1420,生成第二私钥对应的第二公钥;其中,所述第二私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥。
步骤1430,将所述第二公钥发送给消息加密方。
关于第二公钥、第二私钥的描述可参见第一公钥、第一私钥。
本申请实施例提供一种消息解密方法。下面将对该方法的具体流程进行详细阐述。
步骤1510,接收消息加密方发送的待解密数据。
步骤1520,使用身份认证方法对待认证对象进行身份认证。
可选地,本实施例所使用的身份认证方法可以与上述实施例身份认证方法类似,关于步骤1520的具体细节可以参阅上述实施例中的描述,在此不再赘述。
对S1520的说明参见S1210。
若所述待认证对象的身份认证成功,则执行步骤1530。
步骤1530,使用上述身份认证方法确定出的校验通过的密钥对所述待解密数据进行解密,得到解密数据。
其中,所述校验通过的密钥所对应的公钥通过S1410-S1430提供的方法发送给所述消息加密方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥;所述待解密数据是用所述校验通过的密钥所对应的公钥进行加密的。
本申请实施例提供一种应用登录方法。下面将对该方法的具体流程进行详细阐述。
步骤1610,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1620。
可选地,本实施例所使用的身份认证方法可以与上述实施例身份认证方法类似,关于步骤1610的具体细节可以参阅上述实施例中的描述,在此不再赘述。
具体参见对S1210的说明。
步骤1620,将使用上述身份认证方法确定出的校验通过的密钥登录目标应用程序;或,将使用上述身份认证方法确定出的校验通过的密钥和用户标识登录目标应用程序。
可理解的是,可通过身份认证方法确定出校验通过的密钥,如果该校验通过的密钥在目标应用程序中是全局唯一的,例如是一个足够长足够随机的字符串,则可仅利用校验通过的密钥登录目标应用程序。若身份认证方法出确定出了用户标识,也可利用用户标识和校验通过的密钥登录目标应用程序。
可理解的是,示例性的,S1620包括:根据所述校验通过的密钥进行哈希运算(可选择哈希运算的盐值/轮数),将哈希运算结果发送应用服务器以登录目标应用程序,或者将哈希运算结果和用户标识发送至应用服务器以登录目标应用程序。
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
本申请实施例提供一种区块链节点信息同步方法。本实施例提供的区块链节点信息同步方法应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,下面将对该方法的具体流程进行详细阐述。
步骤1710,通过身份注册方法,确定出注册信息。
注册信息包括第一辅助数据;
本实施例所使用的身份注册方法可以与上述实施例四提供的身份注册方法类似,关于本实施例中的步骤1710的身份注册方法的其它细节可以参阅实施例四中的描述,在此不再赘述。
具体参见对S1110的说明。
步骤1720,生成第三私钥对应的第三公钥;其中,所述第三私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥。
关于第三私钥和第三公钥的说明参见对第一私钥、第一公钥的说明。
步骤1730,向所述区块链上的其他区块链节点广播所述第三公钥。
本实施例中,在将第三公钥在区块链节点中广播后,则可以在区块链系统中任意一个节点实现对区块链节点上产生的交易数据进行验证。
本申请实施例提供一种区块链节点信息同步方法。本实施例提供的区块链节点信息同步方法应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,下面将对该方法的具体流程进行详细阐述。
步骤1740,使用身份认证方法对待认证对象进行身份认证。
可选地,本实施例所使用的身份认证方法可以与上述实施例身份认证方法类似,关于步骤1740的具体细节可以参阅上述实施例中的描述,在此不再赘述。
若所述待认证对象的身份认证成功,则执行步骤1750。
具体参见对S1210的说明。
步骤1750,使用身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;
步骤1760,将所述交易数据广播给所述区块链上的其他区块链节点,以供所述其他区块链节点使用所述校验通过的密钥所对应的公钥对所述交易数据的数字签名进行验签;
其中,所述校验通过的密钥所对应的公钥通过S1710-S1730的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
需要说明的是,优选的,本申请各实施例的密钥(第一辅助数据对应的第一变换密钥、第二变换密钥、认证密钥、第一公钥、第一私钥、第二公钥、第二私钥、第三公钥、第三私钥)生成(例如系统生成,例如通过解码运算生成)、使用(例如哈希计算、变换处理)过程在设备TEE中执行,密钥的传输通过设备之间的安全通道在设备的TEE之间进行。
本申请实施例还提供了一种密钥使用装置,包括:
第一身份认证模块,用于使用如上面描述的身份认证方法对待认证对象进行身份认证。
密钥使用处理模块,用于若待认证对象的身份认证结果为认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥。
本申请实施例还提供了一种数字签名装置,包括:
第一信息确定模块,用于使用如上面描述的注册方法,确定出注册信息。
第一公钥获取模块,用于生成第一私钥对应的第一公钥;其中,第一私钥为第一辅助数据对应的密钥或第一辅助数据对应的第一多因子密钥。
第一公钥发送模块,用于将第一公钥发送给验签方,以供验签方利用第一公钥对使用第一私钥生成的数字签名进行验签。
本申请实施例还提供了一种数字签名装置,包括:
第二身份认证模块,用于使用如上面描述的身份认证方法对待认证对象进行身份认证。
签名数据得到模块,用于若待认证对象的身份认证结果为认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥。
签名数据发送模块,用于将签名数据发送给验签方,以供验签方使用校验通过的密钥所对应的公钥对签名数据的数字签名进行验签;其中,校验通过的密钥所对应的公钥通过如上面描述的方法发送给验签方。
本申请实施例还提供了一种消息解密装置,包括:
第二信息确定模块,用于使用如上面描述的注册方法,确定出注册信息。
第二公钥获取模块,用于生成第二私钥对应的第二公钥;其中,第二私钥为第一辅助数据对应的密钥或第一辅助数据对应的第一多因子密钥。
第二公钥发送模块,用于将第二公钥发送给消息加密方。
本申请实施例还提供了一种消息解密装置,包括:
待解数据接收模块,用于接收消息加密方发送的待解密数据。
第三身份认证模块,用于使用如上面描述的身份认证方法对待认证对象进行身份认证。
解密数据得到模块,用于若待认证对象的身份认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥对待解密数据进行解密,得到解密数据;其中,校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥。
其中,校验通过的密钥所对应的公钥通过如上面描述的方法发送给消息加密方,待解密数据是用校验通过的密钥所对应的公钥进行加密的。
本申请实施例还提供了一种应用登录装置,包括:
第四身份认证模块,用于使用如上面描述的身份认证方法对待认证对象进行身份认证。
应用程序登录模块,用于若待认证对象的身份认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥登录目标应用程序;或,使用如上面描述的身份认证方法确定出的校验通过的密钥和用户标识登录目标应用程序;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成校验通过的待认证多因子密钥的待认证密钥。
可选地,在本申请实施例中,应用程序登录模块,具体用于根据校验通过的密钥进行哈希运算,将哈希运算结果发送至应用服务器以登录目标应用程序;或,根据校验通过的密钥进行哈希运算,将哈希运算结果和用户标识发送至应用服务器以登录目标应用程序。
本申请实施例还提供了一种区块链节点信息同步装置,应用于区块链上的当前区块链节点,区块链上包括多个区块链节点,包括:
第三信息确定模块,用于使用如上面描述的注册方法,确定出注册信息。
第三公钥获取模块,用于生成第三私钥对应的第三公钥;其中,第三私钥为第一辅助数据对应的密钥或第一辅助数据对应的第一多因子密钥。
第三公钥发送模块,用于将第三公钥向区块链上的其他区块链节点广播。
本申请实施例还提供了一种区块链节点信息同步装置,应用于区块链上的当前区块链节点,区块链上包括多个区块链节点,包括:
第五身份认证模块,用于使用如上面描述的身份认证方法对待认证对象进行身份认证。
交易信息签名模块,用于若待认证对象的身份认证成功,则使用如上面描述的身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据。
交易数据广播模块,用于将交易数据广播给区块链上的其他区块链节点,以供其他区块链节点使用校验通过的密钥所对应的公钥对交易数据的数字签名进行验签;其中,校验通过的密钥所对应的公钥通过如上面描述的方法发送给验签方;校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成校验通过的待认证多因子密钥所使用的待认证密钥。
应理解的是,该装置与上述的方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
本申请实施例提供的一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
上述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。

Claims (55)

1.一种注册方法,其特征在于,应用于终端设备,包括:
获得待注册对象的待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;
根据所述第一生物特征模板进行编码运算,得到第一辅助数据;其中,所述编码运算包括不可逆变换;
对所述第一生物特征区域进行特征提取,得到第一索引特征,所述第一索引特征的区分度低于所述第一生物特征模板的区分度;
存储注册信息,或向服务器发送注册信息,所述注册信息包括所述第一索引特征和所述第一辅助数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一生物特征模板进行编码运算,包括:根据所述第一生物特征模板和第一辅助数据对应的密钥进行编码运算,得到第一辅助数据;或者,根据所述第一生物特征模板进行编码运算,得到第一辅助数据和第一辅助数据对应的密钥;
所述注册信息还包括:第一哈希值;所述方法还包括:根据所述第一辅助数据对应的密钥进行哈希运算,确定所述注册信息中的第一哈希值;
和/或,所述注册信息还包括:第一哈希值和第一哈希参数;所述方法还包括:根据所述第一辅助数据对应的密钥和第一哈希参数进行哈希运算,确定所述注册信息中的第一哈希值;
和/或,所述注册信息包括第二哈希值;所述方法还包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,得到第一多因子密钥;根据所述第一多因子密钥进行哈希运算,确定所述注册信息中的第二哈希值;
和/或,所述注册信息包括第二哈希值和第二哈希参数;所述方法还包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,得到第一多因子密钥;根据所述第一多因子密钥和第二哈希参数进行哈希运算,确定所述注册信息中的第二哈希值;
其中,所述第一哈希参数包括哈希运算所使用的盐值和/或轮数,所述第二哈希参数包括哈希运算所使用的盐值和/或轮数。
3.根据权利要求2所述的方法,其特征在于,所述第一辅助数据对应的密钥和/或所述第一多因子密钥中包含校验信息;
或者,所述注册信息包括所述第一校验值和/或所述第二校验值;所述方法还包括:根据所述第一辅助数据对应的密钥生成第一校验值,和/或,根据所述第一多因子密钥生成第二校验值。
4.根据权利要求2或3所述的方法,其特征在于,所述存储注册信息,包括:将所述注册信息中的第一索引特征和第一辅助数据关联存储至数据库中;
还包括:
将所述第一哈希值存储至所述数据库中;
和/或,将所述第一哈希值存储至所述数据库中,将第一辅助数据和所述第一哈希参数关联存储至所述数据库中;
和/或,将所述第二哈希值存储至所述数据库中;
和/或,将所述第二哈希值存储至所述数据库中,将第一辅助数据和所述第二哈希参数关联存储至所述数据库中;
和/或,将所述第一校验值和/或所述第二校验值与所述第一辅助数据关联存储至所述数据库中。
5.根据权利要求4所述的方法,其特征在于,所述数据库包括第一数据表和第二数据表;
所述将所述注册信息中的第一索引特征和第一辅助数据关联存储至数据库中,包括:
将所述注册信息中的第一索引特征和第一辅助数据关联存储至所述第一数据表中;
所述方法还包括:
获取待注册对象的用户标识;
所述方法还包括:将所述用户标识与所述第一哈希值和/或所述第二哈希值关联存储在所述第二数据表中。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述终端设备上设置有可信执行环境;
所述第一辅助数据对应的密钥的获取、使用和/或传输过程在所述可信执行环境中被执行;
或/及,所述第一变换密钥和第一多因子密钥的获取、使用和/或传输过程在所述可信执行环境中被执行。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,包括:
根据所述第一生物特征区域确定第一中间结果,根据所述第一中间结果确定第一生物特征模板;其中,所述根据所述第一生物特征区域确定第一中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第一中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;
或者,根据所述第一生物特征区域确定第二中间结果;根据所述第二中间结果确定第三中间结果;根据所述第三中间结果确定第一生物特征模板;其中,所述根据所述第一生物特征区域确定第二中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第三中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;所述根据所述第二中间结果确定第三中间结果以第三优先级在所述可信执行环境中被执行;
其中,所述第三优先级低于所述第一优先级,所述第三优先级低于所述第二优先级。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
获取所述终端设备的性能信息、所述终端设备与所述服务器之间的网络信息和期待安全等级中至少一者;
向所述服务器发送所述性能信息、所述网络信息和所述期待安全等级中至少一者,所述性能信息、所述期待安全等级和/或所述网络信息用于确定向所述第一索引特征中添加噪声的噪声信息,所述噪声信息包括:加噪声方式和噪声强度中至少一者。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述方法还包括:
获取所述终端设备的性能信息、所述终端设备与所述服务器之间的网络信息和期待安全等级中至少一者;
获取噪声信息,所述噪声信息包括:加噪声方式和噪声强度中至少一者,所述噪声信息是根据所述性能信息、所述网络信息和所述期待安全等级中至少一者确定的;
所述对所述第一生物特征区域进行特征提取,得到第一索引特征,包括:
对所述第一生物特征区域进行特征提取,得到第一初始索引特征,根据所述加噪声方式在所述第一初始索引特征上添加噪声数据,和/或,在所述第一初始索引特征上添加所述噪声强度的噪声数据,获得所述第一索引特征。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:将所述噪声信息与所述第一索引特征关联存储。
11.一种注册方法,其特征在于,应用于服务器,包括:
接收终端设备发送的注册信息,所述注册信息是通过权利要求1-10任一项所述的注册方法确定的;
将所述注册信息存储至数据库中,包括:将所述注册信息中的第一索引特征和第一辅助数据关联存储至数据库中。
12.根据权利要求11所述的方法,其特征在于,
所述注册信息还包括:第一哈希值;所述将所述注册信息存储至数据库中,还包括:将所述第一哈希值存储至所述数据库中;
和/或,所述注册信息还包括:第一哈希值和第一哈希参数;所述将所述注册信息存储至数据库中,还包括:将所述第一哈希值存储至所述数据库中,将第一辅助数据和所述第一哈希参数关联存储至所述数据库中;
和/或,所述注册信息包括第二哈希值;所述将所述注册信息存储至数据库中,还包括:将所述第二哈希值存储至所述数据库中;
和/或,所述注册信息包括第二哈希值和第二哈希参数;所述将所述注册信息存储至数据库中,还包括:将所述第二哈希值存储至所述数据库中,将第一辅助数据和所述第二哈希参数关联存储至所述数据库中。
13.根据权利要求11或12所述的方法,其特征在于,
所述第一辅助数据对应的密钥和/或所述第一多因子密钥中包含校验信息;
或,所述注册信息还包括第一校验值和/或第二校验值,将所述注册信息存储至数据库中,包括:第一校验值和/或第二校验值与所述第一索引特征关联存储至所述数据库中。
14.根据权利要求12或13所述的方法,其特征在于,所述数据库包括第一数据表和第二数据表;
所述将所述注册信息中的第一索引特征和第一辅助数据关联存储至数据库中,包括:
将所述注册信息中的第一索引特征和第一辅助数据关联存储至所述第一数据表中;
所述方法还包括:
获取待注册对象的用户标识;
将所述用户标识与所述第一哈希值和/或所述第二哈希值关联存储在所述第二数据表中。
15.根据权利要求11-14任一项所述的方法,其特征在于,还包括:
获取噪声信息;
将所述噪声信息和所述第一索引特征关联存储至数据库中;
其中,所述噪声信息包括:加噪声方式和噪声强度中至少一者;所述噪声信息是根据所述终端设备的性能信息、所述终端设备与所述服务器之间的网络信息和期待安全等级中至少一者确定的。
16.根据权利要求15所述的方法,其特征在于,还包括:
根据所述加噪声方式在所述第一索引特征上添加噪声数据,和/或,在所述第一索引特征上添加所述噪声强度的噪声数据,获得加噪后的第一索引特征;
所述将所述注册信息中的第一索引特征和第一辅助数据关联存储至数据库中,包括:
将所述加噪后的第一索引特征和第一辅助数据关联存储至数据库中。
17.根据权利要求11-16任一项所述的方法,其特征在于,还包括:
确定仿真辅助数据,包括:生成仿真图像,所述仿真图像包括仿真生物特征区域,根据所述仿真生物特征区域,确定所述仿真特征区域的仿真生物特征模板,根据仿真生物特征模板确定所述仿真辅助数据;或者,生成仿真生物特征模板,根据仿真生物特征模板确定所述仿真辅助数据;或者,直接生成所述仿真辅助数据;
确定仿真索引特征,包括:直接生成所述仿真索引特征,或者,对仿真图像的仿真生物特征区域进行特征提取,得到所述仿真索引特征;
将所述仿真索引特征和所述仿真辅助数据关联存储至所述数据库中。
18.一种认证方法,其特征在于,应用于终端设备,包括:
获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
根据所述第二生物特征区域,确定第二索引特征;所述第二索引特征和权利要求1-17任一项所述第一索引特征通过相同的特征提取方法提取;
根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;
获取所述待认证对象的身份认证结果,所述身份认证结果是根据所述待认证生物特征模板和底库辅助数据确定出的;
其中,所述底库辅助数据包括根据所述第二索引特征确定的多个第一辅助数据;所述多个第一辅助数据是通过权利要求1-17任一项所述的方法存储至数据库中的。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:通过安全通道发送所述待认证生物特征模板;发送所述第二索引特征,以使服务器根据所述第二索引特征确定出所述底库辅助数据并根据所述待认证生物特征模板和所述底库辅助数据确定出所述待认证对象的身份认证结果;
所述获取所述待认证对象的身份认证结果,包括:接收服务器发送的所述待认证对象的身份认证结果。
20.根据权利要求18所述的方法,其特征在于,所述方法还包括:获取底库辅助数据;
所述获取底库辅助数据包括:
在数据库中查询与所述第二索引特征的距离满足距离条件的多个第一索引特征;在所述数据库中查询所述多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;
或者,所述获取底库辅助数据包括:
向服务器发送所述第二索引特征;接收服务器发送的底库辅助数据;所述服务器发送的底库辅助数据是根据所述第二索引特征确定的。
21.根据权利要求20所述的方法,其特征在于,所述获取所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果;
所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。
22.根据权利要求20所述的方法,其特征在于,
所述获取所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果;
所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥;
对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果。
23.根据权利要求22所述的方法,其特征在于,所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,还包括:
对所述待认证密钥进行校验,得到校验通过的目标待认证密钥;
所述根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥,包括:
根据所述目标待认证密钥和第二变换密钥,得到待认证多因子密钥。
24.根据权利要求22或23的方法,其特征在于,所述对所述待认证多因子密钥进行校验,包括:
根据部分或全部所述待认证多因子密钥确定部分或全部所述待认证多因子密钥对应的待认证多因子哈希值,或者,根据部分或全部所述待认证多因子密钥和与其对应的第一辅助数据所对应的第二哈希参数确定部分或全部的所述待认证密钥对应的待认证多因子哈希值;
对于一个待认证多因子哈希值,若底库第二哈希值中存在与其匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;
其中,所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为所述数据库中满足指定条件的第二哈希值。
25.根据权利要求24所述的方法,其特征在于,所述对所述待认证多因子密钥进行校验,还包括:
接收服务器发送的所述底库第二哈希值,并将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的所述底库第二哈希值;
或者,
将所述待认证多因子哈希值发送给所述服务器,以使所述服务器将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值。
26.根据权利要求21、23-25任一项所述的方法,其特征在于,所述对所述待认证密钥进行校验,包括:
根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与所述待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为所述数据库中满足指定条件的第一哈希值。
27.根据权利要求26所述的方法,其特征在于,所述对所述待认证密钥进行校验,还包括:
接收服务器发送的所述底库第一哈希值,并将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
或者,
将所述待认证哈希值发送给所述服务器,以使所述服务器将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的底库第一哈希值。
28.根据权利要求2-27任一项所述的方法,其特征在于,
所述对所述待认证多因子密钥进行校验,还包括:
对所述待认证多因子密钥进行初步校验,得到初步校验通过的待认证多因子密钥;
对所述待认证多因子密钥进行初步校验,包括:利用所述待认证多因子密钥中的检验信息对所述待认证多因子密钥进行初步校验,或者,根据所述待认证多因子密钥生成待认证第二校验值,将所述待认证第二校验值和底库第二校验值进行比对来进行初步校验;
其中,所述底库第二校验值为所述数据库中所述待认证多因子密钥所对应的第一辅助数据所对应的第二校验值;
和/或,
所述对所述待认证密钥进行校验,还包括:
对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
对所述待认证密钥进行初步校验,包括:利用所述待认证密钥中的检验信息对所述待认证密钥进行初步校验,或者,根据所述待认证密钥生成待认证第一校验值,将所述待认证第一校验值和底库第一校验值进行比对来进行初步校验;
其中,所述底库第一校验值为所述数据库中所述待认证密钥所对应的第一辅助数据所对应的第一校验值。
29.根据权利要求21-27任一项所述的方法,其特征在于,所述方法还包括:
根据匹配哈希值确定所述匹配哈希值对应的用户标识;
所述根据匹配哈希值确定所述匹配哈希值对应的用户标识,包括:
将匹配哈希值发送给服务器,以使所述服务器根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;接收所述匹配哈希值对应的用户标识;
或者,根据匹配哈希值确定所述匹配哈希值对应的用户标识,包括:根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;
其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。
30.根据权利要求20所述的方法,其特征在于,所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板和认证密钥,进行所述编码运算,得到待认证辅助数据;
根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
31.一种认证方法,其特征在于,应用于服务器,包括:
获取终端设备发送的第二索引特征,所述第二索引特征是根据待认证对象的待认证图像所包含的第二生物特征区域确定的;所述第二索引特征和权利要求11-17任一项所述的第一索引特征通过相同的特征提取方法提取;
在数据库中查询与所述第二索引特征的距离满足距离条件的多个第一索引特征;
在所述数据库中查询所述多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;其中,所述第一索引特征和所述第一辅助数据是通过权利要求11-17任一项所述的注册方法存储在所述数据库中的。
32.根据权利要求31所述的方法,其特征在于,所述方法还包括:
通过安全通道接收终端设备发送的待认证生物特征模板,根据所述待认证特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果;
向所述终端设备发送所述待认证对象的身份认证结果。
33.根据权利要求32所述的方法,其特征在于,所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证特征模板与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果;
根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥。
34.根据权利要求33所述的方法,其特征在于,
所述对所述待认证密钥进行校验,还包括:
对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
对所述待认证密钥进行初步校验,包括:利用所述待认证密钥中的检验信息对所述待认证密钥进行初步校验,或者,根据所述待认证密钥生成待认证第一校验值,将所述待认证第一校验值和底库第一校验值进行比对来进行初步校验;
其中,所述底库第一校验值为所述数据库中所述待认证多因子密钥所对应的第一辅助数据所对应的第一校验值。
35.根据权利要求32所述的方法,其特征在于,所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板和认证密钥,进行所述编码运算,得到待认证辅助数据;
根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
36.根据权利要求31所述的方法,其特征在于,所述方法还包括:向所述终端设备发送所述底库辅助数据。
37.根据权利要求36所述的方法,其特征在于,所述方法还包括:
将底库第一哈希值发送给所述终端设备,以使所述终端设备将待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
或者,
接收所述终端设备发送的待认证哈希值,将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
其中,所述待认证哈希值是所述终端设备根据所述底库辅助数据确定的;所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者,所述底库第一哈希值为所述数据库中满足指定条件的第一哈希值。
38.根据权利要求36或37任一项所述的方法,其特征在于,所述方法还包括:
将底库第二哈希值发送给所述终端设备,以使所述终端设备将待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
或者,
接收所述终端设备发送的待认证多因子哈希值,将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
其中,所述待认证多因子哈希值是根据所述底库辅助数据确定的;所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为所述数据库中满足指定条件的第二哈希值。
39.根据权利要求31-48任一项所述的方法,其特征在于,所述数据库包括第一数据表和第二数据表;所述方法还包括:
根据匹配哈希值在所述数据库的第二数据表中查询与所述匹配哈希值对应的用户标识;
向所述终端设备发送所述用户标识;
其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值;
其中,所述第一索引特征和所述第一辅助数据关联存储在所述第一数据表中;注册信息包括所述第二哈希值,所述用户标识和所述第二哈希值关联存储在所述第二数据表中,和/或,注册信息包括所述第一哈希值,所述用户标识和所述第一哈希值关联存储在所述第二数据表中。
40.根据权利要求31-39任一项所述的方法,其特征在于,在所述在数据库中查询与所述第二索引特征的距离满足距离条件的多个第一索引特征之前,所述方法还包括:
根据所述数据库中的目标第一索引特征所对应的噪声信息确定所述目标第一索引特征所对应的距离条件;所述目标索引特征为所述数据库中的一个第一索引特征;所述噪声信息包括:加噪声方式和噪声强度中的至少一种;
其中,所述目标第一索引特征所对应的噪声信息和所述目标第一索引特征关联存储至数据库中。
41.一种密钥使用方法,其特征在于,包括:
使用如权利要求18-30任一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证结果为认证成功,则使用如权利要求18-30任一项所述的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成所述校验通过的待认证多因子密钥的待认证密钥。
42.一种数字签名方法,其特征在于,包括:
通过权利要求1-10任一项所述的注册方法,确定出注册信息;
生成第一私钥对应的第一公钥;其中,所述第一私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;
将所述第一公钥发送给验签方,以供所述验签方利用所述第一公钥对使用所述第一私钥生成的数字签名进行验签。
43.一种数字签名方法,其特征在于,包括:
使用如权利要求18-30任一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证结果为认证成功,则使用如权利要求18-30任一项所述的身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成所述校验通过的待认证多因子密钥的待认证密钥;
将所述签名数据发送给验签方,以供所述验签方使用所述校验通过的密钥所对应的公钥对所述签名数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过权利要求42所述的方法发送给所述验签方。
44.一种消息解密方法,其特征在于,包括:
通过权利要求1-10任一项所述的注册方法,确定出注册信息;
生成第二私钥对应的第二公钥;其中,所述第二私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;
将所述第二公钥发送给消息加密方。
45.一种消息解密方法,其特征在于,包括:
接收消息加密方发送的待解密数据;
使用如权利要求18-30任一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用如权利要求18-30任一项所述的身份认证方法确定出的校验通过的密钥对所述待解密数据进行解密,得到解密数据;其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成所述校验通过的待认证多因子密钥的待认证密钥;
其中,所述校验通过的密钥所对应的公钥通过权利要求44所述的方法发送给所述消息加密方,所述待解密数据是用所述校验通过的密钥所对应的公钥进行加密的。
46.一种应用登录方法,其特征在于,包括:
使用如权利要求18-30任一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用如权利要求18-30任一项所述的身份认证方法确定出的校验通过的密钥登录目标应用程序;或,使用如权利要求29所述的身份认证方法确定出的校验通过的密钥和所述用户标识登录目标应用程序;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或用于生成所述校验通过的待认证多因子密钥的待认证密钥。
47.根据权利要求50的应用登录方法,其特征在于,使用如权利要求18-30任一项所述的身份认证方法确定出的校验通过的密钥登录目标应用程序,包括:根据所述校验通过的密钥进行哈希运算,将所述哈希运算结果发送至应用服务器以登录目标应用程序;或,使用如权利要求29所述的身份认证方法确定出的校验通过的密钥和所述用户标识登录目标应用程序,包括:根据所述校验通过的密钥进行哈希运算,将所述哈希运算结果和所述用户标识发送至应用服务器以登录目标应用程序。
48.一种区块链节点信息同步方法,其特征在于,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,包括:
通过权利要求1-10任一项所述的注册方法,确定出注册信息;
生成第三私钥对应的第三公钥;其中,所述第三私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;
将所述第三公钥向所述区块链上的其他区块链节点广播。
49.一种区块链节点信息同步方法,其特征在于,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,包括:
使用如权利要求18-30任一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用如权利要求18-30任意一项所述的身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;
将所述交易数据广播给所述区块链上的其他区块链节点,以供所述其他区块链节点使用所述校验通过的密钥所对应的公钥对所述交易数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过权利要求48所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
50.一种注册装置,其特征在于,应用于终端设备,包括:
处理图像获得模块,用于获得待注册对象的待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
特征模板确定模块,用于根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;
辅助数据得到模块,用于根据所述第一生物特征模板进行编码运算,得到第一辅助数据;其中,所述编码运算包括不可逆变换;
索引特征确定模块,用于对所述第一生物特征区域进行特征提取,得到第一索引特征,所述第一索引特征的区分度低于所述第一生物特征模板的区分度;
注册信息存储发送模块,用于存储注册信息或向服务器发送注册信息,所述注册信息包括所述第一索引特征和所述第一辅助数据。
51.一种注册装置,其特征在于,应用于服务器,包括:
注册信息接收模块,用于接收终端设备发送的注册信息,所述注册信息是通过权利要求1-10任一项所述的注册方法确定的;
注册信息存储模块,用于将所述注册信息存储至数据库中,包括:将所述注册信息中的第一索引特征和第一辅助数据关联存储至数据库中。
52.一种认证装置,其特征在于,应用于终端设备,包括:
认证图像获取模块,用于获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
索引特征获得模块,用于根据所述第二生物特征区域,确定第二索引特征;所述第二索引特征和如权利要求1-17任一项所述第一索引特征通过相同的特征提取方法提取;
生物特征确定模块,用于根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;
认证结果获取模块,用于获取所述待认证对象的身份认证结果,所述身份认证结果是根据所述待认证生物特征模板和所述底库辅助数据确定出的;
其中,所述底库辅助数据包括根据所述第二索引特征确定的多个第一辅助数据;所述多个第一辅助数据是通过权利要求1-17任一项所述的方法存储至数据库中的。
53.一种认证装置,其特征在于,应用于服务器,包括:
索引特征获取模块,用于获取终端设备发送的第二索引特征,所述第二索引特征是根据待认证对象的待认证图像所包含的第二生物特征区域确定的;所述第二索引特征和如权利要求11-17任一项所述的第一索引特征通过相同的特征提取方法提取;
索引特征查询模块,用于在数据库中查询与所述第二索引特征的距离满足距离条件的多个第一索引特征;
辅助数据查询模块,用于在所述数据库中查询所述多个第一索引特征一一对应的多个第一辅助数据,获得底库辅助数据;其中,所述第一索引特征和所述第一辅助数据是通过权利要求11-17任一项所述的注册方法存储在所述数据库中的。
54.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至49任一所述的方法的步骤。
55.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至49任一所述的方法。
CN202111228163.1A 2021-10-21 2021-10-21 一种注册方法、认证方法及装置 Pending CN114117383A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111228163.1A CN114117383A (zh) 2021-10-21 2021-10-21 一种注册方法、认证方法及装置
PCT/CN2022/126690 WO2023066374A1 (zh) 2021-10-21 2022-10-21 隐私保护的图像处理方法、身份注册方法及身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111228163.1A CN114117383A (zh) 2021-10-21 2021-10-21 一种注册方法、认证方法及装置

Publications (1)

Publication Number Publication Date
CN114117383A true CN114117383A (zh) 2022-03-01

Family

ID=80376367

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111228163.1A Pending CN114117383A (zh) 2021-10-21 2021-10-21 一种注册方法、认证方法及装置

Country Status (1)

Country Link
CN (1) CN114117383A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115733617A (zh) * 2022-10-31 2023-03-03 支付宝(杭州)信息技术有限公司 一种生物特征认证方法和系统
WO2023066374A1 (zh) * 2021-10-21 2023-04-27 墨奇科技(北京)有限公司 隐私保护的图像处理方法、身份注册方法及身份认证方法
CN116629887A (zh) * 2023-07-20 2023-08-22 鼎铉商用密码测评技术(深圳)有限公司 基于生物特征的注册方法、认证方法、装置及存储介质
CN117218685A (zh) * 2023-10-18 2023-12-12 湖南工商大学 考虑特征模板保护的生物特征识别方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023066374A1 (zh) * 2021-10-21 2023-04-27 墨奇科技(北京)有限公司 隐私保护的图像处理方法、身份注册方法及身份认证方法
CN115733617A (zh) * 2022-10-31 2023-03-03 支付宝(杭州)信息技术有限公司 一种生物特征认证方法和系统
CN115733617B (zh) * 2022-10-31 2024-01-23 支付宝(杭州)信息技术有限公司 一种生物特征认证方法和系统
CN116629887A (zh) * 2023-07-20 2023-08-22 鼎铉商用密码测评技术(深圳)有限公司 基于生物特征的注册方法、认证方法、装置及存储介质
CN117218685A (zh) * 2023-10-18 2023-12-12 湖南工商大学 考虑特征模板保护的生物特征识别方法

Similar Documents

Publication Publication Date Title
Wang et al. A blind system identification approach to cancelable fingerprint templates
CN114117383A (zh) 一种注册方法、认证方法及装置
Ahmad et al. Pair-polar coordinate-based cancelable fingerprint templates
US10169638B2 (en) Transformed representation for fingerprint data with high recognition accuracy
Sandhya et al. Securing fingerprint templates using fused structures
CN105471575B (zh) 一种信息加密、解密方法及装置
US20050154924A1 (en) Multiple factor-based user identification and authentication
KR101823145B1 (ko) 기준 포인트 이용 및 미이용에 의한 확실한 생체 특징 추출
Tran et al. A multi-filter fingerprint matching framework for cancelable template design
EP3637674A1 (en) Computer system, secret information verification method, and computer
EP3669297A1 (en) A biometric cryptosystem
Billeb et al. Biometric template protection for speaker recognition based on universal background models
Lutsenko et al. Biometric cryptosystems: overview, state-of-the-art and perspective directions
Benhammadi et al. Password hardened fuzzy vault for fingerprint authentication system
Yang et al. A linear convolution-based cancelable fingerprint biometric authentication system
CN116010917A (zh) 隐私保护的图像处理方法、身份注册方法及身份认证方法
de Groot et al. Quantization in zero leakage helper data schemes
Baghel et al. An enhanced fuzzy vault to secure the fingerprint templates
Yang et al. A Delaunay triangle group based fuzzy vault with cancellability
US10733415B1 (en) Transformed representation for fingerprint data with high recognition accuracy
US8122260B2 (en) Shaping classification boundaries in template protection systems
Nazari et al. A discriminant binarization transform using genetic algorithm and error-correcting output code for face template protection
WO2023066374A1 (zh) 隐私保护的图像处理方法、身份注册方法及身份认证方法
KR102181340B1 (ko) 바이오매트릭스와 Fuzzy Vault를 이용하여 암호학적 키를 생성하는 방법 및 시스템
JP6216567B2 (ja) 生体署名システム

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230821

Address after: Room 1507-1512, 13th Floor, No. 27 Zhichun Road, Haidian District, Beijing, 100083

Applicant after: Beijing jianmozi Technology Co.,Ltd.

Address before: 100000 1024, 1f, building 5, yard 5, Jiangtai Road, Chaoyang District, Beijing

Applicant before: Moqi Technology (Beijing) Co.,Ltd.