CN116010917A - 隐私保护的图像处理方法、身份注册方法及身份认证方法 - Google Patents
隐私保护的图像处理方法、身份注册方法及身份认证方法 Download PDFInfo
- Publication number
- CN116010917A CN116010917A CN202111229310.7A CN202111229310A CN116010917A CN 116010917 A CN116010917 A CN 116010917A CN 202111229310 A CN202111229310 A CN 202111229310A CN 116010917 A CN116010917 A CN 116010917A
- Authority
- CN
- China
- Prior art keywords
- authenticated
- key
- auxiliary data
- hash value
- determining
- 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
Links
Images
Landscapes
- Collating Specific Patterns (AREA)
Abstract
本申请提供了一种隐私保护的图像处理方法、身份注册方法及身份认证方法,其中,该方法包括:获取待处理图像,该待处理图像包括第一生物特征区域,该第一生物特征区域中包括多个第一特征点;根据该第一生物特征区域,确定该第一生物特征区域的第一生物特征模板,该第一生物特征模板包括该多个第一特征点对应的生物特征表示;对第一生物特征模板进行编码运算,得到第一辅助数据。本是申请实施例能够提高生物特征识别方法的不可逆性,保证可撤销性和不可链接性,从而实现对用户隐私的保护。
Description
技术领域
本申请涉及图像处理技术领域,具体而言,涉及一种隐私保护的图像处理方法、身份注册方法及身份认证方法。
背景技术
生物识别是现代身份管理和访问控制系统的重要手段。由于个人与其生物特征之间存在牢固和永久的联系,将注册用户的生物特征暴露给攻击者可能会严重损害用户隐私。目前,很少生物识别方法有能在不显著降低识别性能的情况下保证生物特征识别系统所需的不可逆性、可撤销性和不可链接性。
发明内容
有鉴于此,本申请实施例的目的在于提供一种隐私保护的图像处理方法、身份注册方法及身份认证方法,能够提高生物特征识别方法的不可逆性,保证可撤销性和不可链接性,从而实现对用户隐私的保护。
第一方面,本申请实施例提供了一种隐私保护的图像处理方法,包括:
获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;
对所述第一生物特征模板进行编码运算,得到第一辅助数据,包括以下一项:
对所述第一生物特征模板进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;
根据所述第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据;其中,所述根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和所述量化值确定纠错码码字;和/或,所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值,对所述纠错码码字进行第一变换处理,得到第一辅助数据;所述第一变换处理为不可逆变换;
根据所述第一生物特征模板进行量化,得到量化值;确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据;根据所述量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据;所述第二变换处理为不可逆变换;
其中,所述编码运算包括不可逆变换。
第二方面,本申请实施例提供一种身份注册方法,包括:
通过上述的隐私保护的图像处理方法确定待注册对象的注册信息中的第一辅助数据。
第三方面,本申请实施例提供一种身份认证方法,包括:
获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;
获取所述待认证对象的身份认证结果,所述身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;
其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据是通过上述的身份注册方法确定的。
第四方面,本申请实施例提供一种身份注册方法,包括:
接收终端设备发送的注册信息,所述注册信息是通过上述的身份注册方法确定的;
将所述注册信息存储至数据库中,所述注册信息包括第一辅助数据。
第五方面,本申请实施例提供一种密钥使用方法,包括:
使用上述第三方面所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用第三方面所述的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
第六方面,本申请实施例提供一种数字签名方法,包括:
通过第二方面所述的注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据;所述第一辅助数据对应的密钥为第一私钥;所述第一私钥对应有第一公钥;所述第一私钥和第一公钥是在可信执行环境中生成的;
将所述第一公钥发送给验签方,以供所述验签方利用所述第一公钥对使用所述第一私钥生成的数字签名进行验签。
第七方面,本申请实施例提供一种数字签名方法,包括:
使用第三方面所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用第三方面所述的身份认证方法确定出的校验通过的第一待认证密钥对待签名信息进行签名,得到带有数字签名的签名数据;
将所述签名数据发送给验签方,以供所述验签方使用所述第一待认证密钥所对应的公钥对所述签名数据的数字签名进行验签;其中,所述第一待认证密钥所对应的公钥通过第五方面所述的方法发送给所述验签方。
第八方面,本申请实施例提供一种消息解密方法,包括:
通过第二方面所述的身份注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据;所述第一辅助数据对应的密钥为第二私钥;所述第二私钥对应有第二公钥;所述第二私钥和第二公钥是在可信执行环境中生成的;
将所述第二公钥发送给消息加密方。
第九方面,本申请实施例提供一种消息解密方法,包括:
接收消息加密方发送的待解密数据;
使用第三方面所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用第三方面所述的身份认证方法确定出的校验通过的第二待认证密钥对所述待解密数据进行解密,得到解密数据;
其中,所述第二待认证密钥所对应的公钥通过上述的方法发送给所述消息加密方,所述待解密数据是用所述第二待认证密钥所对应的公钥进行加密的。
第十方面,本申请实施例提供一种应用登录方法,包括:
使用第三方面所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则将使用第三方面所述的身份认证方法确定出的校验通过的第三待认证密钥发送至应用服务器,以登录目标应用程序;或,将使用上述的身份认证方法确定出的校验通过的第三待认证密钥和所述用户标识发送至应用服务器,以登录目标应用程序。
第十一方面,本申请实施例提供一种区块链节点信息同步方法,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,包括:
通过第二方面所述的注册方法,确定出注册信息,所述注册信息包括第一辅助数据;所述第一辅助数据对应的密钥为第三私钥;所述第三私钥对应有第三公钥;所述第三私钥和第三公钥是在可信执行环境中生成的;
将所述第三公钥向所述区块链上的其他区块链节点广播。
第十二方面,本申请实施例提供一种隐私保护的图像处理装置,包括:
第一获取模块,用于获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
第一确定模块,用于根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;
编码模块,用于对所述第一生物特征模板进行编码运算,得到第一辅助数据;
所述编码模块通过以下任意一种方式实现:
对所述第一生物特征模板进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;
根据所述第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据;其中,所述根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和所述量化值确定纠错码码字;和/或,所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值,对所述纠错码码字进行第一变换处理,得到第一辅助数据;所述第一变换处理为不可逆变换;
根据所述第一生物特征模板进行量化,得到量化值;确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据;根据所述量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据;所述第二变换处理为不可逆变换;
其中,所述编码运算包括不可逆变换。
第十三方面,本申请实施例提供一种身份注册装置,包括:
第二确定模块,用于通过第一方面所述的方法确定待注册对象的注册信息中的第一辅助数据。
第十四方面,本申请实施例提供一种身份认证装置,包括:
第二获取模块,用于获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
第三确定模块,用于根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板,所述待认证生物特征模板包括所述多个第二特征点对应的多个生物特征数据;
第四确定模块,用于根据所述待认证生物特征模板和底库辅助数据,确定出所述待认证对象的身份认证结果;
其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据包括在注册信息中,所述注册信息是通过第二方面所述的注册方法确定的。
第十五方面,本申请实施例提供一种身份注册装置,包括:
第一接收模块,用于接收终端设备发送的注册信息,所述注册信息是通过第二方面提供的身份注册方法确定的;
第二存储模块,用于将所述注册信息存储至数据库中,所述注册信息包括第一辅助数据。
第十六方面,本申请实施例提供一种身份认证装置,包括:
第二接收模块,用于接收所述终端设备发送的认证请求;
底库辅助数据确定模块,用于根据所述认证请求,从通过第四方面提供的身份注册方法中的方法存储至数据库中的注册信息中确定出底库辅助数据;其中,所述底库辅助数据包括至少一个第一辅助数据。
第十七方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述的方法的步骤。
第十八方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的方法的步骤。
本申请实施例提供的隐私保护的图像处理方法、注册方法及身份认证方法、装置、电子设备及计算机可读存储介质,对体现用户隐私的生物特征模板进行不可逆的编码运算,由于存储的是不可逆的编码运算的结果,即便泄露也无法反推回原始生物特征模板,大大降低了隐私泄露风险;同时,编码运算对应的解码运算具有容错性或认证阶段使用的匹配器具有容错性,能够基于与注册时足够相似但不完全相同的生物特征模板进行认证。因此本发明实施例的方法适用于生物识别,能够保护隐私。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的运行环境的示意图;
图2为本申请实施例提供的区块链系统200的结构示意图;
图3为本申请实施例提供的电子设备的方框示意图;
图4为本申请实施例提供的隐私保护的图像处理方法的流程图;
图5为本申请实施例提供的隐私保护的图像处理装置的方框示意图;
图6为本申请实施例提供的身份认证方法的流程图;
图7为本申请实施例提供的身份注册方法的流程图;
图8为本申请实施例提供的另一身份认证方法的流程图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本申请的发明人提供了一种隐私保护的图像处理方法、身份注册方法及身份认证方法,对生物特征模板进行编码运算后得到的数据满足以下几个属性:
不可逆性(Non-invertibility):生物特征数据应在储存之前通过不可逆变换进行处理。任何情况下,都难以仅根据不可逆变换结果逆转、变换得出原始的生物特征。此属性可防止滥用存储的生物识别数据来发起欺骗或重放攻击,提高生物识别系统的安全性。根据不可逆变换结果逆转、变换得出原始的生物特征越困难,生物识别系统的安全性越高。
可撤销性或可更新性(Revocability):此属性满足在生物特征数据库遭到破坏时撤销和重新发布受保护生物特征参考的新实例成为可能。
不可链接性(Non-linkability):此属性满足确定两个或多个受保护生物的参考实例是否源自用户的相同生物特征在计算上是困难的,不可链接性可防止跨不同应用程序的交叉匹配,从而保护用户隐私。
下面通过一些实施例,对本申请的发明构思进行描述。
实施例一
为便于对本实施例进行理解,首先对执行本申请实施例所公开的各个方法的运行环境进行介绍。
本申请实施例提供的注册方法和认证方法可由终端设备或服务器单独实施,也可由终端设备和服务器配合实施,二者配合实施时,服务器和终端设备需要进行交互。如图1所示,是本申请实施例提供的服务器与终端设备进行交互的示意图。该服务器110通过网络与一个或多个第一终端设备120进行通信连接,以进行数据通信或交互。该服务器110可以是网络服务器、数据库服务器等。该第一终端设备120可以是个人电脑(personalcomputer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)、打卡机、支付设备等。
该第一终端设备120可以基于获取的图像,确定出注册信息,并将该注册信息发送给服务器110,以为实现注册。
可选地,该服务器110还可以与一个或多个第二终端设备130进行通信连接,以进行数据通信或交互。
该第二终端设备130可以基于获取的图像,对该图像所包含的对象进行身份认证。
在一些实施例中,身份的注册和身份的认证可以在同一终端设备中实现,此时,该第一终端设备120与第二终端设备130可以是同一终端设备。例如,该第一终端设备120可以是打卡设备、门禁设备、支付设备、个人移动设备等。
在另一些实施例中,身份的注册和身份的认证可以在不同的终端设备中实现,此时,该第一终端设备120与第二终端设备130可以为不同的终端设备。例如,该第一终端设备120可以是个人移动设备,该第二终端设备130可以是地铁内的人脸识别设备。
如图2所示,是本申请实施例提供的区块链系统200的结构示意图。在图2所示的实例中,区块链系统200中的各个区块链节点通过网络进行通信连接,以进行数据通信或交互。
区块链节点可以是网络服务器、数据库服务器(如图2所示的区块链节点210、220、230)等;区块链节点也可以是个人电脑(personal computer,PC)(图示中的250)、平板电脑、智能手机(图示中的区块链节点240)、个人数字助理(personal digital assistant,PDA)等。
可选地,上述的区块链系统200可以是联盟链。可选地,区块链系统200中可以包括第一区块链节点,用于执行该区块链系统200可以执行的数字证书的验证等步骤。区块链系统200中可以包括第二区块链节点,该第二区块链节点,用于发布新的数字证书,或,对已发布的数字证书的状态进行更新。可选地,上述的用于验证的第一区块链节点可以与用于发布或更新数字证书的第二区块链节点可以是同一节点,也可以是不同节点。
本实施例中,上述的区块链系统200中的其它各个区块链节点可以存储区块链的各个区块。
本实施例中,存储在区块链系统200中的各个区块链节点中的区块链的各个区块中记录着区块链中每一份数字证书和与该数字证书相关的动作,以及动作执行之后的数字证书状态。
区块链的区块是一种记录交易的数据结构。每个区块由区块头和区块主体组成,区块主体只负责记录前一段时间内的所有交易信息,区块链的大部分功能都由区块头实现。
如图3所示,是电子设备的方框示意图。电子设备300可以包括存储器311、存储控制器312、处理器313、外设接口314、输入输出单元315、显示单元316。
上述的存储器311、存储控制器312、处理器313、外设接口314、输入输出单元315及显示单元316各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器313用于执行存储器中存储的可执行模块。
其中,存储器311可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器311用于存储程序,所述处理器313在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备300所执行的方法可以应用于处理器313中,或者由处理器313实现。
上述的处理器313可能是一种集成电路芯片,具有信号的处理能力。上述的处理器313可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述的外设接口314将各种输入/输出装置耦合至处理器313以及存储器311。在一些实施例中,外设接口314,处理器313以及存储控制器312可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
上述的输入输出单元315用于提供给用户输入数据。所述输入输出单元315可以是,但不限于,鼠标和键盘等。
上述的显示单元316在电子设备300与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
其中,该电子设备300可以是图1所示的服务器,也可以是图1所示的终端设备,还可以是图2所示的区块链系统200中的区块链节点。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对电子设备300的结构造成限定,图1或图2中的各个服务器、终端设备和区块链节点的结构也可以比图3所示的电子设备300更多或者更少的组件,或者具有与图3所示不同的配置。例如,图1所示的第一终端设备和第二终端设备还可以包括采集设备,用于采集图像或者音频数据。再例如,图1所示的服务器可以不包括图3所示的显示单元。再例如,图2所示的区块链节点还可以包括定位装置,用于对区块链节点进行定位。
本实施例中的电子设备300可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述各个方法的实现过程。
实施例二
请参阅图4,是本申请实施例提供的隐私保护的图像处理方法的流程图。下面将对图4所示的具体流程进行详细阐述。
步骤410,获取待处理图像。
该待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点。
该待处理图像中的第一生物特征区域可以是指纹区域、掌纹区域、指静脉区域、掌静脉区域、人脸区域、虹膜区域等。该第一特征点为该第一生物特征区域中能够表征生物特性的点,例如人脸关键点、指掌纹、指掌静脉细节点。以第一生物特征区域是人脸区域为例,该第一特征点可以是第一生物特征区域中表示鼻尖、眼尾、眉心等部位的关键点。以第一生物特征区域是指纹区域为例,该第一特征点可以是第一生物特征区域中表示纹路的分叉点、端点等部位的细节点。
待处理图像可以通过接触式或非接触式的采集方式得到。示例性地,非接触采集方式可以为通过拍照获得待处理图像。为了使采集的待处理图像包含更多的特征点,以使待处理图像包含足够多可用于编码的信息,还可以将多次采集同一生物特征得到的图像进行融合,以形成待处理图像。
在一种实施方式中,待处理图像是通过非接触式采集方式采集得到的,且第一生物特征区域包含的生物特征可以为指纹、掌纹、指静脉、掌静脉中至少一者。该第一生物特征区域包含的特征点数量大于300。
保护隐私的生物识别系统的安全级别受其FAR(错误接受率)的限制。面部不像指纹/掌纹那样独特,当今最好的面部识别系统也实现了不低于百万分之一的FAR。相比之下,一方面指纹比面部更加独特,估计36个细节的指纹可以高达1.95×1036的区分度。另一方面,因为面部包含的眼睛、鼻子等五官之间的相对位置有一定限制而不是无序的,面部相比于指掌纹、指掌静脉的信息熵更低,包含的信息更少。
实际上,通过非接触采集的方式可以捕捉到的细节信息比传统方法更多,结合多指纹和大面积掌纹,可以一次采集到包含特征点数量大于300的生物特征区域,如此多的特征点使得在无需对齐、融合多张图像的情况下就能通过单张图像收集到具有足够区分度、足够多用于编码的信息,使生物特征识别算法的安全级别得以提高到非常高的标准。
步骤420,根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板。
该第一生物特征模板包括所述多个第一特征点对应的生物特征表示。
示例性的,生物特征模板是对生物特征区域进行特征提取得到的,此处的特征提取为可逆变换。
示例性地,该生物特征模板可以以向量或数据集合等形式呈现。
示例性的,一个生物特征模板中包括与多个特征点一一对应的多个生物特征表示,每个生物特征表示为其对应的特征点的局部信息,使得生物特征模板包括足够高的区分度。
在一种具体实现方式中,生物特征模板包括与多个特征点一一对应的多个生物特征表示,每个特征点对应的生物特征表示包括描述该特征点的信息,例如特征点的位置、角度,与其他特征点的相对位置、相对角度等。
可以理解的是,生物特征模板中包含的信息越多,生物特征模板的区分度越高。生物特征模板需要有足够高的区分度以保证FAR在可接受范围,具体的区分度要求可根据进行生物特征识别的底库规模来确定。可以理解的是,底库规模越大,要求生物特征模板的区分度越高。
步骤430,对第一生物特征模板进行编码运算,得到第一辅助数据。
上述步骤430所使用的编码运算包括不可逆变换。可以理解的是,编码运算包括不可逆变换是指编码运算包含的若干步骤中至少一个步骤为不可逆变换,使得难以仅根据编码运算得到的第一辅助数据通过逆变换来确定生物特征模板。如此,可实现隐私保护。
同时,生物特征天然的模糊性必然要求认证时使用的解码运算(此时,编码运算会使用BCH、RS等方式进行纠错码编码,解码运算会使用相应方式进行纠错码解码)或匹配器具备容错性,如此才能基于与注册时足够相似但不完全相同的生物特征模板进行认证。
满足上述要求的编码运算可通过多种可选的方式实施。
在第一种可选的实施方式中,步骤430可以被实施为:
S100,对第一生物特征模板进行特征转换,得到第一辅助数据;特征转换是根据第一辅助数据对应的密钥确定的。
可理解的是,第一辅助数据对应的密钥并不要求在存在第一辅助数据后获取,如果一个密钥用于生成了第一辅助数据,则称其为第一辅助数据对应的密钥。
示例性地,该第一辅助数据对应的密钥可以是待处理图像对应的待注册用户输入的或根据待注册用户的输入生成的。例如,通过对待注册用户的输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一辅助数据对应的密钥。
在该种可选的实施方式中,注册阶段,Fk(X)=H;认证阶段,Fk’(X’)=H’。其中,F为特征转换函数,k为第一辅助数据对应的密钥,k’为认证阶段获取的密钥,X和X’分别为注册阶段和认证阶段的待认证生物特征模板,H和H’分别为注册阶段和认证阶段的辅助数据。若X和X’足够接近且k’=k,则H和H’足够接近。在该种可选的实施方式中,认证阶段,通过匹配器判断H和H’是否足够接近,匹配器具有容错性。
第一种可选的实施方式的具体例子可为生物哈希(Biohashing)和鲁棒哈希(Robusthashing)。
在第二种可选的实施方式中,步骤430可以被实施为:
S109,根据第一生物特征模板进行量化,得到量化值;
可理解的是,生物特征模板包含的生物特征表示是以较高的分辨率离散的,编码运算前,需将生物特征表示进一步离散化即量化。
根据所述第一生物特征模板进行量化可以理解为将第一特征点对应的生物特征表示量化至格点空间。例如,生物特征表示为特征点的位置、角度<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>后拼接为多位数)。
S110,根据第一辅助数据对应的密钥确定纠错码码字;
第一辅助数据对应的密钥可以是用户输入或系统生成,其中,系统生成包括随机生成或根据用户输入生成。第一辅助数据对应的密钥为k维。例如,通过对用户输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一辅助数据对应的密钥。根据第一辅助数据对应的密钥确定纠错码码字可以是根据第一辅助数据对应的密钥从n维有限域中确定出纠错码码字,纠错码码字为n维(n>k),使得编码算法对应的解码算法具有容错性。可理解的是,n比k大得越多容错能力越强,编码运算所需运算量越大。
根据第一辅助数据对应的密钥确定纠错码码字,包括根据第一辅助数据对应的密钥确定纠错码码字,或根据第一辅助数据对应的密钥和所述量化值确定纠错码码字。
根据k维的第一辅助数据对应的密钥确定n维的纠错码码字的方式有多种,示例性的,可以通过BCH等纠错码编码确定纠错码码字。示例性的,可将k维的密钥与k*n的编码矩阵进行运算转换为n维向量。
根据第一辅助数据对应的密钥和量化值确定纠错码码字的方式有多种,示例性的,可以通过RS纠错编码确定纠错码码字。例如根据第一辅助数据对应的密钥生成(k-1)阶多项式函数(也即生成多项式函数的k个系数),在n个量化值处求函数值得到n维纠错码码字。
S120,对纠错码码字进行第一变换处理,得到第一辅助数据。
对纠错码码字进行第一变换处理,得到第一辅助数据可以包括:对纠错码码字进行与量化值无关的第一变换处理;也可以包括,根据量化值,对纠错码码字进行第一变换处理,得到第一辅助数据,从而实现对纠错码码字的保护。
当纠错码码字根据第一辅助数据对应的密钥确定、未根据量化值确定时,S120的第一变换处理需要与量化值有关,从而在编码运算中实现对纠错码码字即第一辅助数据对应的密钥和量化值即生物特征模板的绑定,进而实现对第一辅助数据对应的密钥和量化值即生物特征模板的保护。当纠错码字根据第一辅助数据对应的密钥和量化值确定时,S120的第一变换处理可以与量化值有关也可以与量化值无关,因为S110已经将第一辅助数据对应的密钥和量化值绑定,无论S120是否与量化值有关,均可实现对第一辅助数据对应的密钥和量化值即生物特征模板的保护。
也就是说,步骤S110和步骤S120中至少一个步骤使用步骤S109得到的量化值,即在将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。
第二种可选的实施方式的具体例子可以为模糊承诺(Fuzzy Commitment),模糊金库(Fuzzy Vault)。
在第三种可选的实施方式中,步骤430可以被实施为:
S129,根据第一生物特征模板进行量化,得到量化值;
对本步骤的说明参见对S109。
S130,确定纠错码码字;
本实施方式中,在确定纠错码码字前并未获取第一辅助数据对应的密钥,纠错码码字不根据第一辅助数据对应的密钥生成。
示例性的,步骤S130包括:随机确定纠错码码字;根据量化值确定纠错码码字;根据量化值和随机量确定纠错码码字中一者。示例性的,当确定纠错码码字时使用了量化值时,可使用RS纠错编码。示例性的,当确定纠错码码字时未使用量化值时,可通过BCH纠错编码、RS纠错编码等方式进行纠错编码。随机确定纠错码码字例如,随机生成k维向量,乘以k*n编码矩阵作为纠错码码字;根据量化值和随机量确定纠错码码字例如,随机生成(k-1)阶多项式函数(也即随机生成多项式函数的k个系数),在n个量化值处求函数值得到n维码字。当随机确定纠错码码字或根据量化值和随机量确定纠错码码字时,可基于同一量化值确定出不同的纠错码码字,从而保证生物特征识别算法的可撤销性。
S140,对纠错码码字进行第二变换处理,得到第一辅助数据。
第二变换处理可与量化值有关或无关。
当纠错码码字随机确定时,第二变换处理需要与量化值有关,从而实现对纠错码码字和量化值即生物特征模板的编码运算,进而实现对量化值即生物特征模板的保护。当纠错码码字根据量化值确定,或根据量化值和随机量确定时,由于S130中已经将量化值和纠错码码字对应,无论第二变换处理与量化值有关或无关,均能实现对量化值即生物特征模板的保护。
也就是说,步骤S130和步骤S140中至少一个步骤使用步骤S129得到的量化值,从而实现对量化值的编码运算。
S150,根据所述量化值生成第一辅助数据对应的密钥;
示例性的,通过强提取器根据量化值生成第一辅助数据对应的密钥,即第一辅助数据对应的密钥是由生物特征区域生成的。
在该种可选的实施方式中,注册阶段,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)。
本发明实施例的方法,对体现用户隐私的生物特征模板进行不可逆的编码运算,一方面,由于存储的是不可逆的编码运算的结果,即便泄露也无法反推回原始生物特征模板,大大降低了隐私泄露风险,使生物识别方法满足不可逆属性;另一方面,在不可逆的编码运算中使用了密钥或随机量,使得对于同一生物特征模板可产生不同的辅助数据,使得生物识别方法满足可撤销的属性。同时,编码运算对应的解码运算或认证阶段使用的匹配器具有容错性,能够基于与注册时足够相似但不完全相同的生物特征模板进行认证。可见,本发明实施例的方法适用于生物识别,能够保护隐私。
在一些实施例中,该第一生物特征区域对应的生物特征表示包括:生物特征数据和精确描述子。步骤420可以包括:
S4201,根据所述第一生物特征区域确定出所述多个第一特征点对应的生物特征数据;
示例性的,生物特征数据与特征点一一对应,描述其所对应特征点的位置、角度、其所对应特征点与其他特征点的相对位置、相对角度等方位信息;
可以理解的是,由于生物特征的天然模糊性,即便不同次采集到的两个图像中的两个特征点对应同一对象的相同生物位置(例如指纹上同一细节点,人脸中同一关键点),这两个特征点对应的生物特征数据可能相似而不完全相同。因此,两次采集到的多个特征点A对应的多个特征数据和多个特征点A’对应的多个特征数据几乎一定是相似但不同的,其中,A对应一个对象的多个生物位置w1、w2..wn,A’对应同一对象的相同生物位置w1、w2..wn。
S4202,根据所述第一生物特征区域,确定出所述多个第一特征点对应的精确描述子。
示例性的,精确描述子与特征点一一对应,用于描述其所对应特征点所在局部区域的纹路纹理特征、方向场、频域向量、色彩等信息。
精确描述子是指,同一对象的相同生物位置(例如指纹上同一细节点,人脸中同一关键点)在两次采集得到的图像上对应的两个特征点(例如,指纹上同一细节点在第一待处理图像中对应的特征点为A1,第二待处理图像中对应的特征点A2)所对应的精确描述子大概率(例如90%以上的概率)相同(A1和A2对应的精确描述子相同)。
对于基于匹配器的容错性的生物特征识别算法中,使用描述子较不使用描述子增加了用于编码的信息,使得生物特征识别方法的安全性进一步提升。使用精确描述子较使用模糊描述子,可降低生物特征数据和描述子的双重模糊性造成的认证失败的可能性,从而增加生物特征识别方法的稳定性。
对于基于解码运算的容错性的生物特征识别算法中,整个方法的安全性主要取决于用于生成生物特征模板的特征点的数量和整个用于量化特征点的格点空间的大小。对于描述子和特征点一一对应的情况,对于每个特征点,除生物特征数据外还额外的获取精确描述子。如果格点空间因为描述子而相应增大,则攻击者从格点空间中猜对真实特征点的难度进一步增加,生物特征识别方法的安全性进一步提升。例如,生物特征表示为<i,j,θ,d>,取值范围分别为1-32,1-16,1-8,1-10,格点空间可增大为32*16*8*10。如果用于格点空间未因为描述子而增大,相当于将特征点映射到格点空间时,生物特征数据的贡献比重减少,描述子的贡献比重增加,由于生物特征数据是模糊的,描述子是精确的,相当于将特征点映射到格点空间时,模糊的信息所占比重减少,精确的信息所占比重增加,如此可降低因为生物特征本身的模糊性造成认证失败的可能性,从而增加生物特征识别方法的稳定性。此外,相比于模糊描述子,当使用精确描述子时,认证阶段只需对生物特征数据带来的模糊进行纠错,而无需进一步对描述子带来的模糊进行纠错,相比于模糊的描述子,使用精确的描述子可将两层纠错减少为一层纠错,从而提高解码速度。
由于生物特征的天然模糊性,如果用常规的方式提取特征点对应的描述子,只能得到模糊的描述子而无法得到精确描述子。本发明实施例采用如下方式确定精确描述子:
精确描述子确定方式1:将所述待处理图像和/或所述待处理图像的描述信息输入描述子提取模型进行处理,得到所述多个第一特征点对应的精确描述子。
描述子提取模型的输入可以为待处理图像,也可以为待处理图像和待处理图像的描述信息二者。
待处理图像的描述信息可以通过图像处理的方法或算法模型提取,可以以向量、矩阵、图等形式呈现。例如,描述信息是表征待处理图像中各区域的纹线频率的向量。
在使用描述子提取模型对待处理图像的描述子进行提取之前,需要对描述子提取模型进行训练。
若描述子提取模型的输入包括待处理图像,则描述子提取模型的训练样本可以为多对已知其匹配情况的样本图像。
示例性的,已知其匹配情况是指,已知样本图像P1和样本图像P2是否匹配,如果匹配,是哪些特征点匹配。例如,P1和P2两个样本图像匹配,P1、P2中分别包括6个细节点P10-P15、P20-P25,对应的精确描述子分别为d10-d15,d20-d25。已知P1、P2中以下细节点是匹配的:P11-P23、P13-P25、P12-P20、P10-P22、P14-P21。获知各细节点之间的匹配情况后,可根据每个细节点对应的描述子之差的预测值(见表2)和每个细节点对的描述子之差的真值GT(对于匹配的细节点对,该细节点对内两个细节点的描述子之差的GT为0,对于不匹配的细节点对,该细节点对内两个细节点的描述子之差为无穷大,见表1,空白处表示无穷大)计算这6*6=36个细节点对的描述子之差的损失值,根据描述子之差的损失值更新描述子提取模型的网络参数,其中,损失值需要被设计为使P1和P2中匹配的细节点的精确描述子尽量一致,不匹配的细节点的精确描述子差距尽量大。
表1细节点对的描述子之差的GT
表2细节点对的描述子之差的预测值
若描述子提取模型的输入包括待处理图像和待处理图像的描述信息,则描述子提取模型的训练样本可以为多对已知其匹配情况的样本图像及各自的描述信息。具体的训练方法如上文所述,在此不再赘述。
本实施方式中,将待处理图像和待处理图像的描述信息作为描述子提取模型的输入,即可一次性的得到描述待处理图像中各特征点对应的用于描述各特征点所在子区域特征信息的描述子。
精确描述子确定方式2:根据所述多个第一特征点的位置数据,确定出多个第一特征点所在邻域的局部图像,将所述多个第一特征点的所述局部图像和/或所述局部图像的描述信息输入描述子提取模型,得到所述多个第一特征点对应的精确描述子。
同样的,在使用描述子提取模型对待处理图像的描述子进行提取之前,需要对描述子提取模型进行训练。
局部图像的描述信息的提取以及模型训练方式与精确描述子确定方式1类似,不再赘述。可以理解的是,模型训练的目的同样是使匹配的细节点的精确描述子尽量一致,不匹配的细节点的精确描述子差距尽量大。
本实施方式中,将特征点对应的局部数据作为描述子提取模型的输入,模型可以比较小,运算量少,运算速度快且结果准确性更高,但需要进行从待处理图像中截取局部图像等预处理,且多次运行模型才能获取各特征点对应的描述子。
精确描述子确定方式3:对于所述多个第一特征点中的每个第一特征点,确定出该第一特征点的模糊描述子,将该第一特征点的模糊描述子聚类至与其距离最近的类别中心描述子,将所述距离最近的类别中心描述子作为该第一特征点对应的精确描述子;其中,所述类别中心描述子是对多个模糊描述子进行聚类得到的。
示例性的,第一特征点的模糊描述子是根据该第一特征点所在邻域的局部图像确定的。
该实施方式中,通过三个步骤确定精确描述子。首先,对大量(例如100w)特征点进行描述子提取,得到与特征点一一对应的模糊描述子;其次,对多个模糊描述子进行聚类,得到多个类别中心描述子;再次,对于多个第一特征点中的每个第一特征点,确定出该第一特征点的模糊描述子,将该第一特征点的模糊描述子聚类至与其距离最近的类别中心描述子,将所述距离最近的类别中心描述子作为该第一特征点对应的精确描述子。如此,可将模糊描述子转化为精确描述子。
通过以上几种方式确定精确描述子,使同一对象的相同生物位置在两次采集得到的图像上对应的两个特征点所对应的精确描述子大概率(例如90%以上的概率)相同,使得需要对描述子进行纠错的概率大大降低,从而提高解码速度。
本实施方式中,生物特征表示包含生物特征数据和精确描述子,在步骤S430不同子步骤中使用精确描述子。在生物特征模板/根据生物特征模板得到量化值/特征转换步骤中使用精确描述子时,可提升生物特征识别方法的安全性和/或稳定性,在第一变换处理、第二变换处理中使用精确描述子时,相比于使用模糊的描述子,可提升生物识别方法的运算速度。可以理解的是,仅在生物特征模板和/或根据生物特征模板得到量化值中使用精确描述子时,步骤S430中的特征转换/第一变换处理/第二变换处理可以与精确描述子无关;仅在步骤S430中的特征转换/第一变换处理/第二变换处理中使用精确描述子时,根据第一生物特征模板进行特征转换可以为仅对第一生物特征模板中的特征数据进行特征转换,根据第一生物特征模板进行量化可以为仅根据第一生物特征模板中的生物特征数据进行量化。
步骤S430通过第一种到第三种可选的实施方式实施时,可以分别在S100、S109和S120、S129和S150中使用精确描述子。
具体的,步骤S430通过第一种可选的实施方式实施时,在S100使用精确描述子有3种方式:
方式1:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;
方式2:对所述第一生物特征模板中的生物特征数据进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥和所述精确描述子确定的;
方式3:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥和所述精确描述子确定的。
在这3种方式中,使用描述子较不使用描述子增加了用于编码的信息,使得生物特征识别方法的安全性进一步提升。使用精确描述子较使用模糊描述子,可降低生物特征数据和描述子的双重模糊性造成的认证失败的可能性,从而增加生物特征识别方法的稳定性。
步骤S430通过第二种可选的实施方式实施时,可在S109和S120中使用精确描述子。
在S109中使用精确描述子时,可在步骤S1091和/或步骤S1092中使用精确的描述子。
步骤S1091,根据所述第一生物特征模板进行量化,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行量化;
可理解的是,即便生物特征表示中包含精确描述子,S1091的量化过程也可仅使用生物特征数据而不使用描述子。当S1091中使用精确描述子时,又包括格点空间增大和不增大两种情况。
如前所述,将生物特征数据和精确描述子量化至格点空间时,如果相比于不使用描述子时格点空间增大,可提升生物识别方法的安全性,如果相比于不使用描述子时格点空间不增大,可提升生物识别方法的稳定性。
步骤S1092,所述得到量化值,包括:对步骤S1091的量化结果进行第三变换处理,得到量化值,所述第三变换处理是根据所述精确描述子确定的;所述第三变换处理为可逆或不可逆变换;
在本实施方式中,若想猜对真实点,不仅要猜中T(当T仅根据生物特征数据确定时,猜中T意味着猜中生物特征数据即可),还要额外的猜中d,如此,可进一步提高生物特征识别方法的安全性。
认证阶段,可对认证阶段采集的待认证生物特征模板用同样方式进行量化得到待认证量化值,根据待认证量化值进行解码运算即可进行认证,无需还原出第三变换处理前的量化结果,因此第三变换处理为可逆或不可逆变换。
也就是说,在S109中使用额外的精确描述子信息,能够进一步提升生物特征识别算法的安全性和/或稳定性。如果仅在S1091中使用精确描述子且格点空间不增大,则提升稳定性;如果仅在S1091中使用精确描述子且格点空间增大,则提升安全性;如果仅在S1092中使用精确描述子,则提升安全性;如果在S1092和S1091中使用精确描述子且格点空间不增大,则提升稳定性和安全性;如果在S1092和S1091中使用精确描述子且格点空间增大,则提升安全性。
当在S120的第一变换处理中使用精确描述子时,相对于使用模糊的描述子,将显著提高认证时的运算速度。
在第二种可选的实施方式的第一个实施方式2.1中,步骤S110和S120可以被实施为:
S1101,根据第一辅助数据对应的密钥,确定出第一代数曲线的参数;
在一个具体的实施方式中,第一辅助数据对应的密钥为k维,第一代数曲线为k阶多项式f,根据第一辅助数据对应的密钥,确定出k阶多项式的系数。
S1103,将量化值中的第一量化值在第一代数曲线上进行映射,得到所述第一量化值对应的第一映射值,纠错码码字包括多个映射值。
示例性的,第一量化值为量化值中的一个量化值。将第一量化值在第一代数曲线上进行映射,得到第一映射值,由此得到各量化值一一对应的各映射值,纠错码码字包括各映射值。可将以第一量化值为第一坐标分量,第一映射值为第二坐标分量的点称为第一点;各量化值、各映射值为第一、第二坐标分量的点集称为第一点集。
在一个具体的实施方式中,量化值X包括与特征点一一对应的多个量化值x1,x2…xn。对于每个量化值,生成其对应的映射值y1=f(x1),y2=f(x2),…yn=f(xn)。纠错码码字包括y1,y2,…yn。第一点集为{(x1,y1),(x2,y2),…(xn,yn)}。第一点为第一点集中的一个点。
S1201,生成杂凑点集;
在一个具体的实施方式中,杂凑点集中的杂凑点可以是随机生成的,且杂凑点的第一坐标分量不等于任一量化值。
S1203,根据第一辅助点集和所述杂凑点集,确定第一辅助数据;其中,第一辅助点集中的第一辅助点与第一代数曲线上的第一点具有第一函数关系,所述第一点以所述第一量化值为第一坐标分量,以所述第一映射值为第二坐标分量;第一辅助点的第一坐标分量是根据所述第一量化值确定的。
在步骤S1103中已经得到第一点集,可将第一点集直接作为第一辅助点集,此时第一函数关系为恒等映射;或者,对第一点集进行变换处理得到第一辅助点集,此时第一函数关系由变换处理决定。
在一个具体的实施方式中,将第一辅助点集和杂凑点集的并集作为第一辅助数据。
在认证阶段,需要还原出第一点集中足够多的点,从而确定出第一代数曲线的参数,进而确定第一辅助数据对应的密钥。
对应对第一点集进行变换处理得到第一辅助点集的情况,S120还可以包括:S1202,对第一点进行第四变换处理,得到第一辅助点集中的第一辅助点;所述第四变换处理是根据所述精确描述子确定的,所述第四变换处理为可逆变换。
可理解的是,确定了第一点集中每个点对应的辅助点,也就得到了辅助点构成的第一辅助点集。
例如,第一点集为{(x1,y1),(x2,y2),…(xn,yn)},第一辅助点集为{(x1’,y1’),(x2’,y2’),…(xn’,yn’)},(xi’,yi’)=Φd(xi,yi)=(Φd x(xi),Φd y(xi,yi)),其中i=1-n。其中,Φd表示根据精确描述子确定的第四变换处理,Φd x表示第四变换处理中用于得到第一辅助点的第一坐标分量的第一变换分量,Φd y表示第四变换处理中用于得到第一辅助点的第二坐标分量的第二变换分量。可以理解的是,Φd可以只有第二变换分量而没有第一变换分量,即xi’=xi。
需要说明的是,第四变换处理需要满足(x,y)∣→(Φd x(x),Φd y(x,y)),其中,Φd x(x)表示第一变换分量与第一点的第二坐标分量无关,可以与第一点的第一坐标分量有关;Φd y(x,y)表示第二变换分量可以既与第一点的第一坐标分量有关、又与第一点的第二坐标分量有关(也可与第一点的第一坐标分量无关)。
第四变换处理需满足上述条件,以确保在认证阶段,能够根据待认证生物特征模板对应的量化值从辅助数据中确定出第一辅助点集中的点,第四变换处理需要可逆,以确保能够根据辅助数据中的第一辅助点还原出其对应的第一点集中的点。
例如,根据同一生物特征模板两次用实施方式2.1分别生成第一、第二辅助数据时,根据第一辅助数据对应的密钥确定出的第一代数曲线为f,根据第二辅助数据对应的密钥确定出的第二代数曲线为g,第四变换处理为利用精确描述子d和纠错码码字f(x)/g(x)进行异或运算,则第一辅助数据(其中i=1-n,为真实的细节点,x’为杂凑点,ε为随机噪声),第二辅助数据(其中i=1-n,为真实的细节点,x’为杂凑点,δ为随机噪声),由于描述子d是模糊的,为了对d进行纠错,需要对纠错码码字f(x)g(x)进行再一轮的纠错码编码,这时有 如果攻击者拿到H1和H2,并将则有{xi,Enc(f(xi)+g(xi))}∪{x’,Enc(f(x’)+g(x’))+ε+δ}。如此,真实的细节点的第二坐标分量对应Enc这个纠错码的纠错码码字,杂凑点的第二坐标分量由于噪声的随机性不一定不对应纠错码码字,如此攻击者可根据辅助数据筛选出大部分真实的细节点,导致生物特征识别算法不安全。当使用精确描述子时,无需对f(xi),g(xi)进行纠错码编码,也就可以克服该问题。
在第二种可选的实施方式的第二个实施方式2.2中,步骤S110和S120并无清晰界限,步骤S110和S120可以被实施为:
S1105:根据所述第一辅助数据对应的密钥,确定出第一代数曲线的参数。参见步骤S1101。
S1107:根据所述量化值和所述第一代数曲线,确定第一映射关系的参数;
其中,第一集合和第二集合之间具有第一映射关系。
需要说明的是,第一集合和第二集合是为了描述第一映射关系而引出,并不必须生成或存储第一集合和第二集合。
第一集合的第一子集是量化值确定的;以第一子集中的第一值为第一坐标分量、第二集合中与第一值满足第一映射关系的值为第二坐标分量的子集点与第一代数曲线上的第二点具有第二函数关系;第二点的第一坐标分量为与所述第一值对应的量化值。全部或大部分以所述第一集合中所述第一子集的补集中的值为第一坐标分量、第二集合中与该值满足所述第一映射关系的值为第二坐标分量的补集点与所述第一代数曲线上的点不具有所述第二函数关系。
可以理解的是,第一值为第一子集中任一值。
也就是说,第一映射关系需要使子集点和补集点的第一坐标分量、第二坐标分量均满足第一映射关系,并且,子集点与第二代数曲线上的第二点具有第二函数关系,而全部或大部分补集点与第二代数曲线上的点不具有第二函数关系。·
示例性的,第一映射关系可以表示为如式1.1,
其中,第一集合中元素为X,第二集合与X对应的元素为V(X),第一代数曲线为f(X),A为量化值对应的集合x1,x2,…xn,i为1-n。对于子集点,式1.1中第二项为0,第二函数关系为恒等映射。
本实施方式中,第一映射关系为n阶多项式,将V(X)展开,得到n阶多项式中X各次方项的系数。
S1109:根据所述第一映射关系的参数,确定所述第一辅助数据。
示例性的,将第一映射关系的参数作为第一辅助数据。例如,将多项式系数作为第一辅助数据。
在本实施方式中,子集点即真实点和补集点即杂凑点的第一坐标分量、第二坐标分量符合相同的第一映射关系,只需存储第一映射关系的参数,无需存储真实点和杂凑点坐标,大大节省了存储空间。
一个具体的实施方式中,步骤S1107,包括:根据量化值、精确描述子和第一代数曲线,确定第一映射关系的参数。
使用精确描述子时,第一映射关系可根据精确描述子确定。
示例性的,第一映射关系可以表示为如式1.3或式1.5的形式:
其中,第一集合中元素为X,第二集合与X对应的元素为V(X),第一代数曲线为f(X),A为量化值对应的集合x1,x2,…xn,i为1-n,Φd为与精确描述子有关的变换处理。第二函数关系根据Φd确定。
可以理解的是,Φd需要满足第四变换处理同样的条件,以确保在认证阶段,能够根据待认证生物特征模板对应的量化值从辅助数据中筛选出子集点。同时,Φd需要可逆,以确保能够根据辅助数据还原出第二点。可以理解的是,式1.3和式1.5中,Φd只包含第二变换分量。
在第二种可选的实施方式的第二个实施方式2.3中,步骤S110和S120可以被实施为:
S1111,根据所述第一辅助数据对应的密钥,确定所述纠错码码字;
在一个具体的实施方式中,第一辅助数据对应的密钥为k维,码本中包含多个n维的纠错码码字,可根据第一辅助数据对应的密钥,从码本的纠错码码字中确定出第一辅助数据对应的密钥所对应的纠错码码字。
示例性的,通过补零将第一辅助数据对应的密钥扩展为n维向量,在码本的纠错码码字中确定出与该n维向量最接近的纠错码码字作为第一辅助数据对应的密钥所对应的纠错码码字。示例性的,将k维的第一辅助数据对应的密钥与k*n的编码矩阵进行运算转换为n维向量作为纠错码码字。
S1205,根据量化值对应的生物向量确定置换运算;将置换运算作用在纠错码码字上,得到第一辅助数据。
本步骤中,通过置换运算在编码运算中实现对纠错码码字和量化值的绑定,即实现第一辅助数据对应的密钥和生物特征模板的绑定。
可理解的是,量化值本身即可是向量的形式,可以认为量化值本身即为生物向量。量化值本身非向量形式时,可将量化值转化为其对应的生物向量。
例如,量化值包括64个指纹细节点对应的64个量化值,每个量化值对应的生物特征数据可用细节点位置、角度i,j,θ表示,其中i,j,θ分别占用5、4、3bit,另外6bit表示该量化值对应的细节点,则每个量化值对应12bit的向量,64个量化值总体对应的生物向量为18bit。
示例性的,步骤S1205可表示为H=KX(c)。其中KX为根据X确定的置换运算。置换运算可包括相对于生物向量X的平移、旋转等,置换运算可以是与生物向量X的矩阵运算。例如根据量化值对应的生物向量确定出的置换运算为即与生物向量进行异或运算,本质上表征c相对于X的平移量。可理解的是,对于某些置换运算,要求生物向量X和纠错码码字c的长度相同。
示例性的,可直接将置换运算结果作为第一辅助数据即H=KX(c),也可将置换运算结果进行后续变换处理后作为第一辅助数据。
在对置换运算结果进行后续变换处理得到第一辅助数据的一个具体的实施方式中,将所述置换运算作用在所述纠错码码字上,得到第一辅助数据,包括:
S1205a,将所述置换运算作用在所述纠错码码字上,得到置换运算结果;
S1205b,对所述置换运算结果进行第五变换处理,得到第一辅助数据;所述第五变换处理是根据精确描述子确定的;所述第五变换处理为可逆变换,以确保得以根据第一辅助数据还原出置换运算结果,进而还原出第一辅助数据对应的密钥。
示例性的,第五变换处理的变量可以为置换运算结果KX(c)(此时有H=Φd(KX(c))),也可以为置换运算结果KX(c)和生物向量X(此时有H=Φd(X,KX(c)))。
步骤S430通过第三种可选的实施方式实施时,可在S129和S140中使用精确描述子。
在S129中使用精确描述子的方式和效果参见S109的说明,不再赘述。
在第三种可选的实施方式的实施方式3.1中,步骤S130-S150可以被实施为:
S1301,随机确定纠错码码字;
S1401,根据所述量化值对应的生物向量确定置换运算;将所述置换运算作用在所述纠错码码字上,得到第一辅助数据;
本实施方式类似于实施方式2.3,只是纠错码码字是随机确定而不是根据第一辅助数据对应的密钥确定。
S150,根据所述量化值生成第一辅助数据对应的密钥。
示例性的,根据量化值和一随机量生成k维的密钥,使得根据同一生物特征模板可生成不同密钥。
示例性的,在第一辅助数据中包含该随机量。
在第三种可选的实施方式的实施方式3.2中,步骤S 130-S150可以被实施为:
S1303,确定与所述量化值对应的生物向量距离最近的码字为纠错码码字;
S1403,根据所述生物向量与所述纠错码码字的差异,得到第一辅助数据。
示例性的,生物向量为X,纠错码码字为C,H=X-C。
S150,根据所述量化值生成第一辅助数据对应的密钥。
示例性的,根据量化值和一随机量生成k维的密钥,使得根据同一生物特征模板可生成不同密钥。
示例性的,在第一辅助数据中包含该随机量。
可理解的是,在步骤S1401和1403中,可直接将置换运算结果或计算差异后的结果作为第一辅助数据的一部分,也将在其基础上进行后续变换处理后的结果作为第一辅助数据的一部分。可理解的是,第一辅助数据中还可以包括根据量化值生成第一辅助数据对应的密钥时所用的随机量。
示例性的,步骤S1401和S1403中的得到第一辅助数据包括:通过第六变换处理,得到第一辅助数据;第六变换处理是根据所述精确描述子确定的,所述第六变换处理是可逆的。第六变换处理的描述见第五变换处理。
可以理解的是,若第四变换处理、实施方式2.2中的Φd、第五变换处理或第六变换处理是与描述子有关且描述子是模糊的,在认证阶段,首先要对描述子的模糊进行纠错,还要对量化值的模糊进行纠错,而使用精确的描述子可将两层纠错减少为一层纠错,从而提高解码速度。
一个具体实施方式中,第一辅助数据对应的密钥的获取、使用(例如步骤S430,或S430中涉及量化值和第一辅助数据对应的密钥的部分)和/或传输过程(例如由终端发送至服务器)都在终端设备TEE(Trusted Execution Environment,可信执行环境)中被执行。
如此,可保证密钥不出TEE、不被泄露,进一步保证了生物识别系统的安全性。
由于待处理图像包括生物特征区域,也涉及用户隐私,当然希望从待处理图像的采集到预处理、获得生物特征模板、由生物特征模板得到辅助数据的过程都在TEE中进行,然而TEE无论算力还是存储空间都是有限的,各个步骤均在TEE执行中难以实现,此时可以将各步骤以一定优先级在TEE中执行。在一个具体实施方式中,步骤S420按照以下两种方式进行划分为不同子步骤,并且各个子步骤以一定优先级在TEE执行:
划分方式1,步骤S420包括:根据所述第一生物特征区域确定第一中间结果,根据所述第一中间结果确定第一生物特征模板;
其中,所述根据所述第一生物特征区域确定第一中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第一中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行。
此种方式将步骤S420划分为两段,当TEE资源充足时,两段可均在TEE执行,否则两段以一定优先级在TEE中执行。
划分方式2,根据所述第一生物特征区域确定第二中间结果;根据所述第二中间结果确定第三中间结果;根据所述第三中间结果确定第一生物特征模板;
其中,所述根据所述第一生物特征区域确定第二中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第三中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;所述根据所述第二中间结果确定第三中间结果以第三优先级在所述可信执行环境中被执行。
此种方式将步骤S420划分三段,当TEE资源充足时,三段可均在TEE执行,否则三段以一定优先级在TEE中执行。
其中,所述第三优先级低于所述第一优先级,所述第三优先级低于所述第二优先级。上述第一优先级、第二优先级孰高孰低并不做限制,“第一”、“第二”并不代表优先级高低。
可以理解的是,不在TEE中执行的步骤在REE中执行。一方面,根据第一生物特征区域进行浅层变换得到中间结果的过程与第一生物特征区域相关性较强,涉及用户隐私,应该以高优先级(第一优先级)放入TEE;另一方面,在步骤S430已经在TEE中执行的前提下,将步骤S420中与步骤S430紧密连接的部分放在TEE中执行并不增加TEE与REE之间的通信成本,可以考虑以高优先级(第二优先级)放入TEE。基于上述两方面考虑,在划分方式2中,根据所述第二中间结果确定第三中间结果的步骤既不属于第一生物特征区域相关性较强的步骤,也不属于与步骤S103紧密连接的步骤,可以最低优先级在TEE中执行。而第一优先级和第二优先级哪个更高,可根据更希望对与第一生物特征区域相关性较强的数据做更强的保护,还是更希望降低TEE、REE之间的通信成本来选择。
实施例三
基于同一申请构思,本申请实施例中还提供了与隐私保护的图像处理方法对应的隐私保护的图像处理装置,由于本申请实施例中的装置解决问题的原理与前述的隐私保护的图像处理方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
本实施例中的隐私保护的图像处理装置中的各个模块用于执行上述方法实施例中的各个步骤。如图5所示,本实施例中的隐私保护的图像处理装置可以包括:第一获取模块510、第一确定模块520、编码模块530;其中,
第一获取模块510,用于获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
第一确定模块520,用于根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的多个生物特征数据;
编码模块530,用于根据所述第一生物特征模板进行编码运算,得到第一辅助数据;其中,所述编码运算包括不可逆变换。
实施例四
本申请实施例提供的身份注册方法,本实施例中的身份注册方法应用于终端设备,下面结合身份注册方法的步骤,对本实施例的具体流程进行详细阐述。
步骤610,通过隐私保护的图像处理方法确定待注册对象的注册信息中的第一辅助数据。
本实施例中提及的隐私保护的图像处理方法可以是实施例二提供的隐私保护的图像处理方法,因此,关于本实施例中的第一辅助数据的得到方式可以参阅实施例二中的描述,在此不再赘述。
本实施例中的身份注册方法可以应用于终端设备。
本实施例的注册方法还可以包括将所述注册信息存储至数据库中。示例性地,该数据库可以是终端设备的数据库,也可以是与该终端设备通信连接的服务器的数据库。
当注册信息中的第一辅助数据是根据步骤S430中的第一种实施方式确定时,注册信息中可以仅包括第一辅助数据,通过比较认证阶段生成的待认证辅助数据和第一辅助数据,确定认证结果。当注册信息中的第一辅助数据是根据步骤S430中的第二种或第三种实施方式确定时,在认证阶段可根据纠错码解码结果确定待认证密钥,通过比较待认证密钥和第一辅助数据对应的密钥对待认证密钥进行校验,确定认证结果。当注册信息中的第一辅助数据是根据步骤S430中的第二种或第三种实施方式确定时,为了进一步提高系统安全性能,可使用生物特征与其他因子结合进行多因子认证。一种可能的多因子认证方式为,在注册阶段,将第一辅助数据对应的密钥与其他因子进行变换处理得到第一多因子密钥,在认证阶段,解码出辅助数据对应的待认证密钥,再次获取其他因子,对待认证密钥和认证阶段获取的其他因子进行与注册阶段同样的变换处理,得到待认证多因子密钥,通过比较待认证密钥和第一多因子密钥对待认证多因子密钥进行校验,确定认证结果。可以理解的是,使用多因子认证时,除了对待认证多因子密钥进行校验,还可对待认证密钥进行校验。
当注册信息中的第一辅助数据是根据步骤S430中的第二种或第三种实施方式确定时,由于在认证阶段需要对待认证密钥和/或待认证多因子密钥进行校验,注册信息中还需包括对待认证密钥和/或待认证多因子密钥进行校验所需的信息。
在一种具体实施方式中,对密钥进行校验可以包括根据密钥的哈希值进行校验,此时,上述的注册信息还可以包括:根据第一辅助数据对应的密钥生成的第一哈希值和/或根据第一多因子密钥生成的第二哈希值,第一哈希值、第二哈希值分别用于在认证阶段对待认证密钥和待认证多因子密钥进行校验。可以理解的是,第一哈希值、第二哈希值可根据密钥确定,可根据密钥和默认的哈希参数确定,也可根据密钥和设置(非默认的)的哈希参数确定,其中哈希参数包括盐值和/或哈希运算的轮数。使用设置的哈希参数进行哈希运算时,针对不同待注册用户可以使用不同哈希参数,或针对同一用户不同应用场景也可以使用不同的哈希参数,使得生物识别系统更大程度的满足可撤销性。可以理解的是,使用设置的哈希参数进行哈希运算时,注册信息中还需要额外包括哈希参数,以在认证阶段根据同样的哈希参数对解码获得的待认证密钥或由待认证密钥确定出的待认证多因子密钥进行哈希运算。
基于上述描述,注册信息中所包含的内容可以包括但不限于表3中列出的几种情形:
表3
若注册信息还包括第一哈希值,相应的,本实施例中的身份注册方法还可以包括:
步骤611,根据所述第一辅助数据对应的密钥进行哈希运算,确定所述注册信息中的第一哈希值。其中,根据所述第一辅助数据对应的密钥进行哈希运算还可以是根据所述第一辅助数据对应的密钥和第一哈希参数进行哈希运算。
若注册信息还包括第二哈希值,相应的,本实施例中的身份注册方法还可以包括:
步骤S612,根据所述第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥;
步骤S613,根据所述第一多因子密钥进行哈希运算,确定所述注册信息中的第二哈希值。其中,根据第一多因子密钥进行哈希运算还可以是根据第一多因子密钥和第二哈希参数进行哈希运算。
如前述内容可知,本实施方式对应多因子认证的场景,其他因子可以为其他生物特征或用户口令等,优选的,其他因子为精确的而非模糊的,本申请实施例以其他因子为用户口令为例,直接将用户口令作为第一变换密钥或根据接收的用户口令生成第一变换密钥。根据用户口令生成第一变换密钥例如是对用户口令进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第一变换密钥。
示例性的,第一辅助数据对应的密钥和第一变换密钥可通过第九变换处理结合,第九变换处理可以为任何可逆或不可逆变换。例如,第九变换处理为用第一辅助数据对应的密钥对第一变换密钥进行对称加密,用第一变换密钥对第一辅助数据对应的密钥进行对称加密。相比于将多个独立因子分别进行认证,将多个因子结合使得在认证阶段可以只对结合结果进行一次校验即确定是否多个独立因子均正确。
示例性的,根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,得到第一多因子密钥可以包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行变换处理,在变换处理结果中加入校验信息,得到第一多因子密钥。例如,根据变换结果确定冗余位,第一多因子密钥包括变换结果和冗余位。
可以理解的是,注册信息还可以同时包括第一哈希值和第二哈希值,以对待认证密钥和待认证多因子密钥二者进行校验,此时,身份注册方法包括步骤S611、步骤612和步骤613。
在一可选的实施方式中,在通过哈希值对密钥进行校验之前,可对密钥进行初步校验,初步校验通过的密钥再进行后续校验。示例性的,可通过待认证密钥、待认证多因子密钥中本身包含的校验信息进行初步校验,例如,利用密钥中包含的冗余位进行初步校验。还可借助额外的校验值对待认证密钥、待认证多因子密钥进行初步校验。可以理解的是,初步校验相比于后续校验消耗算力更少和/或需要的网络通信更少,通过初步校验缩小需要进行后续校验的密钥的范围能够提高认证效率。
借助额外的校验值对待认证密钥和/或待认证多因子密钥进行初步校验时,注册信息还可以包括第一辅助数据对应的密钥所对应的第一校验值和/或第一多因子密钥对应的第二校验值。相应的,本申请实施例提供的身份注册方法还可以包括:根据所述第一辅助数据对应的密钥生成第一校验值和/或根据第一多因子密钥生成第二校验值。
示例性的,若注册信息中包括第一校验值和/或第二校验值,第一校验值和/或第二校验值需要与其对应的第一辅助数据关联存储。
示例性的,校验值可以是密钥中部分或全部位对应的数值进行运算后的结果,也可以是密钥中部分位对应的数值。
示例性的,待认证密钥、待认证多因子密钥中本身包含的校验信息可以理解为将校验值作为冗余信息隐藏在密钥中。
实施例五
基于同一申请构思,本申请实施例中还提供了与身份注册方法对应的身份注册装置,由于本申请实施例中的装置解决问题的原理与前述的身份注册方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
本实施例中的身份注册装置中的各个模块用于执行上述方法实施例中的各个步骤。身份注册装置包括:第二确定模块。
第二确定模块,用于通过上述实施例提供的隐私保护的图像处理方法确定待注册对象的注册信息中的第一辅助数据。
实施例六
请参阅图6,是本申请实施例提供的身份认证方法的流程图。本实施例的方法可由终端设备执行。执行身份认证方法的设备可与执行注册方法的设备相同或不同。下面将对图6所示的具体流程进行详细阐述。
步骤710,获取待认证对象的待认证图像。
待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点。
本实施例中,该待认证图像可以采用上述实施例涉及的待处理图像的获取方式获取。
步骤720,根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板。
需要说明的是,可对待认证生物特征模板做广义理解,待认证生物特征模板可以包括多个第二特征点对应的生物特征表示,也可以包括用于确定多个第二特征点对应的生物特征表示的中间结果。
可以理解的是,如果解码运算是在终端完成,待认证生物特征模板可以包括多个第二特征点对应的生物特征表示。例如,注册时,通过特征提取步骤a-e,根据第一生物特征区域,确定第一生物特征模板。认证时,通过步骤a-e确定待认证生物特征模板。如果解码运算在服务器完成,则终端提取的待认证生物特征模板可以包括多个第二特征点对应的生物特征表示,也可以包括用于确定多个第二特征点对应的生物特征表示的中间结果,此时服务器完成根据中间结果确定多个第二特征点对应的生物特征表示和后续步骤。例如,注册时,通过特征提取步骤a-e,根据第一生物特征区域,确定第一生物特征模板。认证时,终端设备可以通过步骤a-b确定待认证生物特征模板、由服务器完成步骤c-e,或者终端设备通过步骤a-e确定待认证生物特征模板。
也就是说,终端设备可以通过与根据第一生物特征区域确定第一生物特征模板相同的特征提取步骤的至少前半部分,根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板。
步骤730,获取所述待认证对象的身份认证结果。
身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的。
可以理解的是,由待认证生物特征模板和底库辅助数据确定出待认证对象的身份认证结果的步骤可以在终端或服务器执行,也可以由终端和服务器配合执行,在此不做限制。其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据包括在注册信息中,所述注册信息是通过上述身份注册方法实施例确定的。
在一种实现方式中,上述的身份认证结果可以是在服务器中确定,获取所述待认证对象的身份认证结果,包括:接收服务器发送的所述待认证对象的身份认证结果。身份认证结果可包括认证成功或失败,认证成功的用户标识,校验通过的待认证密钥,校验通过的待认证多因子密钥,匹配哈希值中的一种或多种。
示例性的,在该实现方式中,可以通过终端和服务器之间预先建立的安全通道发送待认证生物特征模板或待认证量化值,以供服务器根据待认证生物特征模板和所述底库辅助数据确定出待认证对象的身份认证结果,或根据待认证量化值和所述底库辅助数据确定出待认证对象的身份认证结果。
可理解的是,在步骤S430通过第一种具体实施方式实施时,通过安全通道发送所述待认证生物特征模板,以供服务器根据所述待认证生物特征模板以及所述底库辅助数据确定出所述待认证对象的身份认证结果。在步骤S430对应第二种或第三种具体实施方式时,若终端设备发送的是待认证生物特征模板,则服务器需要执行根据待认证生物特征模板得到待认证量化值(如果待认证生物特征模板还不是第二特征点对应的生物特征表示,则需要服务器执行根据待认证生物特征模板得到第二特征点对应的生物特征表示、根据第二特征点对应的生物特征表示得到待认证量化值的步骤),再根据待认证量化值和底库辅助数据确定出所述待认证对象的身份认证结果的步骤。若终端设备发送的是待认证量化值,则服务器需要执行根据待认证量化值和底库辅助数据确定出所述待认证对象的身份认证结果的步骤。
为保证数据传输的安全性,在终端和服务器之间建立安全通道可以是在终端设备TEE和服务器TEE之间建立安全通道。
该实现方式中,由于服务器算力通常强于终端设备,在服务器根据所述待认证生物特征模板或所述待认证量化值以及所述底库辅助数据确定出所述待认证对象的身份认证结果通常比在终端设备更快,但需要对待认证生物特征模板或待认证量化值,认证成功的用户标识,校验通过的待认证密钥,校验通过的待认证多因子密钥,匹配哈希值等数据进行传输。
在另一种实现方式,通过终端设备或通过终端设备与服务器配合,根据待认证生物特征模板以及所述底库辅助数据确定出所述待认证对象的身份认证结果。
对应于步骤S430中的第一种到第三种实施方式,可通过不同方式,根据待认证生物特征模板以及所述底库辅助数据确定出待认证对象的身份认证结果。
对应于步骤S430中的第二种(步骤S109、S110-S120)或第三种实施方式(步骤S129、S130-S150),步骤S730包括:
S740,根据待认证生物特征模板进行量化,得到待认证量化值。
示例性的,S720的待认证生物特征模板包括所述多个第二特征点对应的生物特征表示;相应的,S740类比步骤S430中根据第一生物特征模板进行量化得到量化值的步骤。可以理解的是,若注册阶段的生物特征表示中包含精确描述子,则认证阶段也需相应的以同样方式确定待认证精确描述子。若步骤S430使用了精确描述子,则步骤S740也需相应的以同样方式使用待认证精确描述子。示例性的,若步骤S430中在S1091和/或S1092中使用精确描述子时,步骤S740中在S7401和/或S7402中使用待认证精确描述子。
步骤S7401,根据待认证生物特征模板进行量化,包括:对待认证生物特征模板中包括的生物特征数据和精确描述子以S1091同样的方式进行量化。
步骤S7402,得到待认证量化值,包括:对步骤S7401的量化结果进行与步骤S1092同样的第三变换处理,得到待认证量化值,所述第三变换处理是根据待认证精确描述子确定的;所述第三变换处理为可逆或不可逆变换;
示例性的,量化值X=φd(T),其中T为步骤S7401中得到的量化结果,φd为根据待认证精确描述子确定的第三变换处理。
例如,S1091中得到的量化结果为T(t1,t2,…tn),各量化结果对应的特征点对应的精确描述子为D(d1,d2,…dn),在S1092中使x1=φd1(t1),如此可确定出X(x1,x2…xn)。对应的,S7401中得到的量化结果为T’(t1’,t2’,…tn’),各量化结果对应的特征点对应的待认证精确描述子为D’(d1’,d2’,…dn’),在S7402中使x1’=φd1’(t1’),如此可确定出X’(x1’,x2’…xn’)。
如此,当待处理图像和待认证图像包含同一对象相同的生物位置时,X和X’相同或足够相似。
S750,根据待认证量化值与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
可以理解的是,底库辅助数据存储在终端本地或服务器。底库辅助数据为存储在终端时,可由终端从注册信息中确定出底库辅助数据。底库辅助数据为存储在服务器时,可由服务器从注册信息中确定出底库辅助数据并下发给终端。
对于1:N的情形,底库辅助数据可以是存储的注册信息中的全量第一辅助数据,也可以是经过初步筛选之后的第一辅助数据。例如,根据用户标识、设备标识、注册时间、认证时间、认证地点待认证图像中提取出的低区分度特征、待认证生物特征模板中提取出的低区分度特征、待认证量化值中提取中的低区分度特征等限制因素从全量第一辅助数据筛选出底库辅助数据。对于1:1的情形,底库辅助数据可以是根据用户标识、设备标识等唯一确定的第一辅助数据。可以理解的是,如果使用限制因素对辅助数据进行初筛,需要将限制因素和第一辅助数据关联存储。
示例性的,与编码运算对应的解码运算包括纠错码解码运算。示例性的,纠错码解码运算需要与编码时的纠错码编码运算对应,可以为BCH解码或RS解码。步骤S430中使用了纠错码码字,因此可根据与第一生物特征模板对应的量化值足够接近的待认证量化值和第一辅助数据通过纠错码解码恢复出步骤S430中确定出的纠错码码字,进而根据纠错码码字解码得到第一辅助数据对应的密钥,或者,可根据与第一生物特征模板对应的量化值足够接近的待认证量化值和第一辅助数据通过纠错码解码恢复出步骤S430中确定出的纠错码码字,进而根据纠错码码字确定第一生物特征模板对应的量化值,再根据该量化值得到第一辅助数据对应的密钥。
可以理解的是,对于底库辅助数据中的一个第一辅助数据,当该第一辅助数据是待认证对象在注册阶段确定的注册信息中所包含的第一辅助数据时,根据待认证量化值与该第一辅助数据确定出的待认证密钥等于第一辅助数据对应的密钥。当该第一辅助数据不是待认证对象在注册阶段确定的注册信息中所包含的第一辅助数据时,根据待认证量化值与该第一辅助数据无法确定出待认证密钥或者确定出的待认证密钥与第一辅助数据对应的密钥不一致。可以理解的是,无法确定出待认证密钥是指在多项式时间内无法确定出待认证密钥。
下面举例说明如何进行与编码运算对应的解码运算。
在第二种实施方式被实施为2.1时,第一辅助数据为点集,步骤S750可以被实施为,
S7501,将至少一个第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据待认证量化值筛选所述当前第一辅助数据中的查询点,得到所述当前第一辅助数据对应的查询点集,所述查询点集包括多个所述查询点;所述查询点的第一坐标分量是根据待认证量化值确定的。
示例性的,可将至少一个第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据,也可将至少一个第一辅助数据进行筛选,将筛选后的第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据。
示例性的,查询点的第一坐标分量为待认证量化值;例如,待认证量化值X’(x1’,x2’,..xn’),则查询点集中各查询点的第一坐标分量分别为x1’,x2’,…xn’。
示例性的,若在注册阶段第一辅助点集中的点是对第一点进行第四变换处理得到的,则查询点的第一坐标分量是对待认证量化值进行第四变换处理的第一变换分量的逆变换得到的。可表示为Φd x-1(X’),Φd x表示第四变换处理中用于得到第一辅助点的第一坐标分量的第一变换分量。可理解的是,该逆变换中使用待认证精确描述子。
S7502,根据所述查询点集,利用解码算法恢复所述当前辅助数据对应的待认证密钥。
示例性的,若在注册阶段,第一辅助点集中的点是由第一点直接得到的,则根据查询点集,利用解码算法恢复所述当前辅助数据对应的待认证密钥。
示例性的,若在注册阶段,第一辅助点集中的点是对第一点进行第四变换处理得到的,则根据查询点集得到查询曲线点集(对查询点集中查询点的第二坐标分量进行第四变换处理的第二变换分量的逆变换,其中逆变换中使用待认证精确描述子),根据查询曲线点集,利用解码算法恢复所述当前辅助数据对应的待认证密钥。解码算法例如是利用拉格朗日插值恢复多项式的算法。
可理解的是,如果查询点集或查询曲线点集中有足够多的点与第一点集中的点重合,则当前辅助数据对应的待认证密钥与第一辅助数据对应的密钥一致。
在第二种实施方式被实施为2.2时,第一辅助数据为第一代数曲线的参数,步骤S750可以被实施为,
S7503,将至少一个第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据待认证量化值确定所述当前第一辅助数据对应的查询点,得到所述当前第一辅助数据对应的查询点集,所述查询点集包括多个所述查询点;所述查询点的第一坐标分量是根据待认证量化值确定的,所述查询点的第二坐标分量与所述查询点的第一坐标分量满足当前第一辅助数据对应的当前映射关系;
示例性的,可将至少一个第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据,也可将至少一个第一辅助数据进行筛选,将筛选后的第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据。
示例性的,查询点的第一坐标分量为待认证量化值;例如,待认证量化值X’(x1’,x2’,..xn’),则查询点集中各查询点的第一坐标分量分别为x1’,x2’,…xn’。当前第一辅助数据中记录的是第一代数曲线的参数值,可根据查询点的第一坐标分量确定查询点的第二坐标分量。
示例性的,若在注册阶段的第一辅助数据是根据精确描述子得到的,则查询点的第一坐标分量是对待认证量化值进行Φd x的逆变换得到的。可表示为Φd x-1(X’),Φd x为实施方式2.2中确定第一映射关系时使用的Φd x。可理解的是,该逆变换中使用待认证精确描述子。
S7504,根据所述查询点集,利用解码算法恢复所述当前辅助数据对应的待认证密钥。
参见对步骤S7502的描述。
解码算法例如是利用拉格朗日插值恢复多项式的算法。
可理解的是,如果查询点集或查询曲线点集中有足够多的点与第二点集中的点重合,则当前辅助数据对应的待认证密钥与第一辅助数据对应的密钥一致。
在实施方式2.1和2.2中,先通过纠错码解码(RS解码)根据辅助数据确定纠错码码字,再利用拉格朗日插值根据纠错码码字确定待认证密钥。
在第二种实施方式被实施为2.3时,步骤S750可以被实施为,
S7505,将所述至少一个所述第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据待认证量化值对应的待认证生物向量确定置换运算的逆运算,将置换运算的逆运算作用在当前第一辅助数据上或预处理的当前第一辅助数据上,确定与所述当前第一辅助数据对应的纠错码码字;
可以理解的是,步骤S7505的置换运算与步骤S1205中的置换运算形式相同,步骤S1205的置换运算是根据量化值对应的生物向量确定的,步骤S7505的置换运算是根据待认证量化值对应的待认证生物向量确定的。可理解的是实际执行过程中可以没有根据待认证量化值对应的待认证生物向量确定步骤S7505的置换运算的步骤,可直接确定置换运算的逆运算。
若步骤S1205中包括S1205b,则对当前第一辅助数据进行预处理,预处理包括对当前第一辅助数据进行第五变换处理的逆运算Φd -1(H)或Φd -1(X’,H)。可理解的是,该逆运算中使用待认证精确描述子。
S7506,根据当前第一辅助数据对应的纠错码码字得到当前第一辅助数据对应的待认证密钥。
在第三种实施方式被实施为3.1时,步骤S750可以被实施为,
S7507,同S7505,可以理解的是,步骤S7507的置换运算与步骤S1401中的置换运算形式相同,步骤S1401的置换运算是根据量化值对应的生物向量确定的,步骤S7507的置换运算是根据待认证量化值对应的待认证生物向量确定的。可理解的是,实际执行过程中可以没有根据待认证量化值对应的待认证生物向量确定步骤S7507的置换运算的步骤,可直接确定置换运算的逆运算。
示例性的,S1401中进行了第六变换处理时需要对当前第一辅助数据进行预处理,预处理包括对当前第一辅助数据进行第六变换处理的逆运算Φd -1(H)或Φd -1(X’,H)。可理解的是,该逆运算中使用待认证精确描述子。
S7508,根据S7507中确定出的纠错码码字恢复当前第一辅助数据时使用的量化值所对应的生物向量;
S7509,根据所述量化值确定出当前第一辅助数据对应的待认证密钥。
示例性的,根据量化值和当前第一辅助数据中解析出的随机量生成当前第一辅助数据对应的待认证密钥。
在第三种实施方式被实施为3.2时,步骤S750可以被实施为,
S7510,将所述至少一个所述第一辅助数据中的一个第一辅助数据作为当前第一辅助数据,根据当前第一辅助数据和待认证生物向量确定当前第一辅助数据对应的纠错码码字;
示例性的,可将至少一个第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据,也可将至少一个第一辅助数据进行筛选,将筛选后的第一辅助数据中的每个第一辅助数据依次作为当前第一辅助数据。
示例性的,S1403中进行了第六变换处理时需要对当前第一辅助数据进行预处理,预处理包括对当前第一辅助数据进行第六变换处理的逆运算Φd -1(H)或Φd -1(X’,H)。可理解的是,该逆运算中使用待认证精确描述子。
S7511,根据S7510确定出的纠错码码字恢复当前第一辅助数据时使用的量化值所对应的生物向量;
S7512,根据所述量化值确定出当前第一辅助数据对应的待认证密钥。
示例性的,根据量化值和当前第一辅助数据中解析出的随机量生成当前第一辅助数据对应的待认证密钥。
S760,对待认证密钥进行校验,确定出对待认证对象的身份认证结果。
对应于步骤S430中的第二种(步骤S109、S110-S120)或第三种实施方式(步骤S129、S130-S150),在一个具体实施方式中进行多因子认证,此时步骤S730包括:
S740,根据待认证生物特征模板进行量化,得到待认证量化值。
S750,根据待认证量化值与底库辅助数据,进行与编码运算对应的解码运算,确定出与底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
S770,根据部分或全部的所述待认证密钥和第二变换密钥进行S612中的第九变换处理,得到待认证多因子密钥;
第二变换密钥根据认证阶段接收的用户口令确定,例如直接将认证阶段的用户口令作为第二变换密钥或根据接收的用户口令生成第二变换密钥。根据用户口令生成第二变换密钥例如是对用户口令进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成第二变换密钥。可理解的是,由认证阶段用户口令确定第二变换密钥的方式与注册阶段由用户口令确定第一变换密钥的方式相同。
可以理解的是,注册阶段,可将第一辅助数据对应的密钥和第一变换密钥作为第九变换处理的变量,认证阶段,可将待认证密钥和第二变换密钥作为第九变换处理的变量。也就是说,注册阶段和认证阶段的第九变换处理变量不同,参数相同。
示例性的,根据部分待认证密钥和第二变换密钥进行第九变换处理,得到待认证多因子密钥可以是,根据初步校验通过的待认证密钥和第二变换密钥进行第九变换处理,得到待认证多因子密钥;或者,根据校验通过的目标待认证密钥和第二变换密钥进行第九变换处理,得到待认证多因子密钥。
可理解的是,对部分待认证密钥进行变换处理而非全部待认证密钥,可提高认证效率。
S780,对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果。
具体的,步骤S780中的对所述待认证多因子密钥进行校验包括:
S7801,根据部分或全部所述待认证多因子密钥确定部分或全部所述待认证多因子密钥对应的待认证多因子哈希值,或者,根据部分或全部所述待认证多因子密钥和与其对应的第一辅助数据所对应的第二哈希参数确定部分或全部的所述待认证多因子密钥对应的待认证多因子哈希值;
对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;
其中,所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为满足指定条件的第二哈希值;所述第二哈希值包括在所述注册信息中。
可理解的是,本实施方式中,根据密钥的哈希值对密钥进行校验。
若存储注册信息时,第二哈希值与第一辅助数据关联存储,则确定了底库辅助数据中包含哪些第一辅助数据后,可查询出这些第一辅助数据所对应的第二哈希值,此时,底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值。若存储注册信息时,第二哈希值未与第一辅助数据关联存储,则确定了底库辅助数据中包含的第一辅助数据,无法查询出这些第一辅助数据所对应的第二哈希值,此时,底库第二哈希值可以为满足指定条件的第二哈希值,例如是全量第二哈希值或根据一些限制因素缩小范围的第二哈希值。限制因素例如是,用户标识、设备标识、注册时间、认证时间、认证地点等。可以理解的是,如果底库第二哈希值是用限制因素缩小范围的第二哈希值,则需要将限制因素和第二哈希值关联存储。
确定出了底库第二哈希值后,可比对待认证多因子哈希值和底库第二哈希值,对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过。例如,底库第一辅助数据中包含10个第一辅助数据,根据这10个第一辅助数据确定出了10个待认证多因子哈希值,底库第二哈希值为50000个。如果10个待认证多因子哈希值中有一个与底库第二哈希值匹配,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过。
可以理解的是,当生成待认证多因子哈希值的设备与存储注册信息的设备不是同一设备时,需要通过数据传输使待认证多因子哈希值和底库第二哈希值处于同一设备,才能进行比对。例如,注册信息存储在服务器,待认证多因子哈希值由终端设备生成,此时比对待认证多因子哈希值和底库第二哈希值的步骤可以由于终端或服务器执行,由终端执行时,服务器需下发底库第二哈希值,由服务器执行时,终端需上传待认证多因子哈希值。
需要说明的是,S7801中可仅计算部分待认证多因子密钥的哈希值,例如仅计算初步校验通过的待认证多因子密钥的哈希值。
一个具体实施方式中,步骤S760中的对待认证密钥进行校验包括:
S7601,根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。
对S7601的解释可类比于S7801。
步骤S7801包括根据部分待认证多因子密钥确定部分待认证多因子密钥对应的待认证多因子哈希值时,S7801之前还包括:
S7800,对所述待认证多因子密钥进行初步校验,得到初步校验通过的待认证多因子密钥。
可理解的是,步骤S7801中的部分待认证多因子密钥指初步校验通过的待认证多因子密钥。
S7800包括S7800a,利用所述待认证多因子密钥中的校验信息对所述待认证多因子密钥进行初步校验,或者,
S7800b,根据所述待认证多因子密钥生成待认证第二校验值,将所述待认证第二校验值和底库第二校验值进行比对来进行初步校验;
其中,所述底库第二校验值为所述数据库中所述待认证多因子密钥所对应的第一辅助数据所对应的第二校验值。如前所述,注册信息中包括第二校验值时,第二校验值与第一辅助数据关联存储,确定了一个第一辅助数据即可确定其对应的第二校验值。待认证多因子密钥是根据底库辅助数据中的某个第一辅助数据生成的,则该第一辅助数据对应的第二校验值为底库第二校验值。
类似的,步骤S7601包括根据部分待认证密钥确定部分待认证密钥对应的待认证多因子哈希值时,S7601之前还包括:
S7600,对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥。
对S7600的说明可类比于S7800的说明。
可理解的是,步骤S7601中的部分待认证密钥指初步校验通过的待认证密钥。
可以理解的是,如果待认证密钥和/或待认证多因子密钥的校验结果为校验通过,则待认证对象的身份认证结果为认证成功。
一个具体的实施方式中,注册信息还包括用户标识。身份认证方法还包括:
S790:根据匹配哈希值确定所述匹配哈希值对应的用户标识;
示例性的,匹配哈希值可以在终端设备产生;
其中,所述根据匹配哈希值确定所述匹配哈希值对应的用户标识,包括:
S7901,将匹配哈希值发送给服务器,以使所述服务器根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;
S7902,接收匹配哈希值对应的用户标识;
或者,S7903,根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;
其中,用户标识可作广义理解,包括用户姓名、证件号等信息。所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。
注册阶段,第一辅助数据对应的用户标识可以与第一辅助数据关联存储。因为不希望用户标识与敏感信息关联,第一辅助数据与敏感信息关联存储时,可将第一辅助数据与敏感信息关联存储,用户标识独立于第一辅助数据存储,以避免用户标识与敏感信息的关联。
敏感信息例如为,注册时使用的待处理图像中提取出的低区分度特征、第一生物特征模板中提取出的低区分度特征、量化值中提取中的低区分度特征、注册时间等。
示例性的,可将第一辅助数据与敏感信息、哈希参数、校验值等信息关联存储于第一数据表,用户标识和第一哈希值和/或第二哈希值关联存储于第二数据表,以在确定了存在与待认证密钥的待认证哈希值匹配的底库第一哈希值和/或确定了存在与待认证多因子密钥的待认证多因子哈希值匹配的底库第二哈希值时,可在第二数据表中根据匹配哈希值确定出用户标识。其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值(也即与待认证密钥的待认证哈希值匹配的底库第一哈希值),或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值(也即与待认证多因子密钥的待认证多因子哈希值匹配的底库第二哈希值)。可理解的是,通常情况下,用待认证密钥进行校验确定身份认证结果,则校验结果为校验通过的待认证密钥所对应的待认证哈希值为匹配哈希值,用待认证多因子密钥进行校验确定身份认证结果,则校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值为匹配哈希值。
步骤S430采用第一种实施方式时,步骤S730包括:
S800,根据所述待认证生物特征模板以及认证密钥,进行所述编码运算,得到待认证辅助数据;
示例性的,认证密钥是待认证对象在认证阶段输入的或是根据待认证对象在认证阶段的输入确定的。例如,通过对待认证对象的输入进行格式转换、位数补齐、校验信息添加中的一种或多种处理来生成认证密钥。可以理解的是,认证密钥和注册阶段第一实现方式中第一辅助数据对应的密钥进行相同的处理得到。
本实施方式中,编码运算为步骤S100中形式相同的特征转换,只是本实施方式中的特征转换是根据认证密钥确定的。
本实施方式中,注册阶段,Fk(X)=H;认证阶段,Fk’(X’)=H’。其中,F为特征转换函数,k为第一辅助数据对应的密钥,k’为认证阶段获取的认证密钥,X和X’分别为注册阶段和认证阶段的生物特征模板,H和H’分别为注册阶段和认证阶段的辅助数据,认证阶段的辅助数据即待认证辅助数据。
S801,根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
若X和X’足够接近且k’=k,则H和H’足够接近。因此可根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
实施例七
基于同一申请构思,本申请实施例中还提供了与身份认证方法对应的身份认证装置,由于本申请实施例中的装置解决问题的原理与前述的身份认证方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
本申请实施例提供一种身份认证装置的功能模块。本实施例中的身份认证装置中的各个模块用于执行上述方法实施例中的各个步骤。身份认证装置包括:第二获取模块、第三确定模块以及第三获取模块;其中,
第二获取模块,用于获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
第三确定模块,用于根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;
第三获取模块,用于获取所述待认证对象的身份认证结果,所述身份认证结果是根据所述待认证生物特征模板和底库辅助数据确定出的。
其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据包括在注册信息中,所述注册信息是通过实施例四提供的身份注册方法确定的。
实施例八
请参阅图7,是本申请实施例提供的身份注册方法的流程图。本实施例中的方法与实施例四提供的身份注册方法类似,其不同之处在于,实施例四提供的方法是基于终端设备一侧提供的身份注册方法,本实施例是基于服务器一侧提供的身份注册方法。下面将对图7所示的具体流程进行详细阐述。
步骤810,接收终端设备发送的注册信息。
上述的注册信息可以是通过实施例四提供的身份注册方法确定的。本实施例中的身份注册方法可以应用于服务器。
步骤820,将所述注册信息存储至数据库中。
注册信息包括第一辅助数据。
对应于表3中示出的多种情形,注册信息还包括第一哈希值、第一哈希参数和/或第二哈希值、第二哈希参数。
需要说明的是,当注册信息中包含哈希参数时,哈希参数一定与第一辅助数据关联存储,以便在根据第一辅助数据确定了待认证密钥或待认证多因子密钥后,可以根据哈希参数确定相应的待认证哈希值或认证多因子哈希值。相应的,步骤S820中包含存储哈希值,关联存储哈希参数和第一辅助数据的步骤。如前所述,注册信息还可以包括第一校验值和/或第二校验值,当注册信息中包括第一校验值和/或第二校验值时,第一校验值和/或第二校验与所述第一辅助数据关联存储至所述数据库中,以便在根据第一辅助数据确定了待认证密钥或待认证多因子密钥后,可以根据校验值对待认证密钥或认证多因子密钥进行初步校验。
实施例九
基于同一申请构思,本申请实施例中还提供了与身份注册方法对应的身份注册装置,由于本申请实施例中的装置解决问题的原理与前述的身份注册方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
本申请实施例提供一种身份注册装置的功能模块。本实施例中的身份注册装置中的各个模块用于执行上述方法实施例中的各个步骤。身份注册装置包括:接收模块和第二存储模块;其中,
接收模块,用于接收终端设备发送的注册信息,所述注册信息是通过上述的身份注册方法确定的;
第二存储模块,用于将所述注册信息存储至数据库中,所述注册信息包括第一辅助数据。
实施例十
请参阅图8,是本申请实施例提供的身份认证方法的流程图。本实施例提供的身份认证方法与实施例六提供的身份认证方法类似,其不同之处在于,实施例六提供的身份认证方法是基于终端设备提供的身份认证方法,本实施例提供的身份认证方法是基于服务器的身份认证方法。下面将对图8所示的具体流程进行详细阐述。
步骤910,接收所述终端设备发送的认证请求。
步骤920,根据所述认证请求,从注册信息中确定出底库辅助数据。
其中,所述底库辅助数据包括至少一个第一辅助数据。
对于1:N的情形,底库辅助数据可以是存储的注册信息中的全量第一辅助数据,也可以是经过初步筛选之后的第一辅助数据。例如,根据用户标识、设备标识、注册时间、认证时间、认证地点、待认证图像中提取出的低区分度特征、待认证生物特征模板中提取出的低区分度特征、待认证量化值中提取中的低区分度特征等限制因素从全量第一辅助数据筛选出底库辅助数据。对于1:1的情形,底库辅助数据可以是根据用户标识、设备标识等唯一确定的第一辅助数据。可以理解的是,用于从注册信息中确定出底库辅助数据的信息可由终端设备发送至服务器,其可以包含在认证请求中,也可以独立于认证请求发送。
其中,上述的注册信息是通过上述身份注册方法所存储数据库中的注册信息。
本实施例提供的身份认证方法可以基于确定出的底库辅助数据对待认证生物特征模板进行认证。具体的,可在服务器进行认证,也可将底库辅助数据发送给终端设备,由终端设备或终端设备和服务器配合进行认证。
在一个由服务器进行认证的实施方式中,本实施例提供的身份认证方法还可以包括以下步骤930-步骤950。
步骤930,通过安全通道接收终端设备发送的待认证生物特征模板或待认证量化值;
步骤S930的具体实施方式可参见S730中的描述。
步骤940,根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果;
或者,根据所述待认证量化值和所述底库辅助数据,确定出所述待认证对象的身份认证结果;
或者,根据所述待认证生物特征模板进行量化,得到待认证量化值,根据所述待认证量化值和所述底库辅助数据,确定出所述待认证对象的身份认证结果;
其中,所述待认证量化值是根据所述待认证生物特征模板进行量化得到的。
可以理解的是,若接收到的是待认证生物特征模板,则服务器执行根据所述待认证生物特征模板进行量化得到待认证量化值的步骤;对该步骤的具体描述参见S740。若接收到的是待认证量化值,则服务器无需执行根据待认证生物特征模板进行量化得到待认证量化值的步骤。
步骤S940的具体实施方式可参见S730中的描述。
步骤950,向终端设备发送待认证对象的身份认证结果。
可理解的是,身份认证结果可包括认证成功或失败,认证成功的用户标识,校验通过的待认证密钥,校验通过的待认证多因子密钥,匹配哈希值中的一种或多种。
一个具体实施方式中,对应于S430的第二种和第三种实施方式,步骤940包括:
S960,根据所述待认证量化值与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据一一对应的至少一个待认证密钥;
S970,对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。
S960和S970的说明参见对S750和S760的说明。区别仅在于,S960和S970是由服务器执行的,S750和S760是由终端设备执行的。
一个具体实施方式中,步骤S970中的对待认证密钥进行校验包括:
S9701,根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。
对S9701的说明可见S7601。区别仅在于,S9701是由服务器执行的,S7601是由终端设备执行的。
步骤S9701包括根据部分待认证密钥确定部分待认证密钥对应的待认证多因子哈希值时,S9701之前还包括:
S9700,对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥。
S9700的说明参见S7600。区别仅在于,S9700是由服务器执行的,S7600是由终端设备执行的。
对于终端设备进行认证或终端设备和服务器配合进行认证的情形,身份认证方法还包括S921:服务器向所述终端设备发送所述底库辅助数据,其中,所述底库辅助数据用于所述终端设备确定所述待认证对象的身份认证结果。
一种具体实施方式中,当终端设备和服务器配合进行认证时,可以由服务器接收待认证哈希值、待认证多因子哈希值,服务器执行比对待认证多因子哈希值和底库第二哈希值,和/或比对待认证哈希值和底库第一哈希值的步骤。也可以由服务器下发底库第一哈希值、底库第二哈希值,由终端执行比对待认证多因子哈希值和底库第二哈希值,和/或比对待认证哈希值和底库第一哈希值的步骤。也就是说,服务器还可以执行以下步骤中至少一项。可以理解的是,当执行SA1、SA2、SB1、SB2中的两项时,可以从SA1和SA2中、SB1和SB2中分别选一项,而不能同时执行SA1和SA2,或SB1和SB2。
SA1:将底库第一哈希值发送给所述终端设备,以使所述终端设备将待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
SA2:接收所述终端设备发送的待认证哈希值,将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
SB1:将底库第二哈希值发送给所述终端设备,以使所述终端设备将待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
SB2:接收所述终端设备发送的待认证多因子哈希值,将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
其中,所述待认证哈希值是根据所述底库辅助数据确定的;所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者,所述底库第一哈希值为所述数据库中满足指定条件的第一哈希值;所述待认证多因子哈希值是根据所述底库辅助数据确定的;所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为所述数据库中满足指定条件的第二哈希值。
一个具体的实施方式中,注册信息还包括用户标识。身份认证方法还包括:
S992,根据匹配哈希值在所述数据库的第二数据表中查询与所述匹配哈希值对应的用户标识;
示例性的,匹配哈希值可以是在服务器产生的,也可以是在终端设备产生后发送给服务器的。
S993,向所述终端设备发送与所述匹配哈希值对应的用户标识;
其中,所述数据库包括第一数据表和第二数据表;所述第一辅助数据存储于所述第一数据表中;所述注册信息中还包含用户标识;所述用户标识和所述第二哈希值关联存储于所述第二数据表中;和/或,所述用户标识和所述第一哈希值关联存储于所述第二数据表中;
所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。
相关描述可参见步骤S790。其中S992-S993在服务器执行。
对应于步骤S430的第一种实施方式,在一个具体实施方式中,步骤940包括,
根据所述待认证生物特征模板和认证密钥,进行所述编码运算,得到待认证辅助数据;
根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
关于这两个步骤的描述参见S800和S801,区别仅在于这两个步骤在服务器执行,S800和S801在终端设备执行。
可以理解的是,若终端设备需要使用第一哈希参数/第二哈希参数,第一校验值/第二校验值,底库第一哈希值/底库第二哈希值,与底库第一哈希值/底库第二哈希值关联的用户标识,则服务器也会将相关数据发送给终端设备。
实施例十一
基于同一申请构思,本申请实施例中还提供了与身份认证方法对应的身份认证装置,由于本申请实施例中的装置解决问题的原理与前述的身份认证方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
本实施例中的身份认证装置中的各个模块用于执行上述方法实施例中的各个步骤。身份认证装置包括:第二接收模块和底库辅助数据确定模块;其中,
第二接收模块,用于接收所述终端设备发送的认证请求;
底库辅助数据确定模块,用于根据所述认证请求,从注册信息中确定出底库辅助数据;其中,所述底库辅助数据包括至少一个第一辅助数据。
实施例十二
本申请实施例还提供一种密钥使用方法,下面对该方法的具体流程进行详细阐述。
步骤1010,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1020。
可选地,本实施例所使用的身份认证方法可以与上述实施例六或实施例十提供的身份认证方法类似,关于步骤1010的具体细节可以参阅实施例六或实施例十中的描述,在此不再赘述。
可以理解的是,步骤S1010的身份认证方法,需要是能够在认证过程中确定出待认证密钥或待认证多因子密钥的方法,也就是说,身份认证结果是通过校验待认证密钥或待认证多因子密钥确定的。待认证密钥或待认证多因子密钥的生成、校验可以在终端和/或服务器进行。若确定校验通过的待认证密钥或校验通过的待认证多因子密钥是在服务器进行的,则服务器需要把校验通过的待认证密钥或校验通过的待认证多因子密钥发送至终端设备,使终端设备利用校验通过的密钥进行后续应用处理。通常情况下,服务器和终端设备之间的密钥传输在二者的TEE之间通过安全通道进行。示例性的,校验通过的密钥可以包含在身份认证结果中由服务器发送给终端设备。
步骤1020,使用上述身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理。
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
可以理解的是,步骤S1010使用的身份认证方法是通过校验待认证密钥或待认证多因子密钥进行身份认证的,因此身份认证通过时,必然会确定一个校验通过的待认证密钥或校验通过的待认证多因子密钥。
如果认证阶段用待认证密钥校验,则校验通过的密钥包括校验通过的待认证密钥;如果认证阶段用待认证多因子密钥校验,则校验通过的密钥可以包括校验通过的待认证多因子密钥,也可以包括生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
本发明实施例中,在认证阶段能够根据与注册时足够接近的生物特征和辅助信息还原出注册阶段所使用的密钥,从而可以利用还原出的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理。
实施例十三
本申请实施例提供一种数字签名方法。下面将对该方法具体流程进行详细阐述。
步骤1110,通过身份注册方法,确定出注册信息。
其中,所述注册信息包括第一辅助数据。
本实施例所使用的身份注册方法可以与上述实施例四提供的身份注册方法类似,关于本实施例中的步骤1110的身份注册方法的其它细节可以参阅实施例四中的描述,在此不再赘述。
需要说明的是,步骤S1110的注册方法需要是步骤S430中的第二种和第三种方法,即该注册方法对应的认证方法,是通过生成并校验待认证密钥或待认证多因子密钥来进行身份认证的。
步骤1120,生成第一私钥对应的第一公钥。
其中,第一私钥为第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥。
示例性的,可将注册阶段涉及的第一辅助数据对应的密钥或第一多因子密钥作为第一私钥,基于第一私钥生成第一公钥。
示例性的,可生成第一私钥-第一公钥组成的密钥对,将第一私钥作为第一辅助数据对应密钥,或者基于第一辅助数据对应的密钥生成第一多因子密钥。此时,步骤S1120可能先于步骤S1110执行。
步骤1130,将所述第一公钥发送给验签方,以供所述验签方利用所述第一公钥对使用所述第一私钥生成的数字签名进行验签。
实施例十四
本申请实施例提供一种数字签名方法。下面将对该方法的具体流程进行详细阐述。
步骤1210,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1220。
对步骤S1210的说明参见步骤S1010。
步骤1220,使用身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据。
示例性的,可利用校验通过的密钥对待签名信息的哈希值进行非对称加密,得到数字签名,将数字签名和待签名信息作为签名数据。
步骤1230,将所述签名数据发送给验签方,以供所述验签方使用所述校验通过的密钥所对应的公钥对所述签名数据的数字签名进行验签。
示例性的,在接收到签名数据前,验签方已经接收到至少一个公钥。至少一个公钥通过实施例十三的方法发送给验签方。验签方可根据签名数据中包含或附带的信息确定用哪个公钥对数字签名进行验签。
示例性的,验签方接收到签名数据后,可计算签名数据中待签名数据的哈希值,将该哈希值与对数字签名进行公钥解密所得结果进行比较,二者一致则验签通过。此处的公钥,是指验签方根据签名数据中包含或附带的信息确定出的用于验签的公钥。
其中,所述校验通过的密钥所对应的公钥通过实施例十三所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。具体参见对实施例十二的描述。
实施例十五
本申请实施例提供一种消息解密方法。下面将对该方法的具体流程进行详细阐述。
该步骤的具体说明参见步骤S1110。
步骤1420,生成第二私钥对应的第二公钥;其中,所述第二私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥。
步骤1430,将所述第二公钥发送给消息加密方。
关于第二公钥、第二私钥的描述可参见第一公钥、第一私钥。
实施例十六
本申请实施例提供一种消息解密方法。下面将对该方法的具体流程进行详细阐述。
步骤1510,接收消息加密方发送的待解密数据。
步骤1520,使用身份认证方法对待认证对象进行身份认证。
对S1520的说明参见S1010。
若所述待认证对象的身份认证成功,则执行步骤1530。
步骤1530,使用上述身份认证方法确定出的校验通过的密钥对所述待解密数据进行解密,得到解密数据。
其中,所述校验通过的密钥所对应的公钥实施例十五提供的方法发送给所述消息加密方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥;所述待解密数据是用所述校验通过的密钥所对应的公钥进行加密的。
实施例十七
本申请实施例提供一种应用登录方法。下面将对该方法的具体流程进行详细阐述。
步骤1610,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1620。
具体参见对S1010的说明。
步骤1620,将使用上述身份认证方法确定出的校验通过的密钥登录目标应用程序;或,将使用上述身份认证方法确定出的校验通过的密钥和用户标识登录目标应用程序。
可理解的是,可通过身份认证方法确定出校验通过的密钥,如果该校验通过的密钥在目标应用程序中是全局唯一的,例如是一个足够长最够随机的字符串,则可仅利用校验通过的密钥登录目标应用程序。若身份认证方法出确定出了用户标识,也可利用用户标识和校验通过的密钥登录目标应用程序。
可理解的是,示例性的,S1620包括:根据所述校验通过的密钥进行哈希运算(可选择哈希运算的盐值/轮数),将哈希运算结果发送应用服务器以登录目标应用程序,或者将哈希运算结果和用户标识发送至应用服务器以登录目标应用程序。
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
实施例十八
本申请实施例提供一种区块链节点信息同步方法。本实施例提供的区块链节点信息同步方法应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,下面将对该方法的具体流程进行详细阐述。
步骤1710,通过身份注册方法,确定出注册信息。
注册信息包括第一辅助数据;
具体参见对S1110的说明。
步骤1720,生成第三私钥对应的第三公钥;其中,所述第三私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥。
关于第三私钥和第三公钥的说明参见对第一私钥、第一公钥的说明。
步骤1730,向所述区块链上的其他区块链节点广播所述第三公钥。
本实施例中,在将第三公钥在区块链节点中广播后,则可以在区块链系统中任意一个节点实现对区块链节点上产生的交易数据进行验证。
实施例十九
本申请实施例提供一种区块链节点信息同步方法。本实施例提供的区块链节点信息同步方法应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,下面将对该方法的具体流程进行详细阐述。
步骤1730,使用身份认证方法对待认证对象进行身份认证。
若所述待认证对象的身份认证成功,则执行步骤1740。
具体参见对S1010的说明。
步骤1740,使用身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;
步骤1750,将所述交易数据广播给所述区块链上的其他区块链节点,以供所述其他区块链节点使用所述校验通过的密钥所对应的公钥对所述交易数据的数字签名进行验签;
其中,所述校验通过的密钥所对应的公钥通过实施例十八的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
具体说明参见实施例十四。
此外,本申请实施例还提供实施例十二到十九的方法所对应的装置,具体装置实施例参见对发明内容和对装置对应的方法的描述。
需要说明的是,优选的,本申请各实施例的密钥(第一辅助数据对应的第一变换密钥、第二变换密钥、认证密钥、第一公钥、第一私钥、第二公钥、第二私钥、第三公钥、第三私钥)生成(例如系统生成,例如通过解码运算生成)、使用(例如哈希计算、变换处理)过程在设备TEE(包括终端设备TEE和服务器TEE)中执行,密钥的传输通过设备之间的安全通道在设备的TEE之间进行。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述各个方法实施例中的步骤。
本申请实施例所提供的各个方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述各个方法实施例中的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (56)
1.一种隐私保护的图像处理方法,其特征在于,包括:
获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;
对所述第一生物特征模板进行编码运算,得到第一辅助数据,包括以下一项:
根据所述第一生物特征模板进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;
根据所述第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据;其中,所述根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和所述量化值确定纠错码码字;和/或,所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值,对所述纠错码码字进行第一变换处理,得到第一辅助数据;
根据所述第一生物特征模板进行量化,得到量化值;确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据;根据所述量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据;
其中,所述编码运算包括不可逆变换。
2.根据权利要求1所述的方法,其特征在于,所述第一生物特征模板包括生物特征数据和精确描述子,所述根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,包括:
根据所述第一生物特征区域,确定出所述多个第一特征点对应的生物特征数据;
根据所述第一生物特征区域,确定出所述多个第一特征点对应的精确描述子。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一生物特征区域,确定出所述多个第一特征点对应的精确描述子,包括:
将所述待处理图像和/或所述待处理图像的描述信息输入描述子提取模型进行处理,得到所述多个第一特征点对应的精确描述子;
或者,根据所述多个第一特征点的位置数据,确定出多个第一特征点所在邻域的局部图像,将所述多个第一特征点的所述局部图像和/或所述局部图像的描述信息输入描述子提取模型,得到所述多个第一特征点对应的精确描述子;
或者,对于所述多个第一特征点中的每个第一特征点,确定出该第一特征点的模糊描述子,将该第一特征点的模糊描述子聚类至与其距离最近的类别中心描述子,将所述距离最近的类别中心描述子作为该第一特征点对应的精确描述子;其中,所述类别中心描述子是对多个模糊描述子进行聚类得到的。
4.根据权利要求2或3所述的方法,其特征在于,所述方法包括以下至少一项:
根据所述第一生物特征模板进行特征转换,得到第一辅助数据,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;
根据所述第一生物特征模板进行特征转换,得到第一辅助数据,包括:对所述第一生物特征模板中的第一生物特征数据进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥和所述精确描述子确定的;
根据所述第一生物特征模板进行特征转换,得到第一辅助数据,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥和所述精确描述子确定的;
根据所述第一生物特征模板进行量化,包括:对所述第一生物特征模板中包括的生物特征数据和精确描述子进行量化,得到量化值;
所述得到量化值,包括:对根据所述第一生物特征模板进行量化所得的量化结果进行第三变换处理,得到量化值,所述第三变换处理是根据所述精确描述子确定的;所述第三变换处理为可逆或不可逆变换;
所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:利用所述精确描述子,对所述纠错码码字进行第一变换处理,得到第一辅助数据;
所述对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:利用所述精确描述子,对所述纠错码码字进行第二变换处理,得到第一辅助数据。
5.根据权利要求4所述的方法,其特征在于,
根据第一辅助数据对应的密钥确定纠错码码字,包括:
根据所述第一辅助数据对应的密钥,确定出第一代数曲线的参数;
将所述量化值中的第一量化值在所述第一代数曲线上进行映射,得到所述第一量化值对应的第一映射值,所述纠错码码字包括多个所述第一映射值;
对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:
生成杂凑点集;
根据第一辅助点集和所述杂凑点集,确定第一辅助数据;其中,所述第一辅助点集中的第一辅助点与所述第一代数曲线上的第一点具有第一函数关系,所述第一点以所述第一量化值为第一坐标分量,以所述第一映射值为第二坐标分量;所述第一辅助点的第一坐标分量是根据所述第一量化值确定的。
6.根据权利要求5所述的方法,其特征在于:对所述纠错码码字进行第一变换处理,得到第一辅助数据,还包括:
对所述第一点进行第四变换处理,得到所述第一辅助点集中的第一辅助点;所述第四变换处理是根据所述精确描述子确定的,所述第四变换处理为可逆变换。
7.根据权利要求4所述的方法,其特征在于,
根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:
根据所述第一辅助数据对应的密钥,确定出第一代数曲线的参数;
根据所述量化值和所述第一代数曲线,确定第一映射关系的参数;
根据所述第一映射关系的参数,确定所述第一辅助数据;
其中,所述第一集合和第二集合之间具有所述第一映射关系,所述第一集合的第一子集是所述量化值确定的;以所述第一子集中的第一值为第一坐标分量、第二集合中与所述第一值满足第一映射关系的值为第二坐标分量的子集点与所述第一代数曲线上的第二点具有第二函数关系,以所述第一集合中所述第一子集的补集中的值为第一坐标分量、第二集合中与该值满足所述第一映射关系的值为第二坐标分量的补集点与所述第一代数曲线上的点不具有所述第二函数关系;所述第二点的第一坐标分量为与所述第一值对应的量化值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述量化值和所述第一代数曲线,确定第一映射关系的参数,包括:根据所述量化值、所述精确描述子和所述第一代数曲线,确定第一映射关系的参数。
9.根据权利要求4所述的方法,其特征在于,
根据第一辅助数据对应的密钥确定纠错码码字,包括:
根据所述第一辅助数据对应的密钥,确定所述纠错码码字;
对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:
根据所述量化值对应的生物向量确定置换运算;将所述置换运算作用在所述纠错码码字上,得到第一辅助数据。
10.根据权利要求9所述的方法,其特征在于,
所述将所述置换运算作用在所述纠错码码字上,得到第一辅助数据,包括:
将所述置换运算作用在所述纠错码码字上,得到置换运算结果;对所述置换运算结果进行第五变换处理,得到第一辅助数据;所述第五变换处理是根据所述精确描述子确定的;所述第五变换处理为可逆变换。
11.根据权利要求4所述的方法,其特征在于,
随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:
随机确定纠错码码字;根据所述量化值对应的生物向量确定置换运算;将所述置换运算作用在所述纠错码码字上,得到第一辅助数据;
或者,
根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:
确定与所述量化值对应的生物向量距离最近的码字为纠错码码字;根据所述生物向量与所述纠错码码字的差异,得到第一辅助数据。
12.根据权利要求11所述的方法,其特征在于,
所述得到第一辅助数据包括:通过第六变换处理,得到第一辅助数据;所述第六变换处理是根据所述精确描述子确定的,所述第六变换处理是可逆的。
13.根据权利要求1-12任意一项所述的方法,其特征在于,所述获取待处理图像,包括:
采用非接触采集方式采集所述待处理图像,所述第一生物特征区域为指纹、掌纹、指静脉、掌静脉中至少一者,所述第一生物特征区域包含的特征点数量大于300。
14.根据权利要求1-13任意一项所述的方法,其特征在于,应用于终端设备,所述终端设备上设置有可信执行环境;
所述第一辅助数据对应的密钥的获取、使用或/和传输过程在所述可信执行环境中被执行。
15.根据权利要求14所述的方法,其特征在于,所述根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,包括:
根据所述第一生物特征区域确定第一中间结果,根据所述第一中间结果确定第一生物特征模板;其中,所述根据所述第一生物特征区域确定第一中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第一中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;
或者,根据所述第一生物特征区域确定第二中间结果;根据所述第二中间结果确定第三中间结果;根据所述第三中间结果确定第一生物特征模板;其中,所述根据所述第一生物特征区域确定第二中间结果以第一优先级在所述可信执行环境中被执行;所述根据所述第三中间结果确定第一生物特征模板以第二优先级在所述可信执行环境中被执行;所述根据所述第二中间结果确定第三中间结果以第三优先级在所述可信执行环境中被执行;其中,所述第三优先级低于所述第一优先级,所述第三优先级低于所述第二优先级。
16.一种身份注册方法,其特征在于,包括:
通过权利要求1-15任一项所述的方法确定待注册对象的注册信息中的第一辅助数据。
17.根据权利要求16所述的方法,其特征在于,所述注册信息还包括:第一哈希值;所述方法还包括:根据所述第一辅助数据对应的密钥进行哈希运算,确定所述注册信息中的第一哈希值;
和/或,所述注册信息还包括:第一哈希值和第一哈希参数,所述方法还包括:根据所述第一辅助数据对应的密钥和所述第一哈希参数进行哈希运算,确定所述注册信息中的第一哈希值;
和/或,所述注册信息包括第二哈希值;所述方法还包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥;根据所述第一多因子密钥进行哈希运算,确定所述注册信息中的第二哈希值;
和/或,所述注册信息包括第二哈希值和第二哈希参数,所述方法还包括:根据所述第一辅助数据对应的密钥和第一变换密钥进行第九变换处理,得到第一多因子密钥;根据所述第一多因子密钥和第二哈希参数进行哈希运算,确定所述注册信息中的第二哈希值;
其中,所述第一哈希参数包括哈希运算所使用的盐值和/或轮数,所述第二哈希参数包括哈希运算所使用的盐值和/或轮数。
18.根据权利要求16或17所述的方法,其特征在于,所述第一辅助数据对应的密钥和/或所述第一多因子密钥中包含校验信息;
或者,
所述方法还包括:
根据所述第一辅助数据对应的密钥生成第一校验值,和/或,根据所述第一多因子密钥生成第二校验值;所述注册信息包括所述第一校验值和/或所述第二校验值。
19.一种身份认证方法,其特征在于,包括:
获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;
获取所述待认证对象的身份认证结果,所述身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;
其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据是通过权利要求16至18任意一项所述的身份注册方法确定的。
20.根据权利要求19所述的方法,其特征在于,所述方法还包括:
通过安全通道发送所述待认证生物特征模板或待认证量化值,以供服务器根据所述待认证生物特征模板以及所述底库辅助数据确定出所述待认证对象的身份认证结果,或者以供服务器根据所述待认证量化值以及所述底库辅助数据确定出所述待认证对象的身份认证结果;其中,所述待认证量化值是根据所述待认证生物特征模板进行量化得到的;
所述获取所述待认证对象的身份认证结果,包括:接收服务器发送的所述待认证对象的身份认证结果。
21.根据权利要求19所述的方法,其特征在于,所述获取所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板进行量化,得到待认证量化值;
根据所述待认证量化值与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。
22.根据权利要求19所述的方法,其特征在于,所述获取所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板进行量化,得到待认证量化值;
根据所述待认证量化值与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥;
对所述待认证多因子密钥进行校验,确定出对所述待认证对象的身份认证结果。
23.根据权利要求22所述的方法,其特征在于,所述获取所述待认证对象的身份认证结果还包括:
对所述至少一个待认证密钥进行校验,得到校验通过的目标待认证密钥;
所述根据部分或全部的所述待认证密钥和第二变换密钥,得到待认证多因子密钥,包括:
根据所述目标待认证密钥和第二变换密钥,得到待认证多因子密钥。
24.根据权利要求22或23所述的方法,其特征在于,所述对所述待认证多因子密钥进行校验,包括:
根据部分或全部所述待认证多因子密钥确定部分或全部所述待认证多因子密钥对应的待认证多因子哈希值,或者,根据部分或全部所述待认证多因子密钥和与其对应的第一辅助数据所对应的第二哈希参数确定部分或全部的所述待认证多因子密钥对应的待认证多因子哈希值;
对于一个待认证多因子哈希值,若底库第二哈希值中存在与该待认证多因子哈希值匹配的底库第二哈希值,则该待认证多因子哈希值对应的待认证多因子密钥的校验结果为校验通过;
其中,所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为满足指定条件的第二哈希值;所述第二哈希值包括在所述注册信息中。
25.根据权利要求21、23-24任一项所述的方法,其特征在于,所述对所述待认证密钥进行校验,包括:
根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。
26.根据权利要求21-25任一项所述的方法,其特征在于,所述对所述待认证多因子密钥进行校验,还包括:
对所述待认证多因子密钥进行初步校验,得到初步校验通过的待认证多因子密钥;
所述对所述待认证多因子密钥进行初步校验,包括:利用所述待认证多因子密钥中的校验信息对所述待认证多因子密钥进行初步校验,或者,根据所述待认证多因子密钥生成待认证第二校验值,将所述待认证第二校验值和底库第二校验值进行比对来进行初步校验;
其中,所述底库第二校验值为所述数据库中所述待认证多因子密钥所对应的第一辅助数据所对应的第二校验值;
和/或,
所述对所述待认证密钥进行校验,还包括:
对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
对所述待认证密钥进行初步校验,包括:利用所述待认证密钥中的校验信息对所述待认证密钥进行初步校验,或者,根据所述待认证密钥生成待认证第一校验值,将所述待认证第一校验值和底库第一校验值进行比对来进行初步校验;
其中,所述底库第一校验值为所述数据库中所述待认证密钥所对应的第一辅助数据所对应的第一校验值。
27.根据权利要求21-26任一项所述的方法,其特征在于,所述方法还包括:
根据匹配哈希值确定与所述匹配哈希值对应的用户标识;
其中,所述根据匹配哈希值确定所述待认证对象的用户标识,包括:
将匹配哈希值发送给服务器,以使所述服务器根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;接收所述匹配哈希值对应的用户标识;
或者,根据所述匹配哈希值查询与所述匹配哈希值对应的用户标识;
其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值。
28.根据权利要求19所述的方法,其特征在于,所述获取所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板以及认证密钥,进行所述编码运算,得到待认证辅助数据;
根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
29.一种身份注册方法,其特征在于,包括:
接收终端设备发送的注册信息,所述注册信息是通过权利要求16-18任意一项的身份注册方法确定的;
将所述注册信息存储至数据库中,所述注册信息包括第一辅助数据。
30.根据权利要求29所述的方法,其特征在于,所述注册信息还包括:第一哈希值;所述将所述注册信息存储至数据库中,还包括:将所述第一哈希值存储至所述数据库中;
或/和,所述注册信息还包括:第一哈希值和第一哈希参数;所述将所述注册信息存储至数据库中,还包括:将所述第一哈希值存储至所述数据库中,将第一辅助数据和所述第一哈希参数关联存储至所述数据库中;
或/和,所述注册信息包括第二哈希值;所述将所述注册信息存储至数据库中,还包括:将所述第二哈希值存储至所述数据库中;
或/和,所述注册信息包括第二哈希值和第二哈希参数;所述将所述注册信息存储至数据库中,还包括:将所述第二哈希值存储至所述数据库中,将第一辅助数据和所述第二哈希参数关联存储至所述数据库中;
其中,所述第一哈希参数包括哈希运算所使用的盐值和/或轮数,所述第二哈希参数包括哈希运算所使用的盐值和/或轮数。
31.根据权利要求29或30所述的方法,其特征在于,所述第一辅助数据对应的密钥和/或所述第一多因子密钥中包含校验信息;或者,
所述注册信息还包括第一校验值和/或第二校验值,第一校验值和/或第二校验值与所述第一辅助数据关联存储至所述数据库中。
32.一种身份认证方法,其特征在于,所述方法包括:
接收终端设备发送的认证请求;
根据所述认证请求,从通过权利要求29-31任意一项所述的方法存储至数据库中的注册信息中确定出底库辅助数据;其中,所述底库辅助数据包括至少一个第一辅助数据。
33.根据权利要求32所述的方法,所述方法还包括:
通过安全通道接收终端设备发送的待认证生物特征模板或待认证量化值;
根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果;或者,根据所述待认证量化值和所述底库辅助数据,确定出所述待认证对象的身份认证结果;或者,根据所述待认证生物特征模板进行量化,得到待认证量化值,根据所述待认证量化值和所述底库辅助数据,确定出所述待认证对象的身份认证结果;其中,所述待认证量化值是根据所述待认证生物特征模板进行量化得到的;
向所述终端设备发送所述待认证对象的身份认证结果。
34.根据权利要求33所述的方法,其特征在于,所述根据所述待认证生物特征量化值和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证量化值与所述底库辅助数据,进行与所述编码运算对应的解码运算,确定出与所述底库辅助数据中包含的至少一个第一辅助数据对应的至少一个待认证密钥;
对所述待认证密钥进行校验,确定出对所述待认证对象的身份认证结果。
35.根据权利要求34所述的方法,其特征在于,所述对所述待认证密钥进行校验,包括:
根据部分或全部所述待认证密钥确定部分或全部所述待认证密钥对应的待认证哈希值,或者,根据部分或全部所述待认证密钥和与其对应的第一辅助数据所对应的第一哈希参数确定部分或全部所述待认证密钥对应的待认证哈希值;
对于一个待认证哈希值,若底库第一哈希值中存在与该待认证哈希值匹配的底库第一哈希值,则该待认证哈希值对应的待认证密钥的校验结果为校验通过;
其中,所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者所述底库第一哈希值为满足指定条件的第一哈希值;所述第一哈希值包括在所述注册信息中。
36.根据权利要求34-35任一项所述的方法,其特征在于,
所述对所述待认证密钥进行校验,还包括:
对所述待认证密钥进行初步校验,得到初步校验通过的待认证密钥;
对所述待认证密钥进行初步校验,包括:利用所述待认证密钥中的校验信息对所述待认证密钥进行初步校验,或者,根据所述待认证密钥生成待认证第一校验值,将所述待认证第一校验值和底库第一校验值进行比对来进行初步校验;
其中,所述底库第一校验值为所述数据库中所述待认证密钥所对应的第一辅助数据所对应的第一校验值。
37.根据权利要求33所述的方法,其特征在于,所述根据所述待认证生物特征模板和所述底库辅助数据,确定出所述待认证对象的身份认证结果,包括:
根据所述待认证生物特征模板和认证密钥,进行所述编码运算,得到待认证辅助数据;
根据所述待认证辅助数据与所述底库辅助数据的对比结果,确定出所述待认证对象的身份认证结果。
38.根据权利要求32所述的方法,所述方法还包括:向所述终端设备发送所述底库辅助数据。
39.根据权利要求38所述的方法,其特征在于,所述方法还包括以下至少一项:
将底库第一哈希值发送给所述终端设备,以使所述终端设备将待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
接收所述终端设备发送的待认证哈希值,将所述待认证哈希值与所述底库第一哈希值进行对比,确定与所述待认证哈希值匹配的所述底库第一哈希值;
将底库第二哈希值发送给所述终端设备,以使所述终端设备将待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
接收所述终端设备发送的待认证多因子哈希值,将所述待认证多因子哈希值与所述底库第二哈希值进行对比,确定与所述待认证多因子哈希值匹配的底库第二哈希值;
其中,所述待认证哈希值是根据所述底库辅助数据确定的;所述底库第一哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第一哈希值,或者,所述底库第一哈希值为所述数据库中满足指定条件的第一哈希值;所述待认证多因子哈希值是根据所述底库辅助数据确定的;所述底库第二哈希值为所述底库辅助数据中包含的第一辅助数据所对应的第二哈希值,或者所述底库第二哈希值为所述数据库中满足指定条件的第二哈希值。
40.根据权利要求32-39任一项所述的方法,其特征在于,所述数据库包括第一数据表和第二数据表;所述方法还包括:
根据匹配哈希值在所述数据库的第二数据表中查询与所述匹配哈希值对应的用户标识;
其中,所述匹配哈希值为校验结果为校验通过的待认证密钥所对应的待认证哈希值,或者,所述匹配哈希值为校验结果为校验通过的待认证多因子密钥所对应的待认证多因子哈希值;
其中,所述第一索引特征和所述第一辅助数据关联存储在所述第一数据表中;注册信息包括所述第二哈希值,所述用户标识和所述第二哈希值关联存储在所述第二数据表中,和/或,注册信息包括所述第一哈希值,所述用户标识和所述第一哈希值关联存储在所述第二数据表中。
41.一种密钥使用方法,其特征在于,包括:
使用上述权利要求21-27任意一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用上述权利要求21-27任意一项所述的身份认证方法确定出的校验通过的密钥进行数字签名、消息加密、消息解密、应用登录、数字钱包管理中的一种或多种处理;
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
42.一种数字签名方法,其特征在于,包括:
通过权利要求16至18任意一项所述的身份注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据;
生成第一私钥对应的第一公钥;其中,所述第一私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;
将所述第一公钥发送给验签方,以供所述验签方利用所述第一公钥对使用所述第一私钥生成的数字签名进行验签。
43.一种数字签名方法,其特征在于,包括:
使用上述权利要求21-27任意一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用上述权利要求21-27任意一项所述的身份认证方法确定出的校验通过的密钥对待签名信息进行签名,得到带有数字签名的签名数据;
将所述签名数据发送给验签方,以供所述验签方使用所述校验通过的密钥所对应的公钥对所述签名数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过权利要求42所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
44.一种消息解密方法,其特征在于,包括:
通过权利要求16-18任意一项所述的身份注册方法,确定出注册信息;其中,所述注册信息包括第一辅助数据;
生成第二私钥对应的第二公钥;其中,所述第二私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;
将所述第二公钥发送给消息加密方。
45.一种消息解密方法,其特征在于,包括:
接收消息加密方发送的待解密数据;
使用上述权利要求21-27任意一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用上述权利要求21-27任意一项所述的身份认证方法确定出的校验通过的密钥对所述待解密数据进行解密,得到解密数据;
其中,所述校验通过的密钥所对应的公钥通过权利要求44所述的方法发送给所述消息加密方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥;所述待解密数据是用所述校验通过的密钥所对应的公钥进行加密的。
46.一种应用登录方法,其特征在于,包括:
使用上述权利要求21-27任意一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则将使用上述权利要求21-27任意一项所述的身份认证方法确定出的校验通过的密钥登录目标应用程序;或,将使用上述权利要求27所述的身份认证方法确定出的校验通过的密钥和所述用户标识登录目标应用程序;
其中,所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
47.根据权利要求46所述的方法,其特征在于,使用如权利要求21-27任一项所述的身份认证方法确定出的校验通过的密钥登录目标应用程序,包括:根据所述校验通过的密钥进行哈希运算,将所述哈希运算结果发送至应用服务器以登录目标应用程序;或,使用如权利要求27所述的身份认证方法确定出的校验通过的密钥和所述用户标识登录目标应用程序,包括:根据所述校验通过的密钥进行哈希运算,将所述哈希运算结果和所述用户标识发送至应用服务器以登录目标应用程序。
48.一种区块链节点信息同步方法,其特征在于,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,包括:
通过权利要求16-18任意一项所述的身份注册方法,确定出注册信息,所述注册信息包括第一辅助数据;
生成第三私钥对应的第三公钥;其中,所述第三私钥为所述第一辅助数据对应的密钥或所述第一辅助数据对应的第一多因子密钥;
向所述区块链上的其他区块链节点广播所述第三公钥。
49.一种区块链节点信息同步方法,其特征在于,应用于区块链上的当前区块链节点,所述区块链上包括多个区块链节点,包括:
使用上述权利要求21-27任意一项所述的身份认证方法对待认证对象进行身份认证;
若所述待认证对象的身份认证成功,则使用上述权利要求21-27任意一项所述的身份认证方法确定出的校验通过的密钥对交易信息进行签名,得到带有数字签名的交易数据;
将所述交易数据广播给所述区块链上的其他区块链节点,以供所述其他区块链节点使用所述校验通过的密钥所对应的公钥对所述交易数据的数字签名进行验签;其中,所述校验通过的密钥所对应的公钥通过权利要求48所述的方法发送给所述验签方;所述校验通过的密钥包括校验通过的待认证密钥、校验通过的待认证多因子密钥或生成所述校验通过的待认证多因子密钥所使用的待认证密钥。
50.一种隐私保护的图像处理装置,其特征在于,包括:
第一获取模块,用于获取待处理图像,所述待处理图像包括第一生物特征区域,所述第一生物特征区域中包括多个第一特征点;
第一确定模块,用于根据所述第一生物特征区域,确定所述第一生物特征区域的第一生物特征模板,所述第一生物特征模板包括所述多个第一特征点对应的生物特征表示;
编码模块,用于对所述第一生物特征模板进行编码运算,得到第一辅助数据;
所述编码模块通过以下任意一种方式实现:
对所述第一生物特征模板进行特征转换,得到第一辅助数据;所述特征转换是根据第一辅助数据对应的密钥确定的;
根据所述第一生物特征模板进行量化,得到量化值;根据第一辅助数据对应的密钥确定纠错码码字;对所述纠错码码字进行第一变换处理,得到第一辅助数据;其中,所述根据第一辅助数据对应的密钥确定纠错码码字,包括:根据第一辅助数据对应的密钥和所述量化值确定纠错码码字;和/或,所述对所述纠错码码字进行第一变换处理,得到第一辅助数据,包括:根据所述量化值,对所述纠错码码字进行第一变换处理,得到第一辅助数据;所述第一变换处理为不可逆变换;
根据所述第一生物特征模板进行量化,得到量化值;确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据;根据所述量化值生成第一辅助数据对应的密钥;其中,确定纠错码码字;对所述纠错码码字进行第二变换处理,得到第一辅助数据,包括:随机确定纠错码码字;根据所述量化值对所述纠错码码字进行第二变换处理,得到第一辅助数据;或者,根据所述量化值确定纠错码码字,对所述纠错码码字进行第二变换处理,得到第一辅助数据;所述第二变换处理为不可逆变换;
其中,所述编码运算包括不可逆变换。
51.一种身份注册装置,其特征在于,包括:
第二确定模块,用于通过权利要求1-15任一项所述的方法确定待注册对象的注册信息中的第一辅助数据。
52.一种身份认证装置,其特征在于,包括:
第二获取模块,用于获取待认证对象的待认证图像,所述待认证图像包括第二生物特征区域,所述第二生物特征区域中包括多个第二特征点;
第三确定模块,用于根据所述第二生物特征区域,确定所述第二生物特征区域的待认证生物特征模板;
第三获取模块,用于获取所述待认证对象的身份认证结果,所述身份认证结果是根据待认证生物特征模板和底库辅助数据确定出的;
其中,所述底库辅助数据包括至少一个第一辅助数据;所述第一辅助数据是通过权利要求16至18任意一项所述的身份注册方法确定的。
53.一种身份注册装置,其特征在于,包括:
第一接收模块,用于接收终端设备发送的注册信息,所述注册信息是通过权利要求16-18任意一项的身份注册方法确定的;
第二存储模块,用于将所述注册信息存储至数据库中,所述注册信息包括第一辅助数据。
54.一种身份认证装置,其特征在于,包括:
第二接收模块,用于接收所述终端设备发送的认证请求;
底库辅助数据确定模块,用于根据所述认证请求,从通过权利要求29-31任意一项所述的方法存储至数据库中的注册信息中确定出底库辅助数据;其中,所述底库辅助数据包括至少一个第一辅助数据。
55.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至49任一所述的方法的步骤。
56.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至49任一所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111229310.7A CN116010917A (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 |
---|---|---|---|
CN202111229310.7A CN116010917A (zh) | 2021-10-21 | 2021-10-21 | 隐私保护的图像处理方法、身份注册方法及身份认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116010917A true CN116010917A (zh) | 2023-04-25 |
Family
ID=86023561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111229310.7A Pending CN116010917A (zh) | 2021-10-21 | 2021-10-21 | 隐私保护的图像处理方法、身份注册方法及身份认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116010917A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116756718A (zh) * | 2023-08-14 | 2023-09-15 | 安徽大学 | 一种基于U-Sketch的生物特征数据纠错方法、系统、工具 |
CN117218685A (zh) * | 2023-10-18 | 2023-12-12 | 湖南工商大学 | 考虑特征模板保护的生物特征识别方法 |
CN117318941A (zh) * | 2023-11-29 | 2023-12-29 | 合肥工业大学 | 基于车内网的预置密钥分发方法、系统、终端及存储介质 |
WO2024234673A1 (zh) * | 2023-05-18 | 2024-11-21 | 中兴通讯股份有限公司 | 向量矩阵的确定方法、系统、存储介质及电子装置 |
-
2021
- 2021-10-21 CN CN202111229310.7A patent/CN116010917A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024234673A1 (zh) * | 2023-05-18 | 2024-11-21 | 中兴通讯股份有限公司 | 向量矩阵的确定方法、系统、存储介质及电子装置 |
CN116756718A (zh) * | 2023-08-14 | 2023-09-15 | 安徽大学 | 一种基于U-Sketch的生物特征数据纠错方法、系统、工具 |
CN116756718B (zh) * | 2023-08-14 | 2023-12-01 | 安徽大学 | 一种基于U-Sketch的生物特征数据纠错方法、系统、工具 |
CN117218685A (zh) * | 2023-10-18 | 2023-12-12 | 湖南工商大学 | 考虑特征模板保护的生物特征识别方法 |
CN117318941A (zh) * | 2023-11-29 | 2023-12-29 | 合肥工业大学 | 基于车内网的预置密钥分发方法、系统、终端及存储介质 |
CN117318941B (zh) * | 2023-11-29 | 2024-02-13 | 合肥工业大学 | 基于车内网的预置密钥分发方法、系统、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Cancelable fingerprint templates using minutiae-based bit-strings | |
Sandhya et al. | Securing fingerprint templates using fused structures | |
Cimato et al. | Privacy-aware biometrics: Design and implementation of a multimodal verification system | |
Lee et al. | Biometric key binding: Fuzzy vault based on iris images | |
CN105471575B (zh) | 一种信息加密、解密方法及装置 | |
Jain et al. | Fingerprint template protection: From theory to practice | |
CN116010917A (zh) | 隐私保护的图像处理方法、身份注册方法及身份认证方法 | |
US11227037B2 (en) | Computer system, verification method of confidential information, and computer | |
Benhammadi et al. | Password hardened fuzzy vault for fingerprint authentication system | |
Billeb et al. | Biometric template protection for speaker recognition based on universal background models | |
Sadhya et al. | Review of key‐binding‐based biometric data protection schemes | |
WO2023133907A1 (zh) | 一种隐私保护生物认证方法和装置、电子设备 | |
Kaur et al. | Cryptographic key generation from multimodal template using fuzzy extractor | |
Sandhya et al. | Cancelable fingerprint cryptosystem using multiple spiral curves and fuzzy commitment scheme | |
Shi et al. | Fingerprint recognition strategies based on a fuzzy commitment for cloud-assisted IoT: a minutiae-based sector coding approach | |
Dong et al. | Secure chaff-less fuzzy vault for face identification systems | |
Wu et al. | A face based fuzzy vault scheme for secure online authentication | |
CN114117383A (zh) | 一种注册方法、认证方法及装置 | |
Martínez et al. | Secure crypto-biometric system for cloud computing | |
Sadhya et al. | Design of a cancelable biometric template protection scheme for fingerprints based on cryptographic hash functions | |
Baghel et al. | An enhanced fuzzy vault to secure the fingerprint templates | |
Yang et al. | A Delaunay triangle group based fuzzy vault with cancellability | |
Wang et al. | A novel template protection scheme for multibiometrics based on fuzzy commitment and chaotic system | |
US11501580B1 (en) | Methods and systems for implementing secure biometric recognition | |
CN108429614A (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 | ||
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. |
|
TA01 | Transfer of patent application right |