KR20090065273A - 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법 - Google Patents

2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법 Download PDF

Info

Publication number
KR20090065273A
KR20090065273A KR1020070132759A KR20070132759A KR20090065273A KR 20090065273 A KR20090065273 A KR 20090065273A KR 1020070132759 A KR1020070132759 A KR 1020070132759A KR 20070132759 A KR20070132759 A KR 20070132759A KR 20090065273 A KR20090065273 A KR 20090065273A
Authority
KR
South Korea
Prior art keywords
power consumption
measured
electromagnetic radiation
intermediate values
correlation coefficient
Prior art date
Application number
KR1020070132759A
Other languages
English (en)
Other versions
KR100926749B1 (ko
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 KR1020070132759A priority Critical patent/KR100926749B1/ko
Publication of KR20090065273A publication Critical patent/KR20090065273A/ko
Application granted granted Critical
Publication of KR100926749B1 publication Critical patent/KR100926749B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • G09C1/06Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member
    • G09C1/10Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system wherein elements corresponding to the signs making up the clear text are operatively connected with elements corresponding to the signs making up the ciphered text, the connections, during operation of the apparatus, being automatically and continuously permuted by a coding or key member the connections being electrical
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 암호알고리즘의 안전성을 시험할 수 있는 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격 방법에 관한 것으로서, 특히 마스킹된 복수의 중간 값이 병렬처리되는 경우에도 사용가능한 사전처리함수를 이용하는 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격 방법에 관한 것이다. 본 발명에 따른 2차 차분 전력분석 공격 방법은 암호장치의 전력소모량을 측정하는 단계; 상기 측정된 전력소모량을 사전처리함수를 이용하여 사전처리하는 단계; 추정모델에 복수의 추측 키를 입력하여 각각의 추측 키에 대한 복수의 중간값을 계산하고, 상기 계산된 복수의 중간값을 이용하여 각각의 추측 키에 대응하는 전력소모량을 추정하는 단계; 상기 사전처리된 측정 전력소모량 및 상기 추정된 전력소모량 간의 상관계수를 계산하는 단계; 및 상기 상관계수를 이용하여 상기 복수의 추측 키 중에서 상기 암호장치가 사용한 키를 판별하는 단계로 구성된다. 본 발명은 마스킹된 복수의 중간 값이 병렬처리되는 암호장치에 대해서도 적용가능한 사전처리함수를 제공함으로써, ASIC 및 FPGA 등을 이용하여 구현된 암호알고리즘의 안정성을 효과적으로 시험할 수 있다.
DPA, 차분 전력분석 공격, 차분 전자기분석 공격, 암호 알고리즘, 마스킹, 사전처리함수

Description

2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격 방법{Second-order Differntial Power Analysis Attack Method and Second-order Differntial ElectroMagnetic Analysis Attack Method}
본 발명은 암호알고리즘의 안전성을 시험할 수 있는 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격 방법에 관한 것으로서, 특히 마스킹된 복수의 중간 값이 병렬처리되는 경우에도 사용가능한 사전처리함수를 이용하는 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격 방법에 관한 것이다.
1996년 Paul Kocher에 의해 소개된 부채널분석 공격은 전통적인 암호분석 방법인 차분분석, 선형분석 등과는 달리 암호 알고리즘을 구현한 암호장치에서 발생하는 부채널정보를 이용하는 공격방법이다. 이러한 부채널분석 공격은 실제 암호알고리즘이 구현된 장비에 큰 위협이 되고 있으며, 대응기법이 없는 상용 스마트카드 또는 ASIC(Application Specific Integrated Circuit)으로 구현된 암호알고리즘이 공격을 받고 있다.
부채널분석 공격은 알고리즘의 수행 시간, 전력소모량, 전자기누출 등의 부가적인 정보를 이용한다. 그 중 전력소모량을 이용하는 전력분석 공격이 가장 강력한 부채널분석 공격으로 알려져 있다.
전력분석 공격은 암호알고리즘이 동작할 때 비밀키와 관련된 데이터가 처리되는 시점에서 암호모듈에서 측정된 소비전력의 특성을 분석하여 비밀키를 찾아내는 방법이다. 전력분석 공격은 크게 단순 전력분석 공격(Simple Power Analysis Attack : SPA)과 차분 전력분석 공격(Differntial Power Analysis Attack : DPA)으로 나뉜다.
도 1은 일반적인 차분 전력분석 공격의 과정을 설명하기 위한 도면이다.
도 1을 참조하면, 차분 전력분석 공격은 먼저 공격자는 공격하고자 하는 암호장치에 대해 통상적으로 얻을 수 있는 정보를 이용하여 추정모델(120)을 정립한다. 추정모델(120)을 정립한 후, 추정모델(120)에 추측 키와 평문을 입력하여 암호 알고리즘의 중간값을 계산하고, 중간값에 따른 추정 전력소모량을 결정한다.
또한, 추정모델의 입력한 평문과 같은 평문을 공격대상 암호장치(110)에 입력하고, 암호 알고리즘 수행중에 암호장치(110)에서 소비한 전력소모량을 측정하여 측정 전력소모량을 추정 전력소모량과 함께 분석한다. 이때, 암호장치에서 측정한 전력소모량은 잡음 등 외부적 요인에 의해 많은 영향을 받기 때문에 측정 전력소모량과 추정 전력소모량의 단순 비교만으로는 정확한 결과를 얻을 수 없는 바 통계적 방법이 사용된다.
예를 들어, 측정 전력소모량 P 및 추정 전력소모량 H의 상관계수 C를 다음의 수학식 1에 따라 계산할 수 있다.
Figure 112007090764546-PAT00001
여기서, E()는 평균을 의미하고, Var()는 분산을 의미한다.
키에 대한 추측이 올바른 경우 측정 전력소모량 P 및 추정 전력소모량 H는 '1' 이하의 높은 상관계수를 갖고, 키에 대한 추측이 틀린 경우에는 '0'에 가까운 상관계수를 갖는다. 따라서, 복수의 추측 키를 사용하여 전력소모량을 추정하고, 각각의 추측 키에 대한 추정 전력소모량 및 측정 전력소모량 간의 상관계수를 구하여 가장 큰 상관계수를 갖는 추정 전력소모량에 대응하는 키를 암호 알고리즘에 사용되는 키로 판단할 수 있다.
이러한 차분 전력분석 공격에 대하여 현재까지 연구된 대응기법으로는 암호키의 변경주기를 짧게 하는 방법, 중간값을 랜덤화하여 전력소모량과의 상관관계를 제거하기 위한 마스킹, 0과 1에 대해 동일한 전력소모량을 가지도록 하는 새로운 형태의 논리 스타일, 암호알고리즘 수행 순서의 랜덤화, 랜덤지연함수 삽입, 잡음 생성 등의 방법이 있다. 그 중 마스킹 대응기법은 가장 저렴한 비용으로 비교적 손쉽게 암호알고리즘에 적용할 수 있기 때문에 일반적으로 많이 사용되는 방법이다
마스킹 대응기법의 기본 개념은 암호알고리즘의 연산중에 발생하는 중간값을 공격자가 알 수 없도록 랜덤화하는 방법으로서, 공격자가 추정모델을 통해 추정하는 전력소모량 및 실제 암호장치에서 발생하는 전력소모량 간의 상관관계를 제거하 는 방법이다. 예를 들어, 마스킹 대응기법 중 하나인 가산 마스킹은 암호알고리즘 수행시에 발생하는 중간값 a를 랜덤하게 생성된 ma을 이용하여 공격자가 알 수 없는 값
Figure 112007090764546-PAT00002
로 대체한다. 여기서, ma를 마스크라고 하며 이 값은 독립적으로 균일하게 분포된 값이다.
이러한 마스킹 기법에 대응한 공격 방법으로 2차 차분 전력분석 공격이 제안되었다. 하나의 시점에 대한 정보(예를 들어, 중간값)만을 이용하는 종래의 차분 전력분석 공격과 달리 2차 차분 전력분석 공격은 복수의 시점에 대한 정보를 이용하는 차이점이 있다.
2차 차분 전력분석 공격은 크게 사전처리단계와 분석단계로 나눌 수 있다. 사전처리단계는 사전처리함수를 이용하여 암호장치로부터 측정한 전력소모량을 처리한다. 분석단계는 1차 차분 전력분석 공격과 같이 사전처리된 측정 전력소모량 및 추정모델을 통해 추정된 전력소모량 간의 상관계수를 계산하여 암호 알고리즘의 키를 판별한다.
도 2는 2차 차분 전력분석 공격에서 종래의 사전처리함수에 따른 이론적인 최대상관계수 값을 계산한 표를 나타내는 도면이다.
도 2를 참조하면, 두 시점의 중간값 a 및 b를 사용하는 2차 차분 전력분석 공격에서 am 및 bm은 각각 중간값 a 및 b가 동일한 마스크 m에 의해 마스킹된 값이다. 또한, H()는 해밍웨이트('1'의 갯수)를 의미한다. 예를 들어, a = (10101011)2 이면 H(a) = 5이다. P(am) 및 P(bm)는 각각 중간값 am 및 bm를 처리하는 시점의 측정 전력소모량을 의미한다.
도 2는 암호 알고리즘이 1 비트의 단위로 처리되는 경우를 가정한 것으로서, 각 am 및 bm이 각각 0 또는 1이 되는 경우 추정 전력소모량
Figure 112007090764546-PAT00003
및 암호장치의 측정 전력소모량을 각각의 사전처리함수에 따라 처리한 값 간의 상관계수를 계산하여 이론적인 최대 상관계수 값을 계산한 것이다. 이 때, 최대상관계수 값을 계산하기 위하여 암호장치의 전력소모량은 키가 올바르게 추측된 경우, 즉 암호장치가 추정모델과 동일한 am 및 bm을 처리하는 경우를 가정한 것이고, 상관계수는 다음의 수학식 2에 따라 계산된다.
Figure 112007090764546-PAT00004
여기서, Ppre는 측정 전력소모량 P를 사전처리함수에 의해 사전처리한 값이다.
일반적으로 전력소모량은 해밍웨이트를 따르는 바 이론적인 계산을 위하여 측정 전력소모량 P(am) 및 P(bm)은 H(am) 및 H(bm)으로 근사화될 수 있다. 따라서, 도 2의 사전처리함수 1 내지 3은 H(am)ㆍH(bm), |H(am) - H(bm)| 및 (H(am) + H(bm))2의 형태로 계산되어 상기와 같은 값을 갖는다.
또한, 추정 전력소모량
Figure 112007090764546-PAT00005
은 다음의 식에 따라
Figure 112007090764546-PAT00006
와 같은 값을 가진다.
Figure 112007090764546-PAT00007
따라서, 마스크 값과 상관없이 추측 키를 추정모델에 입력하여 계산된 중간값 a 및 b를 사용하여 전력소모량을 추정할 수 있고, 일반적인 2차 차분 전력분석 공격 방법에서 중간값에 따른 전력소모량을 추정하기 위해
Figure 112007090764546-PAT00008
을 사용한다.
도 2를 참조하면, 사전처리함수 |P(am) - P(bm)| 및 P(am)ㆍP(bm)는 비교적 큰 최대상관계수값을 갖는 바 키가 정확히 추측된 경우와 아닌 경우의 상관계수 간의 편차가 크게 나타나므로, 2차 차분 전력분석 공격에 있어서 효과적으로 사용될 수 있다. 그러나, ASIC 이나 FPGA로 구현된 암호 알고리즘의 경우 마스킹된 중간값 am 및 bm이 같은 클록 사이클에서 처리될 수 있으며, 이러한 경우 병렬처리에 의해 측정 전력소모량 P(am) 및 P(bm)은 동일한 시점에서 서로 합쳐진 상태, 즉 P(am)+P(bm)의 형태로 측정된다. 따라서, 마스킹된 중간값 am 및 bm이 병렬처리되는 경우 사전처리함수 |P(am) - P(bm)| 및 P(am)ㆍP(bm)에 의해 측정 전력소모량을 사전처리하는 것은 불가능하다.
또한, P(am) 및 P(bm)의 합을 사용하는 사전처리함수 (P(am) + P(bm))2는 매우 낮은 상관계수값을 갖는 바 키가 정확히 추측된 경우와 아닌 경우의 상관계수 간의 편차가 크지 않으므로, 2차 차분 전력분석 공격의 사전처리함수로서 비효율적이다.
따라서, 기존에 제안된 사전처리함수를 사용하는 종래의 2차 차분 전력분석 공격 방법으로는 복수의 중간값이 동시에 병렬로 처리되는 암호장치에 대해서는 적절한 마스킹 대응 공격을 시뮬레이션할 수 없어 암호 알고리즘의 취약성 분석에 한계가 있다.
또한, 상기와 같은 단점은 2차 차분 전력분석 공격 방법과 동일한 방법으로 공격을 진행하되 부채널정보로 전력소모량이 아닌 전자기 방사신호량을 이용하는 2차 차분 전자기분석 공격(Differntial ElectoMagnetic Analysis Attack :DEMA) 방법에도 동일하게 적용된다.
본 발명에서 해결하고자 하는 과제는, 마스킹된 복수의 중간 값이 병렬처리되는 암호장치에 대해서도 적용가능한 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격 방법을 제공하는 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 측면은 암호장치의 전력소모량을 측정하는 단계; 상기 측정된 전력소모량을 사전처리함수를 이용하여 사전처리하는 단계; 추정모델에 복수의 추측 키를 입력하여 각각의 추측 키에 대한 복수의 중간값을 계산하고, 상기 계산된 복수의 중간값을 이용하여 각각의 추측 키에 대응하는 전력소모량을 추정하는 단계; 상기 사전처리된 측정 전력소모량 및 상기 추정된 전력소모량 간의 상관계수를 계산하는 단계; 및 상기 상관계수를 이용하여 상기 복수의 추측 키 중에서 상기 암호장치가 사용한 키를 판별하는 단계를 포함하고, 상기 사전처리함수는 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전력소모량으로부터 상기 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전력소모량의 평균을 차감하고 상기 차감된 값의 절대값을 구하는 함수인 2차 차분 전력분석 공격 방법을 제공한다.
본 발명은 마스킹된 복수의 중간 값이 병렬처리되는 암호장치에 대해서도 적용가능한 사전처리함수를 제공함으로써, ASIC 및 FPGA 등을 이용하여 구현된 암호알고리즘의 안정성을 효과적으로 시험할 수 있다.
도 3은 본 발명의 일 실시예에 따른 2차 차분 전력분석 공격 방법의 과정을 나타내는 순서도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 2차 차분 전력분석 공격 방법은 공격대상 암호장치의 전력소모량를 측정하고(301), 전력소모량를 사전처리함수 |P(am)+P(bm)-E|에 적용하여 사전처리된 전력소모량 Ppre를 계산한다(302). 여기서, E는 모든 am 및 bm 값에 대한 P(am)+P(bm)의 평균값이다. 상술한 바와 같이, 중간값 am및 bm이 병렬처리되는 암호장치에서 전력소모량은 P(am)+P(bm)의 형태로 측정되는 바 본 발명의 사전처리함수에 따르면 측정된 전력소모량으로부터 평균 측정 전력소모량을 차감한 후 절대값을 취함으로써 사전처리를 수행할 수 있다.
본 발명의 2차 차분 전력분석 공격 방법은 사전처리함수로써 |P(am)+P(bm)-E|를 사용함으로써, 종래의 2차 차분 전력분석 공격 방법과 달리 공격대상 암호장치에서 am와 bm 값이 병렬처리되는 경우에도 효과적으로 마스크 대응 공격을 수행할 수 있다. 사전처리함수 |P(am)+P(bm)-E|의 성능은 이하 도 4를 통하여 자세히 설명 하기로 한다.
다음으로, 복수의 추측 키를 추정모델에 입력하여 각각의 추측 키에 대한 중간값 a 및 b를 계산하고, 계산된 중간값 a 및 b를 이용하여 추정 전력소모량 H를 계산한다(303). 상술한 바와 같이,
Figure 112007090764546-PAT00009
은 마스크 값과 관계없이
Figure 112007090764546-PAT00010
과 같은 값을 갖는 바 추정 전력소모량은
Figure 112007090764546-PAT00011
의 형태로 계산된다.
추정 전력소모량이 계산되면, 사전처리된 측정 전력소모량 Ppre 및 추정 전력소모량 H 간의 상관계수를 계산한다(304). 이 때, 상관계수 C는 상기 수학식 2를 이용하여 계산된다. 다음으로, 계산된 상관계수를 이용하여 암호장치의 암호 알고리즘에 사용된 키를 판별한다(305). 일 실시예에서, 복수의 추측 키 중 추측 키에 대응하는 상관계수의 절대값이 가장 큰 추측 키를 암호 알고리즘에 사용된 키로 판별할 수 있다.
도 4는 본 발명의 일 실시예에 따른 2차 차분 전력분석 공격 방법의 이론적인 최대상관계수 값을 계산한 표를 나타내는 도면이다.
도 4를 참조하면, 각 am 및 bm이 각각 0 또는 1이 되는 경우 추정 전력소모량
Figure 112007090764546-PAT00012
과 키가 올바르게 추측된 경우 암호장치의 측정 전력소모량을 사전처리함수 |P(am)+P(bm)-E|에 따라 처리한 값 간의 상관계수를 계산하여 이론적인 최대 상관계수 값을 계산한 것이다. 이 때, 상관계수는 상기 수학식 2에 따라 계산된다.
일반적으로 전력소모량은 해밍웨이트를 따르는 바 이론적인 계산을 위하여 측정 전력소모량 P(am) 및 P(bm)은 H(am) 및 H(bm)으로 근사화될 수 있다. 따라서, 도 4의 사전처리함수는 |H(am)+H(bm)-E|의 형태로 계산되어 상기와 같은 값을 갖는다.
도 4를 참조하면, 사전처리함수 |P(am)+P(bm)-E|의 최대상관계수는 높은 절대값을 갖는다. 이에 따라, 키가 정확히 추측된 경우와 아닌 경우의 상관계수 간의 편차가 크게 나타남으로써 2차 차분 전력분석 공격에 있어서 키를 판별하는데 매우 효과적으로 사용될 수 있다. 또한, 본 발명의 사전처리함수 |P(am)+P(bm)-E|는 P(am)+P(bm)의 형태로 측정되는 전력소모량을 활용할 수 있는 바 종래의 사전처리함수와 달리 am과 bm이 병렬처리되는 경우에도 효과적으로 사용될 수 있다.
한편, 본 발명의 새로운 사전처리함수를 이용하는 2차 차분 전력분석 공격 방법의 과정들은 부채널정보로 전자기 방사신호량을 이용하는 2차 차분 전자기분석 공격 방법에도 동일하게 적용될 수 있으며, 이하 도 5 및 6을 통하여 자세히 설명하기로 한다.
도 5는 본 발명의 일 실시예에 따른 2차 차분 전자기분석 공격 방법의 과정을 나타내는 순서도이다.
도 5를 참조하면, 본 발명의 일 실시예에 따른 2차 차분 전자기분석 공격 방법은 공격대상 암호장치의 전자기 방사신호량을 측정하고(501), 전자기 방사신호량을 사전처리함수 |W(am)+W(bm)-E|에 적용하여 사전처리된 전력소모량 Wpre를 계산한 다(502). 여기서, W(am) 및 W(bm)는 마스크된 중간값 am 및 bm을 처리하는 시점에서 암호장치가 방사하는 전자기 방사신호량을 의미하고, E는 모든 am 및 bm 값에 대한 W(am)+W(bm)의 평균값이다. 중간값 am 및 bm이 병렬처리되는 암호장치에서 전자기 방사신호량은 W(am)+W(bm)의 형태로 측정되는 바 본 발명의 사전처리함수에 따르면 측정된 전자기 방사신호량으로부터 평균 측정 전자기 방사신호량을 차감한 후 절대값을 취함으로써 사전처리를 수행할 수 있다.
본 발명의 2차 차분 전자기분석 공격 방법은 사전처리함수로써 |W(am)+W(bm)-E|를 사용함으로써, 종래의 2차 차분 전자기분석 공격 방법과 달리 공격대상 암호장치에서 am와 bm 값이 병렬처리되는 경우에도 효과적으로 마스크 대응 공격을 수행할 수 있다. 사전처리함수 |W(am)+W(bm)-E|의 성능은 이하 도 6을 통하여 자세히 설명하기로 한다.
다음으로, 복수의 추측 키를 추정모델에 입력하여 각각의 추측 키에 대한 중간값 a 및 b를 계산하고, 계산된 중간값 a 및 b를 이용하여 추정 전자기 방사신호량 H를 계산한다(503). 상술한 바와 같이,
Figure 112007090764546-PAT00013
은 마스크 값과 관계없이
Figure 112007090764546-PAT00014
과 같은 값을 갖는 바 추정 전자기 방사신호량은
Figure 112007090764546-PAT00015
의 형태로 계산된다.
추정 전자기 방사신호량이 계산되면, 사전처리된 측정 전자기 방사신호량 Wpre 및 추정 전자기 방사신호량 H 간의 상관계수를 계산한다(504). 이 때, 상관계수 C는 다음의 수학식 3을 이용하여 계산된다.
Figure 112007090764546-PAT00016
다음으로, 계산된 상관계수를 이용하여 암호장치의 암호 알고리즘에 사용된 키를 판별한다(505). 일 실시예에서, 복수의 추측 키 중 추측 키에 대응하는 상관계수의 절대값이 가장 큰 추측 키를 암호 알고리즘에 사용된 키로 판별할 수 있다.
도 6은 본 발명의 일 실시예에 따른 2차 차분 전자기분석 공격 방법의 이론적인 최대상관계수 값을 계산한 표를 나타내는 도면이다.
도 6을 참조하면, 각 am 및 bm이 각각 0 또는 1이 되는 경우 추정 전자기 방사신호량
Figure 112007090764546-PAT00017
과 키가 올바르게 추측된 경우 암호장치의 측정 전자기 방사신호량을 사전처리함수 |W(am)+W(bm)-E|에 따라 처리한 값 간의 상관계수를 계산하여 이론적인 최대 상관계수 값을 계산한 것이다. 이 때, 상관계수는 상기 수학식 3에 따라 계산된다.
일반적으로 전자기 방사신호량은 해밍웨이트를 따르는 바 이론적인 계산을 위하여 측정 전자기 방사신호량 W(am) 및 W(bm)은 H(am) 및 H(bm)으로 근사화될 수 있다. 따라서, 도 6의 사전처리함수는 |H(am)+H(bm)-E|의 형태로 계산되어 상기와 같은 값을 갖는다.
도 6을 참조하면, 사전처리함수 |W(am)+W(bm)-E|의 최대상관계수는 높은 절대값을 갖는다. 이에 따라, 키가 정확히 추측된 경우와 아닌 경우의 상관계수 간의 편차가 크게 나타남으로써 2차 차분 전자기분석 공격에 있어서 키를 판별하는데 매우 효과적으로 사용될 수 있다. 또한, 본 발명의 사전처리함수 |W(am)+W(bm)-E|는 W(am)+W(bm)의 형태로 측정되는 전자기 방사신호량을 활용할 수 있는 바 종래의 사전처리함수와 달리 am과 bm이 병렬처리되는 경우에도 효과적으로 사용될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
도 1은 일반적인 차분 전력분석 공격의 과정을 설명하기 위한 도면이다.
도 2는 2차 차분 전력분석 공격에서 종래의 사전처리함수에 따른 이론적인 최대상관계수 값을 계산한 표를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 2차 차분 전력분석 공격 방법의 과정을 나타내는 순서도이다.
도 4는 본 발명의 일 실시예에 따른 2차 차분 전력분석 공격 방법의 이론적인 최대상관계수 값을 계산한 표를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 2차 차분 전자기분석 공격 방법의 과정을 나타내는 순서도이다.
도 6은 본 발명의 일 실시예에 따른 2차 차분 전자기분석 공격 방법의 이론적인 최대상관계수 값을 계산한 표를 나타내는 도면이다.

Claims (10)

  1. (a) 암호장치의 전력소모량을 측정하는 단계;
    (b) 상기 측정된 전력소모량을 사전처리함수를 이용하여 사전처리하는 단계;
    (c) 추정모델에 복수의 추측 키를 입력하여 각각의 추측 키에 대한 복수의 중간값을 계산하고, 상기 계산된 복수의 중간값을 이용하여 각각의 추측 키에 대응하는 전력소모량을 추정하는 단계;
    (d) 상기 사전처리된 측정 전력소모량 및 상기 추정된 전력소모량 간의 상관계수를 계산하는 단계; 및
    (e) 상기 상관계수를 이용하여 상기 복수의 추측 키 중에서 상기 암호장치가 사용한 키를 판별하는 단계를 포함하고,
    상기 사전처리함수는 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전력소모량으로부터 상기 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전력소모량의 평균을 차감하고 상기 차감된 값의 절대값을 구하는 함수인 2차 차분 전력분석 공격 방법.
  2. 제 1항에 있어서,
    상기 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전력소모량은,
    상기 한 쌍의 마스크된 중간값이 병렬처리되는 시점에서 측정된 전력소모량 또는 상기 한 쌍의 마스크된 중간값이 각각 처리되는 시점에서 측정된 각각의 전력소모량을 합한 값인 2차 차분 전력분석 공격 방법.
  3. 제 1항에 있어서,
    상기 단계 (c)는 상기 계산된 복수의 중간값을 XOR 연산하고, XOR 연산 결과 값의 해밍웨이트에 따라 상기 각각의 추측 키에 대응하는 전력소모량을 추정하는 2차 차분 전력분석 공격 방법.
  4. 제 1항에 있어서,
    상기 단계 (d)는 다음의 수학식에 따라 상기 상관계수를 계산하는 2차 차분 전력분석 공격 방법.
    Figure 112007090764546-PAT00018
    (여기서, Ppre는 상기 사전처리된 측정 전력소모량이고, H는 상기 추정된 전력소모량이고, E()는 평균을 의미하고, Var()는 분산을 의미한다.)
  5. 제 1항에 있어서,
    상기 단계 (e)는 상기 복수의 추측 키 중 대응하는 상관계수의 절대값이 가장 큰 추측 키를 상기 암호장치가 사용한 키로 판별하는 2차 차분 전력분석 공격 방법.
  6. (a) 암호장치의 전자기 방사신호량을 측정하는 단계;
    (b) 상기 측정된 전자기 방사신호량을 사전처리함수를 이용하여 사전처리하는 단계;
    (c) 추정모델에 복수의 추측 키를 입력하여 각각의 추측 키에 대한 복수의 중간값을 계산하고, 상기 계산된 복수의 중간값을 이용하여 각각의 추측 키에 대응하는 전자기 방사신호량을 추정하는 단계;
    (d) 상기 사전처리된 측정 전자기 방사신호량 및 상기 추정된 전자기 방사신호량 간의 상관계수를 계산하는 단계; 및
    (e) 상기 상관계수를 이용하여 상기 복수의 추측 키 중에서 상기 암호장치가 사용한 키를 판별하는 단계를 포함하고,
    상기 사전처리함수는 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전자기 방사신호량으로부터 상기 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전자기 방사신호량의 평균을 차감하고 상기 차감된 값의 절대값을 구하는 함수인 2차 차분 전자기분석 공격 방법.
  7. 제 6항에 있어서,
    상기 한 쌍의 마스크된 중간값을 처리하는 시점에서 측정된 전자기 방사신호량은,
    상기 한 쌍의 마스크된 중간값이 병렬처리되는 시점에서 측정된 전자기 방사신호량 또는 상기 한 쌍의 마스크된 중간값이 각각 처리되는 시점에서 측정된 각각의 전자기 방사신호량을 합한 값인 2차 차분 전자기분석 공격 방법.
  8. 제 6항에 있어서,
    상기 단계 (c)는 상기 계산된 복수의 중간값을 XOR 연산하고, XOR 연산 결과 값의 해밍웨이트에 따라 상기 전자기 방사신호량을 추정하는 2차 차분 전자기분석 공격 방법.
  9. 제 6항에 있어서,
    상기 단계 (d)는 다음의 수학식에 따라 상기 상관계수를 계산하는 2차 차분 전자기분석 공격 방법.
    Figure 112007090764546-PAT00019
    (여기서, Wpre는 상기 사전처리된 측정 전자기 방사신호량이고, H는 상기 추정된 전자기 방사신호량이고, E()는 평균을 의미하고, Var()는 분산을 의미한다.)
  10. 제 6항에 있어서,
    상기 단계 (e)는 상기 복수의 추측 키 중 대응하는 상관계수의 절대값이 가장 큰 추측 키를 상기 암호장치가 사용한 키로 판별하는 2차 차분 전자기분석 공격 방법.
KR1020070132759A 2007-12-17 2007-12-17 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법 KR100926749B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070132759A KR100926749B1 (ko) 2007-12-17 2007-12-17 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070132759A KR100926749B1 (ko) 2007-12-17 2007-12-17 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법

Publications (2)

Publication Number Publication Date
KR20090065273A true KR20090065273A (ko) 2009-06-22
KR100926749B1 KR100926749B1 (ko) 2009-11-16

Family

ID=40993658

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070132759A KR100926749B1 (ko) 2007-12-17 2007-12-17 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법

Country Status (1)

Country Link
KR (1) KR100926749B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589185B1 (ko) * 2014-11-05 2016-01-28 국방과학연구소 중간값 평균기법을 이용한 부 채널 분석 성능 향상방법
KR101876498B1 (ko) * 2018-01-24 2018-08-09 국민대학교산학협력단 마스킹 대응책을 무력화하는 암호 해독 장치 및 방법, 이를 기록한 기록매체
KR101941886B1 (ko) * 2018-05-04 2019-01-24 국민대학교산학협력단 블록 암호 알고리즘의 안전성 검증 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100554175B1 (ko) * 2003-12-06 2006-02-22 한국전자통신연구원 비접촉 ic 카드의 전자기장 분석공격 방지 장치 및 그방법
KR20050054747A (ko) * 2003-12-06 2005-06-10 현대자동차주식회사 파킹 보조 기능을 갖는 차량 도난 방지 장치 및 방법
KR100855958B1 (ko) * 2004-11-24 2008-09-02 삼성전자주식회사 해밍거리를 이용한 부가 채널 공격에 안전한 암호화시스템 및 방법
KR100725169B1 (ko) * 2005-01-27 2007-06-04 삼성전자주식회사 전력 분석 공격에 안전한 논리 연산 장치 및 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101589185B1 (ko) * 2014-11-05 2016-01-28 국방과학연구소 중간값 평균기법을 이용한 부 채널 분석 성능 향상방법
KR101876498B1 (ko) * 2018-01-24 2018-08-09 국민대학교산학협력단 마스킹 대응책을 무력화하는 암호 해독 장치 및 방법, 이를 기록한 기록매체
WO2019146885A1 (ko) * 2018-01-24 2019-08-01 국민대학교산학협력단 암호 해독 장치 및 방법, 이를 기록한 기록매체
CN111656425A (zh) * 2018-01-24 2020-09-11 国民大学校产学协力团 密码解密装置及方法,记录此的记录介质
KR101941886B1 (ko) * 2018-05-04 2019-01-24 국민대학교산학협력단 블록 암호 알고리즘의 안전성 검증 장치 및 방법

Also Published As

Publication number Publication date
KR100926749B1 (ko) 2009-11-16

Similar Documents

Publication Publication Date Title
Waddle et al. Towards efficient second-order power analysis
Standaert et al. The world is not enough: Another look on second-order DPA
Köpf et al. A provably secure and efficient countermeasure against timing attacks
den Boer et al. A DPA attack against the modular reduction within a CRT implementation of RSA
CN108604981B (zh) 用于估计秘密值的方法和设备
Agrawal et al. Trojan detection using IC fingerprinting
Homma et al. Collision-based power analysis of modular exponentiation using chosen-message pairs
KR20170098732A (ko) 2차 이상의 부채널 분석에 대한 회로의 저항력을 테스트하는 방법
Lomné et al. Behind the scene of side channel attacks
Hess et al. Information leakage attacks against smart card implementations of cryptographic algorithms and countermeasures–a survey
Bas et al. A new measure of watermarking security: The effective key length
Specht et al. Improving non-profiled attacks on exponentiations based on clustering and extracting leakage from multi-channel high-resolution EM measurements
Kabin et al. Horizontal address-bit DPA against montgomery kP implementation
Li et al. Introduction to side-channel attacks and fault attacks
KR20140046568A (ko) 단순 전력 파형 분석 및 오류 주입 분석을 방지하는 타원곡선 암호화 방법 및 그 시스템
Bronchain et al. Multi-tuple leakage detection and the dependent signal issue
Mao et al. Quantitative analysis of timing channel security in cryptographic hardware design
Kabin et al. Horizontal address-bit DEMA against ECDSA
KR100926749B1 (ko) 2차 차분 전력분석 공격 방법 및 2차 차분 전자기분석 공격방법
Diop et al. Collision based attacks in practice
Nagashima et al. DPA using phase-based waveform matching against random-delay countermeasure
CN111082921B (zh) 密码芯片通过一阶泄露模型改进二阶功耗分析的方法
Meunier FastCPA: Efficient correlation power analysis computation with a large number of traces
Pammu et al. Success rate model for fully AES-128 in correlation power analysis
Jia et al. A unified method based on SPA and timing attacks on the improved RSA

Legal Events

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

Payment date: 20121101

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140916

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170918

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181002

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190925

Year of fee payment: 11