KR101029539B1 - Method and device of testing side-channel - Google Patents

Method and device of testing side-channel Download PDF

Info

Publication number
KR101029539B1
KR101029539B1 KR1020090023137A KR20090023137A KR101029539B1 KR 101029539 B1 KR101029539 B1 KR 101029539B1 KR 1020090023137 A KR1020090023137 A KR 1020090023137A KR 20090023137 A KR20090023137 A KR 20090023137A KR 101029539 B1 KR101029539 B1 KR 101029539B1
Authority
KR
South Korea
Prior art keywords
power
mcu
module
fpga
verification
Prior art date
Application number
KR1020090023137A
Other languages
Korean (ko)
Other versions
KR20100062796A (en
Inventor
최용제
최두호
조현숙
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20100062796A publication Critical patent/KR20100062796A/en
Application granted granted Critical
Publication of KR101029539B1 publication Critical patent/KR101029539B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

본 발명은 부채널 검증 방법 및 그 장치에 관한 것이다.

부채널 검증 장치는 소프트웨어로 구현된 암호 프로그램의 동작을 제어하는 MCU, 하드웨어로 구현된 암호 프로그램의 1차 동작 검증을 수행하는 FPGA, 그리고 MCU 내지 FPGA에 전원을 공급하여 MCU 내지 FPGA을 동작시키거나, 암호 프로그램의 구동 시 소비전력을 측정하여 측정한 소비전력을 토대로 부채널 분석을 수행하는 전원분리 모듈을 포함한다.

이로써 본 발명은 하드웨어나 소프트웨어로 구현된 암호 프로그램의 구동 시 소비 전력을 쉽게 측정할 수 있으며, 이를 통해 부채널 검증을 용이하게 할 수 있다.

Figure R1020090023137

부채널 공격, 암호, 하드웨어, 소프트웨어

The present invention relates to a subchannel verification method and apparatus.

The subchannel verification device operates the MCU to the MCU by supplying the MCU to control the operation of the cryptographic program implemented in software, the FPGA to perform the first operation verification of the cryptographic program implemented in hardware, and the MCU to the FPGA. It includes a power separation module that performs sub-channel analysis based on power consumption measured by measuring power consumption when the cryptographic program is driven.

Accordingly, the present invention can easily measure the power consumption when the cryptographic program implemented in hardware or software can be measured, thereby facilitating subchannel verification.

Figure R1020090023137

Side channel attacks, passwords, hardware, software

Description

부채널 검증 방법 및 그 장치{Method and device of testing side-channel}Subchannel verification method and device therefor {Method and device of testing side-channel}

본 발명은 부채널 검증 방법 및 그 장치에 관한 것이다. 특히 본 발명은 하드웨어(hardware, H/W) 내지 소프트웨어(software, S/W)로 구현된 암호 모듈의 부채널을 검증하는 방법 및 그 장치에 관한 것이다.The present invention relates to a subchannel verification method and apparatus. In particular, the present invention relates to a method and apparatus for verifying a subchannel of a cryptographic module implemented in hardware (H / W) to software (S / W).

본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-088-04, 과제명: 안전한 RFID/USN을 위한 정보보호 기술 개발].The present invention is derived from the research conducted as part of the IT growth engine technology development of the Ministry of Knowledge Economy and the Ministry of Information and Telecommunication Research and Development. [Task Management Number: 2005-S-088-04, Title: Information Protection for Secure RFID / USN] Technology development].

정보화 사회의 도래와 함께, 암호 알고리즘 및 암호 프로토콜을 이용한 정보의 보호는 그 중요성을 더해가고 있다. 부채널 공격(Side Channel Attack)은 암호 알고리즘에 대한 강력한 공격 기법 중의 하나이다. 때문에, 부채널 공격 기술은 점차 보안 제품에 대한 커다란 위협 요소가 되고 있다. With the advent of the information society, the protection of information using cryptographic algorithms and cryptographic protocols is increasing in importance. Side Channel Attack is one of the powerful attack techniques for cryptographic algorithms. Because of this, side-channel attack techniques are increasingly a major threat to security products.

부채널 공격 기술은 통신상의 실행시간, 전력 소비, 전자기파 방사 등의 물리적 특성을 측정하며, 내부 암호 키에 관련된 정보를 부채널에서 얻는 것이다.The subchannel attack technique measures physical characteristics such as communication execution time, power consumption, and electromagnetic radiation, and obtains information related to the internal encryption key from the subchannel.

따라서, 부채널 공격에 대한 분석은 하드웨어(hardware, H/W)나 소프트웨어(software, S/W)로 구현된 암호 알고리즘 구동 시 소비전력을 측정하는 것으로 수행되고 있다. 한편, 하드웨어나 소프트웨어로 구현된 암호 알고리즘의 구동 시 소비전력을 측정하는 것이 쉽지 않다. Therefore, the analysis of the side channel attack is performed by measuring the power consumption when the cryptographic algorithm implemented in hardware (hardware, hardware) or software (software, software). On the other hand, it is difficult to measure the power consumption when the cryptographic algorithm implemented in hardware or software is driven.

본 발명이 이루고자 하는 기술적 과제는 하드웨어나 소프트웨어로 구현된 암호 프로그램의 구동 시 소비 전력을 쉽게 측정할 수 있는 부채널 검증 방법 및 장치를 제공하는 것이다.An object of the present invention is to provide a subchannel verification method and apparatus that can easily measure power consumption when a cryptographic program implemented in hardware or software is driven.

상기한 목적을 달성하기 위한 본 발명의 특징에 따른 부채널 검증 장치는 Subchannel verification apparatus according to a feature of the present invention for achieving the above object

소프트웨어로 구현된 암호 프로그램의 동작을 제어하는 MCU(Micro control unit), 하드웨어로 구현된 암호 프로그램의 1차 동작 검증을 수행하는 FPGA(field programmable gate array), 그리고 상기 MCU 내지 상기 FPGA에 전원을 공급하여 상기 MCU 내지 상기 FPGA을 동작시키거나, 상기 암호 프로그램의 구동 시 소비전력을 측정하여 측정한 소비전력을 토대로 부채널 분석을 수행하는 복수개의 전원분리 모듈을 포함한다. MCU (Micro control unit) for controlling the operation of the cryptographic program implemented in software, field programmable gate array (FPGA) for performing the first operation verification of the cryptographic program implemented in hardware, and supplies power to the MCU to the FPGA And a plurality of power separation modules configured to operate the MCU to the FPGA or perform subchannel analysis based on power consumption measured by measuring power consumption when the cryptographic program is driven.

또한, 본 발명의 다른 특징에 따른 전원분리 모듈을 포함하는 장치가 부채널을 검증하는 방법은In addition, a method for verifying a subchannel by an apparatus including a power separation module according to another aspect of the present invention

상기 장치에서 하드웨어 내지 소프트웨어로 구현된 암호 프로그램의 동작이 수행되는 경우, 상기 전원분리 모듈에서 전류값의 변화를 감지하는 단계, 감지한 상기 전류값의 변화로 인하여 상기 전원분리 모듈이 포함하는 저항 사이의 전압이 가변하는 단계, 상기 저항 사이의 가변하는 전압값을 측정하는 단계, 그리고 측정한 전압값 변화를 토대로 부채널 분석을 수행하는 단계를 포함한다. Detecting a change in the current value in the power separation module when an operation of an encryption program implemented in hardware or software is performed in the device, between the resistors included in the power separation module due to the detected change in the current value. The step of varying the voltage of, measuring the variable voltage value between the resistance, and performing the sub-channel analysis based on the measured voltage value change.

본 발명의 실시예에 따르면, 하드웨어나 소프트웨어로 구현된 암호 프로그램에 대한 부채널 검증을 용이하게 할 수 있다. According to an embodiment of the present invention, it is possible to facilitate side channel verification for a cryptographic program implemented in hardware or software.

또한 본 발명의 실시예에 따르면, 보안 관련 암호 프로그램의 부채널 검증을 수행할 수 있으며, 이를 통해 안전한 보안 제품 개발을 수행할 수 있다. In addition, according to an embodiment of the present invention, it is possible to perform side channel verification of the security-related cryptographic program, through which a secure security product development can be performed.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. .

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “… module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. Can be.

이하에서는, 본 발명의 실시예에 따른 부채널 검증 방법 및 그 장치에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다.Hereinafter, a subchannel verification method and an apparatus thereof according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 본 발명의 실시예에 따른 부채널 검증 장치는 호스트 PC(도시하지 않음)와 연동하며, 호스트 PC는 하드웨어(H/W) 내지 소프트웨어(S/W)로 구현된 암호 모듈일 수 있다. 또한, 본 발명의 실시예에 따른 부채널 검증 장치는 호스트 PC 에서 암호 하드웨어 및 암호 소프트웨어를 구동하는 경우에 해당하는 부채널을 검증하는 장치이다. First, the subchannel verification apparatus according to the embodiment of the present invention interworks with a host PC (not shown), and the host PC may be an encryption module implemented in hardware (H / W) to software (S / W). In addition, the sub-channel verification apparatus according to an embodiment of the present invention is a device for verifying the sub-channel corresponding to the case of driving the cryptographic hardware and cryptographic software in the host PC.

도 1은 본 발명의 실시예에 따른 부채널 검증 장치의 구조를 개략적으로 나타낸 도면이다.1 is a view schematically showing the structure of a subchannel verification apparatus according to an embodiment of the present invention.

도 1을 참고하면, 부채널 검증 장치는 전원 모듈(100), 복수개의 전원분리 모듈(200), 통신 모듈(300), MCU(Micro control unit)(400), 제1 신호 모듈(510), 현장 프로그래머블 게이트 어레이(field programmable gate array, 이하 "FPGA"라고 함)(600), 제2 신호 모듈(520), EEPROM(700), 보안 모듈(800), 변환 모듈(900) 및 출력 모듈(1000)을 포함한다.Referring to FIG. 1, the subchannel verification apparatus includes a power supply module 100, a plurality of power separation modules 200, a communication module 300, a microcontrol unit (MCU) 400, a first signal module 510, Field programmable gate array (hereinafter referred to as "FPGA") 600, second signal module 520, EEPROM 700, security module 800, conversion module 900 and output module 1000 ).

전원 모듈(100)은 전원을 공급하는 전원선을 이용하여 부채널 검증 장치 내의 각 모듈로 전원을 공급한다. The power supply module 100 supplies power to each module in the subchannel verification apparatus by using a power supply line for supplying power.

복수개의 전원분리 모듈(200) 각각은 전원 모듈(100)과 하나의 모듈(MCU(400), FPGA(600), 보안 모듈(800) 중 하나) 사이에 연결되어 있다. Each of the plurality of power separation modules 200 is connected between the power module 100 and one module (one of the MCU 400, the FPGA 600, and the security module 800).

복수개의 전원분리 모듈(200) 각각은 전원 모듈(100)로부터 해당하는 전원선 을 통해 전원을 공급받아, MCU(400), FPGA(600), 보안 모듈(800) 중 자신과 연결된 하나의 모듈로 전원을 공급하여 모듈을 동작시키거나 호스트 PC(도시하지 않음)에서 암호 프로그램의 구동 시 소비전력을 측정한다. Each of the plurality of power separation modules 200 receives power from the power module 100 through a corresponding power line, and is connected to one of the MCU 400, the FPGA 600, and the security module 800. Measure the power consumption when operating the module or supplying power to the cryptographic program at the host PC (not shown).

본 발명의 실시예에 따른 전원분리 모듈(200)은 소프트웨어 내지 하드웨어로 구현된 암호 프로그램의 구동시 측정한 소비전력을 토대로 부채널 분석을 수행한다. The power separation module 200 according to the embodiment of the present invention performs subchannel analysis based on power consumption measured when driving an encryption program implemented in software or hardware.

통신 모듈(300)은 호스트 PC와 연동하며, 암호 프로그램 동작 시 키 값, 평문, 암호문 등을 호스트 PC로부터 전달받는다. 여기서, 키 값과 평문은 MCU(400), FPGA(600) 또는 보안 모듈(800)에서 암호 프로그램의 동작을 위해 필요하며, 암호 프로그램의 동작 후 출력되는 암호문은 부채널 분석시 필요하다. The communication module 300 interworks with the host PC and receives key values, plain text, cipher text, and the like from the host PC when the cryptographic program operates. Here, the key value and the plain text are required for the operation of the cryptographic program in the MCU 400, the FPGA 600, or the security module 800, and the ciphertext output after the operation of the cryptographic program is necessary for the subchannel analysis.

MCU(400)는 소프트웨어로 구현된 암호 프로그램의 동작을 제어한다. The MCU 400 controls the operation of a cryptographic program implemented in software.

제1 신호 모듈(510)은 MCU(400)에서 암호 프로그램의 동작을 제어하고 전원분리 모듈(200)에서 소비전력 측정을 하는 경우 트리거 신호를 출력한다. 여기서, 트리거 신호는 암호 프로그램의 동작의 시작 시점을 알기 위해 사용되며, 이를 오실로스코프 파형 측정 시 트리거 신호로 사용한다. 오실로스코프의 트리거 신호는 신호 샘플링 시점을 판단하기 위해 사용한다. The first signal module 510 controls the operation of the cryptographic program in the MCU 400 and outputs a trigger signal when measuring the power consumption in the power separation module 200. Here, the trigger signal is used to know the start time of the operation of the cryptographic program, which is used as a trigger signal when measuring the oscilloscope waveform. The oscilloscope's trigger signal is used to determine when to sample the signal.

본 발명의 실시예에 따른 트리거 신호는 부채널 분석용 신호 검출시 보다 정확한 분석 지점을 추출하기 위한 것으로 신호 및 동작 확인을 위한 소자로 구성된다. The trigger signal according to an embodiment of the present invention is to extract a more accurate analysis point when detecting a subchannel analysis signal, and is composed of a signal and an element for checking an operation.

또한, 제1 신호 모듈(510)에서의 트리거 신호의 출력은 임의의 포트로 신호 를 출력하여, 출력된 트리거 신호를 오실로스코프에서 사용한다. 일반적으로 동작을 확인하기 위해서 LED와 같은 소자를 연결하여 이용한다. In addition, the trigger signal output from the first signal module 510 outputs a signal to an arbitrary port, and uses the output trigger signal in the oscilloscope. In general, it is used by connecting devices such as LED to check the operation.

FPGA(600)는 하드웨어(H/W)로 구현된 암호 프로그램에 대한 1차 동작 검증 및 부채널 신호를 추출한다. 여기서, FPGA(600)는 구현된 암호 프로그램의 키와 평문, 기타 입력값은 MCU(400)를 통해 통신 모듈(300)로부터 전달받는다. 또한, EEPROM(700)에 전원이 인가되면, FPGA(600)는 EEPROM(700)의 저장된 데이터를 이용하여 하드웨어를 재구성한다. The FPGA 600 extracts primary operation verification and subchannel signals for a cryptographic program implemented in hardware (H / W). Here, the FPGA 600 receives the key, the plain text, and other input values of the implemented encryption program from the communication module 300 through the MCU 400. In addition, when power is applied to the EEPROM 700, the FPGA 600 reconfigures hardware by using the stored data of the EEPROM 700.

본 발명의 실시예에 따른 MCU(400)와 FPGA(600)은 직렬 인터페이스 내지 병렬 인터페이스로 통신한다. The MCU 400 and the FPGA 600 according to an embodiment of the present invention communicate with each other through a serial interface or a parallel interface.

제2 신호 모듈(520)은 FPGA(600)에서 암호 프로그램에 대한 1차 동작 검증을 하고 FPGA 신호를 측정하는 경우 트리거 신호를 출력한다. 여기서, 트리거 신호는 암호 프로그램의 동작의 시작 시점을 알기 위해 사용되며, 이를 오실로스코프 파형 측정 시 트리거 신호로 사용한다. 오실로스코프의 트리거 신호는 신호 샘플링 시점을 판단하기 위해 사용한다. The second signal module 520 performs a first operation verification on the cryptographic program in the FPGA 600 and outputs a trigger signal when the FPGA signal is measured. Here, the trigger signal is used to know the start time of the operation of the cryptographic program, which is used as a trigger signal when measuring the oscilloscope waveform. The oscilloscope's trigger signal is used to determine when to sample the signal.

EEPROM(700)은 FPGA(600)로부터 FPGA 신호에 해당하는 데이터를 전달받아 저장한다. 여기서 데이터는 FPGA(600) 내에 구현되는 하드웨어 로직을 구성하는 정보를 포함한다. The EEPROM 700 receives and stores data corresponding to the FPGA signal from the FPGA 600. The data here includes information that constitutes hardware logic implemented in the FPGA 600.

보안 모듈(800)은 보안 칩을 포함하고 있으며, 보안 칩의 테스트를 수행한다.The security module 800 includes a security chip and performs a test of the security chip.

변환 모듈(900)은 보안 모듈(800)의 신호 레벨을 MCU(400)의 신호 레벨에 대 응하게 변환한다. The conversion module 900 converts the signal level of the security module 800 to correspond to the signal level of the MCU (400).

출력 모듈(1000)은 호스트 PC 없이 부채널 검증 장치 독자적으로 동작 시 부채널 검증 동작을 확인하여, 상기 부채널 검증 장치의 상태와 부채널 검증 결과를 출력한다. 또한, 출력 모듈(1000)은 출력을 위한 LCD 모듈을 포함할 수 있다. The output module 1000 checks the subchannel verification operation when the subchannel verification device is operated independently without the host PC, and outputs the state of the subchannel verification device and the subchannel verification result. In addition, the output module 1000 may include an LCD module for output.

다음, 본 발명의 실시예에 따른 복수개의 전원분리 모듈(200) 중 하나의 전원분리 모듈의 구조를 도 2를 참조하여 상세하게 설명한다. Next, a structure of one power separation module of the plurality of power separation modules 200 according to an embodiment of the present invention will be described in detail with reference to FIG. 2.

도 2는 본 발명의 실시예에 따른 전원분리 모듈의 구조를 개략적으로 나타낸 도면이다.2 is a view schematically showing the structure of a power separation module according to an embodiment of the present invention.

먼저, 하나의 전원분리 모듈(200)은 전원 모듈(100)로부터 전원을 공급받아, MCU(400), FPGA(600) 및 보안 모듈(800) 중 자신과 연결된 하나의 모듈로 전원을 공급한다. 이때, 전원을 공급하여 모듈을 동작시키거나 암호 프로그램의 구동 시 소비전력을 측정한다. First, one power separation module 200 receives power from the power module 100, and supplies power to one module connected to itself among the MCU 400, the FPGA 600, and the security module 800. At this time, power is supplied to measure the power consumption when operating the module or driving the cryptographic program.

도 2를 참고하면, 전원분리 모듈(200)은 제1 전원(VDD)(210) 및 제2 전원(GND)(220)과 각각의 전원에 해당하는 스위치(S) 및 저항(R)을 포함한다.Referring to FIG. 2, the power separation module 200 includes a first power source (VDD) 210 and a second power source (GND) 220, and a switch S and a resistor R corresponding to each power source. do.

제1 전원(VDD)(210)과 제2 전원(GND)(220) 사이에는 스위치(S)와 저항(R)이 병렬로 배치되어 있다. 스위치(S)가 온(on)인 경우 MCU(400), FPGA(600)이 정상적으로 동작하며, 스위치(S)가 오프(off)인 경우에는 저항(R)을 통한 회로로 동작한다. 여기서, 저항(R)은 가변저항이며, 저항값을 변화할 수 있다. 즉, 본 발명의 실시예에 따른 부채널 분석은 저항을 이용한 전압 변화를 토대로 수행한다. The switch S and the resistor R are disposed in parallel between the first power source VDD 210 and the second power source GND 220. When the switch S is on, the MCU 400 and the FPGA 600 operate normally, and when the switch S is off, the switch S operates as a circuit through the resistor R. Here, the resistor R is a variable resistor, and the resistance value can be changed. That is, the subchannel analysis according to the embodiment of the present invention is performed based on the voltage change using the resistor.

구체적으로, MCU(400)에서 암호 프로그램의 동작이 제어될 때, 전원분리 모 듈(200)에서 암호 프로그램의 구동 시 소비전력을 측정하는 경우를 예를 들어 설명한다. Specifically, when the operation of the cryptographic program in the MCU 400 is controlled, it will be described by taking an example of measuring the power consumption when the cryptographic program is driven in the power separation module 200.

복수개의 전원분리 모듈(200) 중 두 개의 전원분리 모듈(200)은 스위치(S)를 온하여 FPGA(600) 및 보안 모듈(800)에 각각 연결한다. 반면에, 하나의 전원분리 모듈(200)에서는 스위치(S)를 오프하여 MCU(400)를 저항(R)쪽으로 연결하고, MCU(400) 동작 시 저항 사이의 가변하는 전압을 측정한다. 이때, 전압이 가변하는 이유는 MCU(400)에서 임의의 동작이 수행되는 경우 흐르는 전류값에 변화가 발생하기 때문이다. Two power separation modules 200 of the plurality of power separation modules 200 turn on the switch S to connect to the FPGA 600 and the security module 800, respectively. On the other hand, in one power separation module 200, the switch S is turned off to connect the MCU 400 to the resistor R, and the variable voltage between the resistors is measured when the MCU 400 operates. In this case, the reason why the voltage is variable is that a change occurs in a current value flowing when an arbitrary operation is performed in the MCU 400.

이와 같이, 본 발명의 실시예에 따른 부채널 검증 장치는 전원분리 모듈(200)에서 측정한 전압 변화 즉, 소비전력을 토대로 부채널 분석을 수행한다. As described above, the subchannel verification apparatus according to the exemplary embodiment of the present invention performs the subchannel analysis based on the voltage change, that is, the power consumption measured by the power separation module 200.

다음, 본 발명의 실시예에 따른 부채널 검증 방법을 도 3을 참조하여 상세하게 설명한다. Next, a subchannel verification method according to an embodiment of the present invention will be described in detail with reference to FIG. 3.

도 3은 본 발명의 실시예에 따른 부채널 검증 방법을 개략적으로 나타낸 흐름도이다.3 is a flowchart schematically illustrating a subchannel verification method according to an embodiment of the present invention.

도 3을 참고하면, 전원 모듈(100)은 부채널 검증 장치 내의 각 모듈로 전원을 공급한다(S301). Referring to FIG. 3, the power supply module 100 supplies power to each module in the subchannel verification apparatus (S301).

전원분리 모듈(200)은 전원 모듈(100)로부터 전원을 공급받아, 자신에게 해당하는 모듈로 전원을 공급하여 모듈을 동작시킨다. 여기서, 전원분리 모듈(200)은 전원 모듈(100)과 MCU(400), FPGA(600), 보안 모듈(800) 사이에 각각 하나씩 존재한다. The power separation module 200 receives power from the power module 100 and supplies power to a module corresponding to the power separation module 200 to operate the module. Here, the power separation module 200 is present between the power supply module 100 and the MCU 400, the FPGA 600, and the security module 800, respectively.

본 발명의 실시예에 따른 전원분리 모듈(200)은 제1 전원(VDD)(210) 및 제2 전원(GND)(220)과 각각의 전원에 해당하는 스위치(S) 및 저항(R)을 포함한다.The power separation module 200 according to an exemplary embodiment of the present invention uses the first power source VDD 210 and the second power source GND 220, and a switch S and a resistor R corresponding to each power source. Include.

전원분리 모듈(200)은 자신이 포함하는 스위치(S)의 온(on)/ 오프(off)를 결정한다(S302).The power separation module 200 determines on / off of the switch S included therein (S302).

스위치(S)가 온인 경우, 전원분리 모듈(200)은 해당하는 모듈과 정상적으로 연결되며, 공급받은 전원을 해당하는 모듈로 공급한다. 해당하는 모듈은 공급받은 전원을 토대로 정상적으로 동작한다(S303).When the switch S is turned on, the power separation module 200 is normally connected to the corresponding module, and supplies the supplied power to the corresponding module. The corresponding module operates normally based on the supplied power (S303).

반면에 스위치(S)가 오프인 경우, 전원분리 모듈(200)은 저항(R)을 이용하는 회로로 동작한다(S304). 여기서, 하드웨어 내지 소프트웨어로 구현된 암호 프로그램의 동작이 수행되는 경우 전원분리 모듈(200)에서는 흐르는 전류값에 변화가 발생한다(S304).On the other hand, when the switch S is off, the power separation module 200 operates as a circuit using the resistor R (S304). Here, when the operation of the cryptographic program implemented by hardware or software is performed, the power separation module 200 generates a change in the current value flowing (S304).

전원분리 모듈(200)은 전류값에 변화의 발생으로 인하여 저항 사이의 전압이 가변하게 되므로, 가변하는 전압값을 측정한다(S305).Since the voltage between the resistors is variable due to the occurrence of a change in the current value, the power separation module 200 measures the variable voltage value (S305).

다음, 전원분리 모듈(200)은 측정한 전압 변화인 소비 전력을 토대로 부채널 분석을 수행한다(S306).Next, the power separation module 200 performs subchannel analysis based on the power consumption which is the measured voltage change (S306).

이와 같이, 본 발명의 실시예에 따른 부채널 검증 방법은 하드웨어나 소프트웨어로 구현된 암호 프로그램의 구동 시 소비 전력을 쉽게 측정할 수 있으며, 이를 통해 부채널 검증을 용이하게 할 수 있다. As described above, the subchannel verification method according to the embodiment of the present invention can easily measure the power consumption when the cryptographic program implemented by hardware or software can be easily measured, thereby facilitating the subchannel verification.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not implemented only through the apparatus and the method, but may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded. Implementation may be easily implemented by those skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 본 발명의 실시예에 따른 부채널 검증 장치의 구조를 개략적으로 나타낸 도면이다.1 is a view schematically showing the structure of a subchannel verification apparatus according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따른 전원분리 모듈의 구조를 개략적으로 나타낸 도면이다.2 is a view schematically showing the structure of a power separation module according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 부채널 검증 방법을 개략적으로 나타낸 흐름도이다.3 is a flowchart schematically illustrating a subchannel verification method according to an embodiment of the present invention.

Claims (9)

소프트웨어로 구현된 암호 프로그램의 동작을 제어하는 MCU(Micro control unit),Micro control unit (MCU) that controls the operation of cryptographic program implemented in software, 하드웨어로 구현된 암호 프로그램의 1차 동작 검증을 수행하는 FPGA(field programmable gate array), 그리고A field programmable gate array (FPGA) that performs first-order verification of a hardware-implemented cryptographic program, and 상기 MCU 내지 상기 FPGA에 전원을 공급하여 상기 MCU 내지 상기 FPGA을 동작시키거나, 상기 암호 프로그램의 구동 시 소비전력을 측정하여 측정한 소비전력을 토대로 부채널 분석을 수행하는 복수개의 전원분리 모듈A plurality of power separation modules for supplying power to the MCU to the FPGA to operate the MCU to the FPGA or performing subchannel analysis based on power consumption measured by measuring power consumption when the cryptographic program is driven; 을 포함하는 부채널 검증 장치.Sub-channel verification apparatus comprising a. 제1항에 있어서, The method of claim 1, 상기 MCU 및 상기 FPGA로 전원을 공급하는 전원 모듈Power module for supplying power to the MCU and the FPGA 을 더 포함하는 부채널 검증 장치.Sub-channel verification device further comprising. 제2항에 있어서, The method of claim 2, 상기 복수개의 전원분리 모듈 각각은 Each of the plurality of power separation modules 제1 전원과 제2 전원, 각 전원에 해당하는 스위치 및 저항을 포함하고, A first power supply and a second power supply, a switch and a resistor corresponding to each power supply; 상기 스위치가 오프인 경우 상기 저항 사이의 가변하는 전압을 측정하여, 측정한 전압 변화를 상기 소비전력으로 하는 부채널 검증 장치.The sub-channel verification device for measuring the variable voltage between the resistor when the switch is off, and the measured voltage change is the power consumption. 제3항에 있어서, The method of claim 3, 상기 스위치가 온인 경우 상기 MCU 내지 상기 FPGA와 정상적으로 연결하여, 상기 MCU 내지 상기 FPGA로 상기 전원 모듈로부터 전달받은 전원을 공급하는 부채널 검증 장치.The sub-channel verification device for supplying the power received from the power module to the MCU to the FPGA when the switch is normally connected to the MCU to the FPGA. 제2항에 있어서, The method of claim 2, 상기 복수개의 전원분리 모듈 각각은 Each of the plurality of power separation modules 상기 전원 모듈과 상기 MCU 사이와 상기 전원 모듈과 상기 FPGA 사이에 위치하는 부채널 검증 장치.And a subchannel verification device positioned between the power module and the MCU and between the power module and the FPGA. 전원분리 모듈을 포함하는 장치가 부채널을 검증하는 방법에 있어서, In the method including the power separation module to verify the sub-channel, 상기 장치에서 하드웨어 내지 소프트웨어로 구현된 암호 프로그램의 동작이 수행되는 경우, 상기 전원분리 모듈에서 전류값의 변화를 감지하는 단계, Detecting a change in a current value in the power separation module when an encryption program implemented in hardware or software is performed in the device; 감지한 상기 전류값의 변화로 인하여 상기 전원분리 모듈이 포함하는 저항 사이의 전압이 가변하는 단계,Varying the voltage between the resistors included in the power separation module due to the detected change in the current value, 상기 저항 사이의 가변하는 전압값을 측정하는 단계, 그리고Measuring a variable voltage value between the resistors, and 측정한 전압값 변화를 토대로 부채널 분석을 수행하는 단계Performing subchannel analysis based on the measured voltage value change 를 포함하는 부채널 검증 방법. Sub-channel verification method comprising a. 제6항에 있어서, The method of claim 6, 상기 측정한 전압값 변화는 상기 암호 프로그램의 구동 시의 소비전력인 것을 특징으로 하는 부채널 검증 방법.The measured voltage value change is a sub-channel verification method, characterized in that the power consumption when driving the cryptographic program. 제6항에 있어서, The method of claim 6, 상기 저항은 가변저항인 것을 특징으로 하는 부채널 검증 방법.And the resistor is a variable resistor. 제6항에 있어서, The method of claim 6, 상기 소프트웨어로 구현된 암호 프로그램의 동작을 제어하는 단계, 그리고Controlling the operation of the cryptographic program implemented in the software; and 상기 하드웨어로 구현된 암호 프로그램의 1차 동작 검증을 수행하는 단계Performing a first operation verification of the cryptographic program implemented in the hardware 를 더 포함하는 부채널 검증 방법. Sub-channel verification method further comprising.
KR1020090023137A 2008-12-02 2009-03-18 Method and device of testing side-channel KR101029539B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020080121432 2008-12-02
KR20080121432 2008-12-02

Publications (2)

Publication Number Publication Date
KR20100062796A KR20100062796A (en) 2010-06-10
KR101029539B1 true KR101029539B1 (en) 2011-04-18

Family

ID=42363003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090023137A KR101029539B1 (en) 2008-12-02 2009-03-18 Method and device of testing side-channel

Country Status (1)

Country Link
KR (1) KR101029539B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101408303B1 (en) 2011-11-28 2014-06-18 한국전자통신연구원 Apparatus and method for restricting repetitive collections of side channel information

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101418962B1 (en) 2009-12-11 2014-07-15 한국전자통신연구원 Secure device and method for preventing side chnannel attack
CN103632103B (en) * 2013-06-07 2016-08-24 中国科学院电子学研究所 A kind of real time data safety device and method thereof
CN103941615A (en) * 2014-02-24 2014-07-23 国家电网公司 Microcontroller controlling method used for wind-power-plant ultrasonic wind speed monitoring
CN112286756A (en) * 2020-09-29 2021-01-29 深圳致星科技有限公司 FPGA power consumption prediction method and system for federated learning heterogeneous processing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142670B2 (en) 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US20070076890A1 (en) 2005-08-24 2007-04-05 The University Of Guelph Current flattening and current sensing methods and devices
US20070180285A1 (en) 2006-01-31 2007-08-02 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US20080091975A1 (en) 2006-10-17 2008-04-17 Konstantin Kladko Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7142670B2 (en) 2001-08-14 2006-11-28 International Business Machines Corporation Space-efficient, side-channel attack resistant table lookups
US20070076890A1 (en) 2005-08-24 2007-04-05 The University Of Guelph Current flattening and current sensing methods and devices
US20070180285A1 (en) 2006-01-31 2007-08-02 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device
US20080091975A1 (en) 2006-10-17 2008-04-17 Konstantin Kladko Method and system for side-channel testing a computing device and for improving resistance of a computing device to side-channel attacks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101408303B1 (en) 2011-11-28 2014-06-18 한국전자통신연구원 Apparatus and method for restricting repetitive collections of side channel information

Also Published As

Publication number Publication date
KR20100062796A (en) 2010-06-10

Similar Documents

Publication Publication Date Title
Schellenberg et al. An inside job: Remote power analysis attacks on FPGAs
Jin et al. Experiences in hardware Trojan design and implementation
Bhunia et al. Protection against hardware trojan attacks: Towards a comprehensive solution
KR101029539B1 (en) Method and device of testing side-channel
Chiu et al. A secure test wrapper design against internal and boundary scan attacks for embedded cores
Tudosa et al. Hardware security in IoT era: The role of measurements and instrumentation
US20130024153A1 (en) Microprocessor testing circuit
Rathmair et al. Applied formal methods for hardware Trojan detection
US10107855B1 (en) Electromagnetic verification of integrated circuits
KR101577847B1 (en) Method for testing cryptographic circuits, secured cryptographic circuit capable of being tested, and method for wiring such circuit
Gnad et al. Checking for electrical level security threats in bitstreams for multi-tenant FPGAs
Abdulgadir et al. An open-source platform for evaluation of hardware implementations of lightweight authenticated ciphers
Wang et al. Malicious circuitry detection using transient power analysis for IC security
Rathmair et al. Hardware Trojan detection by specifying malicious circuit properties
CN114490208A (en) Test apparatus, test method, computer device, storage medium, and program product
Nisarga et al. System-level tamper protection using MSP MCUs
Velegalati et al. Introducing fobos: Flexible open-source board for side-channel analysis
Sharma et al. A state-of-the-art reverse engineering approach for combating hardware security vulnerabilities at the system and pcb level in iot devices
Abdelmalek et al. EPC Class 1 GEN 2 UHF RFID tag emulator for robustness evaluation and improvement
US20150349948A1 (en) Side channel analysis system and side channel analysis method using the same
Hutle et al. Resilience against physical attacks
Abdulgadir et al. An open-source platform for evaluating side-channel countermeasures in hardware implementations of lightweight authenticated ciphers
Liu et al. Practicality of using side-channel analysis for software integrity checking of embedded systems
Oswald Implementation attacks: from theory to practice
Udugama et al. A power to pulse width modulation sensor for remote power analysis attacks

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee