CN114816867A - FPGA-based fault injection password target implementation system and method - Google Patents

FPGA-based fault injection password target implementation system and method Download PDF

Info

Publication number
CN114816867A
CN114816867A CN202110063628.6A CN202110063628A CN114816867A CN 114816867 A CN114816867 A CN 114816867A CN 202110063628 A CN202110063628 A CN 202110063628A CN 114816867 A CN114816867 A CN 114816867A
Authority
CN
China
Prior art keywords
fpga
circuit
module
fault injection
implementation system
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202110063628.6A
Other languages
Chinese (zh)
Inventor
徐九八
杜磊
赵永锁
杨子航
石健
李海滨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Smart Cloud Measurement Information Technology Co ltd
Original Assignee
Beijing Smart Cloud Measurement Information Technology Co ltd
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 Beijing Smart Cloud Measurement Information Technology Co ltd filed Critical Beijing Smart Cloud Measurement Information Technology Co ltd
Priority to CN202110063628.6A priority Critical patent/CN114816867A/en
Publication of CN114816867A publication Critical patent/CN114816867A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Bioethics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

The invention provides a fault injection password target implementation system and method based on an FPGA. The FPGA-based fault injection password target implementation system comprises a DC/DC isolation module, a DC/DC power supply module, an optical coupling isolation module, an FPGA nuclear circuit, a USB serial port conversion module, a reset input circuit, a trigger output circuit, a JTAG download circuit, a reset circuit, a clock burr circuit, a voltage burr circuit and a FLASH storage, wherein the DC/DC isolation module is a DC/DC voltage conversion module, the DC/DC isolation module is connected with the DC/DC power supply module, and the DC/DC power supply module is connected with the optical coupling isolation module and the FPGA nuclear circuit. The fault injection password target implementation system and method based on the FPGA have the advantages of being reasonable in design, capable of obtaining error information leaked by the FPGA and analyzing the error information, thereby obtaining a correct key result and providing support for effective evaluation of the fault attack resistance of password equipment.

Description

FPGA-based fault injection password target implementation system and method
Technical Field
The invention relates to the technical field of password equipment irrigation, in particular to a fault injection password target implementation system and method based on an FPGA.
Background
With the popularization of information devices, cryptographic chips are widely used in the fields of finance, commerce, medical treatment, education, and the like, and security problems caused by the cryptographic chips are also highlighted. At present, a cryptographic algorithm is mature, a vulnerability of the cryptographic algorithm is researched on a mathematical level, and the possibility of breaking the cryptographic algorithm is low, but the security of the cryptographic chip can be greatly threatened by collecting and analyzing the running time, energy, clock and the like of the core on a physical level. By injecting physical faults into the encryption chip, the chip is enabled to carry out abnormal encryption, and an attacker can carry out differential analysis by using the encrypted ciphertext to obtain corresponding key information.
The external physical interference can attack the cipher chip in 3 modes of invasion, semi-invasion or non-invasion, wherein physical changes of temperature, ray, voltage, electromagnetism and the like can be used as means for attacking the encryption of the chip. When the power supply voltage is too high or too low, the chip arithmetic logic operation instruction, the storage read-write instruction and the judgment instruction can be tampered, and wrong execution occurs. The voltage burr is used as a non-invasive attack mode, the concealment is strong, the voltage burr is formed by debugging chip power supply voltage, a specific burr voltage is injected into a power supply section of the password chip, the password chip can wrongly execute an instruction, mistaken encryption is carried out, and a wrong ciphertext is output. By setting the burr delay, amplitude and width, the voltage burr can attack a certain round of the cryptographic algorithm, and the purpose of fault injection is achieved. Because the chip hardware structure has different sensitivity degrees to different voltage values, the effective attack voltages corresponding to different chips are different. The voltage fault injection attack needs to clearly attack the first round in advance and debug the pulse width and the voltage value which can be effectively attacked.
The technical scheme of the prior art I is as follows:
the password product is generally realized based on an electronic technology, the traditional fault injection password target is based on attack on a password security chip, however, the password chip is mainly applied to products such as an intelligent IC card, an encryption machine and the like, the password chip is subjected to external interference or artificial introduced faults including voltage burrs, clock burrs, laser, electromagnetic injection and the like in the operation process, so that the operation module has register faults or operation errors, and the fault injection attack is a method for obtaining a secret key by using the fault information attack generated by the fault behaviors.
The first prior art has the following defects:
the internal circuit of a common cryptographic chip is based on a CMOS process, and all operations of the cryptographic chip are realized by state changes of gate circuits. The traditional security chip is applied to products such as an intelligent IC card, an encryption machine and the like, and provides functions such as payment authentication, encryption communication and the like. The password chip is a chip for storing a password algorithm, and if the encryption level is not high, the password chip is easy to be reversed by a person, and then the password is obtained. The current attacks still mainly focus on resource-limited cryptographic integrated circuits represented by smart cards, and many attack methods rely on details of algorithm implementation or defense methods, which are difficult in most resource-limited attacks. Therefore, there is a need to provide a new implementation of fault injection password target based on FPGA to solve the above technical problems.
Therefore, it is necessary to provide a new FPGA-based fault injection cryptographic target implementation system and method to solve the above technical problems.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a fault injection password target implementation system and method based on FPGA, which has reasonable design, can avoid being analyzed reversely, solves the problems of insufficient resources, high operation speed and high flexibility, provides higher safety, can integrate various encryption and decryption algorithms into a whole and can analyze out a secret key quickly.
In order to solve the technical problem, the fault injection password target implementation system and method based on the FPGA provided by the invention comprise:
the DC/DC isolation module is a DC direct current voltage conversion module, the DC/DC isolation module is connected with the DC/DC power supply module, the DC/DC power supply module is connected with the optical coupling isolation module and the FPGA nuclear power circuit, the optical coupling isolation module is connected with the FPGA nuclear power circuit, the USB to serial port module, the reset input circuit, the trigger input circuit and the trigger output circuit are connected with the optical coupling isolation module, and the USB to serial port module is connected with the DC/DC isolation module, the JTAG downloading circuit, the reset circuit, the clock burr circuit, the voltage burr circuit and the FLASH storage are connected with the FPGA core circuit.
Preferably, the FPGA core circuit is an EP4 series chip of ALTERA written with AES \ RSA \ DES \ SM4\ SM2 algorithm.
Preferably, the optical coupling isolation module is a chip adopting optical coupling isolation.
Preferably, the clock glitch circuit and the voltage glitch circuit are an external input glitch-containing clock and voltage.
Preferably, the USB to serial port module is a chip using a USB to serial port.
Preferably, the reset input circuit supports an externally input reset signal of 5V/3.3V.
Preferably, the trigger output circuit is a trigger signal supporting output of 5V/3.3V.
Preferably, the output voltage of the DC/DC power supply module is 3.3V, 2.5V, 1.2V and 1.0V.
A fault injection password target implementation method based on FPGA comprises the following two steps:
s1, sending a random plaintext through a serial port, and executing a corresponding cryptographic algorithm to obtain a correct ciphertext;
and S2, introducing a precisely controllable clock or voltage burr in the power-on running process to make the chip generate specific errors during operation, and analyzing and cracking out the sensitive information such as correct keys.
Compared with the related technology, the fault injection password target implementation system and method based on the FPGA have the following beneficial effects:
the invention provides a fault injection password target implementation system and method based on FPGA, which can help a user to quickly detect a leakage point and quickly evaluate an attack strategy, is a powerful tool for the user to carry out fault injection analysis, carries out statistical analysis and complex mathematical processing on an acquired track signal through ICAttack powerful analysis software, and finally presents a final analysis result to the user in an interface display mode to help the user to realize development and implementation of self functions; when a user has own special algorithm requirements or other module requirements (such as a preprocessing module, a leakage model and the like), the user can completely realize free development through the platform, integrate own functions, realize personalized function customization, provide a completely open development environment, meet the secondary development requirements of the user and provide support for effective evaluation of the fault attack resistance capability of the password equipment.
Drawings
FIG. 1 is a block diagram of a fault injection password target implementation system based on FPGA provided by the present invention;
fig. 2 is a flowchart of encryption operation execution in the method for implementing fault injection coded target based on FPGA according to the present invention.
Detailed Description
The invention is further described with reference to the following figures and embodiments.
Please refer to fig. 1 and fig. 2 in combination, wherein fig. 1 is a block diagram of the FPGA-based fault injection cryptographic target implementation system provided in the present invention; fig. 2 is a flowchart of encryption operation execution in the method for implementing fault injection coded target based on FPGA according to the present invention. The fault injection password target implementation system and method based on the FPGA comprise the following steps:
the DC/DC isolation module is a DC direct current voltage conversion module, the DC/DC isolation module is connected with the DC/DC power supply module, the DC/DC power supply module is connected with the optical coupling isolation module and the FPGA nuclear power circuit, the optical coupling isolation module is connected with the FPGA nuclear power circuit, the USB to serial port module, the reset input circuit, the trigger input circuit and the trigger output circuit are connected with the optical coupling isolation module, and the USB to serial port module is connected with the DC/DC isolation module, the JTAG downloading circuit, the reset circuit, the clock burr circuit, the voltage burr circuit and the FLASH storage are connected with the FPGA core circuit.
The FPGA core circuit is an EP4 series chip of ALTERA written with AES \ RSA \ DES \ SM4\ SM2 algorithm.
The optical coupling isolation module is a chip adopting optical coupling isolation.
The clock burr circuit and the voltage burr circuit are an external input clock and voltage with burrs.
The USB-to-serial port module is a chip adopting a USB-to-serial port.
The reset input circuit is used for supporting an externally input reset signal of 5V/3.3V.
The trigger output circuit supports outputting 5V/3.3V trigger signals.
The output voltage of the DC/DC power supply module is 3.3V, 2.5V, 1.2V and 1.0V.
A fault injection password target implementation method based on FPGA comprises the following two steps:
s1, sending a random plaintext through a serial port, and executing a corresponding cryptographic algorithm to obtain a correct ciphertext;
and S2, introducing a precisely controllable clock or voltage burr in the power-on running process to make the chip generate specific errors in operation and analyze and crack out sensitive information such as correct keys.
In the S1, the password target based on the FPGA core circuit is connected to a PC port through a USB connecting line, corresponding parameters are set, a test attack script code compiled by an upper computer is operated, a random plaintext is sent through a serial port, after the password target receives the plaintext, a trigger signal is generated, encryption operation of the random plaintext and a fixed key is firstly carried out, the upper computer receives a returned correct ciphertext, ciphertext information is automatically stored, and the execution is repeated for multiple times until the experiment is finished.
In the S2, the PC continuously sends random plaintext to the cipher target through the serial port, then displays the sent plaintext and the returned correct cipher text on the software interface, introduces precisely controllable voltage burr or clock burr signals on the pins of GND, VCC and CLK of the ARM at a certain position at a certain moment, so that the chip generates some wrong cipher texts under the condition of fault injection, records the cipher text information collected by the computer during each encryption and automatically stores the cipher text information. And then guiding the collected fault ciphertext data into a computer with ICAttack to carry out DFA attack, opening a differential error analysis tool, selecting a random fault attack model of a corresponding algorithm, and analyzing a correct key result.
Compared with the related technology, the fault injection password target implementation system and method based on the FPGA have the following beneficial effects:
the invention provides a fault injection password target implementation system and method based on FPGA, which can help a user to quickly detect a leakage point and quickly evaluate an attack strategy, is a powerful tool for the user to carry out fault injection analysis, carries out statistical analysis and complex mathematical processing on an acquired track signal through ICAttack powerful analysis software, and finally presents a final analysis result to the user in an interface display mode to help the user to realize development and implementation of self functions; when a user has own special algorithm requirements or other module requirements (such as a preprocessing module, a leakage model and the like), the user can completely realize free development through the platform, integrate own functions, realize personalized function customization, provide a completely open development environment, meet the secondary development requirements of the user and provide support for effective evaluation of the fault attack resistance capability of the password equipment.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (9)

1. The utility model provides a fault injection password target implementation system based on FPGA which characterized in that includes:
the DC/DC isolation module is a DC direct current voltage conversion module, the DC/DC isolation module is connected with the DC/DC power supply module, the DC/DC power supply module is connected with the optical coupling isolation module and the FPGA nuclear power circuit, the optical coupling isolation module is connected with the FPGA nuclear power circuit, the USB to serial port module, the reset input circuit, the trigger input circuit and the trigger output circuit are connected with the optical coupling isolation module, and the USB to serial port module is connected with the DC/DC isolation module, the JTAG downloading circuit, the reset circuit, the clock burr circuit, the voltage burr circuit and the FLASH storage are connected with the FPGA core circuit.
2. The FPGA-based fault injection cryptographic target implementation system of claim 1, wherein the FPGA core circuit is an EP4 series chip of ALTERA written with AES \ RSA \ DES \ SM4\ SM2 algorithm.
3. The FPGA-based fault injection coded target implementation system of claim 1, wherein the optocoupler isolation module is a chip employing optocoupler isolation.
4. The FPGA-based fault injection cryptographic target implementation system of claim 1, wherein the clock glitch circuit and the voltage glitch circuit are external input glitched clocks and voltages.
5. The FPGA-based fault injection coded target implementation system of claim 1, wherein the USB to serial port module is a chip employing a USB to serial port.
6. The FPGA-based fault injection cryptographic target implementation system of claim 1, wherein the reset input circuit is a reset signal supporting external input of 5V/3.3V.
7. The FPGA-based fault injection cryptographic target implementation system of claim 1, wherein the trigger output circuit is a trigger signal supporting output of 5V/3.3V.
8. The FPGA-based fault injection coded target implementation system of claim 1, wherein the output voltage of the DC/DC power supply module is 3.3V, 2.5V, 1.2V and 1.0V.
9. The FPGA-based fault injection cryptographic target implementation method of claims 1-8, comprising the following two steps:
s1, sending a random plaintext through a serial port, and executing a corresponding cryptographic algorithm to obtain a correct ciphertext;
and S2, introducing a precisely controllable clock or voltage burr in the power-on running process to make the chip generate specific errors during operation, and analyzing and cracking out the sensitive information such as correct keys.
CN202110063628.6A 2021-01-18 2021-01-18 FPGA-based fault injection password target implementation system and method Pending CN114816867A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110063628.6A CN114816867A (en) 2021-01-18 2021-01-18 FPGA-based fault injection password target implementation system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110063628.6A CN114816867A (en) 2021-01-18 2021-01-18 FPGA-based fault injection password target implementation system and method

Publications (1)

Publication Number Publication Date
CN114816867A true CN114816867A (en) 2022-07-29

Family

ID=82524572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110063628.6A Pending CN114816867A (en) 2021-01-18 2021-01-18 FPGA-based fault injection password target implementation system and method

Country Status (1)

Country Link
CN (1) CN114816867A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116400199A (en) * 2023-06-05 2023-07-07 中国汽车技术研究中心有限公司 Chip clock burr fault injection cross-validation test method and device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105281888A (en) * 2015-11-05 2016-01-27 工业和信息化部电信研究院 Fault injection method and fault injection device for password chips
CN110795900A (en) * 2019-11-26 2020-02-14 北京智慧云测信息技术有限公司 Intelligent burr design circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105281888A (en) * 2015-11-05 2016-01-27 工业和信息化部电信研究院 Fault injection method and fault injection device for password chips
CN110795900A (en) * 2019-11-26 2020-02-14 北京智慧云测信息技术有限公司 Intelligent burr design circuit

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
中国计算机学会微机专业委员会: "《2004年全国第五届嵌入式系统学术交流会论文集》", 30 September 2004, 北京航空航天大学出版社, pages: 436 *
李德文: "《煤矿粉尘危害防控关键技术》", 30 September 2020, 东南大学出版社, pages: 177 - 178 *
段晓毅, 李姣, 蒋桂秋: "智能卡电压故障注入攻击研究与实现", 《北京电子科技学院学报》, vol. 27, no. 3, 30 September 2019 (2019-09-30), pages 40 - 49 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116400199A (en) * 2023-06-05 2023-07-07 中国汽车技术研究中心有限公司 Chip clock burr fault injection cross-validation test method and device
CN116400199B (en) * 2023-06-05 2023-09-15 中国汽车技术研究中心有限公司 Chip clock burr fault injection cross-validation test method and device

Similar Documents

Publication Publication Date Title
Limaye et al. Is robust design-for-security robust enough? Attack on locked circuits with restricted scan chain access
US8341475B2 (en) Microprocessor comprising signature means for detecting an attack by error injection
KR100966661B1 (en) Method and apparatus for secure scan testing
US10282552B1 (en) Device blanking
Korak et al. Clock glitch attacks in the presence of heating
Prinetto et al. Hardware Security, Vulnerabilities, and Attacks: A Comprehensive Taxonomy.
CN104777761B (en) Realize the method and circuit of MCU securities
Gamaarachchi et al. Power analysis based side channel attack
CN105095750A (en) Method and device for analyzing attack on smart card chip
CN104660466A (en) Security testing method and system
US20190197216A1 (en) Method, apparatus, and computer-readable medium for executing a logic on a computing device and protecting the logic against reverse engineering
CN114816867A (en) FPGA-based fault injection password target implementation system and method
Zhang et al. BitFREE: On significant speedup and security applications of FPGA bitstream format reverse engineering
CN105281888A (en) Fault injection method and fault injection device for password chips
Hutle et al. Resilience against physical attacks
Liu et al. Fault Model Analysis of DRAM under Electromagnetic Fault Injection Attack
Mezzah et al. Assertion based on-line fault detection applied on UHF RFID tag
Hummel Exploring effects of electromagnetic fault injection on a 32-bit high speed embedded device microprocessor
Hutter et al. On the security of RFID devices against implementation attacks
Mezzah et al. Extensive fault emulation on RFID tags for fault tolerance and security evaluation
Hériveaux Black-box laser fault injection on a secure memory
Kaur et al. Analytical Classifications of Side Channel Attacks, Glitch Attacks and Fault Injection Techniques: Their Countermeasures
Puschner et al. Security Analysis of IoT Devices: From the system level to the logic level
Skorobogatov Hardware security evaluation of MAX 10 FPGA
Desiraju High Speed Clock Glitching

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination