APPARATUS, SYSTEM, AND METHOD FOR OPERATING A DIGITAL TRANSACTION CARD
20200387888 ยท 2020-12-10
Inventors
Cpc classification
G06Q20/18
PHYSICS
G07G1/0009
PHYSICS
G06Q20/34
PHYSICS
G06Q20/10
PHYSICS
G06K19/07707
PHYSICS
International classification
G06Q20/34
PHYSICS
G06K19/077
PHYSICS
G06Q20/18
PHYSICS
Abstract
Apparatus (512, 514, 516, 520) on a Digital Transaction Card (DTC) (518), the apparatus (512, 514, 516, 520) including a Digital Transaction Processing Unit (DTPU) (520) operable for executing an instruction from a standard command protocol, wherein the DTC (518) is operable to store one or more scripts (504), each script (504) including one or more instructions from the standard command protocol, the DTC (518) further operable to cause the DTPU (520) to execute the one or more instructions.
Claims
1. Apparatus on a Digital Transaction Card (DTC), the apparatus comprising: a Digital Transaction Processing Unit (DTPU) operable for executing an instruction from a standard command protocol, wherein the DTC is operable to store one or more scripts, each script including one or more instructions from the standard command protocol, the DTC further operable to cause the DTPU to execute the one or more instructions.
2. Apparatus of claim 1, further comprising: an off-card entity operable to provide at least one script to the DTC.
3. Apparatus of claim 2, wherein the off-card entity is a Trusted Service Manager (TSM).
4. Apparatus of claim 3, wherein the TSM is adapted to generate one or more scripts for a uniquely identified DTPU and provide scripts to the DTC including the uniquely identified DTPU.
5. Apparatus of claim 1, wherein the apparatus includes software operable to store one or more software packages, at least one of the one or more software packages representing a Virtual Card Profile (VCP), the apparatus operable with the VCP to cause the DTC to adopt the personality associated with the VCP.
6. Apparatus of claim 1, wherein the standard command protocol is the Global Platform Standard (GPS).
7. Apparatus of claim 1, wherein the DTC includes a Micro Controller Unit (MCU).
8. Apparatus of claim 7, wherein the MCU is configured to emulate at least some functions of a digital transaction device, such as an Automatic Teller Machine (ATM), a Point Of Sale (POS) terminal, or an Electronic Funds Transfer at Point Of Sale (EFTPOS) terminal.
9. Apparatus of claim 1, wherein the DTC is operable to refresh one or more scripts.
10. Apparatus of claim 9, wherein the DTC refreshes the one or more scripts by resetting an anti-replay counter on each of the one or more scripts.
11. Apparatus of claim 10, wherein the DTC obtains a current anti-replay counter value from the DTPU and uses the DTPU anti-replay counter value to calculate the anti-replay counter reset value for each of the one or more scripts.
12. Apparatus of claim 1, wherein the DTC is operable to be linked with a Data Assistance Device (DAD) for communication therebetween.
13. Apparatus of claim 12, wherein the DAD is any one of: a smartphone, a Personal Computer (PC), a tablet computing device, and a DTD adapted to operate as a DAD.
14. A method for operating an apparatus on a Digital Transaction Card (DTC), the apparatus comprising a Digital Transaction Processing Unit (DTPU) operable for executing an instruction from a standard command protocol, wherein the DTC is operable to store one or more scripts, each script including one or more instructions from the standard command protocol, the DTC further operable to cause the DTPU to execute the one or more instructions, the method comprising: operating the apparatus to cause the DTPU to execute the one or more instructions.
15. The method of claim 14, wherein the apparatus further comprises software operable to store one or more software packages, at least one of the one or more software packages representing a Virtual Card Profile (VCP), the apparatus operable with the VCP to cause the DTC to adopt the personality associated with the VCP, the method further comprising: operating the apparatus to cause the DTPU to execute the one or more instructions to cause the DTC to adopt the personality associated with the VCP.
16. Method of claim 14, further comprising: operating an off-card entity operable to provide at least one script to the DTC.
17. Method of claim 16, wherein the off-card entity is a Trusted Service Manager (TSM).
18. Method of claim 17, wherein the TSM is adapted to generate one or more scripts for a uniquely identified DTPU and provide scripts to the DTC including the uniquely identified DTPU.
19. Method of claim 14, wherein the apparatus includes software operable to store one or more software packages, at least one of the one or more software packages representing a Virtual Card Profile (VCP), the apparatus operable with the VCP to cause the DTC to adopt the personality associated with the VCP.
20. Method of claim 14, wherein the standard command protocol is the Global Platform Standard (GPS).
21. Method of claim 14, wherein the DTC includes a Micro Controller Unit (MCU).
22. Method of claim 21, wherein the MCU is configured to emulate at least some functions of a digital transaction device, such as an Automatic Teller Machine (ATM), a Point Of Sale (POS) terminal, or an Electronic Funds Transfer at Point Of Sale (EFTPOS) terminal.
23. Method of claim 14, wherein the DTC is operable to refresh one or more scripts.
24. Method of claim 23, wherein the DTC refreshes the one or more scripts by resetting an anti-replay counter on each of the one or more scripts.
25. Method of claim 24, wherein the DTC obtains a current anti-replay counter value from the DTPU and uses the DTPU anti-replay counter value to calculate the anti-replay counter reset value for each of the one or more scripts.
26. Method of claim 14, wherein the DTC is operable to be linked with a Data Assistance Device (DAD) for communication therebetween.
27. Method of claim 26, wherein the DAD is any one of: a smartphone, a Personal Computer (PC), a tablet computing device, and a DTD adapted to operate as a DAD.
28. Method of claim 14, further comprising receiving, from an issuing authority, the DTC configured to store the one or more scripts and to cause the DTPU to execute the one or more instructions.
29. Method of claim 14, further comprising including issuing, by an issuing authority, operating code, including software and/or firmware, to the DTC to enable the DTC to store the one or more scripts and to cause the DTPU to execute the one or more instructions.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0110] At least one embodiment of the invention will be described with reference to the following, non-limiting illustrations representing the at least one embodiment of the present invention, in which:
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131]
[0132]
DETAILED DESCRIPTION
[0133] Referring to
[0134] The hierarchy uses a Supplementary Security Domain (SSD) 110, which is managed by a third-party for the purposes of changing the personality with which the DTC operates. The third-party personality manager installs an application on the DTC for controlling some operations of the DTC, including operation of the PSE/PPSE and the DTPU (in particular, the secure element of the DTPU). The ability to operate the SSD is provided through the appropriate authorization 108, for example, by provision of keys. The third-party personality manager SSD 110 may also have authority for Global Locking 106.
[0135] The third-party personality manager SSD has control of one or more packages 124, which may be implemented as one or more applets. The packages, when called, instantiate one or more corresponding instances 126. In one example, there may be one package for a custom PPSE and another package for a custom PSE, instantiating, respectively, as a custom PPSE instance and a custom PSE instance. With this control under the SSD, the third-party personality manager is able to cause the PPSE and PSE applications to perform operations on the PSE/PPSE of the DTC. In one embodiment, the PPSE gets the Global Lock privilege allowing the LOCKing and UNLOCKing of other applications on the secure element.
[0136] According to GPS, the Global Lock privilege provides the right to initiate the locking and unlocking of any Application on the card, independent of its Security Domain association and hierarchy. It also provides the capability to restrict the Card Content Management functionality of OPEN. This allows a single entity on the Secure Element to implement the lock/unlock mechanisms. An off-card entity requiring the lock or unlock functions should be authenticated using the appropriate secure channel.
[0137] In one example implementation of a standard command protocol (or a general card and issuing/payment network operation protocol), the Global Platform Standards (GPS), mapping guidelines define which global platform privileges are recommended or optionally supported by the ISD and SSD or applications (for example, applets). In example implementation, each EMV chip can differ, with some EMV chips supporting an extended version of mapping guidelines (called Mapping Guidelines Plus). Some implementations of the GPS allow the global lock privilege to be assigned to applications. In embodiments of the present invention, software packages (applications), such as applets, could therefore contain global lock privilege. In other embodiments, global lock privilege could be assigned to a script (or a number of scripts). With such global lock privilege assignment, applets or scripts, when operated, may be enabled to perform LOCK/UNLOCK operations, and other operations requiring a high-level authorization according to the GPS security hierarchy.
[0138] The hierarchy 100 also includes an SSD utility 112, with appropriate authority 114 to operate a number of packages relating to various card profiles (VCPs) and their associated payment schemes. In this example embodiment, a first package 128 holds information for a Visa card profile, a second package 130 holds information for a MasterCard profile, and a third package 132 holds information for an Amex profile.
[0139] The hierarchy 100 includes two example bank SSDs 116, 120, with associated security 118, 122. The bank SSDs are each associated with a bank hosting applications for the VCPs 128, 130, and 132. In this example, the first bank SSD 116 is associated with the Visa application, and instantiates a Visa instance 134; the second bank SSD 120 is associated with the MasterCard application and instantiates a MasterCard instance 138. The keysets 136, 140 from these bank SSDs allows personalization of the banking applications. The owners of the bank SSDs 116, 120 are responsible for generating personalization scripts for the banking profile data.
[0140] As shown in
[0141] With the scripts 206, 208, and 210 loaded into the MCU the cardholder can perform operations via an interface on the DTC (not shown in
[0142] In an embodiment, each successful authentication operation disables (exhausts) the script used for that authentication. When a predefined number of scripts have been exhausted, or a predefined number of scripts remain unexhausted, and when the DTC is connected with the smartphone 214, it can notify the smartphone which scripts have been exhausted, and the smartphone (via the app 216) can request a new batch of scripts from the TSM. In this way, the scripts can remain synchronized between those on the DTC and those copies of scripts (or records of the scripts) retained by the TSM.
[0143] Another means by which to retain synchronization is to reset the sequence counter after a script has been used for a successful authentication or another operation, which would otherwise exhaust the script. Using GPS, the sequence counter can be reset using a PUT_KEY command, which replaces the existing keyset with an identical keyset having the same key values. This results in the script being valid for further use without immediate replenishment from the TSM. The PUT_KEY command requires authentication to the SSD using the highest security level available, that is, AUTHentication+ENCryption+MAC. There are two types of script for this option: the selection update with security level AUTH, and the update keys script with AUTH+ENC+MAC security level.
[0144] Ultimately, when possible, an update from the TSM will still be required to provide a key update with new values. Updating key is a security requirement, and must be done regularly, or the security may be compromised. However, the update can occur as a background task when the DTC is connected with the smartphone.
[0145] Although embodiments described in this specification exemplify a smartphone as means to communicate data, including scripts, between a TSM and the DTC, other means may be suitable for this function, including computer tablets, smartwatches (and other wearable mobile communication devices), PCs, laptops and other devices which can be securely connected to a network for secure communication between the device and the TSM, and which can also be connected to the DTC via a suitable communication protocol such as Bluetooth. Further, the TSM and DTC can connect for secure data communication therebetween using digital transaction devices, such as ATMs and POS/EFTPOS terminals when the DTC is used for transactions with those types of device.
[0146]
[0147] The cardholder uses the DTC interface to select a card (for example, a Visa card) which is to be the new operating personality of the DTC to replace the presently operating personality (for example, an Amex card). The MCU launches the selection process by authentication 320, 322 to the SSD 308 through the PSE/PPSE application 310 using a third-party SSD keys (the third-party being one designated to manage personality changes on the DTC). The MCU then sends a Set Active Application 324 command to the PPSE (for contactless card transactions)the active application will be the Visa application. The PPSE operates to check the LOCK/UNLOCK state of the applications, LOCKS 326 the application to be deactivated (the Amex card application) using GPS APIs 314, UNLOCKS 328 the application to be activated (the Visa card application), then UPDATES FCI 332 of the PSE/PPSE FCI 316 to accord with the AID of the activated application. The PPSE updates the PSE payment directory. Finally, an OK 330 is sent to the MCU. When next used, the DTC's EMV will have the personality of the Visa card operating and will use the appropriate Visa banking applet 312 in a payment operation.
[0148] In the example depicted in
commands.
[0153]
[0154] Following the UNLOCKING/LOCKING commands, the MCU selects the next available authentication script and runs this script for authentication 432, 434 before sending a SELECT PPSE command to the PPSE 412 to update 436, 438 the FCI of the PPSE according to the AID of the selected application (the cardholder's bank's debit card application). In a separate action, the MCU can update the PSE 414 payment directory with the activated application's AID. As both the PPSE and PSE are updated, the DTC can be used in contact and contactless transactions with digital transaction devices. The DTC can operate with the appropriate banking applet 415 to effect debit card transactions.
[0155] In the example depicted in
Script 1 (LOCK/UNLOCK Banking Applications):
[0156] SELECT SSD; [0157] INITIALIZE UPDATE; [0158] EXTERNAL AUTHENTICATE; [0159] SET STATUS (APPLICATION LOCKED); and [0160] SET STATUS (APPLICATION UNLOCKED).
Script 2 (UPDATE PPSE FCI):
[0161] SELECT PPSE; [0162] INITIALIZE UPDATE; [0163] EXTERNAL AUTHENTICATE; and [0164] UPDATE FCI (FCI CONTENT with AID).
Script 3 (UPDATE PSE PAYMENT DIRECTORY)
[0165] SELECT PSE; [0166] INITIALIZE UPDATE; [0167] EXTERNAL AUTHENTICATE; and [0168] UPDATE FCI PAYMENT DIRECTORY (AID).
[0169] Whilst the above examples illustrated in
[0170] Further, in other example embodiments, the DTPU of the DTC could store a wide variety of digital transaction documents, including passports, IDs, age verification documents, loyalty cards, travel cards, along with a range of financial transaction documents, such as credit and debit cards from various payment schemes. In one embodiment, the DTC can be operated via its interface to install any one of the documents as the operating personality of the DTC.
[0171] In other embodiments, it is envisaged that, for example, multiple personalities could operate where such personalities have some relationship, such as a credit card and a loyalty card. In such scenarios, the PPSE/PSE may only present the credit card personality for selection by a transaction device, but the DTC could operate an associated loyalty card (a different VCP on the DTC) to recognise transactions made with the credit card when it is the active card profile.
[0172] In other variations, a single script may be suitable for completing a number of operations for changing a DTC's operating personality. For example, the script may implement a number of authentications and commands required. This would increase the efficiency of each script, thus requiring a smaller number of scripts to be installed on the MCU for executing each personality change operation.
[0173]
[0174] The TSM generates the script with a keyset unique to a chosen set of parameters of the DTC. The set of parameters could include, for example, one or more of the following: a DTC unique ID, a MCU unique ID, a key (or keyset) stored in secure memory 516 of the DTC, and a unique ID for the DTPU 520 (in some examples, an EMV chip). The generated script contains commands (ADPU commands) in accordance with, for example, the GPS. As the script is generated with a keyset unique to the chosen parameters, the script cannot be used with other DTCs or other devices (such as mobile payment devices).
[0175] The TSM 502 sends the generated script 504 to a mobile device 508 (for example, a DAD or a mobile phone). The TSM can send the script via a secure communication channel, or in the clear. The communication path between the TSM and the mobile device can Over The Air (OTA) 506, or by some other pathway.
[0176] The mobile device is then able to transfer the script to the DTC 518 via a contactless communication channel 510 to a communication chip 512. Examples of the contactless communication channel are an NFC connection or a Bluetooth connection.
[0177] Once transferred to the communication chip 512, the script can be passed to the MCU 514 or further transferred to the secure memory 516. When the script has been received by its designated end-point, an acknowledgement of receipt can be sent back through the same or a different communication pathway to confirm to the TSM that the script has been safely received and stored on the correct DTC or other payment device.
[0178] In various embodiments, the communication pathway 500, or parts of the communication pathway can be secured to prevent fraudulent activity, such as man-in-the-middle attacks. However, it will be appreciated that a script is generated for a specific device, and cannot be used in other devices, so that a secure communication pathway may not always be required or desired.
[0179] It will also be appreciated that the communication pathway 500 could be established as an end-to-end pathway between the TSM 502 and the end-point (for example, the MCU 514, or the secure memory 516). Such a pathway requires maintenance of all connections between points along the pathway for the entirety of the communication process.
[0180] In other embodiments, the communication pathway 500 may be comprised of a series of asynchronous communication points. In such embodiments, a script 504 can be delivered from the TSM 502 to a mid-point device, such as the mobile device 508 via a first communication channel part-pathway. The first communication channel part-pathway could then be dropped. The mobile device, being a temporary holder of the script, can then establish a second communication channel part-pathway with the DTC's communication chip 512, which part-pathway has a synchronous connection with the MCU 514, and can also have a synchronous connection with the secure memory 516. The script can be delivered to the end-point, and an acknowledgement can be sent back through a same mix of synchronous and asynchronous communication channel part-pathways.
[0181] In embodiments including asynchronous communication channel part-pathways, the entire communication process (including delivery of the script from the TSM to the end-point, and delivery of the acknowledgement back to the TSM) could be time-limited to reduce the risk of fraudulent interception and use of the script. In some examples, the time limit could be 5 minutes, although it will be appreciated that other time limits could be chosen.
[0182]
[0183] The DTC 602 depicted in
[0184] Further, in
[0185] In this regard, in the embodiment detailed in
[0186] When a consumer uses their DTC 602 in a credit card transaction with a merchant terminal 614, the merchant terminal interacts with an acquirer 632 and passes payment data and the token to the acquirer for authorisation of the transaction.
[0187] The acquirer 632 is an entity that processes credit or debit card payments on behalf of a merchant. The merchant acquires a credit card payment from the card issuer 626 within a payment scheme 630. The acquirer exchanges funds with an issuer on behalf of the merchant. With respect to the process associated with the transaction, the acquirer passes the payment data and token received from the merchant to the payment scheme. The payment scheme then requests that a token service provider 624 convert the token collected by the merchant and received from the acquirer back to the associated PAN. The token service provider provides the original PAN to the payment scheme and the payment scheme passes the PAN to the issuer and receives an account number for the payment. The issuer verifies the availability of funds and either authorises or declines the payment and communicates the authorisation or otherwise to the payment scheme. In turn, the payment scheme provides authorisation, or declines to provide authorisation, to the acquirer and the authorisation is provided from the acquirer to the merchant terminal 614. If payment is authorised, the merchant provides the goods and/or services to the user of the DTC and the merchant is assured that it, he or she will receive funds in return for the goods and/or services provided.
[0188] Optionally, at the time the issuer 626 issues a credit or debit card and creates an account for the account holder, the issuer provides a request to a TSP 624 to generate tokens for the PAN that identifies the issuer and the particular account holder. In the instance of
[0189]
[0190] The user's mobile device 604 may be identified by various pieces of information regarding the device, that when considered in combination, form a mobile device fingerprint. The mobile device executes a digital wallet application and communicates 608 with the DTC 602 preferably by use of a wireless communication protocol such as NFC or Bluetooth 606.
[0191] The user may download a wallet application from a wallet service provider 628 for installation on their mobile device 604 wherein the wallet service provider digital wallet application allows the user to carry virtual credit cards, virtual debit cards or other virtual card information in a digital form on their mobile device. In the instance of
[0192]
[0193] The MCU transfers the virtual card to the DTC's DPTU 738, an EMV chip in this example, by splitting the VCP into ADPUs 720 and transferring 722 each of the ADPUs to the EMV optionally via a secure session 724. In this example, the secure session comprises 4 ADPUs 728, 730, 732, and 734, each transmitted through the tunnel to the EMV.
[0194]
[0195] The MCU transfers the virtual card to the DTC's DPTU 788, an EMV chip in this example, by splitting the VCP into ADPUs 770 and transferring 772 each of the ADPUs to the EMV optionally via a secure session 774. In this example, the secure session comprises 4 packets 778, 780, 782, and 784, each transmitted through the tunnel to the EMV.
[0196] The communication between the smartphone and the MCU without further encryption (in the clear) is possible because the VCP is sent from the TSM to the smartphone as an encrypted file. Further, though the file contains information to verify that the VCP is being installed on the correct DTC, the information is encrypted with keys between the TSM and the EMV chip with checks and balances including device fingerprints and challenge responses to ensure encrypted information is forwarded only to the correct EMV chip. The codified information is associated with the actual data, such as PAN, cardholder's name, etc, in another location. As such, even if the VCP file is intercepted and decrypted, the information contained therein is not immediately useful for identifying the DTC, the cardholder or other critical information.
[0197]
[0198]
[0199]
[0200] The DTC operated mobile application 1012 on the user's mobile device 1014 provides management features of the DTC for the user. The library included in the mobile application may include the following features: [0201] An HTTPS Administration Agent to receive a connection from a TSM and forward APDUs to the DTC; [0202] APIs for triggering the DTC remote management from the TSM; and, [0203] Bluetooth interface with the DTC using MCU capabilities.
[0204] A Trusted Service Manager (TSM) 1016 may be responsible for: [0205] Hosting the Card Content Management Keys (according to Global Platform definition); and, [0206] Managing the DTC lifecycle.
[0207] The MCU is a controller with the following functions: [0208] Control the embedded screen; [0209] Provide a Bluetooth connection with the mobile phone; and, [0210] Be able to transfer APDUs from the phone to the EMV chip.
[0211] The EMV chips hosts one or more payment application and a customized PSE/PPSE application. The EMV relies GPS for application management.
[0212] As shown in
[0213] In
[0214] The pseudo Random is calculated as follows: [0215] The AID of the application requesting opening of a secure channel is padded (in the example shown in
[0218] The MCU and the Secure Element can generate the same well-known pseudo random number if they have the following information: [0219] The SSD base keys; [0220] The AID of the application (on a Java Card, this will be an applet) requesting to open the SCP; and, [0221] The sequence counter used in session keys calculation.
[0222] The MCU stores scripts that are generated by the TSM using SCP02i55: [0223] Keys are securely hosted by the TSM; [0224] The script contains APDUs for authentication; and, [0225] Commands required for LOCK mechanisms.
[0226] The last step describes the resultant action: activating one application at a time. To do so, the receiving entity: [0227] LOCKS previously activated application [0228] UNLOCKS the application to activate,
using GPS SSD APIs.
[0229] Furthermore, the FCI of the PPSE and the PSE applications are updated with activated application AID. To apply such a resultant action, the receiving entity registers all the applications which should have their state modified.
[0230]
[0231] Similar to the example shown in
[0232] Also shown in
[0233] In another example embodiment, Global Lock privileges (from GPS standards) are assigned to the PPSE as shown in
[0239] Further implications of the embodiment shown in
[0240] In
[0241] Under a different SSD for utilities 1303, there are installed payment packages for various schemes (for example, Visa, MasterCard, Amex) 1314. The payment packages are instantiated under various SSDs associated with a financial institution, for example, a bank. In
[0242] The sequence diagram 1400 shown in
[0247] In
[0248] In the embodiment shown in
[0249] In the example shown in
[0254] The script contains the APDU commands for Authentication using the SSD 1302 keyset. The secure channel used is SCP02i55. The security level is set to AUTHENTICATED to allow the MCU to add the SET ACTIVE APPLICATION command at the end of the script.
[0255] The PPSE implements the business rule for selection processes for all banking applications, both for contact and contactless transactions.
[0261] Further, Both the PSE and the PPSE have Global Lock privilege, and they both require authentication to use the lock features.
[0262]
[0267] The impact on the MCU for the process shown in
[0268] Throughout the process shown in
[0269] In an example embodiment, as shown in
[0275] In the example embodiment shown in
[0276]
[0281] In the embodiment depicted in
[0282] Throughout the process shown in
[0283] The script stored contains the APDU commands for authentication using the custom SSD keyset. The secure channel 1844, 1846, 1848 used is SCP02i55. The security level is set to AUTHENTICATED to allow the MCU to add appropriate set of commands. As the AID of the targeted application enters in the computation of SCP02, 4 different types of scripts are maintained: [0284] For LOCKing [0285] For UNLOCKing; [0286] For UPDATING the PPSE FCI; and [0287] For UPDATING the PSE payment directory.
[0288] All 4 scripts may be sent in the same sequence: [0289] 1st Script content: (LOCK/deselected banking app): [0290] SELECT SSD [0291] INITIALIZE UPDATE [0292] EXTERNAL AUTHENTICATE [0293] SET STATUS (APPLICATION LOCKED); [0294] 2nd Script content: (UNLOCK/Selected banking app): [0295] SELECT SSD [0296] INITIALIZE UPDATE [0297] EXTERNAL AUTHENTICATE [0298] SET STATUS (APPLICATION UNLOCKED); [0299] 3rd Script content: (UPDATE PPSE FCI): [0300] SELECT PPSE [0301] INITIALIZE UPDATE [0302] EXTERNAL AUTHENTICATE [0303] UPDATE FCI (FCI CONTENT with AID); [0304] 4th Script content: (UPDATE PSE PAYMENT DIRECTORY): [0305] SELECT PSE [0306] INITIALIZE UPDATE [0307] EXTERNAL AUTHENTICATE [0308] UPDATE PAYMENT DIRECTORY (AID).
[0309]
[0317] Example of script to use for 4 selections:
TABLE-US-00001 Script 3 Script 4 Counter Script 1 Script 2 (UPDATE (UPDATE Value (LOCK) (UNLOCK) PPSE) PSE) 1st selection 1 2.sup.nd selection 2 3.sup.rd selection 3 4.sup.th selection 4
[0318] Every script is used.
[0319] In another example, it is possible for the scripts to share the same keyset. In such circumstances, the sequence counter is shared by all the scripts so each script needs to have a sequence counter increased by 1.
TABLE-US-00002 Script 3 Script 4 Counter Script 1 Script 2 (UPDATE (UPDATE Value (LOCK) (UNLOCK) PPSE) PSE) 1st selection 1 X X X 2 X X X 3 X X X 4 X X X 2nd selection 5 X X X 6 X X X 7 X X X 8 X X X
[0320] Scripts marked with a X are discarded (or not generated by the TSM) because the sequence counter is not applicable.
[0321] Performing one selection consumes 8 scripts (4 LOCKs and 4 UNLOCKs) per banking application and 8 scripts per selection app (4 PPSE and 4 PSE).
[0322]
[0327] The MCU implements the business rule, which implies having an up-to-date registry of the activated/deactivated applications, and implies having the MCU building scripts for both LOCK/UNLOCK mechanisms and the PPSE and PSE update. The authentication scripts use ISD keys, which are the most sensitive keys of the secure element as they can grant card content management capabilities. In GPS, the minimum security level of the ISD mandates that the script is obtained only from the TSM and not appended in the MCU. Further, a large number of scripts may need to be stored for this example implementation. However, if the MCU is not a secured device, having such responsibilities may require additional security checks.
[0328] The script stored contains the APDU commands for Authentication using the custom SSD 2008 keyset. The secure channel 2016, 2018, 2020, 2022 used is SCP02i55. The security level is set to AUTHENTICATED+MAC+ENCRYPTION by the ISD 2006 (which has the Global Lock (GL) privilege). The MCU is not capable of appending the script with new commands, so the LOCK and UNLOCK commands need to be generated by the TSM.
[0329] Throughout the process shown in
[0330] As previously discussed, in embodiments, scripts which are used to perform a selection of a VCP cannot be reused, and may be discarded. This requires replenishment of the scripts to allow a user of a DTC with a plurality of VCPs to change between personalities represented by the VCPs.
[0331] In an embodiment, scripts are replenished when the number of available scripts falls to a predetermined threshold. The cardholder can be notified by a warning signal on the DTC, such as an icon on the DTC display, or by an audible alarm. The cardholder may also be warned by means off the card, such as an SMS to their mobile phone.
[0332] The cardholder can replenish scripts by sending a request to a TSM via a mobile phone, an ATM, an EFTPOS/POS terminal, or some other suitable means, whereupon the TSM can use a keyset specific to the cardholder's DTC (for example, the keyset may be specific to the EMV on the DTC) to generate new scripts. The scripts can be sent securely via the means (mobile phone, ATM, EFTPOS/POS) to be downloaded into the MCU of the DTC.
[0333] It will be appreciated that the scripts, having been created with the keyset specific to the cardholder's DTC, cannot be used with another DTC. In this regard, scripts which are intercepted by a third party cannot be maliciously used to operate other VCPs on another DTC.
[0334]
[0344] Throughout this specification and the claims which follow, unless the context requires otherwise, the word comprise, and variations such as comprises and comprising, will be understood to imply the inclusion of a stated integer or step or group of integers or steps but not the exclusion of any other integer or step or group of integers or steps.
[0345] The reference to any prior art in this specification is not and should not be taken as an acknowledgement or any form of suggestion that the prior art forms part of the common general knowledge.