WO2020002677A1 - Procede de protection d'un terminal de paiement - Google Patents
Procede de protection d'un terminal de paiement Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012544 monitoring process Methods 0.000 claims abstract description 34
- 238000012806 monitoring device Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 35
- 238000012217 deletion Methods 0.000 claims description 17
- 230000037430 deletion Effects 0.000 claims description 17
- 238000001914 filtration Methods 0.000 claims description 14
- 238000005259 measurement Methods 0.000 claims description 8
- 238000005553 drilling Methods 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000004224 protection Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 244000045947 parasite Species 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/72—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/20—Point-of-sale [POS] network systems
- G06Q20/206—Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/0873—Details of the card reader
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F7/00—Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
- G07F7/08—Mechanisms 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/10—Mechanisms 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/1016—Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2101—Auditing as a secondary aspect
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2135—Metering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial 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
Description
Claims
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)
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)
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)
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 |
-
2018
- 2018-06-29 FR FR1855990A patent/FR3083412B1/fr active Active
-
2019
- 2019-06-28 EP EP19733503.7A patent/EP3814959A1/fr active Pending
- 2019-06-28 PE PE2020002196A patent/PE20210993A1/es unknown
- 2019-06-28 BR BR112020026769-4A patent/BR112020026769A2/pt unknown
- 2019-06-28 WO PCT/EP2019/067471 patent/WO2020002677A1/fr active Application Filing
- 2019-06-28 US US17/256,833 patent/US12058242B2/en active Active
- 2019-06-28 MX MX2021000199A patent/MX2021000199A/es unknown
-
2020
- 2020-12-28 CL CL2020003399A patent/CL2020003399A1/es unknown
-
2021
- 2021-01-06 CO CONC2021/0000053A patent/CO2021000053A2/es unknown
Patent Citations (3)
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)
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 |