Method and system for securing user access, data at rest and sensitive transactions using biometrics for mobile devices with protected, local templates
10515204 ยท 2019-12-24
Inventors
- Rodney Beatson (Odenton, MD, US)
- Mark A. Kelty (Catonsville, MD)
- Christopher J. Beatson (Cary, NC, US)
Cpc classification
H04L2209/12
ELECTRICITY
G06F21/45
PHYSICS
H04L9/0861
ELECTRICITY
H04L9/3242
ELECTRICITY
G06V40/53
PHYSICS
G06F21/32
PHYSICS
International classification
H04L9/08
ELECTRICITY
G06F21/45
PHYSICS
G06F21/32
PHYSICS
H04L9/32
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 device comprising: at least one processor configured to execute software applications; software included in at least one storage area; at least one sensor configured to acquire biometric data, wherein the biometric data includes at least one of: a fingerprint image, a facial image, an iris image, and a voice; wherein said mobile device configured to: capture an identity verification credential from the user; biometrically enroll the identity of the user by capturing one or more biometric samples representing one or more biometric modalities, from the at least one sensor, and calculating one or more biometric templates; securely store the one or more biometric templates in a hardware protected manner without persistent storage of the biometric template in a non-secured manner; and; wherein, upon subsequent mobile device enablement, responsive to a successful match of one or more subsequent biometric samples to one or more of the securely stored biometric templates release access to one or more protected function of the mobile device.
2. The mobile device of claim 1, wherein the secure storing of the one or more biometric templates comprises encryption of the one or more biometric templates using at least one hardware rooted key.
3. The mobile device of claim 1 where the user identity verification credential includes a numeric or alphanumeric PIN.
4. The mobile device of claim 1 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 computer, or the remote computer.
5. The device of claim 1 where the data of the biometric sample are manipulated to allow the data to be effectively used for matching despite being submitted at varying angles or at substantially any angle.
6. The device of claim 1 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 the subsequent biometric samples to determine if there is a match of the one or subsequent biometric samples to one or more of the the securely stored biometric templates.
7. The device of claim 1 wherein the co-processor is used to create at least one hardware rooted encryption key and the secure storage of biometric templates comprising encryption of the one or more biometric templates with the at least one hardware rooted encryption key.
8. The device of claim 1 wherein the co-processor operates with a trusted cryptographically authenticated firmware component.
9. The device of claim 1, wherein the secure storing of the one or more biometric templates comprising storing the one or more of biometric templates in a hardware secured portion of mobile device memory.
10. The mobile device of claim 1, where, in the event the said one or more subsequent biometric samples do not match the one or more biometric templates, the mobile device performs failure actions according to a defined policy.
11. The mobile device of claim 1 wherein the protected function comprises releasing a securely stored password for a web site.
12. The mobile device of claim 1 wherein the protected function comprises allowing user to use a software application on the mobile device.
13. A mobile device comprising: at least one processor; software contained in at least one storage area; at least one sensor configured to acquire biometric data, wherein the biometric data includes at least one of: a fingerprint image, a facial image, an iris image, and a voice; wherein, said mobile device configured to implement biometric template security and acquisition functions including: capture an identity verification credential from the user; biometrically enroll the identity of the user by capturing one or more biometric samples representing one or more biometric modalities, from the at least one sensor, and calculating one or more biometric templates; securely store the one or more biometric templates in a hardware-secured portion of the mobile device memory without persistent storage of the biometric template in a non-secured manner; and wherein, upon subsequent mobile device enablement, responsive to a successful match of one or more subsequent biometric samples to one or more of the securely stored biometric templates release access to a protected function of the mobile device.
14. The mobile device of claim 13 where the user identity verification credential includes a numeric or alphanumeric PIN.
15. The mobile device of claim 14 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.
16. The device of claim 13 where the data of the biometric samples are manipulated to allow the data to be effectively used for matching despite being submitted at varying angles or at substantially any angle.
17. The device of claim 13, wherein the device is configured to learn more about the user's biometrics as they change over time.
18. The device of claim 13 wherein the at least one processor is configured to operate with a co-processor that accesses the hardware-secured portion of mobile device memory in a manner that it can be accessed only by a trusted software on the co-processor.
19. The device of claim 18 wherein the co-processor is used to create an encryption key.
20. The device of claim 13 wherein the co-processor operates with a secure firmware component.
21. The device of claim 13, wherein one or more of an unencrypted biometric templates are stored in the hardware-secured portion of mobile device memory.
22. The device of claim 13, wherein the device automatically calculates updated biometric templates from new biometric samples.
23. The device of claim 22, wherein upon calculation of an updated biometric template, the device automatically: stores the updated biometric template in the hardware-secured portion of the mobile device memory.
24. The device of claim 23, wherein the stored updated biometric template is encrypted.
25. The device of claim 13, where, in the event the match is not successful, the mobile device performs failure actions according to a defined policy.
26. A method for allowing access to a computing device comprising: providing a mobile device with at least one processor; providing at least one storage area within the mobile device; using at least one biometric sensor, wherein the at least one biometric sensor include at least one of: a fingerprint image sensor, a facial image sensor, an iris image sensor, and a voice print sensor; using at least one processor, and software contained within the one or more storage areas, wherein, upon enablement of said computing device, and prior to executing at least some of the software, the software causes said processor to: capture an identity verification credential from the user; biometrically enroll the identity of the user by capturing one or more biometric samples representing one or more biometric modalities, from one or more of the biometric sensors, and calculating one or more biometric templates; encrypt the biometric templates using an algorithm and a hardware rooted key; store the one or more biometric templates in a secure portion of computing device memory; and wherein, upon subsequent device enablement, commencing processing, responsive to one or both of a successful match of an identity verification credential entered by the user to the previously captured user identity verification credential, and the successful match of one or more subsequent biometric samples to one or more of the biometric templates.
27. The method of claim 26, further comprising encrypting a portion of computing device memory space with the at least one processor.
28. The method of claim 26 wherein the said processing includes: capturing one or more biometric samples from the user; communicating encrypted features calculated from the said biometric samples to said local, remote, and local and a remote computer and; responsive to a successful match by the remote computer of the biometric features calculated from the biometric samples with a decrypted biometric template stored on a local computer, authorizing one of said local, or remote computers to perform one or both of the following: conduct a payment transaction on behalf of the user; allow the user to view or change secure information stored on one of said local, remote, and a local and remote computer.
29. The method of claim 28 wherein the remote computer is a cloud-based computer.
30. The method of claim 26 further comprising manipulating biometric sample data to allow the data to be used for effective matching despite being submitted at varying angles of acquisition or at substantially any angle.
31. The method of claim 26, further comprising learning more about the user's biometrics as they change over time.
32. The method of claim 26 further comprising configuring the at least one processor to operate with a co-processor that operates on encrypted data.
33. The method of claim 32 further comprising creating an encryption key with the co-processor.
34. The device of claim 33 further comprising determining if there is a match with a stored biometric template using the co-processor.
35. The method of claim 26 further comprising the co-processor operating with a secure firmware component.
36. The method of claim 26, further comprising storing one or more of an unencrypted biometric template in a secure portion of computing device memory.
37. The method of claim 26, further comprising automatically calculating updated biometric templates from new biometric samples.
38. The method of claim 37, wherein upon calculation of an updated biometric template, the device automatically: encrypts the updated biometric templates using an algorithm and a hardware rooted key; and stores the updated biometric template in a secure portion of computing device memory.
39. The method of claim 38, wherein the stored updated biometric template is encrypted.
40. The method of claim 26, further comprising performing failure actions according to a defined policy in the event the said one or more subsequent biometric samples do not match the decrypted one or more biometric templates.
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 processsee 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 biometric template(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 hashsee 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) 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)
(14) 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.
(15) Detailed Calculations
(16) Again referring to
M=[2ra+ or Sqrt(4r.sup.2a.sup.2+a.sup.42a.sup.2+1)]/(a.sup.21) 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.
(17) Where a approximates 1, the value of |M| may become very large and for this reason it is advisable to limit the value. A value of 10,000 works relatively well.
(18) 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.3m.sup.2(2r.sub.1+1)+2m(r.sub.1+1)(2r.sub.1+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 r.sub.1 is the correlation coefficient of the (x,y) data and can be calculated as:
r.sub.1=[M(1a.sup.2)+(1M.sup.2)ra]/[a.sup.2+2mra+M.sup.2] The combined rotational transformation angle can then be calculated from the original X,Y data by the well-known equation:
M1=(M+m)/(1Mm).
(19) 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
(20) where tan w=M.sub.1
(21) 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
(22) 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.
(23) 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.
(24) Turning again to
(25) Turning now to
(26) Again, turning to
(27) Again turning to
(28) Let D be an automatically generated-hardware-rooted numeric mobile device ID used in the password obfuscation and de-obfuscation process.
(29) Let P be the power-up password, which may be chosen or imposed, required by the mobile device.
(30) Let P.sub.# be a one-way hashed value of the password (used to generate keys for the various encryption/decryption processes
(31) Let PIN be the user chosen PIN or the generated PIN.
(32) Let PIN.sub.# be a one-way hashed value of the PIN used in the obfuscation/de-obfuscation process.
(33) Let P.sub.Obf be the Obfuscated Password used to calculate the password P to be used in the local or remote password authentication systems.
(34) Let T.sub.Clr be the clear text biometric template used to match with the submitted biometric sample features.
(35) Let T.sub.Key be the symmetrical key used to encrypt/decrypt the biometric template (215, 304, 308). The generation method is described later.
(36) Let T.sub.Enc be the encrypted biometric template using a symmetric encryption function such as the Advanced Encryption algorithm.
(37) 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 f.sub.1 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
(38) We then choose a second function f.sub.2 such that:
f.sub.2(P.sub.Obf,PIN.sub.#)=T.sub.Key
(39) 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.
(40) 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
(41) In Calculating the Obfuscated Password P.sub.Obf, from P, D and PIN.sub.#, for use in authentication and encryption/decryption routines, we might define f.sub.1 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>4n 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 05)call the result P.sub.nt (Password Numeric Transform) iii) Generate D and capture or generate a Dummy PINsee (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.sub.#. 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, P.sub.nt and PIN.sub.# and store this set of numeric digits securely as the obfuscated password=P.sub.Obf
(42) P.sub.Obf is set and stored on the mobile device at registration/biometric enrollment when the Password and PIN are set up (213). P.sub.Obf 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.
(43) 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.
(44) In calculating the Template Encryption/Decryption Key T.sub.Key we define a function f.sub.2 such that T.sub.Key=f.sub.2(P.sub.Obf,PIN.sub.#). Suppose we generate T.sub.Key by choosing f.sub.2 as the sum of P.sub.Obf and PIN.sub.# 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 P.sub.Obf.
(45) In generating the Password (for authentication or encryption) by de-obfuscation of the obfuscated password we apply the inverse function of f=f.sup.1 in the following manner: i) Get P.sub.Obf ii) Generate D iii) Capture PIN (or supply Dummy PIN) and generate PIN.sub.# iv) Subtract the sum of D and PIN.sub.G from P.sub.Obf v) Subtract each successive set of two digits from 128. This is P.sub.nt 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.
(46) 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 server's 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.
(47) Function Definitions f and f.sup.1
(48) 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: PDKis the key used by the system at power up but prior to authentication to decrypt the Parameter and Configuration data PCD EPCDis the encrypted value of PCD UBSis a user biometric sample BTis the clear text biometric template created from biometric samples. TEKis the biometric template encryption/decryption key. fis a symmetric encryption function as e.g. in the AES f.sup.1is the symmetric decryption function as in the AES EBTis the encrypted biometric template CPW1is a complex password for device unlock CPW2is a complex password for Network Access or for the SSL.
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 HWRis a unique device number rooted in the device hardware. PINis a user-chosen PIN PIN#is a one-way hash of the PIN OPW1is the obfuscated password for device unlock OPW2is the obfuscated password for network access/SSL. DARis sensitive device data at rest. Then we define: PDK=f(OPW1,HWR)encrypted value of OPW1 using a key derived from HWR PCD=f.sup.1(EPCD,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.sup.1(EBT,TEK)decryption function for biometric template using the TEK key OPW1=f(CPW1,HWR,PIN#) OPW2=f(CPW2,HWR,PIN#)
(49) 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,HWR,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(OPW2,HWR,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)
(50) The IC Card Identification Process
(51) 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 retailer's 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 owner's 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.
(52) 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.
(53) The Signature/Sign Biometric Process
(54) Referring again to
(55) 1) Template Building
(56) 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:
(57) 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, (f.sub.1 . . . f.sub.m) in a manner later described.
(58) 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.
(59) 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 f.sub.1j is the j.sub.th value of feature 1 from the j.sup.th sign for a specific customer, then: Mean f.sub.1j=Mf.sub.1j would be calculated as follows: Mf.sub.11 after 1 sign=f.sub.11 Mf.sub.12 after 2 signs is ((1a)*Mf.sub.11+a*f.sub.12) Mf.sub.13 after 3 signs is ((1a)*Mf.sub.12+a*f.sub.13) . . . etc.
(60) Where: for the second sign a=0.5 for the third sign a=0.33 for the 4.sup.th sign a=0.25 . . . etc for the n.sup.th sign a=1/n until n=9. Thereafter a=0.1 for all signs. Mf.sub.2 . . . Mf.sub.m will be calculated in a similar manner.
(61) 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. If the mean difference for feature 1 after j1 signs is D.sub.1,j1, then: D.sub.1,j=a*Abs(f.sub.1jMf.sub.j-1)+(1a)*Abs(D.sub.1,j1) where a has the values: for the second sign a=0.5 for the third sign a=0.33 for the 4.sup.th sign a=0.25 etc. for the n.sup.th sign a=1/n until n=9. Thereafter a=0.1 for all signs. Df.sub.2 . . . Df.sub.m will be calculated in a similar manner.
(62) 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.
(63) 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.
(64) 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.
(65) 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.
(66) 2) Feature Matching Suppose that, for a particular sign the value of feature i is f.sub.i. Suppose the template values for feature i are M.sub.i and D.sub.i We calculate a mismatch score sum=S=Sum[w.sub.i*(Abs(f.sub.iM.sub.i)/D.sub.i)] for i=1 . . . m, where there are m feature values being measured.
(67) This can be compared against a threshold value T.sub.m 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.
(68) 3) Calculating T.sub.m There are m features with discriminant weightings (w.sub.1 . . . w.sub.m), such that Sum(w.sub.i)=m, and they contribute to the mismatch score in the following manner so T.sub.m can be set as follows:
(69) T.sub.m=Sum(w.sub.i)+p*sqrt(Sum(w.sub.1.sup.2))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.
(70) 4) Feature Selection
(71) 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 to y-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
(72) 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 the y movement negative, or vice-versa.
(73) To arrive at an efficient feature set and weights (w.sub.i) that discriminate powerfully between authentic signs and fraudulent signs the inventors advocate the method defined in a White Paper authored by Rodney Beatsonone of the present inventorsentitled Feature Selection & Definition in a Biometric System with Many Possible Features Including Multi-Modal Features dated Feb. 8, 2010 and incorporated herein by reference.
(74) 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 M1 committee. The sign data captured in this experiment was later subjected to the analysis described above in the White Paper with impressive results.