Access authentication using obfuscated biometrics
By performing concealment of similarity reservation on biometric vectors, the problem of insufficient security when transmitting and storing biometric information is solved, and the biometric information is used to safely and reliably authorize access to computing resources without revealing user privacy.
Patent Information
- Application Number
- JP2022560884
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-05-06
- Filing Date
- 2021-04-21
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2041-04-21
AI Technical Summary
The prior art is difficult to ensure security when transmitting and storing biometric information, and is easily intercepted or accessed by malicious actors.
By performing similarity preservation of biometric vectors, irreversible obscured biometric vectors are generated, and corresponding obscured processing and comparison are performed between the client and the authenticated computing device to ensure access to protected computing resources.
Effectively reduce the risk of malicious actors recovering original biometric information, while ensuring that biometric information is used to safely and reliably authorize access to computing resources without revealing user privacy.
Smart Images

Figure 0007658986000001 
Figure 0007658986000002 
Figure 0007658986000003
Abstract
Description
[Background technology]
[0001] background
[0001] Biometrics are commonly used as an authentication method for accessing protected computer resources. Examples of biometric authentication methods include facial recognition, voice print analysis, fingerprint recognition, and iris recognition. Summary of the Invention
[0002] overview
[0002] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Moreover, the claimed subject matter is not limited to implementations that solve any or all of the disadvantages noted anywhere in this disclosure.
[0003]
[0003] A method for granting access to one or more protected computer resources includes obfuscating a reference biometric vector into an obfuscated reference biometric vector using similarity-preserving obfuscation. An authentication biometric vector is obfuscated into an obfuscated authentication biometric vector using similarity-preserving obfuscation. Similarity between the obfuscated authentication biometric vector and the obfuscated reference biometric vector is tested. Based on the similarity being within an authentication threshold, access to the one or more protected computer resources is granted. [Brief description of the drawings]
[0004] BRIEF DESCRIPTION OF THE DRAWINGS [Figure 1] 1 illustrates generally the use of biometrics to authorize access to protected computer resources. [Figure 2A]
[0005] 1 illustrates an example of a method for authorizing access to a protected computer resource. [Figure 2B] An example method for authorizing access to a protected computer resource is presented. [Figure 2C] An example method for authorizing access to a protected computer resource is presented. [Diagram 3]
[0006] 1 illustrates generally the conversion of biometric identity information into a biometric vector and the obfuscation of the biometric vector into an obfuscated biometric vector. [Figure 4]
[0007] 13A illustrates generally testing the similarity between an obfuscated reference biometric vector and an obfuscated authentication biometric vector received from a client computing device; [Diagram 5]
[0008] 1 illustrates a schematic diagram of an example computing system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0005] Detailed Description
[0009] As discussed above, biometric authentication is often used to authorize access to protected computer resources. An authentication biometric identity (e.g., a fingerprint or face scan) detected at a client computing device can be transmitted to an authentication computing device for comparison with a previously measured reference biometric identity, e.g., a different fingerprint or face scan provided by a user during account creation. For example, the authentication computing device can be a network-accessible server that restricts access to computer resources (e.g., local machine login, local machine file access, local machine peripheral device access, or cloud-based service access) and allows the client computing device to access otherwise restricted computer resources only after successful biometric authentication.
[0006]
[0010] This scenario is illustrated generally in Figure 1, which shows an example of a client computing device 100 with a biometric sensor 102. The biometric sensor is configured to detect a biometric identity from a human user 104. In this example, the biometric sensor is a camera configured to capture an image of the user's face. As will be described in more detail below, in other examples other suitable biometric identities of the human user may be measured.
[0007]
[0011] After the biometric device 102 captures the authentication biometric vector (in this case an image of the user's face), the client computing device 100 transmits the authentication biometric identity over a network 106 (e.g., the Internet) to the authentication computing device 108. After receiving the authentication biometric identity, the authentication computing device compares the authentication biometric identity to stored reference biometric identities known to correspond to authorized users. If the authentication biometric identity matches the reference biometric identity within an authentication threshold, the authentication computing device communicates an authentication approval to the client computing device granting access to one or more protected computer resources.
[0008]
[0012] However, secure and protected transmission and storage of biometric information is paramount. Recognizing that malicious actors may attempt to intercept transmitted biometric information or to improperly access stored biometric information, this disclosure describes techniques for granting access to one or more protected computer resources based on an obfuscated biometric vector. Specifically, a client computing device may measure an authentication biometric identity, convert the biometric identity to a biometric vector, and obfuscate the biometric vector using similarity-preserving obfuscation before transmitting to an authentication computing device. After receiving the obfuscated authentication biometric vector, the authentication computing device may test the similarity of the obfuscated authentication biometric vector with a previously received obfuscated reference biometric vector. Similarity-preserving obfuscation reduces the risk that the obfuscated vector can be reversed to recover the original biometric identity, while still allowing the authentication computing device to test the similarity of the obfuscated vector and grant access to a protected computer resource. In this manner, biometric identification information can be used to safely and securely authorize access to computer resources without compromising user privacy.
[0009]
[0013] 2A-2C illustrate an example of a method 200 for authorizing access to one or more protected resources. Method 200 may be implemented by any suitable computing device having any suitable form factor and hardware configuration. As non-limiting examples, either or both of the client computing device and the authentication computing device may be a desktop, laptop, smartphone, server, tablet, video game console, media center, fitness equipment, in-vehicle computer system, or virtual / augmented reality device. In some examples, either or both of the client computing device and the authentication computing device may be implemented as a computing system 500, described below with respect to FIG. 5.
[0010]
[0014] Additionally, although the steps of method 200 are generally divided between two different computing devices (a client computing device and an authentication computing device), this is not limiting. In other examples, the steps of method 200 may be performed by three or more different computing devices. Alternatively, the steps of method 200 may be performed entirely by a single computing device, such as a client computing device. In other words, a single computing device may act as both a client computing device and an authentication computing device.
[0011]
[0015] Beginning with FIG. 2A, at 202, method 200 includes protecting one or more computer resources. Any suitable hardware or software resources of any suitable computing device may be protected by biometric authentication as discussed herein. Such resources may include physical devices (e.g., processors, sensors, storage), computer data (e.g., documents, databases, computer code), user accounts / profiles, software applications, and / or any other protectable components, content, or functions of a computing device. In other words, pending the outcome of a successful biometric authentication, resources of the client computing device, resources of the authentication computing device, and / or resources of any other suitable computing device accessible by a computer network may be protected. This is reflected in FIG. 2A, where step 202 is shown between the client computing device and the authentication computing device to indicate that resources of one device may be protected, resources of both devices may be protected, or resources of neither device may be protected. Prior to authorization, the computing device may be configured to block user access to protected computing resources (e.g., not allow login and / or not allow decryption of data).
[0012]
[0016] At 204, method 200 includes measuring a reference biometric identity at the client computing device. In some examples, this step may occur during a setup or registration phase when a computing resource is initially secured and / or a new user is authorized to access the computing resource pending the outcome of a subsequent biometric authentication. However, the reference biometric identity may be collected at any suitable time. Moreover, in some cases, the reference biometric identity may be periodically refreshed or replaced, for example to account for changes in a user's appearance or other biometric characteristics over time.
[0013]
[0017] An example of a biometric identity 300 is shown diagrammatically in Figure 3. In particular, while Figure 3 is described in the context of a reference biometric identity, it will be appreciated that the biometric identity 300 may correspond to either a reference biometric identity or an authenticated biometric identity. Similarly, the transformations and obfuscation described below with respect to the biometric identity 300 may be applied to either or both the reference and authenticated biometric identities.
[0014]
[0018] In this example, the biometric identity is a fingerprint. However, both the reference biometric identity and the authentication biometric identity can take any suitable form and are any kind of measurable or quantifiable information about a user that generally remains relatively unchanged and so can be used later to confirm the identity of the user. By way of non-limiting examples, suitable biometric identity may include a sensed user's face, iris, retina, fingerprint, palm print, voice, DNA sequence, or handwriting specimen (e.g., signature). Such biometric identity may be "sensed" in any suitable manner by any suitable biometric sensor. By way of example, such sensors may include a camera, scanner, microphone, pressure / touch sensor, or chemical analyzer.
[0015]
[0019] Returning to FIG. 2A, at 206, the method 200 includes converting the reference biometric identity into a reference biometric vector at the client computing device. This is illustrated diagrammatically in FIG. 3, where the biometric identity 300 has been converted into a biometric vector 302. In the illustrated example, the biometric vector 302 is a three-dimensional vector defined by three values: magnitude (r), polar angle (Θ), and orientation (Φ). However, this is for simplicity only. In practice, a biometric vector may include any number of dimensions, for example hundreds, thousands, or millions of dimensions. In this disclosure, a biometric vector is described as having "N" dimensions, where N may be any suitable positive integer.
[0016]
[0020] The manner in which a biometric identity is converted into a biometric vector may vary significantly depending on the implementation and the type of biometric identity being measured. This disclosure applies to any vector representation. If the biometric identity is an image (e.g., of a human face, fingerprint, or iris), the various dimensions of the vector may optionally correspond to image pixel values or image features (e.g., edges, corners, blobs) that are recognized or extracted from the image. In general, any suitable technique for feature extraction may be used, such as edge / corner detection, blob detection / extraction, template matching, etc. In some cases, a vector conversion function may be tailored for a particular type of biometric data (e.g., a vector conversion function that is specifically trained to convert images of human faces into 128-dimensional feature vectors). In other cases, a more general feature extraction function may be used, such as Speeded-Up Robust Features (SURF) or Scale-Invariant Feature Transform (SIFT).
[0017]
[0021] For non-visual biometric identification, other suitable feature extraction techniques may be used. For example, audio samples may be converted into feature vectors by sampling the audio samples in the time domain to periodically provide the amplitude of the audio data. Individual samples or "slices" of the audio data may then be used to generate values for the various dimensions of the feature vector. Alternatively, a frequency domain representation of the audio samples may be used, where the values of the dimensions of the vector may be assigned based on the frequency and magnitude of the various frequency components present in the audio data.
[0018]
[0022] Regardless of the type of initial biometric identity and the nature of the vector transformation, the reference biometric vector takes the form of a number of individual values corresponding to different dimensions of the vector. Such values may have any suitable range (e.g., from 0 to 1, -1 to 1, or 0 to 100). Depending on the implementation, in some cases the values of the feature vector may be normalized, compressed, or otherwise modified (e.g., to conserve storage space / network bandwidth or to mitigate the effects of outliers or signal noise).
[0019]
[0023] Returning to Figure 2A, at 208, the method 200 includes obfuscating the reference biometric vector using similarity-preserving obfuscation into an obfuscated reference biometric vector, which is also shown diagrammatically in Figure 3, where a biometric vector 302 has been obfuscated using similarity-preserving obfuscation 305 to create an obfuscated biometric vector 306. As shown, during similarity-preserving obfuscation, the polar angle (Θ) and orientation (Φ) of the biometric vector are rotated by different values to produce an obfuscated polar angle Θ O and azimuth angle Φ O As discussed in more detail below, the rotation (or other transformation) applied during similarity-preserving obfuscation may be determined based on authentication credentials 304.
[0020]
[0024] "Similarity-preserving obfuscation" may take the form of any suitable function that can be applied to a biometric vector to modify the information encoded by the biometric vector. In particular, similarity-preserving obfuscation modifies a biometric vector in a manner that reduces or eliminates the possibility that a malicious actor can reconstruct the original biometric identity from the obfuscated biometric vector. In particular, the obfuscation preserves the similarity of two independent vectors both before and after obfuscation.
[0021]
[0025] In some cases, the similarity-preserving obfuscation may be deterministic, meaning that for a given input, the obfuscation that produces similarity always produces exactly the same output. In other words, in a similarity-preserving obfuscation function E, the similarity S1 of two initial biometric vectors A and B is calculated as the similarity S2 of two obfuscated biometric vectors A and B. O and B. O is equivalent to the similarity S2: S1=A,B S2=E(A),E(B)=A O ,B O =S1
[0022]
[0026] Depending on the implementation, similarity-preserving obfuscation may take a variety of forms. As an example, similarity-preserving obfuscation may be a deterministic vector rotation. For example, if two biometric vectors lie on an N-dimensional unit sphere, the similarity between such vectors may be compared by calculating the cosine angle distance. Thus, the similarity-preserving obfuscation function may be any suitable N-dimensional rotation, which is angle-preserving and therefore preserves the similarity between the obfuscated vectors. Alternatively, the similarity between two vectors may be determined by calculating the L2 norm. Thus, similarity-preserving obfuscation may take the form of an N-dimensional Euclidean transformation in which angles and distances are preserved. Thus, the L2 norm calculated for input vectors A and B is the cosine angle distance between obfuscated vector A and B. O and B. O is equal to the L2 norm computed for
[0023]
[0027] Alternatively, similarity-preserving obfuscation may preserve the similarity of independent vectors before and after obfuscation without being completely deterministic. In other words, the similarity of two input vectors A and B can be expressed as the output vector A. O and B. O Similarity-preserving obfuscation is a method for finding a set of possible output vectors A for a given input vector A, provided that the similarity of A is substantially the same as that of A. O This may result in:
[0024]
[0028] In any event, the exact transformations applied as part of similarity-preserving obfuscation may be generated in any suitable manner. In some cases, similarity-preserving obfuscation may use previously received authentication credentials as a seed. This is illustrated in FIG. 3, where similarity-preserving obfuscation uses authentication credentials 304 as a seed. For example, the authentication credentials may be input as a seed to a random number generator to generate a series of rotations or other transformations to be applied to an input biometric vector. During obfuscation of a subsequent vector (e.g., an authentication biometric vector), subsequent supply of the same (or substantially similar) authentication credentials will generate the same (or substantially similar) series of rotations or other transformations, thereby preserving the similarity of the vector.
[0025]
[0029] To be consistently reproducible, the authentication credentials may take the form of any suitable information or data that remains relatively static. By way of example, the authentication credentials may take the form of a password or PIN provided by a user, a device identification (e.g., a MAC address), or a numerical representation of a biometric identification such as a fingerprint. If a password, PIN, or other credential is used that may change over time, a change in such credential may trigger a new obfuscation of the reference biometric vector (i.e., performing step 208 of FIG. 2A again and optionally performing steps 204 and 206 again) using the new password / PIN, etc., as a new seed.
[0026]
[0030] Returning to Figure 2A, at 210, method 200 includes transmitting the obfuscated reference biometric vector from the client computing device to an authentication computing device. At 212, method 200 includes storing, at the authentication computing device, the obfuscated reference biometric vector that was previously obfuscated from the reference biometric vector at the client computing device using similarity-preserving obfuscation. For example, the obfuscated reference biometric vector can be stored as part of a user access credential and / or profile, which the authentication computing device can use when approving the user access to any restricted computer resources on any collaborating computing devices.
[0027]
[0031] The obfuscated reference biometric vector may be transmitted in any suitable manner over any suitable computer network. In some examples, the obfuscated reference biometric vector may be transmitted over the Internet. In some implementations, the obfuscated reference biometric vector may be further encrypted for network transmission. Alternatively, as discussed above, the steps of method 200 may be implemented by a single device in some cases, in which case the obfuscated reference biometric vector need not be transmitted to an authentication computing device, but rather may be stored by the client computing device for later authentication purposes.
[0028]
[0032] The method 200 continues in FIG. 2B. At 214, the method 200 includes measuring an authentication biometric vector at the client computing device. This step occurs after the obfuscated reference biometric vector has previously been transmitted to the authentication computing device. Typically, the authentication biometric vector is measured when the user attempts to access one or more protected computer resources, at which point the user is asked to submit a biometric authentication.
[0029]
[0033] The authentication biometric vector can be measured in substantially the same manner as described above with respect to the reference biometric identity. In other words, the authentication biometric vector can be, by way of non-limiting examples, a sensed face, iris, retina, fingerprint, palm print, voice, DNA sequence, or handwriting specimen (e.g., signature) of the user, and can be sensed by any suitable biometric sensor. In any case, the authentication and reference biometric identities correspond to the same biometric characteristic of the user (i.e., if the reference biometric identity is a sensed fingerprint, the authentication biometric identity is a new measurement of the same fingerprint).
[0030]
[0034] Continuing with FIG. 2B, the method 200 includes, at 216, converting the authentication biometric identity into an authentication biometric vector. At 218, the method 200 includes obfuscating the authentication biometric vector into an obfuscated authentication biometric vector. At 220, the method 200 includes transmitting the obfuscated authentication biometric vector to an authentication computing device. At 222, the method 200 includes at least temporarily storing the obfuscated authentication biometric vector at the authentication computing device, the obfuscated authentication biometric vector having been previously obfuscated from the authentication biometric vector at the client computing device using similarity-preserving obfuscation. Each of these steps may be performed substantially as discussed above with respect to the reference biometric identity, the reference biometric vector, and the obfuscated reference biometric identity.
[0031]
[0035] In particular, the similarity between the reference biometric vector and the authentication biometric vector is preserved only if the same authentication credentials are provided for both vectors during similarity-preserving obfuscation. Thus, even if a malicious actor is able to provide an authentication biometric identity that is similar or identical to the actual biometric identity of an authorized user, the malicious actor will not be able to access protected computer resources unless the authentication credentials are also known.
[0032]
[0036] Method 200 continues with FIG. 2C. At 224, method 200 includes testing the similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector. This is illustrated diagrammatically in FIG. 4. As shown, client computing device 100 transmits an obfuscated reference biometric vector 400 and an obfuscated authentication biometric vector 402 to authentication computing device 108. Notably, any amount of time can elapse between transmitting the two obfuscated vectors, i.e., the obfuscated authentication biometric vector can be transmitted seconds, minutes, hours, days, weeks, or years after the obfuscated reference biometric vector. Once both obfuscated vectors are received by the authentication computing device, the authentication computing device tests the similarity between the two vectors.
[0033]
[0037] As discussed above, the similarity of two obfuscated vectors can be tested in any suitable manner. As one non-limiting example, if the similarity-preserving obfuscation is a vector rotation, testing the similarity of the obfuscated vectors can include calculating the cosine angle distance of the two vectors. Alternatively, if the similarity-preserving obfuscation is a Euclidean transformation, testing the similarity between the obfuscated vectors can include calculating the L2 norm between the two vectors. In general, any suitable method for comparing the similarity of two vectors can be used.
[0034]
[0038] Returning to Figure 2C, at 226, the method 200 includes communicating an authentication approval to the client computing device based on the similarity being within an authentication threshold, as also shown in Figure 4 where the authentication computing device 108 performs the similarity test and then an authentication approval 404 is sent to the client computing device.
[0035]
[0039] Any suitable authentication threshold may be used to determine whether access to a protected computer resource should be granted. As a non-limiting example, a 99% confidence interval may be used. In general, a higher authentication threshold increases the integrity of the computer resource, but also increases the risk of potential false negatives. Depending on the implementation, system security and ease of use may be balanced to arrive at a desired threshold. Different authentication thresholds may be set depending on the type of biometric identity collected. For example, an image of a user's face may exhibit noise due to lighting conditions, glasses, hair, etc., and therefore benefit from a relatively low authentication threshold compared to other biometric identities that are less sensitive to noise, such as fingerprints. Furthermore, in some examples, different authentication thresholds may be set for different protected resources, e.g., a relatively high authentication threshold may be used for a more sensitive resource.
[0036]
[0040] Further, this disclosure has heretofore assumed that an obfuscated authentication biometric vector is compared to only one obfuscated reference biometric vector stored in the authentication computing device. In practice, however, the authentication computing device may store any number of different obfuscated reference biometric vectors, and the obfuscated authentication biometric vector may be compared to any or all of the stored reference vectors. For example, one obfuscated reference biometric vector may correspond to an image of a user's face when the user is wearing glasses, whereas a different obfuscated reference biometric vector may correspond to a different image where the user is not wearing glasses. The authentication computing device may optionally receive and store multiple obfuscated reference biometric vectors corresponding to multiple different types of biometric identities (e.g., one or more vectors may correspond to an image of a user's face, whereas one or more other vectors may correspond to a user's fingerprint).
[0037]
[0041] In the case where multiple obfuscated reference biometric vectors are stored, authentication approval may be transmitted if the obfuscated authentication biometric vector passes a similarity test with any of the stored obfuscated reference biometric vectors. In other words, the obfuscated authentication biometric vector may be tested separately against each of the stored obfuscated reference biometric vectors, and access to the protected resource may be granted if there is a pairwise match of the vectors within an authentication threshold. Alternatively, access to the protected computer resource may be granted only if the obfuscated authentication biometric vector matches multiple stored obfuscated reference biometric vectors within an authentication threshold.
[0038]
[0042] The authentication authorization may take any suitable form. As an example, the authentication authorization may take the form of a decryption key. In addition, in some cases, the authentication authorization may include other suitable information (such as a confidence interval that the obfuscated authentication biometric vector matches the obfuscated reference biometric vector, or a manifest that indicates which particular protected resources are being provided).
[0039]
[0043] 2C, at 228, method 200 includes approving access to the protected computing resource at the client computing device based on receiving the authentication approval. Conversely, if the authentication computing device reports that access is not approved, the client computing device can prompt the user to provide new authentication biometric identification information, utilize a different method for verifying the user identity, request assistance from an owner or administrator of the protected computing resource, or can simply refuse to grant access to the protected computing resource.
[0040]
[0044] In some cases, the authentication authorization may eventually expire, thereby limiting access to the protected computing resource to a single session or a fixed time limit. Thus, when the authentication authorization expires, the computing resource may be protected again until the biometric authentication process is successfully repeated. Thus, method 200 may return to step 214 or another appropriate step until the protected computing resource can be unlocked again.
[0041]
[0045] Additionally or alternatively, the obfuscated reference biometric vector stored by the authentication computing device may expire, such that a new reference biometric identification must be collected before the protected computing resource can be accessed, and thus method 200 may return to step 202 or another appropriate step to submit a new obfuscated reference biometric vector to the authentication computing device.
[0042]
[0046] The methods and processes described herein may be coupled to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as executable computer application programs, network-accessible computing services, application programming interfaces (APIs), libraries, or combinations of the above, and / or other computing resources.
[0043]
[0047] 5 illustrates generally a simplified representation of a computing system 500 configured to provide any or all of the computing functionality described herein. The computing system 500 may take the form of one or more personal computers, network-accessible server computers, tablet computers, home entertainment computers, gaming consoles, mobile computing devices, mobile communication devices (e.g., smartphones), virtual / augmented / mixed reality computing devices, wearable computing devices, Internet of Things (IoT) devices, embedded computing devices, and / or other computing devices.
[0044]
[0048] Computing system 500 includes a logic subsystem 502 and a storage subsystem 504. Computing system 500 may optionally include a display subsystem 506, an input subsystem 508, a communication subsystem 510, and / or other subsystems not shown in FIG.
[0045]
[0049] The logical subsystem 502 includes one or more physical devices configured to execute instructions. For example, the logical subsystem may be configured to execute instructions that are part of one or more applications, services, or other logical structures. The logical subsystem may include one or more hardware processors configured to execute software instructions. Additionally or alternatively, the logical subsystem may include one or more hardware or firmware devices configured to execute hardware or firmware instructions. The processors of the logical subsystem may be single-core or multi-core, and the instructions executed therein may be configured for sequential, parallel, and / or distributed processing. Individual components of the logical subsystem may optionally be distributed among two or more separate devices that may be remotely located and / or configured for cooperative processing. Aspects of the logical subsystem may be virtualized and executed by remotely accessible networked computing devices configured in a cloud computing configuration.
[0046]
[0050] The storage subsystem 504 includes one or more physical devices configured to temporarily and / or permanently hold computer information such as data and instructions executable by the logical subsystem. When the storage subsystem includes two or more devices, the devices may be collocated and / or remotely located. The storage subsystem 504 may include volatile, non-volatile, dynamic, static, read / write, read-only, random access, sequential access, position addressable, file addressable, and / or content addressable devices. The storage subsystem 504 may include removable and / or embedded devices. When the logical subsystem executes instructions, the state of the storage subsystem 504 may be changed, for example to hold different data.
[0047]
[0051] Aspects of logic subsystem 502 and storage subsystem 504 may be integrated into one or more hardware logic components, which may include, for example, program specific and application specific integrated circuits (PASICs / ASICs), program specific and application specific standard products (PSSPs / ASSPs), systems on a chip (SOCs), and complex programmable logic devices (CPLDs).
[0048]
[0052] The logic subsystem and the storage subsystem may cooperate to instantiate one or more logical machines. As used herein, the term "machine" is used to collectively refer to a combination of hardware, firmware, software, instructions, and / or any other components that cooperate to provide computer functionality. In other words, a "machine" is never an abstract concept, but always has a tangible form. A machine may be instantiated by a single computing device, or may include two or more subcomponents that are instantiated by two or more different computing devices. In some implementations, a machine includes a local component (e.g., a software application executed by a processor of a computer) that cooperates with a remote component (e.g., a cloud computing service provided by a network of server computers). The software and / or other instructions that give a particular machine its functionality may optionally be stored as one or more non-executing modules on one or more suitable storage devices.
[0049]
[0053] If included, the display subsystem 506 may be used to present a visual representation of the data maintained by the storage machine 504. This visual representation may take the form of a graphical user interface (GUI). As the methods and processes described herein modify the data maintained by the storage machine, and thus alter the state of the storage machine, the state of the display subsystem 506 may likewise be altered to visually represent the changes in the underlying data. The display subsystem 506 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with the logic machine 502 and / or the storage machine 504 in a shared enclosure, or may be peripheral display devices.
[0050]
[0054] If included, the input subsystem 508 may include or interface with one or more user input devices, such as a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may include or interface with selected natural user input (NUI) components. Such components may be integrated or peripheral, and conversion and / or processing of input actions may be handled on-board or off-board. Examples of NUI components may include microphones for speech and / or voice recognition, infrared, color, stereo, and / or depth cameras for machine vision and / or gesture recognition, head trackers, eye trackers, accelerometers, and / or gyroscopes for motion detection and / or intent recognition, and electric field sensing components for assessing brain activity. Additionally, the input subsystem 508 may include any sensor capable of collecting biometric identification information as discussed above, such as a camera, scanner, pressure sensor, or chemical analyzer.
[0051]
[0055] If included, the communications subsystem 510 may be configured to communicatively couple the computing system 500 with one or more other computing devices. The communications subsystem 510 may include wired and / or wireless communication devices conforming to one or more different communications protocols. As a non-limiting example, the communications subsystem may be configured for communication over a wireless telephone network or a wired or wireless local or wide area network. In some embodiments, the communications subsystem may enable the computing system 500 to send and receive messages to and from other devices over a network such as the Internet.
[0052]
[0056] The methods and processes disclosed herein may be configured to give the user and / or any other human being control over any private and / or potentially sensitive data. Whenever data is stored, accessed, and / or processed, the data may be treated according to privacy and / or security standards. Whenever user data is collected, the user or other interested parties may specify how the data is used and / or stored. Whenever user data is collected for any purpose, the user data may be collected only with the utmost respect for the user's privacy (e.g., user data may be collected only if the user who owns the data gives affirmative consent, and / or the user who owns the data may be notified each time user data is collected). When data is released for access by anyone other than the user, or used in any decision-making process, the user's consent may be collected before using and / or releasing the data. The user may opt in and / or opt out of data collection at any time. After collection of the data, the user may issue commands to delete the data and / or restrict access to the data. All potentially sensitive data may be optionally encrypted and / or anonymized where feasible to further protect the user's privacy. The user may designate parts of the data, metadata, or statistics / results of data processing for release to other parties, e.g., for further processing. Data that is private and / or sensitive may be kept entirely private, e.g., only temporarily decrypted for processing or decrypted only for processing on the user device, and otherwise stored in encrypted form. The user may hold and manage encryption keys for the encrypted data. Alternatively or additionally, the user may designate a trusted third party to hold and manage encryption keys for the encrypted data, e.g., to provide the user with access to the data according to an appropriate authentication protocol.
[0053]
[0057] Where the methods and processes described herein incorporate a machine learning (ML) and / or artificial intelligence (AI) component, the ML and / or AI component may make decisions based at least in part on training of the component on training data. Thus, the ML and / or AI component may be trained on diverse representative data sets that include sufficient relevant data for diverse users and / or user populations. In particular, the training data sets may be inclusive with respect to various human individuals and groups, such that as the ML and / or AI component is trained, its performance is improved with respect to the user experience of the user and / or user population.
[0054]
[0058] The ML and / or AI components can be additionally trained to make judgments that minimize potential bias against human individuals and / or groups. For example, if an AI system is used to evaluate any qualitative and / or quantitative information about human individuals or groups, the AI system can be trained to be invariant to differences between individuals or groups that are not intended to be measured by the qualitative and / or quantitative evaluation, e.g., so that any judgments are not unintentionally influenced by differences between individuals and groups.
[0055]
[0059] ML and / or AI components can be designed to provide context for how they operate, so that implementers of ML and / or AI systems can be accountable for decisions / assessments made by the systems. For example, ML and / or AI systems can be configured for replicable behavior, e.g., if they make pseudorandom decisions, random seeds can be used and recorded to allow the decisions to be replicated later. As another example, data used to train and / or test ML and / or AI systems can be curated and maintained to facilitate future investigations of the behavior of ML and / or AI systems on data. Additionally, ML and / or AI systems can be continuously monitored to identify potential biases, errors, and / or unintended consequences.
[0056]
[0060] The present disclosure is illustrated by way of example and with reference to the associated drawings. Components, process steps, and other elements that may be substantially the same in one or more of the drawings are co-identified and described with minimal repetition. It is noted, however, that co-identified elements may differ to some extent. It is further noted that some of the drawings are schematic and may not be drawn to scale. The scale, aspect ratio, and number of illustrated components of the various drawings may be intentionally distorted to make certain features or relationships easier to see.
[0057]
[0061] In one example, a method for authorizing access to one or more protected computer resources includes storing an obfuscated reference biometric vector at an authentication computing device, the obfuscated reference biometric vector having been previously obfuscated from a reference biometric vector at a client computing device using similarity-preserving obfuscation; receiving an obfuscated authentication biometric vector, the obfuscated authentication biometric vector having been previously obfuscated from an authentication biometric vector at a client computing device using similarity-preserving obfuscation; testing a similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector at the authentication computing device; and communicating an authentication approval from the authentication computing device to the client computing device to grant access to one or more protected computer resources based on the similarity being within an authentication threshold. In this example or any other example, the similarity-preserving obfuscation is deterministic obfuscation. In this example or any other example, the similarity-preserving obfuscation is deterministic vector rotation. In this example or any other example, testing the similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector includes calculating a cosine angle distance between the obfuscated reference biometric vector and the obfuscated authentication biometric vector. In this example or any other example, the similarity preserving obfuscation is a deterministic Euclidean transformation. In this example or any other example, testing the similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector includes calculating an L2 norm between the obfuscated reference biometric vector and the obfuscated authentication biometric vector. In this example or any other example, the similarity preserving obfuscation uses the received authentication credential as a seed. In this example or any other example, the received authentication credential is a password. In this example or any other example, the received authentication credential is a device identity. In this example or any other example, the received authentication credential is a biometric identity.
[0058]
[0062] In one example, a method of granting access to one or more protected computer resources includes obfuscating a reference biometric vector at a client computing device into an obfuscated reference biometric vector using similarity-preserving obfuscation, transmitting the obfuscated reference biometric vector from the client computing device to an authentication computing device, measuring an authentication biometric identity at the client computing device, converting the biometric identity at the client computing device to an authentication biometric vector, obfuscating the authentication biometric vector at the client computing device into an obfuscated authentication biometric vector using similarity-preserving obfuscation, transmitting the obfuscated authentication biometric vector from the client computing device to the authentication computing device, and granting access to the one or more protected computer resources based on receiving an authentication approval from the authentication computing device, where the authentication approval was previously determined at the authentication computing device based on a similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector being within an authentication threshold. In this example or any other example, the reference biometric vector is transformed from a reference biometric identity measured at a client computing device. In this example or any other example, the similarity preserving obfuscation is a deterministic vector rotation. In this example or any other example, the similarity preserving obfuscation is a deterministic Euclidean transformation. In this example or any other example, the similarity preserving obfuscation uses the received authentication credential as a seed. In this example or any other example, the authentication biometric identity is a fingerprint of the detected human. In this example or any other example, the authentication biometric identity is an iris of the detected human. In this example or any other example, the authentication biometric identity is a face of the detected human. In this example or any other example, the authentication biometric identity is a voice of the detected human.
[0059]
[0063] In one example, a method for granting access to one or more protected computer resources includes obfuscating a reference biometric vector into an obfuscated reference biometric vector using similarity-preserving obfuscation, obfuscating an authentication biometric vector into an obfuscated authentication biometric vector using similarity-preserving obfuscation, testing a similarity between the obfuscated authentication biometric vector and the obfuscated reference biometric vector, and granting access to the one or more protected computer resources based on the similarity being within an authentication threshold.
[0060]
[0064] It will be understood that the configurations and / or methods described herein are exemplary in nature and may have numerous variations, and that these specific embodiments or examples should not be considered in a limiting sense. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, the various acts shown and / or described may be performed in the order shown and / or described, may be performed in other orders, may be performed simultaneously, or may be omitted. Similarly, the order of the processes described above may be changed.
[0061]
[0065] The subject matter of the present disclosure includes all novel and non-obvious combinations and subcombinations of the various processes, systems, and structures disclosed herein, as well as other features, functions, acts, and / or properties, and any and all equivalents thereof.
Claims
1. 1. A method for authorizing access to one or more protected computer resources, comprising: storing an obfuscated reference biometric vector at an authentication computing device, the obfuscated reference biometric vector having been previously obfuscated from a reference biometric vector at a client computing device using similarity-preserving obfuscation, the reference biometric vector including N dimensions, the similarity-preserving obfuscation being a deterministic vector rotation in which a set of rotations is applied to one or more of the N dimensions, the set of rotations being generated based on a seed value; receiving, at the authentication computing device, an obfuscated authentication biometric vector, the obfuscated authentication biometric vector having been previously obfuscated from an authentication biometric vector at the client computing device using the similarity-preserving obfuscation; testing, in the authentication computing device, a similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector; communicating an authentication approval from the authentication computing device to the client computing device for granting access to the one or more protected computer resources based on the similarity being within an authentication threshold; Including, the similarity-preserving obfuscation uses the received authentication credentials as the seed value for a random number generator to generate the series of rotations. method.
2. 2. The method of claim 1 , wherein testing the similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector comprises calculating a cosine angle distance between the obfuscated reference biometric vector and the obfuscated authentication biometric vector.
3. 2. The method of claim 1 , wherein testing the similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector comprises calculating an L2 norm between the obfuscated reference biometric vector and the obfuscated authentication biometric vector.
4. The method of claim 1 , wherein the received authentication credential is a password.
5. The method of claim 1 , wherein the received authentication credentials are device identification information.
6. The method of claim 1 , wherein the received authentication credentials are biometric identification information.
7. 1. A method of granting access to one or more protected computer resources, comprising: obfuscating a reference biometric vector into an obfuscated reference biometric vector at a client computing device using similarity-preserving obfuscation, the reference biometric vector including N dimensions, the similarity-preserving obfuscation being a deterministic vector rotation in which a set of rotations is applied to one or more of the N dimensions, the set of rotations being generated based on a seed value; transmitting the obfuscated reference biometric vector from the client computing device to an authentication computing device; measuring an authentication biometric identification at the client computing device; converting the authentication biometric identification information into an authentication biometric vector at the client computing device; obfuscating the authentication biometric vector at the client computing device into an obfuscated authentication biometric vector using the similarity-preserving obfuscation; transmitting the obfuscated authentication biometric vector from the client computing device to the authentication computing device; granting access to the one or more protected computer resources based on receiving an authentication approval from the authentication computing device, the authentication approval having been previously determined at the authentication computing device based on a similarity between the obfuscated reference biometric vector and the obfuscated authentication biometric vector being within an authentication threshold; Including, the similarity-preserving obfuscation uses the received authentication credentials as the seed value for a random number generator to generate the series of rotations. method.
8. The method of claim 7 , wherein the reference biometric vector is transformed from a reference biometric identity measured at the client computing device.
9. 9. The method according to claim 7 or 8, wherein the authenticating biometric identity is a sensed human fingerprint.
10. 9. The method according to claim 7 or 8, wherein the authenticating biometric identity is a sensed human iris.
11. The method according to claim 7 or 8, wherein the authenticating biometric identity is a detected human face.
12. The method according to claim 7 or 8, wherein the authenticating biometric identification information is a detected human voice.
13. A method for a computer to authorize access to one or more protected computer resources, comprising: obfuscating a reference biometric vector into an obfuscated reference biometric vector using similarity-preserving obfuscation, the reference biometric vector comprising N dimensions, the similarity-preserving obfuscation being a deterministic vector rotation in which a set of rotations is applied to one or more of the N dimensions, the set of rotations being generated based on a seed value; obfuscating the authentication biometric vector into an obfuscated authentication biometric vector using the similarity-preserving obfuscation; testing the similarity of the obfuscated authentication biometric vector with the obfuscated reference biometric vector; authorizing access to the one or more protected computer resources based on the similarity being within an authentication threshold; and Including, the similarity-preserving obfuscation uses the received authentication credentials as the seed value for a random number generator to generate the series of rotations. method.
Citation Information
Patent Citations
Bioinformation feature transformation method and biometrics system
JP2006158851A
Featured value conversion method for biological information, device therefor, and user authentication system using the same
JP2008129743A
Ternary authentication method and system therefor
JP2010034967A
Encryption processing device, encryption processing method, and encryption processing program
JP2016114692A
Use of biometrics and privacy preserving methods to authenticate account holders online
WO2019032301A1