SELECTING AN APPLICATION ON A CARD
20190147437 · 2019-05-16
Inventors
Cpc classification
G06K19/07707
PHYSICS
G06K19/07715
PHYSICS
G06K7/0065
PHYSICS
International classification
G06Q20/34
PHYSICS
G06K19/077
PHYSICS
Abstract
A card includes a secure element hosting a plurality of applications, at least one external interface and a user interface having user-selectable modes. Each mode is associated with multiple applications. A store at the secure element holds response data for responding to the external card reader and correspondence data. The response data includes data about the applications hosted by the card and the correspondence data indicates, for each mode, a correspondence between the mode and the response data to be sent for that mode. The card allows a user to select one of the plurality of modes for use when the card next communicates with the external reader. The card stores a mode indicator indicative of a mode selected by the user at the user interface and stores a usage indicator indicative of whether the card has communicated with an external reader since the mode indicator was stored.
Claims
1. A card comprising: a secure element (20) which is capable of hosting a plurality of applications (23); at least one external interface (12, 14) configured to communicate between the secure element and an external card reader (50); a user interface (30, 35) having a plurality of user-selectable modes, where each mode is associated with a number N of the applications (23), where N>0; a store at the secure element configured to hold response data (26) for use when responding to the external card reader (50) and correspondence data (28), wherein the response data (26) comprises data about the applications (23) hosted by the card and the correspondence data (28) indicates, for each of the modes, a correspondence between the mode and the response data (26) to be sent for that mode; wherein the card is configured to allow a user to select one of the plurality of modes for use when the card next communicates with the external reader (50), the card being configured to: store a mode indicator (29A) indicative of a mode selected by the user at the user interface (35); store a usage indicator (29B) indicative of whether the card has communicated with an external reader since the mode indicator was stored; update the value of the usage indicator (29B) when the card has communicated with an external reader; and send response data for the selected mode based on a value of the usage indicator (29B) when the card communicates with the external reader (50).
2. A card according to claim 1 which is configured to, when the secure element (20) communicates an external card reader (50): check the value of the usage indicator (29B) and: if the usage indicator (29B) indicates that the card has not communicated with an external reader since that mode was selected, to send the response data (26) corresponding to the user-selected mode via the external interface (12, 14) and not to send the response data (26) corresponding to the non-selected modes; if the usage indicator (29B) indicates that the card has communicated with an external reader since that mode was selected, to not send the response data (26) corresponding to the user-selected mode via the external interface (12, 14).
3. A card according to claim 1, wherein the correspondence data (28) is a table and the mode indicator (29 A) is an index value which indicates an entry in the table of correspondence data (28).
4. A card according to claim 1, wherein the response data (26) comprises a set of records or templates for the applications (23) hosted by the card and the correspondence data (28) indicates, for each of the modes, a particular record or template to be sent for that mode.
5. A card according to claim 1, wherein the at least one external interface comprises at least one of a contact-based external interface (12) and a contactless external interface (14).
6. A card according to claim 5 wherein the correspondence data (28) comprises: first correspondence data which indicates, for each of the modes, a correspondence between the mode and the response data (26A) for use with communication via the contact-based external interface (12); second correspondence data which indicates, for each of the modes, a correspondence between the mode and the response data (26B) for use with communication via the contactless external interface (14).
7. A card according to claim 6 wherein the first correspondence data is for a Payment System Environment, PSE, and the second correspondence data is for a Proximity Payment System Environment, PPSE.
8. A card according to claim 1, wherein the secure element (20) is configured to only send the response data (26) corresponding to the user-selected mode via the external interface (12, 14) and not to send the response data (26) corresponding to the non-selected modes when the secure element (20) communicates with the external card reader (50).
9. A card according to claim 1, wherein the secure element (20) is configured to perform authentication with the external card reader (50) when a change is made to the response data via the external interface (12, 14) and wherein the secure element (20) is not configured to perform authentication with the user interface processor (31) when a new mode is signalled to the secure element (20) via the internal interface (38).
10. A card according to claim 1, which is also configured to operate in a mode in which, when the secure element communicates with the external card reader (50), the secure element (20) is configured to send the response data (26) corresponding to all of the applications supported by the card.
11. A card according to claim 1, wherein the mode indicator (29 A) and the usage indicator (29B) are stored together as a single data byte, with the mode indicator (29 A) comprising a first nibble of the data byte and the usage indicator comprising a second nibble of the data byte.
12. A method of operating a card comprising a secure element (20), at least one external interface (12, 14) to communicate between the secure element and an external card reader (50) and a user interface (35), the method comprising: hosting a plurality of applications (23) on the secure element; storing at the secure element response data (26) for use when communicating with the external card reader (50) and correspondence data (28), wherein the response data (26) comprises data about the applications (23) hosted by the card and the correspondence data (28) indicates, for each of the modes, a correspondence between a mode and the response data (26) to be sent for that mode; determining a mode selected by a user at the user interface (35), wherein the user interface has a plurality of user-selectable modes, each mode associated with a number N of the applications (23), where N>0; storing a mode indicator (29A) indicative of the mode selected by the user at the user interface (35); storing a usage indicator (29B) indicative of whether the card has communicated with an external reader since the mode indicator was stored; updating the value of the usage indicator (29B) when the card has communicated with an external reader; and sending response data for the selected mode based on a value of the usage indicator (29B) when the card communicates with the external reader (50).
13. A method according to claim 12 wherein sending response data for the selected mode based on a value of the usage indicator (29B) comprises: checking the value of the usage indicator (29B) and: if the usage indicator (29B) indicates that the card has not communicated with an external reader since that mode was selected, sending the response data (26) corresponding to the user-selected mode via the external interface (12, 14) and not sending the response data (26) corresponding to the non-selected modes; if the usage indicator (29B) indicates that the card has communicated with an external reader since that mode was selected, not sending the response data (26) corresponding to the user-selected mode via the external interface (12, 14).
14. A method according to claim 12 wherein the response data (26) comprises a set of records or templates for the applications (23) hosted by the card and the correspondence data (28) indicates, for each of the modes, a particular record or template to be sent for that mode.
15. A method according to claim 12, wherein the correspondence data (28) comprises: first correspondence data which indicates, for each of the modes, a correspondence between the mode and the response data (26A) for use with communication via a contact-based external interface (12); second correspondence data which indicates, for each of the modes, a correspondence between the mode and the response data (26B) for use with communication via a contactless external interface (14).
16. A card according to claim 2, wherein the correspondence data (28) is a table and the mode indicator (29 A) is an index value which indicates an entry in the table of correspondence data (28).
17. A card according to claim 2, wherein the response data (26) comprises a set of records or templates for the applications (23) hosted by the card and the correspondence data (28) indicates, for each of the modes, a particular record or template to be sent for that mode.
18. A card according to claim 3, wherein the response data (26) comprises a set of records or templates for the applications (23) hosted by the card and the correspondence data (28) indicates, for each of the modes, a particular record or template to be sent for that mode.
19. A card according to claim 2, wherein the at least one external interface comprises at least one of a contact-based external interface (12) and a contactless external interface (14).
20. A card according to claim 3, wherein the at least one external interface comprises at least one of a contact-based external interface (12) and a contactless external interface (14).
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Embodiments of the invention will be described, by way of example only, with reference to the accompanying drawings in which:
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
DETAILED DESCRIPTION
[0061]
[0062] The secure element 20 comprises a processor 21 and storage 22. The secure element 20 is connected to at least one external interface 12, 14 for communicating with an external card reader 50. The external interface may be a contact interface 12 or a contactless interface 14. The secure element 20 may be provided with just a contact interface 12 or just a contactless interface 14, or the secure element 20 may be provided with both a contact interface 12 and a contactless interface 14. Communication between the card 10 and the external card reader 50 may be authenticated, or the communication may not be authenticated.
[0063] Communication between the secure element 20 and the user interface section 30 via the internal interface 38 can also be in the form of ISO 7816 Application Protocol Data Units (APDU). In effect, the user interface section 30 operates as a specialised card reader integrated into the card 10.
[0064] The user interface processor 31 executes an operating system 33. The operating system 33 allows a user of the card 10 to select an operating mode. The card may support a total of M operating modes, where M is an integer greater than or equal to I. For example, M=5. Each of the M operating modes can correspond to a number N of applications 23 hosted by the secure element 20, where N is an integer, and NO. In a simplest case of a card with a single external interface a mode can correspond to a number N of applications for use by that single external interface. In a case of a card with multiple interfaces, such as a contact external interface 12 and a contactless external interface 14, a mode can correspond to a number N.sub.CT of applications for use by the contact interface 12 and a number N.sub.CTL Of applications for use by the contactless interface 14. For example: operating mode 1 may make available a credit application via the contact interface and a credit application via the contactless interface; operating mode 2 may make available a debit application via the contact interface and no application via the contactless interface. An operating mode may make multiple applications available for use by an external interface.
[0065] The secure element 20 can store a plurality of applications 23.
[0066] The secure element 20 stores a mode indicator 29A. The mode indicator 29A is indicative of an operating mode selected by a user via the user interface section 30. The secure element 20 stores a usage indicator 29B. The usage indicator 29B is indicative of whether the card has communicated with an external reader since the mode indicator was stored.
[0067] The secure element 20 also stores correspondence data, or mapping data, 28 which indicates, for each of the modes, a correspondence (mapping) between the mode and the response data 26A, 26B which should be sent to a card reader when the secure element 20 is interrogated for information about applications supported by the card. The mode indicator 29A, usage indicator 29B and the correspondence data 28 may be stored within a functional block 27 which will be called a user interface Application 27, or an LED Card Interface (LCI) Application 27. The LCI Application 27 has an Application Identifier (AID) which is different to the AIDs of other applications on the secure element 20. The user interface processor 31 can communicate with the LCI Application 27 by sending an APDU with the AID of the LCI Application 27.
[0068]
[0069] The method comprises storing response data at block 201 and storing correspondence data at block 202. The response data and correspondence data are stored at the secure element 20. Blocks 201 and 202 can be performed during a card personalisation stage before the card is issued to a user. The remaining blocks 203-215 are performed during use of the card. Blocks 203-215 can be performed repeatedly.
[0070] At block 203 a user interacts with the user interface 30 to select a mode. This process is described in more detail below. The user interface 30 sends an indication 204 of the user-selected mode to the secure element 20. This communication can be in the form of an ISO 7816 APDU which carries the AID of the LCI Application 27. At block 205 the secure element stores a mode indicator. The mode indicator indicates the mode selected at the user interface. In one example, the mode indicator stored at block 204 is the data element 204 received from the user interface 30. In another example, the mode indicator stored at block 205 is different to the data element 204 received from the user interface, but still is indicative of the mode selected by the user.
[0071] At block 206 the secure element stores a usage indicator 29B. The usage indicator is indicative of whether the card has communicated with an external reader since the mode indicator was stored. As the mode has just been selected at block 205, the usage indicator is set to a value indicating that no communication has yet occurred (UNUSED).
[0072] Subsequently, the card is presented to an external reader 50 and the reader 50 communicates with the card 10. The communication between the reader and the card is a transaction 210. Usually, communication between the reader and the card is in the form of pairs of command and response messages: a command sent by the reader 50 to the card 10 followed by a response sent from the card 10 to the reader 50. A command-response pair is shown as 211, 213. At block 212 the secure element 20 checks the usage indicator 29B when it receives a command 211 from the reader. The command which triggers this check can be the first command, or a later command during the transaction.
[0073] At block 213 the secure element retrieves response data based on the value of the usage indicator 29B. If the usage indicator 29B indicates that the card has not communicated with an external reader since that mode was selected, it retrieves response data corresponding to the user-selected mode and does not retrieve response data corresponding to the non-selected modes. If the usage indicator 29B indicates that the card has already communicated with an external reader since that mode was selected, it does not retrieve the response data corresponding to the user-selected mode. In this example, this is the first communication between the reader and card since the mode was selected and the usage indicator was set to a value indicating the mode is unused. The secure element retrieves response data corresponding to the mode. At block 214 the secure element sends the retrieved data to the reader 50. At block 215 the usage indicator is set to a value indicating that the mode has been used. If the card is subsequently presented to a reader without the user first selecting a mode at the user interface, block 212 will return a value indicating that the mode is used and block 213 will retrieve null data. The user has to select a mode at block 203 and trigger the blocks 204-206 to activate a mode, or re-activate the same mode.
[0074]
[0075]
The total number of LEDs, the code associated with each mode and the configuration byte are set during personalisation of the LED card application.
The functional block 27 may only return a subset of these items. The user interface OS lights the LED corresponding to the currently selected mode at 66, and then signals 67 to the secure element to power off. If the button is pressed at 68 while the user interface OS is still in state 2 (
[0079] It will be understood that
[0080] A brief overview will be provided of conventional operation between an external reader and a card before describing examples of the present disclosure.
[0081] This procedure is modified in accordance with an example of the present disclosure. A user of the card 10 can select an application which they wish to use when the card is interrogated by an external reader 50. The LCI application 27 stores an indication 29 of the user-selected mode. The procedure for communicating between an external card reader 50 and the card 10 is the same as shown in
TABLE-US-00001 mode = currently selected mode from functional block 27; if mode == 0 card behaves as a standard EMV card; else { n = get-configuration-byte; READ RECORD n from Payment System Directory; }
If the mode=0, the READ RECORD command operates in a conventional manner. It retrieves and sends records of the entire Payment System Directory to the card reader 50. If the mode=1, 2, . . . N, the READ RECORD command does not retrieve the entire Payment System Directory but, instead, retrieves a particular record within the Payment System Directory.
[0082]
[0083] This procedure is modified in accordance with an example of the present disclosure. A user of the card 10 can select an application which they wish to use when the card is interrogated by an external reader. The LCI application 27 stores an indication 29 of the user-selected mode. The procedure begins as shown in
TABLE-US-00002 mode = currently selected mode from functional block 27; if mode == 0 card behaves as a standard EMV card; else { n = get-configuration-byte; SELECT PPSE return modified FCI template; }
As with PSE, the logic uses a table 28 of correspondence data shown in
[0084] An advantage of operating in this way is that the user interface section 30 is fully isolated from the details of the different payment system environments. The user interface section 30 interacts with a single functional block (the LCI application) 27 on the secure element 20. The mapping of the operating mode to a payment application is held in the LCI application 27, within the secure environment of the secure element 20. This arrangement means that there is no requirement for the user interface section 30 to hold any information about the particular payment applications running on the secure element, such as the AID (application identifier) or cryptographic keys required in order to access payment application files. When a user selects a different application at the user interface, there is no change to data stored at the secure element, other than to store a new value of the mode selected by the user. The LCI application 27 points to existing data stored in the data structures 26A, 26B. There is no need to modify the data structures 26A, 26B. The Payment System Directory 26A under PSE and the File Control Information template 26B under PPSE can be conventional.
[0085] In addition to the user-selectable modes, the card may have a default mode, e.g. mode=0, in which when the secure element is interrogated by the external card reader 50, the secure element 20 is configured to respond in a conventional manner and send the response data corresponding to all of the applications supported by the card.
[0086]
[0087] The function get-configuration-byte performs a look-up in the table 28. The look-up location is the column PSE and the row corresponding to the value of the currently selected mode. The returned value from the cell of table 28 specifies the record in the Payment System Directory that should be sent to the card reader. The response 86 only includes that record of the Payment System Directory. The subsequent SELECT AID command 87 includes the AID of the application returned to the card reader at 86. In this way, the card reader 50 is forced to use the application selected by the user.
[0088]
[0089] Optionally, each entry in the data structure of correspondence data 28 can comprise an identifier 28D of the number of enabled applications. In the example of
[0090] Optionally, each entry in the data structure of correspondence data 28 can comprise a label 28C to that data structure entry. The label is unique within the data structure 28. The label 28C allows the data structure to be traversed (parsed) more quickly. In the example of
PPSE_label=2+5=7
and mode 2 under PSE is:
PSE_label=2+10=C.
[0091] Conveniently, in the example of
[0092] The table shown in
[0093] When a mode is selected, the correspondence data 28 is parsed to find an entry corresponding to the mode and the interface (PPSE, PSE). As explained above, in the example of
[0094] Examples have been described in which the card supports a Payment System Environment (PSE) and a Proximity Payment System Environment (PPSE). The table of
[0095] The use of correspondence data avoids the need for a link between the mode number and the order in which the response data 26A, 26B is stored. This allows all personalisation to be restricted to data stored in the secure element.
[0096] For completeness,
[0097]
[0098] The user interface section 30 of the card 10 may also allow a user to turn the contactless interface on or off. As part of the communication between the user interface section 30 and the secure element 20, the user interface section 30 may receive data which indicates whether the contactless interface should be turned on/off for the selected mode. A response from the functional block 27 can include a byte of data which indicates, for each mode, whether the contactless interface should be turned on or off. For example, each bit position of this byte can represent a mode (bit 1=mode 1, bit 2=mode 2, etc.) and the value of the bit can indicate if the contactless interface is to be turned on or off (e.g. bit=1 means contactless interface is switched on, bit=0 means contactless interface is switched off.
[0099]
[0100] Modifications and other embodiments of the disclosed invention will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of this disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.