WO2020002677A1 - Procede de protection d'un terminal de paiement - Google Patents

Procede de protection d'un terminal de paiement Download PDF

Info

Publication number
WO2020002677A1
WO2020002677A1 PCT/EP2019/067471 EP2019067471W WO2020002677A1 WO 2020002677 A1 WO2020002677 A1 WO 2020002677A1 EP 2019067471 W EP2019067471 W EP 2019067471W WO 2020002677 A1 WO2020002677 A1 WO 2020002677A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
clock
payment terminal
key
protecting
Prior art date
Application number
PCT/EP2019/067471
Other languages
English (en)
Inventor
Grégoire Mardinian
Sylvain UMDENSTOCK
Matthieu SLIGAR
Original Assignee
Youtransactor
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Youtransactor filed Critical Youtransactor
Priority to MX2021000199A priority Critical patent/MX2021000199A/es
Priority to BR112020026769-4A priority patent/BR112020026769A2/pt
Priority to EP19733503.7A priority patent/EP3814959A1/fr
Priority to US17/256,833 priority patent/US12058242B2/en
Priority to PE2020002196A priority patent/PE20210993A1/es
Publication of WO2020002677A1 publication Critical patent/WO2020002677A1/fr
Priority to CONC2021/0000053A priority patent/CO2021000053A2/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0873Details of the card reader
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present invention relates to a method for protecting a payment terminal, in particular by bank card.
  • the present invention also relates to a secure payment terminal, in particular by bank card.
  • Credit card payment terminals are dedicated to payment (such as a point-of-sale terminal with an authentication keypad by integrated or separate confidential code) or to the distribution of products (such as an automatic teller machine or a distribution self-service gasoline).
  • PCI PTS security standards for “Payment Card Industry Pin Transaction Security” in English.
  • PCI PTS V5" standard imposes protection standards relating to the active physical security of a payment terminal.
  • Active physical security consists in protecting encryption keys (as well as other sensitive data such as a card number, personal identification number of the holder, etc.) contained in the payment terminal against among others:
  • the terminal in the event of detection of a physical security anomaly, the terminal requires a return to maintenance to be put back into operation, which can prove to be harmful in the event that the anomaly does not correspond to a real attack by physical security.
  • the present invention aims to overcome the needs described above by proposing a software protection method for a payment terminal processing and securely storing the encryption keys of said terminal.
  • the subject of the invention is a method of protecting a payment terminal, said payment terminal comprising:
  • a module for monitoring at least one physical parameter of the terminal comprising means for measuring said physical parameter
  • a clock the counter unit being controlled by said clock to increment at regular intervals a counter value of the counter unit;
  • said method comprising the following steps:
  • o the counter value is greater than a predefined threshold value
  • the system according to the invention can also comprise at least one of the following characteristics:
  • the encryption key is generated by the combination of a plurality of keys stored in at least one memory of the terminal;
  • the deletion step implements separate deletion methods for the first key stored in a memory area of the microprocessor register type, and the second key stored in a memory area of the microprocessor volatile memory type;
  • the encryption key is generated by the combination of a first and a second key, the first key being stored in a memory area of the microprocessor register type, the second key being stored in a memory area of the volatile memory type of the microprocessor, and in which deletion comprises the deletion of at least one key from the associated memory area;
  • the execution period T1 being randomly included in a range of predefined values [T 1 a; T 1 b];
  • the method (100) also includes the following steps:
  • the payment terminal also includes a second clock with a predefined frequency for controlling the execution period T1, said clock being configured to transmit in one step an interruption to the microcontroller for the periodic execution of the steps of measurement, comparison, and reset;
  • the terminal also includes a third clock with a predefined frequency and in which the method includes a step of verifying the frequency of the second clock comprising: o the incrementation of a counter unit with each clock signal of the second clock;
  • the terminal also includes a step of verifying the frequency of the third clock comprising:
  • the terminal also comprises a bandpass filter configured to filter a predefined frequency band and to receive a clock signal from the first clock, and said method also comprises a step comprising the deletion of at least one key from the plurality of keys if no signal is present at the filter output;
  • the device for monitoring at least one physical parameter of the terminal comprises one or more measuring means configured for:
  • the monitoring device is configured to emit a signal of significant violation of a physical attack on said terminal;
  • the microcontroller comprises at least one port for receiving said violation signal; and wherein access to the data encryption key is removed upon receipt of said signal on said receive port;
  • the microprocessor is also configured to, before removing access to the data encryption key, execute a filtering algorithm following receipt of the violation signal, said filtering algorithm detecting whether the violation signal is indicative of a physical attack on said terminal, and in this case proceed to the removal of access to the data encryption key;
  • Such a method has the advantage of using a software security architecture based on a standard general purpose microcontroller to execute this architecture. Since the process meets the requirements of the payment card industry, the software architecture provides protections against physical and software attacks to ensure the confidentiality and authenticity of the data. Thus, it is possible to build a point of sale without the use of a "secure processor" making the proposed solution more economical.
  • the invention also relates to a computer program product comprising code instructions for the execution of a method for protecting a payment terminal, as previously described, when this program is executed by a processor of said terminal. of payment.
  • the invention also relates to a secure payment terminal comprising: a data encryption key, said encryption key being accessed for the encryption of data to be secured;
  • a device for monitoring at least one physical parameter of the terminal comprising means for measuring said physical parameter
  • the counter unit being controlled by said clock to increment at regular intervals a counter value of the counter unit;
  • said monitoring device being configured periodically:
  • the secure payment terminal according to the invention can also be configured for the implementation of a method according to one of the characteristics described above.
  • FIG. 1 illustrates a hardware architecture of a secure terminal implementing a method for protecting said terminal according to the invention
  • FIG. 2 illustrates in more detail the hardware architecture of the secure terminal according to the invention
  • FIG. 3 illustrates steps of a method of protecting the terminal according to the invention.
  • a payment terminal 1 is illustrated.
  • Said terminal 1 comprises a microcontroller 10, for example based on an electronic architecture based on an ARM core, such as a microcontroller of the STM32 type (32-bit microcontroller).
  • a microcontroller of the STM32 type 32-bit microcontroller
  • This usually includes a processor, memories (read only memory and random access memory), peripheral units and input-output interfaces.
  • the microcontroller 10 also includes an internal real time clock (term sometimes abbreviated to HTR, known as RTC for “Real-Time Clock” in English), allowing a very precise countdown of time, with a view to dating or triggering events according to the time .
  • This clock uses for example a piezoelectric quartz.
  • the real time clock requires a clock signal or a crystal oscillator to keep the time.
  • the microcontroller 10 therefore comprises means of interaction with an external clock 13 (called LSE for "Low Speed External” in English) used to control the internal real time clock.
  • Said clock 13, included in the payment terminal 1, preferably provides a clock frequency between around 30 and around 34Khz, preferably 32,768 KHz.
  • the microcontroller 10 also includes supply means 12, for example by a battery where cells provide the main electrical supply. When the main supply is removed, a backup supply (such as an internal button cell) keeps terminal 1 powered.
  • supply means 12 for example by a battery where cells provide the main electrical supply.
  • a backup supply such as an internal button cell
  • the payment terminal is designed to operate within a predetermined voltage range.
  • the main supply voltage (Vcc) is regulated at 3.3 V to supply the entire payment terminal 1.
  • the microcontroller 10 also includes means for interacting with security hardware components (for example by input / output ports, called GPIO for General Purpose Input / Output in English) described in more detail in the following description.
  • security hardware components for example by input / output ports, called GPIO for General Purpose Input / Output in English
  • microcontroller 10 is now detailed.
  • the microcontroller 10 has two internal clocks 161 and 162.
  • the internal clock 161 is of the HSI type ("HiSpeed internai" in English). It is configured to provide a clock frequency of approximately 16 MHz.
  • the internal clock 162 is of the LSI (“LowSpeed internai” in English) type. It is configured to provide a clock frequency between approximately 30 and approximately 34 KHz, preferably 32,768 KHz.
  • these internal clocks (161, 162) are difficult to attack (in the sense of disturbance) without destroying the microcontroller 10, because they are located inside of it.
  • the microcontroller 10 also includes a memory 151 comprising registers.
  • a register is a memory location internal to a processor. The registers are at the top of the memory hierarchy, with very fast read / write access time.
  • the microcontroller 10 further comprises a volatile memory 152: it cannot do without power under penalty of seeing the information stored therein, erased irretrievably.
  • the memory 152 is preferably of SRAM type (for “Static Random Access Memory”), it is particularly suitable for applications which require either short access times, and / or low power consumption.
  • the processor m of the microcontroller 10 is configured to implement a secure software cryptographic library write-protected, and includes a real generator of random numbers, as well as protections against attacks by lateral channel such as attacks by analysis of power consumption (for example by DPA and SPA) and clock synchronization attacks.
  • the processor m of the microcontroller 10 is also configured to implement instructions for the execution of a software protection method.
  • the hardware and security functionalities are gathered in a secure application system core, which is separated from the non-security related functions, at a very low level of execution by using the capacities of the microcontroller 10.
  • said core has privileges to access all of the hardware resources of the processor m (in particular the GPIOs), and controls a part of the processor which manages the protection of access to memory (for example said MPU for Memory Protection Unit for a processor ARM).
  • sensitive data (such as cryptographic keys) are private to the secure kernel, and encrypted by a master key MK only known (that is to say accessible) from the secure kernel.
  • the main part of the software protection method comprises a “software secure loop” executed by the processor m in order to protect the main key MK. Said loop makes it possible to detect security attack events and trigger the erasure of the main key MK in the event of such an event, making it extremely difficult to steal data or to clone the payment terminal 1.
  • the security loop can be used to collect these security attack events, to possibly apply filtering to these events and then trigger the erasure of the main key MK.
  • the main key MK to be protected meets an encryption standard, for example the AES128 standard, AES (“Advanced Encryption Standard” in English) with a key of length 128, 192 or 256 bits.
  • AES Advanced Encryption Standard
  • the key MK in order to have redundancy on the erasure of the key MK, it is generated from the combination of at least two keys K1 and K2, for example by the combination XOR of K1 and K2. Only the keys K1 and K2 are stored in memory, the key MK thus never being stored in a persistent clear memory. Keys K1, K2 can be stored in separate memory areas.
  • the key K1 is for example stored in an internal memory location of a register 151 of the microprocessor.
  • such a memory location makes it possible to obtain a very fast read / write access time.
  • registers 151 can be reset via an external GPIO input which allows an almost instantaneous erasure.
  • the key K2 is for example stored in a static or dynamic internal RAM 152 of RAM, SRAM or FLASH type.
  • the key K2 is stored at a randomly determined address.
  • the registers 151 and the internal RAM 152 use different erasure mechanisms, which advantageously makes it possible to increase the software protection.
  • the method 100 makes it possible to protect the payment terminal 1 by monitoring against physical attacks and software attacks to guarantee the confidentiality and authenticity of the data.
  • the physical attacks considered are for example linked to the alteration of the device, to temperature, to the clock, to under or overvoltage, to electromagnetic pulses, to frequency scanning.
  • the method 100 comprises a step E0 of initialization of the method 100.
  • the random generator is used to generate a random which becomes the new set of keys K1, K2.
  • the safety loop BS can be executed continuously. However, preferably, to limit consumption, the safety loop BS is executed periodically, for example approximately every 100 ms, so the rest of the time the microcontroller 10 is in a standby state.
  • the safety loop BS is started, but put in a standby state.
  • a timer unit 1 1 1 enables the execution of the BS loop periodically.
  • the timer unit 11 1 is controlled for example by the clock LSE. Said unit 11 1 periodically generates interrupts for the processor m of the microcontroller 10. These interrupts allow the temporary cessation of the normal execution of a program in the background of the payment terminal 1, in order to execute BS safety loop.
  • the value of the time between two iterations of the loop is random between approximately 80 ms and approximately 100 ms.
  • the timer unit 1 1 1 uses the random generator internal to the microcontroller 10 to generate a random variation of less than about 20 ms.
  • the microcontroller 10 also ensures that this random number is not used for other purposes.
  • An opening sabotage attack occurs when the payment terminal 1 is open or an unexpected component enters a secure area of said terminal 1.
  • the opening of terminal 1 is detected by a plurality of switches (Sw1, Sw2, ..., SwN) located in different locations of a terminal box 1.
  • the switches are for example implemented by GPIOs configured at the input of the microcontroller 10, raised by resistors internal to microcontroller 10.
  • An opening monitoring module 121 has the function of detecting an opening status of the terminal by monitoring the value of the plurality of signals transmitted by the switches (Sw1, Sw2, ..., SwN). For example, in an unopened state of the terminal, the switches have the value of a first value (for example equal to 0). If the terminal is open, at least one of the switches, depending on its location, is able to detect this opening, by taking a second value (for example equal to 1).
  • the opening monitoring module 121 has the function of detecting such a change in value of at least one switch, and of transmitting a violation signal S1 to the microcontroller 10.
  • the latter can be configured to include means for receiving the said violation signal S1, such as one or more specific ports, on which the reception of a signal to said microprocessor 10 signifies the detection of an attack. These ports may or may not be specific to a type of attack.
  • a mesh is a couple (A, B) of GPIO. At least two meshes M1, M2 are thus necessary to protect the device from drilling.
  • GPIO A is configured as input and GPIO B as output.
  • a drilling monitoring module 122 writes a random sequence, for example of 16 bits, towards the output (the bit rate being chosen according to the hardware constraints, in fact, the rise and fall time depends on the length of the mesh). The same sequence must be read on the GPIO input. Then GPIO B is defined as input and A as output and the same check is applied.
  • the random sequence of bits applied is chosen at random from a set of possible sequences (for example at least 20).
  • the random sequence is generated by the internal real random generator of the microcontroller 10. In addition, this ensures that the random sequence is not used for other purposes.
  • the monitoring module 122 is configured to transmit a violation signal S1 to the microprocessor 10.
  • a temperature attack is detected when the current temperature of the payment terminal 1 is higher or lower than an expected temperature range.
  • the normal operating temperature range is approximately [-30 ° C; + 85 ° C].
  • the microcontroller 10 comprises for example at least one integrated temperature sensor for implementing the temperature monitoring.
  • a temperature monitoring module 123 has the function of measuring the temperatures, via the temperature sensor (s), of detecting an abnormal state of the temperature if the measured temperature is not in the normal operating zone provided, and in this case to transmit a violation signal S1 to the microprocessor 10.
  • the monitoring functions performed by the various monitoring modules 121 to 123 therefore make it possible to perform secure monitoring responsible for detecting a variety of physical attacks.
  • a security module 120 groups together the monitoring modules 121 to 123 and the associated monitoring functions. Said security module 120 is configured to perform secure monitoring and detecting security attacks on the payment terminal 1 by implementing the security loop BS (which executes the functions of the security module 120) described above.
  • a step E10a the various physical parameters to be monitored are measured by the measurement means of the security module 120.
  • a step E10b the measurement values are then compared with predetermined threshold values, corresponding to physical attacks by the terminal 1. In the case where a comparison is significant of a physical attack on the terminal 1, a violation signal S1 is transmitted to a reception port of the microprocessor 10
  • the security module 120 makes in the security loop BS, a first counting of the number of “strokes” (such as a rising or falling edge of a clock signal) of the clock HSI in an LSI clock cycle to verify that the frequency of the HSI clock is within an acceptable frequency range (for example in the normal operating range [+/- 30 KHz).
  • a violation signal S1 is transmitted to a reception port of the microprocessor 10
  • the security module 120 makes a second count of the number in the security loop BS LSE clock strokes in an HSI clock cycle to verify that the LSE clock frequency is within an acceptable frequency range (for example in the normal operating range [30 KHz - 34 KHz]).
  • an acceptable frequency range for example in the normal operating range [30 KHz - 34 KHz]
  • the method 100 also includes another mechanism for ensuring that the BS loop is regularly executed.
  • the method 100 includes a mechanism known as a "watchdog" implemented by a module 126 for loop monitoring BS, for example configured to implement a counter which is regularly reset. If the counter exceeds a given value (timeout) then the payment terminal 1 is restarted (reset).
  • a watchdog implemented by a module 126 for loop monitoring BS, for example configured to implement a counter which is regularly reset. If the counter exceeds a given value (timeout) then the payment terminal 1 is restarted (reset).
  • the BS loop monitoring module 126 is started when the payment terminal 1 is started and can never be stopped while the latter is in operation. If the counter reaches a predefined value, terminal 1 is reset. Only the secure loop BS "updates" the counter of the loop monitoring module 126 in a step E13, in fact, preferably only the secure loop BS has access to the counter 126. The refresh operation is carried out only once during the surveillance cycle (i.e. the watchdog is updated in the periodic secure loop process when all the surveillance has been processed within a given period of time).
  • the loop monitoring module 126 compares the counter with a predefined limit value to monitor whether the safety loop BS is not executed within the predefined time.
  • the watchdog counter will reach the predefined limit value, and in a step E50, the loop monitoring module 126 transmits a restart signal S2 to the microprocessor 10.
  • this watchdog mechanism ensures that all of the security-related code is executed over time.
  • the watchdog expiration time is approximately equal to "Periodic monitoring period + 50 ms".
  • the counter of the loop monitoring module 126 is controlled by the LSI clock, to be incremented at each clock stroke (reception of a rising or falling edge of the clock signal).
  • the frequency of the LSI clock is therefore also monitored to verify that there is no attack on the payment terminal 1 by manipulation of the frequency of said LSI clock in an abnormal frequency zone, for the purpose of cause the payment terminal to malfunction 1.
  • the verification of the frequency of the LSI (for example in the normal operating range [30 KHz - 34 KHz]) is carried out in a step E30 by a module 131 of frequency verification, implemented for example by a pass-through circuit external band associated with a transistor whose output controls the transmission of a violation signal S1 to a reception port of the microprocessor 10.
  • a security attack is considered when the supply voltage of the microcontroller 10 is lower or higher than threshold values.
  • the voltage Vcc of the microcontroller 10 is supplied by the main power supply when the battery is connected and by the emergency power supply when the battery is removed. The system is thus normally always supplied, the loss of Vcc is considered a security attack.
  • the microcontroller 10 includes a low voltage monitoring module 141 for measuring the voltage and detecting when the voltage is below a threshold value, for example when the voltage drops below about 2.2 V.
  • the low voltage monitoring module 141 is for example implemented by a voltage drop reset circuit internal to the microprocessor 10, said circuit being configured to transmit a reset signal S2 to the microprocessor 10.
  • the reset has the effect of deleting the data from the RAM, and therefore the deletion of the key K2.
  • the reset is detected "instantaneously" (that is to say that it is a hardware-only circuit). To optimize the time for deleting the key K2, it can be placed in an address area at the start of memory 152
  • Vcc is for example above 3.7V.
  • a high voltage monitoring module 132 is responsible for high voltage monitoring, for example in the form of an external monitoring controller of very low power. This is configured to, in a step E40, detect when the voltage is greater than a threshold value, for example 3.7V, and if this condition is verified, transmit a violation signal S1 to a reception port of the microprocessor 10.
  • a threshold value for example 3.7V
  • the microcontroller 10 has ports dedicated to the reception of a violation signal S1.
  • a step E11 on receipt of a signal on one of these ports, the microcontroller 10 proceeds to delete the key K1 stored in a register memory 151.
  • This processing makes it possible to have a deletion time the as short as possible, the execution of the delete command not dependent on a clock signal.
  • the command can be executed even if the different clocks are not functional.
  • the memory area 152 in which the key K2 is stored is also erased.
  • the microcontroller 10 also includes ports dedicated to the reception of a reset signal S2.
  • the microcontroller 10 proceeds to delete the key K2 stored in a volatile memory in a Reset step.
  • the erasure time for a 32-bit word in a memory of the SRAM2 type is 1 clock cycle (that is to say 250 ns).
  • the security module can record the types of alarms and the "date" on which each alarm is seen.
  • the recorded data can be analyzed when the terminal enters into maintenance following a security attack.
  • the payment terminal 1 can also include a filtering module (not shown).
  • the filtering module when the security module detects an anomaly, is configured to process the alarm and then to execute a filtering / detection algorithm for one or more iterations of the security loop BS. Said algorithm makes it possible to declare whether the alarm is significant of a true hacking situation of the terminal, in this case to delete one or more stored keys.
  • a filtering / detection algorithm is such that on reception of one or more violation signals S1 within a first determined time, the microcontroller 10 proceeds to delete the key K1 in the case where a violation signal S1 is received within a second determined delay (for example approximately one second).
  • a second determined delay for example approximately one second.
  • the filtering system cannot be activated for a delay (of which a component is random) following a sequence filtering of the same event. This has no effect under normal use since for example in the event of a fall event, it is unlikely to drop the same terminal twice in a row in less than a few seconds.
  • the terminal 1 can be configured with physical attack models, using attack events collected on several types of fall, during the terminal design or test phase. This model is thus used to filter attacks during the life of the product.
  • this makes it possible to avoid declaring an attack when the detection of an attack corresponds only to a transient parasite.
  • the data recorded (alarm (s) and date (s)) by the payment terminal 1, or by a plurality of payment terminals 1, can be analyzed to refine the filtering / detection algorithm.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

La présente invention concerne un procédé de protection d'un terminal de paiement comprenant : - une clé de cryptage de données; - un module de surveillance comprenant un moyen de mesure d'un paramètre physique; - une unité compteur d'un microcontrôleur, l'unité compteur étant asservi sur une horloge pour incrémenter une valeur compteur; ledit procédé comprenant les étapes suivantes : - mesure d'un paramètre physique par le moyen de mesure du dispositif de surveillance; - comparaison de la valeur mesurée à une valeur seuil prédéterminée, correspondante à une attaque physique; - réinitialisation de l'unité compteur; et si une des conditions suivantes est remplie : º au moins une valeur de paramètres physiques est significative d'une attaque physique dudit terminal; º la valeur compteur est supérieure à une valeur seuil prédéfinie; le procédé comprend également une étape de suppression de l'accès à la clé de cryptage.

Description

PROCEDE DE PROTECTION D’UN TERMINAL DE PAIEMENT
DOMAINE DE L'INVENTION
La présente invention concerne un procédé de protection d’un terminal de paiement, notamment par carte bancaire. La présente invention concerne également un terminal de paiement sécurisé, notamment par carte bancaire.
ETAT DE LA TECHNIQUE
Les terminaux de paiement par carte bancaire sont dédiés au paiement (tel un terminal pour point de vente avec un clavier d’authentification par code confidentiel intégré ou séparé) ou à la distribution de produits (tels un guichet automatique ou un self-service de distribution d'essence).
Les terminaux de paiement par carte bancaire doivent être conformes aux standards de sécurité PCI PTS (pour « Payment Card Industry Pin Transaction Security » en anglais). La dernière version du standard « PCI PTS V5 » impose des normes de protection relatives à la sécurité physique active d’un terminal de paiement.
La sécurité physique active selon le standard PCI PTS consiste à protéger des clés de chiffrement (ainsi que d’autres données sensibles comme un numéro de carte, un numéro d'identification personnel du porteur, etc..) contenues dans le terminal de paiement contre entre autres :
- l’intrusion physique par perçage ou autre ;
l’ouverture du terminal ;
l’usage du terminal dans des zones de températures où celui-ci n’est plus qualifié ; la variation des fréquences des horloges pour tenter de faire fonctionner le terminal dans des situations où il n’est pas qualifié ; et
le fonctionnement du terminal avec des tensions trop basses ou trop hautes.
En conséquence, dans le cas où la sécurité physique du terminal est compromise toutes les clés de chiffrement stockées dans le terminal doivent être effacées pour protéger les transactions, les identités, les applications...
Les méthodes actuelles pour réaliser la sécurité physique PCI PTS consistent à utiliser des microprocesseurs spécifiques développés précisément pour ce marché de sécurité. Ils intègrent un circuit matériel capable de gérer et piloter les protections physiques demandées par le standard PCI PTS. Ces microprocesseurs de sécurité sont des microprocesseurs cryptographiques dédiés, spécialement conçus pour protéger les clés de chiffrement tout au long de leur cycle de vie.
Cependant, de tels microprocesseurs sécurisés, qui s’appuient sur des mécanismes matériels spécifiques, ont un coût important.
De plus, en cas de détection d’une anomalie de sécurité physique, le terminal nécessite un retour en maintenance pour être remis en fonctionnement, ce qui peut s’avérer dommageable dans le cas où l’anomalie ne correspond pas à une véritable attaque de sécurité physique.
Il existe donc un besoin de fournir une solution de paiement bancaire moins onéreuse, tout en offrant un niveau de sécurité au moins équivalent aux solutions actuelles, permettant de sécuriser des clés cryptographiques et de fournir des services de chiffrement, de déchiffrement, d’authentification et de signature électronique pour tous types d’applications.
Il existe également un besoin de fournir une solution permettant de différencier facilement des anomalies de fonctionnement d’une véritable attaque de sécurité physique.
EXPOSE DE L'INVENTION
La présente invention a pour but de pallier aux besoins décrits ci-dessus en proposant un procédé de protection logiciel d’un terminal de paiement traitant et conservant de manière sécurisée les clés de chiffrement dudit terminal.
Plus précisément, l’invention a pour objet un procédé de protection d’un terminal de paiement, ledit terminal de paiement comprenant :
une clé de cryptage de données accédée pour le cryptage de données à sécuriser ; un module de surveillance d’au moins un paramètre physique du terminal comprenant un moyen de mesure dudit paramètre physique;
un microcontrôleur ;
une unité compteur du microcontrôleur ;
Une horloge, l’unité compteur étant asservi sur ladite horloge pour incrémenter à intervalle régulier une valeur compteur de l’unité compteur ;
ledit procédé comprenant les étapes suivantes :
mesure d’un paramètre physique par le moyen de mesure du dispositif de surveillance ; comparaison de la valeur mesurée à une valeur seuil prédéterminée, correspondante à une attaque physique dudit terminal par le dispositif de surveillance ; suppression de l’accès à la clé de cryptage de données par le microprocesseur si une des conditions suivantes est remplie :
o au moins une valeur de paramètres physiques est significative d’une attaque physique dudit terminal ;
o la valeur compteur est supérieure à une valeur seuil prédéfinie ;
réinitialisation de l’unité compteur par le dispositif de surveillance ; et
dans lequel les étapes de mesure, de comparaison, et de réinitialisation sont exécutées périodiquement. Avantageusement, mais facultativement, le système selon l’invention peut en outre comprendre au moins l’une des caractéristiques suivantes :
la clé de cryptage est générée par la combinaison d’une pluralité de clés stockées dans au moins une mémoire du terminal ;
l’étape de suppression met en oeuvre des méthodes de suppressions distinctes pour la première clé stockée dans une zone de mémoire de type registre du microprocesseur, et la seconde clé stockée dans une zone de mémoire de type mémoire volatile du microprocesseur ; la clé de cryptage est générée par la combinaison d’une première et d’une seconde clé, la première clé étant stockée dans une zone de mémoire de type registre du microprocesseur, la seconde clé étant stockée dans une zone de mémoire de type mémoire volatile du microprocesseur, et dans lequel de suppression comporte la suppression d’au moins une clé de la zone de mémoire associée ;
la période d’exécution T1 étant aléatoirement comprise dans un intervalle de valeurs prédéfinies [T 1 a ; T 1 b] ;
le procédé (100) comporte également les étapes suivantes :
o vérification que la valeur du délai prédéfini T1 est comprise dans un intervalle de valeurs prédéfini, et si la valeur n’est pas comprise dans l’intervalle :
o suppression d’au moins une clé de la pluralité de clés ;
le terminal de paiement comporte également une seconde horloge avec une fréquence prédéfinie pour piloter la période d’exécution T1 , ladite horloge étant configurée pour transmettre dans une étape une interruption au microcontrôleur pour l’exécution périodique des étapes de mesure, de comparaison, et de réinitialisation ;
le terminal comporte également une troisième horloge avec une fréquence prédéfinie et dans lequel le procédé comporte une étape de vérification de la fréquence de la seconde horloge comprenant : o l’incrémentation d’une unité compteur à chaque signal d’horloge de la seconde horloge ;
o la détermination d’une fréquence par le calcul du nombre d’incrémentations dans un cycle d’horloge de la troisième horloge ;
o comparaison de la fréquence calculée avec un intervalle de fréquence prédéterminé ; et si la fréquence calculée n’est pas l’intervalle
o suppression d’au moins une clé de la pluralité de clés ;
le terminal comporte également une étape de vérification de la fréquence de la troisième horloge comprenant :
o l’incrémentation d’une unité compteur à chaque signal d’horloge de la troisième horloge ;
o la détermination d’une fréquence par le calcul du nombre d’incrémentations dans un cycle d’horloge de la première horloge ;
o comparaison de la fréquence calculée avec un intervalle de fréquence prédéterminé ; et si la fréquence calculée n’est pas l’intervalle
o suppression d’au moins une clé de la pluralité de clés ;
le terminal comporte également un filtre passe-bande configuré pour filtrer une bande de fréquences prédéfinie et pour recevoir un signal d’horloge de la première horloge, et ledit procédé comporte également une étape comprenant la suppression d’au moins une clé de la pluralité de clés si aucun signal n’est présent en sortie du filtre ;
le dispositif de surveillance d’au moins un paramètre physique du terminal comporte un ou plusieurs moyens de mesure configuré pour :
o mesurer la tension d’alimentation du terminal de paiement ;
o mesurer la température de fonctionnement du terminal de paiement;
o détecter l’ouverture du terminal de paiement; et
o détecter le perçage du terminal de paiement
le dispositif de surveillance est configuré pour émettre un signal de violation significatif d’une attaque physique dudit terminal ; et dans lequel
le microcontrôleur comporte au moins un port de réception dudit signal de violation; et dans lequel l’accès à la clé de cryptage de données est supprimé à la réception dudit signal sur ledit port de réception ;
le microprocesseur est également configuré pour, préalablement à la suppression de l’accès à la clé de cryptage de données, exécuter un algorithme de filtrage à la suite de la réception du signal de violation, ledit algorithme de filtrage détectant si le signal de violation est significatif d’une attaque physique dudit terminal, et pour dans ce cas procéder à la suppression de l’accès à la clé de cryptage de données ;
Un tel procédé présente l’avantage d’utiliser une architecture de sécurité logicielle basée sur un microcontrôleur standard à usage général pour exécuter cette architecture. Le procédé étant conforme aux exigences de l'industrie des cartes de paiement, l’architecture logicielle fournit des protections contre les attaques physiques et les attaques logicielles pour garantir la confidentialité et l'authenticité des données. Ainsi, il est possible de construire un point de vente sans l'utilisation d'un "processeur sécurisé" rendant la solution proposée plus économique.
L’invention a également pour objet un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé de protection d’un terminal de paiement, tel que précédemment décrit, lorsque ce programme est exécuté par un processeur dudit terminal de paiement.
L’invention a également pour objet un terminal de paiement sécurisé comprenant : une clé de cryptage de données, ladite clé de cryptage étant accédée pour le cryptage de données à sécuriser ;
un dispositif de surveillance d’au moins un paramètre physique du terminal comprenant un moyen de mesure dudit paramètre physique;
un microcontrôleur ;
une unité compteur du microcontrôleur,
une horloge, l’unité compteur étant asservi sur ladite horloge pour incrémenter à intervalle régulier une valeur compteur de l’unité compteur ;
ledit dispositif de surveillance étant configuré pour périodiquement:
mesurer un paramètre physique par le moyen de mesure ;
comparer de la valeur mesurée à une valeur seuil prédéterminée, correspondante à une attaque physique dudit terminal par le dispositif de surveillance ;
supprimer l’accès à la clé (MK) de cryptage de données si l’une des conditions suivantes est remplie :
o au moins une valeur de paramètres physiques est significative d’une attaque physique dudit terminal ;
o la valeur compteur est supérieure à une valeur seuil prédéfinie ; et réinitialiser l’unité compteur . Avantageusement, mais facultativement, le terminal de paiement sécurisé selon l’invention peut en outre être configuré pour la mise en oeuvre d’un procédé selon l’une des caractéristiques précédemment décrites.
DESCRIPTION DES FIGURES
D’autres caractéristiques, buts et avantages de l’invention ressortiront de la description qui suit, qui est purement illustrative et non limitative, et qui doit être lue en regard des dessins annexés, sur lesquels :
la figure 1 illustre une architecture matérielle d’un terminal sécurisé mettant en oeuvre un procédé de protection dudit terminal selon l’invention ;
la figure 2 illustre de façon plus détaillée l’architecture matérielle du terminal sécurisé selon l’invention ;
la figure 3 illustre des étapes d’un procédé de protection du terminal selon l’invention.
DESCRIPTION DETAILLEE DE L'INVENTION
En référence à la figure 1 , il est illustré un terminal de paiement 1.
Ledit terminal 1 comporte un microcontrôleur 10, par exemple reposant sur une architecture électronique basée sur un noyau ARM, tel qu’un microcontrôleur du type STM32 (microcontrôleur 32 bits). Celui-ci comporte de façon usuelle un processeur, des mémoires (mémoire morte et mémoire vive), des unités périphériques et des interfaces d'entrées-sorties.
Le microcontrôleur 10 comporte également une horloge temps réel interne (terme parfois abrégé en HTR, dit RTC pour « Real-Time Clock » en anglais), permettant un décompte très précis du temps, en vue de dater ou déclencher des évènements selon l'heure. Cette horloge utilise par exemple un quartz piézoélectrique.
L’horloge temps réel nécessite un signal d'horloge ou un oscillateur à quartz pour garder le temps. Le microcontrôleur 10 comporte donc des moyens d’interactions avec une horloge externe 13 (dite LSE pour « Low Speed External » en anglais) utilisée pour piloter l’horloge temps réel interne. Ladite horloge 13, comprise dans le terminal de paiement 1 , fournit préférentiellement une fréquence d’horloge entre environ 30 et environ 34Khz, préférentiellement de 32.768 KHz.
Le microcontrôleur 10 comporte également des moyens d’alimentation 12, par exemple par une batterie où des cellules fournissent l'alimentation électrique principale. Lorsque l'alimentation principale est retirée, une alimentation de secours (comme une pile bouton interne) maintient le terminal 1 sous tension.
Avantageusement, le terminal de paiement est prévu pour fonctionner dans une gamme de tension prédéterminée.
Préférentiellement, la tension d'alimentation principale (Vcc) est régulée à 3,3 V pour alimenter l'ensemble du terminal de paiement 1.
Le microcontrôleur 10 comporte également des moyens d’interactions avec des composants matériels de sécurité (par exemple par des ports d’entrée/sortie, dit GPIO pour General Purpose Input/Output en anglais) décrits plus en détail dans la suite de la description.
En référence à la figure 2, le microcontrôleur 10 est maintenant détaillé.
Le microcontrôleur 10 comporte deux horloges internes 161 et 162.
L’horloge interne 161 est de type HSI (« HiSpeed internai » en anglais). Elle est configurée pour fournir une fréquence d’horloge d’environ 16 MHz.
L’horloge interne 162 est de type LSI (« LowSpeed internai » en anglais). Elle est configurée pour fournir une fréquence d’horloge entre environ 30 et environ 34 KHz, préférentiellement de 32.768 KHz.
Avantageusement, ces horloges internes (161 , 162) sont difficiles à attaquer (au sens de perturbation) sans détruire le microcontrôleur 10, car elles sont localisées à l’intérieur de celui- ci.
Le microcontrôleur 10 comporte également une mémoire 151 comportant des registres. Un registre est un emplacement de mémoire interne à un processeur. Les registres se situent au sommet de la hiérarchie mémoire, présentant un temps d’accès en lecture/écriture très rapide.
Le microcontrôleur 10 comporte en outre une mémoire 152 volatile : elle ne peut se passer d'alimentation sous peine de voir les informations stockées dans celle-ci, effacées irrémédiablement.
La mémoire 152 est de préférence de type SRAM (pour l'anglais « Static Random Access Memory »), elle est particulièrement adaptée aux applications qui requièrent soit des temps d'accès courts, et/ou une faible consommation électrique. Le processeur m du microcontrôleur 10 est configuré pour mettre en oeuvre une bibliothèque cryptographique logicielle sécurisée protégée en écriture, et comporte un véritable générateur de nombres aléatoires, ainsi que des protections contre les attaques par canal latéral telles que les attaques par analyse de consommation électrique (par exemple par DPA et SPA) et les attaques de synchronisation d’horloges.
Le processeur m du microcontrôleur 10 est également configuré pour mettre en oeuvre des instructions pour l’exécution d’un procédé de protection logiciel.
Préférentiellement, les fonctionnalités matérielles et de sécurité sont rassemblées dans un noyau de système d’application sécurisé, qui est séparé des fonctions non liées à la sécurité, à un niveau d’exécution très bas en utilisant les capacités du microcontrôleur 10. En effet, ledit noyau dispose de privilèges pour accéder à l’ensemble des ressources matérielles du processeur m (notamment les GPIO), et contrôle une partie du processeur qui gère la protection des accès à la mémoire (par exemple dit MPU pour Memory Protection Unit pour un processeur ARM). Ainsi, les données sensibles (telles que les clés cryptographiques) sont privées au noyau sécurisé, et chiffrées par une clé principale MK seulement connue (c'est-à- dire accessible) du noyau sécurisé.
La partie principale du procédé de protection logiciel comporte une « boucle sécurisée logicielle » exécutée par le processeur m afin de protéger la clé principale MK. Ladite boucle permet de détecter les événements d'attaque de sécurité et déclencher l'effacement de la clé principale MK dans le cas d'un tel événement, rendant extrêmement difficile le vol de données ou le clonage du terminal de paiement 1.
Egalement, la boucle de sécurité peut permettre de collecter ces évènements d'attaque de sécurité, pour éventuellement appliquer à ces évènements un filtrage puis déclencher l’effacement de la clé principale MK.
La clé principale MK à protéger, répond à un standard de chiffrement, par exemple le standard AES128, AES (« Advanced Encryption Standard » en anglais) avec une clé de longueur 128, 192 ou 256 bits.
Préférentiellement, afin d’avoir une redondance sur l’effacement de la clé MK, celle-ci est générée à partir de la combinaison d’au moins deux clés K1 et K2, par exemple par la combinaison XOR de K1 et K2. Seules les clés K1 et K2 sont stockées en mémoire, la clé MK n’étant ainsi jamais stockée dans une mémoire persistante en clair. Les clés K1 , K2 peuvent être stockées dans des zones mémoires distinctes. Ainsi, la clé K1 est par exemple stockée dans un emplacement de mémoire interne d’un registre 151 du microprocesseur. Avantageusement, un tel emplacement mémoire permet d’obtenir un temps d’accès en lecture/écriture très rapide.
De surcroît, ces registres 151 peuvent être réinitialisés via une entrée GPIO extérieure qui permet un effacement quasi instantané.
Quant à elle, la clé K2 est par exemple stockée dans une mémoire interne vive 152 statique ou dynamique de type RAM, SRAM ou FLASH. Facultativement, la clé K2 est stockée à une adresse déterminée aléatoirement.
De façon optionnelle, les registres 151 et la mémoire interne vive 152 utilisent des mécanismes d’effacements différents, ce qui permet avantageusement d’augmenter la protection logicielle.
En référence également à la figure 3, il sera maintenant décrit un procédé 100 de protection du terminal de paiement 1 , implémentant une boucle de sécurité BS.
Le procédé 100 permet de protéger le terminal de paiement 1 par la surveillance contre les attaques physiques et les attaques logicielles pour garantir la confidentialité et l'authenticité des données. Les attaques physiques considérées sont par exemple liées à l'altération de l'appareil, à la température, à l'horloge, à la sous ou surtension, aux impulsions électromagnétiques, au balayage fréquentiel.
Suite au démarrage (« boot ») ou au redémarrage suite à une réinitialisation (« reset ») du terminal de paiement 1 , le procédé 100 comporte une étape E0 d’initialisation du procédé 100. Au lancement, si les clés K1 et K2 ont déjà une valeur, elles sont supprimées, puis le générateur aléatoire est utilisé pour générer un aléa qui devient le nouveau jeu de clés K1 , K2.La boucle de sécurité BS peut être exécutée en continu. Cependant, de façon préférentielle, pour limiter la consommation, la boucle de sécurité BS est exécutée périodiquement, par exemple environ toutes les 100ms, ainsi le reste du temps le microcontrôleur 10 est dans un état de veille.
Ainsi, après l’étape d’initialisation E0, dans une étape E1 , la boucle de sécurité BS est démarrée, mais mise dans un état de veille.
Une unité minuteur 1 1 1 permet d’activer l’exécution de la boucle BS périodiquement.
L’unité minuteur 11 1 est pilotée par exemple par l’horloge LSE. Ladite unité 11 1 génère périodiquement des interruptions à destination du processeur m du microcontrôleur 10. Ces interruptions permettent l’arrêt temporaire de l’exécution normale d’un programme en tâche de fond du terminal de paiement 1 , dans le but d’exécuter la boucle de sécurité BS. Avantageusement, pour éviter qu’un attaquant se synchronise sur la boucle de sécurité BS, la valeur du temps entre deux itérations de la boucle est aléatoire entre environ 80ms et environ 100ms.
Dans ce but, l’unité minuteur 1 1 1 utilise le générateur aléatoire interne au microcontrôleur 10 pour générer une variation aléatoire inférieure à environ 20 ms.
Le microcontrôleur 10 s'assure en outre que ce nombre aléatoire n'est pas utilisé à d'autres fins.
Il est maintenant décrit plus en détail des attaques physiques dont le procédé 100 et le terminal de paiement sécurisé 1 ont pour responsabilité de surveiller.
Ouverture
Une attaque de sabotage par ouverture se produit lorsque le terminal de paiement 1 est ouvert ou qu'un composant inattendu entre dans une zone sécurisée dudit terminal 1 . L'ouverture du terminal 1 est détectée grâce à une pluralité de commutateurs (Sw1 , Sw2, ..., SwN) localisés en différents endroits d’un boîtier du terminal 1. Les commutateurs sont par exemple implémentés par des GPIO configurés en entrée du microcontrôleur 10, élevés par des résistances internes au microcontrôleur 10.
Lorsque le terminal 1 est fermé, ces signaux sont connectés à une phase à la masse du terminal de paiement 1 .
Un module de surveillance d’ouverture 121 a pour fonction de détecter un état d’ouverture du terminal par la surveillance de la valeur de la pluralité des signaux transmis par les commutateurs (Sw1 , Sw2, ..., SwN). Par exemple, dans un état non-ouvert du terminal, les commutateurs ont pour valeur une première valeur (par exemple égale à 0). Si le terminal est ouvert, au moins un des commutateurs, selon son emplacement, est à même de détecter cette ouverture, en prenant une seconde valeur (par exemple égale à 1 ). Le module de surveillance d’ouverture 121 a pour fonction de détecter un tel changement de valeur d’au moins un commutateur, et de transmettre un signal de violation S1 au microcontrôleur 10. Celui-ci peut être configuré pour comporter des moyens de réception dudit signal de violation S1 , tels qu’un ou plusieurs ports spécifiques, sur lesquels la réception d’un signal audit microprocesseur 10 signifie la détection d’une attaque. Lesdits ports peuvent être spécifiques ou non à un type d’attaque.
Perçage Le perçage du terminal 1 est détecté grâce à au moins un treillis métallique. Celui-ci est implémenté par exemple par un maillage connecté aux moyens d’interface du microcontrôleur. Par exemple, un maillage est un couple (A, B) de GPIO. Au moins deux mailles M1 , M2 sont ainsi nécessaires pour protéger l'appareil du perçage. GPIO A est configuré en entrée et GPIO B en sortie.
Un module de surveillance de perçage 122 écrit une séquence aléatoire, par exemple de 16 bits, vers la sortie (le débit étant choisi en fonction des contraintes matérielles, en effet, le temps de montée et de descente dépend de la longueur du maillage). La même séquence doit être lue sur l'entrée GPIO. Ensuite, GPIO B est défini comme entrée et A comme sortie et la même vérification est appliquée.
La séquence aléatoire de bits appliquée est choisie au hasard parmi un ensemble de séquences possibles (par exemple au moins 20). La séquence aléatoire est générée par le générateur aléatoire réel interne du microcontrôleur 10. En outre, celui-ci s'assure que la séquence aléatoire n'est pas utilisée à d'autres fins.
En conséquence, dans le cas où la séquence réceptionnée ne correspond pas à la séquence prédéfinie, le module de surveillance 122 est configuré pour transmettre un signal de violation S1 au microprocesseur 10.
Température
Une attaque de température est détectée lorsque la température courante du terminal de paiement 1 est supérieure ou inférieure à une plage de température attendue. Par exemple, la plage de température de fonctionnement normale est d’environ [-30 °C ; + 85 °C].
Le microcontrôleur 10 comporte par exemple au moins un capteur de température intégré pour mettre en oeuvre la surveillance de la température.
Un module de surveillance température 123 a pour fonction de mesurer les températures, via le(s) capteur(s) de température, de détecter un état anormal de la température si la température mesurée n’est pas dans la zone de fonctionnement normal prévue, et dans ce cas de transmettre un signal de violation S1 au microprocesseur 10. Fréquence d’horloge
Les fonctions de surveillance exécutées par les différents modules de surveillance 121 à 123 permettent donc d’effectuer une surveillance sécurisée chargée de détecter une variété d’attaques physiques.
Un module de sécurité 120 regroupe les modules de surveillance 121 à 123 et les fonctions de surveillance associées. Ledit module 120 de sécurité est configuré pour effectuer une surveillance sécurisée et de détecter des attaques de sécurité sur le terminal de paiement 1 en implémentant la boucle de sécurité BS (qui exécute les fonctions du module de sécurité 120) décrite précédemment.
Ainsi, dans une étape E10a, il est procédé à la mesure des différents paramètres physiques à surveiller par les moyens de mesure du module de sécurité 120.
Dans une étape E10b, il est ensuite procédé à la comparaison des valeurs mesurées à des valeurs seuils prédéterminées, correspondantes à des attaques physiques du terminal 1 . Dans le cas où une comparaison est significative d’une attaque physique du terminal 1 , un signal de violation S1 est transmis à un port de réception du microprocesseur 10
Pour assurer que la boucle de sécurité BS est systématiquement exécutée malgré les attaques, la fréquence de l’horloge qui pilote l’unité minuteur 1 1 1 , l’horloge LSE (Low Speed External Clock), est vérifiée par un compteur piloté par la HSI (High Speed Internai Clock).
Dans ce but, dans une étape E10c, le module de sécurité 120 fait dans la boucle de sécurité BS, un premier comptage du nombre de « coups » (tel un front montant ou descendant d’un signal d’horloge) de l’horloge HSI dans un cycle de l’horloge LSI pour vérifier que la fréquence de l’horloge HSI est dans un intervalle de fréquence acceptable (par exemple dans la gamme de fonctionnement normal [+/- 30 KHz). Dans le cas où cette condition ne serait pas vérifiée un signal de violation S1 est transmis à un port de réception du microprocesseur 10 Puis, dans une étape E10d, le module de sécurité 120 fait dans la boucle de sécurité BS, un second comptage du nombre de coups de l’horloge LSE dans un cycle de l’horloge HSI pour vérifier que la fréquence de l’horloge LSE est dans un intervalle de fréquence acceptable (par exemple dans la gamme de fonctionnement normal [30 KHz - 34 KHz]). Dans le cas où cette condition ne serait pas vérifiée un signal de violation S1 est transmis à un port de réception du microprocesseur 10
Le procédé 100 comporte également un autre mécanisme pour s’assurer que la boucle BS est régulièrement exécutée.
Ainsi le procédé 100 comporte un mécanisme dit « chien de garde » implémenté par un module 126 de surveillance de boucle BS, par exemple configuré pour mettre en oeuvre un compteur qui est régulièrement remis à zéro. Si le compteur dépasse une valeur donnée (timeout) alors il est procédé à un redémarrage (reset) du terminal de paiement 1.
Plus précisément, le module 126 de surveillance de boucle BS est démarré au démarrage du terminal de paiement 1 et ne peut jamais être arrêté tant que ce dernier est en fonctionnement. Si le compteur atteint une valeur prédéfinie, le terminal 1 est réinitialisé. Seule la boucle sécurisée BS "actualise" le compteur du module 126 de surveillance de boucle dans une étape E13, en effet, préférentiellement seule la boucle sécurisée BS dispose de l’accès au compteur 126. L'opération de rafraîchissement est effectuée une seule fois pendant le cycle de surveillance (c'est-à-dire que le chien de garde est actualisé dans le processus de boucle sécurisée périodique lorsque toutes les surveillances ont été traitées dans un laps de temps donné).
Le module 126 de surveillance de boucle, compare le compteur avec une valeur limite prédéfinie pour surveiller si la boucle de sécurité BS n’est pas exécutée dans le temps prédéfini.
Ainsi, si cette situation se présente, le compteur du chien de garde atteindra la valeur limite prédéfinie, et dans une étape E50, le module 126 de surveillance de boucle transmet un signal S2 de redémarrage au microprocesseur 10.
Avantageusement, ce mécanisme de chien de garde permet d’assurer que tout le code lié à la sécurité est exécuté dans le temps.
Préférentiellement, le délai d'expiration du chien de garde est environ égal à "Période de surveillance périodique + 50 ms".
Le compteur du module 126 de surveillance de boucle est piloté par l’horloge LSI, pour être incrémenté à chaque coup d’horloge (réception d’un front montant ou descendant du signal d’horloge). La fréquence de l’horloge LSI est donc également surveillée pour vérifier qu’il n’y a pas d’attaque du terminal de paiement 1 par manipulation de la fréquence de ladite horloge LSI dans une zone de fréquence anormale, dans le but d’entrainer un dysfonctionnement du terminal de paiement 1.
Ainsi, la vérification de la fréquence de la LSI (par exemple dans la gamme de fonctionnement normal [30 KHz - 34 KHz]) est réalisée dans une étape E30 par un module 131 de vérification de fréquence, implémenté par exemple par un circuit passe-bande externe associé à un transistor dont la sortie pilote la transmission d’un signal de violation S1 à un port de réception du microprocesseur 10.
Tension d’alimentation
Une attaque de sécurité est considérée lorsque la tension d’alimentation du microcontrôleur 10 est inférieure ou supérieure à des valeurs seuils.
La tension Vcc du microcontrôleur 10 est fournie par l'alimentation principale lorsque la batterie est branchée et par l'alimentation de secours lorsque la batterie est retirée. Le système étant ainsi normalement toujours alimenté, la perte de Vcc est considérée comme une attaque de sécurité. Le microcontrôleur 10 comporte un module de surveillance de tension basse 141 pour mesurer la tension et détecter lorsque la tension est inférieure à une valeur seuil, par exemple lorsque la tension chute en dessous d’environ 2.2 V.
Le module de surveillance de tension basse 141 est par exemple implémenté par un circuit de réinitialisation de baisse de tension interne au microprocesseur 10, ledit circuit étant configuré pour transmettre un signal de réinitialisation S2 au microprocesseur 10.
La réinitialisation a pour effet de supprimer les données de la mémoire vive, et donc la suppression de la clé K2. Préférentiellement, la réinitialisation est détectée "instantanément" (c'est-à-dire qu'il s'agit d'un circuit uniquement matériel). Pour optimiser le délai de suppression de la clé K2, celle-ci peut être placée dans une zone d’adresse en début de mémoire 152
Une attaque de sécurité est considérée lorsque Vcc est par exemple au-dessus de 3.7V.
Un module de surveillance de tension haute 132 est responsable de la surveillance haute tension, par exemple sous la forme d’un contrôleur externe de surveillance de très faible puissance. Celui-ci est configuré pour, dans une étape E40, détecter lorsque la tension est supérieure à une valeur seuil par exemple 3,7V, et si cette condition est vérifiée, transmettre un signal de violation S1 à un port de réception du microprocesseur 10.
Le microcontrôleur 10 comporte des ports dédiés à la réception d’un signal de violation S1.
Ainsi, dans une étape E11 , à la réception d’un signal sur un de ces ports, le microcontrôleur 10 procède à la suppression de la clé K1 stockée dans une mémoire de registre 151. Ce traitement permet d’avoir un temps de suppression le plus court possible, l’exécution de la commande de suppression ne dépendant pas d’un signal d’horloge. En outre, la commande peut être exécutée même si les différentes horloges ne sont pas fonctionnelles.
En parallèle, il est également procédé à l’effacement de la zone mémoire 152 dans lequel la clé K2 est stockée.
Le microcontrôleur 10 comporte également des ports dédiés à la réception d’un signal de réinitialisation S2.
Ainsi, à la réception d’un signal sur un de ces ports, le microcontrôleur 10 procède à la suppression de la clé K2 stockée dans une mémoire volatile dans une étape de Reset.
A titre d’exemple, le temps d'effacement pour un mot de 32 bits dans une mémoire de type SRAM2 est de 1 cycle d'horloge (c'est-à-dire 250 ns). Le temps d'effacement SRAM2 complet est 8192 * 250 = 2.048 ms Egalement, dans une étape E12, le module de sécurité peut enregistrer les types d’alarmes et la « date » à laquelle chaque alarme est vue. Avantageusement, les données enregistrées peuvent être analysées lorsque le terminal entre en maintenance suite à une attaque de sécurité.
Dans un mode de réalisation alternatif, le terminal de paiement 1 peut comprendre également un module de filtrage (non représenté).
Ainsi, dans une étape E12’, quand le module de sécurité détecte une anomalie, le module de filtrage est configuré pour traiter l’alarme et pour ensuite exécuter un algorithme de filtrage/détection pour une ou plusieurs itérations de la boucle de sécurité BS. Ledit algorithme permet de déclarer si l’alarme est significative d’une véritable situation de piratage du terminal pour dans ce cas procéder à la suppression d’une ou plusieurs clés stockées.
Dans un mode de réalisation particulier, un algorithme de filtrage/détection est tel qu’à la réception d’un ou de plusieurs signaux de violation S1 dans un premier délai déterminé, le microcontrôleur 10 procède à la suppression de la clé K1 dans le cas où un signal de violation S1 est reçu dans un second délai déterminé (par exemple environ une seconde). Un tel algorithme permet de réaliser un filtrage sur les évènements d’origine mécanique (ouverture, perçage...). Ainsi, si plusieurs évènements mécaniques sont détectés simultanément et s’arrêtent avant le délai déterminé, la clé MK n’est pas supprimée, puisque ceci est par exemple la signature d’un modèle d’une chute du terminal 1 .
Pour éviter que des hackers, après avoir eu accès à cet algorithme, utilisent ce filtrage pour attaquer plus facilement le terminal, le système de filtrage ne peut pas être activé pendant un délai (dont une composante est aléatoire) à la suite d’une séquence de filtrage d’un même évènement. Ceci n’a pas d’effet dans le cadre d’une utilisation normale puisque par exemple dans le cas d’un évènement de chute, il est peu probable de faire tomber deux fois de suite en moins de quelques secondes le même terminal.
Par ailleurs, avantageusement, le terminal 1 peut être configuré avec des modèles d’attaque physique, en utilisant des évènements d’attaques collectés sur plusieurs types de chute, lors de phase de conception ou de test du terminal. Ce modèle est ainsi utilisé pour filtrer les attaques pendant la vie du produit.
Avantageusement, ceci permet d’éviter de déclarer une attaque alors que la détection d’une attaque ne correspond qu’à un parasite passager.
En outre, les données enregistrées (alarme(s) et date(s)) par le terminal de paiement 1 , ou par une pluralité de terminaux de paiement 1 , peuvent être analysées pour affiner l’algorithme de filtrage/détection

Claims

REVENDICATIONS
1. Procédé (100) de protection d’un terminal (1 ) de paiement, ledit terminal (1 ) de paiement comprenant :
- une clé (MK) de cryptage de données accédée pour le cryptage de données à sécuriser ;
- un module (120) de surveillance d’au moins un paramètre physique du terminal comprenant un moyen de mesure dudit paramètre physique;
- un microcontrôleur (10);
- une unité compteur du microcontrôleur,
- une horloge (LSI), l’unité compteur étant asservi sur ladite horloge pour incrémenter à intervalle régulier une valeur compteur de l’unité compteur ; ledit procédé comprenant les étapes suivantes :
- (E10a) mesure d’un paramètre physique par le moyen de mesure du dispositif de surveillance ;
- (E10b) comparaison de la valeur mesurée à une valeur seuil prédéterminée, correspondante à une attaque physique dudit terminal par le dispositif de surveillance ;
- (E1 1 ) suppression de l’accès à la clé (MK) de cryptage de données par le microprocesseur (10) si une des conditions suivantes est remplie :
o au moins une valeur de paramètres physiques est significative d’une attaque physique dudit terminal ;
o la valeur compteur est supérieure à une valeur seuil prédéfinie ;
- (E13) réinitialisation de l’unité compteur par le dispositif de surveillance ; et dans lequel les étapes de mesure (E10a), de comparaison (E10b), et de réinitialisation (E13) sont exécutées périodiquement.
2. Procédé (100) de protection d’un terminal (1 ) de paiement, selon la revendication 1 dans lequel la clé (MK) de cryptage est générée par la combinaison d’une pluralité de clés (K1 , K2) stockées dans au moins une mémoire (151 , 152) du terminal (1 ).
3. Procédé (100) de protection d’un terminal (1 ) de paiement, selon la revendication
2 dans lequel la clé (MK) de cryptage est générée par la combinaison d’une première (K1 ) et d’une seconde (K2) clé, la première clé (K1 ) étant stockée dans une zone de mémoire (151 ) de type registre du microprocesseur (10), la seconde clé (K2) étant stockée dans une zone de mémoire (152) de type mémoire volatile du microprocesseur (10), et dans lequel l’étape (E1 1 ) de suppression comporte la suppression d’au moins une clé de la zone de mémoire associée.
4. Procédé (100) de protection d’un terminal (1 ) de paiement, selon la revendication
3 dans lequel l’étape (E11 ) de suppression met en oeuvre des méthodes de suppressions distinctes pour la première clé (K1 ) stockée dans une zone de mémoire (151 ) de type registre du microprocesseur (10), et la seconde clé (K2) stockée dans une zone de mémoire (152) de type mémoire volatile du microprocesseur (10).
5. Procédé (100) de protection d’un terminal (1 ) de paiement selon l’une des revendications précédentes dans lequel la période d’exécution T1 étant aléatoirement comprise dans un intervalle de valeurs prédéfinies [T1a ; T 1 b].
6. Procédé (100) de protection d’un terminal (1 ) de paiement, selon la revendication précédente dans lequel le procédé (100) comporte également les étapes suivantes :
- vérification que la valeur du délai prédéfini T1 est comprise dans un intervalle de valeurs prédéfini, et si la valeur n’est pas comprise dans l’intervalle :
- suppression d’au moins une clé de la pluralité de clés.
7. Procédé (100) de protection d’un terminal (1 ) de paiement selon l’une des revendications 5 à 6 dans lequel le terminal (1 ) de paiement comporte également une seconde horloge (LSE) avec une fréquence prédéfinie pour piloter la période d’exécution T1 , ladite horloge (LSE) étant configurée pour transmettre dans une étape (E0) une interruption au microcontrôleur pour l’exécution périodique des étapes de mesure (E10a), de comparaison (E10b), et de réinitialisation (E13).
8. Procédé (100) de protection d’un terminal (1 ) de paiement selon la revendication précédente dans lequel le terminal (1 ) comporte également une troisième horloge (HSI) avec une fréquence prédéfinie et dans lequel le procédé (100) comporte une étape (E50) de vérification de la fréquence de la seconde horloge (LSE) comprenant :
- l’incrémentation d’une unité compteur à chaque signal d’horloge de la seconde horloge ;
- la détermination d’une fréquence par le calcul du nombre d’incrémentations dans un cycle d’horloge de la troisième horloge ;
- comparaison de la fréquence calculée avec un intervalle de fréquence prédéterminé ; et si la fréquence calculée n’est pas l’intervalle
- suppression d’au moins une clé de la pluralité de clés.
9. Procédé (100) de protection d’un terminal (1 ) de paiement, selon la revendication précédente dans lequel le terminal comporte également une étape (E30) de vérification de la fréquence de la troisième horloge (HSI) comprenant :
- l’incrémentation d’une unité compteur à chaque signal d’horloge de la troisième horloge (HSI);
- la détermination d’une fréquence par le calcul du nombre d’incrémentations dans un cycle d’horloge de la première horloge (LSI) ;
- comparaison de la fréquence calculée avec un intervalle de fréquence prédéterminé ; et si la fréquence calculée n’est pas l’intervalle
- suppression d’au moins une clé de la pluralité de clés.
10. Procédé (100) de protection d’un terminal (1 ) de paiement selon l’une des revendications précédentes dans lequel le terminal (1 ) comporte également un filtre passe-bande configuré pour filtrer une bande de fréquences prédéfinie et pour recevoir un signal d’horloge de la première horloge (LSI), et ledit procédé (100) comporte également une étape comprenant la suppression d’au moins une clé de la pluralité de clés si aucun signal n’est présent en sortie du filtre.
1 1 . Procédé (100) de protection d’un terminal (1 ) de paiement, selon l’une des revendications précédentes dans lequel le dispositif (120) de surveillance d’au moins un paramètre physique du terminal (1 ) comporte un ou plusieurs moyens de mesure configuré pour :
- mesurer la tension d’alimentation du terminal (1 ) de paiement ;
- mesurer la température de fonctionnement du terminal (1 ) de paiement;
- détecter l’ouverture du terminal (1 ) de paiement; et
- détecter le perçage du terminal (1 ) de paiement.
12. Procédé (100) de protection d’un terminal (1 ) de paiement, selon l’une des revendications précédentes dans lequel
le dispositif (120) de surveillance est configuré pour émettre un signal de violation (S1 ) significatif d’une attaque physique dudit terminal ; et dans lequel le microcontrôleur (10) comporte au moins un port de réception dudit signal de violation (S1 ); et dans lequel l’accès à la clé (MK) de cryptage de données est supprimé à la réception dudit signal (S1 ) sur ledit port de réception.
13. Procédé (100) de protection d’un terminal (1 ) de paiement, selon la revendication précédente dans lequel le microprocesseur (10) est également configuré pour, préalablement à la suppression de l’accès à la clé (MK) de cryptage de données, exécuter un algorithme de filtrage à la suite de la réception du signal de violation (S1 ), ledit algorithme de filtrage détectant si le signal de violation (S1 ) est significatif d’une attaque physique dudit terminal, et pour dans ce cas procéder à la (E1 1 ) suppression de l’accès à la clé (MK) de cryptage de données.
14. Terminal (1 ) de paiement sécurisé comprenant :
- une clé (MK) de cryptage de données, ladite clé (MK) de cryptage étant accédée pour le cryptage de données à sécuriser ;
- un dispositif (120) de surveillance d’au moins un paramètre physique du terminal comprenant un moyen de mesure dudit paramètre physique;
- un microcontrôleur (10) ;
- une unité compteur du microcontrôleur (10),
- une horloge (LSI), l’unité compteur étant asservi sur ladite horloge (LSI) pour incrémenter à intervalle régulier une valeur compteur de l’unité compteur ;
- ledit dispositif (120) de surveillance étant configuré pour périodiquement :
- (E10a) mesurer un paramètre physique par le moyen de mesure ; - (E10b) comparer de la valeur mesurée à une valeur seuil prédéterminée, correspondante à une attaque physique dudit terminal par le dispositif (120) de surveillance ;
- (E1 1 ) supprimer l’accès à la clé (MK) de cryptage de données si l’une des conditions suivantes est remplie :
o au moins une valeur de paramètres physiques est significative d’une attaque physique dudit terminal ;
o la valeur compteur est supérieure à une valeur seuil prédéfinie ; et ;
(E13) réinitialiser l’unité compteur.
15. Produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé (100) de protection d’un terminal (1 ) de paiement selon l’une quelconque des revendications 1 à 13 lorsque ce programme est exécuté par un processeur.
PCT/EP2019/067471 2018-06-29 2019-06-28 Procede de protection d'un terminal de paiement WO2020002677A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
MX2021000199A MX2021000199A (es) 2018-06-29 2019-06-28 Metodo para proteger un terminal de pago.
BR112020026769-4A BR112020026769A2 (pt) 2018-06-29 2019-06-28 Método para proteger um terminal de pagamento
EP19733503.7A EP3814959A1 (fr) 2018-06-29 2019-06-28 Procede de protection d'un terminal de paiement
US17/256,833 US12058242B2 (en) 2018-06-29 2019-06-28 Method for protecting a payment terminal
PE2020002196A PE20210993A1 (es) 2018-06-29 2019-06-28 Metodo para proteger un terminal de pago
CONC2021/0000053A CO2021000053A2 (es) 2018-06-29 2021-01-06 Método para proteger un terminal de pago

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1855990 2018-06-29
FR1855990A FR3083412B1 (fr) 2018-06-29 2018-06-29 Procede de protection d'un terminal de paiement

Publications (1)

Publication Number Publication Date
WO2020002677A1 true WO2020002677A1 (fr) 2020-01-02

Family

ID=64049337

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/067471 WO2020002677A1 (fr) 2018-06-29 2019-06-28 Procede de protection d'un terminal de paiement

Country Status (9)

Country Link
US (1) US12058242B2 (fr)
EP (1) EP3814959A1 (fr)
BR (1) BR112020026769A2 (fr)
CL (1) CL2020003399A1 (fr)
CO (1) CO2021000053A2 (fr)
FR (1) FR3083412B1 (fr)
MX (1) MX2021000199A (fr)
PE (1) PE20210993A1 (fr)
WO (1) WO2020002677A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11687468B2 (en) * 2020-07-02 2023-06-27 International Business Machines Corporation Method and apparatus for securing memory modules
CN113918622B (zh) * 2021-10-22 2022-04-19 南京理工大学 基于区块链的信息溯源方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0965902A2 (fr) * 1994-06-28 1999-12-22 National Semiconductor Corporation Processeur de données sécurisé à cryptographie et détection de manipulation non autorisée
FR2871905A1 (fr) * 2004-06-21 2005-12-23 Innova Card Sarl Dispositif de securisation d'un circuit electronique
US20170017943A1 (en) * 2015-07-14 2017-01-19 Texas Instruments Incorporated Tamper detection

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9818004B1 (en) * 2016-08-31 2017-11-14 Square, Inc. Anti-tamper circuit with internal local oscillator
US10438190B2 (en) * 2017-07-18 2019-10-08 Square, Inc. Devices with on-board physically unclonable functions
US10410189B2 (en) * 2017-09-30 2019-09-10 Square, Inc. Scanning system with direct access to memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0965902A2 (fr) * 1994-06-28 1999-12-22 National Semiconductor Corporation Processeur de données sécurisé à cryptographie et détection de manipulation non autorisée
FR2871905A1 (fr) * 2004-06-21 2005-12-23 Innova Card Sarl Dispositif de securisation d'un circuit electronique
US20170017943A1 (en) * 2015-07-14 2017-01-19 Texas Instruments Incorporated Tamper detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RA?L JIM?NEZ-NAHARRO ET AL: "Design and Implementation of a New Real-Time Frequency Sensor Used as Hardware Countermeasure", SENSORS, vol. 13, no. 9, 1 January 2013 (2013-01-01), CH, pages 11709 - 11727, XP055441735, ISSN: 1424-8220, DOI: 10.3390/s130911709 *

Also Published As

Publication number Publication date
EP3814959A1 (fr) 2021-05-05
CO2021000053A2 (es) 2021-04-19
FR3083412A1 (fr) 2020-01-03
PE20210993A1 (es) 2021-06-01
BR112020026769A2 (pt) 2021-03-30
MX2021000199A (es) 2021-06-08
US12058242B2 (en) 2024-08-06
FR3083412B1 (fr) 2021-09-24
CL2020003399A1 (es) 2021-05-14
US20210281398A1 (en) 2021-09-09

Similar Documents

Publication Publication Date Title
EP3195296B1 (fr) Système et procédé de sécurisation d'un circuit électronique
EP2280364B1 (fr) Détecteur d'injection de fautes dans un circuit intégré
WO2019129439A1 (fr) Capteur numérique quantitatif
EP3814959A1 (fr) Procede de protection d'un terminal de paiement
CA2575143C (fr) Procede et dispositif de traitement de donnees
FR2947361A1 (fr) Procede de detection d'une tentative d'attaque, support d'enregistrement et processeur de securite pour ce procede
EP3063693A1 (fr) Systeme de detection d'intrusion dans un dispositif comprenant un premier systeme d'exploitation et un deuxieme systeme d'exploitation
FR2843466A1 (fr) Procede pour empecher la falsification d'un systeme de traitement de donnees, et ce systeme
FR2728369A1 (fr) Procede et dispositif pour accroitre la securite d'un circuit integre
EP0791877B1 (fr) Dispositif électronique délivrant une référence temporelle sûre pour la protection d'un logiciel
EP3964989B1 (fr) Collecte d'informations de diagnostic dans un dispositif
EP3721363A1 (fr) Systeme et procede de licence et de mesure d'utilisation d'un bloc ip
EP3042334B1 (fr) Procédé de mise en place de moyens de sécurité en fonction d'un indice de confiance variant avant et après l'exécution de commandes sous la forme ddans un dispositif électronique à mémoire, et dispositif pour la mise en oeuvre dudit procédé
FR3070076A1 (fr) Procede de protection d'un dispositif electronique contre des attaques par injection de faute
Gravellier Remote hardware attacks on connected devices
FR3069993A1 (fr) Dispositifs et procedes de masquage d'operations de chiffrement rsa
EP2652664A1 (fr) Procede dynamique de controle de l'integrite de l'execution d'un code executable
EP4116855B1 (fr) Circuit intégré programmable utilisant une source radioactive
US20230306108A1 (en) Data encryption detection
WO2011073301A1 (fr) Procede de protection polymorphe d'un code executable
KR101673367B1 (ko) 경고 어플리케이션을 이용하여 메인 어플리케이션의 보안 위협 시도를 경고할 수 있는 모바일 단말기의 어플리케이션 보안 제공 방법
EP1573547A1 (fr) DISPOSITIFS ET PROC D S DE COMPTABILISATION ET D&ap os;ANALYSE TEMPORELLE D V NEMENTS
FR3132365A1 (fr) Mémoire non volatile sécurisée
CN118734301A (zh) 使计算机系统免受基于加密的恶意软件影响的方法和系统
FR2711263A1 (fr) Dispositif électronique de certification horodatée.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19733503

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112020026769

Country of ref document: BR

WWE Wipo information: entry into national phase

Ref document number: 2019733503

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 112020026769

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20201228