CN109075974B - 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统 - Google Patents

指纹算法库与指纹传感器的绑定认证方法及指纹识别系统 Download PDF

Info

Publication number
CN109075974B
CN109075974B CN201680001815.9A CN201680001815A CN109075974B CN 109075974 B CN109075974 B CN 109075974B CN 201680001815 A CN201680001815 A CN 201680001815A CN 109075974 B CN109075974 B CN 109075974B
Authority
CN
China
Prior art keywords
data
fingerprint
fingerprint sensor
random
decrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680001815.9A
Other languages
English (en)
Other versions
CN109075974A (zh
Inventor
胡荣英
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Goodix Technology Co Ltd
Original Assignee
Shenzhen Goodix Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Goodix Technology Co Ltd filed Critical Shenzhen Goodix Technology Co Ltd
Publication of CN109075974A publication Critical patent/CN109075974A/zh
Application granted granted Critical
Publication of CN109075974B publication Critical patent/CN109075974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

一种指纹算法库与指纹传感器的绑定认证方法及指纹识别系统,该指纹算法库与指纹传感器的绑定认证方法包括以下步骤:主机端生成随机数据;指纹传感器获取所述随机数据,并对所述随机数据进行加密得到加密数据;所述主机端从所述指纹传感器读取所述加密数据,并对所述加密数据进行解密得到解密数据;所述主机端比较所述随机数据和所述解密数据是否一致,并在二者一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证成功。上述指纹算法库与指纹传感器的绑定认证方法,使同一厂家的指纹算法库必须配合自己的指纹传感器才能使用,否则使用自己的算法搭配别的厂商的指纹传感器则算法无法正常工作,避免被盗用。

Description

指纹算法库与指纹传感器的绑定认证方法及指纹识别系统
技术领域
本发明涉及指纹识别技术领域,特别是涉及了一种指纹算法库与指纹传感器的绑定认证方法及指纹识别系统。
背景技术
随着指纹识别技术的不断发展,指纹识别技术在智能手机等行业应用得越来越广泛,指纹识别系统基本都是由HOST端、指纹应用单元、指纹算法库、指纹传感器组成。其中,指纹传感器负责采集指纹数据;HOST端如手机等使用指纹应用的主机;HOST端的底层驱动,负责通过接口驱动和指纹传感器进行交互,读取指纹传感器采集的指纹数据;指纹算法库提供指纹特征提取、模板注册、指纹识别等操作函数,为核心单元;指纹应用单元会调用指纹算法库中的函数进行相应的操作。
大部分指纹传感器厂商都会研发自己的指纹算法库,并且指纹传感器和指纹算法库配套销售,由于研发实力的不同,算法和指纹传感器性能会存在差异,这样就会存在有些指纹传感器厂商投机倒把,把自己的传感器输出数据模仿成和算法性能高的传感器厂商的传感器一致,从而盗用性能高的指纹算法库。
发明内容
为了解决上述现有技术的不足,本发明提供了一种指纹算法库与指纹传感器的绑定认证方法,本发明还提供了一种指纹识别系统。
一方面,本发明提供一种指纹算法库与指纹传感器的绑定认证方法,包括:主机端生成随机数据;指纹传感器获取所述随机数据,并对所述随机数据进行加密得到加密数据;所述主机端从所述指纹传感器读取所述加密数据,并对所述加密数据进行解密得到解密数据;所述主机端比较所述随机数据和所述解密数据是否一致,并在二者一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证成功。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述主机端通过其与所述指纹传感器之间的数据接口将所述随机数据以明文方式直接传输给所述指纹传感器。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,还包括:所述主机端利用第一加密密钥对其生成的随机数据进行加密,得到第一加密数据;所述主机端通过其与所述指纹传感器之间的数据接口将所述第一加密数据传输给所述指纹传感器。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述指纹传感器获取所述随机数据包括:所述指纹传感器接收所述主机端传输的第一加密数据,并利用第一解密密钥对所述第一加密数据进行解密,得到第一解密数据,其中所述指纹传感器解密得到的所述第一解密数据为所述随机数据。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述第一加密密钥和所述第一解密密钥为所述指纹传感器的身份识别号码的部分或全部。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述指纹传感器利用第二加密密钥对获取到的随机数据进行加密处理,且得到的加密数据为第二加密数据;所述主机端利用第二解密密钥对所述第二加密数据进行解密处理,且得到的解密数据为第二解密数据。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述第二加密密钥和所述第二解密密钥均为以所述指纹传感器的身份识别号码的部分或者全部作为密钥,并对将所述随机数据进行加密处理得到的数据。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,还包括:在所述随机数据和所述解密数据不一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证失败,并返回进行循环认证。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述主机端的操作在所述指纹算法库的算法初始化函数中实现,且在所述随机数据和所述解密数据一致相时允许使用所述指纹算法库中的函数,在二者不一致时则直接退出算法,不允许调用所述指纹算法库中函数。
作为本发明提供的指纹算法库与指纹传感器的绑定认证方法的一种改进,所述主机端的操作在所述指纹算法库中进行函数调用时实现,且在所述随机数据和所述解密数据一致相时正确执行库函数,在二者不一致时同则退出所述库函数并返回错误。
另一方面,本发明还提供一种指纹识别系统,包括主机端和指纹传感器,所述主机端和所述指纹传感器之间通过数据接口进行数据传输;其中,所述指纹传感器用于获取所述主机端生成的随机数据,并对所述随机数据进行加密得到加密数据;所述主机端用于生成所述随机数据,从所述指纹传感器读取所述加密数据,并对所述加密数据进行解密得到解密数据;并且,比较所述随机数据和所述解密数据是否一致,并在二者一致时判断出指纹算法库和所述指纹传感器之间的绑定认证成功。
作为本发明提供的指纹识别系统的一种改进,所述主机端包括:随机数据生成单元,用于生成所述随机数据;第一通信单元,用于通过所述主机端与所述指纹传感器之间的数据接口将所述随机数据以明文方式直接传输给所述指纹传感器。
作为本发明提供的指纹识别系统的一种改进,所述主机端包括:随机数据生成单元,用于生成所述随机数据;第一加密单元,用于利用第一加密密钥对所述随机数据进行加密,得到第一加密数据;第一通信单元,用于通过所述主机端与所述指纹传感器之间的数据接口将所述第一加密数据传输给所述指纹传感器。
作为本发明提供的指纹识别系统的一种改进,所述指纹传感器包括:第二通信单元,用于接收所述主机端通过所述数据接口传输的第一加密数据;第一解密单元,用于利用第一解密密钥对所述第一加密数据进行解密,得到第一解密数据,其中所述第一解密单元解密得到的所述第一解密数据为所述随机数据。
作为本发明提供的指纹识别系统的一种改进,所述第一加密密钥和所述第一解密密钥为所述指纹传感器的身份识别号码的部分或全部。
作为本发明提供的指纹识别系统的一种改进,所述指纹传感器还包括第二加密单元,用于利用第二加密密钥对获取到的随机数据进行加密处理,得到的加密数据为第二加密数据;且所述第二通信单元还用于通过所述数据接口将所述第二加密数据提供给所述主机端;所述主机端的第一通信单元还用于通过所述数据接口接收所述指纹传感器提供的第二加密数据,且所述主机端还包括第二解密单元,用于利用第二解密密钥对所述第二加密数据进行解密处理,得到的解密数据为第二解密数据。
作为本发明提供的指纹识别系统的一种改进,所述第二加密密钥和所述第二解密密钥均为以所述指纹传感器的身份识别号码的部分或者全部作为密钥,并对将所述随机数据进行加密处理得到的数据。
作为本发明提供的指纹识别系统的一种改进,所述主机端还包括:比较单元,用于比较所述随机数据和所述解密数据是否一致;指纹识别单元,用于在所述随机数据和所述解密数据一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证成功,而在所述随机数据和所述解密数据不一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证失败并返回进行循环认证。
作为本发明提供的指纹识别系统的一种改进,所述主机端的操作在所述指纹算法库的算法初始化函数中实现,且所述指纹识别单元用于在所述随机数据和所述解密数据一致相时允许使用所述指纹算法库中的函数,在二者不一致时则直接退出算法,不允许调用所述指纹算法库中函数。
作为本发明提供的指纹识别系统的一种改进,所述主机端的操作在所述指纹算法库中进行函数调用时实现,且所述指纹识别单元用于在所述随机数据和所述解密数据一致相时正确执行库函数,在二者不一致时同则退出所述库函数并返回错误。
本发明具有如下有益效果:
本指纹算法库与指纹传感器的绑定认证方法,使同一厂家的指纹算法库必须配合自己的指纹传感器才能使用,否则使用自己的算法搭配别的厂商的指纹传感器则算法无法正常工作,避免被盗用;每一次认证的时候HOST产生的随机数据Random1都不相同,具有不确定性,难以破解;
认证用的随机数据Random1和加解密密钥也是每次不同的,具有不确定性,难以破解;采用具有唯一性的指纹传感器的ID作为密钥对随机数据Random1进行加密作为加解密密钥,这样增加了数据加解密的安全性;
HOST端的认证都在指纹算法库内部实现,并且指纹算法库都是库文件,不会开放源码,安全性较高。
附图说明
图1是本发明指纹算法库与指纹传感器的绑定认证方法一种实施例的原理框图;
图2是本发明指纹算法库与指纹传感器的绑定认证方法另一种实施例的原理框图;
图3是本发明实施例1中指纹算法库与指纹传感器的绑定认证方法的原理框图;
图4是本发明实施例1中指纹算法库与指纹传感器的绑定认证方法的流程示意图;
图5是本发明实施例2中指纹算法库与指纹传感器的绑定认证方法的原理框图;
图6是本发明实施例2中指纹算法库与指纹传感器的绑定认证方法的流程示意图;
图7是本发明实施例3中指纹识别系统的结构框图;
图8是本发明实施例4中指纹识别系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明进行详细的说明。
针对背景技术所描述的缺陷,本发明提供了一种指纹算法库与指纹传感器的绑定认证方法,该指纹算法库储存在HOST端,HOST端与指纹传感器通信连接,如图1所示,该指纹算法库与指纹传感器的绑定认证方法包括以下步骤:
步骤1、每次认证时,主机(HOST)生成随机数据Random1;
步骤2、指纹传感器获取随机数据Random1并利用第二加密密钥KEY_En2对其进行加密得到第二加密数据Random_En2;
步骤3、HOST端从指纹传感器读回第二加密数据Random_En2读回,并利用第二解密密钥KEY_De2进行解密,得到第二解密数据Random2;
步骤4、将随机数据Random1和第二解密数据Random2进行比较,若两者一致则认证成功,即可使用指纹算法库中的函数;若两者不一致则认证失败,返回步骤1进行循环认证。
具体实现时,HOST端的操作在指纹算法库中完成,比如在指纹算法库的算法初始化函数中实现,或是在指纹算法库中进行函数调用时实现;其中算法主要函数包括指纹特征提取、模板注册、指纹识别等操作函数。在将随机数据Random1和第二解密数据Random2进行比较时,在算法初始化函数中实现的情况下,两者(随机数据Random1和第二解密数据Random2)相同则可以使用指纹算法库中的函数,不相同则直接退出算法,不允许调用指纹算法库中函数。在指纹算法库中进行函数调用时实现的情况下,两者(随机数据Random1和第二解密数据Random2)相同则正确执行该指纹算法库函数,不同则退出该库函数,并返回错误,函数功能执行不正常。
在上述指纹算法库与指纹传感器的绑定认证方法中,HOST端通过数据接口(比如HOST端与指纹传感器之间数据通信接口)向指纹传感器传输的数据为明文,即未加密的随机数据Random1,但在HOST端也可以对随机数据Random1进行加密,使HOST端通过上述数据接口向指纹传感器传输的随机数据转换为第一加密数据。如图2所示,即步骤1和步骤2之间还包括以下步骤:
HOST端通过第一加密密钥KEY_En1对随机数据Random1进行加密得到第一加密数据Random_En1,然后再通过上述数据接口将其发送给到指纹传感器;指纹传感器收到第一加密数据Random_En1对通过第一解密密钥KEY_De1对所述第一加密数据Random_En1进行解密得到第一解密数据Random1。
为了防止在认证的时候由于ESD(静电放电)或者其他问题导致接口数据传输出错进而导致认证出错,具体实现时,指纹算法库与指纹传感器的绑定认证次数可以设置为多次,比如优选设置为3次,在连续3次绑定认证都出现失败才认为认证失败。认证次数上限不做限制,也可设置更多次。
另一方面,本实施例中的指纹算法库和指纹传感器的加解密算法可以采用对称算法也可以是非对称算法。在采用对称算法时,第一加密密钥KEY_En1和第二解密密钥KEY_De1相同,第二加密密钥KEY_En2和第二解密密钥KEY_De2相同。在采用非对称算法时第一加密密钥KEY_En1和第一解密密钥KEY_De1不同,比如,其中一个使用公钥而另一个使用私钥;相类似地,第二加密密钥KEY_En2和第二解密密钥KEY_De2不同,比如其中一个使用公钥而另一个使用私钥。
本发明中的用于进行数据加密和解密的密钥(即所述第一加密密钥KEY_En1、第二加密密钥KEY_En2、第一解密密钥KEY_De1和第二解密密钥KEY_De2)可以是一串数据,例如使用保存在指纹传感器内部的存储单元中的身份识别号码(ID)作为密钥,每个指纹传感器在生产时随机写入其自身的ID,所述指纹传感器的ID具有唯一性,即是每个指纹传感器的ID都不一样,该存储单元可以是Flash、OTP等不易挥发性存储介质。
在一种替代实施例中,上述密钥也可以是使用数据经过加密后的加密数据,例如使用ID作为密钥,并将随机数据Random1作为数据进行加密得到的加密数据KEY。
本指纹算法库与指纹传感器的绑定认证方法,使同一厂家的指纹算法库必须配合自己的指纹传感器才能使用,否则使用自己的算法搭配别的厂商的指纹传感器则算法无法正常工作,避免被盗用;并且,在每一次认证的时候HOST端产生的随机数据Random1都不相同,具有不确定性,难以破解;因此,认证用的随机数据Random1和加密数据KEY也是每次不同的,具有不确定性,难以破解;另外,由指纹传感器的ID(每个指纹传感器都有一个用于识别身份的ID,该ID具有唯一性)作为密钥对随机数据Random1数据进行加密作为加密数据KEY,其用于加解密的密钥,这样增加了数据加解密的安全性;HOST端的认证都在指纹算法库内部实现,并且指纹算法库都是库文件,不会开放源码,安全性较高。
实施例1
请参阅图3和图4,其中图3是本发明提供的一种指纹算法库与指纹传感器的绑定认证方法第一个实施例的原理图,图4是图3所示的绑定认证方法的流程示意图。所述指纹算法库与指纹传感器的绑定认证方法包括以下步骤:
S11,每次认证时,HOST端生成随机数据Random1。所述随机数据Random1可以根据时间等参数生成,本实施例对此不作限制;
S12、HOST端利用第一加密密钥KEY_En1对随机数据Random1进行加密,得到第一加密数据Random_En1;
具体地,HOST端的指纹算法库可以通过其内部的第一加密单元并采用预设的第一加密函数对步骤S11生成的随机数据Random1进行第一次加密处理,得到第一加密数据Random_En1;其中所述第一次加密处理采用的第一加密密钥KEY_En1可以为从指纹传感器读取的指纹传感器的身份识别号码(ID),所述指纹传感器的ID可以预先保存在指纹传感器内部的存储单元中。每个指纹传感器在生产时产生具有唯一性的随机数作为ID并写入其内部的存储单元,每个指纹传感器的ID都不一样,其中所述存储单元可以是Flash、OTP等不易挥发性存储介质。HOST端的指纹算法库会从指纹传感器读取所述身份识别号码(ID),并将其作为对随机数据Random1进行第一次加密处理的第一加密密钥KEY_En1。
S13,HOST端通过数据接口将第一加密数据Random_En1发送给指纹传感器;
HOST端在将随机数据Random1加密得到第一加密数据Random_En1之后,通过数据接口将第一加密数据Random_En1写入到指纹传感器,指纹传感器可以进一步通过数据接口接收到HOST端提供的第一加密数据Random_En1。
S14,指纹传感器利用第一解密密钥KEY_De1对第一加密数据Random_En1进行解密,得到第一解密数据Random1;
具体地,指纹传感器可以通过其内部的第一解密单元并采用预设的第一解密函数对从HOST端接收到的第一加密数据Random_En1进行第一次解密处理,其中第一解密函数是步骤S12采用的第一加密函数的反函数。并且,在步骤S14中,指纹传感器采用的第一解密密钥KEY_De1可以同样是所述指纹传感器的身份识别号码(ID)。由于第一加密数据Random_En1是由随机数据Random1加密得到,因此在步骤S14中指纹传感器在对第一加密数据Random_En1进行成功进行解密处理得到的第一解密数据Random1便是所述随机数据Random1。
S15,指纹传感器利用第二加密密钥KEY_En2对第一解密数据Random1进行加密,得到第二加密数据Random_En2;
具体地,指纹传感器可以通过其内部的第二加密单元并采用预设的第二加密函数对步骤S14得到的第一解密数据Random1进行第二次加密处理,其中,本步骤中指纹传感器在进行第二次加密处理所采用的第二加密密钥KEY_En2可以通过以下方式得到:
S15-1,指纹传感器通过内部的第三加密单元并采用预设的第三加密函数对所述第一解密数据Random1或第一解密数据Random1的一部分(即第一解密数据Random1的部分或全部)进行加密处理,其中所述加密处理所采用的密钥可以具体为所述指纹传感器的身份识别号码(ID)。其中,所述加密处理得到的第三加密数据作为所述第二加密密钥KEY_En2。
S16,指纹传感器通过数据接口将第二加密数据Random_En2发送给HOST端;
指纹传感器在将第一解密数据Random1进行第二次加密处理得到第二加密数据Random_En2之后,通过其与HOST端之间数据接口将第二加密数据Random_En2提供给HOST端;HOST端可以进一步通过数据接口读取到第二加密数据Random_En2。
S17,HOST端利用第二解密密钥KEY_De2对第二加密数据Random_En2进行解密,得到第二解密数据Random2;
S17-1,具体地,HOST端可以通过其内部的第二解密单元并采用预设的第二解密函数对从指纹传感器读取的第二加密数据Random_En2进行第二次解密处理,其中,本步骤中HOST端的第二解密函数可以为步骤S16采用的第二加密函数的反函数。并且,HOST端进行第二次解密处理所采用的第二解密密钥KEY_De2可以通过以下方式得到:
HOST端通过内部的第四加密单元并采用预设的第四加密函数对随机数据Random1或随机数据Random1的一部分(即随机数据Random1的部分或全部)进行加密处理,其中所述加密处理所采用的密钥同样可以具体为所述指纹传感器的身份识别号码(ID)。本步骤的加密数据的加密过程在HOST端指纹算法库中完成;其中HOST端采用的第四加密函数可与指纹传感器采用的第三加密函数相同或不同。
S18、HOST端将随机数据Random1和第二解密数据Random2进行比较,若两者一致则认证成功,即可使用指纹算法库中的函数;若两者不一致则认证失败,返回步骤S11进行循环认证。
在一种实施例中,HOST端的操作具体在指纹算法库的算法初始化函数中实现,此时如果随机数据Random1和第二解密数据Random2相同则可以使用指纹算法库中的函数,不相同则直接退出算法,不允许调用指纹算法库中函数;
在另一种实施例中,HOST端的操作在指纹算法库中进行函数调用时实现,此时如果随机数据Random1和第二解密数据Random2相同则正确执行该库函数,不同则退出该库函数,并返回错误,函数功能执行不正常。
另一方面,在步骤S18出现认证失败的情况下,为了防止在认证的时候由于ESD干扰或者其他问题导致接口数据传输出错进而导致认证出错,本实施例可以在出现认证失败之后返回步骤S11进行循环认证。其中,所述循环认证次数可以优选设置为3次,即在连续3次都出现失败才认为认证失败。
需要注意的是,在本实施例中,随机数据、第一加密/解密密钥、第一加密/解密数据、第二加密/解密数据、第二加密/解密密钥等的长度由加解密算法决定,不同的算法这些长度可能不一样。
实施例2
请参阅图5和图6,其中图5是本发明提供的一种指纹算法库与指纹传感器的绑定认证方法第二个实施例的原理图,图6是图5所示的绑定认证方法的流程示意图。与实施例1相比,实施例2的主要区别在于HOST端直接将其生成的随机数据Random1提供给指纹传感器,而没有对随机数据Random1数据进行第一加密处理,即HOST端在其与指纹传感器之间的数据接口写上的数据为明文。如图7和图8所示,本实施例提供的指纹算法库与指纹传感器的绑定认证方法,其包括以下步骤:
S21,每次认证时,HOST端生成随机数据Random1。
S22,HOST端通过数据接口将随机数据Random1发送给到指纹传感器。
S23,指纹传感器利用第二加密密钥KEY_En2对随机数据Random1进行加密,得到第二加密数据Random_En2;
具体地,指纹传感器可以通过其内部的第二加密单元并采用预设的第二加密函数从HOST端接收到的随机数据Random1进行加密处理,其中,本步骤中指纹传感器在进行加密处理所采用的第二加密密钥KEY_En2可以通过以下方式得到:
S23-1,指纹传感器通过内部的第三加密单元并采用预设的第三加密函数对所述随机数据Random1的部分或全部进行加密处理,其中所述加密处理所采用的密钥可以具体为所述指纹传感器的身份识别号码(ID)。其中,所述第三加密单元的加密处理得到的加密数据作为所述第二加密密钥KEY_En2。
S24,指纹传感器通过数据接口将第二加密数据Random_En2发送给到HOST端。
S25,HOST端利用第二解密密钥KEY_De2对第二加密数据Random_En2进行解密,得到第二解密数据Random2;
具体地,HOST端可以通过其内部的第二解密单元并采用预设的第二解密函数对从指纹传感器读取的第二加密数据Random_En2进行第二次解密处理,其中,本步骤中HOST端的第二解密函数可以为步骤S24采用的第二加密函数的反函数。并且,HOST端进行第二次解密处理所采用的第二解密密钥KEY_De2可以通过以下方式得到:
S25-1,HOST端通过内部的第四加密单元并采用预设的第四加密函数对随机数据Random1的部分或全部进行加密处理,其中所述加密处理所采用的密钥同样可以具体为所述指纹传感器的身份识别号码(ID)。本步骤的加密数据的加密过程在HOST端指纹算法库中完成;其中HOST端采用的第四加密函数可与指纹传感器采用的第三加密函数相同或不同。
S26、HOST端将随机数据Random1和第二解密数据Random2进行比较,若两者一致则认证成功,即可使用指纹算法库中的函数;若两者不一致则认证失败,返回步骤S21进行循环认证。
步骤S26及其后续步骤可以具体参阅步骤S18的相关描述,此处不再赘述
基于上述指纹算法库与指纹传感器的绑定认证方法的两个实施例,本发明还进一步提供一种可以适用于上述指纹算法库与指纹传感器的绑定认证方法的指纹识别系统。所述指纹识别系统包括主机端和指纹传感器,所述主机端和所述指纹传感器之间通过数据接口进行数据传输;所述指纹传感器用于获取所述主机端生成的随机数据,并对所述随机数据进行加密得到加密数据;所述主机端用于生成所述随机数据,从所述指纹传感器读取所述加密数据,并对所述加密数据进行解密得到解密数据;并且,比较所述随机数据和所述解密数据是否一致,并在二者一致时判断出指纹算法库和所述指纹传感器之间的绑定认证成功。以下分别通过实施例3和实施例4对本发明提供的指纹识别系统进行说明。
实施例3
如图7所示,本实施例还提供了一种指纹识别系统,所述指纹识别系统对应于所述指纹算法库和所述指纹传感器之间的绑定认证方法的实施例1,其包括HOST端710和指纹传感器720,所述HOST端710和所述指纹传感器720通过二者之间的数据接口相互连接并进行数据传输。其中,
所述HOST端710包括:
随机数生成单元711,其用于生成随机数据Random1;
第一加密单元712,其用于利用第一加密密钥KEY_En1对所述随机数据Random1进行加密,得到第一加密数据Random_En1;其中所述第一加密单元712可以通过预设的第一加密函数来对所述随机数据Random1进行加密处理。
第一通信单元713,用于通过所述HOST端710与所述指纹传感器720之间的数据接口将所述第一加密数据Random_En1传输给所述指纹传感器720。
所述指纹传感器720包括:
第二通信单元721,用于接收所述HOST端710通过所述数据接口传输的第一加密数据Random_En1;
第一解密单元722,用于利用第一解密密钥KEY_De1对所述第一加密数据Random_En1进行解密,得到第一解密数据,其中,所述第一解密单元722可以通过预设的第一解密函数对所述第一加密数据Random_En1进行解密处理,且所述第一解密函数为所述第一加密函数的反函数。由于所述第一加密数据Random_En1为所述随机数据Random1通过所述第一加密密钥KEY_En1进行加密得到的,因此所述第一解密单元722对所述第一加密数据Random_En1进行解密得到的所述第一解密数据便为所述随机数据Random1。
进一步地,在本实施例中,所述HOST端710的第一加密单元712所采用的第一加密密钥KEY_En1和所述指纹传感器720的第一解密单元722所采用的第一解密密钥KEY_De1可以分别为所述指纹传感器720的身份识别号码(ID)的部分或全部。
其中,所述指纹传感器720的ID可以是在生产时随机写入并保存到所述指纹传感器720的一串数据,其具有唯一性。所述HOST端710可以从所述指纹传感器710读取所述ID并进行保存,以供所述第一加密单元712将所述ID作为第一加密密钥KEY_En1。所述指纹传感器720的第一解密数据722可以将所述ID作为所述第一解密密钥KEY_De1。
相对应地,在具体实施例中,所述HOST端710和所述指纹传感器720还可以分别包括第一存储单元714和第二存储单元724,二者用于存储所述指纹传感器720的身份识别号码(ID);其中,所述第一存储单元714和所述第二存储单元724可以具体是Flash、OTP等不易挥发性存储介质。
在本实施例中,所述指纹传感器720还可以进一步包括:
第二加密单元725,用于利用第二加密密钥KEY_En2对其获取到的随机数据Random1(即所述第一解密数据)进行加密处理,得到加密数据为第二加密数据Random_En2;其中所述第二加密单元725可以通过预设的第二加密函数进行上述加密处理。所述第二通信单元721还用于通过所述数据接口将所述第二加密数据Random_En2提供给所述HOST端710。
所述HOST端710的第一通信单元713还用于通过所述数据接口接收所述指纹传感器720提供的第二加密数据Random_En2,且所述主机端710还包括第二解密单元715,用于利用第二解密密钥KEY_De2对所述第二加密数据Random_En2进行解密处理,得到的解密数据为第二解密数据Random2。其中,所述第二解密单元715可以通过预设的第二解密函数来进行上述解密处理。
其中,所述第二加密单元725采用第二加密密钥KEY_En2和所述第二解密单元715采用的第二解密密钥KEY_De2可以分别为以所述指纹传感器720的身份识别号码(ID)的部分或者全部作为密钥,并对将所述随机数据Random1(或所述第一解密数据)进行加密处理得到的数据。
在本实施例中,所述指纹传感器720可以进一步包括加密密钥生成模块,用于根据所述指纹传感器720的身份识别号码(ID)和所述第一解密数据(即所述随机数据Random1)生成所述第二加密密钥。其中,所述加密密钥生成模块可以通过以下第三加密单元726来实现。所述第三加密单元726,用于采用所述指纹传感器720的身份识别号码(ID)的部分或全部作为密钥,对所述第一解密单元722解密得到的第一解密数据(即所述随机数据Random1)进行加密处理,并将得到的数据作为所述第二加密密钥KEY_En2。
相对应地,所述HOST端710可以进一步包括解密密钥生成模块,用于根据所述指纹传感器720的身份识别号码(ID)和所述随机数据Random1生成所述第二解密密钥。其中,所述解密密钥生成模块可以通过以下第四加密单元716来实现。所述第四加密单元716,用于采用所述指纹传感器720的身份识别号码(ID)的部分或全部作为密钥,对所述随机数据生成模块711生成的随机数据Random1进行加密处理,并将得到的数据作为所述第二解密密钥KEY_De2。
进一步地,所述HOST端710还可以包括:
判断单元717,用于比较所述随机数据生成模块711生成的随机数据Random1和所述第二解密模块715得到的第二解密数据Random2是否一致;
指纹识别单元718,用于在所述随机数据Random1和所述第二解密数据Random2一致时判断出所述指纹算法库和所述指纹传感器720之间的绑定认证成功,而在所述随机数据Random1和所述解密数据Random2不一致时判断出所述指纹算法库和所述指纹传感器720之间的绑定认证失败并返回进行循环认证。
具体地,所述HOST端710的操作可以在所述指纹算法库的算法初始化函数中实现,且所述指纹识别单元718用于在所述随机数据Random1和所述解密数据Random2一致相时允许使用所述指纹算法库中的函数,在二者不一致时则直接退出算法,不允许调用所述指纹算法库中函数。或者,所述HOST端710的操作也可以在所述指纹算法库中进行函数调用时实现,且所述指纹识别单元718用于在所述随机数据Random1和所述解密数据Random2一致相时正确执行库函数,在二者不一致时同则退出所述库函数并返回错误。
另一方面,在具体实施例中,所述指纹传感器720还可以进一步包括指纹采集单元728,用于采集用户输入的指纹数据。所述HOST端710的第一存储单元714除了用于储存从所述指纹传感器720读取的身份识别号码(ID)之外,还可以用于存储所述随机数据Random1、所述第一加密函数、所述第二解密函数、所述第四加密函数及指纹算法函数等。所述指纹传感器720的第二存储单元724除了用于存储所述指纹传感器720的身份识别号码(ID)以外,还用于储存所述第一解密函数、所述第二加密函数、所述第三加密函数和所述指纹数据等。
另外,在具体实施例中,所述HOST端710的随机数生成单元711、第一加密单元712、第二解密单元715、第四加密单元716、比较单元717和指纹识别单元718可以通过HOST端710中的CPU运行所述第一存储单元714中存储的程序模块实现。所述指纹传感器720的第一解密单元722、第二加密单元725和第三加密单元726可以通过所述指纹传感器720中的CPU运行所述第二存储单元724中存储的程序模块实现。另外,所述第一通信单元713和所述第二通信单元721可以通过数据发送电路和数据接收电路来实现。可替代地,在另一种实施例中,所述随机数生成单元711、第一加密单元712、第二解密单元715、第四加密单元716、比较单元717、指纹识别单元718、第一解密单元722、第二加密单元725和第三加密单元726的功能也可以采用硬件电路来实现。
实施例4
如图8所示,本实施例还提供了另一种指纹识别系统,所述指纹识别系统对应于所述指纹算法库和所述指纹传感器之间的绑定认证方法的实施例2,其包括通信连接的HOST端810和指纹传感器820,所述HOST端810和所述指纹传感器820通过二者之间的数据接口相互连接并进行数据传输。其中,本实施例的指纹识别系统与上一实施例的主要区别在于所述HOST端810将其生成的随机数据Random1不经过加密处理而直接传输给所述指纹传感器820。
具体地,所述HOST端810包括:
随机数生成单元811,其用于生成随机数据Random1;
第一通信单元813,用于通过所述HOST端810与所述指纹传感器820之间的数据接口将所述随机数据Random1以明文方式直接传输给所述指纹传感器820。
所述指纹传感器820包括:
第二通信单元821,用于接收所述HOST端810通过所述数据接口传输的随机数据Random1;
第二加密单元825,用于利用第二加密密钥KEY_En2对所述第二通信单元821接收到的随机数据Random1进行加密处理,得到加密数据为第二加密数据Random_En2。
并且,所述第二通信单元821还用于通过所述数据接口将所述第二加密数据Random_En2提供给所述HOST端810。
与实施例3相类似,在具体实施例中,所述HOST端810和所述指纹传感器820还可以分别包括第一存储单元814和第二存储单元824,二者用于存储所述指纹传感器820的身份识别号码(ID)。
所述主机端810还包括第二解密单元815,用于利用第二解密密钥KEY_De2对所述第二加密数据Random_En2进行解密处理,得到的解密数据为第二解密数据Random2。
其中,所述第二加密单元825采用第二加密密钥KEY_En2和所述第二解密单元815采用的第二解密密钥KEY_De2可以分别为以所述指纹传感器720的身份识别号码(ID)的部分或者全部作为密钥,并对将所述随机数据Random1进行加密处理得到的数据。
相类似地,在本实施例中,所述指纹传感器820可以进一步包括加密密钥生成模块,其可以通过第三加密单元826来实现。所述第三加密单元826,用于采用所述指纹传感器820的身份识别号码(ID)的部分或全部作为密钥,对所述第二通信单元821从所述HOST端810接收到的随机数据Random1进行加密处理,并将得到的数据作为所述第二加密密钥KEY_En2。所述HOST端810可以进一步包括解密密钥生成模块,所述解密密钥生成模块可以通过第四加密单元816来实现。所述第四加密单元816,用于采用所述指纹传感器820的身份识别号码(ID)的部分或全部作为密钥,对所述随机数据生成模块811生成的随机数据Random1进行加密处理,并将得到的数据作为所述第二解密密钥KEY_De2。
进一步地,所述HOST端810还可以包括:
判断单元817,用于比较所述随机数据生成模块811生成的随机数据Random1和所述第二解密模块815得到的第二解密数据Random2是否一致;
指纹识别单元818,用于在所述随机数据Random1和所述第二解密数据Random2一致时判断出所述指纹算法库和所述指纹传感器820之间的绑定认证成功,而在所述随机数据Random1和所述解密数据Random2不一致时判断出所述指纹算法库和所述指纹传感器820之间的绑定认证失败并返回进行循环认证。
需要说明的是,本发明所涉及到的专业术语描述如下:
HOST端:使用指纹传感器实现指纹识别功能的主机设备,如手机、笔记本、PAD等。
指纹传感器:负责把指纹转换成可以量化的数据,包括电容式指纹传感器,光学指纹传感器,超声波指纹传感器等。
Flash:闪存,内存器件的一种,在没有电流的情况下也能长久的保存数据,即断电之后数据还可以保持。
OTP:One time Program,一次性可编程,断电之后数据也可以保持。
不易挥发性存储介质:在没有电流的情况下也能长久的保存数据,即断电之后数据还可以保持,上电之后还可以读到原来的数据。
对称算法:加密密钥和解密密钥相同的加解密算法。
非对称算法:加密密钥和解密密钥不相同的加解密算法
ESD:静电放电。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制,但凡采用等同替换或等效变换的形式所获得的技术方案,均应落在本发明的保护范围之内。

Claims (10)

1.一种指纹算法库与指纹传感器的绑定认证方法,包括:
主机端生成随机数据,利用第一加密密钥对所述随机数据进行加密,得到第一加密数据,通过其与所述指纹传感器之间的数据接口将所述第一加密数据传输给所述指纹传感器;
指纹传感器获取所述主机端传输的第一加密数据,并利用第一解密密钥对所述第一加密数据进行解密,得到第一解密数据,其中所述指纹传感器解密得到的所述第一解密数据为所述随机数据,并利用第二加密密钥对获取到的随机数据进行加密处理,且得到的加密数据为第二加密数据,其中所述第二加密密钥为以所述指纹传感器的身份识别号码的部分或者全部作为密钥,对所述随机数据进行加密处理得到的数据;
所述主机端从所述指纹传感器读取所述第二加密数据,并利用第二解密密钥对所述第二加密数据进行解密处理,且得到的解密数据为第二解密数据,其中所述第二解密密钥为以所述指纹传感器的身份识别号码的部分或者全部作为密钥,对所述随机数据进行加密处理得到的数据;
所述主机端比较所述随机数据和所述第二解密数据是否一致,并在二者一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证成功。
2.根据权利要求1所述的方法,其特征在于,所述第一加密密钥和所述第一解密密钥为所述指纹传感器的身份识别号码的部分或全部。
3.根据权利要求1所述的方法,其特征在于,还包括:在所述随机数据和所述解密数据不一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证失败,并返回进行循环认证。
4.根据权利要求3所述的方法,其特征在于,所述主机端的操作在所述指纹算法库的算法初始化函数中实现,且在所述随机数据和所述解密数据一致相时允许使用所述指纹算法库中的函数,在二者不一致时则直接退出算法,不允许调用所述指纹算法库中函数。
5.根据权利要求3所述的方法,其特征在于,所述主机端的操作在所述指纹算法库中进行函数调用时实现,且在所述随机数据和所述解密数据一致相时正确执行库函数,在二者不一致时同则退出所述库函数并返回错误。
6.一种指纹识别系统,其特征在于,包括主机端和指纹传感器,所述主机端和所述指纹传感器之间通过数据接口进行数据传输,所述主机端包括随机数据生成单元、第一加密单元和第一通信单元,所述指纹传感器包括第二通信单元和第一解密单元;
其中,所述指纹传感器用于利用所述第二通信单元获取所述主机端生成的第一加密数据,并利用第一解密单元通过第一解密密钥对所述第一加密数据进行解密,得到第一解密数据,其中所述指纹传感器解密得到的所述第一解密数据为所述随机数据,并利用第二加密密钥对获取到的随机数据进行加密处理,且得到的加密数据为第二加密数据,其中所述第二加密密钥为以所述指纹传感器的身份识别号码的部分或者全部作为密钥,对所述随机数据进行加密处理得到的数据;
所述主机端用于利用所述随机数据生成单元生成所述随机数据,利用第一加密密钥对所述随机数据进行加密,得到第一加密数据,利用所述第一通信单元通过所述主机端与所述指纹传感器之间的数据接口将所述第一加密数据传输给所述指纹传感器,以及从所述指纹传感器读取所述第二加密数据,并利用第二解密密钥对所述第二加密数据进行解密处理,且得到的解密数据为第二解密数据,其中所述第二解密密钥为以所述指纹传感器的身份识别号码的部分或者全部作为密钥,对所述随机数据进行加密处理得到的数据;并且,比较所述随机数据和所述第二解密数据是否一致,并在二者一致时判断出指纹算法库和所述指纹传感器之间的绑定认证成功。
7.根据权利要求6所述的指纹识别系统,其特征在于,所述第一加密密钥和所述第一解密密钥为所述指纹传感器的身份识别号码的部分或全部。
8.根据权利要求6所述的指纹识别系统,其特征在于,所述主机端还包括:
比较单元,用于比较所述随机数据和所述解密数据是否一致;
指纹识别单元,用于在所述随机数据和所述解密数据一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证成功,而在所述随机数据和所述解密数据不一致时判断出所述指纹算法库和所述指纹传感器之间的绑定认证失败并返回进行循环认证。
9.根据权利要求8所述的指纹识别系统,其特征在于,所述主机端的操作在所述指纹算法库的算法初始化函数中实现,且所述指纹识别单元用于在所述随机数据和所述解密数据一致相时允许使用所述指纹算法库中的函数,在二者不一致时则直接退出算法,不允许调用所述指纹算法库中函数。
10.根据权利要求8所述的指纹识别系统,其特征在于,所述主机端的操作在所述指纹算法库中进行函数调用时实现,且所述指纹识别单元用于在所述随机数据和所述解密数据一致相时正确执行库函数,在二者不一致时则退出所述库函数并返回错误。
CN201680001815.9A 2016-10-25 2016-10-25 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统 Active CN109075974B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/103192 WO2018076163A1 (zh) 2016-10-25 2016-10-25 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统

Publications (2)

Publication Number Publication Date
CN109075974A CN109075974A (zh) 2018-12-21
CN109075974B true CN109075974B (zh) 2021-12-21

Family

ID=62024219

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680001815.9A Active CN109075974B (zh) 2016-10-25 2016-10-25 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统

Country Status (2)

Country Link
CN (1) CN109075974B (zh)
WO (1) WO2018076163A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110390746A (zh) * 2019-06-16 2019-10-29 广州智慧城市发展研究院 一种指纹防盗门禁的实现方法
CN110544098B (zh) * 2019-08-01 2023-04-07 张桓 一种应用静脉识别的新型支付方法和装置
CN115086032B (zh) * 2022-06-15 2024-05-10 上海领雾软件科技有限公司 一种传感器数据保护系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359504A (zh) * 1999-07-15 2002-07-17 精细生物测量股份公司 指纹模板匹配的方法和系统
US6751734B1 (en) * 1999-03-23 2004-06-15 Nec Corporation Authentication executing device, portable authentication device, and authentication method using biometrics identification
CN1991800A (zh) * 2005-12-31 2007-07-04 联想(北京)有限公司 一种指纹识别存储设备及指纹识别方法
CN103020493A (zh) * 2012-12-28 2013-04-03 杭州晟元芯片技术有限公司 一种防拷贝的软件保护与运行装置及方法
CN103475475A (zh) * 2003-11-21 2013-12-25 菲尼萨公司 具认证控制器的收发器
CN105550552A (zh) * 2015-06-30 2016-05-04 宇龙计算机通信科技(深圳)有限公司 一种移动终端的保护方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017462A (zh) * 2006-02-09 2007-08-15 邱立国 具生物数据保护机制的可携式储存装置及其保护方法
KR20130140948A (ko) * 2012-05-17 2013-12-26 삼성전자주식회사 저장 장치의 식별자에 기반한 컨텐츠의 암복호화 장치 및 방법
CN103532713B (zh) * 2012-07-04 2018-03-23 中国移动通信集团公司 传感器认证和共享密钥产生方法和系统以及传感器
CN102769531A (zh) * 2012-08-13 2012-11-07 鹤山世达光电科技有限公司 身份认证装置及其方法
CN105553932A (zh) * 2015-11-30 2016-05-04 青岛海尔智能家电科技有限公司 智能家电设备的远程控制安全绑定方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751734B1 (en) * 1999-03-23 2004-06-15 Nec Corporation Authentication executing device, portable authentication device, and authentication method using biometrics identification
CN1359504A (zh) * 1999-07-15 2002-07-17 精细生物测量股份公司 指纹模板匹配的方法和系统
CN103475475A (zh) * 2003-11-21 2013-12-25 菲尼萨公司 具认证控制器的收发器
CN1991800A (zh) * 2005-12-31 2007-07-04 联想(北京)有限公司 一种指纹识别存储设备及指纹识别方法
CN103020493A (zh) * 2012-12-28 2013-04-03 杭州晟元芯片技术有限公司 一种防拷贝的软件保护与运行装置及方法
CN105550552A (zh) * 2015-06-30 2016-05-04 宇龙计算机通信科技(深圳)有限公司 一种移动终端的保护方法及装置

Also Published As

Publication number Publication date
CN109075974A (zh) 2018-12-21
WO2018076163A1 (zh) 2018-05-03

Similar Documents

Publication Publication Date Title
US9276753B2 (en) System and method for data authentication among processors
US20210192090A1 (en) Secure data storage device with security function implemented in a data security bridge
US7735132B2 (en) System and method for encrypted smart card PIN entry
CN105760764B (zh) 一种嵌入式存储设备文件的加解密方法、装置及终端
CN101984575A (zh) 一种保护移动终端软件的方法和装置
CN107846396B (zh) 存储器系统及其与主机之间的绑定方法
JP2007174633A (ja) トークンデバイス及びセキュアメモリデバイスのためのバインディング鍵をセキュアに取得するためのコンピュータ実施方法、および、トークンデバイスとセキュアメモリデバイスとをセキュアにバインドするシステム
CN111401901B (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
EP1846830A2 (en) Access keys
CN103684786A (zh) 数字证书的存储与硬件载体绑定的方法及系统
CN109075974B (zh) 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统
KR20210132721A (ko) 네트워크에 액세스 시의 보안 통신
CN109088729B (zh) 一种密钥存储方法及装置
US20150200777A1 (en) Data securing method, data securing system and data carrier
US11308190B2 (en) Biometric template handling
JP2009032003A (ja) 携帯可能電子装置、端末装置、認証システム、及び認証方法
CN117041956A (zh) 通信认证方法、装置、计算机设备和存储介质
CN101094073B (zh) 双因素内容保护
US20100122323A1 (en) Storage device management systems and methods
US8819802B2 (en) User authentication
CN106603237B (zh) 一种安全支付方法及装置
CN106453335B (zh) 一种数据传输方法及装置
KR100952300B1 (ko) 저장매체의 안전한 데이터 관리를 위한 단말 장치, 메모리및 그 방법
KR20130126127A (ko) 알에프 기반 근거리 통신을 이용한 사용자 인증 보안 처리 방법
KR20140007628A (ko) 모바일 계좌이체 검증처리 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant