KR20070001376A - 전력분석공격에 대응하는 암호화 방법 - Google Patents

전력분석공격에 대응하는 암호화 방법 Download PDF

Info

Publication number
KR20070001376A
KR20070001376A KR1020050056824A KR20050056824A KR20070001376A KR 20070001376 A KR20070001376 A KR 20070001376A KR 1020050056824 A KR1020050056824 A KR 1020050056824A KR 20050056824 A KR20050056824 A KR 20050056824A KR 20070001376 A KR20070001376 A KR 20070001376A
Authority
KR
South Korea
Prior art keywords
elliptic curve
message
value
attack
power analysis
Prior art date
Application number
KR1020050056824A
Other languages
English (en)
Other versions
KR100731575B1 (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 KR1020050056824A priority Critical patent/KR100731575B1/ko
Publication of KR20070001376A publication Critical patent/KR20070001376A/ko
Application granted granted Critical
Publication of KR100731575B1 publication Critical patent/KR100731575B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding

Abstract

본 발명은 타원 곡선 암호화 시스템을 이용하여 메시지 P를 암호화하는 방법에 있어서 전력 분석 공격에 대응할 수 있는 암호화 방법에 관한 것이다. 상기 암호화 방법은, 메시지 P 및 비밀키 d=(dn-1,.....,d0)2를 입력받는 단계와, (b) 타원 곡선의 위수인 #E를 입력받는 단계와, (c) 타원 곡선상의 랜덤한 점 R을 선택하는 단계와, (d) 최종적으로 dP + #EㆍR을 구하는 단계를 구비하여, 메시지 P에 대한 암호화 값인 dP를 계산한다.
본 발명에 의하여, 다양한 형태의 전력 분석 공격에도 안전할 뿐만 아니라, 부가적인 연산량을 상당히 감소시킨 효율적인 대응 방안을 제시할 수 있게 되었다.
타원 곡선 암호화 시스템, 전력 분석 공격

Description

전력분석공격에 대응하는 암호화 방법{A SECURE SCALAR MULTIPLICATION METHOD AGAINST POWER ANALYSIS ATTACKS IN ELLIPTIC CURVE CRYPTOSYSTEM}
도 1은 종래의 전력 분석 공격 중 단순 전력 분석 방법을 설명하기 위하여 도시한 것으로서 이진 상수배 계산시의 소비 전력 파형도이다.
도 2는 종래의 전력 분석 공격 중 차분 전력 분석 방법을 설명하기 위하여 도시한 것으로서 비밀키를 올바르게 추측했을 때의 차분 파형도이다.
도 3은 본 발명의 바람직한 실시예에 따른 전력 분석 공격에 대응하는 이진 상수배 방식의 암호화 방법을 순차적으로 도시한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 전력 분석 공격에 대응하는 이진 상수배 방식의 암호화를 빠르게 계산하는 방법을 순차적으로 도시한 흐름도이다.
본 발명은 타원 곡선을 이용한 암호화 시스템에서의 전력 분석 공격에 대응하는 암호화 방법에 관한 것으로서, 더욱 구체적으로는 다양한 형태의 전력 분석 공격에 대응할 수 있는 안전한 이진 상수배 방식의 암호화 방법에 관한 것이다.
기존의 암호학자들은 암호 알고리즘의 개발시 입력 평문과 출력 암호문에 대 해서는 공격자가 접근할 수 있지만 비밀키에 대해서는 접근할 수 없다고 보고 프로토콜을 개발하였다. 그러나, 이러한 암호 알고리즘을 바탕으로 구현된 암호 시스템을 구동할 경우에는 부가적으로 생기는 정보의 누출로 공격에 취약해질 수 있다. 즉, 암호화 시스템의 구현시 암호 알고리즘의 설계에서 고려되지 못한 비밀 정보의 누출이 발생할 수 있다. 특히, 스마트 카드의 동작시 비밀키에 대한 연산이 빈번히 일어나므로 이러한 비밀 정보의 누출이 시스템의 안전도에도 큰 영향을 미칠 수 있게 된다.
Kelsey는 논문에서 이런 정보의 누출을 부채널(side-channel)이라 정의하고 부채널을 이용한 공격 방법을 부채널 공격(side-channel attack)이라 하였다. 부채널 공격은 크게 시간 공격(timing attack), 결함 주입 공격(fault insertion attack), 그리고 전력 분석 공격(power analysis attack) 등으로 나눌 수 있다.
암호 장비에 대한 전력 분석 공격(power analysis attack)이 소개된 이후( P. Kocher. J. Jaffe and B.Jun, "Differential power analysis." CRYPTO'99, LNCS 1666, PP.388-397, Springer-Verlag, 1999.), 다양한 하드웨어와 소프트웨어 기술을 사용한 대응방법들이 제안되었다. 특히, 타원 곡선 암호 시스템에서는 랜덤 상수배 알고리즘 (J. Coron, "Resistance against differential power analysis for elliptic curve cryptosystems," CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999.), 랜덤 점 블라인딩(J. Coron, "Resistance against differential power analysis for elliptic curve cryptosystems," CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999.) (J.C. Ha and S.J. Moon, "Randomized signed- scalar multiplication of ECC to resist power attacks," CHES'02, LNCS 2523, pp.551-563, Springer-Verlag, 2002.), 랜덤 사영좌표계 (J. Coron, "Resistance against differential power analysis for elliptic curve cryptosystems," CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999.), 타원 곡선의 특수한 형태를 이용한 접근 (K. Okeya and K. Sakurai, "Power analysis breaks elliptic curve cryptosystems even secure against the timing attack," INDOCRYPT'00, LNCS 1977, pp.178-190, Springer-Verlag, 2000.)(P. Liardet and N. Smart, "Preventing SPA/DPA in ECC system using the Jacobi form," CHES'01, LNCS 2162, pp.391-401, Springer-Verlag, 2001.)(M. Joye and J. Quisquater, "Hessian elliptic curves and side-channel attacks," CHES'01, LNCS 2162, pp.402-410, Springer-Verlag, 2001.) 등 여러 가지 형태의 대응방법들이 제안되었다.
전력 분석 공격(Power Analysis Attack)은 일반적으로 단순 전력 분석 공격(Simple Power Analysis;이하 'SPA'라 한다)과 차분 전력 분석 공격(Differential Power Analysis; 이하 'DPA'라 한다)으로 나눌 수 있다.
SPA는 한번의 소비전력파형을 관찰하여 비밀키를 알아내는 공격이며, DPA는 소비되는 전력과 비밀키에 따라 처리되는 데이터간의 상관 관계를 통하여 공격하는 방법이다. 통상 DPA가 SPA보다 더욱 강력하다고 알려져 있다. 이하, SPA 및 DPA를 포함하여 최근 발표된 새로운 SPA, RPA, ZPA, Doubling 공격들에 대하여 간략히 설명한다.
먼저, 단순 전력 분석(SPA)은 암호연산의 수행 과정에서 획득된 한개 혹은 몇 개의 전력 소모량을 분석하여 공격한다. 대부분의 스마트 카드는 이진 상수배 연산시 간단한 두배-덧셈 방법(doubling-addition)으로 구현되므로 두배 연산과 덧셈 명령의 수행시 소비 전력의 특성을 파악함으로서 SPA가 가능하다.
타원곡선암호시스템에 대한 SPA는, 도 1에 도시된 바와 같이, 두배하는 과정에서 소비되는 전력과 덧셈하는 과정에서 소비되는 전력이 차이가 발생한다. 알고리즘의 연산 과정에서 비밀키 d의 i번째 비트의 값이 '0'일 경우는 두배 연산만 수행하고, 그 비트의 값이 '1'일 경우는 두배와 덧셈이 수행되므로 소비되는 전력은 다르게 된다. 이러한 특징을 이용하여 비밀키 d의 i번째 비트의 값을 알아낼 수 있다.
SPA 공격을 방어하기 위한 이진 상수배 연산 중 L-R 방법은 다음의 프로그램과 같은 과정을 거쳐 비밀키를 포함하는 연산을 수행하게 된다.
Input : d=(dn-1,.....,d0)2, P
Output : dP
(1단계) Q[0] = 0
(2단계) for i from n-1 to 0
Q[0] = 2Q[0]
Q[1] = Q[0] + P
Q[0] = Q[di]
(3단계) Output Q[0]
상기 이진 L-R 방법은, 2 단계에 나타난 바와 같이, 항상 두배 연산과 덧셈 연산을 수행한 뒤 비밀키에 따라 값을 갱신하게 된다. 하지만, 이러한 방식도 후술되는 차분 전력 분석에 의해 공격된다.
차분 전력 분석(DPA)는 SPA보다 방어하기 어려운 강력한 공격 방법이다. 일반적으로 DPA의 분류 함수는 수집한 소비전력신호를 분류하는데 이용되며 소비전력특성에 따라 해밍 웨이트 모델(Hamming Weight Model)과 해밍 디스턴스 모델(Hamming Distance Model)로 구분된다. 해밍 웨이트 모델은 '1'이 '0'에 비해 많은 전력을 소비한다는데 기반을 두고 있으며, 해밍 디스턴스 모델은 데이터의 상태 천이가 소비 전력에 영향을 미친다는 데 기초를 두고 있다. 그리고, 추측된 비밀키를 검증하는 차분 방법에 있어서는 평균차 테스트(distance-of-mean)와 상관 관계 분석(Correlation analysis)가 사용된다. 도 2는 스마트 카드에 구현되어 있는 하드웨어 타원 곡선 암호 시스템을 DPA 공격을 이용하여 얻어낸 차분 파형도이다.
도 2에 도시된 바와 같이, 추측한 비밀키가 정확하면 데이터와 소비 전력간의 상관관계가 정확하게 분류되었으므로, 차분 파형에서 최고값을 관측할 수 있게 된다.
한편, Doubling Attack은 공격자가 스마트 카드에서 어떤 연산이 수행되었는지는 모르지만 적어도 같은 연산이 두번 수행되면 이를 알아낼 수 있다는 기본적인 생각에서 착안을 한 방식이다(P.-A. Fouque and F. Valette, "The doubling attack-- why upwards is better than downwards," CHES'03, LNCS 2779, pp.269-280, Springer-Verlag, 2003.). 좀 더 정확하게 설명하면, 스마트카드가 2A와 2B를 계산하는 경우, 공격자가 A와 B는 추측할 수 없지만 A=B인지 여부는 알수 있다는 생각에서 착안을 한 것이다.
만약 잡음이 중요한 요소로 작용하는 경우, A와 B의 전력 소비를 여러개 모아서 평균을 비교하는 방법이나 타원 곡선상의 두배 연산이 수천 사이클 동안 수행되는 점을 이용하여 많은 클럭 사이클 중에서의 아주 근소한 차이를 이용하는 방법이 있다.
Doubling Attack은 점 P와 2P를 계산할 때에 나타나는 유사한 중간값에서부터 비밀값을 유추한다. 그러나 이 방법은 LR 이진 스칼라 곱셈방법에서만 유용하다. Doubling Attack 방법은 Coron (J. Coron, "Resistance against differential power analysis for elliptic curve cryptosystems," CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999.)이 제안한 전력 분석 공격 대응책 중에 첫번째와 두번째 대응책에 적용 가능하다.
RPA(Refined Power Analysis)(L. Goubin, "A refined power-analysis attack on elliptic curve cryptosystems,"PKC'03, LNCS 2567, pp.199-210, Springer-Verlag, 2003.)는 타원곡선 EK에서 P0≠0인 특이점(즉, K체상에서 하나의 좌표가 '0'이고, P0≠0이 아닌 점)을 가진다는 가정하에 이루어지는 공격 방법이다. 공격자는 비밀키를 추측하고, 추측한 비밀키가 계산될 때 점 P0가 나오도록 어떤 점을 입력한다. 만약 추측한 비밀키가 올바르다면 계산도중 P0가 나올것이며, P0의 좌표중 하나는 '0'이기 때문에 소비전력에 영향을 미칠 것이다. 따라서, Coron의 랜덤 사영좌표계(J. Coron, "Resistance against differential power analysis for elliptic curve cryptosystems," CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999.)를 이용하더라도 P0가 나온 후에는 좌표계 랜덤화가 일어나지 않아 공격이 가능해지며 랜덤 곡선 동형사상(M. Joye and C. Tymen, "Protections against Differential Analysis for Elliptic Curve Cryptography," CHES'01, LNCS 2162, pp.377-390, Springer-Verlag, 2001.)이나 필드 동형사상에도 똑같이 적용될 수 있다.
T. Akishita와 T.Takagi는 타원 곡선상의 특별한 점 (0,y)을 이용하는 RPA 공격을 확장하고 일반화한 Zero-Value Point Attack(이하, ZPA라 한다)을 제안하였다 (T. Akishita and T. Takagi, "Zero-value point attacks on elliptic curve cryptosystem," ISC'03, LNCS 2851, pp.218-233, Springer-Verlag, 2003.). ZPA는 RPA 공격과는 달리 타원곡선상의 어떤 점이 비록 0인 값을 가지지 않더라도 보조 레지스터(Auxiliary Register)의 값이 '0'인 값을 가질 수 있다는 점을 이용하였다. ZPA 역시 RPA와 유사하게 랜덤사영좌표계 또는 랜덤필드 동형사상을 이용한 대응방법에 적용가능하다. 실제로 Jacobian 좌표계로 구현했을 때 두배 연산과 덧셈연산 과정 중 몇 가지 조건하에서 '0'인 값을 가지는 보조 레지스터가 존재한다.
전술한 전력분석공격을 방어하기 위하여 여러 가지 대응 방법들이 제시되었다. 제시된 대응방법들은 크게 두 가지로 분류할 수 있는데, 하나는 비밀키를 랜덤화하는 'exponent blinding'이며, 또 다른 하나는 메시지를 랜덤화하는 'message blinding'기법이다.
Coron은 랜덤 스칼라, 블라인딩 포인트, 랜덤 사영 좌표 방법의 세가지 서로 다른 전력 분석 공격 대응책을 제안하였다(J. Coron, "Resistance against differential power analysis for elliptic curve cryptosystems," CHES'99, LNCS 1717, pp.292-302, Springer-Verlag, 1999.). 이 방법은 타원 곡선 암호시스템의 스칼라 곱셈에 대한 가장 잘 알려진 전력 분석 공격 대응책이다.
(1) Coron의 첫번째 대응책인 랜덤한 스칼라(Randomized Scalar) 방법은 다음과 같다.
① n 비트 크기의 랜덤수 k를 선택한다(실제로 n=20 비트)
② d′= d + kㆍ#E 를 계산한다.
③ Q = d′P 가 계산되면 #EㆍP = 0 이기 때문에 Q = d′P=dP 이다.
(2) Coron의 두번째 대응책인 블라인딩 포인트(Blinding Point) 방법은 점 P에 비밀 랜덤한 점 R을 더함으로써 점 P를 블라인딩하는 방법으로서, 다음과 같다. 여기서 S = dR의 관계이다.
① 랜덤한 하나의 비트 b ∈ {0,1}를 선택한다
② R = (-1)bㆍ2ㆍR
③ S = (-1)bㆍ2ㆍS
④ Q = d(P+R)
⑤ return Q - S
(3) Coron의 세번째 대응책은 랜덤 사영 좌표(Randomized Projective Coordinates) 방법이다. 사용 좌표는 더하기 연산과 두배 연산을 하는 동안 역수의 계산을 피하기 위해 사용될 수 있다. 유한체상의 랜덤한 수 λ≠0 를 이용하여 (X, Y, Z) = ( λX, λY, λZ)와 같이 좌표를 랜덤화한다. 즉, 새로운 Q = dP 수행전에 랜덤한 수 λ를 이용하여 점 P를 랜덤화하면 전력 분석 공격을 막을 수 있다.
전술한 Coron의 첫번째 및 두번째 대응책은 많은 연산량이 증가하게 되는 문제점과 Doubling 공격에 취약하다는 문제점을 갖고 있다. 한편, Coron의 세번째 방법은 매우 효과적인 대응방법으로 많이 사용되었지만, Goubin에 의해 제안된 RPA 공격에 취약한 것으로 밝혀졌다 (L. Goubin, "A refined power-analysis attack on elliptic curve cryptosystems,"PKC'03, LNCS 2567, pp.199-210, Springer-Verlag, 2003.). 더욱이, RPA를 향상시킨 ZPA(Zero-value point attack)이 소개되어 현재 Coron의 3가지 방법은 모두가 안전하지 못한 상태이다.
이하, 랜덤 곡선 동형사상(Randomized Curve Isomorphism)에 대하여 설명한다 (M. Joye and C. Tymen, "Protections against Differential Analysis for Elliptic Curve Cryptography," CHES'01, LNCS 2162, pp.377-390, Springer-Verlag, 2001.).
Figure 112005034930299-PAT00001
표 1은 표수에 따른 랜덤 곡선 동형사상을 설명한 표이다. 표 1에 설명된 바와 같이, 표수가 2와 3이 아닌 필드에서 정의된 타원 곡선에서 ElK와 E'lK가 다음의 수학식 1과 수학식 2와 같이 주어졌을때, u4a' = a과 u6b' = b를 만족하는 K*에 속하는 u가 존재하면 두 곡선은 동형(Isomorphic)이다.
Figure 112005034930299-PAT00002
Figure 112005034930299-PAT00003
한편, 표수가 2인 경우도 수학식 3 및 수학식 4와 같이 주어졌을때 a′= a + s + s2 및 b′= b를 만족하는 K 에 속하는 s가 존재하면 두 곡선은 동형이다.
Figure 112005034930299-PAT00004
Figure 112005034930299-PAT00005
즉, 위 사실을 따라 적절한 값을 가지는 랜덤한 u 및 s를 이용하면 DPA 공격을 방어할 수 있다.
최근 Mamiya는 RPA, ZPA, DPA, SPA에 대한 방어책으로 Binary Expansion with Random Initial Point(이하, BRIP라 한다) (H. Mamiya, A. Miyaji, and H. Morimoto, "Efficient countermeasure against RPA, DPA, and SPA," CHES'04, LNCS 3156, pp.343-356, Springer-Verlag, 2004.)를 제안하였다. BRIP의 기본 개념은 랜덤한 점 R을 이용해서 dP + R 을 계산하고, dP를 얻기 위해서 R을 빼는 것인데, 이때 R은 다음과 같이 두고
Figure 112005034930299-PAT00006
최상위 비트부터 계산한다.
BRIP 알고리즘은 다음의 프로그램과 같은 방식으로 진행된다.
Input : d, P
Output : dP
(1단계) 랜던한 점 R 선택.
(2단계) T[0] = R, T[1]=-R, T[2]=P-R
(3단계) for i from n-1 to 0
(3.1단계) T[0] = 2T[0]
(3.2단계) T[0] = T[0] + T[di+1]
(4단계) T[0] + T[1]
전술한 프로그램에서 알 수 있는 바와 같이, BRIP 알고리즘은 SPA 방어 상수배 알고리즘과 동일한 복잡도를 가지면서 최종값 dP를 얻기 위해서는 마지막에 (-R)을 더해 주어야 한다. 재미있는 사실은 BRIP의 RSA 버전이 논문(C. Kim, J. Ha, S. Kim, S. Kim, S. Yen, and S. Moon, "A secure and practical CRT-based RSA to resist side channel attacks," ICCSA'04, LNCS 3043, pp.150-158, Springer-Verlag, 2004.)에서 제안하는 부채널 공격에 강인한 CRT 기반 RSA 알고리즘의 멱승 과정 개념과 동일하다는 것이다.
이러한 BRIP 알고리즘은 특수한 선택평문을 이용한 새로운 SPA 방법에 취약하다는 문제점이 있다 (C. Kim, S. Yen, J. Ha, and S. Moon, "SPA-based 2-torsion point attack and its countermeasure," Submitted to WISA'05.).
한편, 앞서 설명한 DPA, RPA, ZPA 및 Doubling 공격들에 안전한 알고리즘도 공격할 수 있는 위수 2인 원소를 이용한 SPA 공격 방법(SPA-based 2-torsion point attack)이 제안되었다 (C. Kim, S. Yen, J. Ha, and S. Moon, "SPA-based 2-torsion point attack and its countermeasure," Submitted to WISA'05.).
메시지 랜덤화를 이용한 일부 DPA 대응방법의 경우, 공격자가 위수가 2인 원소(메시지)를 입력하면 제곱 혹은 두배 연산을 하면 항등원이 되는 위수 2인 원소(메시지)의 성질 때문에 비록 메시지를 랜덤화하더라도 중간 단계의 결과는 항상 두 가지 경우밖에 나타나지 않는다. 위 사실에 기인하여 SPA를 이용하면 메시지 블라인딩 기법이나 SPA 방어 알고리즘을 공격할 수 있다.
타원 곡선 암호 시스템에서 위수가 2인 점 G를 입력으로 하면 앞서 설명한 BRIP 알고리즘의 (3.1 단계)에서 두배 연산을 거친 후 (3.2 단계)의 덧셈 연산시 나타날 수 있는 값은 다음과 같다.
(3.1 단계) : T[0] = 2(G+R) = 2R
if di = 0, (3.2 단계) : T[0] = R
else di = 1, (3.2 단계) : T[0] = G + R
위의 예를 볼 때, 각각의 루프 연산이 수행될 때 (3.2 단계)에서 가질 수 있는 값은 비밀키 값에 따라 두가지 값만을 가지며, 이는 두가지 전력 패턴(power pattern)만을 가짐을 의미한다. 따라서, 이러한 전력 패턴을 관찰함으로써 비밀키 d를 쉽게 알아낼 수 있다.
전술한 BRIP 알고리즘을 타원 곡선 암호 시스템에 대한 것이며, RSA 알고리즘으로 해석할 때 공격자가 M = N - 1 인 메시지를 입력으로 넣으면, i번째 루프 마지막에 계산되는 중간 값 T[0]는 수학식 5와 같다.
수학식 5
Figure 112005034930299-PAT00007
Figure 112005034930299-PAT00008
이것은 (N-1)even value ≡1 mod N, (N-1)odd value ≡ N-1 mod N 인 관계가 성립하 기 때문이다. 따라서, 각각의 루프에서 나타날 수 있는 중간값 T[0]는 비밀키 di에 따라 두 가지만 나타난다. 따라서, 단순히 전력 파형을 분석만 해도 비밀키를 찾아낼 수 있게 된다.
이에 본 출원인은 다양한 공격법을 포함하여 기존의 전력 분석을 방어하고 연산향 측면에서도 효과적인 대응방법을 제안하고자 하며, 제안하는 대응 방법은 타원암호시스템 뿐만 아니라 RSA 암호 시스템에서도 효과적으로 적용될 수 있음을 보여주고자 한다.
전술한 문제점을 해결하기 위한 본 발명의 목적은 종래의 SPA, DPA, ZPA, RPA 공격 및 doubling 공격에도 안전한 전력 분석 공격에 대응하는 암호화 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 모든 전력 분석 공격에 안전하면서도 연산량이 감소된 암호화 방법을 제공하는 것이다.
전술한 기술적 과제를 달성하기 위한 본 발명의 특징은 타원 곡선 암호화 시스템을 이용하여 메시지 P를 암호화하는 방법에 관한 것으로서, 상기 암호화 방법은,
(a) 메시지 P 및 d=(dn-1,.....,d0)2를 입력받는 단계와,
(b) 타원 곡선의 위수인 #E를 입력받는 단계와,
(c) 타원 곡선상의 랜덤한 점 R을 선택하는 단계와,
(d) 최종적으로 dP + #EㆍR을 구하는 단계를 구비하여, 메시지 P에 대한 암호화 값인 dP를 계산한다.
본 발명의 다른 특징에 따른 암호화 방법은,
(a) 메시지 P 및 d=(dn-1,.....,d0)2를 입력받는 단계와,
(b) 타원 곡선의 위수인 #E를 입력받는 단계와,
(c) s = #E - d 를 만족하는 s를 구하는 단계와,
(d) 타원 곡선상의 랜덤한 점 R을 선택하는 단계와,
(e) T[00]=0, T[01]=R, T[10]=P+R, T[11]=P+2R 를 각각 계산하는 단계와,
(f) Q의 값을 T[00]의 값으로 초기 설정하는 단계와,
(g) i 의 값을 n-1 부터 0까지 1만큼 감소시키면서, 수학식 13을 반복적으로 수행하여 결과값 Q를 연산하는 단계를 구비하여, 메시지 P를 이진 상수배한다.
본 발명의 또 다른 특징에 따른 암호화 방법은
(a) 메시지 P 및 d=(dn-1,.....,d0)2를 입력받는 단계와,
(b) s = #E - d 를 만족하는 s를 구하는 단계와,
(c) 타원 곡선상의 랜덤한 점 R을 선택하는 단계와,
(d) T[00]=0, T[01]=R, T[10]=P+R, T[11]=P+2R 를 대입하는 단계와
(e) k의 값을 '0'으로 초기 설정하는 단계와,
(g) i ≥ 0 의 조건을 만족하는 동안, 수학식 14를 순차적으로 반복 수행하 는 단계와
(h) 결과값 Q를 T[00]의 값으로 설정하는 단계를 구비하여, 메시지 P를 이진 상수배함으로써, 전체의 계산량을 줄일 수 있게 된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 전력 분석 공격에 대응하는 이진 상수배 암호화 방법을 구체적으로 설명한다.
본 실시예에 따른 방법은 타원 곡선 상의 랜덤한 점 R을 이용하여 메시지 P를 블라인딩하는 것으로서, 최종 결과값인 dP를 계산하는 대신 dP + #EㆍR을 계산한다. 여기서 #E는 타원곡선의 위수이며 모든 점의 위수배는 항상 항등원이 된다. s = #E - d 일 때, dP + #EㆍR을 변형하여 d(P+R)과 sR을 함께 계산한 후 더한다. dP계산시 비록 R로 블라인드 되지만 dP + #EㆍR로 계산되므로 결국 R은 최종값에 영향을 미치지 않는다.
dP = Σ{di(P+R)+siR}
= ΣdiP + Σ(di+si)R
= dP + (d+s)R
= dP + #EㆍR
수학식 6에 표시된 바와 같이, R 값에 의해 메시지 P가 항상 블라인드 되기 때문에 기존의 DPA 공격에 안전할 뿐만 아니라, 항상 새로운 R 로 랜덤하게 선택디므로 doubling 공격에도 안전하다. 또한, R을 제거하기 위한 부과적인 계산이 필요 없다.
도 3은 본 실시예에 따른 이진 상수배 암호화 방법을 순차적으로 도시한 흐름도이다. 이하, 도 3을 참조하여, 본 실시예에 따라 타원 곡선 암호 시스템을 이용하여 메시지 P를 암호화하는 방법을 구체적으로 설명한다.
먼저, 메시지 P 및 d=(dn-1,.....,d0)2를 입력받는다(단계 300). 다음, 타원 곡선의 위수인 #E를 입력받고(단계 310), s 의 값에 #E - d 를 입력한다(단계 320). 다음, 타원 곡선상의 랜덤한 점 R을 선택한다(단계 330). 다음, T[00]=0, T[01]=R, T[10]=P+R, T[11]=P+2R 를 각각 입력한다(단계 340).
다음, Q의 값을 T[00]의 값으로 초기 설정한다(단계 350).
다음, i 의 값을 n-1 부터 0까지 1만큼 순차적으로 감소시키면서, 수학식 7을 반복적으로 수행하여 결과값 Q를 연산한다(단계 360).
Figure 112005034930299-PAT00009
Figure 112005034930299-PAT00010
도 3에서 알 수 있는 바와 같이, 일반적인 메시지 블라인드 방식에서 R을 제거하기 위하여 R의 역원을 구하여야 하는 단점이 있으나, 본 실시예에 따른 암호화 방법은 역원을 전혀 구할 필요가 없다는 특징을 갖는다. 이러한 특징으로 인하여, 본 실시예에 따른 암호화 방법을 RSA 암호 시스템에 적용될 경우, 연산량이 적어지는 장점을 가지게 될 뿐 아니라 구현이 용이하게 되는 장점을 가질 수 있게 된다. 즉, RSA와 타원 곡선과 같은 멱승기반의 암호 시스템에서는 매우 효과적인 대응방법이 될 수 있다.
SPA 방어를 위해 제시한 Coron의 대응 방법들은 부가적인 연산이 많다는 단점을 가진다. 이러한 문제점을 해결하기 위하여 Mames는 부채널 원자수(side channel atomicity)라 하여 부가적인 연산이 없으면서 SPA를 방어할 수 있는 대응 방법을 제안하였다 (B.C. Mames, M. Ciet, and M. Joye, "Low-cost solutions for preventing simple side-channel analysis: side-channel atomicity." IEEE Tran. on Com., vol. 53, No. 6, June 2004.). Mames에 의해 제안된 대응 방법은 기존의 Coron 방법과 비교해 볼 때 약 25% 의 연산량 감소를 가져오기 때문에 SPA를 방어하지 않는 순수한 이진 멱승 알고리즘과 동일한 연산량을 가진다. 한편, Mamiya의 BRIP를 부 채널 원자수에 적용할 경우 R 값이 매 루프마다 연산되므로 연산량 측면에서 아무런 이득을 볼 수 없다. 그러나, 본 실시예에 따른 암호화 방법을 부채널 원자수에 적용할 경우에는 비록 25%의 이득은 아니지만 BRIP 방법에 비해 12.5%의 연산량의 감소를 얻을 수 있게 된다.
이하, 도 4를 참조하여 본 발명의 다른 실시예에 따른 타원 곡선 암호 시스템을 이용하여 메시지 P를 이진 상수배하는 암호화 방법을 구체적으로 설명한다.
본 실시예는 두배 연산과 덧셈 연산을 동일하게 구현하여 두배 연산도 덧셈 연산기를 사용하도록 구현하였다. 즉, 2A를 A+A로 구현함으로써 두배연산과 덧셈 연산의 구별을 없앴으며, For 문을 while문으로 대체함으로써 For문에 들어가는 조건문인 if문을 제거하는 대신 k값을 두어 비밀키에 따른 두배 연산과 덧셈 연산을 조정한다.
도 4를 참조하면, 먼저 메시지 P 및 d=(dn-1,.....,d0)2를 입력받는다(단계 400). 다음, #E - d 의 값을 s에 입력한 후(단계 410), 타원 곡선상의 랜덤한 점 R을 선택한다(단계 420). 다음, T[00]=0, T[01]=R, T[10]=P+R, T[11]=P+2R 를 각각 입력한다(단계 430).
다음, k의 값을 '0'으로 초기 설정하고(단계 440), i ≥ 0 인 동안, 수학식 8, 수학식 9, 수학식 10을 순차적으로 반복 수행한 후(단계 450), T[00]의 값을 결과값 Q에 입력한다(단계 460).
Figure 112005034930299-PAT00011
Figure 112005034930299-PAT00012
Figure 112005034930299-PAT00013
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리 고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
본 발명에 의한 암호화 방법은 랜덤한 점 R을 이용하여 메시지 P를 블라인딩함으로써, 점 R은 알고리즘이 실행될 때 마다 갱신되기 때문에 기존의 DPA 공격이나 doubling 공격에 안전하다. 또한, 본 발명에 의한 암호화 방법은 랜덤 사영 좌표계나 동형사상을 이용한 메시지 P의 블라인딩 기법이 아니기 때문에 RPA 공격과 ZPA 공격에도 안전하다.
본 발명에 따른 방법은 랜덤한 점 R을 이용한 메시지 블라인딩 기법을 사용한다는 점에서는 BRIP와 유사하기는 하나, 위수 2인 원소를 이용하는 새로운 SPA 공격에 취약성이 있음이 밝혀진 Mamiya BRIP와는 달리, 본 발명에 따른 방법들은
Figure 112005034930299-PAT00014
이 아닌 O=#EㆍR을 이용하기 때문에 새로운 SPA 공격에 안전하다.
본 발명에 따른 알고리즘에서 P=G라고 할때 i번째 루프에서 도 3의 단계 360의 덧셈 연산시 나타날 수 있는 Q값은 수학식11과 같다.
Figure 112005034930299-PAT00015
(두배연산후)
Figure 112005034930299-PAT00016
if di=0 (덧셈연산후)
Figure 112005034930299-PAT00017
else di=1 (덧셈연산후)
Figure 112005034930299-PAT00018
BRIP의 경우, 각 루프의 시작인 Q값에 상관없이 단계3.2의 Q는 비밀기 di에 의해 단지 두가지 가능한 출력값(R 또는 G+R)만을 가진다. 하지만, 본 발명에 따른 방법은 비밀키 1과 0 모두에 R이 아닌 수학식12가 되어, 루프마다 새로운 값으로 갱신된다. 따라서, 본 발명에 따른 방법은 BRIP 와는 달리 수많은 파워 패턴을 가지게 되므로 새로운 SPA 공격에 안전하다.
Figure 112005034930299-PAT00019
이상 설명한 바와 같이, 본 발명에 따른 암호화 방법은 RPA, ZPA, Doubling 공격 및 새로운 SPA 공격 등 기존에 알려진 모든 전력 분석 공격에 안전하다. 또한, 기존의 BRIP에 비해 12.5%의 연산량 감소를 얻을 수 있으므로, 매우 효과적이다. 또한, 본 발명에 따른 암호화 방법은 타원곡선암호시스템과 함께 RSA 암호 시 스템에도 역원의 계산없이 적용가능하다.

Claims (3)

  1. 타원 곡선 암호 시스템을 이용하여 메시지 P를 암호화하는 방법에 있어서,
    (a) 메시지 P 및 비밀키 d=(dn-1,.....,d0)2를 입력받는 단계;
    (b) 타원 곡선의 위수인 #E를 입력받는 단계;
    (c) s = #E - d 를 만족하는 s를 구하는 단계;
    (d) 타원 곡선상의 랜덤한 점 R을 선택하는 단계;
    (e) T[00]=0, T[01]=R, T[10]=P+R, T[11]=P+2R 를 각각 입력하는 단계;
    (f) Q의 값을 T[00]의 값으로 초기 설정하는 단계;
    (g) i 의 값을 n-1 부터 0까지 1만큼 감소시키면서, 수학식 13을 반복적으로 수행하여 결과값 Q를 연산하는 단계
    Figure 112005034930299-PAT00020
    를 구비하여, 메시지 P를 이진 상수배하는 것을 특징으로 하는 전력 분석 공격에 대응하는 암호화 방법.
  2. 타원 곡선 암호 시스템을 이용하여 메시지 P를 암호화하는 방법에 있어서,
    (a) 메시지 P 및 비밀키 d=(dn-1,.....,d0)2를 입력받는 단계;
    (b) s = #E - d 를 만족하는 s를 구하는 단계;
    (c) 타원 곡선상의 랜덤한 점 R을 선택하는 단계;
    (d) T[00]=0, T[01]=R, T[10]=P+R, T[11]=P+2R 를 대입하는 단계;
    (e) k의 값을 '0'으로 초기 설정하는 단계;
    (g) i ≥ 0 의 조건을 만족하는 동안, 수학식 14를 순차적으로 반복 수행하는 단계;
    Figure 112005034930299-PAT00021
    Figure 112005034930299-PAT00022
    Figure 112005034930299-PAT00023
    (h) 결과값 Q를 T[00]의 값으로 설정하는 단계
    를 구비하여, 메시지 P를 이진 상수배하는 것을 특징으로 하는 전력 분석 공격에 대응하는 암호화 방법.
  3. 타원 곡선 암호화 시스템을 이용하여 메시지 P를 암호화하는 방법에 있어서,
    (a) 메시지 P 및 비밀키 d=(dn-1,.....,d0)2를 입력받는 단계;
    (b) 타원 곡선의 위수인 #E를 입력받는 단계;
    (c) 타원 곡선상의 랜덤한 점 R을 선택하는 단계;
    (d) 최종 결과값인 dP + #EㆍR을 구하는 단계
    를 구비하여, 메시지 P를 블라인딩하는 것을 특징으로 하는 전력 분석 공격에 대응하는 암호화 방법.
KR1020050056824A 2005-06-29 2005-06-29 전력분석공격에 대응하는 암호화 방법 KR100731575B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050056824A KR100731575B1 (ko) 2005-06-29 2005-06-29 전력분석공격에 대응하는 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050056824A KR100731575B1 (ko) 2005-06-29 2005-06-29 전력분석공격에 대응하는 암호화 방법

Publications (2)

Publication Number Publication Date
KR20070001376A true KR20070001376A (ko) 2007-01-04
KR100731575B1 KR100731575B1 (ko) 2007-06-22

Family

ID=37868783

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050056824A KR100731575B1 (ko) 2005-06-29 2005-06-29 전력분석공격에 대응하는 암호화 방법

Country Status (1)

Country Link
KR (1) KR100731575B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101123729B1 (ko) * 2011-06-24 2012-03-16 국민대학교산학협력단 역원 연산이 없는 rsa의 메시지 블라인딩 방법
US8345863B2 (en) 2007-07-11 2013-01-01 Samsung Electronics Co., Ltd. Method of countering side-channel attacks on elliptic curve cryptosystem
US8422671B2 (en) 2010-03-08 2013-04-16 Samsung Electronics Co., Ltd. Methods of encryption and decryption using operand ordering and encryption systems using the same
US8804952B2 (en) 2012-12-26 2014-08-12 Umm Al-Qura University System and method for securing scalar multiplication against differential power attacks
US8861721B2 (en) 2012-12-26 2014-10-14 Umm Al-Qura University System and method for securing scalar multiplication against simple power attacks

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3796993B2 (ja) 1998-12-22 2006-07-12 株式会社日立製作所 楕円曲線暗号実行方法及び装置並びに記録媒体
KR100402156B1 (en) 2002-04-25 2003-10-17 Jae Cheol Ha Method for encrypting elliptic curve to prevent power analysis attack
EP1548687B1 (en) 2002-12-18 2013-01-09 Fujitsu Limited Tamper-resistant elliptical curve encryption using secret key
KR100542758B1 (ko) * 2003-12-10 2006-01-20 한국전자통신연구원 유비쿼터스 네트워크 기반의 소봇을 이용한 시스템 및소봇의 전이 및 이동 방법
KR100530372B1 (ko) * 2003-12-20 2005-11-22 삼성전자주식회사 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345863B2 (en) 2007-07-11 2013-01-01 Samsung Electronics Co., Ltd. Method of countering side-channel attacks on elliptic curve cryptosystem
US8422671B2 (en) 2010-03-08 2013-04-16 Samsung Electronics Co., Ltd. Methods of encryption and decryption using operand ordering and encryption systems using the same
KR101123729B1 (ko) * 2011-06-24 2012-03-16 국민대학교산학협력단 역원 연산이 없는 rsa의 메시지 블라인딩 방법
US8804952B2 (en) 2012-12-26 2014-08-12 Umm Al-Qura University System and method for securing scalar multiplication against differential power attacks
US8861721B2 (en) 2012-12-26 2014-10-14 Umm Al-Qura University System and method for securing scalar multiplication against simple power attacks

Also Published As

Publication number Publication date
KR100731575B1 (ko) 2007-06-22

Similar Documents

Publication Publication Date Title
Mamiya et al. Efficient countermeasures against RPA, DPA, and SPA
Okeya et al. Power analysis breaks elliptic curve cryptosystems even secure against the timing attack
Goubin A refined power-analysis attack on elliptic curve cryptosystems
Akishita et al. Zero-value point attacks on elliptic curve cryptosystem
Coron Resistance against differential power analysis for elliptic curve cryptosystems
JP4632950B2 (ja) 個人鍵を用いた耐タンパ暗号処理
Yen et al. Power analysis by exploiting chosen message and internal collisions–vulnerability of checking mechanism for RSA-decryption
Izu et al. Exceptional procedure attack on elliptic curve cryptosystems
Cheol Ha et al. Randomized signed-scalar multiplication of ECC to resist power attacks
US20040139136A1 (en) Method for securing a computer installation involving a cryptographic algorithm using boolean operations and arithmetic operations and the corresponding embedded system
Oswald Enhancing simple power-analysis attacks on elliptic curve cryptosystems
KR20090006465A (ko) 타원 곡선 암호 시스템에 대한 부채널 공격에 대응하는방법
US20080201398A1 (en) Determination of a Modular Inverse
Möller Parallelizable elliptic curve point multiplication method with resistance against side-channel attacks
Okeya et al. A more flexible countermeasure against side channel attacks using window method
KR100731575B1 (ko) 전력분석공격에 대응하는 암호화 방법
Hedabou et al. Countermeasures for preventing comb method against SCA attacks
Itoh et al. Efficient countermeasures against power analysis for elliptic curve cryptosystems
Fouque et al. Defeating countermeasures based on randomized BSD representations
Kim et al. Side channel attacks and countermeasures on pairing based cryptosystems over binary fields
KR100772550B1 (ko) 전력분석공격에 안전한 메시지 블라인딩 방법
Kim et al. An improved and efficient countermeasure against power analysis attacks
Smart et al. Randomised representations
Ha et al. Provably secure countermeasure resistant to several types of power attack for ECC
Mamiya et al. Secure elliptic curve exponentiation against RPA, ZRA, DPA, and SPA

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140521

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee