Method and system for securing user access, data at rest, and sensitive transactions using biometrics for mobile devices with protected local templates
11449598 · 2022-09-20
Inventors
- Rodney Beatson (Odenton, MD, US)
- Mark A. Kelty (Catonsville, MD)
- Christopher J. Beatson (Cary, NC, US)
Cpc classification
H04L2209/12
ELECTRICITY
H04L9/0861
ELECTRICITY
G06F21/45
PHYSICS
H04L9/3242
ELECTRICITY
G06V40/53
PHYSICS
G06F21/32
PHYSICS
International classification
G06F21/45
PHYSICS
G06F21/32
PHYSICS
H04L9/32
ELECTRICITY
H04L9/08
ELECTRICITY
Abstract
Biometric data are obtained from biometric sensors on a stand-alone computing device, which may contain an ASIC, connected to or incorporated within it. The computing device and ASIC, in combination or individually, capture biometric samples, extract biometric features and match them to one or more locally stored, encrypted templates. The biometric matching may be enhanced by the use of an entered PIN. The biometric templates and other sensitive data at rest are encrypted using hardware elements of the computing device and ASIC, and/or a PIN hash. A stored obfuscated Password is de-obfuscated and may be released to the authentication mechanism in response to successfully decrypted templates and matching biometric samples. A different de-obfuscated password may be released to authenticate the user to a remote or local computer and to encrypt data in transit. This eliminates the need for the user to remember and enter complex passwords on the device.
Claims
1. A mobile computing device comprising: at least one processor; at least one storage area including software code for the mobile computing device; one or more biometric sensors configured to capture biometric data, wherein the biometric data includes a biometric identification pattern comprising one or more of a fingerprint image pattern, a facial image pattern, an iris image pattern, a palm image pattern, a vein image analysis, a hand image geometry, or voice pattern; ASIC logic coupled to the one or more biometric sensors, the ASIC logic configured to process acquired biometric data by capturing a first set of biometric samples from at least one of the biometric sensors and calculating one or more unencrypted biometric templates therefrom; and the mobile computing device configured to: capture a PIN from the user which is chosen by the user; generate one or more encrypted biometric templates by encrypting the one or more unencrypted biometric templates using a first encryption key based on one or more characteristics of the mobile computing device; securely store the one or more encrypted biometric templates in a protected ASIC logic associated memory without persistent storage of the one or more unencrypted biometric templates in a non-secure manner to; capture one or more biometric samples from a user attempting to access the mobile computing device; process one or more of the securely stored encrypted biometric templates to generate an unencrypted biometric template for comparison to the one or more biometric samples from the user attempting to access the mobile computing device; and, upon a successful match of one or more of the biometric samples from the user attempting to access the mobile computing device to one or more of the decrypted biometric templates, release access to one or more protected functions of the mobile computing device.
2. The mobile computing device of claim 1 wherein the one or more biometric sensors use the ASIC logic to process the one or more biometric samples from the user attempting to access the mobile computing device.
3. The mobile computing device of claim 2, wherein the sensor ASIC logic extracts features from the one or more biometric samples and performs a comparison of the one or more biometric samples with the one or more unencrypted biometric templates.
4. The mobile computing device of claim 2, wherein the ASIC logic generates an indication of a successful match between one or more biometric samples from the user attempting to access the mobile computing device with the one or more unencrypted biometric templates.
5. The mobile computing device of claim 1, wherein one or more encryption and decryption functions are performed by a predetermined methodology and wherein the one or more biometric templates are encrypted, at least in part, based on a hardware rooted key.
6. The mobile computing device of claim 5, wherein the at least one processor is physically separate from the one or more biometric sensors and the ASIC logic.
7. The mobile computing device of claim 5, wherein the at least one processor operates on a memory that is separate from an ASIC logic associated memory that includes the one or more encrypted biometric templates.
8. The mobile computing device of claim 5, wherein the ASIC logic operates on an encrypted memory that includes the one or more encrypted biometric templates.
9. The mobile computing device of claim 5, wherein the first encryption key is calculated by the processor or the ASIC logic.
10. The mobile computing device of claim 1, wherein, prior to, comparison of the one or more biometric samples to the one or more unencrypted biometric templates the one or more biometric samples are transformed to a consistent angle of inclination.
11. The mobile computing device of claim 1, wherein at least one of the biometric templates is generated from two or more samples of the first set of biometric samples, and wherein the two or more biometric samples have been transformed to a consistent angle of inclination.
12. The mobile computing device of claim 1, wherein, upon a successful match of the one or more decrypted biometric templates with the one or more of the biometric samples from the user attempting to access the mobile computing device, the mobile computing device calculates an updated biometric template based on the match, generates an updated encrypted biometric template by encrypting the updated biometric template, and securely stores the updated encrypted biometric template.
13. A method of allowing access to a mobile computing device, the method comprising: capturing a PIN from a user that is chosen by the user; providing at least one processor and at least one storage area including software code for the mobile computing device; using one or more biometric sensors configured to capture biometric data, wherein the biometric data comprises one or more of a fingerprint pattern, a facial pattern, an iris pattern, a palm pattern, a vein image analysis, a hand image geometry, or voice data pattern; using ASIC logic coupled to said one or more biometric sensors to process acquired biometric data by capturing a plurality of biometric samples from the at least one or more biometric sensors, and calculating one or more unencrypted biometric templates therefrom; generating one or more encrypted biometric templates by encrypting the one or more unencrypted biometric templates using a first encryption key based on one or more characteristics of the mobile computing device; securely storing the one or more encrypted biometric templates in a protected ASIC associated memory without persistent storage of the one or more unencrypted biometric templates in a non-secure manner; capturing one or more biometric samples from a user attempting to access the mobile computing device to form a second set of biometric features; decrypting one or more of the securely stored encrypted biometric templates to obtain one or more decrypted biometric templates; and, releasing access to one or more protected functions of the mobile computing device upon a successful match of one or more of the second set of biometric features to one or more of the decrypted biometric templates.
14. The method of claim 13 further comprising processing the second set of biometric samples with the ASIC logic.
15. The method of claim 13 further comprising extracting features from the second set of biometric samples to enable comparison with the one or more decrypted biometric templates.
16. The method of claim 13, further comprising the ASIC logic operating on an encrypted memory that includes the stored encrypted biometric templates.
17. The method of claim 13, further comprising calculating the first encryption key with the processor or the ASIC logic.
18. The method of claim 13, further comprising processing one or more biometric samples of the second set of biometric samples, prior to matching, to transform the one or more biometric samples to a consistent angle of inclination.
19. The method of claim 13, further comprising transforming two or more of the plurality of biometric samples of the first set of biometric samples to a consistent angle of inclination to form one or more of the unencrypted biometric templates.
20. The method of claim 13, further comprising updating an unencrypted biometric template after one or more of the biometric samples of the second set of biometric samples is successfully matched with the unencrypted biometric template, and generating an updated encrypted biometric template by encrypting the updated unencrypted biometric template, and securely storing the updated encrypted biometric template.
21. A mobile device comprising: at least one processor configured to execute software applications; at least one storage area including software; at least one sensor configured to acquire biometric data, wherein the biometric data includes at least one of: a fingerprint representation, a facial representation, an iris representation, and a voice representation; wherein said mobile device is configured to: capture a PIN from the user, that is selected by the user; biometrically enroll the identity of the user by capturing a plurality of biometric samples representing one or more biometric modalities, from the at least one sensor, and calculating one or more unencrypted biometric templates; encrypt the one or more unencrypted biometric templates and securely store the encrypted biometric templates in a hardware-protected manner without persistent storage of the unencrypted biometric template in a non-secured manner; wherein the at least one processor is configured to operate with a secure co-processor that enables, at least in part, the secure storage of biometric templates and the secure co-processor processes one or more subsequently acquired biometric samples to determine if there is a match between the one or more subsequently acquired biometric samples to one or more of the decrypted biometric templates; and wherein, responsive to a successful match between the one or subsequently acquired biometric samples to the one or more decrypted biometric templates, enabling use of the mobile device to release access to one or more protected functions of the mobile device.
22. The mobile device of claim 21, wherein the secure storing of the one or more encrypted biometric templates comprises encryption of the one or more unencrypted biometric templates using at least one hardware rooted key.
23. The device of claim 22 wherein the secure co-processor is used to create at least one hardware rooted encryption key and to cause the secure storage of biometric templates comprising encryption of the one or more biometric templates with the at least one hardware rooted encryption key.
24. The device of claim 23 wherein the co-processor operates with a trusted cryptographically authenticated firmware component.
25. The mobile device of claim 21 wherein the protected function comprises at least one of the following: conducting a payment transaction on behalf of the user; allowing the user to view or change secure information stored on a local or remote computer, allowing a remote computer to release a securely stored password for a website; or allowing access to an application on the mobile device.
26. The device of claim 21 where the data of the biometric sample are processed to allow effective use for biometric template matching despite being submitted at varying angles or at substantially any angle.
27. The device of claim 21, wherein the secure storing of the one or more encrypted biometric templates comprises storing the one or more encrypted biometric templates in a hardware-secured portion of mobile device memory.
28. The mobile device of claim 21, where, in the event the said one or more subsequent biometric samples do not match the one or more decrypted biometric templates, the mobile device performs failure actions according to a defined policy.
29. A mobile device comprising: at least one processor; at least one storage area including software; the at least one processor being configured to operate with a secure co-processor configured to accesses a hardware-secured portion of mobile device memory based trusted software associated with the co-processor; at least one sensor configured to acquire biometric data, wherein the biometric data includes at least one of: a facial representation, an iris representation, and a voice representation; wherein, said mobile device is configured to implement biometric template security and acquisition functions including: capture a PIN from the user that is chosen by the user, and biometrically enroll the identity of the user by capturing a plurality of biometric samples representing one or more biometric modalities from the at least one sensor, and calculating one or more unencrypted biometric templates; encrypt the one or more unencrypted biometric templates and store them in a hardware-secured portion of the mobile device memory without persistent storage of the unencrypted biometric template in a non-secured manner; such that the one or more unencrypted biometric templates do not persist in the hardware-secured portion of mobile device memory; and wherein the co-processor decrypts the one or more encrypted biometric templates and compares the one or more decrypted biometric templates to one or more subsequently acquired biometric samples from a user attempting to gain access to the mobile device, and, if the subsequently acquired biometric samples from a user match one or more decrypted biometric templates, allow access to a protected function of the mobile device.
30. The mobile device of claim 29 wherein the biometric data includes a fingerprint representation.
31. The mobile device of claim 29 where the said protected function includes one or more of the following: conducting a payment transaction on behalf of the user without the user having to enter a verification credential; allowing the user to view or change secure information stored on one of a local, or a remote computer without having to enter a verification credential; and automatically submitting a verification credential to a secure computer or website to allow the user to gain access without the user having to re-enter the verification credential.
32. The device of claim 29 wherein the data of the biometric samples are initially processed to allow them to be effectively used for matching despite being submitted at varying angles or at substantially any angle.
33. The device of claim 29, wherein the device is configured to learn more about the user's biometrics as they change over time.
34. The device of claim 33, wherein the device automatically calculates updated unencrypted biometric templates from new biometric samples and then encrypts the updated biometric templates.
35. The device of claim 34, wherein upon calculation of the updated unencrypted biometric templates, the mobile device automatically encrypts the updated unencrypted biometric templates and stores the resulting updated encrypted biometric templates in the hardware-secured portion of the mobile device memory.
36. The device of claim 34, wherein the updated unencrypted biometric templates are deleted from the device.
37. The device of claim 29 wherein the secure co-processor is used to create an encryption key.
38. The device of claim 29, where, in the event the match is not successful, the mobile device performs failure actions according to a defined policy.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
DESCRIPTION OF PREFERRED EMBODIMENTS
(5) In the following description, reference will be made particularly to Signature/Sign biometric data, which may be entered onto a mobile device or POS terminal screen, as may a PIN. It will be very apparent that the biometric modality could be, for instance, instead of signature/sign, a fingerprint using a fingerprint sensor, a facial image, using a device camera or an iris image using an iris camera on the device, or indeed any other image based biometric data generated on the device from a suitable sensor.
(6) Referring now to
(7) Signature/sign biometric data are captured via the signature/sign input screen (102), pixelated and transformed to a consistent angle of inclination by the ASIC-based Pixelator & Transformer software (113). The PIN Input Screen {103) provides PIN input where required and the Password Input Screen (104) provides Password input for the registration and enrollment phase. The ASIC Code Storage Unit (112) contains other software functionality modules (114, 115, 116, 117, 119 and 120). These modules, which might, alternatively, be contained in the mobile device application code storage area {106), operate to implement the methods described later for providing secure access to the mobile device using a combination of PIN and biometric sample without the need to remember or enter a Password. The Code Storage Unit (112) contains a Key Generator and Encryptor module, which is responsible for key generation, hashing and encryption/decryption. System 100 contains the Non-Volatile Data Storage area {108) and, in particular, Configuration & Parameter data, encrypted with a key generated from the H/W Root Generator (115) and Encrypted Biometric Template and Credential data (110) including a representation of the authentic signature of the device owner. The data in (110) are encrypted using module (116) and a key generated from the obfuscated password (111), the Hardware Root, generated by Hardware Root Generator (115) and the PIN hash, generated from the PIN entry, data or automatically by the PIN Generator (114) The non-volatile storage area (108) also provides for the storage of other sensitive (chosen by the enterprise or the user) mobile device data and encrypted with the same key as the biometric template. This embodiment describes an electronic representation of the owner's authentic signature as the credential of choice and this is stored in encrypted form with the encrypted biometric template in (110). Non Volatile storage area 108 also contains an obfuscated password (111) and the way in which this is obfuscated by the Password Obfuscator/De-obfuscator is described later. Storage area {108) contains configuration and parameter data {109) which is used to customize the System to Enterprise and User requirements. The Encrypted Communications System 122 provides a secure link, via a public or private network system, to a Local or Remote Computer System or Server 124, which could also be contained within the Cloud Network System 123, as opposed to existing as a separate physical entity outside the Cloud.
(8) Turning now to
(9) After power up (201) a Mutual Authentication process (202) between the ASIC and the mobile device takes place to enable the ASIC module and the Mobile Device to trust each other. The mutual authentication process can be one of a number of well-known processes and is not specified in this application.
(10) The registration and enrollment process sets up the mobile device and user for seamless operation during a user/mobile device/relying party authentication process—see later. The steps in
(11) Turning now to
(12) First of all in process {301) the Configuration and Parameter Data {109) is decrypted and System 100 is initialized. At this stage the encryption key for the decryption/encryption process cannot be tied to user input so it is generated from a function of the obfuscated password (111) and the ASIC Hardware Root using a symmetrical encryption algorithm such as the AES. The process then continues as follows: a) Process {302)—Capture the biometric sample, transform the sample data according to U.S. Pat. No. 7,916,907, extract the biometric features (see later) and store them temporarily b) Process {303)—Capture the PIN entry data or generate a PIN from a function of the hardware root (see later). If the PIN is generated automatically the system relies purely upon the biometric test for authentication. This may be deemed sufficiently secure for some mobile devices and applications but the use of an entered PIN bolsters security substantially and, in conjunction with the biometric test, very much reduces the effectiveness of a brute force attack. c) Process {304)—Calculate the hardware root and then the biometric template decryption and encryption key (see later) as a function of the obfuscated password, the hardware root and the PIN hash. Decrypt the biometrictemplate(s). d) Process {305)—Match the feature values extracted from Process {302) to the decrypted template(s) from Process {304). See later for the matching calculations. If the PIN is entered incorrectly the biometric templates will not decrypt sensibly and there will be no match. If the biometric sample features are substantially different from the template values, there will, again, be no match. If the biometric features match either of the templates, we proceed as follows e) Process {307)—De-obfuscate the password using a function of the hardware root and the PIN hash—see later for the calculation. Responsive to a good match {306) between the biometric sample features and the biometric template(s), release the password to the mobile device authentication system. f) Process {308)—The encryption key is calculated in the same manner as in {304) and the biometric template is updated as a result of the most recent successful sample (see later for this calculation). It is encrypted and stored in storage area (110). If the biometric features match both templates, the template providing the better match is the one to be updated. g) Processes {309 and 310). The previous biometric template is deleted and Normal Processing now takes place. This could involve the invocation of the same biometric authentication and encryption processes, depending upon the chosen application.
(13) Turning now to
(14) Irrespective of which application is requested, the first action is to invoke the authentication processes where the user provides input data to the System {302 and 303). This is followed by generating the hardware root (316) which is used, in conjunction with the user generated input data to carry out the operations in process (317). Process (317) will use the System 100 ASIC (or equivalent mobile device) components (111,114, 116 and 119). Following this, the biometric sample from {302) is compared to the decrypted template from (317) and, if the match is good, the old template is updated to form the new template, which is encrypted (318) using (116) and stored in (110). Following this the selected software application (319, 320, 321 or 322) will launch. Again these processes will use the System 100 component (116, 117 119). Appropriate software code, as determined by security policy, will be signed and checked by process (120)
(15) In the following calculations and descriptions, reference will be made particularly to Signature/Sign biometric data, which may be entered onto the screen of a POS terminal, or on the screen of a mobile device, as may a PIN. It will be very apparent that the biometric modality, instead of signature/sign, could be, for instance a fingerprint image, using a special sensor, a facial image, using a mobile device camera or an iris image using an iris camera on the POS terminal or mobile device, or indeed any other image based biometric data generated on the mobile device from a suitable sensor, e.g. fingerprint data using a fingerprint sensor. These systems operate in a manner, described later, to provide a trusted link between the user, the standalone computer and a local or remote computer.
(16) Detailed Calculations
(17) Again referring to
M=[2ra+or−Sq rt(4r.sup.2a.sup.2+a.sup.4−2a.sup.2+1)]/(a.sup.2−1) and where a=Sqrt[V(X)/V(Y)] with V(X) and V(Y) being the well known definitions of the variance of the (X,Y) pixel positions and where r is the well known definition of the correlation coefficient of the (X,Y) pixel positions.
(18) Where a approximates 1, the value of IMI may become very large and for this reason it is advisable to limit the value. A value of 10,000 works relatively well.
(19) Although both the positive and the negative square roots of the equation will achieve the desired effect, they will provide different rotation solutions. There is no particular advantage to choosing one over the other and the negative square root option will be assumed. This rotation will always transform the original (X,Y) pixel positions to a consistent angle of inclination with respect to the rotated (x,y) axes. The transformed (x,y) data may then be further rotated through an angle calculated as the angle between a line of regression through the (x,y) data and the x axis. The resulting image might then be more representative of a natural angle of submission and is also corrected for skew. The line of regression of choice may be that derived by minimizing the sum of the squared perpendicular distances from the (x,y) points to the line of regression and this is achieved by solving the equation: 2m.sup.3−m.sup.2(2r1+1)+2m(r1+1)−(2r1+1)=0, for m. This equation is the corrected equation in U.S. Pat. No. 7,916,907, where m is the tangent of the angle between the line of regression and the x axis and r1 is the correlation coefficient of the (x,y) data and can be calculated as:
r1=[M(1−a.sup.2)+(1−M.sup.2)ra]/[a.sup.2+2mra+M.sup.2]
(20) The combined rotational transformation angle can then be calculated from the original X,Y data by the well-known equation:
M1=(M+m)/(1−Mm).
(21) The final transformation may then be calculated by applying the following transformation to the original X,Y axes to generate the finally transformed (x,y) data from the original (X,Y) data:
x=X cos w+Y sin w
y=Y cos w−X sin w
where tan w=M1
(22) This transformation has a very significant beneficial effect on the consistency of feature extraction thereafter and leads to a significantly higher performance biometric system, with lower False Reject and False Accept rates
(23) The biometric data will then be used in a manner later described to provide the elements of this invention. An exemplary system will now be described within the context of the Signature/Sign modality but understanding that a similar system could be developed using any biometric device integrated within the mobile device system. It will show how, as well as providing for a secure, trusted and user-friendly authentication system, that an authentic signature can be released to an electronic document or transaction and that it could be used for extremely accurate matching with the same authentic signature stored remotely in encrypted form.
(24) Once a mobile device is trusted, or can release trusted data, it may be used in many different applications. In particular it can be used to release an electronic representation of a user's authentic electronic signature which can be appended to an electronic document to give the signature an ink-on-paper look. The authentic electronic signature can then be compared to that stored in a remote computer (124) file containing user credentials and the match should be exact, or at least very close. In order to accomplish this, the biometric template is designed to house the authentic electronic signature itself, as well as biometric template data. Since the authentic signature is stored with the template it is always stored on the mobile device in encrypted form and communicated in encrypted form. It is clear that other User Credentials, necessary for providing identity assurance to relying parties could be stored securely in this manner.
(25) Turning again to
(26) Turning now to
(27) Again, turning to
(28) Again turning to
(29) Let D be an automatically generated-hardware-rooted numeric mobile device ID used in the password obfuscation and de-obfuscation process.
(30) Let P be the power-up password, which may be chosen or imposed, required by the mobile device.
(31) Let P # be a one-way hashed value of the password (used to generate keys for the various encryption/decryption processes
(32) Let PIN be the user chosen PIN or the generated PIN.
(33) Let PIN # be a one-way hashed value of the PIN used in the obfuscation/de-obfuscation process.
(34) Let Pobf be the Obfuscated Password used to calculate the password P to be used in the local or remote password authentication systems.
(35) Let Te1r be the clear text biometric template used to match with the submitted biometric sample features.
(36) Let TKey be the symmetrical key used to encrypt/decrypt the biometric template (215, 304, 308). The generation method is described later.
(37) Let TEnc be the encrypted biometric template using a symmetric encryption function such as the Advanced Encryption algorithm.
(38) The following methods describe the calculation of the various terms and variables used to implement the invention in this preferred embodiment. We will first choose a function f1 such that:
f.sub.1(D,P,PIN.sub.#)=P.sub.Obf and|
f.sub.1.sup.−1(D,PIN.sub.#,P.sub.Obf)=P|
(39) We then choose a second function f2 such that:
f.sub.2(P.sub.Obf,PIN.sub.#)=T.sub.Key
(40) It is clear that there are many functions which obey these properties It is not the purpose of this specification to describe the exact function. There follows an example, using some values generated from these type of functions to show how the process might work.
(41) In generating D, the numeric mobile device ID used in the obfuscation and de-obfuscation processes, it is proposed to use a function of the mobile device hardware. For this example we will proceed as follows: i) Let us assume that D is generated as a large set of Hex. values and let's assume, for simplicity, in this example, that there are 12 Hex. values, e.g. 9BDF135702F6. ii) Convert this to a numeric value by substituting the ASCII decimal codes for each character. This would give D=576668704951535548507054
(42) In Calculating the Obfuscated Password Pobf, from P, D and PIN #, for use in authentication and encryption/decryption routines, we might define f1 in the following manner: i) Assume a complex password (up to, say, 32 characters depending upon enterprise security policy) has been chosen or imposed. It might be something like: ! Space “$+.˜?R>4 n ii) Convert each character to its ASCII code and subtract from 128 retaining two numeric digits for each character (e.g. 5 would be denoted as OS)—call the result Pnt (Password Numeric Transform) iii) Generate D and capture or generate a Dummy PIN—see (v) below iv) Apply a one-way hash function to the PIN, generating (say) a 128 bit digest. Split this into 32 Hex characters and convert to a 64-digit numeric value by substituting the two-integer ASCII decimal codes for each Hex character. This is PIN #. v) In the case where no PIN entry is required, in order to retain program structure, we define a generated (Dummy) PIN value by choosing 4 of the hardware device ID digits. There are many, many permutations of 4 (or more) from 24 and the system implementation will provide a customizable module to provide the generated PIN and changes on a required basis. vi) Add together the values for D, Pnt and PIN # and store this set of numeric digits securely as the obfuscated password=Pobf
(43) Pobf is set and stored on the mobile device at registration/biometric enrollment when the Password and PIN are set up (213). Pobf will change if the PIN or the Password is changed. Changing the PIN or Password, or indeed the biometric template, will require submission of the old PIN and a successful biometric sample against the old template. It will not require user input of the old Password which can be automatically generated by the system from the stored obfuscated password and the PIN hash.
(44) Even if the password is somehow exposed to an attacker, the only way to provide it to the authentication system is by the submission of a matching biometric sample and a correct PIN using a sensor on the actual mobile device.
(45) In calculating the Template Encryption/Decryption Key TKey we define a function f2 such that TKey=UPobf,PIN #). Suppose we generate TKey by choosing f2 as the sum of Pobf and PIN # using the 128 least significant bits. The key is generated each time the template is encrypted or decrypted and never stored other than temporarily. The key for encrypting/decrypting the Set-up parameter data which may be accessed by the system prior to the submission of the PIN and biometric sample is generated using the generated PIN and Pobf.
(46) In generating the Password (for authentication or encryption) by de-obfuscation of the obfuscated password we apply the inverse function off=f−.sup.1 in the following manner: i) Get Pobf ii) Generate D iii) Capture PIN (or supply Dummy PIN) and generate PIN # iv) Subtract the sum of D and PIN # from Pobf v) Subtract each successive set of two digits from 128. This is Pnt and represents the ASCII decimal codes for the Password P to be passed to the authentication process (for local or remote authentication) only if the biometric matching is good.
(47) In remote authentication the remote computer and the mobile device will perform mutual authentication. The remote computer will then know whether or not the mobile device is secured in this manner and assign trusted status to it. The remote computer may then be authorized by the mobile device to change the mobile device configuration and parameter data according to enterprise security policy. If the mobile device does not respond to the servers request for mutual authentication, or if the user cannot authenticate to the mobile device or if the mobile device is not a legitimate ID, the server will undertake failure action and this could be as extreme as deleting all data from the mobile device.
(48) Function Definitions f and f−.sup.1—
(49) In fact, as mentioned earlier, there are many ways to define the functions f and f−.sup.1. Here is another embodiment, which might use the Advanced Encryption Standard. We will assume: PDK—is the key used by the system at power up but prior to authentication to decrypt the Parameter and Configuration data PCD EPCD—is the encrypted value of PCD UBS—is a user biometric sample BT—is the clear text biometric template created from biometric samples. TEK—is the biometric template encryption/decryption key. f—is a symmetric encryption function as e.g. in the AES f−1—is the symmetric decryption function as in the AES EBT—is the encrypted biometric template CPW1—is a complex password for device unlock CPW2—is a complex password for Network Access or for the SSL.
(50) Different passwords for different purposes might be defined in this manner and can be changed by the user without having to enter the old password HWR—is a unique device number rooted in the device hardware. PIN—is a user-chosen PIN PIN #—is a one-way hash of the PIN OPW1—is the obfuscated password for device unlock OPW2—is the obfuscated password for network access/SSL. DAR—is sensitive device data at rest.
(51) Then we define: PDK=f(OPW1,HWR)—encrypted value of OPW1 using a key derived from HWR PCD=f−.sup.1(EPC D,PDK) decrypted value of EPCD using the PDK key. TEK=f(OPW1,HWR,PIN #)—encrypted value of OPW1 using a key derived from HWR and PIN # EBT=f(BT,TEK)—encrypted value of BT using TEK as the key BT=f−|(EBT,TEK)—decryption function for biometric template using the TEK key OPW1=f(CPW1,HWR,PIN #) OPW2=f(CPW2,HWR,PIN #)
(52) We can now compare the features extracted from the biometric sample with the biometric template (BT) and if all is well, update the template, delete the old template, re-encrypt and store the new one and use the de-obfuscated password, CPW1, in the device authentication process. OPW1 and OPW2 are de-obfuscated by: CPW1=f−.sup.1 (OPW1,HW R, PIN #) where f−.sup.1 is the symmetrical decryption of OPW1 using the same key combination of HWR and PIN # as was used to encrypt CPW1 CPW2=f−.sup.−1(OPW 2,HW R, PIN #) may then be used for Network access and/or as a single sign-on to various passwords used in the SSL. DAR may be encrypted/decrypted using a key derived from CPW1 according to NIST SP 800-132 or it may use TEK. At the end of the authentication/protected application session the Parameter and Configuration data, PCD are again encrypted using PDK so that:
EPCD=f(PCD,PDK)
(53) The IC Card Identification Process
(54) At physical point of sale, where the customer tenders an IC card, the following similar process can be implemented using the signature/sign modality. 1) the IC card is entered into the IC card reader, which is integrated into the point of sale (POS) terminal and the card data are passed through to the retailers merchant bank for authorization. 2) The customer enters his signature onto the screen of the POS terminal 3) The sign data are transformed by the POS terminal according to U.S. Pat. No. 7,916,907, features are extracted and passed securely to the IC chip. The IC chip decrypts the biometric template and the authentic user signature, using a value rooted in the IC chip hardware. The IC chip determines if the template has been created or whether further signs are required to create it. 4) If the template has been created, the IC chip matches the sample features to the template and passes the result of the match to the POS terminal, together with the authentic electronic signature of the IC card owner. 5) If the template has not been created the IC chip passes just the authentic electronic signature of the card owner to the POS terminal. 6) The POS sales associate uses the card authorization result, the result of the biometric test, the appearance of the submitted signature and the appearance of the card owners signature to determine whether the user of the card is indeed the card owner. If there is some doubt, the POS sales associate may decide to ask for further identification. The POS sales associate is the final arbiter of the whether to accept or decline the transaction.
(55) A process, similar in concept to this, was described at the 1996 Smart Card Conference in London, UK and the 1996 Atlanta CardTec SecurTec (CTST) conference, in a paper presented by Rodney Beatson (one of the authors of this Application). The paper entitled “The Use of Electronic Signatures at Point of Service” is incorporated herein by reference. The paper advocates the use of the IC card to store the biometric template and signature, on the IC chip and to release the biometric template to the POS terminal for the POS terminal to carry out the biometric matching process. This could lead to compromise of the biometric template whilst in use in the POS terminal. Neither does the paper advocate the encryption of the biometric template or the authentic signature using a key rooted in the chip hardware. The current invention advocates biometric template and electronic signature encryption and the use of the IC chip to carry out the matching process. This provides greater security for the template and authentic signature and is a superior method. As mentioned earlier, the “1996” method is also described in U.S. Pat. No. 5,892,824 authored by, inter alia, Rodney Beatson and Mark Kelty, two of the authors of the current invention.
(56) The Signature/Sign Biometric Process
(57) Referring again to
(58) 1) Template Building
(59) In an exemplary system of the present invention the template is built by software from users' signs shortly after they are submitted (208). The software extracts biometric features from the sign data after allocating a time value to each (X,Y) coordinate value. In the current invention, the electronic sign verification software will:
(60) a) Transform the (X,Y,t) values to (x,y,t) in the manner previously described (206) and extract m features of the (x,y,t) data, (f1 . . . fm) in a manner later described.
(61) b) Compare these values with the template stored on the mobile device (208) or transmit the values, suitably encrypted through a network to an authentication server.
(62) The mobile device software will, for the first N signs, calculate and store the mean value for each of the features calculated so that if f1j is the th value of feature 1 from the th sign for a specific customer, then—: Mean f1j=Mf1j would be calculated as follows:
(63) Mf11 after 1 sign=f11
(64) Mf12 after 2 signs is ((I−a)*Mf11+a*fd
(65) Mfn after 3 signs is ((I−a)*Mf12+a*fn) etc.
(66) Where:
(67) for the second sign a=0.5
(68) for the third sign a=0.33
(69) for the 4.sup.th sign a=0.25 . . . etc
(70) for the n.sup.th sign a=1/n until n=9. Thereafter a=0.1 for all signs.
(71) Mf2 . . . Mfm will be calculated in a similar manner.
(72) The mobile device software will also calculate and store the mean difference of the feature values from their means as each new sign is submitted in the following manner.
(73) If the mean difference for feature 1 after j−1 signs is D1,j−1, then:
D1,j=a*Abs(fwMfj−1)+(1−a)*Abs(D1,j−1)
where a has the values:
(74) for the second sign a=0.5
(75) for the third sign a=0.33
(76) for the 4.sup.th sign a=0.25 etc.
(77) for the n.sup.th sign a=1/n until n=9. Thereafter a=0.1 for all signs.
(78) Df2 . . . Dfm will be calculated in a similar manner.
(79) As each new sign is added, after the first two, a compatibility test may be applied to the M values to determine if they are consistent with the previous M and D values and if not that sign may be eliminated. The new mean estimates (M) of feature values and their differences (D) will be stored as the feature template values for that feature and will be used in the matching calculation.
(80) The signature/sign template may also contain an electronic copy of the user's authentic signature, which can be released in encrypted form, in response to a local biometric match, to a remote computer system that would compare it to an identical electronic copy stored in encrypted form on its system. The authentic electronic signature would consist of the (x,y) values only and would be a constant data set in the template until changed by the user. Release of this authentic electronic signature to a remote computer could be used to accurately and remotely authenticate the author of an electronic document or transaction e.g. a credit card transaction or other financial transaction.
(81) After the system starts to match each new sign with its template values, the means and mean differences will be updated in the same way after each good match. Before (or after) successful enrolment the user may record an electronic version of his authentic signature in the form of a vector image to be stored in the template and to be released, where required, responsive to a good biometric test. Such an electronic signature would be unchanged for each release so that any match of it against previous or future authentic signatures released in the same manner would be exact or at least, very close.
(82) How large should N be? In some systems where signs are submitted carefully, matching can take place after as few as three signs. However, some signs may take more samples to define the template and this is controlled by consistency and complexity test parameters and/or a parameter of the system.
(83) 2) Feature Matching
(84) Suppose that, for a particular sign the value of feature i is fi.
(85) Suppose the template values for feature i are Mand Di
(86) We calculate a mismatch score sum=S=Sum[wi*(Abs(fi−M)/Di)] for i=1 . . . m, where there are m feature values being measured.
(87) This can be compared against a threshold value Tm to generate a match or a mismatch. The template values (M and D) would be updated for a match and not for a mismatch. There are a number of different ways to calculate mismatch distance measurements and we encompass them generally in this example.
(88) 3) Calculating Tm
(89) There are m features with discriminant weightings (w1 . . . wm), such that Sum(wi)=m, and they contribute to the mismatch score in the following manner so Tm can be set as follows: Tm=Sum(wi)+p*sqrt(Sum(wi2))—where p is a parameter used to set the security level.
The lower the value of p, the more secure is the system and vice versa. The higher the value of p, the more benign is the system and vice versa.
(90) 4) Feature Selection
(91) In an exemplary system we envisage the features being selected using functions of the (x,y,t) data as described below: a. V(x), where V(x) is the variance of the x-coordinate values of the transformed sign. b. V(y) where V(y) is the variance of the y-coordinate values of said transformed sign. c. C(x,y) where C(x,y) is the covariance of the transformed sign coordinate values d. Total sign time. e. Total in-contact sign time f. Total out-of contact sign time g. Positions of (x,y) turning points with respect to time h. Positions of (x,y) turning points with respect to x-position i. Positions of (x,y) turning points with respect toy-position j. An estimate of total x-distance traveled. k. An estimate of total y-distance traveled l. (x,y) positions of new points of stylus contact with respect to time. m. New out-of-contact stylus (x,y) positions with respect to x-position. n. (x,y) positions of new points of stylus contact with respect to x-position o. (x,y) positions of new out-of-contact stylus positions with respect to time p. Forehand (x,y) distances q. Backhand (x,y) distances
(92) Forehand movements of the stylus/finger are defined when the x movement and the y movement are either both positive or both negative. Backhand movements of the stylus/finger are defined when the x movement is positive and they movement negative, or vice-versa.
(93) To arrive at an efficient feature set and weights (wi) that discriminate powerfully between authentic signs and fraudulent signs the inventors advocate the method defined in a White Paper authored by Rodney Beatson—one of the present inventors—entitled_: Feature Selection & Definition in a Biometric System with Many Possible Features Including Multi-Modal Features” dated Feb. 8, 2010 and incorporated herein by reference.
(94) The sign verification method described in this invention is given extra strength by the sign verification accuracy observed in a limited experiment conducted on behalf of the INCITS Biometrics MI committee. The sign data captured in this experiment was later subjected to the analysis described above in the White Paper with impressive results.