KR102374329B1 - Apparatus and method for preventing power analysis attack using voltage change - Google Patents

Apparatus and method for preventing power analysis attack using voltage change Download PDF

Info

Publication number
KR102374329B1
KR102374329B1 KR1020200094060A KR20200094060A KR102374329B1 KR 102374329 B1 KR102374329 B1 KR 102374329B1 KR 1020200094060 A KR1020200094060 A KR 1020200094060A KR 20200094060 A KR20200094060 A KR 20200094060A KR 102374329 B1 KR102374329 B1 KR 102374329B1
Authority
KR
South Korea
Prior art keywords
value
voltage
level
delay
seed
Prior art date
Application number
KR1020200094060A
Other languages
Korean (ko)
Other versions
KR20220014234A (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 경북대학교 산학협력단
Priority to KR1020200094060A priority Critical patent/KR102374329B1/en
Publication of KR20220014234A publication Critical patent/KR20220014234A/en
Application granted granted Critical
Publication of KR102374329B1 publication Critical patent/KR102374329B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2855Environmental, reliability or burn-in testing
    • G01R31/2872Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation
    • G01R31/2879Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation related to electrical aspects, e.g. to voltage or current supply or stimuli or to electrical loads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption

Abstract

하드웨어가 임의의 클럭에 따라 명령을 처리하여 변화하는 전압을 측정하고, 측정된 전압으로부터 레벨 값과 지연 값을 생성하며, 레벨 값과 지연 값을 비교하여 시드 값을 생성하고, 시드 값에 따라 난수를 생성하여, 사전에 설정되는 복수개의 클럭 중 생성된 난수에 매칭되는 클럭을 추출하는, 전력분석 공격 방지 장치를 제공한다.Hardware processes a command according to an arbitrary clock to measure a changing voltage, generate a level value and a delay value from the measured voltage, compare the level value and the delay value to generate a seed value, and a random number according to the seed value To provide a power analysis attack prevention device that generates and extracts a clock matching the generated random number among a plurality of preset clocks.

Description

전압의 변화를 이용한 전력분석 공격 방지 장치 및 방법{APPARATUS AND METHOD FOR PREVENTING POWER ANALYSIS ATTACK USING VOLTAGE CHANGE}Power analysis attack prevention device and method using voltage change {APPARATUS AND METHOD FOR PREVENTING POWER ANALYSIS ATTACK USING VOLTAGE CHANGE}

본 발명은 전압의 변화를 이용한 전력분석 공격 방지 장치 및 방법에 관한 것으로, 보다 상세하게는, 하드웨어에서 수행되는 명령에 따른 채널의 전력 변화를 분석하여 정보를 탈취하는 전력분석 공격을 방지하는 전력분석 공격 방지 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for preventing a power analysis attack using a change in voltage, and more particularly, a power analysis for preventing a power analysis attack that steals information by analyzing a power change of a channel according to a command performed in hardware It relates to an attack prevention apparatus and method.

임베디드 장치와 같은 하드웨어는 작업을 수행하고, 다른 장치 또는 사물들과 상호 작용함으로써 IoT(Internet of Things) 구성에 필수적이다. 이에 따라, IoT 장치는 여러가지 보안 위협에 직면하고 있다. 일반적으로, 임베디드 장치는 접근성이 뛰어나므로, 공격자는 하드웨어에 쉽게 액세스하고, 공격할 수 있다.Hardware, such as embedded devices, are essential in configuring the Internet of Things (IoT) by performing tasks and interacting with other devices or things. Accordingly, IoT devices face various security threats. In general, because embedded devices are highly accessible, an attacker can easily access and attack the hardware.

이와 관련하여, 하드웨어에 대한 공격은 SCA(Side-Channel Attack) 등이 있다. SCA는 하드웨어의 전력 소비를 모니터링하여 명령의 실행 시간을 측정할 수 있다. 이에 따라, 공격자는 사전에 설정된 각 명령의 실행 시간과 하드웨어에서 수행되는 명령의 실행 시간을 비교하여, 실행되는 명령을 유추하거나, 정보를 탈취할 수 있다.In this regard, an attack on hardware includes a Side-Channel Attack (SCA) and the like. SCA can measure the execution time of instructions by monitoring the power consumption of the hardware. Accordingly, the attacker can infer the executed command or steal information by comparing the execution time of each instruction set in advance with the execution time of the instruction executed in hardware.

예를 들어, 공격자에 의해 공격되느 하드웨어의 암호가 4 자리인 경우에, 사용자로부터 입력된 암호와 하드웨어에 설정된 암호는 첫번째 문자부터 순차적으로 비교된다. 이에 따라, 사용자로부터 입력된 암호의 첫 문자와 하드웨어에 설정된 암호의 첫 문자만 동일한 경우와 사용자로부터 입력된 암호의 두번째 문자와 하드웨어에 설정된 암호의 두번째 문자까지 동일한 경우는 전원 패턴이 달라지게 된다.For example, when the password of the hardware attacked by the attacker is 4 digits, the password input by the user and the password set in the hardware are sequentially compared from the first character. Accordingly, the power pattern is different when only the first character of the password input by the user is the same as the first character of the password set in the hardware, and when the second character of the password input by the user is the same as the second character of the password set in the hardware.

이와 같이, SCA는 전력 소비 패턴 및 전자기장과 같은 부채널의 신호를 분석하여 원하는 암호 또는 정보를 추측하게 되며, 이에 따라, 하드웨어에 대한 전력분석 공격을 방지하기 위한 방안이 요구되는 실정이다.As described above, the SCA analyzes a signal of a subchannel such as a power consumption pattern and an electromagnetic field to guess desired encryption or information, and accordingly, a method for preventing a power analysis attack on hardware is required.

본 발명이 해결하고자 하는 기술적 과제는 하드웨어에서 수행되는 명령에 따라 변화하는 전압을 이용하여, 명령이 수행되는 시스템 클럭을 변화시키는 전력분석 공격 방지 장치 및 방법을 제공하는 것이다.The technical problem to be solved by the present invention is to provide a power analysis attack prevention apparatus and method for changing a system clock on which a command is executed by using a voltage that changes according to a command executed in hardware.

본 발명의 일측면은, 임의의 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어하는 명령 처리부; 상기 하드웨어에서 소모되는 전압을 측정하여 상기 전압의 크기에 따라 레벨 값을 생성하고, 상기 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 상기 레벨 값에 따른 지연 값을 생성하며, 상기 레벨 값과 상기 지연 값을 비교하여 시드 값을 생성하는 전압 측정부; 상기 시드 값에 따라 난수를 생성하는 난수 생성부; 및 사전에 설정되는 복수개의 클럭 중 상기 난수에 매칭되는 클럭을 추출하는 클럭 제어부를 포함할 수 있다.According to an aspect of the present invention, a command processing unit for controlling hardware to process a command by consuming a voltage according to an arbitrary clock; A level value is generated according to the magnitude of the voltage by measuring the voltage consumed by the hardware, and a delay value is generated according to the level value after an arbitrary time interval from the time when the voltage is measured, and the level value and the a voltage measuring unit generating a seed value by comparing the delay values; a random number generator for generating a random number according to the seed value; and a clock control unit configured to extract a clock matching the random number from among a plurality of preset clocks.

또한, 상기 전압 측정부는, 측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링하여 레벨 값을 산출하는 전원전압 생성기를 포함할 수 있다.In addition, the voltage measuring unit may include a power voltage generator for calculating a level value by sampling the measured voltage in a plurality of preset steps.

또한, 상기 전압 측정부는, 측정된 전압의 크기에 따라 상기 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정하고, 상기 전압이 측정된 시점으로부터 상기 지연 시간이 경과된 시점에서, 상기 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성하는 타이머를 포함할 수 있다.In addition, the voltage measuring unit sets a delay time indicating a time interval at which the delay value is generated according to the magnitude of the measured voltage, and when the delay time elapses from the time when the voltage is measured, the level value and It may include a timer that generates a delay value that appears as the same waveform.

또한, 상기 전압 측정부는, 상기 레벨 값과 상기 지연 값이 동일한 경우, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성하고, 상기 레벨 값과 상기 지연 값이 다른 경우, 상기 레벨 값과 상기 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성하는 비교기를 포함할 수 있다.In addition, the voltage measuring unit generates a seed value to appear as at least one of a high level and a low level when the level value and the delay value are the same, and when the level value and the delay value are different from the level value, the level value The comparator may include a comparator for generating a seed value to appear at a level opposite to the generated seed value when the value and the delay value are the same.

또한, 상기 난수 생성부는, 사전에 마련되는 설정 값과 임의의 피드백 루프 값을 입력 받고, 상기 설정 값과 상기 피드백 루프 값에 따라 제 1 논리 값을 출력하는 제 1 논리 소자; 상기 시드 값과 상기 제 1 논리 값을 입력 받고, 상기 시드 값과 상기 제 1 논리 값에 따라 제 2 논리 값을 출력하는 제 2 논리 소자; 및 상기 시드 값과 상기 제 2 논리 값을 입력 받고, 상기 시드 값과 상기 제 2 논리 값에 따라 상기 피드백 루프 값을 출력하는 제 3 논리 소자를 포함할 수 있다.The random number generator may include: a first logic element that receives a preset value and an arbitrary feedback loop value, and outputs a first logic value according to the preset value and the feedback loop value; a second logic element receiving the seed value and the first logic value and outputting a second logic value according to the seed value and the first logic value; and a third logic element that receives the seed value and the second logic value and outputs the feedback loop value according to the seed value and the second logic value.

또한, 상기 클럭 제어부는, 상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값을 입력 받고, 상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값에 따라 사전에 설정되는 복수개의 클럭 중 하나의 클럭을 추출할 수 있다.In addition, the clock control unit receives the first logic value, the second logic value, and the feedback loop value, and receives a plurality of preset values according to the first logic value, the second logic value, and the feedback loop value. One of the clocks can be extracted.

본 발명의 다른 일측면은, 전압의 변화를 이용한 전력분석 공격 방지 장치를 이용하는 전력분석 공격 방지 방법에 있어서, 명령을 처리하도록 마련된 하드웨어에서 소모되는 전압을 측정하는 단계; 상기 전압의 크기에 따라 레벨 값을 생성하고, 상기 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 상기 레벨 값에 따른 지연 값을 생성하며, 상기 레벨 값과 상기 지연 값을 비교하여 시드 값을 생성하는 단계; 상기 시드 값에 따라 난수를 생성하는 단계; 사전에 설정되는 복수개의 클럭 중 상기 난수에 매칭되는 클럭을 추출하는 단계; 및 상기 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어하는 단계를 포함할 수 있다.Another aspect of the present invention provides a method for preventing a power analysis attack using an apparatus for preventing a power analysis attack using a change in voltage, the method comprising: measuring a voltage consumed in hardware provided to process a command; A level value is generated according to the magnitude of the voltage, a delay value is generated according to the level value after an arbitrary time interval from the time when the voltage is measured, and a seed value is generated by comparing the level value and the delay value to do; generating a random number according to the seed value; extracting a clock matching the random number from among a plurality of preset clocks; and controlling the hardware to consume a voltage to process the command according to the clock.

또한, 상기 시드 값을 생성하는 단계는, 측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링하여 레벨 값을 산출하는 단계를 포함할 수 있다.Also, the generating of the seed value may include calculating the level value by sampling the measured voltage in a plurality of preset steps.

또한, 상기 시드 값을 생성하는 단계는, 측정된 전압의 크기에 따라 상기 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정하고, 상기 전압이 측정된 시점으로부터 상기 지연 시간이 경과된 시점에서, 상기 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성하는 단계를 포함할 수 있다.In addition, the generating of the seed value includes setting a delay time indicating a time interval at which the delay value is generated according to the magnitude of the measured voltage, and when the delay time elapses from the time when the voltage is measured, The method may include generating a delay value represented by the same waveform as the level value.

또한, 상기 시드 값을 생성하는 단계는, 상기 레벨 값과 상기 지연 값이 동일한 경우, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성하고, 상기 레벨 값과 상기 지연 값이 다른 경우, 상기 레벨 값과 상기 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성하는 단계를 포함할 수 있다.In addition, the generating of the seed value includes generating a seed value to appear as at least one of a high level and a low level when the level value and the delay value are the same, and the level value and the delay value are different from each other. In this case, the method may include generating a seed value such that the level value and the delay value are displayed as a level opposite to the generated seed value when the delay value is the same.

또한, 상기 난수를 생성하는 단계는, 사전에 마련되는 설정 값과 임의의 피드백 루프 값을 입력 받고, 상기 설정 값과 상기 피드백 루프 값에 따라 제 1 논리 값을 출력하고, 상기 시드 값과 상기 제 1 논리 값을 입력 받고, 상기 시드 값과 상기 제 1 논리 값에 따라 제 2 논리 값을 출력하며, 상기 시드 값과 상기 제 2 논리 값을 입력 받고, 상기 시드 값과 상기 제 2 논리 값에 따라 상기 피드백 루프 값을 출력할 수 있다.In addition, the generating of the random number includes receiving a preset value and an arbitrary feedback loop value, and outputting a first logic value according to the preset value and the feedback loop value, the seed value and the second receives one logical value, outputs a second logical value according to the seed value and the first logical value, receives the seed value and the second logical value, and according to the seed value and the second logical value The feedback loop value may be output.

또한, 상기 클럭을 추출하는 단계는, 상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값을 입력 받고, 상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값에 따라 사전에 설정되는 복수개의 클럭 중 하나의 클럭을 추출할 수 있다.In addition, the step of extracting the clock may include receiving the first logic value, the second logic value, and the feedback loop value, and in advance according to the first logic value, the second logic value, and the feedback loop value One clock may be extracted from among a plurality of clocks set.

상술한 본 발명의 일측면에 따르면, 전압의 변화를 이용한 전력분석 공격 방지 장치 및 방법을 제공함으로써, 하드웨어에서 수행되는 명령에 따라 변화하는 전압을 이용하여, 명령이 수행되는 시스템 클럭을 변화시킬 수 있다.According to one aspect of the present invention described above, by providing an apparatus and method for preventing a power analysis attack using a change in voltage, a system clock at which a command is executed can be changed using a voltage that changes according to a command executed in hardware. there is.

도1은 본 발명의 일 실시예에 따른 전력분석 공격 방지 장치를 포함하는 전자 시스템의 개략도이다.
도2는 본 발명의 일 실시예에 따른 전력분석 공격 방지 장치의 블록도이다.
도3은 도2의 전압 측정부의 세부 블록도이다.
도4는 도2의 난수 생성부의 세부 블록도이다.
도5는 본 발명의 일 실시예에 따른 전력분석 공격 방지 방법의 순서도이다.
도6은 도5의 시드 값을 생성하는 단계의 세부 순서도이다.
1 is a schematic diagram of an electronic system including a power analysis attack prevention device according to an embodiment of the present invention.
2 is a block diagram of a power analysis attack prevention apparatus according to an embodiment of the present invention.
3 is a detailed block diagram of the voltage measuring unit of FIG. 2 .
4 is a detailed block diagram of the random number generator of FIG. 2 .
5 is a flowchart of a method for preventing a power analysis attack according to an embodiment of the present invention.
6 is a detailed flowchart of a step of generating a seed value of FIG.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0012] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0010] Reference is made to the accompanying drawings, which show by way of illustration specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein with respect to one embodiment may be implemented in other embodiments without departing from the spirit and scope of the invention. In addition, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the following detailed description is not intended to be taken in a limiting sense, and the scope of the present invention, if properly described, is limited only by the appended claims, along with all scope equivalents to those claimed. Like reference numerals in the drawings refer to the same or similar functions throughout the various aspects.

이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 보다 상세하게 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the drawings.

도1은 본 발명의 일 실시예에 따른 전력분석 공격 방지 장치를 포함하는 전자 시스템의 개략도이다.1 is a schematic diagram of an electronic system including a power analysis attack prevention device according to an embodiment of the present invention.

전자 시스템(1)은 중앙처리 장치(100), 기억 장치(200), 입출력 장치(300) 및 전력분석 공격 방지 장치(400)를 포함할 수 있다.The electronic system 1 may include a central processing unit 100 , a storage device 200 , an input/output device 300 , and a power analysis attack prevention device 400 .

이때, 중앙처리 장치(100), 기억 장치(200), 입출력 장치(300) 및 전력분석 공격 방지 장치(400)는 시스템 버스(10)를 통해 서로 연결될 수 있으며, 이에 따라, 중앙처리 장치(100), 기억 장치(200), 입출력 장치(300) 및 전력분석 공격 방지 장치(400)는 시스템 버스(10)를 이용하여 정보 또는 신호 등을 주고 받는 통신을 수행할 수 있다.At this time, the central processing unit 100 , the memory device 200 , the input/output device 300 , and the power analysis attack prevention device 400 may be connected to each other through the system bus 10 , and accordingly, the central processing unit 100 ), the memory device 200 , the input/output device 300 , and the power analysis attack prevention device 400 may perform communication to exchange information or signals using the system bus 10 .

한편, 전자 시스템(1)은 소프트웨어(Software)에 설정된 명령을 처리하도록 마련되는 하드웨어(Hardware)인 것으로 이해할 수 있으며, 이에 따라, 하드웨어는 중앙처리 장치(100), 기억 장치(200), 입출력 장치(300) 및 전력분석 공격 방지 장치(400)를 이용하여 소프트웨어에 설정된 명령을 처리하도록 마련되는 것으로 이해할 수 있다.On the other hand, the electronic system 1 can be understood as hardware provided to process commands set in software, and accordingly, the hardware includes the central processing unit 100 , the storage device 200 , and the input/output device. It can be understood that it is provided to process the command set in the software using the 300 and the power analysis attack prevention device 400 .

중앙처리 장치(100)는 CPU(Central Processing Unit)로써, 기억 장치(200)에 저장된 어플리케이션(Application) 및 응용 프로그램 등의 소프트웨어를 실행시킬 수 있으며, 이때, 중앙처리 장치(100)는 임의의 동작을 수행하도록 마련된 소프트웨어에 설정된 명령을 처리할 수 있다.The central processing unit 100 is a CPU (Central Processing Unit), and may execute software such as an application and an application program stored in the storage device 200 , and in this case, the central processing unit 100 may perform an arbitrary operation. It can process the command set in the software prepared to perform the

여기에서, 중앙처리 장치(100)는 명령을 처리하는 과정에서, 서로 다른 명령에 따라 설정된 전압을 소모할 수 있으며, 또한, 중앙처리 장치(100)는 사전에 설정된 클럭에 의한 시간 주기에 따라 명령을 순차적으로 처리할 수 있다.Here, in the process of processing the command, the central processing unit 100 may consume a voltage set according to different commands, and the central processing unit 100 may consume the command according to a time period based on a preset clock. can be processed sequentially.

한편, 중앙처리 장치(100)에서 처리되는 명령은 입출력 장치(300)를 통해 입력되는 정보와 기억 장치(200)에 저장된 정보를 비교하는 명령일 수 있으며, 중앙처리 장치(100)에서 처리되는 명령은 임의의 암호 알고리즘에 따라 정보를 암호화 또는 복호화하는 명령일 수도 있다.Meanwhile, the command processed by the central processing unit 100 may be a command for comparing information input through the input/output device 300 with information stored in the storage device 200 , and a command processed by the central processing unit 100 . may be a command for encrypting or decrypting information according to an arbitrary encryption algorithm.

또한, 중앙처리 장치(100)에서 처리되는 명령은 기억 장치(200)에 저장된 소프트웨어에 설정된 명령 중 일부 명령을 순차적으로 처리하는 명령일 수 있으며, 중앙처리 장치(100)에서 처리되는 명령은 기억 장치(200)에 저장된 정보 또는 입출력 장치(300)에 의해 입력 또는 출력되는 정보를 유선 또는 무선 네트워크를 이용하여 외부에 전달하거나, 또는 외부로부터 정보를 전달받는 명령일 수도 있다.In addition, the command processed by the central processing unit 100 may be a command for sequentially processing some commands among commands set in software stored in the storage device 200 , and the command processed by the central processing unit 100 is a storage device It may be a command for transmitting information stored in 200 or information input or output by the input/output device 300 to the outside using a wired or wireless network, or receiving information from the outside.

기억 장치(200)는 하드웨어를 통해 소프트웨어의 명령이 수행되는 과정에서 생성되는 정보를 저장하며, 전원 입력이 중단되는 경우에, 저장된 정보가 제거되는 RAM(Random Access Memory) 또는 정보의 저장이 가능하며, 저장된 정보를 수정 또는 제거할 수 없고, 전원 입력이 중단되어도 저장된 정보가 유지되는 ROM(Read Only Memory) 등의 주 기억 장치(Main Memory Unit)와 주 기억 장치에 비해 대용량으로 마련되고, 주 기억 장치에 저장된 정보를 보관하거나, 주 기억 장치에 저장될 수 없는 정보를 저장하도록 마련되는 HDD(Hard Disk Drive), SSD(Solid State Drive), 자기 디스크, 자기 테이프 및 광 디스크 등의 보조 기억 장치(auxiliary memory)를 포함할 수 있다.The memory device 200 stores information generated in the process of executing a command of software through hardware, and when power input is interrupted, it is possible to store information or RAM (Random Access Memory) from which the stored information is removed, , the main memory unit such as ROM (Read Only Memory), in which the stored information cannot be modified or removed, and the stored information is maintained even if the power input is interrupted, and is provided with a larger capacity compared to the main memory Secondary storage devices (such as hard disk drives (HDDs), solid state drives (SSDs), magnetic disks, magnetic tapes and optical disks) that are designed to hold information stored on the device or to store information that cannot be stored in the main storage device ( auxiliary memory).

이에 따라, 기억 장치(200)는 소프트웨어, 소프트웨어에 의해 처리되는 명령을 나타내는 명령어 집합 및 임의의 정보 등이 저장될 수 있다.Accordingly, the memory device 200 may store software, an instruction set indicating instructions processed by the software, and arbitrary information.

입출력 장치(300)는 사용자로부터 입력되는 신호 또는 정보를 기억 장치(200) 또는 중앙처리 장치(100)에 전달할 수 있으며, 또한, 입출력 장치(300)는 기억 장치(200) 또는 중앙처리 장치(100)에서 처리되는 신호 또는 정보를 사용자가 식별할 수 있도록 출력할 수 있다.The input/output device 300 may transmit a signal or information input from a user to the storage device 200 or the central processing unit 100 , and the input/output device 300 may include the storage device 200 or the central processing unit 100 . ) can be output so that the user can identify the signal or information processed in it.

이와 같은, 입출력 장치(300)는 키보드(Keyboard), 마우스(Mouse), 모니터(Monitor) 등의 장치를 포함할 수 있다.As such, the input/output device 300 may include devices such as a keyboard, a mouse, and a monitor.

전력분석 공격 방지 장치(400)는 임의의 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어할 수 있으며, 이는, 전력분석 공격 방지 장치(400)가 중앙처리 장치(100)에 설정되는 클럭을 임의의 시간 주기로 제어하는 것으로 이해할 수 있다.The power analysis attack prevention device 400 may control the hardware to consume a voltage and process the command according to an arbitrary clock, which is a clock set by the power analysis attack prevention device 400 in the central processing unit 100 . can be understood as controlling in an arbitrary time period.

이를 위해, 전력분석 공격 방지 장치(400)는 중앙처리 장치(100)가 명령을 처리하도록 마련되는 클럭이 임의의 시간 주기로 설정되도록 제어할 수 있다.To this end, the power analysis attack prevention apparatus 400 may control the clock provided for the central processing unit 100 to process the command to be set to an arbitrary time period.

이와 관련하여, 전력분석 공격 방지 장치(400)는 하드웨어에서 소모되는 전압을 측정하여, 측정된 전압의 크기에 따라 레벨 값을 생성할 수 있고, 전력분석 공격 방지 장치(400)는 전압이 측정된 시점으로부터 임의의 시간 간격 이후에, 생성된 레벨 값에 따른 지연 값을 생성할 수 있으며, 전력분석 공격 방지 장치(400)는 레벨 값과 지연 값을 비교하여 시드 값을 생성할 수 있다.In this regard, the power analysis attack prevention apparatus 400 may measure the voltage consumed in hardware, and generate a level value according to the magnitude of the measured voltage, and the power analysis attack prevention apparatus 400 may measure the voltage consumed in the hardware. After an arbitrary time interval from the time point, a delay value according to the generated level value may be generated, and the power analysis attack prevention apparatus 400 may generate a seed value by comparing the level value and the delay value.

여기에서, 하드웨어에서 소모되는 전압은 중앙처리 장치(100)에서 명령을 수행하여, 채널(Channel)에서 나타나는 전압을 측정할 수 있으며, 이때, 채널은 시스템 버스(10)(System Bus)를 의미할 수 있다. 또한, 채널은 부채널(Side-Channel)을 의미할 수도 있다.Here, the voltage consumed by the hardware may be measured by performing a command in the central processing unit 100 to measure the voltage appearing in the channel, where the channel may mean the system bus 10 (System Bus). can Also, the channel may mean a side-channel.

이에 따라, 전력분석 공격 방지 장치(400)는 시드 값에 따라 난수를 생성할 수 있으며, 전력분석 공격 방지 장치(400)는 사전에 설정되는 복수개의 클럭 중 생성된 난수에 매칭되는 클럭을 추출할 수 있다.Accordingly, the power analysis attack prevention apparatus 400 may generate a random number according to the seed value, and the power analysis attack prevention apparatus 400 extracts a clock matching the generated random number among a plurality of preset clocks. can

전력분석 공격 방지 장치(400)는 이하에서 자세히 설명하도록 한다.The power analysis attack prevention device 400 will be described in detail below.

도2는 본 발명의 일 실시예에 따른 전력분석 공격 방지 장치의 제어블록도이다.2 is a control block diagram of a power analysis attack prevention apparatus according to an embodiment of the present invention.

전력분석 공격 방지 장치(400)는 전압 측정부(410), 난수 생성부(420), 클럭 제어부(430) 및 명령 처리부(440)를 포함할 수 있다.The power analysis attack prevention apparatus 400 may include a voltage measurement unit 410 , a random number generator 420 , a clock control unit 430 , and a command processing unit 440 .

전압 측정부(410)는 하드웨어에서 소모되는 전압을 측정하여, 측정된 전압의 크기에 따라 레벨 값을 생성할 수 있고, 전압 측정부(410)는 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 레벨 값에 따른 지연 값을 생성할 수 있으며, 전압 측정부(410)는 레벨 값과 지연 값을 비교하여 시드 값을 생성할 수 있다.The voltage measuring unit 410 may measure the voltage consumed in hardware, and may generate a level value according to the magnitude of the measured voltage, and the voltage measuring unit 410 may be configured after an arbitrary time interval from the time the voltage is measured. A delay value may be generated according to the level value, and the voltage measuring unit 410 may generate a seed value by comparing the level value and the delay value.

이때, 전압 측정부(410)는 측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링(Sampling)하여 레벨 값을 산출할 수 있다.In this case, the voltage measuring unit 410 may calculate a level value by sampling the measured voltage in a plurality of preset steps.

여기에서, 샘플링은 연속된 값으로 나타나는 전압의 파형을 사전에 설정되는 하나 이상의 레벨에 따라 분류하는 것일 수 있으며, 이때, 하나 이상의 레벨은 최소 값과 최대 값을 포함하는 임의의 전압 범위를 나타낼 수 있다.Here, the sampling may be to classify a waveform of a voltage that appears as a continuous value according to one or more preset levels, wherein the one or more levels may represent an arbitrary voltage range including a minimum value and a maximum value. there is.

이에 따라, 레벨 값은 임의의 레벨에 포함되는 전압 범위 중 어느 하나의 값으로 설정될 수 있으며, 예를 들어, 레벨 값은 임의의 레벨에 포함되는 전압의 최소 값, 최대 값 또는 평균 값 중 하나의 값으로 설정될 수 있다.Accordingly, the level value may be set to any one of the voltage ranges included in the arbitrary level. For example, the level value may be one of the minimum value, the maximum value, or the average value of the voltage included in the arbitrary level. can be set to a value of

이와 관련하여, 레벨 값은 하이 레벨 또는 로우 레벨로 나타나도록 설정될 수 있으며, 예를 들어, 레벨 값은 하이 레벨을 나타내는 1과 로우 레벨을 나타내는 0으로 설정될 수 있다.In this regard, the level value may be set to indicate a high level or a low level, for example, the level value may be set to 1 indicating a high level and 0 indicating a low level.

전압 측정부(410)는 측정된 전압의 크기에 따라 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정할 수 있고, 전압 측정부(410)는 전압이 측정된 시점으로부터 지연 시간이 경과된 시점에서, 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성할 수 있다.The voltage measuring unit 410 may set a delay time indicating a time interval at which a delay value is generated according to the magnitude of the measured voltage, and the voltage measuring unit 410 may be configured at a time point when the delay time elapses from the voltage measurement time. , can generate a delay value that appears as a waveform equal to the level value.

이를 위해, 전압 측정부(410)는 커패시터(Capacitor)와 저항(Registance)가 이용되는 RC 회로에 의해 입력된 전압이 커패시터와 저항에 의해 산출되는 시정수에 따른 시간 간격 이후에 출력되도록 마련되는 타이머 소자가 이용될 수 있다. 또한, 전압 측정부(410)는 디지털 타이머 등이 이용될 수도 있다.To this end, the voltage measuring unit 410 is a timer provided so that the voltage input by the RC circuit using the capacitor and the resistance is output after a time interval according to the time constant calculated by the capacitor and the resistor. A device may be used. Also, a digital timer may be used as the voltage measuring unit 410 .

이와 같이, 전압 측정부(410)는 측정된 전압의 크기에 따라 서로 다른 지연 시간이 설정되도록 마련될 수 있으며 이때, 전압 측정부(410)는 측정된 전압을 사전에 설정되는 복수개의 단계로 분류하여, 각 단계에 따라 서로 다른 지연 시간이 설정되도록 마련될 수도 있다.In this way, the voltage measuring unit 410 may be provided to set different delay times according to the magnitude of the measured voltage. At this time, the voltage measuring unit 410 classifies the measured voltage into a plurality of preset steps. Accordingly, different delay times may be set according to each step.

한편, 전압이 측정된 시점은 전압 측정부(410)에 마련되는 타이머 소자 등에 전압이 입력되는 시점을 의미할 수 있으며, 이에 따라, 전압 측정부(410)는 타이머 소자 등에 전압이 입력된 시점으로부터 전압의 크기에 따라 설정된 지연 시간이 경과된 시점에서, 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성할 수 있다.On the other hand, the time at which the voltage is measured may mean a time when a voltage is input to a timer element provided in the voltage measuring unit 410 , and accordingly, the voltage measuring unit 410 is configured to measure the voltage from the time when a voltage is input to the timer element or the like. When the delay time set according to the magnitude of the voltage has elapsed, a delay value displayed in the same waveform as the level value may be generated.

또한, 전압 측정부(410)는 레벨 값과 지연 값이 동일한 경우에, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성할 수 있고, 이에 따라, 전압 측정부(410)는 레벨 값과 지연 값이 다른 경우에, 레벨 값과 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성할 수 있다.Also, when the level value and the delay value are the same, the voltage measurement unit 410 may generate a seed value to appear as at least one of a high level and a low level, and accordingly, the voltage measurement unit 410 may When the level value and the delay value are different from each other, the seed value may be generated such that a level opposite to the seed value generated when the level value and the delay value are the same is displayed.

예를 들어, 전압 측정부(410)는 레벨 값과 지연 값이 동일한 경우에, 시드 값을 하이 레벨로 설정할 수 있고, 이러한 경우에, 전압 측정부(410)는 레벨 값과 지연 값이 다른 경우에 생성되는 시드 값을 로우 레벨로 설정할 수 있다.For example, when the level value and the delay value are the same, the voltage measurement unit 410 may set the seed value to a high level. You can set the seed value generated in .

여기에서, 레벨 값과 지연 값이 동일한 것은 레벨 값과 지연 값이 각각 하이 레벨로 나타나거나, 또는 레벨 값과 지연 값이 각각 로우 레벨로 나타나는 경우를 의미할 수 있으며, 이에 따라, 레벨 값과 지연 값이 다른 것은 레벨 값이 하이 레벨로 나타나고, 지연 값이 로우 레벨로 나타나거나, 또는 레벨 값이 로우 레벨로 나타나고, 지연 값이 하이 레벨로 나타나는 경우를 의미할 수 있다.Here, the same level value and the same delay value may mean a case in which the level value and the delay value respectively appear as a high level, or the level value and the delay value respectively appear as a low level, and accordingly, the level value and the delay value Different values may mean a case in which a level value appears as a high level and a delay value appears as a low level, or a level value appears as a low level and a delay value appears as a high level.

난수 생성부(420)는 전압 측정부(410)에서 생성된 시드 값에 따라 난수를 생성할 수 있다.The random number generator 420 may generate a random number according to the seed value generated by the voltage measurement unit 410 .

이때, 난수 생성부(420)는 복수개의 값을 입력 받아 하나의 값을 출력하도록 마련되는 복수개의 논리 소자를 이용하여 난수를 생성할 수 있으며, 이때, 난수 생성부(420)는 임의의 논리 소자가 다른 논리 소자로부터 출력되는 논리 값과 전압 측정부(410)에서 생성된 시드 값을 입력 받도록 마련될 수 있다.In this case, the random number generator 420 may generate a random number using a plurality of logic elements provided to receive a plurality of values and output one value. may be provided to receive a logic value output from another logic element and a seed value generated by the voltage measuring unit 410 .

이에 따라, 난수 생성부(420)는 입력된 논리 값과 시드 값에 따라 새로운 논리 값을 출력하도록 마련될 수 있다.Accordingly, the random number generator 420 may be provided to output a new logical value according to the input logical value and the seed value.

이때, 난수 생성부(420)는 복수개의 논리 소자 중 마지막 지점에 배치된 논리 소자로부터 출력되는 논리 값을 피드백 루프 값으로 설정할 수 있으며, 이에 따라, 난수 생성부(420)는 복수개의 논리 소자 중 첫번째 지점에 배치된 논리 소자가 사전에 설정되는 설정 값과 피드백 루프 값을 입력 받도록 마련될 수 있다.In this case, the random number generator 420 may set a logic value output from the logic element disposed at the last point among the plurality of logic elements as the feedback loop value. The logic element disposed at the first point may be provided to receive a preset value and a feedback loop value.

이러한 경우에, 난수 생성부(420)는 복수개의 논리 소자 중 첫번째 지점에 배치된 논리 소자가 설정 값과 피드백 루프 값에 따라 논리 값을 출력하도록 마련될 수 있다. 이때, 논리 값은 하이 레벨 또는 로우 레벨로 출력될 수 있다.In this case, the random number generator 420 may be provided so that the logic element disposed at the first point among the plurality of logic elements outputs a logic value according to a set value and a feedback loop value. In this case, the logic value may be output as a high level or a low level.

예를 들어, 난수 생성부(420)는 제 1 논리 소자, 제 2 논리 소자 및 제 3 논리 소자를 포함할 수 있다. 이러한 경우에, 제 1 논리 소자는 사전에 마련되는 설정 값과 제 3 논리 소자로부터 출력되는 피드백 루프 값에 따라 제 1 논리 값을 출력할 수 있고, 제 2 논리 소자는 시드 값과 제 1 논리 값에 따라 제 2 논리 값을 출력할 수 있으며, 제 3 논리 소자는 시드 값과 제 2 논리 값에 따라 피드백 루프 값을 출력할 수 있다.For example, the random number generator 420 may include a first logic element, a second logic element, and a third logic element. In this case, the first logic element may output a first logic value according to a preset value and a feedback loop value output from the third logic element, and the second logic element may have a seed value and a first logic value. may output the second logic value, and the third logic element may output the feedback loop value according to the seed value and the second logic value.

여기에서, 제 1 논리 소자는 난수 생성부(420)에 마련되는 복수개의 논리 소자 중 첫번째 지점에 배치되는 논리 소자인 것으로 이해할 수 있으며, 제 3 논리 소자는 난수 생성부(420)에 마련되는 복수개의 논리 소자 중 마지막 지점에 배치되는 논리 소자인 것으로 이해할 수 있다.Here, it can be understood that the first logic element is a logic element disposed at a first point among the plurality of logic elements provided in the random number generator 420 , and the third logic element is a plurality of logic elements provided in the random number generator 420 . It can be understood that the logic element is disposed at the last point among the logical elements.

이와 관련하여, 난수 생성부(420)는 네 개 이상의 논리 소자를 포함할 수도 있으며, 이와 같이, 난수 생성부(420)에 포함되는 논리 소자의 개수는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있다.In this regard, the random number generator 420 may include four or more logic elements. As such, the number of logic elements included in the random number generator 420 may be changed without departing from the spirit and scope of the present invention. can be

또한, 논리 소자는 입력에 대한 배타적 논리합(XOR, EOR: Exclusive-OR)의 결과를 출력하는 논리 소자가 이용될 수 있으며, 이때, 배타적 논리합은 입력의 레벨이 동일한 경우에, 하이 레벨을 출력하고, 입력의 레벨이 다른 경우에, 로우 레벨을 출력하는 연산일 수 있다.In addition, as the logic element, a logic element that outputs the result of an exclusive-OR (XOR, EOR: Exclusive-OR) with respect to the input may be used. In this case, the exclusive-OR outputs a high level when the input levels are the same, and , may be an operation that outputs a low level when the input levels are different.

예를 들어, 배타적 논리합은 하이 레벨의 값과 로우 레벨의 값이 입력되는 경우에, 하이 레벨의 값을 출력할 수 있고, 배타적 논리합은 하이 레벨의 값과 하이 레벨의 값이 입력되거나, 또는 로우 레벨의 값과 로우 레벨의 값이 입력되는 경우에, 로우 레벨의 값을 출력할 수 있다.For example, the exclusive OR may output a high level value when a high level value and a low level value are input, and the exclusive OR may output a high level value and a high level value or a low level value When the level value and the low level value are input, the low level value may be output.

한편, 난수 생성부(420)는 복수개의 논리 소자에서 출력되는 각각의 논리 값을 각각 클럭 제어부(430)에 전달할 수 있으며, 이에 따라, 난수 생성부(420)에서 생성되는 난수는 난수 생성부(420)에 포함되는 복수개의 논리 소자에서 출력되는 각각의 논리 값을 나열한 값으로 이해할 수 있다.Meanwhile, the random number generator 420 may transmit each logic value output from the plurality of logic elements to the clock controller 430 , and accordingly, the random number generated by the random number generator 420 is converted into the random number generator ( 420) may be understood as an enumerated value of each logic value output from the plurality of logic elements included in FIG.

한편, 난수 생성부(420)는 시드 값을 사전에 설정되는 주기 함수 등에 입력하여, 시드 값으로부터 일정한 주기를 가지는 값의 집합을 생성하도록 마련될 수도 있으며, 이러한 경우에, 난수 생성부(420)는 생성된 값의 집합으로부터 임의의 값을 난수로 선택하도록 마련될 수 있다.Meanwhile, the random number generator 420 may be provided to generate a set of values having a constant period from the seed value by inputting a seed value to a preset periodic function, etc. In this case, the random number generator 420 may be provided to select an arbitrary value as a random number from a set of generated values.

여기에서, 주기 함수는 임의의 값으로부터 일정한 주기를 갖는 복수개의 수를 추출하도록 마련되는 함수로 이해할 수 있다. 예를 들어, 난수 생성부(420)는 값의 집합을 생성하는 주기 함수를 사인 함수로 설정할 수 있으며, 이러한 경우에, 난수 생성부(420)는 임의의 범위에 포함되는 변수를 사인 함수에 입력하는 경우에, 결과 값으로 시드 값이 출력되는 변수를 값의 집합으로 설정되도록 마련될 수 있다.Here, the periodic function may be understood as a function provided to extract a plurality of numbers having a constant period from an arbitrary value. For example, the random number generator 420 may set a periodic function for generating a set of values as a sine function. In this case, the random number generator 420 inputs a variable included in an arbitrary range to the sine function. In this case, a variable outputting a seed value as a result value may be set as a set of values.

클럭 제어부(430)는 사전에 설정되는 복수개의 클럭 중 난수 생성부(420)에서 생성된 난수에 매칭되는 클럭을 추출할 수 있다.The clock controller 430 may extract a clock matching the random number generated by the random number generator 420 from among a plurality of preset clocks.

이때, 클럭 제어부(430)는 난수 생성부(420)에 마련되는 논리 소자의 개수에 따라 클럭의 개수가 설정될 수 있으며, 예를 들어, 클럭 제어부(430)는 난수 생성부(420)에 3개의 논리 소자가 마련되는 경우에, 8개의 클럭이 마련될 수 있다.At this time, the clock control unit 430 may set the number of clocks according to the number of logic elements provided in the random number generation unit 420 . For example, the clock control unit 430 may set the random number generation unit 420 to 3 In the case where N logic elements are provided, 8 clocks may be provided.

이에 따라, 클럭 제어부(430)는 난수 생성부(420)에서 생성되는 복수개의 논리 값에 따른 난수에 각각의 클럭을 매칭시킬 수 있으며, 클럭 제어부(430)는 난수 생성부에서 생성되는 난수에 매칭되는 클럭을 추출할 수 있다.Accordingly, the clock controller 430 may match each clock to a random number according to a plurality of logical values generated by the random number generator 420 , and the clock controller 430 matches the random number generated by the random number generator 420 . clock can be extracted.

한편, 클럭 제어부(430)는 사전에 설정되는 시간 간격 동안 난수 생성부(420)에서 전달되는 논리 값을 순차적으로 명령 처리부(440)에 전달할 수 있다.Meanwhile, the clock control unit 430 may sequentially transmit the logical values transmitted from the random number generator 420 to the command processing unit 440 during a preset time interval.

이때, 논리 값이 명령 처리부(440)에 전달되도록 마련되는 시간 간격은 난수 생성부(420)에 마련된 각각의 논리 소자에 대해, 값이 입력된 시점으로부터 값이 출력되는 시점까지의 시간 간격으로 설정될 수 있다.In this case, the time interval provided to transmit the logic value to the command processing unit 440 is set to the time interval from the time when a value is input to the time when the value is output for each logic element provided in the random number generator 420 . can be

이에 따라, 클럭 제어부(430)는 난수 생성부(420)에 마련되는 복수개의 논리 소자 중 첫번째 지점에 배치된 논리 소자로부터 출력되는 논리 값부터, 복수개의 논리 소자 중 마지막 지점에 배치된 논리 소자로부터 출력되는 논리 값까지 순차적으로 명령 처리부(440)에 전달할 수 있으며, 이때, 클럭 제어부(430)는 난수 생성부(420)에 마련된 복수개의 논리 소자 중 마지막 지점에 배치된 논리 소자로부터 출력되는 논리 값이 명령 처리부(440)에 전달된 이후에, 다시 첫번째 지점에 배치된 논리 소자로부터 출력되는 논리 값을 명령 처리부(440)에 전달할 수 있다.Accordingly, the clock control unit 430 determines from a logic value output from a logic element disposed at a first point among a plurality of logic devices provided in the random number generator 420 and a logic device disposed at a last point among the plurality of logic devices. Up to the output logic value may be sequentially transmitted to the command processing unit 440 . In this case, the clock control unit 430 may output a logic value output from the logic element disposed at the last point among the plurality of logic elements provided in the random number generator 420 . After being transmitted to the command processing unit 440 , a logic value output from the logic element disposed at the first point may be transmitted to the command processing unit 440 again.

이에 따라, 클럭 제어부(430)는 위와 같은 과정을 반복하여 수행할 수 있다.Accordingly, the clock control unit 430 may repeat the above process.

명령 처리부(440)는 임의의 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어할 수 있으며, 이때, 명령 처리부(440)는 클럭 제어부(430)에서 추출된 클럭을 중앙처리 장치(100)에 전달하여, 중앙처리 장치(100)가 클럭 제어부(430)에서 추출된 클럭에 따라 명령을 처리하도록 제어할 수 있다.The command processing unit 440 may control the hardware to process a command by consuming a voltage according to an arbitrary clock. At this time, the command processing unit 440 may transmit the clock extracted from the clock control unit 430 to the central processing unit 100 . , the central processing unit 100 may control to process the command according to the clock extracted from the clock control unit 430 .

이때, 명령 처리부(440)는 클럭으로부터 나타나는 파형이 하이 레벨 또는 로우 레벨 중 하나의 레벨을 나타내는 경우에, 중앙처리 장치(100)에서 명령을 수행하도록 제어할 수 있다.In this case, the command processing unit 440 may control the central processing unit 100 to execute the command when the waveform displayed from the clock indicates one of a high level and a low level.

도3은 도2의 전압 측정부의 세부 블록도이다.3 is a detailed block diagram of the voltage measuring unit of FIG. 2 .

전압 측정부(410)는 전원전압 생성기(411), 타이머(412) 및 비교기(413)를 포함할 수 있다.The voltage measuring unit 410 may include a power supply voltage generator 411 , a timer 412 , and a comparator 413 .

전원전압 생성기(411)는 하드웨어에서 소모되는 전압을 측정하여, 측정된 전압의 크기에 따라 레벨 값을 생성할 수 있다.The power voltage generator 411 may measure a voltage consumed in hardware and generate a level value according to the magnitude of the measured voltage.

이때, 전원전압 생성기(411)는 측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링하여 레벨 값을 산출할 수 있다.In this case, the power voltage generator 411 may calculate a level value by sampling the measured voltage in a plurality of preset steps.

타이머(412)는 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 레벨 값에 따른 지연 값을 생성할 수 있다.The timer 412 may generate a delay value according to the level value after an arbitrary time interval from the point in time when the voltage is measured.

이를 위해, 타이머(412)는 측정된 전압의 크기에 따라 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정할 수 있고, 타이머(412)는 전압이 측정된 시점으로부터 지연 시간이 경과된 시점에서, 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성할 수 있다.To this end, the timer 412 may set a delay time indicating a time interval at which a delay value is generated according to the magnitude of the measured voltage, and the timer 412 may be set when the delay time elapses from the time when the voltage is measured, You can create a delay value that appears as a waveform equal to the level value.

비교기(413)는 레벨 값과 지연 값을 비교하여 시드 값을 생성할 수 있다.The comparator 413 may generate a seed value by comparing the level value and the delay value.

여기에서, 비교기(413)는 레벨 값과 지연 값이 동일한 경우에, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성할 수 있고, 이에 따라, 비교기(413)는 레벨 값과 지연 값이 다른 경우에, 레벨 값과 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성할 수 있다.Here, when the level value and the delay value are the same, the comparator 413 may generate a seed value such that it appears as at least one of a high level and a low level. When the delay values are different, the seed value may be generated such that the level value is displayed as a level opposite to the seed value generated when the level value and the delay value are the same.

도4는 도2의 난수 생성부의 세부 블록도이다.4 is a detailed block diagram of the random number generator of FIG. 2 .

난수 생성부(420)는 복수개의 값을 입력 받아 하나의 값을 출력하도록 마련되는 복수개의 논리 소자(421a, 421b, 421c)를 이용하여 난수를 생성할 수 있으며, 이때, 난수 생성부(420)는 임의의 논리 소자(421)가 다른 논리 소자(421)로부터 출력되는 논리 값과 전압 측정부(410)에서 생성된 시드 값을 입력 받도록 마련될 수 있다.The random number generator 420 may generate a random number using a plurality of logic elements 421a, 421b, and 421c provided to receive a plurality of values and output a single value, and in this case, the random number generator 420 may be provided so that an arbitrary logic element 421 receives a logic value output from another logic element 421 and a seed value generated by the voltage measuring unit 410 .

난수 생성부(420)는 복수개의 논리 소자(421a, 421b, 421c)를 포함할 수 있다.The random number generator 420 may include a plurality of logic elements 421a, 421b, and 421c.

이때, 난수 생성부(420)는 복수개의 논리 소자(421a, 421b, 421c) 중 마지막 지점에 배치된 논리 소자(421c)로부터 출력되는 논리 값을 피드백 루프 값으로 설정할 수 있으며, 이에 따라, 난수 생성부(420)는 복수개의 논리 소자(421a, 421b, 421c) 중 첫번째 지점에 배치된 논리 소자(421a)가 사전에 설정되는 설정 값(426)과 피드백 루프 값을 입력 받도록 마련될 수 있다.In this case, the random number generator 420 may set the logic value output from the logic element 421c disposed at the last point among the plurality of logic elements 421a, 421b, and 421c as the feedback loop value, and thus, generate the random number. The unit 420 may be provided so that the logic element 421a disposed at the first point among the plurality of logic elements 421a, 421b, and 421c receives a preset value 426 and a feedback loop value.

이러한 경우에, 난수 생성부(420)는 복수개의 논리 소자(421a, 421b, 421c) 중 첫번째 지점에 배치된 논리 소자(421a)가 설정 값(426)과 피드백 루프 값에 따라 논리 값을 출력하도록 마련될 수 있다. 이때, 논리 값은 하이 레벨 또는 로우 레벨로 출력될 수 있다.In this case, the random number generator 420 outputs a logic value according to the set value 426 and the feedback loop value by the logic element 421a disposed at the first point among the plurality of logic elements 421a, 421b, and 421c. can be provided. In this case, the logic value may be output as a high level or a low level.

한편, 난수 생성부(420)는 네 개 이상의 논리 소자(421)를 포함할 수도 있으며, 이와 같이, 난수 생성부(420)에 포함되는 논리 소자(421)의 개수는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있다.On the other hand, the random number generator 420 may include four or more logic elements 421, and as such, the number of logic elements 421 included in the random number generator 420 reflects the spirit and scope of the present invention. It can be changed without departing.

또한, 논리 소자(421)는 입력에 대한 배타적 논리합(XOR, EOR: Exclusive-OR)의 결과를 출력하는 논리 소자(421)가 이용될 수 있으며, 이때, 배타적 논리합은 입력의 레벨이 동일한 경우에, 하이 레벨을 출력하고, 입력의 레벨이 다른 경우에, 로우 레벨을 출력하는 연산일 수 있다.In addition, as the logic element 421, a logic element 421 that outputs a result of an exclusive-OR (XOR, EOR: Exclusive-OR) with respect to an input may be used. , outputting a high level, and outputting a low level when the input levels are different.

도5는 본 발명의 일 실시예에 따른 전력분석 공격 방지 방법의 순서도이다.5 is a flowchart of a power analysis attack prevention method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 전력분석 공격 방지 방법은 도 1에 도시된 전력분석 공격 방지 장치(400)와 실질적으로 동일한 구성 상에서 진행되므로, 도 1의 전력분석 공격 방지 장치(400)와 동일한 구성요소에 대해 동일한 도면 부호를 부여하고, 반복되는 설명은 생략하기로 한다.The power analysis attack prevention method according to an embodiment of the present invention proceeds on substantially the same configuration as the power analysis attack prevention device 400 shown in FIG. 1 , and thus has the same configuration as the power analysis attack prevention device 400 of FIG. 1 . The same reference numerals are assigned to the elements, and repeated descriptions will be omitted.

전력분석 공격 방지 방법은 전압을 측정하는 단계(600), 시드 값을 생성하는 단계(610), 난수를 생성하는 단계(620), 클럭을 추출하는 단계(630) 및 클럭에 따라 명령을 처리하도록 제어하는 단계(640)를 포함할 수 있다.The power analysis attack prevention method includes a step of measuring a voltage (600), a step of generating a seed value (610), a step of generating a random number (620), a step of extracting a clock (630), and processing a command according to the clock It may include a step 640 of controlling.

전압을 측정하는 단계(600)는 전압 측정부(410)가 하드웨어에서 소모되는 전압을 측정하는 단계일 수 있다.The step 600 of measuring the voltage may be a step of measuring the voltage consumed by the voltage measuring unit 410 in hardware.

시드 값을 생성하는 단계(610)는 전압 측정부(410)가 전압의 크기에 따라 레벨 값을 생성하고, 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 레벨 값에 따른 지연 값을 생성하며, 레벨 값과 지연 값을 비교하여 시드 값을 생성하는 단계일 수 있다.In the step 610 of generating the seed value, the voltage measuring unit 410 generates a level value according to the magnitude of the voltage, and generates a delay value according to the level value after an arbitrary time interval from the time when the voltage is measured, It may be a step of generating a seed value by comparing the level value and the delay value.

난수를 생성하는 단계(620)는 난수 생성부(420)가 시드 값에 따라 난수를 생성하는 단계일 수 있다.The operation 620 of generating the random number may be an operation in which the random number generator 420 generates a random number according to a seed value.

클럭을 추출하는 단계(630)는 클럭 제어부(430)가 사전에 설정되는 복수개의 클럭 중 난수에 매칭되는 클럭을 추출하는 단계일 수 있다.The step of extracting the clock 630 may be a step in which the clock controller 430 extracts a clock matching a random number from among a plurality of preset clocks.

클럭에 따라 명령을 처리하도록 제어하는 단계(640)는 명령 처리부(440)가 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어하는 단계일 수 있다.Controlling the command to be processed according to the clock ( 640 ) may be a step in which the command processing unit 440 controls the hardware to process the command by consuming a voltage according to the clock.

도6은 도5의 시드 값을 생성하는 단계의 세부 순서도이다.6 is a detailed flowchart of a step of generating a seed value of FIG.

시드 값을 생성하는 단계(610)는 레벨 값을 생성하는 단계(611), 지연 값을 생성하는 단계(612) 및 레벨 값과 지연 값을 비교하는 단계(613)를 포함할 수 있다.Generating the seed value 610 may include generating a level value 611 , generating a delay value 612 , and comparing the level value with the delay value 613 .

레벨 값을 생성하는 단계(611)는 전압 측정부(410)가 측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링하여 레벨 값을 산출하는 단계일 수 있다.The step 611 of generating the level value may be a step in which the voltage measuring unit 410 samples the measured voltage in a plurality of preset steps to calculate the level value.

지연 값을 생성하는 단계(612)는 전압 측정부(410)가 측정된 전압의 크기에 따라 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정하고, 전압이 측정된 시점으로부터 지연 시간이 경과된 시점에서, 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성하는 단계일 수 있다.In step 612 of generating a delay value, the voltage measuring unit 410 sets a delay time indicating a time interval at which a delay value is generated according to the magnitude of the measured voltage, and when the delay time elapses from the time when the voltage is measured At a point in time, it may be a step of generating a delay value that appears in the same waveform as the level value.

레벨 값과 지연 값을 비교하는 단계(613)는 전압 측정부(410)가 레벨 값과 지연 값이 동일한 경우에, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성하고, 레벨 값과 지연 값이 다른 경우에, 레벨 값과 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성하는 단계일 수 있다.In step 613 of comparing the level value and the delay value, the voltage measuring unit 410 generates a seed value to appear as at least one of a high level and a low level when the level value and the delay value are the same, and the level In the case where the value and the delay value are different from each other, the step of generating the seed value may be a step of generating a seed value such that a level opposite to the seed value generated when the level value and the delay value are the same.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to the embodiments, those skilled in the art will understand that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention described in the claims below. will be able

1: 전자 시스템
10: 시스템 버스
100: 중앙처리 장치
200: 기억 장치
300: 입출력 장치
400: 전력분석 공격 방지 장치
1: Electronic system
10: system bus
100: central processing unit
200: memory
300: input/output device
400: power analysis attack prevention device

Claims (12)

임의의 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어하는 명령 처리부;
상기 하드웨어에서 소모되는 전압을 측정하여 상기 전압의 크기에 따라 레벨 값을 생성하고, 상기 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 상기 레벨 값에 따른 지연 값을 생성하며, 상기 레벨 값과 상기 지연 값을 비교하여 시드 값을 생성하는 전압 측정부;
상기 시드 값에 따라 난수를 생성하는 난수 생성부; 및
사전에 설정되는 복수개의 클럭 중 상기 난수에 매칭되는 클럭을 추출하는 클럭 제어부를 포함하고,
상기 전압 측정부는,
측정된 전압의 크기에 따라 상기 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정하고, 상기 전압이 측정된 시점으로부터 상기 지연 시간이 경과된 시점에서, 상기 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성하는 타이머를 포함하는, 전력분석 공격 방지 장치.
a command processing unit controlling hardware to consume a voltage to process commands according to an arbitrary clock;
A level value is generated according to the magnitude of the voltage by measuring the voltage consumed by the hardware, and a delay value is generated according to the level value after an arbitrary time interval from the time when the voltage is measured, and the level value and the a voltage measuring unit generating a seed value by comparing the delay values;
a random number generator for generating a random number according to the seed value; and
A clock control unit for extracting a clock matching the random number from among a plurality of preset clocks,
The voltage measuring unit,
Set a delay time indicating a time interval at which the delay value is generated according to the magnitude of the measured voltage, and when the delay time elapses from the time the voltage is measured, the delay value displayed in the same waveform as the level value A power analysis attack prevention device, including a timer to generate.
제1항에 있어서, 상기 전압 측정부는,
측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링하여 레벨 값을 산출하는 전원전압 생성기를 더 포함하는, 전력분석 공격 방지 장치.
According to claim 1, wherein the voltage measuring unit,
The power analysis attack prevention device further comprising a power voltage generator for calculating a level value by sampling the measured voltage in a plurality of preset steps.
삭제delete 제1항에 있어서, 상기 전압 측정부는,
상기 레벨 값과 상기 지연 값이 동일한 경우, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성하고, 상기 레벨 값과 상기 지연 값이 다른 경우, 상기 레벨 값과 상기 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성하는 비교기를 더 포함하는, 전력분석 공격 방지 장치.
According to claim 1, wherein the voltage measuring unit,
When the level value and the delay value are the same, a seed value is generated to appear as at least one of a high level or a low level. When the level value and the delay value are different, the level value and the delay value are the same Further comprising a comparator for generating a seed value to appear at a level opposite to the generated seed value in the case, the power analysis attack prevention device.
제1항에 있어서, 상기 난수 생성부는,
사전에 마련되는 설정 값과 임의의 피드백 루프 값을 입력 받고, 상기 설정 값과 상기 피드백 루프 값에 따라 제 1 논리 값을 출력하는 제 1 논리 소자;
상기 시드 값과 상기 제 1 논리 값을 입력 받고, 상기 시드 값과 상기 제 1 논리 값에 따라 제 2 논리 값을 출력하는 제 2 논리 소자; 및
상기 시드 값과 상기 제 2 논리 값을 입력 받고, 상기 시드 값과 상기 제 2 논리 값에 따라 상기 피드백 루프 값을 출력하는 제 3 논리 소자를 포함하는, 전력분석 공격 방지 장치.
The method of claim 1, wherein the random number generator comprises:
a first logic element that receives a preset value and an arbitrary feedback loop value, and outputs a first logic value according to the preset value and the feedback loop value;
a second logic element receiving the seed value and the first logic value and outputting a second logic value according to the seed value and the first logic value; and
and a third logic element receiving the seed value and the second logical value and outputting the feedback loop value according to the seed value and the second logical value.
제5항에 있어서, 상기 클럭 제어부는,
상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값을 입력 받고, 상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값에 따라 사전에 설정되는 복수개의 클럭 중 하나의 클럭을 추출하는, 전력분석 공격 방지 장치.
The method of claim 5, wherein the clock control unit,
receiving the first logic value, the second logic value, and the feedback loop value, and generating one of a plurality of clocks preset according to the first logic value, the second logic value, and the feedback loop value Extracting, power analysis attack prevention device.
전압의 변화를 이용한 전력분석 공격 방지 장치를 이용하는 전력분석 공격 방지 방법에 있어서,
명령을 처리하도록 마련된 하드웨어에서 소모되는 전압을 측정하는 단계;
상기 전압의 크기에 따라 레벨 값을 생성하고, 상기 전압이 측정된 시점으로부터 임의의 시간 간격 이후에 상기 레벨 값에 따른 지연 값을 생성하며, 상기 레벨 값과 상기 지연 값을 비교하여 시드 값을 생성하는 단계;
상기 시드 값에 따라 난수를 생성하는 단계;
사전에 설정되는 복수개의 클럭 중 상기 난수에 매칭되는 클럭을 추출하는 단계; 및
상기 클럭에 따라 하드웨어가 전압을 소모하여 명령을 처리하도록 제어하는 단계를 포함하고,
상기 시드 값을 생성하는 단계는,
측정된 전압의 크기에 따라 상기 지연 값이 생성되는 시간 간격을 나타내는 지연 시간을 설정하고, 상기 전압이 측정된 시점으로부터 상기 지연 시간이 경과된 시점에서, 상기 레벨 값과 동일한 파형으로 나타나는 지연 값을 생성하는 단계를 포함하는, 전력분석 공격 방지 방법.
In the power analysis attack prevention method using a power analysis attack prevention device using a change in voltage,
measuring the voltage consumed by hardware arranged to process the command;
A level value is generated according to the magnitude of the voltage, a delay value is generated according to the level value after an arbitrary time interval from the time when the voltage is measured, and a seed value is generated by comparing the level value and the delay value to do;
generating a random number according to the seed value;
extracting a clock matching the random number from among a plurality of preset clocks; and
Controlling the hardware to consume a voltage according to the clock to process the command,
The step of generating the seed value comprises:
Set a delay time indicating a time interval at which the delay value is generated according to the magnitude of the measured voltage, and when the delay time elapses from the time the voltage is measured, the delay value displayed in the same waveform as the level value A power analysis attack prevention method comprising the step of generating.
제7항에 있어서, 상기 시드 값을 생성하는 단계는,
상기 지연 값을 생성하는 단계 이전에, 측정된 전압을 사전에 설정되는 복수개의 단계로 샘플링하여 레벨 값을 산출하는 단계를 더 포함하는, 전력분석 공격 방지 방법.
The method of claim 7, wherein generating the seed value comprises:
Prior to generating the delay value, the method further comprising the step of calculating a level value by sampling the measured voltage in a plurality of preset steps.
삭제delete 제7항에 있어서, 상기 시드 값을 생성하는 단계는,
상기 지연 값을 생성하는 단계 이후에, 상기 레벨 값과 상기 지연 값이 동일한 경우, 하이 레벨 또는 로우 레벨 중 적어도 하나의 레벨로 나타나도록 시드 값을 생성하고, 상기 레벨 값과 상기 지연 값이 다른 경우, 상기 레벨 값과 상기 지연 값이 동일한 경우에 생성된 시드 값과 상반되는 레벨로 나타나도록 시드 값을 생성하는 단계를 더 포함하는, 전력분석 공격 방지 방법.
The method of claim 7, wherein generating the seed value comprises:
After generating the delay value, when the level value and the delay value are the same, a seed value is generated to appear as at least one of a high level or a low level, and when the level value and the delay value are different , generating a seed value to appear as a level opposite to the generated seed value when the level value and the delay value are the same, further comprising the step of generating a seed value.
제7항에 있어서, 상기 난수를 생성하는 단계는,
사전에 마련되는 설정 값과 임의의 피드백 루프 값을 입력 받고, 상기 설정 값과 상기 피드백 루프 값에 따라 제 1 논리 값을 출력하고,
상기 시드 값과 상기 제 1 논리 값을 입력 받고, 상기 시드 값과 상기 제 1 논리 값에 따라 제 2 논리 값을 출력하며,
상기 시드 값과 상기 제 2 논리 값을 입력 받고, 상기 시드 값과 상기 제 2 논리 값에 따라 상기 피드백 루프 값을 출력하는, 전력분석 공격 방지 방법.
The method of claim 7, wherein the generating of the random number comprises:
receiving a preset value and an arbitrary feedback loop value, and outputting a first logic value according to the preset value and the feedback loop value;
receiving the seed value and the first logical value, and outputting a second logical value according to the seed value and the first logical value;
and receiving the seed value and the second logical value, and outputting the feedback loop value according to the seed value and the second logical value.
제11항에 있어서, 상기 클럭을 추출하는 단계는,
상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값을 입력 받고, 상기 제 1 논리 값, 상기 제 2 논리 값 및 상기 피드백 루프 값에 따라 사전에 설정되는 복수개의 클럭 중 하나의 클럭을 추출하는, 전력분석 공격 방지 방법.
The method of claim 11, wherein the step of extracting the clock comprises:
receiving the first logic value, the second logic value, and the feedback loop value, and generating one of a plurality of clocks preset according to the first logic value, the second logic value, and the feedback loop value Extracting, power analysis attack prevention method.
KR1020200094060A 2020-07-28 2020-07-28 Apparatus and method for preventing power analysis attack using voltage change KR102374329B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200094060A KR102374329B1 (en) 2020-07-28 2020-07-28 Apparatus and method for preventing power analysis attack using voltage change

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200094060A KR102374329B1 (en) 2020-07-28 2020-07-28 Apparatus and method for preventing power analysis attack using voltage change

Publications (2)

Publication Number Publication Date
KR20220014234A KR20220014234A (en) 2022-02-04
KR102374329B1 true KR102374329B1 (en) 2022-03-14

Family

ID=80268172

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200094060A KR102374329B1 (en) 2020-07-28 2020-07-28 Apparatus and method for preventing power analysis attack using voltage change

Country Status (1)

Country Link
KR (1) KR102374329B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230241432A1 (en) 2022-02-03 2023-08-03 Hyundai Mobis Co., Ltd. Vehicle, vehicle control apparatus, and vehicle fire suppressing apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020058034A (en) * 2016-02-23 2020-04-09 グーグル エルエルシー Clock period randomization for protection against cryptographic attacks

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020058034A (en) * 2016-02-23 2020-04-09 グーグル エルエルシー Clock period randomization for protection against cryptographic attacks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Armin Krieg 외 4인, ‘A Side Channel Attack Countermeasure using System-On-Chip Power Profile Scrambling’, 2011 IEEE 17th International On-Line Testing Symposium 2011.08.22.*
이동규 외 4인, "Scrambling Technique of Instruction Power Consumption for Side-Channel Attack Protection", 2020 International Conference on Electronics, Information, and Communication (ICEIC) 2020.04.02.*

Also Published As

Publication number Publication date
KR20220014234A (en) 2022-02-04

Similar Documents

Publication Publication Date Title
Yalçin et al. True random bit generation from a double-scroll attractor
EP3246841B1 (en) Data assessment device, data assessment method, and program
TW201541278A (en) Method, electronic device, and user interface for on-demand detecting malware
US11171793B2 (en) Method and system for detecting an attack on a physically unclonable function (PUF)
US20170293757A1 (en) Systems and Methods for Enhancing Control System Security by Detecting Anomalies in Descriptive Characteristics of Data
KR102374329B1 (en) Apparatus and method for preventing power analysis attack using voltage change
KR102183312B1 (en) APPARATUS AND METHOD FOR ISSUING CODES FOR QUANTUM RANDOM NUMBER ENTROPY ENCRYPTION SUPPORTING DUSS(Different Units Same Security)
Ye et al. Modeling attacks on strong physical unclonable functions strengthened by random number and weak PUF
JP7285187B2 (en) System and method for anomaly characterization based on joint analysis of history and time series
US9122852B2 (en) Password input system and method for inputting password
US20130179966A1 (en) Password authentication circuit and method
Chawla et al. Application inference using machine learning based side channel analysis
US20180343250A1 (en) Device Pairing and Authentication
TW201926041A (en) Equipment maintenance forecasting system and operation method thereof
EP3502869B1 (en) Interference detecting ring oscillators
JP2005523511A (en) Gap histogram online randomness test
CN109617684A (en) Selfreparing Initiative Defense formula true random number generating device and generation method
US9590636B1 (en) Method and apparatus for validating a system-on-chip based on a silicon fingerprint and a unique response code
JP6626039B2 (en) Blacklist setting device, blacklist setting method, and blacklist setting program
US20230025870A1 (en) Password authentication apparatus, password authentication method, and computer readable medium
Karabacak et al. Remote detection of unauthorized activity via spectral analysis
CN213547530U (en) SPA attack prevention to-be-detected circuit safety simulation analysis device
JP2019215794A (en) Detection method and detection apparatus
US20030187889A1 (en) Functional gap average on-line randomness test
KR102331885B1 (en) Detecting abnormal data flow in storage writing process through current charging of capacitor

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant