FIELD

The present disclosure generally relates to electronic authentication systems, in particular those used for payment transactions.

BACKGROUND

Electronic authorisation systems for payment transactions use protocols such as those developed by EMVCo LLC which are published as specifications entitled “Integrated Circuit Card Specifications for Payment Systems”. These specifications are for contact cards and are publically available and are currently at version 4.3 (currently available at http://www.emvco.com/specifications.aspx?id=223). An equivalent set of specifications for contactless devices, currently at version 2.4, has also been developed by EMVCo LLC and is also publicly available.

The specifications define a set of requirements to ensure interoperability between transaction devices, e.g. integrated circuit chip cards, and Points of Interaction (POIs), e.g. card terminals, on a global basis, regardless of the manufacturer, the financial institution, or where the card is used.

It is an object of the present disclosure to provide various improvements to existing electronic authentication systems for payment transactions. For example, whilst current payment technologies such as EMV transfer issuer decision making processes to the terminal, this present disclosure, at least partially, redefines the balance between the payment device and the POI whilst also protecting against new attacks and providing new transaction opportunities between transaction device holder and merchant.

Statements

According to a first aspect of the present disclosure there is provided a transaction device for establishing a shared secret with a point of interaction (POI) over a communications network to enable encrypted communications between the transaction device and the point of interaction, the device comprising: an input arranged to receive communications from the point of interaction; a processor arranged to generate a first communication according to a Diffie-Hellman protocol; an output arranged to send the first communication to the point of interaction; wherein the processor is arranged to apply a randomly generated blinding factor, r, when generating the first communication and wherein, in response to receiving a second communication from the point of interaction at the input, the second communication having been generated according to the Diffie-Hellman protocol, the processor is arranged to apply the randomly generated blinding factor and generate a shared secret according to the Diffie-Hellman protocol in dependence on data contained within the second communication.

The transaction device according to the present aspect of the disclosure applies a modified Diffie-Hellman exchange in which the transaction device applies a random blinding factor twice within the establishment of a secure channel with the point of interaction (POI). The blinding factor is applied in the outgoing message to the POI and again on the data received from the POI. In this manner the transaction device and POI may still generate a shared secret. Additionally, the data sent by the transaction device, for example, the transaction device's public key is hidden from view. Since the factor that is applied is random subsequent transactions will not be initiated with the same initial communication from the transaction device to the POI and consequently the user of the transaction device will have privacy of movement.

Preferably, the processor is arranged to use an elliptic Diffie-Hellman protocol. The device may comprise a static public key Qc and the processor is arranged to use the public key when generating the first communication.

The transaction device may conveniently comprise a public key Qc which is the product of a private key dcand a point G on a curve that is part of an elliptic group. It is noted that point G may be arranged to be known to both the transaction device and the point of interaction prior to the first communication being generated. In other words the point G may be known within the transaction system that the transaction device is used within prior to any transaction taking place.

The processor may be arranged to calculate R=r·Qc for inclusion in the first communication. The second communication may comprise an ephemeral public key Qtof the point of interaction where Qt=dt·G and dtis an ephemeral private key of the point of interaction. The processor may be arranged to generate the shared secret by combining the public key from the second communication with private key dcand applying the blinding factor r to generate rdcdt·G.

In response to generating the shared secret, the processor may be arranged to generate a further communication to the point of interaction, the further communication comprising the public key of the transaction device, security certificates and the blinding factor r, the further communication being encrypted in dependence with the shared secret.

The processor may be arranged to calculate encryption key Kcwherein Kc=f(rdc·Qt) and to encrypt subsequent communications with the point of interaction using key Kc.

In order to preserve privacy within the system the processor, at the end of a communication session with the point of interaction, may be arranged to delete the random blinding factor and the key Kc.

Preferably, the transaction device comprises a random number generator for generating the blinding factor r.

The present disclosure extends to a mobile communications device comprising a transaction device according to the first aspect of the disclosure. The mobile communications device may comprise a secure element, the transaction device being located at least partially within the secure element.

The present disclosure also extends to a bank transaction card comprising a transaction device according to the first aspect of the present disclosure.

According to a second aspect of the present disclosure, there is provided a method of establishing a shared secret between transaction device and a point of interaction (POI) over a communications network to enable encrypted communications between the transaction device and the point of interaction, the method comprising: generating, at the transaction device, a first communication according to a Diffie-Hellman protocol; sending the first communication to the point of interaction; wherein generating the first communication comprises applying a randomly generated blinding factor, r, and wherein, in response to receiving a second communication from the point of interaction at the input, the second communication having been generated according to the Diffie-Hellman protocol, the method comprises applying the randomly generated blinding factor and generating a shared secret according to the Diffie-Hellman protocol in dependence on data contained within the second communication.

According to a third aspect, there is provided a method of detecting relay attacks between first and second devices in a communications network, comprising: sending first data from the first device to the second device; receiving a communication from the second device, the communication comprising second data generated at the second device and a time parameter related to the generation of the second data; measuring a total transmission time at the first device between sending the first data to receiving the communication; determining a further time parameter related to the generation of the second data from the measured total transmission time; determining the presence of a relay attack between the first and second devices in dependence on a comparison of the time parameter and the further time parameter.

The method according to the present aspect of the present disclosure helps mitigate against relay attacks. First and second data, such as random numbers generated at respectively the first and second devices, are exchanged between the first and second devices. Additionally the second device sends the first device the time it took to generate its random number. The first device can then measure the total time for the message exchange to take place and, based on knowledge of the transmission speeds within the communication network can derive a value for the time the second device took to generate the second data. This derived value can then be compared with the time parameter value sent by the second device in order to determine if a relay attack is occurring.

Preferably, determining the presence of the relay attack may comprise determining if a difference between the time parameter and the further time parameter exceeds a predetermined threshold.

A further communication may be received from the second device at the first device, the further communication being over an encrypted channel and comprising the first and second data and the time parameter.

Determining the presence of the relay attack may comprise checking if the first and second data in the encrypted further communication match the first data sent in the sending step and the second data received in the first receiving step. (The further communication and the information contained therein allows the first device to verify that the first data it sent was received by the second device without interference by a third party. Furthermore, the second data and time parameter are included within the further communication to allow checking against the information received in the (earlier) communication from the second device. This also allows the first device to verify that there has been no interference in the communications with the second device.)

The communication received from the second device further may comprise an estimate, from the second device, of the total transmission time. The communication received from the second device may also further comprise an estimate, from the second device, of the time to send the communication from the second device over the communications network to the first device.

The first device may comprise a point of interaction. The second device may comprise a transaction device.

The transaction device according to the third aspect of the present disclosure may comprise the transaction device according to the first aspect of the present disclosure.

According to a fourth aspect of the present disclosure, there is provided a method of detecting relay attacks between first and second devices in a communications network, comprising: receiving first data from the first device at the second device; generating second data at the second device; determining a time parameter related to the generation of the second data; sending the second data and the time parameter to the first device to enable the presence of a relay attack to be determined.

According to a fifth aspect of the present disclosure, there is provided a point of interaction arranged to detect relay attacks in a communications network between the point of interaction and a transaction device, the point of interaction comprising an input, an output and a processor and being arranged to: send first data from the output to the transaction device; receive, at the input, a communication from the transaction device, the communication comprising second data generated at the transaction device and a time parameter related to the generation of the second data; measure a total transmission time at the point of interaction between sending the first data to receiving the communication; determine a further time parameter related to the generation of the second data from the measured total transmission time; determine the presence of a relay attack between the point of interaction and the transaction device in dependence on a comparison of the time parameter and the further time parameter.

According to a sixth aspect of the present disclosure there is provided a transaction device comprising: an input arranged to receive first data from a point of interaction; processor arranged to generate second data and a time parameter related to the generation of the second data; an output arranged to output a communication to the point of interaction, the communication comprising the second data and the time parameter.

According to a seventh aspect of the present disclosure there is provided a transaction device for interacting with a point of interaction to carry out a transaction, the device comprising: an input for receiving transaction data from the point of interaction; a processor for processing received transaction data; an output for outputting transaction data to the point of interaction wherein the processor comprises a payment application for processing a transaction with the point of interaction, the payment application being arranged to output transaction data formatted according to a given data format; the processor comprises a communication module functionally disposed between the input and output and the payment application; and wherein the communication module is arranged to map transaction data received via the input to the data format of the payment application and is arranged to reformat transaction data output from the payment application to a data format suitable for the point of interaction, the reformatted data output from the payment application being sent to the point of interaction via the output.

The transaction device according to the present aspect of the disclosure comprises a communication module which is disposed between the input/output on the one hand and a payment application on the other hand. The communication module is arranged to translate transaction data sent back and forth between the payment application and a point of interaction (POI) into an appropriate data format.

Preferably the transaction device comprises an authentication module arranged to establish a secure communication channel between the payment application and the point of interaction.

The device may comprise a plurality of payment applications. A single authentication module may be shared between the plurality of payment applications. Alternatively, each payment application may comprise an authentication module.

The transaction device may comprise a system environment module arranged to determine whether a payment application is eligible for a given transaction. In the event that the device comprises multiple payment applications, the system environment module may be arranged to compile a list of eligible payment applications for the given transaction.

The system environment module may be arranged to compare transaction data received from the point of interaction and point-of-interaction functionality data received from the point of interaction against functionality of each payment application on the transaction device in order to determine eligible payment applications.

According to an eighth aspect of the present disclosure there is provided a method of a transaction device interacting with a point of interaction to carry out a transaction, the device comprising an input for receiving transaction data from the point of interaction; a processor for processing received transaction data; and an output for outputting transaction data to the point of interaction, the processor comprising a payment application for processing a transaction with the point of interaction, the payment application being arranged to output transaction data formatted according to a given data format, and the processor comprising a communication module functionally disposed between the input and output and the payment application; the method comprising: receiving transaction data at the input; mapping, at the communication module, the transaction data received via the input to the data format of the payment application; reformatting transaction data output from the payment application to a data format suitable for the point of interaction, sending the reformatted data output from the payment application to the point of interaction via the output.

According to a ninth aspect of the present disclosure there is provided a method of a point-of-interaction device carrying out a transaction with a transaction device, the method comprising: sending a point-of-interaction message to the transaction device, the point-of-interaction message comprising: a data request component, the data request component relating to a data request from the point-of-interaction device to the transaction device for data relating to the transaction and a message data component, the message data component relating to message data satisfying a previous data request from the transaction device; receiving a transaction device message from the transaction device, the transaction device message comprising: a data request component, the data request component relating to a data request from the transaction device to the point-of-interaction device for data relating to the transaction and a message data component, the message data component relating to message data satisfying the data request from the point-of-interaction device in the point-of-interaction message; completing the transaction on the basis of the exchanged messages.

The method according to the present aspect of the disclosure provides a method of sending data messages between a point of interaction device (POI) and transaction device. Such messages allow the POI to request the information it requires to process a transaction and to respond to information that the transaction device requires. In this manner only the information required (and requested) in order to enable the transaction is exchanged which means that the communications between the devices are optimised.

The method may comprise exchanging a plurality of messages with the transaction device. The method may comprise sending further point of interaction messages and receiving further transaction device messages.

The point of interaction device, when sending a further point of interaction message, may be arranged to only enclose data objects that have been requested by the transaction device in the data request component of the previous transaction device message.

The point of interaction device, when sending a further point of interaction message, may be arranged to enclose data objects in an order requested by the transaction device in previous transaction message.

According to a tenth aspect of the present disclosure there is provided a method of a transaction device carrying out a transaction with a point of interaction device, the method comprising: sending a transaction device message to the point-of-interaction device, the transaction device message comprising: a data request component, the data request component relating to a data request from the transaction device to the point-of-interaction message device for data relating to the transaction and a message data component, the message data component relating to message data satisfying a previous data request from the point-of-interaction message device; receiving a point-of-interaction message device message from the point-of-interaction message device, the point-of-interaction device message comprising: a data request component, the data request component relating to a data request from the point-of-interaction message device to the transaction device for data relating to the transaction and a message data component, the message data component relating to message data satisfying the data request from the transaction device in the transaction device message; completing the transaction on the basis of the exchanged messages.

The disclosure extends to a point of interaction (point of interaction device) and transaction device arranged to carry out the methods of the ninth and tenth aspects of the present disclosure.

According to an eleventh aspect of the present disclosure there is provided a message exchanged between first and second devices during a transaction, the message comprising: a data request component, the data request component relating to a data request from the first device to the second device for data relating to the transaction and a message data component, the message data component relating to message data satisfying a previous data request from the second device.

The present aspect of the disclosure provides a message format for exchanging messages between a point of interaction and a transaction device.

The message data component may comprise no data (e.g. the first message exchange in a series of message exchanges may comprise a data request component and an empty message data component [because there is no previous message to reply to].

According to a twelfth aspect of the present disclosure there is provided a transaction device comprising: an input and an output for communicating with a point of interaction; a processor arranged to process transaction data with the point of interaction, the processor being in communication with a data store wherein the processor is arranged to store transaction data relating to a transaction in the data store during the course of the transaction and, in response to an interruption in the transaction with the point of interaction, is arranged to retrieve transaction data stored in the data store in order to resume the transaction with the point of interaction when communications with the point of interaction are restored.

The transaction device according to the present aspect of the disclosure stores transaction data during a transaction such that in the event of an interruption in the transaction (e.g. power loss, device removal) the transaction data can be reloaded when communications are restored.

The data store may comprise a non-volatile memory module. The non-volatile memory module may comprise an EEPROM module. The non-volatile memory module may comprise a secure element and the processor is arranged to store transaction data in the secure element.

The processor may be arranged to clear the transaction data stored in the data store following completion of a transaction.

The processor may be arranged to store one or more of the following transaction data types: transaction amount, transaction items, data/time data, transaction identifier.

The transaction device may further comprise a payment application for managing the transaction on the transaction device, wherein the processor is arranged to store transaction data in response to predetermined actions or decisions taken by the payment application.

The processor may comprise a transaction device for interacting with a point of interaction to carry out a transaction according to the seventh aspect of the present disclosure.

According to further aspect of the disclosure there is provided a method of operating a transaction device, the transaction device comprising: an input and an output for communicating with a point of interaction and a processor arranged to process transaction data with the point of interaction, the processor being in communication with a data store, the method comprising: storing transaction data relating to a transaction in the data store during the course of the transaction and, in response to an interruption in the transaction with the point of interaction, retrieving transaction data stored in the data store in order to resume the transaction with the point of interaction.

The disclosure extends to a carrier medium for carrying a computer readable code for controlling a transaction device to carry out the method of any the second, third, fourth, eighth, tenth and further aspects of the disclosure.

The disclosure extends to a non-transitory computer-readable storage medium storing executable computer program instructions implementing any of the second, third, fourth, eighth, tenth and further aspects of the disclosure.

In the above aspects of the present disclosure the transaction device may comprise a bank transaction card or a mobile communications device comprising a secure element. The point of interaction (POI) may comprise a point of sale terminal.

