Systems and methods for intertwined authentication of biosensors and biosensor outputs - Patents.com
Patent Information
- Application Number
- JP2023566540
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-04-30
- Filing Date
- 2022-04-29
- Publication Date
- 2025-04-01
- Estimated Expiration
- 2042-04-29
AI Technical Summary
Biometric sensors in mobile devices are vulnerable to attacks where malicious actors can replace the fingerprint sensor with a pre-recorded data emitter, compromising authentication processes, especially due to the lack of secure communication protocols and the ease of obtaining valid fingerprint images.
Integrating a biometric sensor with a secure element, such as a physically unclonable function (PUF), to create a secure biometric sensor system where the sensor and element are physically coupled, using cryptographic protocols like I2C and cryptographic hash functions to intertwine biometric data with authentication data, ensuring the data's integrity and preventing unauthorized access.
Enhances security by ensuring that biometric data is genuinely acquired from the user, reducing the risk of impersonation attacks and maintaining the integrity of authentication processes without significant hardware changes or costs.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] FIELD OF THE DISCLOSURE Embodiments of the present disclosure relate generally to sensors, including biometric sensors (also referred to as biosensors), authentication, encryption, personal information protection, fraud prevention, privacy, security, and more particularly to systems and methods for entangled authentication of biometric sensors and biometric sensor outputs. [Background technology]
[0002] In today's modern world, there are many situations where it is important for devices, systems of devices, networks, etc. to be able to confirm (i.e., verify, validate, etc.) that individuals, such as employees, customers, authorized users of a particular piece of equipment, are who they claim to be. The process of verifying (or at least attempting to verify) the identity of individuals (and devices) is commonly referred to as authentication. This is distinct from authorization, which enables control over the specific resources that properly authenticated individuals and / or devices can access.
[0003] Generally, as is well known in the art and exemplified herein, authenticating an individual requires demonstrating what the individual "knows," "has," and / or "is." Examples of what an individual "knows" (or may know) include a password, a personal identification number (PIN), an answer to one or more security questions, a frequently changed authentication code, etc. Examples of what an individual "has" (or may have) include an access card, a smart card, a particular mobile device, etc. Finally, examples of what an individual "is" (or may have) include a particular fingerprint, a particular voice print, a particular face (e.g., facial structure), a particular retina, a pair of retinas, etc. Of course, a fingerprint does not represent the entire person, but such representations are commonly used in the art.
[0004] In the field of biometric sensors, threats to systems equipped with such sensors are ever-present, and include repeated attempts by malicious actors to gain access to various resources that are at least partially protected by one or more sensors. Such access attempts can be, for example, unauthorized physical entry into buildings or other secured spaces (offices, laboratories, vaults, etc.), unauthorized logins to protected systems, making unauthorized purchases or transfers, obtaining personal information, etc. Perpetrators of such attacks often pose as legitimate users of the relevant systems. Whether human or programs (such as so-called "bots"), these fraudsters are persistent and constantly adjust their attack strategies to evade defenses. In response, defenses also evolve in response to the attacks. [Brief description of the drawings]
[0005] Details may be seen from the following description taken in conjunction with the drawings, in which like elements are numbered like, and in which: [Figure 1] FIG. 2 illustrates a first example communication configuration according to at least one embodiment. [Diagram 2] FIG. 13 illustrates a second example communication configuration according to at least one embodiment. [Diagram 3] FIG. 13 illustrates a third example communication configuration according to at least one embodiment. [Figure 4] FIG. 1 illustrates a first example of an architecture for a secure biometric sensor system according to at least one embodiment. [Diagram 5] FIG. 2 illustrates a second example of an architecture for a secure biometric sensor system according to at least one embodiment. [Figure 6] FIG. 1 illustrates a first example of an information flow diagram, in accordance with at least one embodiment, in which both an example host and an example biometric sensor use multiple corresponding hash functions. [Figure 7]FIG. 11 illustrates a second example information flow diagram, showing an example configuration in which both the example host and the example biometric sensor use a single corresponding hash function, according to at least one embodiment. [Figure 8] FIG. 11 illustrates a third example information flow diagram, and a first example configuration in which an example host and an example biometric sensor use a common encryption and decryption method, according to at least one embodiment. [Figure 9] FIG. 11 illustrates a fourth example information flow diagram and a second example configuration in which an example host and an example biometric sensor use a common encryption and decryption method, according to at least one embodiment. [Figure 10] FIG. 5 illustrates a fifth example information flow diagram and a third example configuration in which an exemplary host and an exemplary biometric sensor use a common encryption and decryption method, according to at least one embodiment. [Figure 11] FIG. 2 illustrates an example method performed, for example, by a biometric sensor or a secure biometric sensor system, in accordance with at least one embodiment. [Figure 12] FIG. 1 illustrates an example computer system configured to execute at least one embodiment and / or embody one or more devices, systems, etc., in accordance with at least one embodiment. [Figure 13] 13 illustrates an example software architecture that can be implemented in a computer system, such as the example computer system of FIG. 12, in accordance with at least one embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0006] Currently, various types of biometric sensors are commercially available, and many more are expected to be provided in the future. Examples of types of biometric sensors include fingerprint scanners, retina scanners, voice print identification devices, face recognition scanners, etc. Although the present disclosure is primarily described with respect to fingerprint scanners (also referred to herein as fingerprint sensors), this is by way of example and not limitation. The embodiments of the present disclosure are equally applicable to other types of biometric sensors, and further to a wide variety of other sensors (e.g., temperature sensors, motion detectors, glass break sensors, pressure sensors, proximity sensors, gas (e.g., carbon monoxide) detectors, positioning systems, etc.). It is useful in many fields to verify that data is legitimately acquired by a particular sensor. Furthermore, verifying the integrity of acquired data is closely related to authentication and is important.
[0007] In conventional configurations, fingerprint sensors are often embedded in large, fixed systems such as kiosks, ATMs, POS devices, etc. In such installations, there is a relatively high degree of confidence that a given fingerprint image was acquired by the fingerprint sensor embedded in a particular device or system, since such physically secured, fixed systems are often directly controlled and / or monitored by interested parties (e.g., store employees, bank employees, government officials, etc.).
[0008] Among other ideas and objectives, embodiments of the present disclosure arise out of the recognition and understanding that fingerprint sensors utilized to authenticate one or more individuals (e.g., for physical access, payment transactions, etc.) are increasingly being deployed on mobile devices, such as smartphones, tablets, laptops, netbooks, ID tokens, smart cards (e.g., smart credit cards), etc. In a typical situation, an individual owns or is an authorized user of a smartphone (an example of a mobile device). Such an individual may have purchased or rented a smartphone from a service provider, may have been provided with a smartphone by an employer, or may be an account holder for a smartphone service plan subscription, where the individual or their organization (e.g., an employer) is the account holder for a smartphone service plan subscription, etc. An individual uses the fingerprint sensor on the smartphone to authorize purchases, app downloads, viewing of personal information (e.g., stored passwords), or for any other purpose that requires identity authentication to access information or perform (or authorize) certain functions or transactions.
[0009] Embodiments of the present disclosure also arise out of a recognition and understanding of the fact that fingerprint sensors in mobile devices (and some other devices) are relatively simple devices that malicious actors can often successfully spoof using pre-recorded data (e.g., stored fingerprint images, etc.). An attacker may gain physical access to a device on which the fingerprint sensor is installed or to which the fingerprint sensor is at least temporarily connected (such as via a Universal Serial Bus (USB) port). Once an attacker has gained physical access, they may be able to replace the fingerprint sensor with another sensor or other electronic circuitry that is configured and / or programmed, etc. to transmit pre-recorded data for authentication.
[0010] Such attacks are facilitated by the fact that the interface between a typical host (e.g., a smartphone) and a typical fingerprint sensor is often standard and relatively simple. Moreover, digital samples of valid fingerprint images have proven easy to obtain by an attacker. This problem is exacerbated when there is no tight coupling between the host and the fingerprint sensor that performs the authentication (or rejection) of the presented fingerprint (or other biometric reading) (e.g., via a network connection).
[0011] Further, embodiments of the present disclosure arise out of a recognition and appreciation of the importance of preventing replacement of a fingerprint sensor used to authorize the downloading, transfer, viewing, etc. of sensitive information, or to authorize the making of purchases, transactions, and other financial transactions, etc., with unauthorized circuitry configured to provide a pre-recorded image or other data to a host for authentication (as opposed to a proper biometric sensor that provides biometric data actually obtained from a living human being "biometrically," i.e., in the vicinity of and in physical contact with the sensor). This is particularly true when the device is a mobile device or a device used by an individual user (e.g., a consumer). If the fingerprint sensor of such a device were replaced with an effective emulator, various problems, including personal information and financial issues, may arise for individuals and organizations (e.g., a business).
[0012] Many solutions have been attempted in conventional configurations. Some solutions involve physically placing a sealed protective case around both the sensor and the processing system (such as a host that determines whether a fingerprint image is genuine or not) or disabling the sensor and / or the entire device if physical tampering is detected. Another approach currently used in some configurations involves embedding a technology called a physically unclonable function (PUF) into the sensor and using the embedded PUF to authenticate the sensor. This approach is costly, at least in terms of chip area (i.e. silicon area), and PUF-based authentication has been shown to be vulnerable to attackers. Furthermore, security verification of PUF-based authentication is often problematic.
[0013] To overcome the problems of conventional configurations, disclosed herein are embodiments of a system and method for intertwined authentication of a biometric sensor and a biometric sensor output. In embodiments of the disclosure, a biometric sensor (such as a fingerprint sensor) is physically coupled with a so-called secure element, e.g., molded in the same packaging substrate as the secure element. With respect to various different embodiments, the following points are noted:
[0014] Exemplary communications and functions performed by a host to which a particular (e.g., solid-state) biometric sensor (or secure biometric sensor system) is communicatively connected Exemplary communications and functions related to a biometric sensor (or a secure biometric sensor system) Exemplary Communications and Functionality Related to Secure Elements In order to avoid repetition of expressions such as "biometric sensor (or system)", "biometric sensor (or secure biometric sensor system)", etc., in this disclosure, the term "biometric sensor" is understood to refer to "biometric sensor, secure biometric sensor system, biometric sensor as part of such system, etc." unless expressly specified otherwise or clear from the context.
[0015] The secure element will now be described, and as is known in the art, the secure element has a relatively simple communication interface (e.g., two wires (or pins, pads, etc.)) in the IC field. Furthermore, in embodiments of the present disclosure, a biometric sensor is communicatively interposed between a host that verifies a biometric reading (e.g., a fingerprint image) and the secure element. The biometric sensor is communicatively connected to the host via a first communication interface and to the secure element via a separate second communication interface. The second communication interface is dedicated to the biometric sensor (i.e., it is not directly available to the host, but only available through the biometric sensor). Thus, one advantage of embodiments of the present disclosure is that to the host, the secure biometric sensor system (including the biometric sensor and the secure element) of the embodiments of the present disclosure appears as a conventional biometric sensor, at least in terms of physical and communication protocols.
[0016] Recently, low-cost serial interface secure elements have emerged as an effective technology component for assigning a cryptographic identity to a particular device or other system. This cryptographic identity can be proven and verified using one or more cryptographic protocols, as described in more detail below. As previously mentioned, secure elements are often low-pin-count integrated circuits, typically bare silicon die or chip-scale packages (CSPs). CSPs are a type of IC package and are specified in J-STD-012, entitled "Implementation of Flip Chip and Chip-Scale Technologies." J-STD-012 is published by a trade association known as IPC.
[0017] In various embodiments, the communication interface used between the biometric sensor and the secure element is an Inter-Integrated Circuit (IIC). 2 The biometric sensor operates according to a protocol (or format) such as "Interface Card" (I2C) or "Inter-Cell" (IC). In contrast, a separate and independent interface between the biometric sensor and a given host operates according to a protocol such as USB, Serial Peripheral Interface (SPI), Ethernet, Wi-Fi, Bluetooth, Infrared, RF, etc. In general, the two interfaces may use the same or different protocols, and one or both may be any protocol that one skilled in the art deems optimal depending on the configuration or situation.
[0018] In some embodiments, the sensor die (i.e., the die on which the fingerprint sensor component is located) may include a simple one-wire or two-wire interface (I 2The secure element is connected by a dedicated connection via a IEEE 802.11b protocol (such as using IEEE 802.11b / g) to the secure element. In some embodiments, it can perform some cryptographic calculations to generate a so-called message authentication code (MAC). The MAC can be any of a variety of MACs used in the art. For example, the MAC can be a hash-based MAC (HMAC), also known in the art as a "keyed-hash MAC." An HMAC is typically generated by processing a message or other data with a cryptographic hash function in conjunction with a secret key.
[0019] In another example, the MAC is a type of MAC based on a block cipher. For example, the MAC is a cipher-block-chaining MAC (CBC-MAC). CBC-MAC uses an encryption device that uses a block cipher to create a "chain" of blocks. To encrypt a given block, the encryption device must have properly encrypted the previous block, thus forming a chain. This property, that each block (except the first) depends on the block immediately preceding it, ensures that any changes made to the plaintext bits of the message (or fingerprint image, etc.) will unpredictably and irreversibly change the final block. This ensures security, as the decryption device must have the encryption key to properly decrypt the message.
[0020] It should be noted that, for the purposes of this disclosure, regardless of whether a particular key is used at a given time to encrypt or decrypt a message, the key will be referred to as an "encryption key" in both contexts (we do not use "encryption key" or "decryption key" for the same value at different times as this can be confusing and obscures the fact that they are, in fact, the same value). Encryption keys are also sometimes referred to herein as "session keys," "transient session keys," etc.
[0021] As mentioned above, in some embodiments, the biometric sensor communicates with the host via a first communication interface (such as using USB or SPI). In addition to using said interface to read fingerprint images and set the biometric sensor's operational registers, the host can use the first interface of the present disclosure to perform one or more of the many authentication processes supported by the biometric sensor that utilize the functionality of the biometric sensor itself or the secure element. Of the exemplary authentication processes described herein, the biometric sensor of the present disclosure supports one or more of the following:
[0022] 1. Authenticating the biometric sensor itself (i.e., as a device) to the host. 2. Authenticating the fingerprint image captured by the biometric sensor, and at the same time intrinsically authenticating the biometric sensor itself.
[0023] 3. An authentication process as in 2 above, where at least the relevant communications between the sensor and the host are encrypted (e.g. encrypted with a temporary session key). Relevant communications are, for example, communications containing the fingerprint that is actually sent for authentication purposes (as opposed to communications for administrative purposes such as calibrating the pixel array).
[0024] In particular, with regard to the first of the three authentication processes above, i.e., the process by which the biometric sensor authenticates itself as a device to the host, the host may perform such a process periodically, e.g., after a predefined number of images, at the request of a user, when a particular trigger event is detected, etc. However, in at least one embodiment, the first process above is unnecessary if each image is itself authenticated as it is captured (the second or third authentication process above is performed), but this (whether to keep authentication on for all images) can be determined by the host.
[0025] It should be noted that even in embodiments in which the host authenticates "all" images from the biometric sensor, there will be intervening images that are not authenticated. For example, even if the host configures the biometric sensor to authenticate "all" images, images that are captured but not used for authentication, such as images used to calibrate (focus, etc.) the pixel array that captures the fingerprint image, will not be authenticated. Such "calibration images" may simply be discarded by the host and / or the biometric sensor. Such calibration images may also be used in a sort of forward feedback loop that iteratively adjusts the settings of one or more registers of the biometric sensor in order to focus on the image that will ultimately be the subject of the authentication attempt. Other approaches may be employed.
[0026] Thus, embodiments of the present disclosure can significantly enhance the security of sensors, such as fingerprint sensors, in an efficient, low-cost manner that does not require significant modifications to either the host or the sensor. Embodiments of the present disclosure significantly improve the protection of biometric readings, such as by combining image source data and cryptographic response source data at the sensor, in the example of a fingerprint image, such that the combination cannot be intelligibly separated until a host with a coding sequence corresponding to the coding sequence at the sensor receives and processes the cryptographically entangled image and cryptographic data at the sensor.
[0027] The image data and the encrypted identity proof data are combined and entangled at the sensor side. The entangled data is then used as input to at least one cryptographic process or function (hashing, encryption, etc.) at the sensor side. Verification of this cryptographically entangled data (successful comparison of hash results, successful decryption, etc.) at the host side provides validation by the host that the corresponding image was indeed captured from the living body by that particular biometric sensor. In this way, authenticating a particular image essentially authenticates at the same time that the image was captured by that sensor. Various embodiments are described in more detail later in this disclosure. One advantage of the embodiments of the present disclosure is that data transfer and authentication are combined into one process (e.g., sequence of operations). In various embodiments, this and other advantages are provided by utilizing low-cost secure elements that are readily available on the market.
[0028] In embodiments, the sensor-acquired data acquired by the fingerprint sensor may include, in addition to the fingerprint image, data referred to in the art as “liveness sensing data.” The purpose of acquiring this data is to verify that the fingerprint image acquisition is from a real finger of a living person in the vicinity of the sensor. Such data may include, for example, measurements of skin temperature, pulse (i.e., heart rate), blood pressure, pulse oximetry, sweat, electrical conductance, and the like. In some examples, one or more machine learning models are trained to classify fingerprints as “live” or “non-live,” and the classification results (and / or associated confidence, etc.) are used as part of the authentication. Thus, as used herein, terms and phrases such as “image data,” “fingerprint image data,” “fingerprint image,” “sensor data,” and the like, should be understood to encompass liveness sensing data in at least one embodiment. Thus, in at least one embodiment, the data that is combined and intertwined at the sensor side for host-side verification includes fingerprint and liveness sensing data.
[0029] Furthermore, in embodiments of the present disclosure, in addition to the image data being inseparable from the authentication data, enhanced security is also achieved by the biometric sensor and the secure element being physically coupled together as part of the secure biometric sensor system. Not only can the host trust that the relevant image was acquired from the living body by the correct sensor through a successful authentication based on the information, but in at least some embodiments, the host's reliability is enhanced by the biometric sensor and the secure element being integral parts in a single physical assembly. Security is enhanced by the very fact that the biometric sensor and the secure element are provided together (such as by molding) in a single physical package. In at least some embodiments, it is impossible or extremely difficult to separate the biometric sensor from the corresponding secure element without disabling the functionality of the secure biometric sensor system itself.
[0030] Additionally, embodiments of the present disclosure provide the advantage of using less board area in situations where area is at a premium. In this regard, cost is often measured in dollars per square millimeter (mm). In addition, there are physical size constraints (e.g., the surface area of a typical fingerprint). Furthermore, no high power elements such as additional memory modules are required. These features make embodiments of the present disclosure not only more streamlined, but also less expensive and less burdensome to manufacture than other approaches.
[0031] Moreover, the convenience and security provided by the embodiments of the present disclosure are further enhanced by the above-described configuration in which a biometric sensor is communicatively interposed between the host and the secure element. Thus, in some embodiments, the communication interface between the host and the biometric sensor can be structurally identical (as in the conventional configuration), but in addition, at least some embodiments are configured such that only the biometric sensor can directly communicate with the secure element between the host and the biometric sensor. In such an embodiment, a communication that attests to successful engagement of the correct secure element can be trusted by the host to have been sent via the correct biometric sensor. Since the cryptographically altered image data and the cryptographic authentication data are inseparable, it can be confirmed that the correct secure element was engaged via the correct biometric sensor. Aspects of various embodiments are described in further detail in this disclosure.
[0032] One embodiment is configured as a secure biometric sensor system including a secure element and a biometric sensor physically coupled to one another. The biometric sensor is configured to communicatively interpose between a host and the secure element. The biometric sensor has logic that, when executed by at least one hardware processor of the biometric sensor, causes the biometric sensor to perform a process including receiving a cryptographic challenge from the host, transferring the cryptographic challenge to the secure element, obtaining a biometric reading using the biometric sensing element, and transmitting the obtained biometric reading to the host. The process includes receiving a cryptographic response from the secure element that is calculated by the secure element based on the cryptographic challenge. The cryptographic response includes a shared secret between the host and the secure element. The process further includes generating a cryptographically entangled token from a predetermined combination of the read-related data and the shared secret. The read-related data includes one or both of the biometric reading and data derived from the biometric reading. The process further includes transmitting the cryptographically entangled token to the host for use by the host in attempting to authenticate that the captured biometric reading was captured by the biometric sensor.
[0033] Another embodiment is embodied as a biometric sensor with a first communication interface and a second communication interface. The biometric sensor is configured to communicatively interpose between a host and a secure element via the first communication interface and the second communication interface. The biometric sensor and the secure element are physically coupled to each other. The biometric sensor also has logic that, when executed by at least one hardware processor of the biometric sensor, causes the biometric sensor to perform a process, the process including receiving a cryptographic challenge from the host, transferring the cryptographic challenge to the secure element, obtaining a biometric reading using the biometric sensing element, and transmitting the obtained biometric reading to the host. The process includes receiving a cryptographic response from the secure element calculated by the secure element based on the cryptographic challenge. The cryptographic response includes a shared secret between the host and the secure element. The process further includes generating a cryptographically entangled token from a predetermined combination of the read-related data and the shared secret. The read-related data includes one or both of the biometric read and data derived from the biometric read. The process further includes transmitting the cryptographically entangled token to the host for use by the host in attempting to authenticate that the captured biometric reading was captured by the biometric sensor.
[0034] Yet another embodiment is embodied as a method performed by a biometric sensor executing stored instructions. The method includes receiving a cryptographic challenge from a host, the biometric sensor communicatively interposed between the host and a secure element. The biometric sensor and the secure element are physically coupled to one another. The biometric sensor forwards the cryptographic challenge to the secure element, acquires a biometric reading using the biometric sensing element, and transmits the acquired biometric reading to the host. The biometric sensor further receives a cryptographic response from the secure element calculated by the secure element based on the cryptographic challenge. The cryptographic response includes a shared secret between the host and the secure element. The biometric sensor generates a cryptographically entangled token from a predetermined combination of the read-related data and the shared secret. The read-related data includes one or both of the biometric reading and data derived from the biometric reading. The biometric sensor transmits the cryptographically entangled token to the host for use by the host in attempting to authenticate that the acquired biometric reading was acquired by the biometric sensor.
[0035] As described herein, one or more embodiments of the present disclosure are embodied as a method including a plurality of processes. One or more other embodiments include at least one hardware processor and one or more non-transitory computer-readable storage media storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes (which in some embodiments correspond to processes performed in embodiments of the disclosed method, but in other embodiments do not correspond to processes performed in embodiments of the disclosed system). Yet one or more other embodiments are embodied as one or more non-transitory computer-readable storage media storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes (which in some embodiments correspond to processes performed in embodiments of the disclosed method and / or processes performed in embodiments of the disclosed system, but in other embodiments do not correspond to processes performed in embodiments of the disclosed method and / or systems.
[0036] Furthermore, many variations and permutations of the above embodiments are described herein, and any variation or permutation described in this disclosure can be implemented in any type of embodiment. For example, the variations and permutations described in this disclosure primarily in relation to method embodiments may be embodied in relation to system embodiments and / or non-transitory computer-readable storage medium embodiments. This flexibility and interoperability of such embodiments is not subject to slight differences in the language (e.g., process, process flow, method, technique, step, process, function, etc.) used to describe and / or define the embodiments and / or their elements.
[0037] FIG. 1 illustrates an exemplary communication arrangement 100 according to at least one embodiment. As shown in FIG. 1, the communication arrangement 100 includes a secure biometric sensor system 102 and a host 104, where the host 104 controls access to a resource 106, which is intended to be generic and may be, for example, a physical space, a computer system, an online resource, personal information (medical information, financial information, etc.) of one or more users, etc. In the described example, the host 104 allows or denies access to the resource 106 based on the host's communication with the secure biometric sensor system 102 and the host's processing of the information received from the secure biometric sensor system 102. In some configurations, the host 104 allows access if it authenticates the currently presented fingerprint and denies access otherwise. In other configurations, the host 104 allows access as soon as the presented fingerprint is authenticated, but provides another opportunity, such as a request for additional information, if the authentication is not immediately successful.
[0038] The host 104 may comprise, for example, a microcontroller or microprocessor (e.g., ARM CM4, ARM CM7, ARM Cortex A9, etc.). In general, the host 104 may be any computing and communication device suitably equipped and configured (e.g., programmed) to perform the host operations described herein, or a combination of multiple devices that collectively perform the host operations. The secure biometric sensor system 102 and the host 104 may be located at a common geographic location, such as, but not limited to, a single computing device (e.g., a smartphone) or other housing. In general, the secure biometric sensor system 102 and the host 104 may be separated by any distance and communicate with each other via one or more networks.
[0039] Communication between the secure biometric sensor system 102 and the host 104 may be wired and / or wireless. In the example primarily described herein, the host 104 and the secure biometric sensor system 102 are connected via a wired serial interface such as USB, SPI, etc. Furthermore, in the example primarily described herein, the biometric sensor 108 is one component of the secure biometric sensor system 102 that communicates directly with the host 104. In addition to the biometric sensor 108, the secure biometric sensor system 102 includes a secure element 110, which is physically coupled to the biometric sensor 108 via a physical coupling 112.
[0040] As with the resources 106, the physical coupling 112 is intended to be generic, and in embodiments, any physical coupling between the biometric sensor 108 and the secure element 110 is used where appropriate. For example, in some embodiments, the physical coupling 112 is configured as or at least includes a common package substrate on which both the biometric sensor 108 and the secure element 110 are molded. In some embodiments, the biometric sensor 108 and the secure element 110 are provided on separate dies and then bonded together by known methods (such as by die-to-die bonding). In at least one embodiment, the physical coupling 112 is configured to prevent tampering, such that if the biometric sensor 108 is physically separated from the secure element 110, the secure biometric sensor system 102 is rendered inoperable.
[0041] The host 104 and the biometric sensor 108 communicate using a host-sensor communication path 114 via a host / sensor interface 116, as described herein. This communication may be via a serial interface, a parallel interface (such as a camera interface), a network connection, or the like. A wireless interface such as Bluetooth or Wi-Fi may also be used. Additionally, the biometric sensor 108 and the secure element 110 communicate using a sensor-secure element communication path 118 via a sensor / secure element interface 120. Communication between the biometric sensor 108 and the secure element 110 is described herein as being performed by an I / O interface. 2 C or other suitable protocols.
[0042] The secure element 110 may be an IC (e.g., a commercially available product such as the NXP A1006) that has one or more secrets and one or more private keys. These secrets and private keys provide a unique cryptographic identity for the secure element 110, and thus for devices such as the biometric sensor 108 that are intimately coupled to the secure element 110. This unique cryptographic identity may be verified using a challenge-response authentication scheme or other known methods. Additionally, the secure element 110 may store a digital certificate that is cryptographically signed by an appropriate legal entity, such as the manufacturer of the secure biometric sensor system 102. In at least one embodiment, the host 104 also stores a copy of the secure element 110's digital certificate and uses this copy to verify one or more blocks of data that the secure element 110 digitally signs with its own digital signature. In some embodiments, the host 104 itself has a secure element (not shown).
[0043] In at least one embodiment, the biometric sensor 108 acts as a controlling component and the secure element 110 acts as a corresponding controlled component with respect to communications over the sensor / secure element interface 120. Such a relationship is sometimes referred to in the art as a "master-slave" relationship, but in this disclosure the terms "controlling component" and "controlled component" are used instead. The biometric sensor 108 may act as a serial clock to synchronize communications between the biometric sensor 108 and the secure element 110. Similarly, in at least one embodiment, the host 104 acts as a controlling component and the biometric sensor 108 acts as a controlled component with respect to communications over the host / sensor interface 116.
[0044] In various embodiments and cases, the host 104 selects or is instructed to operate in a mode in which it simply reads unauthenticated fingerprints at least for some time. It may also have a mode in which it authenticates all fingerprints. Alternatively or additionally, the host 104 may have a mode in which it authenticates some but not all fingerprints, and may operate to authenticate one or more fingerprints at regular intervals, at regular intervals for each fingerprint scanner, randomly, depending on the resources required, and / or in other ways. In one embodiment, the host 104 instructs the biometric sensor 108 as to its current mode of operation, at least in part, by writing specific values and / or commands to one or more registers or other storage elements within the biometric sensor 108. These registers are referred to herein as "authentication registers" because they are dedicated to the task of authentication.
[0045] In some embodiments, the host 104 instructs the biometric sensor 108 to authenticate itself to the host 104 on a case-by-case basis (e.g., periodically, by one of the examples above, or another). Prior to describing such examples, it should be noted that in many of the examples described below with reference to the various figures and / or combinations of figures, the host 104 authenticates that a fingerprint image was acquired by the biometric sensor 108. However, in the examples described next, the host 104 requests that the biometric sensor 108 authenticate itself as a device. This process may additionally or alternatively begin with the biometric sensor 108.
[0046] To authenticate the biometric sensor 108 (or the secure biometric sensor system 102) as a device, the host 104 may store a copy of a digital certificate unique to the secure element 110. This certificate may be used for other purposes, such as to verify the digital signature of image data sent from the biometric sensor 108 to the host 104, as described below. Returning to the example of authenticating the biometric sensor 108 as a device, the host 104 first sends a read command to the biometric sensor 108 via the host / sensor interface 116, which is forwarded from the biometric sensor 108 to the secure element 110. The host 104 then sends a cryptographic challenge (a random number with a multiplier, a point on a particular elliptic curve, etc., depending on the technical capabilities of the secure element) to the biometric sensor 108, which in turn forwards it to the secure element 110.
[0047] The biometric sensor 108 includes logic, referred to herein as "sensor authentication logic." The biometric sensor 108 executes this logic to perform the above and various other operations. The secure element 110 calculates a response to the generated challenge and communicates the response to the biometric sensor 108. The biometric sensor 108 transmits the response to the host 104. The host 104 then authenticates the biometric sensor 108 as a device by verifying the authenticity of the response. The biometric sensor 108 then forwards the reading (taken by the host 104) to itself, i.e., the biometric sensor 108. The secure element 110 may digitally sign the response using its digital certificate, which the host 104 can verify using a copy of that certificate. The above process of authenticating the biometric sensor 108 as a device to the host 104 takes on the order of 60 milliseconds (ms), with the majority of this time (~50 ms) being spent by the secure element 110 calculating the response to the challenge.
[0048] Other examples of image authentication (i.e., essentially sensor authentication) are described below. Although it is somewhat useful for the host 104 to authenticate the biometric sensor 108 as a device, the host 104 is vulnerable to attacks. For example, a malicious actor may be able to spoof the biometric sensor 108 by interposing itself between the host 104 and the biometric sensor 108 and sending a pre-recorded fingerprint image as if the image was sent from the biometric sensor 108. This is one example of a problem addressed by an embodiment of the present disclosure. In an embodiment, the fingerprint image itself is authenticated by the host 104, and in particular, the host 104 authenticates that the image seen was acquired by the biometric sensor 108. This essentially authenticates the biometric sensor 108 as a device to the host 104.
[0049] FIG 2 illustrates an exemplary communications configuration 200 according to at least one embodiment. Similar to the communications configuration 100 of FIG 1, the communications configuration 200 of FIG 2 also includes a host 104 and a resource 106, as well as a host / sensor interface 116 and a sensor / secure element interface 120 (illustrated in the communications configuration 200). The host 104 includes a host component 204 and a protocol A control component 206. The host component 204 is a general term that collectively represents each component of the host 104, including memory, other data storage devices, one or more processors, one or more other communications interfaces, any user interfaces, etc. The details of the host's internal architecture may vary depending on the configuration.
[0050] The communication arrangement 200 further includes a secure biometric sensor system 202. The secure biometric sensor system 202 includes (i) a biometric sensor 208 including a sensor die 214, and (ii) a secure element die 216, which are physically coupled to each other by a physical coupling 212, which may be, for example, a die-to-die bonding, as is known to those skilled in the art. The sensor die 214 includes a protocol A controlled component 218, a sensor register 220, a fingerprint sensor array 222, a sensor authentication logic 230, an authentication register 232, and a protocol B control component 234. If SPI is used as an exemplary protocol for communication between the host 104 and the secure biometric sensor system 202 via the host / sensor interface 116, the protocol A control component 206 is an SPI control component, and the protocol A controlled component 218 is an SPI controlled component.
[0051] The sensor register 220 and the fingerprint sensor array 222 communicate control and status messages 224. Once a fingerprint is scanned, the fingerprint sensor array 222 sends a fingerprint image 226 (collectively shown in FIG. 2 as "sensor data") to the protocol A controlled component 218. A copy of the fingerprint image 226 is also sent via junction 228 to the sensor authentication logic 230. The protocol A controlled component 218 communicates with the sensor register 220, the sensor authentication logic 230 and the authentication register 232 for various purposes described herein.
[0052] In addition to receiving fingerprint images 226 from fingerprint sensor array 222 and communicating with protocol A controlled component 218 as described above, sensor authentication logic 230 also communicates with sensor register 220, authentication register 232, and protocol B control component 234. Furthermore, authentication register 232 communicates with protocol B control component 234 in addition to communicating with protocol A controlled component 218 and sensor authentication logic 230 as described above.
[0053] Additionally, the protocol B control component 234 communicates with the sensor authentication logic 230 and the authentication register 232, as well as with the protocol B controlled component 236. The protocol B controlled component 236 is provided on the secure element die 216 along with the secure element 210. An exemplary protocol for communication between the biometric sensor 208 and the secure element 210 is I2C. 2 When C is used, the protocol B control component 234 2 C controlling component, and protocol B controlled component 236 is I 2 Additionally, although the secure element 210 and the protocol B controlled component 236 are shown as separate for purposes of illustration in FIG. 2, the secure element 210 itself becomes the I 2It may also be a component that is (partially) controlled according to C and / or one or more other protocols.
[0054] The fingerprint sensor array 222 may be a pixel array or other sensing array and / or elements as known in the art. The sensor registers 220 may be set by the host 104 to various values to configure the fingerprint sensor array 222 to operate in various ways and modes. The authentication registers 232 are used as a resource by the sensor authentication logic 230 and the secure element 210, via the protocol B control component 234 and the protocol B controlled component 236, to perform various authentication related tasks and functions described in this disclosure. In other embodiments, the authentication registers 232 are used for various other purposes, such as a control register, a status register, a data register, etc.
[0055] In operation, the secure biometric sensor system 202 executes the sensor authentication logic 230 to perform one or more of the operations described herein. For example, the secure biometric sensor system 202 is configured (e.g., programmed) to perform the method 1100 and many other examples described herein. These functions are described in other parts of this disclosure with reference to the figures. As shown in FIG. 2, a secure and cost-effective secure biometric sensor system is achieved by integrating two dies in a single die. Secure Module. The fingerprint sensor array 222 and the sensor authentication logic 230 can be implemented on a field programmable gate array (FPGA), and the secure element 210 is, for example, a product such as the NXP A1006. There are many implementations, including those in which dedicated hardware is used to implement some or all of the sensor authentication logic 230, and those in which the biometric sensor 208 and the secure element 210 are arranged on a single die or in a die-to-die bonded configuration.
[0056] In various embodiments, the sensor authentication logic 230 can perform both authentication and image reading over the same physical line (e.g., SPI), can send non-authentication related commands and data to components of the biometric sensor 208 such as the sensor register 220 and the fingerprint sensor array 222, can send authentication related commands and data between the authentication register 232 and the secure element 210 via the protocol B control component 234 and the protocol B controlled component 236, provides the advantage of providing computational resources to support image authentication, encryption, etc. In this latter regard, the sensor authentication logic 230 in some embodiments supports image authentication using one or more cryptographic hash functions, and in some embodiments supports image authentication and encryption (e.g., using a block cipher).
[0057] FIG 3 illustrates an exemplary communication arrangement 300 according to at least one embodiment. The communication arrangement 300 of FIG 3 is similar in many respects to the communication arrangement 200 of FIG 2 and will not be described in detail. The main difference between FIG 2 and FIG 3 is that for a secure biometric sensor system 302, the components shown on a separate sensor die 214 in FIG 2 are provided on a common package substrate 304 together with a secure element 310. Most other aspects are essentially the same (at least in one embodiment), but communication between (i) the sensor authentication logic 330 and authentication registers 332 and (ii) the secure element 310 via the sensor / secure element interface 120 is performed by a wired connection (such as wire bonding) on the package substrate 304.
[0058] In many of the figures in this disclosure, corresponding elements are numbered similarly in the different figures. Thus, in Figures 2 and 3, the secure biometric sensor system 202 (302), the protocol A controlled component 218 (318), the sensor register 220 (320), the fingerprint sensor array 222 (322), the control and status message 224 (324), the fingerprint image 226 (326), the junction 228 (328), the sensor authentication logic 230 (330), and the authentication register 232 (332) are numbered the same, except for the leading digit. Wherever possible, elements are numbered in this manner throughout the figures.
[0059] FIG. 4 illustrates an exemplary architecture 400 of an exemplary secure biometric sensor system 402 according to at least one embodiment. The architecture 400 of FIG. 4 includes a secure biometric sensor system 402 similar in scope to the secure biometric sensor system 102 of FIG. 1, the secure biometric sensor system 202 of FIG. 2, and the secure biometric sensor system 302 of FIG. 3. For ease of illustration, the host and resources are omitted from FIG. 4, but are not absent in an actual configuration. Among the elements of FIG. 4, the protocol A controlled component 418, the sensor register 420, the fingerprint sensor array 422, the control and status messages 424, the fingerprint image 426, the junction 428, the sensor authentication logic 430, and the authentication register 432 correspond in at least one embodiment to the elements shown in FIG. 3 (and FIG. 2), and therefore will not be described in detail.
[0060] As shown, the secure element 410 shares a package substrate 404 with the sensor die 406 on which the other components are mounted. In FIG. 4, the host / sensor interface 116 is shown as a group of four pads. These pads are part of a larger group, shown in FIG. 4 as additional pads 444. These pads are referred to as "additional" in FIG. 4 because they are pads other than the four pads given names: power pad 440, ground pad 442, data pad 436, and data pad 438. In FIG. 4, the sensor / secure element interface 120 is shown as the points at which (i) the data pad 436 of the sensor die 406 is connected to the data pad 446 of the secure element 410, and (ii) the data pad 438 of the sensor die 406 is connected to the data pad 448 of the secure element 410 by respective wire bond connections. The secure element 410 also has a power pad 450 and a ground pad 452.
[0061] To indicate the corresponding relationship in the interconnections, data pads 436 and 446 are both labeled "A" and data pads 438 and 448 are both labeled "B." In FIG. 4, protocol B control component 434 is shown as being connected to sensor authentication logic 430 and authentication register 432 and also having terminals "A" and "B." Through these connections, sensor authentication logic 430 and authentication register 432 communicate using the "A" and "B" terminals in protocol B control component 434 to (i) communicate with "A" data pad 446 of secure element 410 via "A" data pad 436 of sensor die 406, and (ii) communicate with "B" data pad 438 of secure element 410 via "B" data pad 438 of sensor die 406.
[0062] In at least one embodiment, the sensor die 406 and the secure element 410, along with a communication channel (such as I2C), are mounted and molded as bare dies on a common package substrate, i.e., package substrate 404. In various embodiments, the sensor die (such as sensor die 406) and the secure element (such as secure element 410) are connected by wire bonding or other equivalent multi-die module or system-in-package interconnection techniques. The substrate with the two interconnected dies can be molded using an epoxy compound or the like, which is a common practice in the field of solid-state fingerprint sensor technology.
[0063] Figure 5 illustrates a slightly different architecture 500 of an exemplary secure biometric sensor system 502 according to at least one embodiment. The architecture 500 of Figure 5 is similar to the architecture 400 of Figure 4, and therefore the 400 numbering is also used in Figure 5. The 500 numbering in Figure 5 includes the secure biometric sensor system 502, the package substrate 504, the secure element 510, and four components of the secure element 510: power solder bumps 550, ground solder bumps 552, data solder bumps 546, and data solder bumps 548. The solder bumps are stacked on the chip pads.
[0064] Thus, the secure element 510 is connected to the package substrate 504 not by pads, but by four solder balls 546, 548, 550 and 552. This is an example of what is known in the art as chip-scale packaging (CSP), which is a type of packaging for ICs. In one embodiment, the height of the solder CSP (with crushed balls) is less than the height of the biometric sensor so as not to compromise the shape of the corresponding biometric sensor.
[0065] FIG. 6 illustrates a first example information flow diagram 600. The diagram illustrates an example configuration in which both an example host 604 and an example secure biometric sensor system 602 use multiple corresponding hash functions, according to at least one embodiment. In FIG. 6, a secure biometric sensor system 602 and a host 604 are shown. The host 604 includes an image store 618, a response calculator 610, an internal hash function 624, an external hash function 640, and a comparison function 646. The secure biometric sensor system 602 includes a fingerprint sensor array 622, a junction 614, a secure element 608 including a response calculator 612, and a sensor authentication logic 630 including an internal hash function 624 and an external hash function 640. Of course, the internal hash function 624 and the external hash function 640 are sensor-side instances of hash functions, but are substantially the same. In FIG. 6 and the four following figures, information items (e.g., cryptographic challenge 606, cryptographic response 636, etc.) are shown with dashed lines.
[0066] The information flow of information flow diagram 600 begins with the host 604 generating (e.g., calculating) a cryptographic challenge 606 and providing the cryptographic challenge 606 to both a response calculator 610 of the host 604 and a response calculator 612 of the secure element 608. One or both of these response calculators 610 and 612, as well as the other response calculators described with reference to the following figures, may be configured with any combination of hardware, firmware, and / or software that one of skill in the art would deem appropriate. In some embodiments, the host response calculator is configured with firmware and / or software, while the secure element response calculator is configured with hardware. The response calculator 610 calculates a secret 628 based on the cryptographic challenge 606 and uses the secret 628 as one of two inputs to what is referred to herein as an internal hash function 624.
[0067] On the sensor side, a fingerprint image 626 is read by the fingerprint sensor array 622 and transmitted via junction 614 to both the internal hash function 624 on the sensor side and to image storage 618 on the host side. In at least one embodiment, the fingerprint image 626 is transmitted as clear text between the secure biometric sensor system 602 and the host 604. As shown, the fingerprint image 626 is one of two inputs, the other being a secret 638 that is calculated by a response calculator 612 of the secure element 608 based on a cryptographic challenge 606. This secret 638 is the secret 638 in the cryptographic response 636 that is transmitted from the secure element 608 to the internal hash function 624.
[0068] In many cases, the secure element 608 will have a latency of around 50 milliseconds to calculate the cryptographic response 636. If the sensor-side internal hash function 624 waited until this calculation was complete before proceeding, this delay of around 50 milliseconds would stall the entire process. However, in at least one embodiment, the sensor-side internal hash function 624 will begin to calculate a hash result of blocks of data from the fingerprint image 626 to generate a digest. This digest is shown in FIG. 6 as the sensor-side intermediate hash result 634. In one embodiment, once the secret 638 is available, the sensor-side internal hash function 624 will calculate a result based on the secret 638.
[0069] At this point in the process, the secure biometric sensor system 602 has generated a data set using the sensor authentication logic 630 that includes hash function results based on both the fingerprint image 626 and the secret 638. However, these hash function results are still two separate data sets and are separable based on the data (fingerprint image 626 or secret 638) for which they were generated using the sensor-side internal hash function 624. To further enhance security, embodiments of the present disclosure then process that combined data set (sensor-side intermediate hash result 634) using an external hash function 640 to generate the sensor hash result 644 in FIG.
[0070] Importantly, the sensor hash result 644 is a value that is inseparably generated from both (i) the image source data (in this example, the hash result of processing the fingerprint image 626 with the internal hash function 624) and (ii) the cryptographic authentication data (in this example, the secret 638). From the value of the sensor hash result 644 itself, it is not possible to know which of these two sets of data contributed (alone) to any portion of the sensor hash result 644. As such, this is an example of what is referred to herein as a "cryptographically entangled token."
[0071] This is similar to how you could take two text documents and count the total number of words in both documents that start with "a", through "b", through "z". You input a cryptographic code known to both parties, such as "horse", and calculate the product of the total number of words that start with "h", the total number of words that start with "o", the total number of words that start with "r", the total number of words that start with "s", and the total number of words that start with "e". Both sides of the encrypted channel will (hopefully) get the same answer, but from the number alone no details about either document can be inferred. As such, this is an example of a "cryptographically entangled token".
[0072] Returning to the two hash functions of this example, the sequential operation of the two hash functions 624 and 640 can be expressed as follows:
[0073]
number
[0074] where "H1" represents the inner hash function 624, "H2" represents the outer hash function 640, "K" represents the computed secret 628 or 638, "image data" represents the fingerprint image 626, "K XOR ipad" represents the ipad slice of the computed secret, and "K XOR opad" represents the opad slice of the computed secret. As known in the art, "ipad" and "opad" are known constants that essentially act as knives used to slice your secret. In particular, "ipad" is the block-sized inner padding, which consists of repeated 0x36 bytes, while opad is the block-sized outer padding, which consists of repeated 0x5c bytes.
[0075] The host-side processing is represented by similar formulas, with the obvious differences being that host-side instances of inner hash function 624 and outer hash function 640 are used, host-side intermediate hash result 632 is used instead of sensor-side intermediate hash result 634 (although these results are substantially equivalent in the case of a valid authentication attempt, i.e., an attempt in which a biometric fingerprint scan is properly made in secure biometric sensor system 602, whether or not the authentication attempt is successful), and secret 628 is used instead of secret 638 (although, as above, these secrets are substantially equivalent in a valid authentication attempt).
[0076] The output of the host-side external hash function 640 is shown in Figure 6 as host hash result 642. Using a comparison function 646, the host 604 compares the host hash result 642 with the sensor hash result 644 received from the secure biometric sensor system 602. If there is a match, it can be concluded that the fingerprint image 626 was legitimately scanned from a living body at the secure biometric sensor system 602. Thus, the authentication result 648 is set to true if there is a match, and false otherwise. Of course, whether or not the fingerprint image 626 is that of an authorized user of a particular system is another matter.
[0077] In some embodiments, the inner hash function 624 and the outer hash function 640 are secure hash algorithms such as the Secure Hash Algorithm 256 (SHA-256) algorithm, the SHA-512 algorithm, etc. The inner hash function 624 and the outer hash function 640 may be the same hash function run twice with different inputs, or may be two different hash functions. In some embodiments, the order of the inputs to the inner hash function 624 is reversed, as follows:
[0078]
number
[0079] Note that these two "separate inputs" are actually a single-valued concatenation of the "two" inputs. This method also has more latency than the above method because the calculation of "K" (i.e., secret 638) must be completed before any subsequent calculations can occur. Similarly, on the host side, the host 604 begins hashing the fingerprint image 626 once it starts receiving the fingerprint image 626 from the secure biometric sensor system 602 (e.g., as image data frames at a frame read rate typically exceeding 60 ms). Since the secure element typically has low processing power, it is likely that the host will have the secret 628 ready much sooner than the secure element 608 will have the secret 638 ready.
[0080] The secure biometric sensor system 602 checks (e.g., after each frame transmission) for a cryptographic response 636 (including a secret 638) from the secure element 608. Once the secret 638 is ready, the secure biometric sensor system 602 hashes the secret 638 using an internal hash function 624 and accumulates it in a digest, and then hashes the sensor-side intermediate hash result 634 using an external hash function 640. Once this is complete, the secure biometric sensor system 602 transmits the sensor hash result 644 to the host 604. This transmission can be on an interrupt basis or in response to periodic polling by the host 604. In some embodiments, the sensor hash result 644 is sent by the secure biometric sensor system 602 to the secure element 608 and is cryptographically signed using the digital certificate of the secure element 608. In this case, the digital signature is also verified by the host 604 as an added security measure. Additionally, in at least one embodiment, the entire image is processed with the associated encryption function, whether a hash function, encryption (discussed in more detail below), or another encryption technique is used, allowing the host to determine that an exact match of the entire image has been obtained at the host.
[0081] A second example information flow diagram 700 is shown in FIG. 7, which illustrates an example configuration in which both the example host and the example biometric sensor use a single corresponding hash function, according to at least one embodiment. FIG. 7 is similar to FIG. 6, and is simpler than FIG. 6, so a detailed description will be omitted. The main difference between the information flow diagram 600 of FIG. 6 and the information flow diagram 700 of FIG. 7 is that in FIG. 7, only a single hash function is used on each side (the secure biometric sensor system 702 and the host 704), whereas in the information flow diagram 600 of FIG. 6, two (or more) hash functions are used.
[0082] Of the elements shown in FIG. 7, cryptographic challenge 706, response calculator 710, secret 724, secure element 708, response calculator 712, cryptographic response 734, secret 736, image store 718, comparison function 744, and authentication result 746 are substantially the same (in at least one embodiment) as the correspondingly numbered elements in FIG. 6.
[0083] In a single hash function 732 on each side, the fingerprint image 726 and the secret 724 or 736 are combined in a predetermined manner before being processed with the hash function 732, resulting in the generation of a cryptographically entangled token using only a single hash function. In one example, both the host 704 and the secure biometric sensor system 702 can place the calculated secret in a specific position in the block sequence consisting of the fingerprint image 726 and the secret 724 or 736. For example, both place the secret 5th from the end and know that the other will do the same before generating the host hash result 740 and the sensor hash result 742, respectively. In another example, the choice of the position of the secret in the block sequence depends on the calculated secret itself. For example, on both sides, the values are calculated as follows:
[0084]
number
[0085] In this case, both parties know that the modulus to be used is 11. In other embodiments, the last digit (or other predetermined digit) of the calculated secret is used as the modulus. Also, various other techniques can be used to combine the fingerprint image 726 and the secret 724 or 736 in a predetermined format in generating the cryptographically entangled token. As in Figure 6, a comparison function 744 sets an authentication result 746 to true or false depending on whether a match is determined between the host hash result 740 and the sensor hash result 742.
[0086] A third example information flow diagram 800 is shown in Figure 8, which illustrates a first example configuration in which an example host 804 and an example secure biometric sensor system 802 use a common encryption and decryption method, according to at least one embodiment. The encryption embodiments described with reference to Figures 8, 9, and 10 may have higher latency than the hash function-based embodiments described above, because the secure element of the embodiments of Figures 8, 9, and 10 must complete the calculation of the secret before using the image data and the secret together to generate an encrypted cryptographically entangled token (which in these embodiments includes the entire image and additional data).
[0087] Of the elements shown in FIG. 8, cryptographic challenge 806, response calculator 810, secure element 808, response calculator 812, secret 814, cryptographic response 832 including secret 834, image store 818, fingerprint sensor array 822, and fingerprint image 826 are substantially the same (in at least one embodiment) as correspondingly numbered elements in the previous figures (and therefore will not be described in detail).
[0088] In this embodiment, the sensor authentication logic 830 includes a hardware encryption device 836 that uses a block cipher-based encryption standard, such as the Advanced Encryption Standard (AES), to encrypt blocks of data using an encryption key. In the embodiment shown in FIG. 8, the hardware encryption device 836 encrypts the fingerprint image 826 using a secret 834 as the encryption key. In response, the host 804 decrypts the fingerprint image 826 using the calculated secret 814. An authentication result 844 is set to true if the decryption is successful, and false otherwise. In at least some embodiments, such as the embodiments shown in FIGS. 8, 9, and 10, the fingerprint image is not transmitted until the encryption is performed, although in some descriptions of the embodiments this operation is mentioned earlier in the process (e.g., operation 1108 of the communication arrangement 100 of FIG. 11).
[0089] FIG. 9 illustrates a fourth example information flow diagram 900, which illustrates a second example configuration in which an example host and an example biometric sensor use a common encryption and decryption method, according to at least one embodiment. The information flow diagram 900 of FIG. 9 is similar to the information flow diagram 800 of FIG. 8 and will not be described in detail. The only difference is that the hardware encryption device 936 encrypts the fingerprint image 926 using an encryption key equal to a random number 944 that the hardware encryption device 936 requests from the secure element 908. In other embodiments, the sensor authentication logic 930 itself generates the random number 944.
[0090] Additionally, as shown in sensor encryption result 938, the hardware encryption device 936 not only encrypts the fingerprint image 926 using the random number 944 as a (temporary) encryption key, but also encrypts the random number using the secret 934 as the encryption key. In one embodiment, the host 904 requests the encrypted random number 944 after initially receiving the encrypted fingerprint image 926. The host 904 then decrypts the random number 944 using its calculated secret 914, and then decrypts the fingerprint image 926 using the random number 944 as a temporary session key. The result of the comparison function 946 is stored as an authentication result 948.
[0091] A fifth example information flow diagram 1000 is shown in Figure 10, which illustrates a third example configuration in which an example host 1004 and an example secure biometric sensor system 1002 use a common encryption and decryption method, according to at least one embodiment. The elements shown in Figure 10, including cryptographic challenge 1006, secure element 1008, response calculator 1010, response calculator 1012, secret 1014, image storage 1018, fingerprint sensor array 1022, fingerprint image 1026, and comparison function 1044, are substantially the same as corresponding elements similarly numbered in the previous figures.
[0092] The main difference between the two previous figures and Figure 10 is that the sensor authentication logic 1030 encrypts both the fingerprint image 1026 and the secret 1034 together as a package using the hardware encryption device 1036, as can be seen from the sensor encryption result 1038, using a symmetric encryption key 1048. Similarly, on the host side, the information sent from the secure biometric sensor system 802 is decrypted using the key 1048, and then the host 1004 compares the host computed secret 1014 with the secure element computed secret 1034 using a comparison function 1044. Depending on the output of the comparison function 1044, a true or false result is stored as the authentication result 1046. Additionally, the fingerprint image 1026 is stored in the image storage 1018.
[0093] 11 illustrates method 1100, which is an example of a method performed by a secure biometric sensor system, such as secure biometric sensor system 102, secure biometric sensor system 202, secure biometric sensor system 302, secure biometric sensor system 402, or another secure biometric sensor system. In general, method 1100 is performed by any suitable computing and communication device equipped, programmed, or configured to perform the described functions. Although method 1100 is described relatively briefly here, it should be understood that all permutations and combinations of the embodiments disclosed herein may be used as permutations, embodiments, etc. of method 1100.
[0094] In operation 1102, the secure biometric sensor system receives a cryptographic challenge from the host. The biometric sensor is communicatively interposed between the host and the secure element, and the biometric sensor and the secure element are physically coupled to each other. In operation 1104, the secure biometric sensor system forwards the cryptographic challenge to the secure element. In operation 1106, the secure biometric sensor system acquires a biometric reading using the biometric sensing element. In operation 1108, the secure biometric sensor system transmits the acquired biometric reading to the host. As previously mentioned, this operation does not occur until encryption is performed at the sensor. In general, except as dictated by logical dependencies, the order of operations recited in method 1100 is not intended to be limiting and operations may be performed in different orders.
[0095] In operation 1110, the secure biometric sensor system receives a cryptographic response from the secure element. The cryptographic response was calculated by the secure element based on the cryptographic challenge and includes a shared secret between the host and the secure element. In operation 1112, the secure biometric sensor system generates a cryptographically entangled token (e.g., the result of one or more hash functions, a cryptographic result, etc.) from a predetermined combination of the read-related data and the shared secret. The read-related data includes one or both of the biometric reading (e.g., a fingerprint image) and data derived from the biometric reading (e.g., a hash of the fingerprint image with one or more other values, such as a calculated cryptographic response secret). In operation 1114, the secure biometric sensor system transmits the cryptographically entangled token to the host. The host uses the cryptographically entangled token to attempt to authenticate that the captured biometric reading was captured by the biometric sensor.
[0096] FIG. 12 illustrates a computer system 1200 that can be used to implement and / or perform at least one embodiment. Instructions 1212 (e.g., software, programs, applications, applets, apps, and / or other executable code) are executed on the computer system 1200 to cause the computer system 1200 to perform any one or more of the methods described herein. For example, the instructions 1212 are executed to cause the computer system 1200 to perform any one or more of the methods described herein. The instructions 1212 transform the general unprogrammed computer system 1200 into a specific computer system 1200 that is programmed to perform the described and illustrated functions in the described manner. The computer system 1200 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked configuration, the computer system 1200 may function as a server device or a client device in a server-client network environment, or as a peer device in a peer-to-peer (or distributed) network environment.
[0097] In accordance with the present disclosure, on the sensor side, the sensor authentication logic in any embodiment may be implemented in hardware (e.g., dedicated hardware), via a processor executing instructions, or otherwise. Similarly, on the host side, it may be implemented in the above or another manner.
[0098] Computer system 1200 may be or include, but is not limited to, a server computer, a client computer, a personal computer (PC), a tablet computer, a laptop computer, a netbook, a set-top box (STB), a personal digital assistant (PDA), an entertainment media system, a mobile phone, a smartphone, a mobile device, a wearable device (such as a smart watch), a smart home device (such as a smart appliance), other smart devices, a web appliance, a network router, a network switch, a network bridge, and / or any other machine capable of sequentially or otherwise executing instructions 1212 that specify operations performed by computer system 1200. Additionally, although only a single computer system 1200 is shown, the term "machine" is intended to include a collection of machines that individually or jointly execute instructions 1212 to perform any one or more of the methods described herein.
[0099] Computer system 1200 includes processor 1202, memory 1204, and I / O components 1206, which are configured to communicate with each other via bus 1244. In an exemplary embodiment, processor 1202 (e.g., a central processing unit (CPU), a reduced instruction set computing (RISC) processor, a complex instruction set computing (CISC) processor, a graphics processing unit (GPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), a radio frequency integrated circuit (RFIC), other processors, and / or any suitable combination thereof) includes processor 1208 and processor 1210 that execute instructions 1212. The term "processor" is intended to include a multi-core processor that includes two or more independent processors (sometimes referred to as "cores") that can execute instructions simultaneously. Although multiple processors 1202 are shown in FIG. 12, computer system 1200 may be a single processor with a single core, a single processor with multiple cores (e.g., a multi-core processor), multiple processors with a single core, multiple processors with multiple cores, or any combination thereof.
[0100] The memory 1204 includes a main memory 1214, a static memory 1216, and a storage unit 1218, each accessible to the processor 1202 via a bus 1244. The memory 1204, the static memory 1216, and / or the storage unit 1218 store executable instructions 1212 to perform any one or more of the methods or functions described herein. Additionally or alternatively, the instructions 1212 may be located, completely or partially, in the main memory 1214, in the static memory 1216, in a machine-readable medium 1220 in the storage unit 1218, in at least one processor 1202 (e.g., in a cache memory of one of the processors 1202), and / or a combination thereof, when executed by the computer system 1200. The machine-readable medium 1220 is one or more non-transitory computer-readable storage media.
[0101] I / O components 1206 include a wide variety of components for receiving input, generating and / or providing output, transmitting information, exchanging information, taking measurements, etc. The particular I / O components 1206 included in a particular instance of computer system 1200 will depend on the type of machine. For example, a portable machine such as a cell phone will include a touch input device or other similar input mechanism, whereas a headless server machine will not include such a touch input device. It is noted that I / O components 1206 may include many other components not shown in FIG.
[0102] In various exemplary embodiments, I / O components 1206 include output components 1232 and input components 1230. Output components 1232 may be, for example, visual components (e.g., a plasma display panel (PDP), a light emitting diode (LED) display, a liquid crystal display (LCD), a projector, a cathode ray tube (CRT)), audio components (e.g., speakers), haptic components (e.g., vibration motors, resistive mechanisms, and other signal generators), etc. Input components 1230 may be, for example, alphanumeric input components (e.g., a keyboard, a touch screen configured to receive alphanumeric input, a photo-optical keyboard, other alphanumeric input components), point-based input components (e.g., a mouse, a touch pad, a track ball, a joystick, a motion sensor, other pointing devices), haptic input components (e.g., physical buttons, a touch screen that responds to the location or force of touch or touch gestures, one or more other haptic input components), audio input components (e.g., a microphone), etc.
[0103] In another exemplary embodiment, the I / O component 1206 includes various components such as a biometric component 1234, a motion component 1236, an environmental component 1238, and a position component 1240. The biometric component 1234 is a component that detects facial expressions (e.g., hand expressions, facial expressions, vocal expressions, body gestures, eye tracking, etc.), measures biosignals (e.g., blood pressure, heart rate, body temperature, sweat, brain waves, etc.), identifies individuals (e.g., via voice identification, retina identification, face identification, fingerprint identification, brainwave-based identification, etc.), and the like. The motion component 1236 is, for example, an acceleration sensing component (e.g., an accelerometer), a gravity sensing component, a rotation sensing component (e.g., a gyroscope, etc.).
[0104] Environmental components 1238 may include, for example, a light sensing component (such as a light meter), a temperature sensing component (such as one or more thermometers), a humidity sensing component, a pressure sensing component (such as a barometer), an acoustic sensing component (such as one or more microphones), a proximity sensing component (such as an infrared sensor that detects nearby objects), a gas sensing component (such as a gas detection sensor that detects concentrations of harmful gases for security purposes or to measure airborne pollutants), and other components that provide indicators, measurements, signals, and the like corresponding to the surrounding physical environment. Position components 1240 may include, for example, a position sensing component (such as a Global Positioning System (GPS) receiver), an altitude sensing component (such as an altimeter and / or barometer that detects air pressure to determine altitude), an orientation sensing component (such as a magnetometer), and the like.
[0105] A variety of technologies can be employed for communication. The I / O component 1206 also includes a communication component 1242. The communication component 1242 operates to communicatively connect the computer system 1200 to the network 1222 and / or the devices 1224 via the connection 1226 and / or the connection 1228. For example, the communication component 1242 may comprise a network interface component or another suitable device for connecting with the network 1222. In another example, the communication component 1242 is a wired communication component, a wireless communication component, a cellular communication component, a near field communication (NFC) component, a Bluetooth (such as Bluetooth Low Energy) component, a Wi-Fi component, other communication components that communicate via one or more modalities, etc. The devices 1224 can be, for example, one or more other devices, a variety of peripheral devices (e.g., peripheral devices connected via a Universal Serial Bus (USB) connection), etc.
[0106] Additionally, the communication component 1242 may be capable of detecting an identifier or may comprise a component operable to detect an identification. For example, the communication component 1242 may be a radio frequency identification (RFID) tag reader component, an NFC smart tag detection component, an optical reader component (e.g., an optical sensor for detecting one-dimensional barcodes such as Universal Product Code (UPC) barcodes, multi-dimensional barcodes such as Quick Response (QR) codes, Aztec codes, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra Code, UCC RSS-2D barcodes, and other optical codes), or an acoustic detection component (e.g., a microphone for identifying tagged audio signals). Additionally, various information may be determined via the communication component 1242, such as location by Internet Protocol (IP) geolocation, location by Wi-Fi signal triangulation, location by detection of NFC beacon signals indicating a particular location, and the like.
[0107] One or more instructions (e.g., software) and data structures embodying or used in the methods and functions described herein may be stored in various memories (e.g., memory 1204, main memory 1214, static memory 1216, (e.g., cache) memory of one or more processors 1202, etc.) and / or storage units 1218. These instructions (e.g., instructions 1212), when executed by one or more processors 1202, cause various operations to be performed to implement various embodiments of the present disclosure.
[0108] The instructions 1212 are sent and received over the network 1222 using a transmission medium via a network interface device (e.g., a network interface component included in the communications component 1242) using any of a variety of well-known transfer protocols (Session Initiation Protocol (SIP), Hypertext Transfer Protocol (HTTP), etc.). Similarly, the instructions 1212 are sent or received to the device 1224 via a connection 1228 (e.g., a peer-to-peer connection) using a transmission medium.
[0109] FIG. 13 illustrates an exemplary software architecture 1302 executable on a computer system, such as the exemplary computer system 1200 of FIG. 12, according to at least one embodiment. The illustrated exemplary software architecture 1302 can be installed on one or more devices described herein. For example, the software architecture 1302 is installed on any device or system configured similarly to the computer system 1200 of FIG. 12. The software architecture 1302 is supported by hardware, such as a machine 1304 with a processor 1306, memory 1308, and I / O components 1310. In this example, the software architecture 1302 is conceptualized as a layered structure, with each layer providing a specific function. The software architecture 1302 has layers, such as an operating system 1312, libraries 1314, frameworks 1316, and applications 1318. Operationally, the applications 1318 use one or more application programming interfaces (APIs) to invoke API calls 1320 through the software layers and receive messages 1322 in response to the API calls 1320.
[0110] The operating system 1312 manages hardware resources and provides common services. The operating system 1312 includes, for example, a kernel 1324, services 1326, and drivers 1328. The kernel 1324 serves as an abstraction layer between the hardware layer and other software layers. For example, the kernel 1324 provides functions such as memory management, processor management (such as scheduling), component management, networking and / or security settings. The services 1326 provide other common services to other software layers. The drivers 1328 control or connect to the underlying hardware. For example, the drivers 1328 are a display driver, a camera driver, a Bluetooth or Bluetooth Low Energy driver, a flash memory driver, a serial communication driver (such as a USB driver), a Wi-Fi driver, an audio driver, a power management driver, and the like.
[0111] The libraries 1314 provide a low-level common infrastructure used by the applications 1318. The libraries 1314 may be, for example, system libraries 1330 (such as the C standard library) that provide functions such as memory allocation functions, string manipulation functions, mathematical functions, etc. Additionally, the libraries 1314 may be API libraries 1332 such as media libraries (such as libraries supporting the depiction and / or manipulation of various media formats such as Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 or AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio coding (AAC), Adaptive Multi-Rate (AMR) audio codec, Joint Photographic Experts Group (JPEG or JPG), Portable Network Graphics (PNG), etc.), graphics libraries (such as the OpenGL framework used to render graphical content on a display in two dimensions (2D) and three dimensions (3D)), database libraries (such as SQLite that provides various relational database functions), web libraries (such as WebKit that provides web browsing functions), etc. The library 1314 may include a wide variety of other libraries 1334 to provide many other APIs to the application 1318 .
[0112] The framework 1316 provides a high-level, common infrastructure used by the applications 1318. For example, the framework 1316 may provide various graphical user interface (GUI) functionality, high-level resource management, high-level location services, etc. The framework 1316 may provide a wide range of other APIs that can be used by the applications 1318, some of which may be proprietary to a particular operating system or platform.
[0113] Representative examples of applications 1318 include a home application 1336, a contacts application 1338, a browser application 1340, a book reader application 1342, a location application 1344, a media application 1346, a messaging application 1348, a games application 1350, and various other applications shown in FIG. 13 as third party applications 1352. An application 1318 is a program that performs a function defined in the program. Various programming languages, such as object-oriented programming languages (e.g., Objective-C, Java, C++, etc.) and procedural programming languages (e.g., C, assembly language, etc.), may be used to generate one or more applications 1318 that are structured in various ways. In a particular example, a third party application 1352 (e.g., an application developed using an ANDROID® or IOS® Software Development Kit (SDK) by an entity other than the manufacturer of a particular platform) is mobile software that runs on a mobile operating system, such as IOS, ANDROID, or a WINDOWS® phone. In this example, a third party application 1352 can invoke API calls 1320 provided by the operating system 1312 to facilitate performing the functions described herein.
[0114] In view of the above disclosure, various examples are described below, in which one or more features, either alone or in combination, are within the scope of the disclosure of the present application. Example 1 is a secure biometric sensor system comprising a secure element and a biometric sensor configured to be communicatively interposed between a host and the secure element, the biometric sensor and the secure element being physically coupled to one another, the biometric sensor having sensor authentication logic that, when executed by at least one hardware processor of the biometric sensor, causes the biometric sensor to perform a number of operations. The processes include receiving a cryptographic challenge from the host, forwarding the cryptographic challenge to the secure element, acquiring a biometric reading using the biometric sensing element, transmitting the acquired biometric reading to the host, receiving from the secure element a cryptographic response calculated by the secure element based on the cryptographic challenge, the cryptographic response including a shared secret between the host and the secure element, generating a cryptographically entangled token from a predetermined combination of the read-related data and the shared secret, the read-related data including one or both of the biometric reading and data derived from the biometric reading, and transmitting the cryptographically entangled token to the host for use by the host in attempting to authenticate that the acquired biometric reading was acquired by the biometric sensor.
[0115] Example 2 is a secure biometric sensor system as described in Example 1, in which the biometric sensor and the secure element are physically coupled to one another, including the biometric sensor and the secure element affixed to a common packaging substrate.
[0116] Example 3 is a secure biometric sensor system described in Example 1 or 2, including a biometric sensor configured to be communicatively interposed between a host and a secure element, the biometric sensor having a first communication interface, where the biometric sensor is configured to communicate with the host via the first communication interface, and a second communication interface different from the first communication interface, where the biometric sensor is configured to communicate separately with the secure element via the second communication interface.
[0117] Example 4 is the secure biometric sensor system according to any of Examples 1 to 3, wherein transmitting the acquired biometric readings to the host is initiated prior to receiving the cryptographic response from the secure element.
[0118] Example 5 is a secure biometric sensor system according to any of Examples 1 to 3, wherein transmitting the captured biometric reading to the host is initiated after receiving a cryptographic response from the secure element, and the processes further include encrypting the captured biometric reading using a shared secret before transmitting the captured biometric reading to the host.
[0119] Example 6 is a secure biometric sensor system according to any of Examples 1 to 5, wherein the processes further include digitally signing the cryptographically entangled token using the secure element for verification of the digital certificate of the secure element by the host prior to transmitting the cryptographically entangled token to the host.
[0120] Example 7 is a secure biometric sensor system according to any of Examples 1 to 6, wherein the cryptographically entangled token includes a sensor-side hash result of a hash function, and the processes further include using the hash function to generate the sensor-side hash result from a predetermined combination of the read-related data and the shared secret.
[0121] Example 8 is the secure biometric sensor system of Example 7, wherein the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor includes the host computing a host-side copy of the shared secret from the cryptographic challenge, using a hash function to generate a host-side hash result from a corresponding pre-defined combination of the host-side reading-related data and the host-side copy of the shared secret, and determining whether the sensor-side hash result matches the host-side hash result.
[0122] Example 9 is a secure biometric sensor system described in any of Examples 1 to 6, wherein the cryptographically entangled token includes a sensor-side hash result of an external hash function, and the plurality of processes further includes generating an intermediate sensor-side hash result from the biometric reading and the shared secret using the internal hash function, and generating a sensor-side hash result from the intermediate sensor-side hash result using the external hash function.
[0123] Example 10 is a secure biometric sensor system as described in Example 9, wherein generating an intermediate sensor-side hash result from the biometric reading and the shared secret using an internal hash function includes generating a first of two parts of the intermediate sensor-side hash result from the biometric reading and the shared secret using an internal hash function, and then generating a second of two parts of the intermediate sensor-side hash result using the internal hash function.
[0124] Example 11 is a secure biometric sensor system as described in Example 10, wherein at least a portion of using an internal hash function to generate a first of two parts of the intermediate sensor-side hash result is performed before receiving a cryptographic response from the secure element.
[0125] Example 12 is a secure biometric sensor system as described in Example 10, wherein the use of an internal hash function to generate a first of two parts of the intermediate sensor-side hash result is performed all before receiving a cryptographic response from the secure element.
[0126] Example 13 is a secure biometric sensor system according to any of Examples 9 to 12, wherein the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor includes the host computing a host-side copy of the shared secret from the cryptographic challenge, generating an intermediate host-side hash result from the biometric reading and the host-side copy of the shared secret using an internal hash function, generating a host-side hash result from the intermediate host-side hash result using an external hash function, and determining whether the sensor-side hash result matches the host-side hash result.
[0127] Example 14 is a secure biometric sensor system of any of Examples 1-6, further including encrypting the biometric reading using a first encryption key using a block cipher prior to transmitting the captured biometric reading to the host, the cryptographically entangled token including the encrypted biometric reading, and transmitting the cryptographically entangled token to the host includes transmitting the captured biometric reading to the host.
[0128] Example 15 is the secure biometric sensor system of example 14, wherein the shared secret is a first cryptographic key. Example 16 is the secure biometric sensor system of Example 15, wherein the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor includes the host calculating a host-side copy of the shared secret from the cryptographic challenge and decrypting the encrypted biometric reading using the host-side copy of the shared secret as a decryption key.
[0129] Example 17 is a secure biometric sensor system as described in Example 14, further including obtaining a random number, where the obtained random number is a first encryption key, generating an encrypted random number by encrypting the random number using the shared secret as a second encryption key, and transmitting the encrypted random number to the host.
[0130] Example 18 is the secure biometric sensor system of Example 17, wherein the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor includes the host calculating a host-side copy of the shared secret from the cryptographic challenge, obtaining a random number by decrypting the encrypted random number using the host-side copy of the shared secret as a second decryption key, and decrypting the encrypted biometric reading using the obtained random number as a first decryption key.
[0131] Example 19 is the secure biometric sensor system according to any of Examples 1 to 18, wherein the acquired biometric readings include biometric detection data. Example 20 is a biometric sensor comprising: a first communication interface and a second communication interface, the biometric sensor configured to communicatively intervene between a host and a secure element via the first communication interface and the second communication interface, the biometric sensor and the secure element being physically coupled to one another; and sensor authentication logic, the sensor authentication logic, when executed by at least one hardware processor of the biometric sensor, causes the biometric sensor to perform a plurality of operations, the plurality of operations including receiving a cryptographic challenge from the host; forwarding the cryptographic challenge to the secure element; and generating a cryptographic challenge using the biometric sensing element. the host; receiving a cryptographic response from the secure element calculated by the secure element based on a cryptographic challenge, the cryptographic response including a shared secret between the host and the secure element; generating a cryptographically entangled token from a predetermined combination of the read-related data and the shared secret, the read-related data including one or both of the biometric reading and data derived from the biometric reading; and transmitting the cryptographically entangled token to the host for use by the host in attempting to authenticate that the obtained biometric reading was obtained by the biometric sensor.
[0132] Example 21 is a method performed by a biometric sensor executing stored instructions, the method comprising: receiving a cryptographic challenge from a host, the biometric sensor being communicatively interposed between the host and a secure element, the biometric sensor and the secure element being physically coupled to one another; transferring the cryptographic challenge to the secure element; acquiring a biometric reading using the biometric sensing element; transmitting the acquired biometric reading to the host; receiving from the secure element a cryptographic response calculated by the secure element based on the cryptographic challenge, the cryptographic response including a shared secret between the host and the secure element; generating a cryptographically entangled token from a predetermined combination of read-related data and the shared secret, the read-related data including one or both of the biometric reading and data derived from the biometric reading; and transmitting the cryptographically entangled token to the host for use by the host in attempting to authenticate that the acquired biometric reading was acquired by the biometric sensor.
[0133] Example 22 is one or more non-transitory computer-readable storage media storing instructions that, when executed by at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes, including a plurality of processes described above in connection with Example 1.
[0134] Example 23 is one or more non-transitory computer-readable storage media storing instructions that, when executed by at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes, including a plurality of processes described above in connection with Example 20.
[0135] Example 24 is one or more non-transitory computer-readable storage media storing instructions that, when executed by at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes, including a plurality of processes described above in connection with Example 21.
[0136] Example 25 is a system including at least one hardware processor and one or more non-transitory computer-readable storage media storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes, including a plurality of processes described above in connection with Example 20.
[0137] Example 26 is a system including at least one hardware processor and one or more non-transitory computer-readable storage media storing instructions that, when executed by the at least one hardware processor, cause the at least one hardware processor to perform a plurality of processes, including a plurality of processes described above in connection with Example 21.
[0138] Further examples include the secure biometric sensor system embodiments, the biometric sensor embodiments, the method embodiments, the non-transitory computer readable storage medium embodiments, and the system embodiments of Examples 2-19 above.
[0139] In order to facilitate understanding of the gist of the present disclosure, various embodiments are shown in the drawings. The embodiments disclosed herein are not intended to be exhaustive and are not intended to limit the present disclosure to the forms disclosed in the above detailed description. The described embodiments were selected to enable those skilled in the art to utilize the teachings. Thus, they are not intended to limit the scope of the present disclosure.
[0140] Components of devices, systems, etc., referred to in this disclosure as modules, include both hardware and executable instructions, and may be configured within or as a single component, or distributed across multiple components. The instructions, when executed by the hardware, cause the hardware to perform (e.g., execute) one or more operations (e.g., functions) described herein as being performed by the modules. Hardware may include one or more processors, one or more microprocessors, one or more microcontrollers, one or more microchips, one or more application specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs), one or more graphical processing units (GPUs), one or more tensor processing units (TPUs), one or more other types of hardware devices and / or hardware components as one skilled in the art would deem appropriate depending on the configuration, etc. Instructions may include hardware (e.g., hardwired) instructions, firmware instructions, software instructions, etc. stored in one or more non-transitory computer-readable storage media as one skilled in the art would deem appropriate depending on the configuration. Such a non-transitory computer-readable storage medium may be or may comprise memory (e.g., random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM or E2PROM), flash memory, one or more other types of memory, etc.) and / or one or more other types of non-transitory computer-readable storage media.
[0141] Throughout this disclosure, including the claims, numerical modifiers such as first, second, and third are used to refer to components, data (values, identifiers, parameters, etc.) and / or other elements, but the use of such modifiers is not intended to imply a particular or required order of the referenced elements. Such modifiers are used to aid in distinguishing the elements and are not intended to limit the elements to a particular order or importance unless a particular order or importance is expressly stated.
[0142] Furthermore, expressions such as "at least one of A and B", "at least one of A, B and C" used in this disclosure are to be interpreted as "A and / or B", "A, B and / or C" being used instead of the complete expression. Unless expressly stated otherwise in relation to a specific case, in this disclosure, such expressions do not mean "at least one of A and at least one of B", "at least one of A, at least one of B and at least one of C", etc. In this disclosure, when there are two elements, it is either "one or more A's are present and B's are absent", "one or more B's are present and A's are absent", and "one or more A's and one or more B's are present", and similarly when there are three or more elements. The same interpretation applies when "one or more" is used instead of "at least one", unless expressly stated otherwise in relation to a specific case.
[0143] Additionally, the entities and arrangements described, including those depicted and those described in connection with the figures, are illustrative and not intended to be limiting. References or descriptions of "what" a particular element or entity in the drawings or disclosure "is" or "has," and similar references not expressly limited by a clause such as "in at least one embodiment," are appropriately interpreted as being limited by the clause above, even though they may be interpreted alone, independent of the context, as being absolute and limiting to all embodiments. This implied limiting clause has been omitted from repetition in this disclosure for brevity and clarity of description.
Claims
1. 1. A secure biometric sensor system, comprising: A secure element; a biometric sensor configured to be communicatively interposed between a host and the secure element, the biometric sensor and the secure element being physically coupled to one another, the biometric sensor having sensor authentication logic; the sensor authentication logic, when executed by at least one hardware processor of the biometric sensor, causes the biometric sensor to perform a plurality of operations; The plurality of processes include: receiving a cryptographic challenge from the host; transmitting the cryptographic challenge to the secure element; obtaining a biometric reading using a biometric sensing element; transmitting the obtained biometric readings to the host; receiving from the secure element a cryptographic response computed by the secure element based on the cryptographic challenge, where the cryptographic response includes a shared secret between the host and the secure element; generating a cryptographically entangled token from a predetermined combination of read-related data and the shared secret, wherein the read-related data includes one or both of the biometric read and data derived from the biometric read; transmitting the cryptographically entangled token to a host for use by the host in attempting to authenticate that the captured biometric reading was captured by the biometric sensor; A secure biometric sensor system comprising:
2. The secure biometric sensor system of claim 1 , wherein the biometric sensor and the secure element being physically coupled to one another include the biometric sensor and the secure element being fixed to a common packaging substrate.
3. the biometric sensor configured to be communicatively interposed between the host and the secure element, a first communication interface; a second communication interface different from the first communication interface; The biometric sensor includes the biometric sensor is configured to communicate with the host via the first communication interface; 3. The secure biometric sensor system of claim 1 or 2, wherein the biometric sensor is configured to communicate separately with the secure element via the second communication interface.
4. 3. The secure biometric sensor system of claim 1 or 2, wherein transmitting the acquired biometric reading to the host is initiated prior to receiving the cryptographic response from the secure element.
5. transmitting the captured biometric reading to the host is initiated after receiving the cryptographic response from the secure element; 3. The secure biometric sensor system of claim 1, wherein the plurality of processes further comprises: encrypting the captured biometric reading using the shared secret before transmitting the captured biometric reading to the host.
6. 3. The secure biometric sensor system of claim 1 or 2, wherein the processes further comprise digitally signing the cryptographically entangled token with the secure element for verification of a digital certificate of the secure element by the host prior to transmitting the cryptographically entangled token to the host.
7. the cryptographically entangled token includes a sensor-side hash result of a hash function; 3. The secure biometric sensor system of claim 1 or 2, wherein the processes further comprise: generating the sensor-side hash result from the predetermined combination of the read-related data and the shared secret using the hash function.
8. the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor; Computing a host-side copy of the shared secret from the cryptographic challenge; generating a host-side hash result from a corresponding predetermined combination of host-side read-related data and the host-side copy of the shared secret using the hash function; determining whether the sensor side hash result matches the host side hash result; The secure biometric sensor system of claim 7 , further comprising the host performing:
9. the cryptographically entangled token includes a sensor-side hash result of an external hash function; The plurality of processes include: generating an intermediate sensor-side hash result from the biometric reading and the shared secret using an internal hash function; generating the sensor side hash result from the intermediate sensor side hash result using the external hash function; The secure biometric sensor system of claim 1 or 2, further comprising:
10. generating the intermediate sensor-side hash result from the biometric reading and the shared secret using the internal hash function; generating a first of two parts of the intermediate sensor-side hash result from the biometric reading and the shared secret using the internal hash function; then generating a second of the two portions of the intermediate sensor-side hash result using the internal hash function; 10. The secure biometric sensor system of claim 9, comprising:
11. 11. The secure biometric sensor system of claim 10, wherein at least a portion of using the internal hash function to generate the first of the two portions of the intermediate sensor-side hash result occurs prior to receiving the cryptographic response from the secure element.
12. 11. The secure biometric sensor system of claim 10, wherein generating the first of the two parts of the intermediate sensor-side hash result using the internal hash function occurs all before receiving the cryptographic response from the secure element.
13. the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor; Computing a host-side copy of the shared secret from the cryptographic challenge; generating an intermediate host-side hash result from the biometric reading and the host-side copy of the shared secret using the internal hash function; generating a host-side hash result from the intermediate host-side hash result using the external hash function; determining whether the sensor side hash result matches the host side hash result; The secure biometric sensor system of claim 9 or 10, further comprising the host performing the steps of:
14. and encrypting the obtained biometric readings using a first encryption key using a block cipher prior to transmitting the biometric readings to the host; the cryptographically entangled token includes the encrypted biometric reading; The secure biometric sensor system of claim 1 or 2, wherein transmitting the cryptographically entangled token to the host comprises transmitting the obtained biometric reading to the host.
15. The secure biometric sensor system of claim 14 , wherein the shared secret is the first cryptographic key.
16. the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor; Computing a host-side copy of the shared secret from the cryptographic challenge; decrypting the encrypted biometric read using the host-side copy of the shared secret as a decryption key; The secure biometric sensor system of claim 15 , further comprising the host performing:
17. obtaining a random number, wherein the obtained random number is the first encryption key; generating an encrypted random number by encrypting the random number using the shared secret as a second encryption key; The secure biometric sensor system of claim 14 , further comprising: transmitting the encrypted random number to the host.
18. the host attempting to authenticate that the captured biometric reading was captured by the biometric sensor; Computing a host-side copy of the shared secret from the cryptographic challenge; decrypting the encrypted random number using the host-side copy of the shared secret as a second decryption key to obtain the random number; decrypting the encrypted biometric read using the obtained random number as a first decryption key; The secure biometric sensor system of claim 17 , further comprising the host performing:
19. The secure biometric sensor system of claim 1 or 2, wherein the captured biometric readings include biometric sensing data.
20. 1. A biometric sensor comprising: a first communication interface and a second communication interface, the biometric sensor being configured to be communicatively interposed between a host and a secure element via the first communication interface and the second communication interface, the biometric sensor and the secure element being physically coupled to one another; and a sensor authentication logic, the sensor authentication logic, when executed by at least one hardware processor of the biometric sensor, causes the biometric sensor to perform a plurality of operations; The plurality of processes include: receiving a cryptographic challenge from the host; transmitting the cryptographic challenge to the secure element; obtaining a biometric reading using a biometric sensing element; transmitting the obtained biometric readings to a host; receiving from the secure element a cryptographic response computed by the secure element based on the cryptographic challenge, where the cryptographic response includes a shared secret between the host and the secure element; generating a cryptographically entangled token from a predetermined combination of read-related data and the shared secret, wherein the read-related data includes one or both of the biometric read and data derived from the biometric read; transmitting the cryptographically entangled token to a host for use by the host in attempting to authenticate that the captured biometric reading was captured by the biometric sensor; a biometric sensor comprising:
21. 1. A method performed by a biometric sensor executing a plurality of stored instructions, comprising: receiving a cryptographic challenge from a host, where the biometric sensor is communicatively interposed between the host and a secure element, the biometric sensor and the secure element being physically coupled to one another; transmitting the cryptographic challenge to the secure element; obtaining a biometric reading using a biometric sensing element; transmitting the obtained biometric readings to a host; receiving from the secure element a cryptographic response computed by the secure element based on the cryptographic challenge, where the cryptographic response includes a shared secret between the host and the secure element; generating a cryptographically entangled token from a predetermined combination of read-related data and the shared secret, wherein the read-related data includes one or both of the biometric read and data derived from the biometric read; transmitting the cryptographically entangled token to a host for use by the host in attempting to authenticate that the captured biometric reading was obtained by the biometric sensor.