CN112214745A - 经认证的外部生物特征读取器和验证设备 - Google Patents
经认证的外部生物特征读取器和验证设备 Download PDFInfo
- Publication number
- CN112214745A CN112214745A CN201911249048.5A CN201911249048A CN112214745A CN 112214745 A CN112214745 A CN 112214745A CN 201911249048 A CN201911249048 A CN 201911249048A CN 112214745 A CN112214745 A CN 112214745A
- Authority
- CN
- China
- Prior art keywords
- computing device
- key
- biometric
- external
- secure microcontroller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3226—Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3247—Cryptographic 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 involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
- H04L9/3263—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Collating Specific Patterns (AREA)
Abstract
公开了用于提供对计算设备的访问控制的外部生物特征读取器和验证设备,以及相关联的方法。外部读取器能够在所述计算设备的控制下存储和验证生物特征,并向所述计算设备发送身份验证消息。一种公开的设备包括可通信地连接到外部安全微控制器的生物特征读取器。所述外部安全微控制器存储生物特征数据集和签署密钥。所述签署密钥能够由设备制造商在制造设施的受控密钥注入室中注入,并且能够用于对证书进行签署。能够对所述计算设备的操作***进行编程以发送对所述证书的请求、接收所述证书,以及使得使用所述验证消息对所述操作***的访问控制基于所述证书的验证。
Description
背景技术
身份认证是现代计算机设备的重要特征。计算机化的设备为敏感控制***、机密信息和个人身份信息提供门户,这些门户应当仅由特定个人或特定人群访问。除了安全性,身份认证还可以为跟踪设备的使用或为用户定制设备提供一定程度的便利。在多用户设备的情况下,设备可以使用身份认证信息来提供专门适用于单个用户的数据或接口,或者提供有关哪个用户使用该设备进行了哪些动作的更准确记录。例如,工厂终端可以跟踪哪个员工使用该设备进行了具体的装配线动作。此外,一些多用户设备被专门设计用于识别目的,诸如用于跟踪员工何时上班的考勤卡***或用于确定用户是否被授权通过物理障碍的电子控制的接入点。
传统的用于身份认证的方法包括使用各种信息进行的验证操作,这些信息通俗地被称为:您是谁、您知道什么以及您拥有什么。由于生物特征(您是谁)信息的普遍性、永久性和便利性,它正在取代越来越多的应用中的密码(您知道什么)信息。但是,生物特征信息的永久性已造成使用量的增加,同时也增加了对隐私的关注。如果身份窃贼破坏了喜欢的密码,那么用户可以非常容易地切换到其它任意字符串。但是,如果生物特征数据遭到破坏,情况将更加严重。除了其永久性之外,生物特征信息是一个人的一部分这一简单事实导致对恶意行为者暗中获取该信息的敏感性提高。通常不关心存储在外部并用来识别他们的身份的永久个人信息(如母亲的娘家姓)的人们,有时会不愿意向第三方提供指纹或虹膜扫描。
发明内容
本公开涉及外部生物特征读取器和验证设备。特别地,设备被称为“外部”,因为它们向与其物理上分离的相关联的计算设备提供生物特征服务。例如,外部设备可以是经由通用串行总线(USB)连接到膝上型计算机的物理上分离的指纹读取器。在整个本公开中用作示例的计算设备是具有操作***的多用户计算设备,其中基于经由生物特征信息的用户身份认证来确定对操作***的至少一个服务的访问。计算设备和外部设备在物理上可以是不同的,并且可以分别制造和分销,然后通过在两个设备之间形成通信连接来配对。通信连接可以由诸如将计算设备的外部端口连接到外部设备的USB电线之类的电线来形成。外部生物特征设备可以为计算设备提供使用通过通信连接发送的消息经由生物特征信息对用户身份进行上面提到的验证的能力。
通过其中生物特征读取器和验证设备是外部设备的实施例来实现具体的好处,因为它可以用于扩充任何需要生物特征访问的设备,唯一的要求就是能够在那个设备的操作***和外部设备之间形成通信连接的能力以及根据以下详细描述中公开的方法对所述操作***的软件修改。此外,通过其中计算设备是多用户设备的实施例来实现具体的好处,因为生物特征被本地存储在外部设备上,并且与尚未针对生物特征信息的安全存储进行优化的计算设备相比,可以使外部设备更加安全。此外,通过在外部设备上进行生物特征验证来实现具体的好处,因为生物特征本身不需要通过网络发送,甚至不需要通过专用的设备间连接发送。
虽然将外部设备用于生物特征验证提供了如上所述的某些好处,但是利用该方法的实施例也会产生某些技术问题。例如,由于生物特征验证现在是在外部进行的,因此必须注意确保验证消息由已向计算设备进行认证的设备提供。否则,可以从冒充经过认证的生物特征验证设备的恶意设备提供欺骗的认证消息,以便获得对计算设备的未授权访问。
图1例示了在第一场景100中操作的***,其中多个用户101、102和103被注册以使用计算设备130。通过将用户101、102和103注册为针对由计算设备130提供的至少一个服务的注册用户来保护计算设备130。随后基于用户通过将生物特征数据递送到外部设备110来验证其身份来确定对计算设备130的访问。验证用户身份的验证数据可以是由外部设备110存储的生物特征数据。所例示的外部设备包括用于从用户读取生物特征信息的读取器和嵌入在外部设备110内的安全微控制器120。安全微控制器120包括将用于验证的生物特征数据的库和用于对照该库进行生物特征数据的新样本的验证的安全处理器。安全微控制器120还可以包括或者经由安全微控制器120上的连接驱动器直接地或者经由外部设备110的另一个部件间接地与计算设备130的安全连接。外部设备110可以向计算设备130提供验证消息121,以验证用户101、102和103中的任何一个的身份,即使计算设备130尚未针对生物特征数据的存储进行优化。同时,用户101、102和103可以信任地将生物特征数据提供给外部设备110,因为它是针对这种存储而优化的,并且没有办法可以从外部设备移除生物特征数据。
图1例示了在第二场景150中操作的计算设备130,以示出可能干扰第一场景100中的***的操作的一个潜在问题。由于计算设备130不存储用户101、102和103的生物特征信息,因此将计算设备130的潜在安全漏洞与生物特征信息隔离开来。但是,如上所述,外部设备现在打开了一个新漏洞,因为恶意代理151可以响应于来自计算设备130的验证请求而提供欺骗性验证152。恶意行为者可以是用于在用于接收验证消息的端口上欺骗计算设备130的定制设备。为了改善这个漏洞,可以扩增计算设备130以在与设备建立信任之后仅接受来自诸如外部设备110之类的设备的验证消息。
在本发明的具体实施例中,通过向计算设备认证外部设备来在外部设备与计算设备之间建立信任。认证可以涉及使用存储在外部设备上的私有签署密钥(private signingkey)。私有签署密钥可以用于在外部设备上签署证书。然后可以将证书从外部设备发送到可以在其中验证签名的计算设备。私有签署密钥可以由根签名者提供,计算设备130能够通过使用公共验证密钥来为证书的根签名者提供证书。可以在用于生产外部设备的制造设施中的安全密钥注入设施中将私有签署密钥注入到外部设备中。可以使用基于远程服务器的注入过程(诸如远程密钥注入(remote key injection,RKI))将私有签署密钥注入到设备中。公开验证密钥可以或者在制造设备的同时,或者稍后在扩增计算设备130以与诸如外部设备110之类的外部生物特征读取器一起起作用时,存储在计算设备130上的存储器中。
在本发明的具体实施例中,向计算设备认证外部设备的过程可以涉及生成在计算设备130和外部设备110之间共享的共享秘密。共享秘密可以被用于在设备之间形成安全连接。在本发明的具体实施例中,可以通过验证在先前段落中描述的证书的过程,使用在两个设备之间交换的密码材料来生成共享秘密。共享秘密可以被用于生成消息认证码(messageauthentication code,MAC),该消息认证码与外部设备和计算设备之间的每个消息组合。例如,验证消息121可以与从共享秘密中导出的MAC组合,并且以加密格式从外部设备110发送到计算设备130。然后,计算设备130可以通过解密消息并验证MAC来认证验证消息121。
在本发明的具体实施例中,通过在每次外部设备第一次连接到计算设备时重新配置(re-provision)外部设备来增强***的安全性。在这些实施例中,外部设备上的所有生物特征数据可以在外部设备第一次连接到计算设备时被移除。虽然这会导致某些用户需要在***中重新注册,但是它避免了用户使用存储在外部设备上的生物特征数据验证自己的可能性,而这些用户实际上并未进行注册以操作计算设备。这些实施例提供了附加的好处,因为,即使那些用户不是试图访问***的恶意行为者,如果计算设备的合法拥有者具有多个外部设备和计算设备,那么如果他们需要交换以前用于其他用户和其它计算设备的外部设备,他们也不必担心使用具体设备的跨平台(cross-pollinating)授权。
在本发明的具体实施例中,在两个设备之间建立信任并且在设备之间形成安全的认证连接的时候,包括外部设备和计算设备的***可以被称为在设置阶段中操作。安全认证连接的创建可以利用两个设备之间的共享秘密。在本发明的具体实施例中,在建立信任之后,***可以被称为在操作阶段中操作。在操作阶段中,计算设备可以使用外部设备为需要访问计算设备的用户请求并进行生物特征身份验证。一旦与外部设备建立了信任,诸如通过验证由外部设备提供的证书并在设备之间建立安全的经认证的连接,计算设备就可以将***从设置阶段切换到操作阶段。
在本发明的具体实施例中,提供了一种用于控制对计算设备的访问的计算机化的方法。该方法包括在计算设备上实例化操作***,将私有签署密钥存储在外部安全微控制器上,以及经由计算设备的外部端口从计算设备向安全微控制器发送证书请求。该方法还包括在外部安全微控制器上对证书进行签署:(i)使用私有签署密钥;以及(ii)响应于接收到证书请求。该方法还包括在计算设备上验证证书。该方法还包括将生物特征数据集存储在外部安全微控制器上。该方法还包括在外部安全微控制器上从生物特征读取器接收生物特征样本数据。生物特征样本数据是由用户在生物特征读取器上提供以便验证其身份的数据,诸如压在生物特征读取器上的指纹的图像。该方法还包括在外部安全微控制器上对照生物特征数据集验证生物特征样本数据。该方法还包括在验证生物特征样本数据后从外部安全微控制器向操作***发送认证信号。该方法还包括基于证书的验证和认证信号来授权对操作***的访问。
在本发明的具体实施例中,提供了一种用于控制对计算设备的访问的***。该***包括在计算设备上实例化的操作***、位于计算设备上的外部端口、外部安全微控制器:(i)经由所述外部端口通信地连接到所述计算设备;(ii)存储生物特征数据集;以及(iii)存储私有签署密钥,以及通信连接到所述外部安全微控制器的生物特征读取器。外部安全微控制器被编程为:(i)响应于从计算设备接收到证书请求而用私有签署密钥对证书进行签署;(ii)从生物特征读取器接收生物特征样本数据;(iii)对照生物特征数据集验证接收到的生物特征样本数据;以及(iv)在验证接收到的生物特征样本数据后,经由所述端口将认证信号发送到主计算机的操作***。操作***被编程为:(i)向安全微控制器发送证书请求;(ii)验证证书;以及(iii)基于对证书的验证,允许基于认证信号来访问操作***。
在本发明的具体实施例中,提供了一种用于控制对计算设备的访问的***。该***包括在计算设备上实例化的操作***、位于计算设备上的外部端口、外部安全微控制器:(i)经由所述外部端口通信地连接到所述计算设备;(ii)存储生物特征数据集;以及(iii)存储证书,以及通信连接到所述外部安全微控制器的生物特征读取器。外部安全微控制器被编程为在设置阶段中将证书发送到计算设备,并在操作阶段中基于此验证接收到的生物特征数据并向计算设备发送认证信号。计算设备被编程为在设置阶段中接收并验证证书,基于验证证书将***切换到操作阶段,以及在操作阶段中基于认证信号来控制对操作***的访问。
附图说明
图1是根据本文公开的本发明的具体实施例的用于提供对相关联计算设备的访问的外部生物特征读取器和验证设备的框图。
图2是根据本文公开的本发明的具体实施例的用于提供对相关联多用户计算设备的访问的具有安全存储器的外部生物识别读取器和验证设备的框图。
图3是根据本文公开的本发明的具体实施例的用于提供对计算设备的访问的具有安全存储器的外部生物特征验证设备的设置模式和操作模式的方法集的流程图。
图4例示了根据本文公开的本发明的具体实施例的用于向计算设备认证外部生物特征读取器和验证设备的方法集的梯形图。
图5例示了根据本文公开的本发明的具体实施例的对多用户计算设备的操作***的修改的框图以及针对方法集的相关联流程图。
图6是用C编程语言编写的代码片段,其提供了根据本文公开的本发明的具体实施例的命令包的结构的定义以及用于创建CMD_ENROLL命令包的代码。
图7是根据本文公开的本发明的具体实施例的用C编程语言编写的提供远程过程调用(RPC)请求的结构的代码片段集、用于将命令包转换成RPC请求的转换代码以及用于将RPC响应转换成函数返回的返回转换代码。
图8是用C编程语言编写的代码片段,其提供了根据本文公开的本发明的具体实施例的来自RPC的操作***认证结果响应的结构。
具体实施方式
本文详细公开了与根据以上概述的用于提供对计算设备的访问的外部生物特征读取和验证设备有关的方法和***。本节中公开的方法和***是本发明的非限制性实施例,仅出于说明目的而提供,并且不应当被用于限制本发明的全部范围。在整个本公开中,以具有随附的安全微控制器的指纹传感器的形式的外部生物特征读取器的示例作为示例。但是,生物特征读取器可以包括任何类型的生物特征传感器,并且可以感测任何类型的生物特征信息,包括指纹数据、手尺寸数据、视网膜数据、静脉模式数据、虹膜数据、面部识别数据、声音签名数据或任何其它类型的生物特征信息。此外,在本发明的具体实施例中,安全微控制器可以用任何种类的物理或逻辑上安全的计算机化的设备代替,诸如安全处理器、专用的安全专用集成电路(ASIC)、安全板或安全的逻辑隔离软件层。
在本发明的具体实施例中,计算设备可以采取各种形式。计算设备可以是工作站、膝上型计算机、智能电话、平板电脑或任何其它类型的计算设备,其可以提供经由使用生物特征信息对用户的认证而允许用户访问的服务。计算设备可以具有用户接口,诸如触摸屏、键盘、显示器、扬声器、麦克风等。计算设备可以包括操作***,诸如iOS、Android、Windows、DOS、Unix、Linux或替代操作***。在本发明的具体实施例中,将操作***修改为与本文公开的外部生物特征读取器互操作并对其进行认证。在整个本公开中,提供对由操作***提供的至少一个服务的访问被用作提供对计算设备的访问的示例。但是,本发明的具体实施例更广泛地适用于提供对由计算设备提供的任何服务的访问,而不管其是否包括操作***。
在本发明的具体实施例中,对计算设备的访问是基于在外部设备上使用从用户采样的生物特征信息对用户身份进行验证。对计算设备的访问可以包括对由计算设备提供的服务的访问。在其中计算设备具有操作***的本发明的具体实施例中,可以通过向用户提供在操作***下的访问权限(包括对在操作***下可用的服务的访问)来提供对计算***的访问。由计算设备提供的服务可以被用于控制替代设备。例如,计算设备可以允许控制工厂中的工业机械,诸如用于固化橡胶的工业烤箱。作为另一个示例,计算设备可以是物理安全访问控制设备,其允许控制控制物理屏障(诸如门锁或旋转门)的致动器。由计算设备提供的服务可以被用于存储或访问安全信息。例如,计算设备可以是时间卡机器,并且允许将时间输入到存储用户访问***的时间的数据库中。作为另一个示例,计算设备可以允许访问机密信息。例如,计算设备可以是POS设备,并且在该设备运行之前可能需要验证员工的身份。
在本发明的具体实施例中,计算设备可以是被设计为由多个用户在不同时间操作的多用户设备,因此要求多个用户能够向该设备验证他们的身份以便对其进行操作。例如,计算设备可以是工厂中工业机器人的共享控件、考勤机、共享工作空间中的物理屏障访问控制器,或者是供多个员工在他们不同的班次中在共享工作空间中使用的销售点终端或通用工作站。在本发明的具体实施例中,计算设备可以不具有其自己的生物特征传感器。在这些实施例中,外部生物特征设备可以提供否则将不可以用于计算设备的生物特征认证服务。但是,在本发明的具体实施例中,计算设备确实具有其自己的生物特征传感器,但是仍然使用外部生物特征读取器,以便在专用的分离的设备上实现分区存储和生物特征信息验证的好处。如前所述,在共享设备的情况下,隔离存储的好处特别明显,因为在共享设备中,用户并不总是控制将存储其生物特征信息的设备,因此可能会感觉到其生物特征信息可能会暴露在他们的控制之外。
在本发明的具体实施例中,可以使用安全连接将计算设备连接到外部设备。安全连接可以被用于在外部设备和计算设备之间发送操作消息。操作消息可以包括对生物特征验证的请求、对这种验证的确认、对这种验证的拒绝以及用于在为计算设备提供生物特征验证服务时支持外部设备的功能的辅助消息。这些辅助消息可以包括标签,这些标签被用于识别正在登记以访问由计算设备提供的服务的具体用户,外部设备将与该用户的生物特征信息相关联地存储该服务。照此,计算设备将能够通过为用户递送不同于生物特征信息的标签来为用户请求生物特征验证服务,并且在任何时候都不需要访问生物特征信息。安全连接可以作为两个设备之间建立信任的一部分而形成。在建立安全连接之前,计算设备和外部设备的组合***可以被称为在操作设置阶段中进行操作,并且在建立安全连接之后,被称为在操作的操作阶段中进行操作。
可以通过外部设备与计算设备之间的有线或无线通信连接来提供安全连接。通信连接可以是:有线连接,诸如USB、串行***设备接口(SPI)或通用异步接收器/发送器(UART);或无线连接,诸如蓝牙、红外(IR)通信协议或Zigbee。计算设备可以包括用于建立与外部设备的通信连接的外部端口。端口的特点将取决于设备之间的通信连接的特点。例如,如果安全连接由USB提供,那么计算设备将包括USB端口。端口可以被用于在设备之间建立信任、形成安全连接以及与外部设备之间收发操作消息。但是,这些动作中的每一个都可以使用不同的端口和通信连接。例如,可以经由有线连接在设备之间建立信任,同时可以经由无线连接发送安全连接和操作消息。
在本发明的具体实施例中,可以通过各种手段来形成安全连接。可以通过密码手段或通过在两个设备上使用预存储的完全随机的共享秘密来形成安全连接。可以应用的密码手段包括不对称密钥交换或使用共享秘密密钥交换算法(诸如Diffie-Hellman密钥交换)同时生成共享秘密密钥。完全随机的共享秘密可以预存储在每个设备上。但是,这会限制***的灵活性,因为每个计算设备和外部设备随后将被限制到与来自具有匹配共享秘密的另一类的预匹配的设备或设备集配对。计算设备和外部设备可以各自包括密钥生成器,以生成用于不对称密钥或共享秘密密钥的密码材料。密钥生成器可以使用椭圆曲线加密或Rivset-Shamir-Adleman(RSA)密码。一种或两种类型的设备上的密钥生成器可以被布置为生成公钥和随附的私钥。密钥生成器还可以或者可替代地被布置为生成上面提到的共享秘密密钥。通过在设备之间交换密码材料,可以在每个设备上同时生成共享秘密密钥。
图2包括根据本发明的具体实施例的具有若干部件的***200的框图。***200包括用于控制车床202的终端201形式的计算设备、外部安全板203以及外部指纹模块204。指纹模块204和外部安全板203可以是分立的设备,或者它们可以诸如通过安装在单个壳体内部而被集成到单个设备中。这两个部件组合操作,以提供本文公开的外部生物特征读取和验证设备的某些实施例的功能。在所示的情况下,指纹模块204用作生物特征读取器,因为它包括用于放置用户手指的玻璃表面和用于拍摄指纹的图像的相机。然后将图像通过SPI总线205发送到外部安全板203。外部安全板203用作生物特征验证设备,因为它存储生物特征数据的库,用于分析和验证从生物特征读取器(在这种情况下为指纹模块204)接收的生物特征样本。外部安全板203包括安全微控制器206、安全存储器207和篡改传感器208。安全存储器207可以是非易失性闪存,其存储私有签署密钥,该私有签署密钥在制造板时被注入到外部安全板203中。安全存储器207也可以用于存储生物特征库。安全存储器可以经由SPI连接被安全微控制器206访问。安全存储器可以是安全的Quad SPI闪存。
某些好处归因于以下实施例,其中指纹模块与安全板之间的连接位于公共壳体的内部,以避免在附接到模块与安全板之间的连接的窥探设备上非法获取生物特征。可以添加附加的安全措施,诸如篡改网格(tamper mesh),以保护这个连接。但是,由于这个连接上的生物特征与任何随附的用户身份信息均未关联,因此与安全存储器207上的生物特征信息相比,该生物特征较少关注,其中安全存储器207上的生物特征信息可以与特定用户的标签一起存储作为用户数据的生物特征库的索引。
在本发明的具体实施例中,安全板203可以被扩增为包括各种安全特征,以保护私有签署密钥和生物特征库。如图所示,安全板203包括覆盖安全板的部件的篡改传感器208和篡改网格209,以避免恶意行为者访问存储在安全板203上的数据。特别地,篡改传感器208可以检测对篡改网格209的篡改,诸如尝试移除篡改网格的一部分并作为响应而触发安全存储器的删除。在本发明的具体实施例中,安全存储器207是易失性存储器,并且篡改传感器208删除安全存储器涉及从易失性存储器移除电力。在本发明的具体实施例中,安全存储器207是非易失性存储器,并且篡改传感器208删除安全存储器涉及来自篡改传感器208的主动删除动作,诸如将擦除信号驱动至接地。
如图所示,计算设备201包括外部USB端口210,该外部USB端口经由USB电缆211连接到安全板203,以在计算设备201和安全板203之间形成通信连接。在通过USB电缆211形成安全连接后,***200可以从设置模式切换到操作模式。在操作模式期间,通过向指纹模块204提供指纹并等待安全板203验证其作为车床202的授权用户的身份,可以允许用户经由计算设备201来操作车床202。然后,计算设备可以在执行具体动作时跟踪哪个用户操作了车床202。计算设备201同样可以在操作模式下利用指纹模块204将用户登记为授权用户,以便以后经由他们的指纹进行识别。可以经由通过USB电缆211发送的经认证的操作消息来完成用户身份的登记和验证。
在本发明的具体实施例中,可以将***设计为使得外部设备和计算设备由不同的用户操作。在这些实施例中,准备好访问外部设备的用户可以是能够使组合***被两个用户操作的主用户。在本发明的具体实施例中,***可以被设计为基于由单个主用户在单个外部设备处提供的授权来允许访问多个计算设备,或允许多个用户访问单个计算设备。在图2的示例中,以这种方式,班次管理者可以通过向指纹模块204提供指纹来提供授权,以允许多个工人在装配线中操作不同的装备。在这些实施例中,外部设备和多个计算设备之间的通信连接可以是网络连接。网络连接可以是有线连接,诸如TCP/IP连接或以太网连接,也可以是无线连接,诸如Wi-Fi连接。在任何一种情况下,上面公开的用于在外部设备和计算设备之间创建安全连接的方法都可以用于加密各种设备之间的流量。
在具体实施例中,除了计算设备上的任何用户接口设备之外,外部设备还可以包括其自己的用户接口设备。例如,计算设备可以是POS***中的面向客户的设备,诸如用于允许用户输入其PIN码或刷***的小键盘,而外部设备是同一POS***中面向商家的设备,诸如商家终端。然后,被授权操作POS***的员工可以通过在商家终端处使用生物特征读取器提供生物特征信息来提供对组合***的访问权限,这将使整个POS***能够操作。与前面的示例保持一致,外部设备可以是面向商家的POS终端,该终端用安全板(诸如安全板203)和指纹模块204扩增。指纹模块204和安全板203可以在与商家用户接口设备(例如,触摸屏)相同的壳体中提供。在这些实施例中,SPI 205可以在壳体内部。在本发明的具体实施例中,两个用户都将经由计算设备201上的用户接口设备以及与外部设备并置的用户接口设备(例如,安全板204和指纹读取器204)访问由计算设备201提供的服务。当在外部设备处提供生物特征授权时,不同用户操作不同设备的实施例由此提供进一步的好处,因为提供授权的用户可能已经在外部设备附近并且因此在操作***的他们的部分时可以更容易地提供授权。
在本发明的具体实施例中,计算设备和外部设备两者上的用户接口都可以包括显示器。这些显示器都可以由计算设备上的处理器驱动。在本发明的具体实施例中,两个显示器将由计算设备上的操作***控制。与外部设备相关联的显示器可以经由用于与外部设备建立信任的相同连接来接收显示数据。与外部设备相关联的显示器可以经由相同的通信连接来接收显示数据,该通信连接在整个***的操作的设置阶段中得到保证。在图2的示例中,与外部设备相关联的显示器的显示数据可以通过USB 211发送。但是,可以将替代连接用于显示数据以及与生物特征验证相关联的操作消息。
在本发明的具体实施例中,该***可以被设计为允许使用预存储在两个设备上的数据来建立信任。在具体实施例中,可以通过在外部设备上预存储私有签署密钥并在计算设备上预存储公共验证密钥来建立信任。在这些实施例中,私有签署密钥可以被用于签署证书,该证书被发送到替代设备,并使用公共验证密钥在其上进行验证。私有签署密钥可以由根签名者提供,计算设备能够通过使用公共验证密钥来验证针对该根签名者的证书。可以在用于生产外部设备的制造设施中的安全密钥注入设施中将私有签署密钥注入到外部设备中。可以使用基于远程服务器的注入过程(诸如RKI)将私有签署密钥注入到设备中。在其它实施例中,预存储的数据可以是直接嵌入两个设备中的共享秘密。在这些实施例中,共享秘密或其部分的加密交换将允许在设备之间建立单向或双向信任,而无需由任一个设备生成任何密码材料。但是,基于它们与哪些设备预先匹配以携带相同的共享密码,这些设备将受限于它们可以安全地连接到的替代设备的数量。
图3例示了上面刚刚描述的实施例的具体示例,其中在外部设备上的生物特征验证设备300与计算设备201之间建立信任,并且随后在设置阶段310中在那些设备之间形成安全连接。图3还例示了如何将信任的建立和安全连接的形成用作发起操作阶段320的先决条件。图3还例示了如何在操作阶段320开始时以及在设置阶段310完成时将生物特征验证设备300用于为计算设备201提供身份验证服务。在图3中,在左列301中发生的流程图的步骤在外部设备上进行并且由外部设备执行,而在右列302中发生的流程图的步骤在计算设备上进行并且由计算设备执行。
设置阶段310涉及在生物特征验证设备300和计算设备201之间建立信任以及在这两个设备之间建立安全连接。步骤311包括将私有签署密钥存储在外部设备上。密钥可以存储在安全存储器207中。可以在制造设备时将密钥注入到密钥注入设施中的安全存储器207中。在这些实施例中,安全存储器207可以是只读存储器(ROM)、非易失性存储器(例如,闪存、PROM或EPROM)或易失性存储器(例如,SRAM)。
将两个设备配对的过程开始于步骤312,其中计算设备201将证书请求发送到生物特征验证设备300。在将外部设备连接到计算设备201上的外部端口后,可以通过有线连接(例如,USB)发送证书请求。可以对计算设备201进行编程以在检测到连接后或响应于用户命令而自动发送这个消息。
步骤313涉及生物特征验证设备300用私有签署密钥并响应于从计算设备201接收到证书请求而对证书进行签署。对证书进行签署的步骤可以由安全微控制器206使用存储在安全存储器207中的密钥来进行。私有签署密钥用于对证书进行签署,但不会暴露在由生物特征验证设备300的安全特征形成的安全环境之外。步骤313还可以涉及外部设备将签署的证书发送回计算设备201。可以沿着在步骤312中用于请求证书的相同连接发送签署的证书。
过程继续到步骤314,在步骤314中,计算设备201验证签署的证书。可以使用公共验证密钥来执行步骤314,该公共验证密钥可以由计算设备201用来进行检查以查看外部设备的证书是否由根证书颁发机构颁发的。在本发明的具体实施例中,根证书颁发机构将是计算设备201和生物特征验证设备300的制造商。但是,在其它实施例中,计算设备201的制造商将与生物特征验证设备300的制造商具有正式关系,以确保计算设备201信任根证书颁发机构。
向***的操作阶段的过渡可以基于步骤314中对证书的验证。照此,授权对计算设备201的访问可以基于在步骤314中对证书的验证以及在操作阶段期间配置有效生物特征信息。因此,图3包括基于步骤314中的证书的验证来预测访问的步骤315。如果证书通过验证,那么步骤315导致***从设置模式310切换到操作模式320。
如所提及的,图3还例示了在操作模式320下运行的***。操作模式被示为从步骤321开始,在步骤321中,外部设备接收并验证样本生物特征。例如,指纹模块可以接收用户指纹的图片并将该图片传送到安全微控制器206。然后,安全微控制器206可以将指纹与所存储的生物特征的库进行比较,以验证提供指纹的用户的身份。步骤321可以由从计算设备201发送的用于身份验证的请求来预测。身份请求可以经由经认证的消息从计算设备201发送,并且包括针对被授权访问的用户的标签。在步骤321中验证用户的身份后,外部设备可以在步骤322中向计算设备发送授权的用户消息。授权的用户消息和身份验证请求可以是经由计算设备201和外部设备之间的安全连接发送的操作消息。响应于授权的用户消息,计算设备可以执行步骤323,其中基于授权的用户消息来控制对计算设备的至少一个服务的访问。由于除非首先对生物特征验证设备300进行认证,否则***将不会切换到操作模式,因此步骤323的执行基于由生物特征验证设备进行的生物特征认证以及对那个生物特征验证设备的认证。
在本发明的具体实施例中,可以认证计算设备和外部设备之间的消息,以确保***不受恶意方的攻击,该恶意方向外部设备发布欺骗性的操作消息,以获得生物特征数据为目的,或向计算设备发布欺骗性的操作消息,以获得对计算设备的服务的未授权访问为目的。在本发明的具体实施例中,消息可以与消息认证码(MAC)组合,该消息认证码可以附加到每个消息并与消息一起加密。在本发明的具体实施例中,认证将由基于散列的消息认证码(HMAC)提供,该认证码至少对MAC和消息进行一次散列并加密组合的散列。所使用的加密方案可以是对称或不对称密码。例如,加密方案可以是128位、192位和256位AES、RSA、SQUARE、CRYPTON、ARIA、Camellia、数据加密标准(DES)、三重数据加密标准/算法(TDES/TDEA)、Blowfish、Serpent、Twofish、Threefish、安全快速加密例程(SAFER)、国际数据加密算法(IDEA)、微小加密算法(TEA)、扩展TEA(XTEA)等。在本发明的具体实施例中,MAC可以从用于在计算设备之间创建安全连接的共享秘密中得出。但是,在其它实施例中,将使用不同的共享秘密来创建与用于创建安全连接的纯随机或密码材料不同的MAC。
在本发明的具体实施例中,通过在每次外部设备第一次连接到计算设备时重新配置外部设备来增强安全性。在这些实施例中,外部设备上的所有生物特征数据可以在外部设备第一次连接到计算设备时被移除。这个过程可以由从计算设备发送的具体消息发起(诸如重新配置命令)。但是,外部设备也可以被布置为自动检测断电事件或新的连接事件,并响应于任一事件的发生而自动移除其存储的生物特征数据。
图4是根据本文公开的本发明的具体实施例的用于向计算设备130认证外部生物特征读取器和验证设备110并且用于在那些设备之间形成安全连接的方法集的梯形图400。在由梯形图400表示的实施例中,两个设备都包括密钥生成器,该密钥生成器使用诸如Diffie-Hellman密钥生成器算法之类的共享秘密密钥生成器算法来生成临时密钥对和共享秘密。在由梯形图400表示的实施例中,外部生物特征读取器和验证设备110已经被预配置有来自根证书颁发机构的私有签署密钥,并且计算设备130已经被配置有相关联的公共验证密钥。照此,可以在梯形图之前执行在安全密钥注入设施中将私有签署密钥注入到外部设备上的步骤。可以将密钥注入到外部设备的安全微控制器中。
梯形图400开始于计算设备130上的加密密钥集的生成以及外部生物特征读取器和验证设备110上的加密密钥集的生成。这些步骤可以由位于两个分离的设备上的密钥生成器执行。密钥集可以各自是不对称加密密钥,包括公钥和匹配的私钥。密钥集可以各自是临时密钥,在使用之后或关闭任一设备后被丢弃。这些步骤可以涉及在计算设备130上生成包括公钥401和匹配的私钥402的不对称密钥对,以及在外部生物特征读取器和验证设备110上生成包括公钥404和匹配的私钥405的不对称密钥对。可以以任何次序生成密钥对,但是在具体实施例中,外部生物特征读取器和验证设备110将响应于从计算设备130接收到公钥401而生成密钥对。匹配的私钥由计算设备130保存在存储器中,而公钥301旨在从设备中传输出去。
梯形图400以从计算设备130发送到外部生物特征读取器和验证设备110的查询消息403而继续。查询消息403可以在旨在用于连接到诸如设备110之类的设备的端口上一检测到连接就被发送,或者在用户发出命令这样做时发送。例如,USB连接一连接到计算设备上的USB端口并且设备检测到USB连接,计算设备就可以通过检测到的USB连接发送查询消息。查询消息403可以包括证书请求和第一公钥401的副本。在图中由问号示出的证书请求可以是指示外部生物特征读取器和验证设备110签,署用于向计算设备认证该设备的证书的消息。
梯形图400以在外部生物特征读取器和验证设备110上用私有签署密钥对证书进行签署406而继续。证书可以包括设备的标识以及由设备生成404的公钥。可以通过密码签署算法对证书进行签署,在该算法中,包括证书的数据通过表示私有签署密钥的值进行操作。可以通过与私有签署密钥相关联的公共验证密钥来验证结果所得的签署的证书。在所示的情况下,签署的证书在签署的证书消息407中被发送回计算设备130。如图所示,签署的证书消息407可以包括公钥404的副本。但是,如前面所提到的,公钥也可以是证书内容的一部分。
梯形图400以在计算设备408上使用公共验证密钥对证书进行验证408而继续。证书的验证可以使公钥404可用于计算设备130上的经认证的使用。公钥404、私钥402、公钥401及其各种组合可以被计算设备130上的密钥生成器用来执行共享私钥生成算法。同时,公钥401、私钥405、公钥404及其各种组合可以被外部生物特征读取器和验证设备110上的密钥生成器用来执行相同的共享私钥生成算法。因此,两个设备都将生成共享私钥409。这些步骤可以同时或异步进行。无论如何,一旦生成共享秘密,就可以将其用于加密和/或认证在两个设备之间发送的消息。照此,在两个设备之间发送的后续消息都可以被认证和加密。
梯形图400以将重新配置命令410从计算设备传输到外部生物特征读取器和验证设备110而继续。每次当计算设备连接到外部设备时,都可以发出重新配置命令。重新配置命令可以强制删除存储在外部生物特征读取器和验证设备110上的所有生物特征信息。该命令可以是使用共享秘密进行认证的两个设备之间发送的第一条消息。根据以上公开的实施例,可以使用HMAC发送具有重新配置命令410的消息,以允许对该消息进行认证,同时保持MAC和共享秘密的安全。在替代实施例中,外部设备可以被布置为在其第一次与新的计算设备配对时自动删除存储在设备上的所有生物特征信息,而无需等待从计算设备接收重新配置命令。
梯形图400以两个相关且可选的步骤411和412而继续。这两个步骤组合,作为对连接的真实性和安全性的附加检查。在步骤411中,设置检查消息411,其中请求从外部生物特征读取器和验证设备获得模板计数。模板计数可以是设备上生物特征数据存储库中条目数的计数。可以使用从共享秘密导出的HMAC用随机数对消息进行加密。作为响应,外部生物特征读取器和验证设备110可以经由其对共享秘密的了解来认证检查消息411并获得随机数。随机数然后可以用作HMAC将来对设备之间发送的消息的应用的MAC。然后设备110可以生成检查响应消息412,该检查响应消息412提供库中模板的数量的计数。设备110可以在将HMAC应用于检查响应消息412时使用随机数。在接收到检查响应消息412后,计算设备130然后可以使用其对随机数和共享秘密的了解来认证检查响应消息412以验证库中的模板的数量为零。如果适当地执行了重新配置消息,那么该数量将为零。这种附加的安全级别为设备之间的一轮通信创建了共享的随机数,并确保消息认证/加密功能在两个设备之间的更敏感信息之前可操作。
在其中计算设备包括操作***的本发明的具体实施例中,计算设备的操作***可以进行微小的修改或接收微小的扩展以便与本文公开的外部设备互操作。可以对操作***的硬件抽象层(hardware abstraction layer)进行修改。被修改的硬件抽象层的部分可以是用于通过通信连接与外部设备进行通信的具体端口或无线接口的驱动程序。例如,如果外部端口是USB连接,那么硬件抽象层中被修改的部分可以是操作***的标准USB驱动程序。修改还将取决于计算设备上的操作***类型。
可以从计算设备上的操作***发起生物统计操作请求,例如登记、认证或删除。请求可以被解释为远程过程调用(RPC),并且可以经由通信连接(诸如USB连接)被传送到外部设备。当外部设备接收到远程过程调用(RPC)时,它解释对请求的调用并控制生物特征读取器以操作***最初请求的方式操作,然后从生物特征读取器发送回响应。
图5提供了这个过程的具体示例的流程图500和随附的框图510,其中操作***511经由生物统计设备硬件抽象层512与外部设备上的安全微控制器513通信。如图所示,操作***在步骤501中生成生物特征操作函数调用。随后,在步骤502中,生物识别设备硬件抽象层512将函数调用转换成RPC请求。然后,在步骤503中,安全微控制器513执行远程过程调用并返回响应。在基本示例中,函数调用将是身份验证请求,其中将用户标签提供为函数调用的元素。然后,安全微控制器将样本生物特征514与和那个用户标签相关联的模板进行比较,并以身份验证的函数返回或身份未验证的函数返回的形式提供函数返回。在图中示出了身份验证的函数返回515。函数返回可以是布尔值,指示身份是否通过验证。RPC和函数返回都可以打包在使用上述方法(诸如对图4中的检查消息使用的方法)进行加密/认证的操作消息中。
以下具体场景符合图5,并且涉及指纹读取器形式的生物特征读取器和经修改的硬件抽象层集形式的对操作***的修改。在这些场景中,操作***是Android操作***,并且代码片段以C编程语言提供。可以修改这些示例以便用不同的生物特征来替代指纹,并且可以进行微小的修改以将示例扩展到其它操作***,诸如iOS、Windows、DOS、Unix、Linux操作***或其它替代编程语言。
涉及根据图5的登记过程并且生物特征是指纹的场景可以从操作***提示用户将手指放在指纹读取器上开始。操作***可以使用计算设备或外部设备上的显示器来显示或以其它方式提供这个提示。同时,操作***将需要准备指纹读取器以接受指纹。以下段落提供了这个过程的具体示例,该示例与图5表示的具体实施例保持一致。
使用指纹读取器接受指纹以进行登记的过程可以从对指纹HAL的enroll()函数调用以及由该指纹HAL将那个函数调用转换成RPC开始。操作***可以在管理员触发计算设备上的登记过程后生成enroll()函数调用。至此,该过程是步骤501的示例执行,其中函数调用是登记函数调用。然后,指纹HAL可以创建CMD_ENROLL命令包。在图6中提供了命令包的结构定义和用于创建CMD_ENROLL命令包600的代码。然后,指纹HAL可以将命令包传输到低级指纹USB HAL。然后,低级指纹USB HAL可以将命令包转换成RPC请求。在图7中提供了RPC请求700的结构的定义,其中RPC请求的名称是clover_usb_message。可以使用也在图7中提供的转换代码710将命令包转换成由700提供的结构的RPC请求。在转换之后,可以使用usb_device_send_data(struct usb_device*)dev,&usb_msg)函数调用通过USB连接发送数据。至此,该过程是执行步骤501和502的示例,其中enroll()函数调用已被转换成RPC请求。
该过程可以以外部设备接收RPC请求并对其执行操作继续,如步骤503所示。在接收到登记请求后,外部设备上的安全微控制器可以切换指纹读取器的状态机以开始收集指纹模板。此时,用户将按照操作***的提示将手指放在指纹读取器上,并且指纹读取器将捕获用户指纹的图像并通知安全微控制器还剩多少捕获。然后,安全微控制器可以通过USB发送这个信息。指纹USB HAL使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用接收这个RPC响应,然后将RPC响应转换成指纹捕获的返回结果,并使用图7中提供的返回代码720转换将其发送到上级(upper-level)指纹HAL。
作为响应,指纹HAL可以接收这个结果,并通知操作***正在进行登记以及剩余的捕获次数,以便完成登记。然后,一旦捕获到模板,操作***就可以通知用户,以抬起手指并将其再次放置在指纹读取器上。该场景可以以重复该过程继续,直到所有必需的图像都成功捕获为止。然后,安全微控制器可以将指纹模板存储在诸如Quad SPI闪存之类的安全存储器中,并向操作***发送有关登记已完成的信息。安全微控制器还可以向操作***发送与登记相关联的手指的标识符,以用作以后使用同一根手指对同一用户进行验证的标签。然后,操作***可以通知用户登记已完成。
根据图5并且其中生物特征是指纹的示例认证过程可以再次从操作***提示用户将他们的手指放在指纹读取器上开始。在这个示例中,操作***可以对指纹HAL进行authenticate()函数调用。然后,指纹HAL可以创建CMD_IDENTIFY命令,并将该命令发送到低级指纹USB HAL。然后,低级指纹(lower-level)USB HAL可以将命令包转换成clover_usb_message RPC请求。在转换之后,使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用通过USB发送数据。在接收到认证命令后,安全微控制器可以切换指纹读取器的状态机,以开始指纹模板的识别。此时,用户将按照操作***的指示将手指放在指纹读取器上,然后指纹读取器可以捕获用户指纹的图像,并将样本与所有存储的指纹模板进行比较。如果存在一个匹配的模板,那么将匹配的手指ID通知给安全微控制器;否则,通知安全微控制器没有匹配的模板。然后,安全微控制器可以通过USB发送回这个信息。指纹USB HAL可以使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用接收这个RPC响应,然后将RPC响应转换成匹配的结果,并将数据发送到上级指纹HAL。然后,指纹HAL可以将结果通知给操作***。在图8中提供了通知操作***800的代码。然后,操作***可以取决于由指纹HAL提供的结果来决定用户是否可以获得访问权。
根据图5并且其中生物特征是指纹的示例删除过程可以以用户单击与由***存储的一个手指相关联的删除按钮开始。然后,操作***可以由用户已识别出的手指ID的标签对指纹HAL进行remove()函数调用。然后,指纹HAL可以创建[CMD_STORAGE_TEMPLATE,ARG_DELETE]命令,并将其发送到低级指纹USB HAL。然后,低级指纹USB HAL可以将命令包转换成clover_usb_message RPC请求。在转换之后,使用usb_device_send_data((structusb_device*)dev,&usb_msg)函数调用通过USB发送数据。在接收到删除命令后,安全微控制器可以从安全存储器中移除与指定的手指ID相关联的生物特征,然后通过USB发送回成功移除的确认。然后,指纹USB HAL可以使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用接收这个RPC响应,然后将RPC响应转换成移除结果,并将数据发送到上级指纹HAL。然后,指纹HAL可以通知操作***指纹模板已被删除,并且操作***可以从***中删除生物特征。
根据图5并且其中生物特征是指纹的示例取消过程可以以操作***对指纹HAL进行cancel()函数调用开始。然后,指纹HAL可以创建CMD_CANCEL命令,并将其发送到低级指纹USB HAL。然后,低级指纹USB HAL可以将命令包转换成clover_usb_message RPC请求。在转换之后,可以使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用通过USB发送数据。在接收到取消命令后,安全微控制器可以取消正在进行的任何指纹操作,并使指纹读取器返回空闲状态。
根据图5并且其中生物特征是指纹的示例重新配置过程可以以操作***对指纹HAL进行re-provision()函数调用开始。然后,指纹HAL可以创建[CMD_STORAGE_TEMPLATE,ARG_ID]命令,并将其发送到低级指纹USBHAL。低级指纹USB HAL将命令包转换成clover_usb_message RPC请求。在转换之后,使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用通过USB发送数据。在接收到重新配置命令后,安全微控制器可以删除存储在安全存储器中的所有指纹模板。
根据图5并且其中生物识别是指纹的示例枚举过程可以以操作***对指纹HAL进行enumerate()函数调用开始。然后,指纹HAL可以创建[CMD_STORAGE_TEMPLATE,ARG_ID]命令,并将其发送到低级指纹USBHAL。低级指纹USB HAL将命令包转换成clover_usb_message RPC请求。在转换之后,使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用通过USB发送数据。在接收到枚举命令后,安全微控制器可以读取存储在安全存储器中的所有指纹模板,并通过USB发送回所存储的模板的数量。指纹USB HAL使用usb_device_send_data((struct usb_device*)dev,&usb_msg)函数调用接收这个RPC响应,然后将RPC响应转换成结果并将数据发送到上级指纹HAL。然后,指纹HAL将已登记的指纹模板的数量通知给操作***。枚举过程可以用作外部设备和计算设备之间安全连接的设置阶段的最后步骤的一部分,其中计算设备进行检查以确保外部设备对重新配置函数调用做出了正确响应。
虽然已经相对于本发明的具体实施例详细描述了本说明书,但是应该认识到的是,本领域技术人员在理解了前述内容之后可以容易地想到这些实施例的替换、变型和等同形式。虽然本公开中的示例一般而言针对外部生物特征读取器,该外部生物特征读取器在物理上不同于它针对其操作的计算设备,但是该读取器并不一定需要完全在计算指纹传感器的外部,并且由本文公开的某些实施例表达的好处中的许多仍然由最终***(resulting system)实现。例如,计算设备的访问控制***到生物特征验证***之间的连接将受益于以上公开的安全连接和消息认证方法的任何实施例。此外,虽然在本公开全文中用作示例的计算设备是具有操作***的多用户计算设备,其中对操作***的至少一个服务的访问是基于经由生物特征信息对用户身份的验证,计算***不需要包括操作***,因为针对其的访问可以基于验证信号的任何电子或计算机化的元素都可以从本文公开的一些实施例中受益。在不脱离本发明的范围的情况下,本领域技术人员可以对本发明进行这些和其它修改和变型,本发明的范围在所附权利要求中更具体地阐述。
Claims (20)
1.一种用于控制对计算设备的访问的计算机化方法,包括:
在所述计算设备上实例化操作***;
将私有签署密钥存储在外部安全微控制器上;
经由所述计算设备的外部端口从所述计算设备向所述安全微控制器发送证书请求;
在所述外部安全微控制器上:(i)使用所述私有签署密钥;以及(ii)响应于接收到所述证书请求,对证书进行签署;
在所述计算设备上验证所述证书;
将生物特征数据集存储在所述外部安全微控制器上;
在所述外部安全微控制器上从生物特征读取器接收生物特征样本数据;
在所述外部安全微控制器上对照所述生物特征数据集验证所述生物特征样本数据;
在验证所述生物特征样本数据后,从所述外部安全微控制器向所述操作***发送认证信号;以及
基于所述证书的验证和所述认证信号来授权对所述操作***的访问。
2.如权利要求1所述的计算机化的方法,还包括:
在所述外部安全微控制器和所述计算设备上生成共享秘密密钥;以及
其中所述认证信号在所述外部安全微控制器上用所述共享秘密密钥加密,并在所述计算设备上用所述共享秘密密钥解密。
3.如权利要求1所述的计算机化的方法,还包括:
在所述外部安全微控制器和所述计算设备上生成共享秘密密钥;
使用所述共享秘密密钥导出密钥散列消息认证码;以及
其中在从所述外部安全微控制器向所述计算设备发送所述认证信号之前,组合所述认证信号和所述密钥散列消息认证码。
4.如权利要求1所述的计算机化的方法,还包括:
将所述外部安全微控制器上的所述私有签署密钥注入安全密钥注入设施中。
5.如权利要求1所述的计算机化的方法,还包括:
在所述计算设备上生成第一密钥对,其中所述第一密钥对包括第一公钥和第一私钥;
其中所述证书请求与所述第一公钥一起从所述计算设备发送到所述外部安全微控制器;以及
其中在由所述计算设备对所述证书进行验证之前,先进行用所述第一私钥对所述证书进行解密的步骤。
6.如权利要求1所述的计算机化的方法,还包括:
在验证所述证书后,从所述计算设备向所述外部安全微控制器发送重新配置命令;以及
响应于所述重新配置命令,在所述外部安全微控制器上擦除旧的生物特征信息集。
7.如权利要求1所述的计算机化的方法,还包括:
在所述计算设备上实例化硬件抽象层;
由所述硬件抽象层接收来自所述操作***的生物特征授权请求;以及
使用所述硬件抽象层为所述生物特征授权请求生成远程过程调用;
向所述外部安全微控制器发送所述远程过程调用;以及
其中,响应于所述远程过程调用,在所述外部安全微控制器上进行所述生物特征样本数据的接收和验证。
8.一种用于控制对计算设备的访问的***,包括:
操作***,在所述计算设备上被实例化;
外部端口,位于所述计算设备上;
外部安全微控制器:(i)经由所述外部端口可通信地连接到所述计算设备;(ii)存储生物特征数据集;以及(iii)存储私有签署密钥;
生物特征读取器,可通信地连接到所述外部安全微控制器;
其中所述外部安全微控制器被编程为:(i)响应于从所述计算设备接收到证书请求而用所述私有签署密钥对证书进行签署;(ii)从所述生物特征读取器接收生物特征样本数据;(iii)对照所述生物特征数据集验证所接收的生物特征样本数据;以及(iv)在验证所接收的生物特征样本数据后,经由所述端口向所述主计算机的所述操作***发送认证信号;以及
其中所述操作***被编程为:(i)向所述安全微控制器发送证书请求;(ii)验证所述证书;以及(iii)基于对所述证书的验证,基于所述认证信号允许对所述操作***的访问。
9.如权利要求8所述的***,还包括:
第一密钥生成器,在所述外部安全微控制器上被实例化;
第二密钥生成器,在所述计算设备上被实例化;
其中所述外部安全微控制器和所述计算设备每个被编程为分别使用所述第一密钥生成器和所述第二密钥生成器来生成共享秘密密钥;以及
其中所述外部安全微控制器被编程为用所述共享秘密密钥来加密所述认证信号;以及
其中所述计算设备被编程为用所述共享秘密密钥来解密所述认证信号。
10.如权利要求8所述的***,还包括:
第一密钥生成器,在所述外部安全微控制器上被实例化;
第二密钥生成器,在所述计算设备上被实例化;
其中所述外部安全微控制器和所述计算设备每个被编程为分别使用所述第一密钥生成器和所述第二密钥生成器来生成共享秘密密钥;以及
其中所述外部安全微控制器被编程为:(i)使用所述共享秘密密钥导出密钥散列消息认证码;(ii)在向所述计算设备发送所述认证信号之前,组合所述认证信号和所述密钥散列消息认证码。
11.如权利要求8所述的***,还包括:
临时密钥生成器,在所述计算设备上被实例化并被编程为生成第一公钥和第一私钥;
其中所述计算设备被编程为将所述第一公钥连同所述证书请求一起发送到所述外部安全微控制器;以及
其中所述计算设备被编程为用所述第一私钥解密所述证书。
12.如权利要求8所述的***,其中:
所述计算设备被编程为在验证所述证书后,从所述外部安全微控制器发送重新配置命令;以及
所述外部安全微控制器被编程为响应于所述重新配置命令,而擦除旧的生物特征信息集。
13.如权利要求8所述的***,还包括:
硬件抽象层,在所述计算设备上被实例化;
其中所述操作***被编程为向所述硬件抽象层发送生物特征授权请求;
其中所述硬件抽象层被编程为:生成用于所述生物特征授权请求的远程过程调用;以及向所述外部安全微控制器发送所述远程过程调用;以及
其中所述外部安全微控制器被编程为响应于所述远程过程调用而接收并验证所述生物特征样本数据。
14.如权利要求8所述的***,其中:
所述操作***是Android操作***。
15.一种用于控制对计算设备的访问的***,包括:
操作***,在所述计算设备上被实例化;
外部端口,位于所述计算设备上;
外部安全微控制器:(i)经由所述外部端口可通信地连接到所述计算设备;(ii)存储生物特征数据集;以及(iii)存储证书;
生物特征读取器,可通信地连接到所述外部安全微控制器;
其中所述外部安全微控制器被编程为在设置阶段中向所述计算设备发送所述证书;以及在操作阶段基于此验证接收到的生物特征数据并向所述计算设备发送认证信号;
其中所述计算设备被编程为在所述设置阶段中接收并验证所述证书;基于验证所述证书将所述***切换到所述操作阶段;以及在所述操作阶段中基于所述认证信号来控制对所述操作***的访问。
16.如权利要求15所述的***,还包括:
第一密钥生成器,在所述外部安全微控制器上被实例化;
第二密钥生成器,在所述计算设备上被实例化;
其中所述外部安全微控制器和所述计算设备每个被编程为分别使用所述第一密钥生成器和所述第二密钥生成器来生成共享秘密密钥;以及
其中所述外部安全微控制器被编程为用所述共享秘密密钥来加密所述认证信号;以及
其中所述计算设备被编程为用所述共享秘密密钥来解密所述认证信号。
17.如权利要求15所述的***,还包括:
第一密钥生成器,在所述外部安全微控制器上被实例化;
第二密钥生成器,在所述计算设备上被实例化;
其中所述外部安全微控制器和所述计算设备每个被编程为分别使用所述第一密钥生成器和所述第二密钥生成器来生成共享秘密密钥;以及
其中所述外部安全微控制器被编程为:(i)使用所述共享秘密密钥导出密钥散列消息认证码;(ii)在向所述计算设备发送所述认证信号之前,组合所述认证信号和所述密钥散列消息认证码。
18.如权利要求15所述的***,还包括:
临时密钥生成器,在所述计算设备上被实例化并被编程为生成第一公钥和第一私钥;
其中所述计算设备被编程为将所述第一公钥连同证书请求一起发送到所述外部安全微控制器;以及
其中所述计算设备被编程为用所述第一私钥解密所述证书。
19.如权利要求15所述的***,其中:
所述计算设备被编程为在验证所述证书后,从所述外部安全微控制器发送重新配置命令;以及
所述外部安全微控制器被编程为响应于所述重新配置命令,而擦除旧的生物特征信息集。
20.如权利要求15所述的***,还包括:
硬件抽象层,在所述计算设备上被实例化;
其中所述操作***被编程为向所述硬件抽象层发送生物特征授权请求;
其中所述硬件抽象层被编程为:生成用于所述生物特征授权请求的远程过程调用;以及向所述外部安全微控制器发送所述远程过程调用;以及
其中所述外部安全微控制器被编程为响应于所述远程过程调用而验证所接收的生物特征样本数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/509,103 US10574466B1 (en) | 2019-07-11 | 2019-07-11 | Authenticated external biometric reader and verification device |
US16/509,103 | 2019-07-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112214745A true CN112214745A (zh) | 2021-01-12 |
CN112214745B CN112214745B (zh) | 2022-03-01 |
Family
ID=69590829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911249048.5A Active CN112214745B (zh) | 2019-07-11 | 2019-12-09 | 经认证的外部生物特征读取器和验证设备 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10574466B1 (zh) |
CN (1) | CN112214745B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023061262A1 (zh) * | 2021-10-15 | 2023-04-20 | Oppo广东移动通信有限公司 | 图像处理方法、装置、设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11025628B2 (en) * | 2018-04-17 | 2021-06-01 | Cisco Technology, Inc. | Secure modification of manufacturer usage description files based on device applications |
EP3654239A1 (en) * | 2018-11-13 | 2020-05-20 | Alitheon, Inc. | Contact and non-contact image-based biometrics using physiological elements |
US10574466B1 (en) * | 2019-07-11 | 2020-02-25 | Clover Network, Inc. | Authenticated external biometric reader and verification device |
SG10201906806XA (en) * | 2019-07-23 | 2021-02-25 | Mastercard International Inc | Methods and computing devices for auto-submission of user authentication credential |
US11205003B2 (en) | 2020-03-27 | 2021-12-21 | Intel Corporation | Platform security mechanism |
CN111935693B (zh) * | 2020-08-26 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 蓝牙设备连接方法和蓝牙设备 |
US11546164B2 (en) | 2020-10-23 | 2023-01-03 | Visa International Service Association | Verification of biometric templates for privacy preserving authentication |
US11803357B1 (en) * | 2021-02-16 | 2023-10-31 | Palantir Technologies Inc. | Entity search engine powered by copy-detection |
US20240214195A1 (en) * | 2021-04-30 | 2024-06-27 | Hid Global Corp. | Systems and methods for entangled authentication of biosensors and biosensor outputs |
US11983689B2 (en) * | 2022-03-29 | 2024-05-14 | Shopify Inc. | Method and system for customer responsive point of sale device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104969201A (zh) * | 2013-01-22 | 2015-10-07 | 亚马逊技术有限公司 | 用于调用特权操作的安全接口 |
CN105184135A (zh) * | 2015-08-31 | 2015-12-23 | 宇龙计算机通信科技(深圳)有限公司 | 指纹识别方法及指纹识别*** |
US10079677B2 (en) * | 2015-06-05 | 2018-09-18 | Apple Inc. | Secure circuit for encryption key generation |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050184855A1 (en) | 2004-02-24 | 2005-08-25 | Burchette Robert L.Jr. | Fingerprint vehicle access system |
US20060104224A1 (en) | 2004-10-13 | 2006-05-18 | Gurminder Singh | Wireless access point with fingerprint authentication |
US20080298646A1 (en) | 2005-01-31 | 2008-12-04 | Precise Biometrics Ab | Method and Device for Improved Fingerprint Matching |
US20070245153A1 (en) | 2006-04-18 | 2007-10-18 | Brent Richtsmeier | System and method for user authentication in a multi-function printer with a biometric scanning device |
US20090132816A1 (en) * | 2007-11-15 | 2009-05-21 | Lockheed Martin Corporation | PC on USB drive or cell phone |
US8544092B2 (en) * | 2009-03-12 | 2013-09-24 | International Business Machines Corporation | Integrity verification using a peripheral device |
IN2013CH03958A (zh) | 2013-09-04 | 2015-08-07 | Samsung India Software Operations Pvt Ltd | |
US20150379255A1 (en) * | 2014-06-25 | 2015-12-31 | Anand Konanur | Systems and methods for granting access to a computing device using a wearable device |
US10079684B2 (en) * | 2015-10-09 | 2018-09-18 | Intel Corporation | Technologies for end-to-end biometric-based authentication and platform locality assertion |
US9619804B1 (en) * | 2016-03-16 | 2017-04-11 | Clover Network, Inc. | Network of biometrically secure devices with enhanced privacy protection |
US10621584B2 (en) * | 2016-03-16 | 2020-04-14 | Clover Network, Inc. | Network of biometrically secure devices with enhanced privacy protection |
WO2019055972A1 (en) | 2017-09-18 | 2019-03-21 | Mastercard International Incorporated | SYSTEMS AND METHODS FOR PROVIDING BIOMETRIC MODELS TO BIOMETRIC DEVICES |
US10574466B1 (en) * | 2019-07-11 | 2020-02-25 | Clover Network, Inc. | Authenticated external biometric reader and verification device |
-
2019
- 2019-07-11 US US16/509,103 patent/US10574466B1/en active Active
- 2019-12-09 CN CN201911249048.5A patent/CN112214745B/zh active Active
-
2020
- 2020-01-29 US US16/776,386 patent/US10965468B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104969201A (zh) * | 2013-01-22 | 2015-10-07 | 亚马逊技术有限公司 | 用于调用特权操作的安全接口 |
US10079677B2 (en) * | 2015-06-05 | 2018-09-18 | Apple Inc. | Secure circuit for encryption key generation |
CN105184135A (zh) * | 2015-08-31 | 2015-12-23 | 宇龙计算机通信科技(深圳)有限公司 | 指纹识别方法及指纹识别*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023061262A1 (zh) * | 2021-10-15 | 2023-04-20 | Oppo广东移动通信有限公司 | 图像处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10574466B1 (en) | 2020-02-25 |
US10965468B2 (en) | 2021-03-30 |
CN112214745B (zh) | 2022-03-01 |
US20210014070A1 (en) | 2021-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214745B (zh) | 经认证的外部生物特征读取器和验证设备 | |
TWI667585B (zh) | 一種基於生物特徵的安全認證方法及裝置 | |
CN110334503B (zh) | 利用一个设备解锁另一个设备的方法 | |
US10740481B2 (en) | Security systems and methods with identity management for access to restricted access locations | |
CN107251477B (zh) | 用于安全地管理生物计量数据的***和方法 | |
KR101907958B1 (ko) | 출입 통제 방법 및 장치, 사용자 단말, 서버 | |
EP3605475A1 (en) | Secure communication method based on smart door lock system and smart door lock system thereof | |
US20180082050A1 (en) | Method and a system for secure login to a computer, computer network, and computer website using biometrics and a mobile computing wireless electronic communication device | |
KR101198120B1 (ko) | 홍채정보를 이용한 양방향 상호 인증 전자금융거래시스템과 이에 따른 운영방법 | |
EP2937805B1 (en) | Proximity authentication system | |
US8990572B2 (en) | Methods and systems for conducting smart card transactions | |
JPWO2007094165A1 (ja) | 本人確認システムおよびプログラム、並びに、本人確認方法 | |
US20210173897A1 (en) | Authentication translation | |
CN111161454A (zh) | 一种智能锁安全联网与控制的方法 | |
CN109791583B (zh) | 允许基于生物识别数据在安全通信信道上进行客户端设备的用户的认证的方法和设备 | |
US20240096154A1 (en) | Establishment of secure bluetooth connection to internet of things devices, such as electronic locks | |
KR20210006329A (ko) | 원격 생체 식별 | |
KR101996317B1 (ko) | 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법 | |
JP6841781B2 (ja) | 認証サーバ装置、認証システム及び認証方法 | |
JP2004206258A (ja) | 多重認証システム、コンピュータプログラムおよび多重認証方法 | |
WO2007108397A1 (ja) | 通信システム、サーバ、クライアント端末及び通信方法 | |
KR102077204B1 (ko) | 복합 인증용 생체 보안 장치 및 이를 이용한 인증 시스템 | |
CN116229609A (zh) | 门锁***的绑定方法、模组、***及介质 | |
WO2007092429A2 (en) | Secure system and method for providing same |
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 |