KR20130067359A - Method and apparatus for providing data arrangement for side channel analysis - Google Patents
Method and apparatus for providing data arrangement for side channel analysis Download PDFInfo
- Publication number
- KR20130067359A KR20130067359A KR1020110134162A KR20110134162A KR20130067359A KR 20130067359 A KR20130067359 A KR 20130067359A KR 1020110134162 A KR1020110134162 A KR 1020110134162A KR 20110134162 A KR20110134162 A KR 20110134162A KR 20130067359 A KR20130067359 A KR 20130067359A
- Authority
- KR
- South Korea
- Prior art keywords
- waveform data
- waveform
- alignment
- data
- compression ratio
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004458 analytical method Methods 0.000 title claims abstract description 32
- 230000006835 compression Effects 0.000 claims abstract description 28
- 238000007906 compression Methods 0.000 claims abstract description 28
- 238000004364 calculation method Methods 0.000 abstract description 11
- 230000003111 delayed effect Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Investigating Strength Of Materials By Application Of Mechanical Stress (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
종래의 파형 데이터 정렬 기법은, 파형의 길이가 길어질 뿐만 아니라, 임계치가 커질수록 윈도우의 상관값 계산과 이 계산의 반복횟수(임계치로 지정된 수)만큼 정렬 시간이 지연된다는 문제가 있다. 이에 본 발명의 실시예에서는, 파형 데이터를 정렬함에 있어 기설정된 압축률로 단계별 압축 파형 데이터를 생성함으로써, 파형 데이터의 정렬 시간을 줄일 수 있는 부채널 분석을 위한 데이터 정렬 기술을 제안하고자 한다. 구체적으로, 본 발명의 실시예에 따른 부채널 분석을 위한 데이터 정렬 기술은, 수집된 파형 데이터에 대한 파형 정렬 변수를 설정하는 제1 과정과, 설정되는 상기 파형 정렬 변수에 따라 제1 설정 압축률로 단계별 압축 파형 데이터를 생성하는 제2 과정과, 상기 단계별 압축 파형 데이터를 정렬하는 제3 과정을 포함하되, 상기 수집된 파형 데이터의 압축률이 제2 설정 압축률이 될 때까지 상기 제1 과정 내지 제3 과정을 반복 수행할 수 있다.Conventional waveform data alignment technique has a problem that not only the waveform is longer, but also the threshold is larger, the correlation time of the window is delayed and the alignment time is delayed by the number of iterations (number specified by the threshold) of the calculation. Accordingly, an embodiment of the present invention proposes a data alignment technique for subchannel analysis that can reduce the alignment time of waveform data by generating compressed waveform data for each stage at a predetermined compression ratio in arranging waveform data. Specifically, the data sorting technique for subchannel analysis according to an embodiment of the present invention, the first step of setting the waveform alignment parameters for the collected waveform data, and at a first set compression ratio in accordance with the set waveform alignment parameters A second process of generating compressed waveform data in stages, and a third process of arranging the compressed waveform data in stages, wherein the first to third processes are performed until the compressed ratio of the collected waveform data becomes a second set compression ratio. The process can be repeated.
Description
본 발명은 부채널 분석을 위한 데이터 정렬 기술에 관한 것으로, 특히 보안 전자장비 등에서 비밀정보를 획득하기 위해 이용되는 부채널 분석 시스템에서 수집된 파형 데이터를 고속으로 정렬하는데 적합한 데이터 정렬 방법 및 장치에 관한 것이다.
The present invention relates to a data sorting technique for subchannel analysis, and more particularly, to a data sorting method and apparatus suitable for rapidly sorting waveform data collected in a subchannel analysis system used for obtaining secret information in security electronic equipment and the like. will be.
암호 알고리즘이 포함된 장치들은 암호 알고리즘에 따라 정보 조작이나 정보 유출을 막기 위한 비밀키가 생성되고 정보는 비밀키로 암호화되어 보호된다. 암호 알고리즘이 구동되는 동안 비밀키와 관련된 알고리즘 수행시간, 전력소비, 전자기파 방출량 등의 부채널 정보의 유출이 발생한다. 부채널 정보를 이용한 공격방식을 부채널 공격(Side Channel Attack)이라고 하며, 이러한 부채널 공격에는 시차 공격법, 전력 분석 공격법, 오류 공격법 등이 있다.Devices with encryption algorithms generate a secret key to prevent information manipulation or information leakage, and the information is encrypted and protected by the encryption algorithm. While the cryptographic algorithm is running, subchannel information leakage such as algorithm execution time, power consumption, and electromagnetic wave emission occurs. Attack methods using subchannel information are called side channel attacks. Such subchannel attacks include parallax attacks, power analysis attacks, and error attacks.
부채널 공격을 막기 위하여 암호 알고리즘을 수행하는 보안 장치들에서 발생하는 정보를 분석하는 것이 부채널 분석(Side Channel Analysis)이다.Side channel analysis is the analysis of information generated by security devices that perform encryption algorithms to prevent side channel attacks.
Kocher 등에 의해 부채널 공격(Side Channel Attack)이 소개(미국공개특허 제2002-0124178호, "Differential Power Analysis method and apparatus")된 이후, 많은 연구 그룹들에 의해 이론적인 연구와 실험적인 연구가 이루어져 왔다.Since the Side Channel Attack was introduced by Kocher et al. (US Patent Publication 2002-0124178, "Differential Power Analysis method and apparatus"), theoretical and experimental studies have been conducted by many research groups. come.
예컨대, 부채널 분석법은 스마트 카드(smartcard) 등의 보안 전자 장비들로부터 누설되는 전자기파 등을 통계적으로 이용하여 키 값 등의 비밀정보 등을 추출하기 위하여 이용될 수 있다. 이때, 장비의 전력 소모 혹은 다른 특성을 사용한 아날로그/디지털 변환 데이터 수집 및 분석 시스템을 이용하여 장비에서 암호 연산이 이루어질 때마다 통계적 분석을 수행하여 전체 혹은 일부 키 정보를 획득할 수 있다.For example, the sub-channel analysis method may be used to extract secret information such as key values by statistically using electromagnetic waves leaked from security electronic devices such as smart cards. In this case, using the analog / digital conversion data collection and analysis system using the power consumption or other characteristics of the equipment, statistical analysis may be performed every time an encryption operation is performed on the equipment, thereby obtaining all or some key information.
이러한 부채널 분석에는 오실로스코프 등을 이용하여 누수 정보의 파형을 반복 수집하고 연산장치에 저장하는 과정, 수집된 파형 데이터를 부채널 분석에 용이하도록 가공하는 과정, 가공된 파형 데이터로부터 비밀 정보를 획득하기 위하여 분석하는 과정 등이 순차적으로 진행된다.Such subchannel analysis may be performed by repeatedly collecting a waveform of leakage information using an oscilloscope and storing it in a computing device, processing the collected waveform data for easy subchannel analysis, and obtaining secret information from the processed waveform data. The analysis process is performed sequentially.
파형 가공 단계에서 데이터 연산은 일반적으로 각각 개별 파형 데이터에 대하여 독립적으로 이루어지며, 분석 연산 단계에서의 데이터 연산은 전체 파형들에 대하여 이루어진다.In the waveform processing step, data calculation is generally performed independently for each individual waveform data, and data analysis in the analysis calculation step is performed for the entire waveforms.
이처럼 부채널 분석은 수집된 파형들을 정렬 및 필터링하고, 분석 모델에 따라 분석하여 실제 사용된 키 등을 추출하여 안전성을 검증하는 기술이다.As such, subchannel analysis is a technology that verifies safety by sorting and filtering the collected waveforms, analyzing them according to an analysis model, and extracting keys that are actually used.
특히, 파형 데이터 정렬은, 정렬하고자 하는 파형의 일정 구간을 비교 구간 변수, 예를 들어 윈도우(window)로 설정하고, 이 윈도우를 이동할 구간인 임계치(threshold)를 결정하여 비교하고 있다. 즉, 임계치 구간이 m이면 윈도우 크기만큼의 상관값을 m번 구하여 그 중에 가장 높은 상관계수를 갖는 지점으로 파형을 이동시키는 구조를 갖는다.In particular, the waveform data alignment sets a certain section of the waveform to be aligned to a comparison section variable, for example, a window, and determines and compares a threshold, which is a section in which the window is to be moved. That is, when the threshold section is m, the correlation value as much as the window size is obtained m times and the waveform is moved to the point having the highest correlation coefficient among them.
그런데, 이와 같은 종래의 파형 데이터 정렬 기법은, 파형의 길이가 길어질 뿐만 아니라, 임계치가 커질수록 윈도우의 상관값 계산과 이 계산의 반복횟수(임계치로 지정된 수)만큼 정렬 시간이 지연된다는 문제가 있다.
However, such a conventional waveform data alignment technique has a problem that not only the length of the waveform is longer, but also the larger the threshold value, the correlation time of the window is delayed and the alignment time is delayed by the number of iterations (the number specified as the threshold value) of the calculation. .
이에 본 발명의 실시예에서는, 파형 데이터를 정렬함에 있어 기설정된 압축률로 단계별 압축 파형 데이터를 생성함으로써, 파형 데이터의 정렬 시간을 줄일 수 있는 부채널 분석을 위한 데이터 정렬 기술을 제안하고자 한다.
Accordingly, an embodiment of the present invention proposes a data alignment technique for subchannel analysis that can reduce the alignment time of waveform data by generating compressed waveform data for each stage at a predetermined compression ratio in arranging waveform data.
본 발명의 실시예에 따른 부채널 분석을 위한 데이터 정렬 방법은, 수집된 파형 데이터에 대한 파형 정렬 변수를 설정하는 제1 과정과, 설정되는 상기 파형 정렬 변수에 따라 제1 설정 압축률로 단계별 압축 파형 데이터를 생성하는 제2 과정과, 상기 단계별 압축 파형 데이터를 정렬하는 제3 과정을 포함하되, 상기 수집된 파형 데이터의 압축률이 제2 설정 압축률이 될 때까지 상기 제1 과정 내지 제3 과정을 반복 수행할 수 있다.
A data sorting method for subchannel analysis according to an exemplary embodiment of the present invention includes a first process of setting a waveform alignment variable for collected waveform data, and a compressed waveform step by step at a first predetermined compression ratio according to the waveform alignment parameter to be set. A second process of generating data, and a third process of arranging the compressed waveform data for each step, and repeating the first process to the third process until the compression rate of the collected waveform data becomes a second set compression rate. Can be done.
본 발명에 의하면, 파형 데이터를 정렬함에 있어 기설정된 압축률로 단계별 압축 파형 데이터를 생성함으로써, 파형 데이터의 정렬 시간을 줄여 부채널 분석 시간을 단축시킬 수 있다. 예를 들어, 파형 데이터의 정렬 속도를 결정하는 파형 포인트 수와 임계치(threshold) 구간을 각각 n과 m이라 가정하면, 그 계산량을 O(nm)에서 O(nlogm) 또는 O(log nm)으로 줄어들게 만들어 고속 정렬이 가능하게 된다.
According to the present invention, by generating the compressed waveform data for each step at a predetermined compression ratio in arranging the waveform data, it is possible to shorten the subchannel analysis time by reducing the alignment time of the waveform data. For example, assuming that the number of waveform points and threshold intervals that determine the alignment rate of the waveform data are n and m, respectively, the calculation amount is reduced from O (nm) to O (nlogm) or O (log nm). Making fast sorting possible.
도 1은 본 발명의 실시예에 따른 부채널 분석을 위한 데이터 정렬 장치에 대한 개략적인 구성 블록도,
도 2는 본 발명의 실시예에 따른 부채널 분석을 위한 데이터 정렬 방법을 예시적으로 설명하는 흐름도,
도 3은 본 발명의 실시예에 따른 압축 파형 데이터 생성 과정의 이해를 돕기 위한 파형 데이터의 단계별 예시도.1 is a schematic block diagram of a data sorting apparatus for subchannel analysis according to an embodiment of the present invention;
2 is a flowchart illustrating a data sorting method for subchannel analysis according to an embodiment of the present invention;
3 is a step-by-step illustration of waveform data to help understand the compressed waveform data generation process according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 도면부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like numbers refer to like elements throughout.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions in the embodiments of the present invention, which may vary depending on the intention of the user, the intention or the custom of the operator. Therefore, the definition should be based on the contents throughout this specification.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be loaded into a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus so that the instructions, which may be executed by a processor of a computer or other programmable data processing apparatus, And means for performing the functions described in each step are created. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
Also, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing the specified logical function (s). It should also be noted that in some alternative embodiments, the functions mentioned in the blocks or steps may occur out of order. For example, two blocks or steps shown in succession may in fact be performed substantially concurrently, or the blocks or steps may sometimes be performed in reverse order according to the corresponding function.
실시예의 설명에 앞서, 본 발명은 파형 데이터를 정렬함에 있어 기설정된 압축률로 단계별 압축 파형 데이터를 생성함으로써, 파형 데이터의 정렬 시간을 줄일 수 있는 부채널 분석을 위한 데이터 정렬 기술을 구현하고자 하는 것으로, 이러한 기술 사상으로부터 본 발명의 목적으로 하는 바를 용이하게 달성할 수 있을 것이다.
Prior to the description of the embodiment, the present invention is to implement a data alignment technique for sub-channel analysis that can reduce the alignment time of the waveform data by generating the compressed waveform data for each step at a predetermined compression ratio in the arrangement of the waveform data, From this technical idea, it is possible to easily achieve the object of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 실시예에 대해 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 실시예에 따른 부채널 분석을 위한 데이터 정렬 장치에 대한 개략적인 구성 블록도로서, 파형 데이터 수집부(100), 파형 데이터 가공부(102), 분석부(104), 파형 데이터 정렬부(106) 등을 포함할 수 있다.1 is a schematic block diagram of a data alignment apparatus for subchannel analysis according to an exemplary embodiment of the present invention, which includes a
도 1에 도시한 바와 같이, 파형 데이터 수집부(100)는 외부에서 입력되는 파형 데이터를 전달받는 구성요소로서, 대상 보안 전자장비로부터 누수되는 누수정보(소모전력, 전자기파 등)를 수집하기 위한 외부 측정 장치와 연결된 오실로스코프 등으로 구성될 수 있다. 이러한 파형 데이터 수집부(100)는 외부 측정 장치를 이용하여 누수 정보를 측정하고, 오실로스코프를 통하여 파형 데이터를 수집하도록 구성될 수 있다.As shown in FIG. 1, the waveform
파형 데이터 가공부(102)는 파형 데이터 수집부(100)에서 수집된 파형 데이터의 적어도 일부를 전달받아 분석이 용이하도록 가공하는 역할을 수행할 수 있다. 또한, 파형 데이터 가공부(102)는 후술하는 파형 데이터 정렬부(106)로부터 제공되는 최종 파형 정렬 결과에 따라 각 파형 데이터의 정렬 결과를 비교하고 비교된 파형 데이터 부분 중 표준편차 범위를 벗어나는 부분의 부분정렬을 실시할 수 있다.The waveform
분석부(104)는 파형 데이터 가공부(102)에서 가공된 파형 데이터를 전달받아 전체 파형에 대한 부채널 분석 결과를 생성하는 역할을 수행할 수 있다.The
본 발명의 실시예에 따른 파형 데이터 정렬부(106)는, 파형 데이터 수집부(100)에 의해 수집된 파형 데이터가 입력되면 해당 파형 데이터의 정렬을 위한 파형 정렬 변수를 설정하는 역할을 할 수 있다. 수집된 파형 데이터란 상술한 바와 같이 파형 데이터 수집부(100)에 의해서 대상 보안 전자장비로부터 누수되는 누수정보(소모전력, 전자기파 등)를 수집하기 위한 외부 측정 장치와 연결된 오실로스코프로부터 획득되는 파형 데이터를 의미할 수 있으며, 파형 정렬 변수라 함은 예를 들어, 윈도우 크기(window size, 비교할 구간), 임계치(threshold, 비교 구간의 최대 이동 정도), 압축률(기초적인 정렬을 실행할 파형 데이터의 압축 정도를 결정) 등을 포함할 수 있다.When the waveform data collected by the
또한, 파형 데이터 정렬부(106)는, 본 발명의 실시예에 따라 상기 설정된 파형 정렬 변수에 따라 기 설정된 압축률로 단계별 압축 파형 데이터를 생성할 수 있으며, 생성되는 압축 파형 데이터를 단계별로 정렬하는 역할을 할 수 있다.
In addition, the waveform
이하, 상술한 구성과 함께, 본 발명의 실시예에 따른 부채널 분석을 위한 데이터 정렬 방법, 구체적으로 파형 데이터 정렬부(106)의 압축 파형 데이터 정렬 과정을 첨부한 도 2의 흐름도 및 도 3의 파형도를 참조하여 상세히 설명하기로 한다.Hereinafter, in addition to the above-described configuration, a data alignment method for subchannel analysis according to an exemplary embodiment of the present invention, specifically, a flowchart of FIG. 2 attached to a compressed waveform data alignment process of the waveform
도 2에 도시한 바와 같이, 파형 데이터 정렬부(106)는 파형 데이터 수집부(100)에서 수집된 파형 데이터를 입력받을 수 있으며(S200), 입력되는 파형 데이터에 대해 파형 정렬 변수를 설정하고(S202), 기 설정된 압축률로 단계별 압축 파형 데이터를 생성한 후(S204), 생성되는 압축 파형 데이터를 정렬할 수 있다(S204).As shown in FIG. 2, the waveform
이러한 파형 데이터 정렬부(106)의 압축 파형 데이터 정렬 과정을 보다 구체적으로 도 3의 단계별 파형도를 참조하여 구체적으로 설명하기로 한다.
The compressed waveform data alignment process of the waveform
먼저, 도 3의 (a)와 같이, 파형길이가 n이고, 임계치 m, 윈도우 크기 n-m인 파형들을 정렬할 때, 우선 각 파형을 특정 크기로 압축할 수 있다.First, as shown in FIG. 3A, when aligning waveforms having a waveform length of n, a threshold m and a window size n-m, each waveform may be first compressed to a specific size.
예를 들어, 도 3의 (b)와 같이, 파형 데이터의 1000 포인트(플로팅 포인트, 정수 포인트 등)를 압축하여 1포인트로 대체하면, 파형길이 n/1000, 윈도우 크기 (n-m)/1000, 임계치 m/1000인 파형이 구성될 수 있으며, 이를 기존의 방법처럼 정렬할 수 있다. 이때의 정렬위치를 a1이라 가정하면, a1은 압축률 1000 포인트 내에서 정확성을 갖는 정렬을 완성한 것이다.For example, as shown in FIG. 3B, when 1000 points (floating points, integer points, etc.) of the waveform data are compressed and replaced by one point, the waveform length n / 1000, the window size (nm) / 1000, the threshold value A waveform of m / 1000 can be constructed, which can be aligned like the conventional method. Assuming that the alignment position at this time is a1, a1 completes the alignment with accuracy within 1000 compression points.
따라서, 도 3의 (c)에서처럼, 1000 포인트 내에서 정렬을 하되, 2번의 압축률을 적용하여 1000/100=10인 임계치 구간 내에서 정렬을 한다. 이때의 정렬 위치를 a2라 가정하면, a2는 압축률 100 포인트 내에서 정확성을 갖는 정렬을 완성한 것이다.Therefore, as shown in (c) of FIG. 3, the alignment is performed within 1000 points, but the alignment is performed within the threshold interval of 1000/100 = 10 by applying two compression ratios. Assuming that the alignment position at this time is a2, a2 completes the alignment with accuracy within 100 points of compression ratio.
따라서, 도 3의 (d)에서처럼, 100 포인트 내에서 정렬을 하되, 3번의 압축률을 적용하여 100/10=10인 임계치 구간 내에서 정렬을 한다. 이때의 정렬 위치를 a3라 가정하면, a3는 압축률 10 포인트 내에서 정확성을 갖는 정렬을 완성한 것이다.Therefore, as shown in (d) of FIG. 3, the alignment is performed within 100 points, but the alignment is performed within the threshold interval of 100/10 = 10 by applying three compression ratios. Assuming that the alignment position at this time is a3, a3 completes the alignment with accuracy within 10 points of compression ratio.
따라서, 도 3의 (e)에서처럼 10 포인트 내에서 정렬을 하되, 3번의 압축률을 적용하여 10/1=10인 임계치 구간 내에서 정렬을 한다. 이 때의 정렬 위치를 a4라 가정하면 원래 파형을 가지고 정렬해야 할 위치를 계산할 수 있다. a1+a2+a3+a4가 정렬되어야 될 위치이다.Therefore, the alignment is performed within 10 points as shown in (e) of FIG. 3, and the alignment is performed within the threshold interval of 10/1 = 10 by applying three compression ratios. Assuming that the alignment position at this time is a4, the position to be aligned with the original waveform can be calculated. a1 + a2 + a3 + a4 is the position to be aligned.
이 과정에서 보면, 원래 임계치인 m번의 상관값을 계산해야 되었으나, 이를 (m/1000 + 10 + 10 + 10)만큼의 계산으로 준 것을 알 수 있다. 또한, 상관값을 계산할 때도 모든 포인트에 대해 계산하지 않고, 압축된 포인트만큼만 계산하면 되기 때문에, 연산 과정에 있어서도 속도가 개선됨을 알 수 있다. 예컨대, O(n)의 계산을 O(log n)의 계산량으로 떨어뜨려 정렬이 가능함을 알 수 있다.In this process, it was necessary to calculate the correlation value of m, which is the original threshold, but it can be seen that this was given by the calculation of (m / 1000 + 10 + 10 + 10). In addition, it is understood that the speed is improved even in the calculation process since the calculation of the correlation value does not need to be performed for all the points but only the compressed points. For example, it can be seen that alignment is possible by dropping the calculation of O (n) to the calculation amount of O (log n).
다만, 도 3의 단계별 파형도는 본 발명의 이해를 돕기 위해 예시적으로 도시한 것이며, 실제 파형의 길이가 길어질수록 도 3의 (b)의 압축률이 달라질 수 있으며, 마찬가지로 도 3의 (c), (d), (e)의 압축률도 달라질 수 있다.However, the step-by-step waveform diagram of FIG. 3 is exemplarily illustrated to help understanding of the present invention. As the length of the actual waveform increases, the compression ratio of FIG. 3B may vary, and likewise, FIG. 3C. Compression ratios of (d) and (e) may also vary.
한편, 상술한 과정은 파형 압축률이 1이 될 때까지 진행될 수 있으며(S208), 파형의 길이 및 초기 압축률에 따라 압축 파형 데이터 생성 및 정렬 과정이 변경(추가 또는 단축)될 수 있음을 본 발명의 기술 분야에서 통상의 지식을 가진 자라면 용이하게 알 수 있을 것이다.Meanwhile, the above-described process may be performed until the waveform compression ratio is 1 (S208), and the generation and alignment process of the compressed waveform data may be changed (added or shortened) according to the length and initial compression ratio of the waveform. Those skilled in the art will readily know.
이후, 파형 데이터를 복원하게 되는데, 예컨대 압축 파형 데이터 정렬 결과에 따른 파형 이동 위치를 압축 비율에 곱하여 원래 파형 데이터를 이동시켜 파형 데이터를 복원할 수 있다(S210). 이에 대한 파형 정렬 결과는 파형 데이터 가공부(102)로 전달될 수 있으며, 최종적으로 분석부(104)를 통해 해당 파형 데이터에 대한 분석 작업이 진행될 수 있다.
Subsequently, waveform data may be restored. For example, the waveform data may be restored by multiplying the waveform shift position according to the compressed waveform data alignment result by the compression ratio to move the original waveform data (S210). The waveform alignment result may be transmitted to the waveform
이상 설명한 바와 같은 본 발명의 실시예에 의하면, 파형 데이터를 정렬함에 있어 기설정된 압축률로 단계별 압축 파형 데이터를 생성함으로써, 파형 데이터의 정렬 시간을 줄여 부채널 분석 시간을 단축시킬 수 있다. 예를 들어, 파형 데이터의 정렬 속도를 결정하는 파형 포인트 수와 임계치(threshold) 구간을 각각 n과 m이라 가정하면, 그 계산량을 O(nm)에서 O(nlogm) 또는 O(log nm)으로 줄어들게 만들어 고속 정렬이 가능하게 된다.
According to the embodiment of the present invention as described above, by generating the compressed waveform data for each step at a predetermined compression ratio in aligning the waveform data, it is possible to shorten the sub-channel analysis time by reducing the alignment time of the waveform data. For example, assuming that the number of waveform points and threshold intervals that determine the alignment rate of the waveform data are n and m, respectively, the calculation amount is reduced from O (nm) to O (nlogm) or O (log nm). Making fast sorting possible.
100: 파형 데이터 수집부
102: 파형 데이터 가공부
104: 분석부
106: 파형 데이터 정렬부100: waveform data collector
102: waveform data processing unit
104: analysis unit
106: waveform data alignment unit
Claims (1)
설정되는 상기 파형 정렬 변수에 따라 제1 설정 압축률로 단계별 압축 파형 데이터를 생성하는 제2 과정과,
상기 단계별 압축 파형 데이터를 정렬하는 제3 과정을 포함하되,
상기 수집된 파형 데이터의 압축률이 제2 설정 압축률이 될 때까지 상기 제1 과정 내지 제3 과정을 반복 수행하는
부채널 분석을 위한 데이터 정렬 방법.Setting a waveform alignment variable for the collected waveform data;
A second process of generating compressed waveform data for each stage at a first set compression ratio according to the set waveform alignment variable;
Comprising a third process of sorting the compressed waveform data for each step,
Repeating the first to third processes until the compression ratio of the collected waveform data is a second set compression ratio
Data sorting method for subchannel analysis.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110134162A KR101367174B1 (en) | 2011-12-14 | 2011-12-14 | Method and apparatus for providing data arrangement for side channel analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110134162A KR101367174B1 (en) | 2011-12-14 | 2011-12-14 | Method and apparatus for providing data arrangement for side channel analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130067359A true KR20130067359A (en) | 2013-06-24 |
KR101367174B1 KR101367174B1 (en) | 2014-02-27 |
Family
ID=48863206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110134162A KR101367174B1 (en) | 2011-12-14 | 2011-12-14 | Method and apparatus for providing data arrangement for side channel analysis |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101367174B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101480904B1 (en) * | 2013-09-25 | 2015-01-13 | 한국전자통신연구원 | Apparatus and method for selecting waveform for side-channel analysis |
KR101852546B1 (en) | 2017-08-02 | 2018-06-11 | 국민대학교산학협력단 | System and Method for Distinguishing Block Cipher SEED when Operating Financial IC Card |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070077517A (en) * | 2006-01-24 | 2007-07-27 | 박재철 | Profile based web application intrusion detection system and method |
KR20110060570A (en) * | 2009-11-30 | 2011-06-08 | 한국전자통신연구원 | Analysis method of subchannel analyzer |
KR20130022475A (en) * | 2011-08-24 | 2013-03-07 | 한국전자통신연구원 | Method of arranging data automatically for side channel analysis and side channel analysis apparatus performing the same |
-
2011
- 2011-12-14 KR KR1020110134162A patent/KR101367174B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101480904B1 (en) * | 2013-09-25 | 2015-01-13 | 한국전자통신연구원 | Apparatus and method for selecting waveform for side-channel analysis |
KR101852546B1 (en) | 2017-08-02 | 2018-06-11 | 국민대학교산학협력단 | System and Method for Distinguishing Block Cipher SEED when Operating Financial IC Card |
Also Published As
Publication number | Publication date |
---|---|
KR101367174B1 (en) | 2014-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3220306B1 (en) | Method of testing the resistance of a circuit to a side channel analysis | |
CN103457719B (en) | A kind of side channel energy to SM3 cryptographic algorithm HMAC pattern analyzes method | |
Shahmirzadi et al. | Re-consolidating first-order masking schemes: Nullifying fresh randomness | |
CN1989726B (en) | Method and device for executing cryptographic calculation | |
EP3091470B1 (en) | Apparatus and method for processing digital value | |
Maghrebi et al. | Comparison between side-channel analysis distinguishers | |
US10721056B2 (en) | Key processing method and device | |
CN106330424B (en) | The anti-attack method and device of crypto module based on SM3 algorithm | |
CN109428707A (en) | Method for testing the resistance of a circuit to side channel analysis | |
KR101367174B1 (en) | Method and apparatus for providing data arrangement for side channel analysis | |
Diop et al. | Collision based attacks in practice | |
Jeřábek et al. | Analyzing and optimizing the dummy rounds scheme | |
Diop et al. | From theory to practice: horizontal attacks on protected implementations of modular exponentiations | |
KR20130022475A (en) | Method of arranging data automatically for side channel analysis and side channel analysis apparatus performing the same | |
KR20140077404A (en) | Method and apparatus for providing side channel analysis | |
Mandrona et al. | Comparative analysis of pseudorandom bit sequence generators | |
Miškovsky et al. | Speeding up differential power analysis using integrated power traces | |
Korak et al. | Minimizing the costs of side-channel analysis resistance evaluations in early design steps | |
CN113965324B (en) | Private key recovery method and system for realizing modular reduction attack based on RSA-CRT (rivest-Shamir-Adleman-Critical) of template | |
Hasegawa et al. | Ip core of statistical test suite of fips 140-2 | |
Wang | T-Scope: Side-channel Leakage Assessment with a Hardware-accelerated Online TVLA Test | |
Andel et al. | RSA power analysis obfuscation: a dynamic algorithmic hardware countermeasure | |
KR20150085980A (en) | Apparatus of trigger signal generation for side channel analysis | |
CN106330443A (en) | Anti-attack method and apparatus of SM3 algorithm-based crypto module | |
CN106161004A (en) | The side channel energy of a kind of HMAC-SM3 cryptographic algorithm analyzes method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20111214 |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20130510 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20111214 Comment text: Patent Application |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20140214 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140219 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20140220 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170124 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20170124 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180129 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20180129 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190125 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20190125 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20210125 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20221110 Start annual number: 10 End annual number: 10 |
|
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20241202 |