Type 4 NFC tags as protocol interface
AssigneeVisa International Service Association
InventorsMustafa Top, Kiushan Pirzadeh
Life of this patent
Estimating the term…
Abstract
NFC terminal devices and corresponding integrated circuit cards (ICCs) use NFC Type 4 tags as a protocol interface for complex or encrypted communication protocols that are not natively supported by the NFC terminal devices. A smartphone acting as an NFC terminal may block applications and/or protocols other than NFC data exchange formatted (NDEF) messages. An ICC applet supporting an advanced function uses designated memory locations for the transfer of commands normally supported at an application level. Both the terminal side and the ICC applet may check the designated memory locations for updated data in the absence of protocol-level message controls.
Claims17
A method of communicating application data between an NFC terminal and an integrated circuit card (ICC), the method including:
- designating a first memory location on the ICC and a second memory location on the ICC, the first memory location designated for storing a one command application data unit (C-APDU), the second memory location designated for storing one response application data unit (R-APDU);
- writing, by the application on the NFC terminal, a first C-APDU to the first memory location, the first C-APDU containing a first sequence number;
- reading, by the application on the NFC terminal from the second memory location, a first R-APDU, the first R-APDU containing a second sequence number, the second sequence number greater than the first sequence number;
- responsive to the second sequence number in the R-ADPU being greater than the first sequence number, processing the R-APDU at the application on the NFC terminal;
- generating, by the application on the NFC terminal, a subsequent C-APDU;
- writing, by the application on the NFC terminal, the subsequent C-APDU to the first memory location on the ICC;
- reading the second memory location on the ICC via the application on the NFC terminal after writing the subsequent C-APDU to the first memory location of the ICC;
- comparing a contents of the second memory location to the first R-APDU;
- and
- repeating the steps of reading the contents of the second memory location on the ICC and comparing the contents of the second memory to the first R-APDU until the contents of the second memory do not equal the first R-APDU;
- processing the contents of the second memory as a second R-APDU;
- and
- completing communication between the application on the NFC terminal and an applet on the ICC using successive data transfers via the first memory location for data for C-APDU data sent from the NFC terminal to the ICC and the second memory location for R-APDU data read from the ICC.
A system for transferring application session data during an application session between an NFC terminal and an integrated circuit card (ICC), comprising:
- a first memory location on the ICC that stores data accessible to both the ICC and the NFC terminal, the first memory location used by convention for storing a command application data unit (C-APDU);
- a second memory location on the ICC that stores data accessible to both the ICC and the NFC terminal, the second memory location used by convention for storing a response application data unit (R-APDU);
- the NFC terminal executing an application, the application performing steps:
- generating a unique number associated with the application session;
- generating a first C-APDU;
- writing the first C-APDU to the first memory location;
- reading the second memory location;
- determining that the second memory location contains an R-APDU;
- and
- processing the R-APDU, and
- an applet on the ICC, the applet performing the steps:
- checking the first memory location for a change from a previous value;
- responsive to a new value at the first memory location, processing the contents of the first memory location as a C-APDU;
- generating an R-APDU responsive to the C-APDU;
- and
- writing the R-APDU to the second memory location on the ICC, overwriting any previous data in the second memory location.
A method of communicating application protocol data between an NFC terminal and an integrated circuit card (ICC), the method including:
- reserving a first memory location on the ICC for receiving data from the NFC terminal;
- reserving a second memory location on the ICC for sending data to the NFC terminal;
- activating a payment applet on the ICC responsive to data being written to the first memory location, wherein activating the payment applet on the ICC comprises setting a flag on the first memory location to activate the payment applet responsive to receipt of data at the first memory location;
- i) responsive to determining a contents of the first memory location is different from a previous contents of the first memory location, parsing the memory contents of the first memory location into a command application protocol data unit (C-APDU);
- ii) processing the C-APDU via the payment applet to generate a response application protocol data unit (R-APDU);
- and
- writing the R-APDU to the second memory location, wherein the steps i and ii are repeated to a programmatic end of a data processing function of the applet with the NFC terminal.
Dependencies are inferred from the claim text.