This application is a U.S. National Stage filing under 35 U.S.C. §119, based on and claiming benefits of and priorities to GB Provisional Patent Application No. 1603408.4 filed Feb. 26, 2016 and GB Provisional Patent Application No. 1514201.1 filed Aug. 11, 2015.
The present disclosure relates to a biometric verification method and system. In embodiments, the approach described involves use of a token holding biometric information of a user and a terminal adapted to read biometric information from the user.
Biometric verification is widely used to verify users in various contexts. Typically, a verification system involves previously captured and verified user biometric data (such as a fingerprint, an iris scan, a facial image or a voiceprint), a biometric capture device and a matching system to determine whether there is a match between the verified user biometric data and captured biometric data from the capture device. Biometric verification may be used, for example in determining whether a permitted user wishes to gain access to a computing device.
There is an increasing wish to support biometric verification for payment transactions made with a payment device such as a payment card comprising a chip (such as those designed to operate according to EMV technical standards).
Typically, a payment card is held by a cardholder and interacts with terminals (such as point of sale terminals or automated teller machines) associated with a financial institution whereby transactions are mediated by a transaction infrastructure associated with the card type. Any such solution should be technically effective, cost effective, secure, and of limited consequences for existing standards and the installed base of payment cards and terminals.
In a first aspect, the invention provides a method of biometric verification for a transaction, the method comprising interaction between a token having user biometric data stored thereon or accessible therethrough and a terminal having a biometric reader associated therewith, the method comprising:
Preferably, comparison takes place at the token, and the token obtains the verification result and returns it to the terminal. The token may achieve this by using a dedicated application for biometric verification that may be called on as a service by a transaction application on the token. Preferably, the token and the terminal first determine whether both support biometric verification—if both support biometric verification, the terminal may require the token to perform biometric verification. If one party does not support biometric verification (or the same biometric verification protocol) then another verification method may be used. The token may be a payment device, such as a payment card, particularly a payment card implementing EMV technical standards. In this case, biometric verification may be treated as a permissible cardholder verification method (CVM) in the context of the EMV technical standards. In embodiments, the combination of multiple cardholder verification strategies is described, allowing for example use of a user PIN if biometric verification is not possible. The terminal may be a point of interaction for a payment infrastructure, such as that operated by a payment card provider for card issuing and transaction acquiring banks. However, in other embodiments the transaction may be a non-financial transaction—the terminal may also be a multi-use terminal with both financial and non-financial uses.
In a further aspect, the invention provides a payment device adapted to implement token functions as described in the method set out above. This may be a payment card, particularly a payment card implementing EMV technical standards. Biometric verification may be provided separately from a payment application, but the payment application may then be modified to allow biometric information of a predetermined format to be matched and a verification result used as verification in the payment application. In this way a hierarchy of verification options may be implemented, allowing for example biometric verification to be performed if possible for verification, and if not possible, for a customer PIN to be used. In embodiments, biometric reference data on the card can be updated using EMV scripting mechanisms adapted for extended data length and to fit within existing hardware security modules.
In a still further aspect, the invention provides a terminal of a transaction infrastructure adapted to perform terminal functions as described in the method set out above. As noted above, the terminal may be a point of interaction for a payment infrastructure, such as that operated by a payment card provider for card issuing and transaction acquiring banks.
Embodiments of the disclosure will now be described, by way of example, with reference to the accompanying Figures, of which:
As will be discussed below, embodiments of the disclosure may be used in a variety of technical contexts. The main embodiment described here is a transaction system in which a cardholder interacts with a terminal according to the conventional four-party model, but as the skilled person will appreciate, the approach taught here may apply to any system in which a user equipped with a token having processing capabilities and bearing biometric data interacts with the terminal of a system to allow the user access to that system. This may apply to access control for buildings, interaction with transit systems, and many other contexts.
To perform a transaction, a customer interacts with a merchant. A payment card 1 (in embodiments this may be another payment device such as a mobile phone 2 acting as a virtual card, or as a proxy of a physical card) of the customer interacts with a point of sale (POS) terminal 3 of the retailer to perform a transaction. The payment card 1 is associated with a customer account with a card issuer 5. A similar interaction may take place between a payment card 1 and another kind of terminal of the transaction system, such as an ATM. In the arrangement of this embodiment, the terminal 3 comprises an integral biometric reader 9 in the form of a fingerprint scanner. In other embodiments, the biometric reader may be another form of reader (such as a retinal scanner or voice recognition system) and need not be integral with the terminal 3, though should be connected to the terminal 3 in such as way that the terminal 3 can trust data received from the biometric reader 9 as being reliable and free from subversion.
The terminal 3 interacts with the transaction infrastructure 7 and directly or (as shown here) indirectly with a card issuer 5 for the customer and an acquiring bank 6 for the merchant over a suitable network 4—network 4 here represents any appropriate communication network or combination of networks for the communication path indicated, and may be the public internet, a cellular communications network or a private network, depending on the parties involved in the communication and the need for the communication path to be secure.
Value is transferred between the customer's bank (the issuing bank or issuer 5) and the merchant's bank (the acquiring bank or acquirer 6). The transaction is passed to the acquirer 6 and the issuer 5 through a transaction infrastructure 7—this achieves the necessary switching to direct transaction information appropriately, and is also associated with one or more data centres 8 controlling and monitoring the transaction process on behalf of the transaction infrastructure provider. The transaction is authorised by the issuer 5, typically according to rules established by the transaction infrastructure provider.
The payment device may operate under a contact or contactless protocol for communication with a point of interaction (POI) terminal such as a point of sale (POS) terminal or an automated teller machine (ATM). If used as a contactless device, the payment device includes a chip and a wireless transmitter and receiver adapted for short range communication by protocols such as those defined under ISO/IEC 14443.
The transaction infrastructure 7 connects the terminal 3, the card issuer 5 and the acquiring bank 6. This banking infrastructure will typically be provided by a transaction card provider who provides transaction card services to the card issuing bank 5. The transaction infrastructure 7 provides authorization at the time of purchase, clearing of the transaction and reconciliation typically within the same working day, and settlement of payments shortly after that. The banking infrastructure 7 comprises a plurality of switches, servers and databases, and most features of this infrastructure are not described further here where these are not necessary for understanding how embodiments of the disclosure function and may be implemented. A transaction infrastructure server 8 is however shown as associated with the transaction infrastructure and responsible for management and monitoring of the transaction infrastructure. The card issuer 5 has an issuer server 15 for interactions with the transaction system and the acquiring bank 6 has an acquirer server 16 for such interactions as well.
In the arrangement shown, the application processor 23 and associated memories 24 comprise (shown within the processor space, but with code and data stored within the memories) a transaction application 201, in this case adapted to perform transactions according to relevant EMV standards. This is exemplary of applications for execution on the card—these will be described further in
The application processor 23 provides an NFC application 207 which interfaces with the NFC controller 26. A transaction may be performed over a contact card interface, a contactless card interface, or any other communication channel available to the card for communicating with a terminal (either general purpose or dedicated to this purpose).
In this case, the terminal 31 also comprises an integral biometric reader 320—this may be for example a fingerprint reader. The biometric reader 320 is used to obtain a biometric result from a user interacting with the terminal 31—in embodiments described here, this user will be the cardholder of a payment card 21. An associated biometric application 302 is provided in the main operating environment of the terminal 31 to enable the biometric reader to be used to obtain a biometric result, though in embodiments the biometric reader 320 may be self-contained, running its own application in its own operating environment, and simply providing a biometric result to other applications in the terminal.
Before describing the elements of
In order to support biometric verification, in the embodiment described here the card and the terminal architecture are defined as consisting of a set of components. Each component may have subcomponents.
A transaction application for use in conventional transactions is M/Chip Advance—this is adapted to perform a transaction with a terminal using EMV protocols. M/Chip Advance provides the applicant's implementation of the EMV standards for smart payment cards—EMV specifications can be found at https://www.emvco.com/specifications.aspx. EMV specifications implement standards based on ISO/IEC 7816 for contact cards, and standards based on ISO/IEC 14443 for contactless cards. To support biometric verification, a modified transaction application 41 is used here, M/Chip Advance (Bio). There may be multiple instance of the modified transaction application 41 on the card—for example, to support different biometric verification types, with the relevant modified transaction application 41 selected by the terminal as part of an application selection process. In general terms, to perform biometric verification, the card is organized with a dedicated application for biometric verification to supplement the primary transaction application selected by the terminal for the transaction. If the terminal commands the transaction application to perform biometric verification, the card then ‘commissions’ a sub-application (i.e. calls out for a service) on the card.
The Biometric Application 412 (also termed Biometric Verification Handler Application below) on the card is responsible for performing a biometric verification process upon request from an authorized transaction application on the card. It verifies the biometric data passed by the transaction application to support the transaction, and returns the biometric verification result to this transaction application. Biometric verification is therefore a “match on card” process, providing the cardholder with assurance that the biometric verification process is satisfactory and maintaining cardholder control of reference biometric data. The Biometric Application 412 may be unique on the card and adapted to serve all transaction applications supporting biometric verification.
Similarly at the terminal 3, there is a conventional transaction kernel 43 with modification to support biometric verification, together with an additional element to perform the biometric verification process.
The transaction kernel 43 may be that used for performing payment transactions according to existing approaches—it may for example be an EMV standard kernel performing payment transactions according to EMV specifications—with modification to support a different customer verification method, biometric verification. The CVM processing module 431 in the transaction kernel 43 is updated to support biometric verification as described here.
To implement the biometric verification process, the transaction kernel invokes the Biometric Verification Handler 432. This is a software module that manages the cardholder biometric verification on the terminal. It receives a biometric verification request from the CVM processing module 431 of the transaction kernel 43 to manage the following:
In general terms, the biometric verification process follows the steps shown by the labelled arrows in
Step 1—A payment transaction starts in a conventional manner (for example, as defined in EMV specifications).
Step 2—If biometric verification is a CVM supported by both the card and the terminal, the transaction kernel 43 requests the Biometric Verification Handler 432 to perform biometric verification.
Step 3—The cardholder is requested to present their finger to the fingerprint reader 9 associated with the terminal 3 to perform fingerprint biometric verification. Other types of biometric verification could be supported, in which case a different biometric reader would be used.
Step 4—The Biometric Verification Handler 432 sends a verification command to the card 1 with biometric data after it has been collected from the cardholder and processed—for an EMV implementation, this may be an EMV VERIFY command.
Step 5—The modified transaction application 41 requests the Biometric Application 412 to verify the received biometric data.
Step 6—The Biometric Application 412 returns a biometric verification result to the modified transaction application 41.
Step 7—The modified transaction application 41 returns a biometric verification result to the Biometric Verification Handler 432 on the terminal 3.
Step 8—The Biometric Verification Handler 432 feeds the CVM processing module 431 on the terminal 3 with the biometric verification result.
Step 9—The payment transaction is resumed after finalizing CVM processing in the conventional manner (for example, as required under current EMV standards).
It should be noted that if biometric verification fails, steps 4 to 8 may be repeated until the biometric verification is one of successful, aborted or blocked on the card.
A full verification process flow implemented according to existing EMV protocols modified to support biometric verification is now described with reference to
The transaction flow illustrated in
1. The terminal 3 sends a SELECT command to the M/Chip Advance Bio application.
2. The M/Chip Advance Bio application 41 responds with the FCI template.
3. The terminal sends a GET PROCESSING OPTIONS command to the M/Chip Advance Bio application.
4. The M/Chip Advance Bio application responds with the AFL and AIP to show which applications are supported and where relevant information is stored.
5. The terminal sends series of READ RECORD commands to read the records identified in the AFL.
6. The M/Chip Advance Bio application returns the record data. The records contain the CVM List and the Card BIT Group Template. At this point, standard EMV processing becomes modified by the additional CVM option provided by biometric verification.
7. The terminal 3 starts CVM processing by processing the CVM List returned by the M/Chip Advance Bio application that indicates the support of one or more offline biometric verification CVM Codes by the card 1.
8. The terminal 3 checks if the support of the offline biometric verification method is indicated in the Terminal Capabilities and Biometric Terminal Capabilities.
9. The terminal 3 checks if the card 1 and the terminal support the same biometric verification solution based on the information defined in the Card BIT Group Template returned by the card.
10. The terminal 3 collects the biometric data from the cardholder and processes the biometric data.
11. The terminal sends two GET DATA commands to the M/Chip Advance Bio application to retrieve the BTCT and PAT to establish procedures to be used if repeated verification attempts are needed.
12. The M/Chip Advance Bio application requests the BTCT and PAT from the Biometric Verification Handler Application (on the card) via an inter-applet call.
13. The Biometric Verification Handler Application returns the BTCT and PAT to the M/Chip Advance Bio application.
14. The M/Chip Advance Bio application forwards to the terminal the BTCT and PAT received from the Biometric Verification Handler Application.
15. The terminal sends a GET CHALLENGE command to the M/Chip Advance Bio application.
16. The M/Chip Advance Bio application returns a challenge that is used later in the processing to encipher the biometric data.
17. The terminal sends one or more VERIFY commands with CLA byte ‘00’ or ‘10’ including the enciphered biometric data to the M/Chip Advance Bio application.
18. The M/Chip Advance Bio application forwards the biometric data to the Biometric Verification Handler Application via an inter-applet call.
19. The Biometric Verification Handler Application returns to the M/Chip Advance Bio application the result of the verification of the biometric data.
20. The M/Chip Advance Bio application returns to the terminal the result of the verification of the biometric data.
21. If the terminal and the card do not support the same biometric verification solution, the CVM processing skips to the next CVM code in the CVM List if applicable.
22. If the Terminal Capabilities and Biometric Terminal Capabilities do not indicate support for one of the offline biometric verification methods supported by the card, CVM processing skips to the next CVM codes in the CVM List if applicable.
23. If no common offline biometric verification CVM is supported, CVM processing processes another CVM if applicable.
24. The terminal sends a GENERATE AC command to M/Chip Advance Bio
25. M/Chip Advance Bio returns the Application Cryptogram to the terminal
26. The terminal finalizes the transaction as defined in existing EMV specifications.
Processes at the terminal 3 in such an implementation will now be described in more detail with reference to
Existing EMV processing is modified by updating the CVM Processing module to handle Biometric MOC CVM (in particular enciphered Biometric MOC CVM), adding support for the Biometric Verification Handler to allow acquisition and processing of cardholder biometric data at the terminal and sending of the data to the card for verification and feeding the CVM Processing module with the match result from the card, and updating of the terminal data dictionary.
Modifications to CVM Processing module will now be discussed with reference to
1. Check if the Enciphered MOC Biometric CVM code is present in the CVM List and supported by the terminal as indicated in the Terminal Capabilities.
2. Check if the BIT and the Enciphered MOC Biometric CVM data are available on the card.
3. Check if the BIT mandatory data on the card matches one of the BITs listed in the Biometric Information Group Template of the terminal. Biometric ID and Biometric Data Verification Format Type on the card BIT must match one of the BITs listed in the Biometric Information Group Template.
4. Set the corresponding TVR bit if Biometric ID and Biometric Data Verification Format Type on the card BIT does not have a match with any of the BITs listed in the Biometric Information Group Template.
5. Request MOC biometric verification from Biometric Verification Handler when Enciphered MOC Biometric CVM is present in the CVM List and needs to be processed.
6. Receive the results of the MOC biometric verification from the Biometric Verification Handler.
7. Continue the processing of the CVM List according to the success or failure of the Enciphered MOC Biometric CVM.
In order to support Enciphered MOC Biometric CVM, the CVM processing logic as defined in section 10.5.5 of EMV Book 3 is updated as shown in
The Biometric Verification Handler 432 on the terminal 3 will now be described further with reference to
The Biometric Verification Handler is in this embodiment responsible for managing the biometric verification of a cardholder on the terminal. It manages the cardholder biometric verification upon receiving the biometric verification request from the CVM processing module 431 that is part of the transaction kernel 43. In order to verify the cardholder biometric data, the Biometric Verification Handler has the following functionalities:
Acquiring and processing biometric data and verifying processed data are described in more detail below.
In acquiring biometric data, the Biometric Verification Handler performs the following tasks:
The Biometric Verification Handler processes and reformats the collected biometric data from the cardholder in the format defined by the card BIT.
The Biometric Verification Handler requests the card to verify the cardholder processed biometric data as follows:
1. The Biometric Verification Handler checks if the BTC is exceeded and sets the corresponding bit in the TVR accordingly.
2. The Biometric Verification Handler uses either the ICC Public Key pair for offline dynamic data authentication or the ICC PIN Encipherment Public Key pair to encipher the biometric data in the same way as the PIN block is enciphered as defined in section 7 in EMV Book 2.
3. ICC PIN Encipherment Public Key Data is signed by the issuer and formatted as defined in section 7.1 in EMV Book 2.
4. ICC Public Key Data is signed by the issuer and formatted as defined in section 6 in EMV Book 2.
5. The first step of the encipherment of the biometric data is the retrieval of the public key to be used by the terminal. This process is defined in section 7.1 in EMV Book 2. for PIN encipherment.
6. The biometric data is enciphered in the same way as the PIN as defined in section 7.2 in EMV Book 2. with the following updates:
7. Biometric data encipherment continues as defined in section 7.2 in EMV Book 2 for PIN Encipherment.
8. The Biometric Verification Handler sends a VERIFY command to the selected application. The value field of the VERIFY command includes the enciphered biometric data together with any Biometric Matching Algorithm Additional Parameters that might be indicated in the BIT. The VERIFY command for MOC biometric verification is defined in Table 2 below.
P2 is set as defined by ISO/IEC 7816-4. Table 3 indicates the values used for Enciphered MOC Biometric verification.
9. After sending the VERIFY command to the selected application on the card, the Biometric Verification Handler receives and manages the card biometric verification result.
10. If biometric verification is successful, it forwards the result to the CVM processing module in the EMV kernel to continue CVM Processing.
11. If biometric verification is not successful, the Biometric Verification Handler returns to the Biometric Data Acquiring process if BTC≠0 to retry biometric verification.
12. If biometric verification is not successful and BTC=0, the Biometric Verification Handler forwards the biometric verification result to the CVM Processing module in the EMV kernel to continue CVM processing with SW1SW2≠9000 as defined in
The biometric verification logic in the Biometric Verification Handler is shown in
Implementation of the M/Chip Advance (Bio) and Biometric (Verification Handler) Application at the card will now be discussed. Features supported by each element will be generally described, then specific implementations of particular features and process flows discussed in more detail with reference to
M/Chip Advance (Bio) supports the following:
1—Identify and store a Biometric Application reference to be used for biometric verification.
2—Support the VERIFY command adapted for biometric MOC.
3—Establish inter-applet communication with the Biometric Application on the card.
4—Forward biometric data received in the VERIFY command to the Biometric Application for verification.
5—Provide to the terminal the result of the biometric verification returned by the Biometric Application.
6—In case of biometric verification failure, return to the terminal the latest BTC value returned by the Biometric Application.
7—Set a specific biometric CVR bit during the GENERATE AC command when VERIFY (21) is used to indicate that the last offline CVM performed by the terminal is Enciphered MOC Biometric CVM and not Offline PIN CVM.
8—Reuse the offline PIN verification bits in the CVR for biometric verification. The issuer host can then check the specific bit in the CVR to determine whether the PIN bits in the CVR are used for PIN verification or for biometric verification. As a consequence, the right nibble of BTC is copied into Byte 3 bit 1-4 in the CVR instead of PTC.
9—Reset the biometric CVR bit if a VERIFY (20) command is received to verify Offline PIN after a VERIFY (21) command is processed. Consequently, the PIN verification bits in the CVR are set based on the VERIFY (20) command processing (the last VERIFY command received).
10—Overload the parameters of PIN CHANGE/UNBLOCK command in order to allow the card issuer to reset the BTC and to update the cardholder reference biometric verification data that are stored in and managed by the Biometric Application.
11—Send a BTC reset request to the Biometric Application during the processing of the PIN CHANGE/UNBLOCK command when requested.
12—Send a request to update the cardholder biometric data to the Biometric Application during the processing of the PIN CHANGE/UNBLOCK command when requested.
13—Support the retrieval of the BTC and BTL with the GET DATA command
14—Support the update of the BTL with the PUT DATA command.
Issuers should thus be aware of the following characteristics of the M/Chip Advance (Bio) card application:
The Biometric (Verification Handler) Application on the card supports the following functionality:
1—Authenticate the requesting application for biometric verification to assure it is an authorized application on the card.
2—Receive the biometric verification request from the M/Chip Advance (Bio) application in a predefined format defined on the card level—other applications on the card should use the same format.
3—Verify the received biometric data using the predefined biometric matching algorithm. If successful, set BTC to BTL. If not successful, decrement BTC by 1.
4—Send the verification result to M/Chip Advance (Bio).
5—Send the remaining Biometric verification trials (BTC) to M/Chip Advance (Bio) if verification fails or when requested explicitly by M/Chip Advance (Bio).
6—Send Biometric Blocked SW1SW2 to M/Chip Advance (Bio) when verification fails and BTC=0.
7—Reset BTC upon receiving request from an authorized M/Chip Advance (Bio) application
8—Update the cardholder reference biometric verification data upon request from an authorized M/Chip Advance (Bio) application.
Modification of existing EMV features and process flows at the card will be described in more detail below with reference to
Where significantly modified or where content is particularly relevant to the understanding of the content of this document, sections of EMV processing are discussed below. Other sections of are less significantly modified and other aspects of their operation are not relevant to the explanation of the functionality of modifications set out below, or will be readily apparent to the person skilled in the art.
Generally, the Chained Verify Flag and Chained PIN Change/Unblock Flag must be cleared at the beginning of some C-APDUs. An inter-applet interface is required when the Biometric Verification Handler is implemented as an application within the card. In which case, both the M/Chip Advance Bio application and Biometric Verification Handler must support an inter-applet interface to establish the required communication between the two applications. The inter-applet interface is implementation specific and implementation will be apparent to the person skilled in the art based on specific requirements. Existing state machine definitions are extended to include new CLA byte values for the VERIFY and PIN CHANGE/UNBLOCK commands in order to support command chaining—allowing command chaining supports extended biometric data when needed by specifying the required data retention mechanisms cross the different chained commands when needed.
Modification of First and Second GENERATE AC commands to allow for biometric verification as a preferred option can be made by extending process flows as shown in
Modification of GET DATA process flows are shown in
PIN CHANGE/UNBLOCK processing is shown in
This approach allows updating the biometric reference data of each or all biometric type supported by the card in implementation agnostic way. It also allows updating the biometric verification try limit and proffered attempts for each biometric type supported by the card in implementation agnostic way. The amended message structure is shown in Table 4 below.
The main process flow is shown in
Modifications to the VERIFY command are shown in
The specific implementation of the disclosure described in detail here does not limit the spirit and scope of the disclosure set out here. As the person skilled in the art will appreciate, while the implementation described in detail here relates to transaction processing using EMV protocols, other implementations of the disclosure as broadly described may be employed to other protocols, and other systems in which biometric verification by matching against data held in a user token may be employed.
The following acronyms and abbreviations are used in the discussion above.
Number | Date | Country | Kind |
---|---|---|---|
1514201.1 | Aug 2015 | GB | national |
1603408.4 | Feb 2016 | GB | national |