The subject disclosure relates to biometric authentication, and more specifically to providing access rights using privacy-enhanced biometric authentication.
Biometric information is metric related data based on human characteristics, for example, fingerprints, voice recognition, iris or retinal scan information, or the like. Such biometric information can be used to authenticate the identity of an individual. The authentication can be used for a variety of reasons, for example, granting access to a door, a computer, a bank account or the like. Biometric information is personal information which an individual may not desire others to obtain for many reasons, for example, privacy concerns.
Accordingly, it is desirable to provide a system that uses biometric authentication to allow access, for example, vehicle access to a user, but also addresses privacy concerns by validating the user's biometric information without storing the user's biometric information on a backend system.
In one exemplary embodiment, a method for privacy-enhanced biometric access enrollment is disclosed. The method includes receiving, by a processor, a biometric signing request (BSR) associated with a request for access rights from a user, wherein the BSR comprises hashed biometric data. The method further includes generating, by the processor, a first biometric signature using at least a portion of the BSR. The method further includes generating, by the processor, a second biometric signature based on at least a portion of the BSR. The method further includes generating, by the processor, an authorization token based on at least the first biometric signature and the second biometric signature. The method further includes sending, by the processor, the authorization token to one or more access control entities or a user computing device for conveyance to the one or more access control entities for authentication.
In addition to one or more of the features described herein, the BSR can additionally include a cryptographic nonce that can be used to prevent an inference that the biometric data associated with the user has previously been used for enrollment. The BSR can also include a first context string that is publicly known and defined by an authentication protocol. The first biometric signature can be further based on a private key and a second context string. The second biometric signature can be further based on a private key and reservation details. The access control entity can be a vehicle.
In another exemplary embodiment, a system for privacy-enhanced biometric access enrollment is disclosed herein. The system includes a memory and processor in which the processor receives a biometric signing request (BSR) associated with a request for access rights from a user, wherein the BSR comprises hashed biometric data. The processor further generates a first biometric signature using at least a portion of the BSR. The processor further generates a second biometric signature based on at least a portion of the BSR. The processor further generates an authorization token based on at least the first biometric signature and the second biometric signature. The processor further sends the authorization token to one or more access control entities or a user computing device for conveyance to the one or more access control entities for authentication.
In yet another exemplary embodiment a computer readable storage medium for privacy-enhanced biometric access enrollment is disclosed herein. The computer readable storage medium includes receiving a biometric signing request (BSR) associated with a request for access rights from a user, wherein the BSR comprises hashed biometric data. The computer readable storage medium further includes generating a first biometric signature using at least a portion of the BSR. The computer readable storage medium further includes generating a second biometric signature based on at least a portion of the BSR. The computer readable storage medium further includes generating an authorization token based on at least the first biometric signature and the second biometric signature. The computer readable storage medium further includes sending the authorization token to one or more access control entities or a user computing device for conveyance to the one or more access control entities for authentication.
The above features and advantages, and other features and advantages of the disclosure are readily apparent from the following detailed description when taken in connection with the accompanying drawings.
Other features, advantages and details appear, by way of example only, in the following detailed description, the detailed description referring to the drawings in which:
The following description is merely exemplary in nature and is not intended to limit the present disclosure, its application or uses. It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features. As used herein, the term module refers to processing circuitry that may include an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
In accordance with an exemplary embodiment,
Network 150 can be, for example, a local area network (LAN), a wide area network (WAN), such as the Internet, a dedicated short range communications network, or any combination thereof, and may include wired, wireless, fiber optic, or any other connection. Network 150 can be any combination of connections and protocols that will support communication between mobile device 54A, server 54B, computer 54C, and/or automobile onboard computer system 54N, respectively.
In accordance with an exemplary embodiment,
The processing system 200 may additionally include a graphics-processing unit 230. Graphics processing unit 230 is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display. In general, graphics-processing unit 230 is very efficient at manipulating computer graphics and image processing, and has a highly parallel structure that makes it more effective than general-purpose CPUs for algorithms where processing of large blocks of data is done in parallel.
Thus, as configured in
The one or more computing devices may further include a transmitter and receiver (not shown), to transmit and receive information. The signals sent and received may include data, communication, and/or other propagated signals. Further, it should be noted that the functions of transmitter and receiver could be combined into a signal transceiver.
In accordance with an exemplary embodiment,
At block 320, the server 54B can generate a first biometric signature of desired content (B) using a server based private key. The first biometric signature can be constructed in a usual manner, for example, signing a cryptographic hash of B and then returning both B and the signature on B. The hash of B can be constructed as follows: (B={H (CString2∥BSR[0]), BSR[1]}), where (CString2) is a new context/customization string, BSR[0] is H(NonceBSR∥Cstring1∥Biomenroll), and BSR[1] is NonceBSR. The new customization string (context string) can be different from the customization string generated by the user computing device and is publicly known and defined by the authentication protocol that uniquely identifies an enrollment signing portion of the authentication protocol.
The server 54B can sign a hash digest to verify an authenticity of the hash digest. The first biometric signature can be verified by another party using the server's 54B public key, which is known in advance. By verifying the first biometric signature a party (such as the vehicle) can determine that the server 54B approves of the content desired to be signed, “B”.
The first biometric hash generated by the server 54B, on hash digest B is {B, SigServerPrivKey(B)}). The server 54B can generate {B, SigServerPrivKey(B)}, the first biometric signature, without storing the user's actual biometric data and the cryptographic nonce prevents the server 54B from inferring whether the same biometric data has been used before. For example, if a user attempts to enroll the same biometric data more than once, the biometric data will have the same hash. As a result, even though the server 54B does not contain the actual biometric data, the server 54B can prevent enrollment more than once because the hash is the same. Accordingly, by using a different cryptographic nonce for each enrollment even if the underlying biometric data is the same the server 54B will receive a different hash.
At block 325, the method for biometric access enrollment further includes sending the first biometric signature to an enrollment entity, for example, a vehicle containing automobile onboard computer system 54N, for authentication. The server 54B can send the first biometric signature to the vehicle by generating an authorization token (C), which includes a second biometric signature (SigServerPrivKey(C)) generated by the server 54B based on the first biometric signature (SigServerPrivKey(B)) along with other details relevant to the user's requested access, for example, reservation details (Reserv.details). The private keys used to generate the first biometric signature and the second biometric signature can be the same or different private keys. The reservation details may include information associated with a vehicle type, reservation time, use duration, authorization token expiration time/duration, etc. The authorization token format can be the following: {C=[Reserv.details, B, SigServerPrivKey(B)], SigServerPrivKey(C)}.
The server 54B can also send the first biometric signature and authorization token to the user computing device instead of the vehicle. Returning the first biometric signature and authorization token to the user computing device allows the vehicle to remain offline. Accordingly, communication with the vehicle may not be needed during biometric access.
Accordingly, the authorization token allows a business entity or group to control user/customer access rights to one or more access control entities. The business entity or group can use the authorization token to manage and provide shared services, for example, a car sharing service, to one or more users.
At block 330, the vehicle uses a public key sent by the server 54B to verify the first biometric signature, and the authorization token (second signature). If either the first biometric signature or second biometric signature cannot be verified, at block 335, authentication fails and the method returns to block 305. If both the first biometric signature and second biometric signature can be verified, the method proceeds to block 400 for validation.
In accordance with an exemplary embodiment,
At block 410, the user can also provide the biometric data (Biomenroll) stored on the user computing device and nonce information (NonceBSR) associated with the stored biometric data (blocks 305 and 310) to the vehicle. At block 415, the vehicle can generate a hash of the user's biometric data and the associated nonce information to generate a hash digest. At block 420, the vehicle determines if the hash digest generated by the vehicle equals a non-expired authorization token sent by the server 54B to the vehicle. If the hash digest does not equate to a non-expired authorization token sent to the vehicle by the server 54B, the method proceeds to block 425 where the vehicle denies access to the vehicle and the method ends at block 450. If the hash digest does equate to a non-expired token sent to the vehicle by the server 54B, the method proceeds to block 430.
At block 430, the vehicle conducts a similarity analysis between the new biometric data and the stored biometric data. The similarity analysis determines whether the new biometric data and the stored biometric data are similar enough to represent the same user. For example, the similarity analysis can be done using a Hamming distance, which counts a number of bits that differ between the new biometric data and the stored biometric data.
At block 435, the vehicle determines whether the result of the similarity analysis is below a predetermined threshold. If the result of the similarity analysis is above the predetermined threshold, the method proceeds to block 440 where the vehicle denies access to the vehicle and the method ends at block 450. If the result of the similarity analysis is below the predetermined threshold, the method proceeds to block 445 where the vehicle allows the user to access the vehicle. At block 450, the method ends.
Accordingly, the embodiments disclosed herein allow a user to send a cryptographic hash of the user's biometric data to a server instead of sending actual biometric data to obtain access rights to an enrollment entity. The hash is signed by the server, and then provided to a target access control entity/vehicle. The user then provides the original biometric data directly to the target vehicle, which can be validated by checking the server provided signature of the hash. As a consequence, the server does not directly interact with the user's actual biometric data and cannot infer the actual biometric data from the hashed biometric data. Accordingly, a user's privacy is enhanced when interacting with the disclosed embodiments because the disclosed embodiments protect against the unnecessary disclosure and storage of the user's actual biometric data private information.
Technical effects and benefits of the disclosed embodiments include, but are not limited to the following: the disclosed system relieves the server from the burden of having to manage and secure a biometrics database; the system can accommodate a car-sharing system capable of allowing a customer to use different vehicles; the disclosed system does not require sensitive biometric information to be sent to the server; and the disclosed system can operate using a variety of biometric information, for example, iris codes, fingerprints, facial scans, hand geometry, vein patterns, voice prints, etc.
The present disclosure may be a system, a method, and/or a computer readable storage medium. The computer readable storage medium may include computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
While the above disclosure has been described with reference to exemplary embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from its scope. In addition, many modifications may be made to adapt a particular situation or material to the teachings of the disclosure without departing from the essential scope thereof. Therefore, it is intended that the present disclosure not be limited to the particular embodiments disclosed, but will include all embodiments falling within the scope thereof.