Methods and devices for secure transmission of data between a terminal device and a card reader, and corresponding computer program products
Patent Information
- Application Number
- DE602018085466
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-08-10
- Filing Date
- 2018-08-09
- Publication Date
- 2025-09-10
- Estimated Expiration
- 2038-08-09
AI Technical Summary
The transmission of personal identification elements, such as PIN codes, entered on a merchant's mobile terminal to a card reader is insecure, posing a weak link in the payment transaction process, as the terminal often lacks the necessary security features to ensure data integrity.
A method involving a card reader and an authentication server shares an authentic encryption key to securely exchange encryption keys with the terminal, using asymmetric encryption protocols and potentially a Diffie-Hellman algorithm, ensuring that only the intended public keys are used for data encryption, thereby securing the transmission of personal identification data.
This approach ensures secure exchange of encryption keys between the card reader and the terminal, preventing interception or substitution by third parties, thus enhancing the security of personal identification data transmission and ensuring the integrity of payment transactions.
Description
1 DOMAINE TECHNIQUE
[0001] The field of the invention is that of the processing of transactional data implemented in particular within the framework of a payment transaction.
[0002] The invention relates more particularly to securing the transmission of transactional data (for example a PIN code (for "Personal Identification Number" in English)) within the framework of a transaction, in particular a payment transaction, carried out jointly by a communication terminal allowing the entry of data and by a card reader, in particular a bank card reader, connected to this communication terminal.
[0003] The invention has numerous applications, notably but not exclusively in commercial fields involving payment in a mobile situation for which pairing between a bank card reader (or payment terminal) and a communication terminal is of interest. 2 ARRIERE-PLAN TECHNOLOGIQUE
[0004] Payment in mobile situations is a major economic development issue.
[0005] More specifically, there are a growing number of situations in which a professional needs to be able to carry out a payment transaction (for example, a payment by bank card) while on the move. This situation is encountered, for example, by professionals who are constantly on the move for their professional activity: self-employed professionals, private drivers, etc.
[0006] Such professionals in particular, whom we hereinafter call merchants in the broad sense, need to receive payments from their customers but do not necessarily have the possibility of equipping themselves with a stand-alone payment terminal with mobile operating capabilities to receive such payments (for example because of the price of such terminals).
[0007] For this reason, alternative solutions have been developed. This is the case, for example, of the solutions proposed by the company Square ™< . A bank card reader is thus proposed which is plugged into the jack socket of a communications terminal. Such a bank card reader is for example presented in patent document US9324100. This patent document describes more particularly a card reader positioned in a small housing. A magnetic reading head is configured to be coupled to a mobile device and the card reader has a slot for scanning a magnetic stripe of a card. The reading head reads the data on the magnetic stripe and produces a signal representative of the data stored on the magnetic stripe. An output socket, here of the jack type, is adapted to be inserted into a port of the mobile device and deliver an output signal to the mobile device in question.Alternatively, connection solutions via a USB port (for "Universal Serial Bus" in English) are offered instead of using the jack port.
[0008] Other solutions exist, notably to allow the use of a chip card instead of (or in addition to) a magnetic stripe card.
[0009] Furthermore, some solutions do not require a physical connection between the communication terminal and the card reader: a wireless connection (for example, Bluetooth) is possible. The disadvantage is that the card reader must be equipped with its own power supply.
[0010] These solutions allow the merchant to receive a payment via their mobile terminal (for example a smartphone).
[0011] However, this solution presents a problem linked to the absence of, or weak, security of the payment data entered on the merchant's own terminal.
[0012] Indeed, with certain types of magnetic stripe bank cards, a handwritten signature is required to validate the payment. In this case, the user uses a stylus and / or a finger to sign on the screen of the merchant's communication terminal. With other types of magnetic stripe bank cards, as well as with chip cards, a personal identification code, or PIN (for "Personal Identification Number"), is required to validate the transaction. To enter this PIN, the user uses a virtual keyboard displayed on the communication terminal screen to enter their PIN.
[0013] Such personal identification (PIN code or signature) entered on the terminal screen is then transmitted to the card reader which manages the end of the transaction securely.
[0014] However, even if such a card reader has all the attributes allowing the secure management of the transaction in question (for example by integrating the required functionalities within a security element (or "secure element" in English) within the meaning of the PCI PTS standard (for "Payment Card Industry PIN Transaction Security" in English)), the merchant's mobile terminal does not systematically integrate such elements.
[0015] In this way, the transmission of the personal identification element entered on the terminal screen to the card reader potentially becomes a weak link in the secure transaction processing chain, as a third party could intercept the personal identification element in question.
[0016] There is thus a need for a solution for securing the transmission of data, for example the personal identification element, entered on a terminal (in particular a mobile terminal) to the card reader finalizing the transaction in order to guarantee the integrity of the payment transaction in question. Documents EP2874421, US2013 / 119130 and US2013 / 328801 are considered to be state of the art, 3 RESUME
[0017] The invention is defined in the claims.
[0018] According to the invention, a method is thus proposed for securely receiving, in a card reader, at least one item of data entered on a terminal connected to the card reader. Such a method comprises the following steps, implemented by the card reader: obtaining a card reader encryption key, called reader key; encrypting the reader key, using an authentic encryption key, called authentic key, shared between the card reader and an authentication server, delivering an encrypted reader key; sending, to the authentication server, the encrypted reader key for transmission of the reader key from the authentication server to the terminal; receiving an encrypted key sent by the authentication server, called encrypted terminal key, the encrypted terminal key resulting from an encryption of an encryption key obtained by the authentication server, called terminal key, using the authentic key; and receiving at least one encrypted data item sent by the terminal, resulting from an encryption using at least the reader key and the terminal key of the at least one data item.
[0019] Thus, the invention proposes a new and inventive solution to enable the secure reception, by the card reader, of data (for example a personal identification element such as a PIN code, signature, etc.) entered on the terminal to which the card reader is connected (for example via an entry on a touch screen of the terminal) so that the card reader in question can finalize the payment transaction.
[0020] To do this, the claimed technique proposes to rely on an authentic encryption key, shared between the card reader and an authentication server of the card reader in question, in order to allow the card reader and the terminal to securely exchange encryption keys (i.e. the reader and terminal keys) allowing them to secure their subsequent exchanges.
[0021] For example, the authentic key is shared at the factory during the registration step of the newly manufactured card reader on the authentication server. This ensures that the authentic key cannot be intercepted by a third party.
[0022] In one embodiment, the reader key and the terminal key are public keys for implementing an asymmetric encryption protocol between the card reader and the terminal, the at least one encrypted data resulting from an encryption implementing the asymmetric encryption protocol.
[0023] Thus, the data exchanged between the terminal and the card reader are encrypted using a robust and efficient technique based on the generation of a pair of keys, public and private, on either side of the transmission link to be secured, the public keys being exchanged between the two entities in question.
[0024] Furthermore, the claimed method makes it possible to guarantee, via the use of the authentic key, that no third party can intercept one of the public keys in question and substitute a fraudulent public key for it (such a fraudulent public key used by the card reader and / or the terminal allowing the third party (knowing the associated private key) to decrypt the messages encrypted using the fraudulent public key in question).
[0025] In one embodiment, the method further comprises a step of obtaining at least one secret symmetric key shared between the card reader and the terminal by implementing a Diffie-Hellman type algorithm, at least one data exchange between the card reader and the terminal for the implementation of the algorithm using the asymmetric encryption protocol. The at least one encrypted data results from additional encryption using the secret symmetric key.
[0026] This increases the security of data exchange between the card reader and the terminal.
[0027] In one embodiment, the at least one piece of data is personal identification data entered on a touchscreen of the terminal.
[0028] The card reader then receives the personal identification data (e.g. PIN code or signature) entered on the terminal screen in order to complete the payment transaction securely.
[0029] In another embodiment of the invention, a method is proposed for securing a reception, in a card reader, of at least one piece of data entered on a terminal connected to the card reader. Such a security method comprises the following steps, implemented by an authentication server of the card reader: obtaining a terminal encryption key, called terminal key; encrypting the terminal key using an authentic encryption key, called authentic key, shared between the card reader and the authentication server, delivering an encrypted terminal key; sending the encrypted terminal key to the card reader; receiving an encrypted reader key, sent by the card reader, the encrypted reader key resulting from encrypting a card reader encryption key, called reader key, using the authentic key; and transmitting the reader key to the terminal.
[0030] Thus, the invention also relates to a method for securing the reception, by the card reader, of data (for example a personal identification element such as a PIN code, signature, etc.) entered on the terminal to which the card reader is connected (for example via an entry on a touch screen of the terminal) in order to be able to finalize the payment transaction.
[0031] To do this, the claimed method proposes that a card reader authentication server ensures the exchange of encryption keys (i.e., the reader and terminal keys) between the card reader and the application in a secure manner based on an authentic key shared between the card reader and the server in question. As discussed above, the sharing of the authentic key in question is carried out, for example, in the factory, during a registration step on the card reader authentication server. In this way, it is ensured that the authentic key cannot be intercepted by a third party, thereby guaranteeing the secure exchange of the encryption keys used by the card reader and the terminal for their exchanges.
[0032] In one embodiment, obtaining comprises receiving the terminal key sent by the terminal.
[0033] This allows the terminal to generate an encryption key for each new communication session with the card reader.
[0034] In other embodiments, such a terminal key may be predefined and previously stored in the authentication server via a step of referencing the terminal to the server. In this case, the key is obtained by the server via an identification of the terminal and the reading in memory of the corresponding terminal key.
[0035] In one embodiment, at least the transmission of the reader key and / or the reception of the terminal key implements a TLS protocol (for “Transport Layer Security” in English).
[0036] Thus, the exchange of information between the terminal and the authentication server is also secure even if the terminal does not share the authentic key with the authentication server.
[0037] In one embodiment of the methods for secure reception and securing a reception, the authentic key is a basic authentic key. The step of encrypting the reader key, respectively the terminal key, comprises: an update of a key serial number delivering an updated key serial number; and a generation of an updated authentic key based on the base authentic key and the updated key serial number, the encrypted reader key, respectively the encrypted terminal key, being generated using the updated authentic key.
[0038] The step of sending the encrypted reader key to the authentication server, respectively the encrypted terminal key to the card reader, includes sending the updated key serial number.
[0039] Thus, the authentic key is updated before each encryption of the reader key by the card reader, or of the terminal key by the authentication server (for example at the start of each communication session between the card reader and the terminal in practice). The updated key serial number is then transmitted with the encrypted key (encrypted reader key or application key) in order to allow the device receiving the encrypted key to update the authentic key appropriately to verify the validity of the encrypted key in question.
[0040] In one embodiment of the methods for secure reception and securing a reception, the step of encrypting the reader key, respectively the terminal key, comprises a generation, using the authentic key or the updated authentic key, of a message authentication code for the reader key, respectively the terminal key. The step of sending the encrypted reader key to the authentication server, respectively the encrypted terminal key to the card reader, comprises a sending of the message authentication code.
[0041] Thus, the encrypted reader or terminal key is generated using a proven and effective technique.
[0042] In one embodiment of the methods for secure reception and securing a reception, the step of sending the encrypted reader key to the authentication server, respectively the encrypted terminal key to the card reader, comprises sending the reader key, respectively the terminal key. The step of receiving the encrypted terminal key by the card reader, respectively the encrypted reader key by the authentication server, comprises: a generation of an updated candidate authentic key based on the base authentic key and the updated key serial number sent by the authentication server, respectively the card reader; a generation, using the updated candidate authentic key, of a candidate message authentication code of the terminal key sent by the authentication server, respectively the reader key sent by the reader; and a comparison of the candidate message authentication code and the message authentication code sent by the authentication server, respectively by the card reader; the terminal key sent by the authentication server, respectively the reader key sent by the reader, being accepted by the card reader, respectively by the authentication server, when the comparison indicates that the candidate message authentication code is identical to the message authentication code sent by the authentication server, respectively the card reader.
[0043] Thus, the comparison between the candidate message authentication code, generated using the basic authentic key (shared between the card reader and the authentication server), and the received message authentication code, makes it possible to validate that the received reader key, respectively the received terminal key, is not a key substituted by a third party, but rather the key that the card reader, respectively the authentication server, sent.
[0044] In one embodiment of the methods for secure reception and securing a reception, the step of transmitting, to the terminal, the reader key is implemented when the comparison indicates that the candidate message authentication code is identical to the message authentication code sent by the card reader.
[0045] Thus, the authentication server only sends the reader key to the terminal when the validity of the reader key in question is proven.
[0046] In one embodiment of the methods for secure reception and securing reception, the terminal is a smartphone.
[0047] In one embodiment of the methods for secure receipt and securing a receipt, the card reader complies with a PCI PTS standard for processing payment transaction data.
[0048] The invention also relates to a computer program comprising program code instructions for implementing a secure reception method or a method for securing a reception (according to any of its different embodiments), when executed on a computer.
[0049] In another embodiment of the invention, a device is provided for securely receiving, in a card reader, at least one piece of data entered on a terminal connected to the card reader. Such a device comprises a reprogrammable computing machine or a dedicated computing machine configured to: obtaining an encryption key from the card reader, called the reader key; encrypting the reader key, using an authentic encryption key, called the authentic key, shared between the card reader and an authentication server, delivering an encrypted reader key; sending, to the authentication server, the encrypted reader key for transmission of the reader key from the authentication server to the terminal; receiving an encrypted key sent by the authentication server, called the encrypted terminal key, the encrypted terminal key resulting from an encryption of an encryption key obtained by the authentication server, called the terminal key, using the authentic key; and receiving at least one encrypted data item sent by the terminal, resulting from an encryption using at least the reader key and the terminal key of the at least one data item.
[0050] Such a secure reception device is in particular capable of implementing the secure reception method according to the invention (according to any one of the different embodiments mentioned above).
[0051] Thus, the features and benefits of this device are the same as those of the secure reception method described above. Therefore, they are not detailed further.
[0052] In another embodiment of the invention, a device is proposed for securing reception, in a card reader, of at least one piece of data entered on a terminal connected to the card reader. Such a device comprises a reprogrammable computing machine or a dedicated computing machine configured to: obtaining a terminal encryption key, called terminal key; encrypting the terminal key using an authentic encryption key, called authentic key, shared between the card reader and the authentication server, delivering an encrypted terminal key; sending, to the card reader, the encrypted terminal key; receiving an encrypted reader key, sent by the card reader, the encrypted reader key resulting from an encryption of an encryption key of the card reader, called reader key, using the authentic key; and transmitting, to the terminal, the reader key.
[0053] Such a device for securing a reception is in particular capable of implementing the method for securing a reception according to the invention (according to any one of the different embodiments mentioned above).
[0054] Thus, the characteristics and advantages of this device are the same as those of the reception security method described previously. Consequently, they are not detailed further. 4 LISTE DES FIGURES
[0055] Other characteristics and advantages of the invention will appear on reading the following description, given as an indicative and non-limiting example, and the appended drawings, in which: there figure 1 illustrates a card reader connected to a terminal in communication with an authentication server of the card reader according to an embodiment of the invention; the figure 2 illustrates steps of a secure reception process, by the card reader of the figure 1 , of at least one data item entered on the terminal to which the card reader in question is connected according to one embodiment of the invention; the figure 3 illustrates steps in a process for securing reception, by the card reader of the figure 1 , of at least one data item entered on the terminal to which the card reader in question is connected according to one embodiment of the invention; the figure 4 presents a simplified example of the structure of a device intended to implement the method of secure data reception of the figure 2 ; and the figure 5 presents a simplified example of the structure of a device intended to implement the method of securing the reception of data from the figure 3 . 5 DESCRIPTION DETAILLEE DE L'INVENTION
[0056] In all figures of this document, identical elements and steps are designated by the same reference.
[0057] The general principle of the technique described is based on the use of an authentic encryption key shared between a card reader and an authentication server of the reader in question, in order to allow the secure exchange, via the authentication server in question, of specific encryption keys between this card reader and a mobile terminal to which the card reader is connected.
[0058] For example, this sharing of the authentic key is carried out in the factory, during the manufacture of the card reader, during a step of registering the card reader in question on the authentication server. In this way, it is ensured that the authentic key cannot be intercepted by a third party, thereby guaranteeing the secure exchange of encryption keys used by the card reader and the terminal for their subsequent data exchanges.
[0059] We now describe, in relation to the figure 1 ,a card reader 110 connected to a terminal 100 in communication with an authentication server 140 of the card reader 110 according to one embodiment of the invention.
[0060] More particularly, the card reader 110 is a secure smart card reader capable of finalizing a banking transaction with a server (not shown) of a bank concerned by the transaction in question. In this sense, the card reader 110 integrates all the corresponding security features as required by the card payment industry, in particular the integration of the security features in question within a security element as required by the PCI PTS standards.
[0061] However, unlike known readers, the card reader 110 does not integrate means for entering personal identification data, here the PIN code associated with the read smart card 150. On the contrary, the terminal 100, for example a smartphone, to which the card reader 110 is connected (10) (for example via a physical link of the USB or jack type, or a radio link of the Bluetooth type) integrates a touch screen 100e on which the PIN code is entered. More particularly, an entry application is implemented on the terminal 100 in order to manage the secure entry of the PIN code on the touch screen 100e.
[0062] In this way, to pay using his bank card 150, a user presents (51) the latter to the card reader 110, but enters his PIN code on the touch screen 100e. The PIN code is then transmitted (10) to the card reader 110, in an encrypted form as detailed below, so that the latter can finalize the payment transaction.
[0063] In variants, the bank card is a magnetic stripe card and the personal identification data may notably be either a signature of the user or a PIN code entered on the touch screen 100e.
[0064] In other variants, the card reader may incorporate a character entry keypad, with the PIN code remaining entered on the touchscreen 100e of the terminal 100 in order to finalize the banking transaction.
[0065] In other embodiments not shown, the PIN code (or more generally an identification data item) is entered not on the touch screen 100e, but on a physical keyboard of the terminal 100 or by any other suitable means.
[0066] Whatever the embodiment or variant considered, the problem arises of the secure transmission of the personal identification data entered on the terminal 100 to the card reader 110 so that the latter can finalize the payment transaction.
[0067] In order to secure this transmission, an encryption protocol based on the use of at least one encryption key used by the terminal 100, called terminal key 100ct, and a key used by the card reader 110, called reader key 110cl, is used by these two entities to encrypt the data that they exchange.
[0068] However, the card reader 110 does not have the knowledge a priori of the terminal 100 to which it will be connected, and vice versa. In this way, the problem arises of the secure exchange of the two encryption keys 110cl, 100ct at the time of pairing of the card reader 110 and the terminal 100 so that a third party cannot intercept them and / or substitute a fraudulent key for one or both of them (for example by a so-called man-in-the-middle attack).
[0069] To secure this exchange of the two encryption keys 110cl, 100ct, the technique of the invention proposes that the card reader 110 sends the reader key 110cl to the terminal 100 (for example to the input application which manages the secure input of the PIN code on the touch screen 100e) via an authentication server 140 of the card reader 110. Conversely, the terminal 100 sends the terminal key 100ct to the card reader 110 via the authentication server 140 in question.
[0070] Indeed, as described below in relation to the figures 2 And 3 , the authentication server 140 and the card reader 110 share an authentic encryption key, called the authentic key 140ca, making it possible to secure the exchanges between these two entities. For example, the sharing of the authentic key 140ca is carried out in the factory, during a registration step on the authentication server 140 of the newly manufactured card reader 110. In this way, it is ensured that the authentic key 140ca cannot be intercepted by a third party, thereby guaranteeing the subsequent exchange in a secure manner, via the authentication server 140, of the encryption keys 110cl, 100ct used by the card reader 110 and the terminal 100 for their exchanges.
[0071] Furthermore, the exchanges (40) between the authentication server 140 and the terminal 100, although not encrypted using the authentic key 140ca (key which is not known a priori from terminal 100), are done via a secure internet connection, for example using a TLS protocol (for “Transport Layer Security” in English).
[0072] In this way, the exchange of 110cl reader and 100ct terminal keys is done securely from end to end.
[0073] Regardless of the logical form (in terms of encryption, protocol, etc. as described above) taken by the exchanges between the card reader 110, the terminal 100 and the authentication server 140, the data exchanged uses the physical link existing between the terminal 100 and the authentication server 140.
[0074] More particularly, the terminal 100 is a mobile terminal communicating according to a cellular radiocommunication standard (for example 2G, 3G, 4G, etc.) with a base station 120 of the corresponding cellular network. The data exchanged between the authentication server 140 and the terminal 100 (either to the terminal 100 itself, or to the card reader 110, and on the basis of the encryption or security protocol corresponding to the destination in question as described above) then uses the radio channel between these two entities.
[0075] In a variant, the data exchanged between the authentication server 140 and the terminal 100 pass (dotted arrows) through a management server 130 of the data entry application which manages the secure entry of the PIN code on the touch screen 100e.
[0076] We now describe, in relation to the figures 2 et 3 ,the steps of a secure reception process ( figure 2 ), as well as a reception security process ( figure 3 ), by the card reader 110, of at least one piece of data entered on the terminal 100 according to one embodiment of the invention.
[0077] During an E200 step ( figure 2 ) implemented by the card reader 110, the reader key 110cl is obtained by the card reader 110.
[0078] More particularly, the reader key 110cl is a public key associated with a private reader key in order to set up an asymmetric encryption protocol for the exchange of data between the card reader 110 and the terminal 100.
[0079] In a variant, the pair consisting of the reader key 110cl and the associated private reader key is generated at each new session initiating communication with the terminal 100.
[0080] In another variant, the pair consisting of the reader key 110cl and the associated private reader key is predefined and is stored in a secure memory of the card reader 110. In this way, the reader key 110cl is obtained by reading the secure memory in question in this variant.
[0081] During a step E210 ( figure 2 ) implemented by the card reader 110, the reader key 110cl obtained during step E200 is encrypted by the card reader 110 using the authentic key 140ca shared with the authentic server 140. An encrypted reader key is thus delivered.
[0082] To do this, during a sub-step E210a, a key serial number is updated at the start of the new session initiating communication with the terminal 100.
[0083] In a sub-step E210b, an updated authentic key, or session key, is generated based on the authentic key 140ca (which is then considered as a basic authentic key) and the updated key serial number issued in sub-step E210a. Such generation of the updated authentic key is done for example according to the method defined in the ANSI X9.24-1 standard.
[0084] In a sub-step E210c, the encrypted reader key is generated in the form of a message authentication code of the reader key 110cl using the updated authentic key. Such generation of the message authentication code is done for example according to the method defined in the ISO 9797-1 standard.
[0085] During an E220 sending step ( figure 2 ), the encrypted reader key delivered during step E210 is sent to the authentication server 140 for subsequent transmission of the reader key 110cl from the authentication server 140 to the terminal 100.
[0086] More particularly, during a sub-step E220a, the updated key serial number delivered during the sub-step E210a is sent to the authentication server 140.
[0087] Similarly, during a sub-step E220b, the message authentication code of the reader key 110cl is also sent to the authentication server 140.
[0088] Finally, during a sub-step E220c, the reader key 110cl is also sent to the authentication server 140.
[0089] In certain embodiments (not illustrated), the three aforementioned sending sub-steps E220a, E220b, E220c are carried out in only one or two steps of sending the corresponding information which is then combined for simultaneous sending.
[0090] Based on these three pieces of information, the authentication server 140 is then able to verify that the reader key 110cl received from the card reader 110 is indeed the public key of the card reader 110, and not a key substituted by a third party.
[0091] To do this, during an E330 reception step ( figure 3 ) implemented by the authentication server 140, the authentication server 140 receives the encrypted reader key.
[0092] More particularly, the reception step E330 includes the following sub-steps in order to check that the reader key 110cl is not a substituted key: in a sub-step E330a, a candidate updated authentic key is generated on the basis of the authentic key 140ca (which is then considered as a basic authentic key) and the updated key serial number received from the card reader 110. Such generation is done on the basis of the same operations as those described above in relation to the sub-step E210b of generation, by the card reader 110, of the updated authentic key, or session key, used for the encryption of the reader key 110cl; in a sub-step E330b, a candidate message authentication code of the reader key 110cl is generated using the candidate updated authentic key; and in a sub-step E330c, a comparison is made between the candidate message authentication code and the message authentication code.
[0093] More particularly, the reader key 110cl is accepted by the authentication server 140 when the two message authentication codes in question are identical. Indeed, in this case it is ensured that the key received by the authentication server 140 during the reception step E330 is indeed the reader key 110cl and therefore that the latter has not been substituted by a third party during the transmission between the card reader 110 and the authentication server 140.
[0094] During an E340 step ( figure 3 ) implemented by the authentication server 140, the authentication server 140 transmits the reader key 110cl received during step E330 to the terminal 100.
[0095] More particularly, step E340 is implemented when sub-step E330c of comparison between the candidate message authentication code and the message authentication code indicates that the two message authentication codes in question are identical.
[0096] Furthermore, as discussed above in relation to the figure 1 , the sending of the reader key 110cl by the authentication server 140 to the terminal 100 is done via a secure connection using a TLS protocol. In this way, even though the data exchange between the authentication server 140 and the terminal 100 is not encrypted using the authentic key 140ca (key which is not known a priori of terminal 100), the security of the transmitted data remains guaranteed.
[0097] Symmetrically to the steps E200, E210 and E230 implemented by the card reader 110 and described above, the authentication server 140 for its part implements the steps E300, E310 and E330 ( figure 3 ) to respectively obtain the terminal key 100ct, encrypt said key, and send the encrypted terminal key thus obtained to the card reader 110.
[0098] More specifically, during step E300 ( figure 3 ) the authentication server 140 obtains the terminal key 100ct.
[0099] To do this, during a sub-step E300a, the authentication server 140 receives the terminal key 100ct sent by the terminal 100 via the connection secured by the TLS protocol as described above.
[0100] More particularly, the terminal key 100ct is a public key associated with a private terminal key in order to set up an asymmetric encryption protocol for the exchange of data between the card reader 110 and the terminal 100.
[0101] In one variant, the pair consisting of the terminal key 100ct and the associated private terminal key is generated at each new session initiating communication with the terminal 100.
[0102] In other embodiments (not illustrated), the terminal key 100ct is predefined and previously stored in the authentication server 140 via a step of referencing the terminal 100 with the authentication server 140. In this case, the terminal key 100ct is obtained by the authentication server 140 via an identification of the terminal 100 and the reading in memory of the corresponding terminal key 100ct.
[0103] Similarly, during a step E310 ( figure 3 ), the authentication server 140 encrypts the terminal key 100ct obtained during step E300 using the authentic key 140ca shared with the card reader 110. An encrypted terminal key is thus delivered.
[0104] The authentication server 140 then performs the same operations as those performed by the card reader 110 during the sub-steps E210a, E210b and E210c described above.
[0105] More particularly, during a sub-step E310a, a key serial number is updated at the start of the new session initiating communication with the card reader 110.
[0106] In a sub-step E310b, an updated authentic key, or session key, is generated on the basis of the authentic key 140ca (which is then considered as a basic authentic key) and the updated key serial number issued in sub-step E310a.
[0107] In a substep E310c, the encrypted terminal key is generated in the form of a terminal key message authentication code 100ct using the updated authentic key.
[0108] Finally, during an E320 sending step ( figure 3 ), the encrypted terminal key delivered during step E310 is sent to the card reader 110.
[0109] The authentication server 140 then performs the same operations as those performed by the card reader 110 during the sub-steps E220a, E220b and E220c described above.
[0110] More particularly, during a sub-step E320a, the updated key serial number delivered during the sub-step E310a is sent to the card reader 110.
[0111] Similarly, during a sub-step E320b, the message authentication code of the terminal key 100ct is also sent to the card reader 110.
[0112] Finally, during a sub-step E320c, the terminal key 110ct is also sent to the card reader 110.
[0113] In certain embodiments (not illustrated), the three aforementioned sending sub-steps E320a, E320b, E320c are carried out in only one or two steps of sending the corresponding information which is then combined for simultaneous sending.
[0114] Following the sending step E320 implemented by the authentication server 140, the card reader 110 is able to verify, on the basis of the three pieces of information received, that the terminal key 100ct received from the authentication server 140 is indeed the public key of the terminal 100, and not a key substituted by a third party.
[0115] To do this, the card reader 110 then performs the same operations as those performed by the authentication server 140 during the sub-steps E330a, E330b and E330c described above.
[0116] More specifically, during an E230 reception step ( figure 2 ), the card reader 110 receives the terminal key 100ct in an encrypted form, called encrypted terminal key, sent by the authentication server 140. Such a reception step E230 comprises the following sub-steps in order to check that the terminal key 100ct is not a substituted key: in a sub-step E230a, a candidate updated authentic key is generated on the basis of the authentic key 140ca (which is then considered as a basic authentic key) and the updated key serial number received from the authentication server 140; in a sub-step E230b, a candidate message authentication code of the terminal key 100ct is generated using the candidate updated authentic key; and in a sub-step E230c, a comparison is made between the candidate message authentication code and the message authentication code.
[0117] More particularly, the terminal key 100ct is accepted by the card reader when the two message authentication codes in question are identical. Indeed, in this case it is ensured that the key received by the card reader 110 during the reception step E230 is indeed the terminal key 100ct and therefore that the latter has not been substituted by a third party.
[0118] At the end of the implementation of the aforementioned steps, the card reader 110 has securely obtained the terminal key 100ct, and the terminal 100 has securely obtained the reader key 110cl. In this way, the exchange of data in encrypted form between the terminal 100 and the card reader 110 can begin on the basis of the asymmetric encryption protocol based on the public keys of the terminal 100ct and the reader 110cl. In particular, the card reader 110 is able to securely receive the PIN code entered by the user on the screen 100e of the terminal 100.
[0119] However, in order to further strengthen the security of data exchanges between the card reader 110 and the terminal 100, the card reader 110 implements an additional step E240 ( figure 2 ) of obtaining a secret symmetric key shared between the card reader 110 and the terminal 100. Such obtaining is based on a Diffie-Hellman type algorithm (as defined for example in the ANSI X9.42 standard) involving data exchanges between the card reader 110 and the terminal 100. The exchanges in question then use the asymmetric encryption protocol based on the public keys exchanged between the terminal 100 and the card reader 110, i.e. the terminal 100ct and reader 110cl keys.
[0120] During a step E250, the card reader 110 receives data in encrypted form from the terminal 100, for example the PIN code entered on the touch screen 100e of the terminal 100.
[0121] Such data is encrypted through the use of the aforementioned asymmetric encryption protocol alone or in combination with additional encryption based on the secret symmetric key.
[0122] In this way, the card reader 110 is able to finalize the payment transaction securely with a server of a bank concerned by the transaction in question.
[0123] There figure 4 presents an example of the structure of a device 110d for secure reception, in the card reader 110, of at least one piece of data entered on the terminal 100. More particularly, such a device 110d allows the implementation of the method of the figure 2 . The device 110d comprises a random access memory 403 (for example a RAM memory), a processing unit 402 equipped for example with a processor, and controlled by a computer program stored in a read-only memory 401 (for example a ROM memory or a hard disk). Upon initialization, the code instructions of the computer program are for example loaded into the random access memory 403 before being executed by the processor of the processing unit 402.
[0124] This figure 4 illustrates only one particular way, among several possible ones, of realizing the means included in the device 110d, so that it carries out certain steps of the method detailed above, in relation to the figure 2 (in any of the different embodiments). Indeed, these steps can be carried out indifferently on a reprogrammable computing machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logic gates such as an FPGA or an ASIC, or any other hardware module). In the case where the means included in the device 110d are produced with a reprogrammable computing machine, the corresponding program (i.e. the sequence of instructions) may be stored in a removable storage medium (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
[0125] In the embodiment illustrated in the figure 1 , such a device 110d is included in the card reader 110.
[0126] In some variations, the 110d device is integrated within a security element as required by PCI PTS standards.
[0127] There figure 5 presents an example of the structure of a device 140d for securing a reception, in the card reader 110, of at least one piece of data entered on the terminal 100. More particularly, such a device 140d allows the implementation of the method of the figure 3 . The device 140d comprises a random access memory 503 (for example a RAM memory), a processing unit 502 equipped for example with a processor, and controlled by a computer program stored in a read-only memory 501 (for example a ROM memory or a hard disk). Upon initialization, the code instructions of the computer program are for example loaded into the random access memory 503 before being executed by the processor of the processing unit 502.
[0128] This figure 5 illustrates only one particular way, among several possible ones, of realizing the means included in the device 140d, so that it carries out certain steps of the method detailed above, in relation to the figure 3 (in any of the different embodiments). Indeed, these steps can be carried out indifferently on a reprogrammable computing machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logic gates such as an FPGA or an ASIC, or any other hardware module). In the case where the means included in the device 140d are produced with a reprogrammable computing machine, the corresponding program (i.e. the sequence of instructions) may be stored in a removable storage medium (such as for example a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
[0129] In the embodiment illustrated in the figure 1 , such a device 140d is included in the authentication server 140.
[0130] In some variations, the 140d device is integrated within a security element as required by PCI PTS standards.
Claims
1. Method for securely receiving, in a card reader (110), at least one piece of data entered into a terminal (110) connected to said card reader, said at least one piece of data being a piece of personal identification data entered on a screen of said terminal, comprising the following steps implemented by said card reader: - obtaining (E200) an encipherment key of said card reader, called a reader key (110cl); - encrypting (E210) said reader key using an authentic encipherment key, called an authentic key (140ca), shared between said card reader and an authentication server (140) of the card reader, delivering an encrypted reader key; - sending (E220), to said authentication server, said encrypted reader key for transmission of said reader key from said authentication server to said terminal; - receiving (E230) an encrypted key sent by said authentication server, called an encrypted terminal key, said encrypted terminal key resulting from an encryption of an encipherment key obtained by said authentication server, called a terminal key (100ct), using said authentic key; and - receiving (E250) at least one piece of encrypted data sent by said terminal, resulting from an encryption, using at least said reader key and said terminal key, of said at least one piece of data.
2. Method according to claim 1, wherein said reader key and said terminal key are public keys for the implementing of an asymmetric encipherment protocol between said card reader and said terminal, said at least one piece of encrypted data resulting from an encryption implementing said asymmetric encipherment protocol.
3. Method according to claim 2 further comprising a step for obtaining (E240) at least one secret symmetrical key shared between said card reader and said terminal by implementation of a Diffie-Hellman type algorithm, at least one exchange of data between said card reader and said terminal for the implementation of the algorithm using said asymmetric encipherment protocol, and wherein said at least one piece of encrypted data results from an additional encryption by means of the secret symmetrical key.
4. Method for securing a reception, by a card reader (110), of at least one piece of data entered into a terminal connected to said card reader, said at least one piece of data being a piece of personal identification data entered on a screen of said terminal, comprising the following steps implemented by an authentication server (140) of said card reader: - an obtaining (E300) of an encipherment key of said terminal, called a terminal key (100ct); - an encryption (E310) of said terminal key using an authentic encipherment key, called an authentic key (140a), shared between said card reader and said authentication server, delivering an encrypted terminal key; - a sending (E320), to said card reader, of said encrypted terminal key; - a reception (E330) of an encrypted reader key sent by said card reader; said encrypted reader key resulting from an encryption of an encipherment key of said card reader, called a reader key (110cl), using said authentic key; and - a transmission (E340), to said terminal, of said reader key.
5. Method according to claim 4 wherein said obtaining comprises a reception (E300a) of said terminal key sent by said terminal.
6. Method according to claim 4 or 5 wherein at least said transmission of said reader key and / or said reception of said terminal key implements a TLS (Transport Layer Security) protocol.
7. Method according to any one of the claims 1 to 6 wherein said authentic key is a basic authentic key, and wherein said step of encryption, of said reader key and of said terminal key respectively, comprises: - an updating (E210a, E310a) of a key serial number delivering an updated key serial number; and - a generation (E210b, E310b) of an updated authentic key on the basis of said basic authentic key and of said updated key serial number, said encrypted reader key and said encrypted terminal key respectively being generated by means of said updated authentic key; and wherein said step for sending said encrypted reader key to said authentication server and said encrypted terminal key to said card reader respectively comprises a sending (E220a, E320a) of said updated key serial number.
8. Method according to any one of the claims 1 to 7 wherein said step of encryption of said reader key and of said terminal key respectively, comprises a generation (E210c, E310c), by means of said authentic key or of said updated authentic key, of a message authentication code of said reader key and said terminal key respectively, and wherein said step for sending said encrypted reader key to said authentication server and of said encrypted terminal key to said card reader respectively comprises a sending (E220b, E320b) of said message authentication code.
9. Method according to claim 8 in that it is dependent on claim 7 wherein said step for sending said encrypted reader key to said authentication server and of said encrypted terminal key to said card reader respectively, comprises a sending (E220c, E320c) of said reader key and of said terminal key respectively, and wherein said step for receiving said terminal key encrypted by said authentication server and said reader key encrypted by said card reader respectively comprises: - a generation (E230a, E330a) of a candidate updated authentic key on the basis of said basic authentic key and of said updated key serial number sent by said authentication server and by said card reader respectively; - a generation (E230b, E330b), by means of said candidate updated authentic key, of a candidate message authentication code of said terminal key sent by said authentication server and of said reader key sent by said card reader respectively; and - a comparison (E230c, E330c) of said candidate message authentication code and of said message authentication code sent by said authentication server and by said card reader respectively; said terminal key sent by said authentication server and said reader key sent by said reader respectively being accepted by said card reader and by said authentication server respectively, when said comparison indicates that said candidate message authentication code is identical to said message authentication code sent by said authentication server and said card reader respectively.
10. Method according to claim 9 in that it depends on any one of the claims 4 to 6 wherein said step of transmission, to said terminal, of said reader key is implemented when said comparison indicates that said candidate message authentication code is identical to said message authentication code sent by said card reader.
11. Computer program product comprising program code instructions for implementing a method according to any one of the claims 1 to 10, when said program is executed by a processor.
12. Device (110d) for securely receiving, in a card reader (110), at least one piece of data entered on a terminal (100) connected to said card reader, said at least one piece of data being a piece of personal identification data entered on a screen of said terminal, comprising a reprogrammable computation machine (402) or a dedicated computation machine configured to: - obtain an encipherment key of said card reader called a reader key (110cl); - encrypt said reader key using an authentic encipherment key called an authentic key (140ca), shared between said card reader and an authentication server (140) of the card reader, delivering an encrypted reader key; - send said encrypted reader key to said authentication server for transmission of said reader key from said authentication server to said terminal; - receive an encrypted key sent by said authentication server, called an encrypted terminal key, said encrypted terminal key resulting from an encryption of an encipherment key obtained by said authentication server, called a terminal key (100ct), using said authentic key; and - receive at least one piece of encrypted data sent by said terminal, resulting from an encryption using at least said reader key and of said terminal key of said at least one piece of data.
13. Device (140d) for securing a reception, by a card reader (110), of at least one piece of data entered on a terminal (100) connected to said card reader, said at least one piece of data being a piece of personal identification data entered on a screen of said terminal, comprising a reprogrammable computation machine (502) or a dedicated computation machine configured to: - obtain an encipherment key of said terminal, called a terminal key (100ct) ; - encrypt said terminal key using an authentic encipherment key, called an authentic key (140ca), shared between said card reader and said authentication server, delivering an encrypted terminal key; - send said encrypted terminal key to said card reader; - receive an encrypted reader key sent by said card reader, said encrypted reader key resulting from an encryption of an encipherment key of said card reader, called a reader key (110cl), using said authentic key; and - transmit said reader key to said terminal.