차분 오류 공격(DFA) 은 블록 암호의 안전성 분석에 널리 사용되는 부채널 공격 기법으로서, 대표적인 블록 암호인 DES, AES, ARIA, SEED 등에 적용되었다. 기제안된 SEED에 대한 DFA는 라운드 16의 입력값에 영구적인 에러를 주입한다는 가정을 이용한다. 본 논문에서는 SEED의 라운드 차분의 특성 분석과 덧셈 차분의 특성을 이용하여 SEED에 대한 DFA를 제안한다. 본 논문에서 사용하는 공격 가정은 특정 레지스터에 1-비트 오류를 주입한다는 것이다. 이 공격을 이용하여 약 $2^{32}$번의 간단한 산술 연산으로 SEED의 라운드 키 및 마스터 키를 복구할 수 있다. 이는 일반적인 PC에서 수 초 내에 가능함을 의미한다.
차분 오류 공격(DFA) 은 블록 암호의 안전성 분석에 널리 사용되는 부채널 공격 기법으로서, 대표적인 블록 암호인 DES, AES, ARIA, SEED 등에 적용되었다. 기제안된 SEED에 대한 DFA는 라운드 16의 입력값에 영구적인 에러를 주입한다는 가정을 이용한다. 본 논문에서는 SEED의 라운드 차분의 특성 분석과 덧셈 차분의 특성을 이용하여 SEED에 대한 DFA를 제안한다. 본 논문에서 사용하는 공격 가정은 특정 레지스터에 1-비트 오류를 주입한다는 것이다. 이 공격을 이용하여 약 $2^{32}$번의 간단한 산술 연산으로 SEED의 라운드 키 및 마스터 키를 복구할 수 있다. 이는 일반적인 PC에서 수 초 내에 가능함을 의미한다.
A differential fault attack(DFA) is one of the most efficient side channel attacks on block ciphers. Almost all block ciphers, such as DES, AES, ARIA, SEED and so on., have been analysed by this attack. In the case of the known DFAs on SEED, the attacker induces permanent faults on a whole left regi...
A differential fault attack(DFA) is one of the most efficient side channel attacks on block ciphers. Almost all block ciphers, such as DES, AES, ARIA, SEED and so on., have been analysed by this attack. In the case of the known DFAs on SEED, the attacker induces permanent faults on a whole left register of round 16. In this paper, we analyse SEED against DFA with differential characteristics and addition-XOR characteristics of the round function of SEED. The fault assumption of our attack is that the attacker induces 1-bit faults on a particular register. By using our attack, we can recover last round keys and the master key with about $2^{32}$ simple arithmetic operations. It can be simulated on general PC within about a couple of second.
A differential fault attack(DFA) is one of the most efficient side channel attacks on block ciphers. Almost all block ciphers, such as DES, AES, ARIA, SEED and so on., have been analysed by this attack. In the case of the known DFAs on SEED, the attacker induces permanent faults on a whole left register of round 16. In this paper, we analyse SEED against DFA with differential characteristics and addition-XOR characteristics of the round function of SEED. The fault assumption of our attack is that the attacker induces 1-bit faults on a particular register. By using our attack, we can recover last round keys and the master key with about $2^{32}$ simple arithmetic operations. It can be simulated on general PC within about a couple of second.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 SEED에 대한 DFA를 제안하였다. 본 논문에서 제안한 공격을 이용하여 라운드 16과 라운드 15의 3번째 G 함수의 입력 레지스터에 1-비트 오류를 약 30번 주입하여 마스터 키를 수 초 내에 복구할 수 있음을 보였다.
본 절에서는 SEED에 대한 DFA를 소개한다. 우선 라운드 16의 특정 레지스터에 오류 주입을 가정한 후, 라운드 16의 라운드 키를 복구하는 방법을 소개한다.
가설 설정
따라서 일반적인 블록 암호에서 라운드 함수의 입력 레지스터에 오류를 주입하는가 정과 마찬가지로, SEED의 경우 G 함수의 입력 레지스터에 오류를 주입하는 가정은 현실적으로 가능하다. 본 논문에서는 라운드 16의 라운드 함수에서 3번의 G 함수 입력 중 마지막 G 함수의 입력 레지스터에 「비트 오류를 주입하는 것을 가정한다.
블록 암호에 대한 DFA의 일반적인 공격 가정은 특정 레지스터에 오류를 주입하는 것이다. Feistel 구조를 갖는 블록 암호의 경우, 마지막 라운드의 입력레지스터에 오류를 주입한다.
특정 레지스터에 일시적인 1-비트 오류를 주입한다는 가정을 이용한다. 즉.
제안 방법
키를 생성한다. 먼저, 4斗 "牛 덧셈 연산 후 다시 각 라운드 상수 /“와 다시 뺄셈 연산 후 G 함수 출력으로 처음 32-비트 라운드 키를 생성하고, 5와 D 가 뺄셈 연산 후 라운드 상수 KC와 덧셈 연산 한 후 G 함수 출력으로 다음 32-비트 라운드 키를 생성한다. 또한 각 32■비트 레지스터 4 6: D는 홀수 라운드에서는 앞의 A, B 부분이 묶여서 8-비트 로테이션 연산을 수행하고, 짝수 라운드에서는 C, D 부분이 묶여서 8-비트 로테이션 연산이 수행된다.
Feistel 구조를 갖는 블록 암호의 경우, 마지막 라운드의 입력레지스터에 오류를 주입한다. 그래서 오류가 발생하지 않은 알고리즘을 이용하여 얻은 결과값과 오류가 발생한 알고리즘을 이용하여 얻은 결과값의 차분을 이용하여, 오류가 주입된 active S-박스의 위치를 찾아서 해당 active S-box에 관여한 부분키의 후보를 찾는다. 이 과정을 반복 수행하여 가능한 라운드 키의 후보를 최대한 줄인 후 라운드 키를 복구한다.
본 논문에서 제안한 공격을 이용하여 라운드 16과 라운드 15의 3번째 G 함수의 입력 레지스터에 1-비트 오류를 약 30번 주입하여 마스터 키를 수 초 내에 복구할 수 있음을 보였다. 본 공격을 보다 일반화하여 첫 번째. 두 번째 G 함수의 입력 레지스터에 오류를 주입하거나, 라운드 함수의 입력 레지스터에 오류를 주입할 경우에 대한 분석 및 1-바이트 오류 주입에 대한 분석은 향후 연구 과제이다.
우선 라운드 16의 특정 레지스터에 오류 주입을 가정한 후, 라운드 16의 라운드 키를 복구하는 방법을 소개한다.
성능/효과
제안하였다. 본 논문에서 제안한 공격을 이용하여 라운드 16과 라운드 15의 3번째 G 함수의 입력 레지스터에 1-비트 오류를 약 30번 주입하여 마스터 키를 수 초 내에 복구할 수 있음을 보였다. 본 공격을 보다 일반화하여 첫 번째.
실험 결과. 평균 15개의 오류가 주입되었을 경우 모든 S-box가 서로 디-르게 2번 이상 active가 되는 것으로 니타났다. 단계 3에서는 牛box의 입력 차분에대한 출력 차분 테이블을 미리 구성할 수 있으므로 무시할 정도의 계산량으로 Xf을 복구할 수 있다.
후속연구
본 공격을 보다 일반화하여 첫 번째. 두 번째 G 함수의 입력 레지스터에 오류를 주입하거나, 라운드 함수의 입력 레지스터에 오류를 주입할 경우에 대한 분석 및 1-바이트 오류 주입에 대한 분석은 향후 연구 과제이다.
참고문헌 (13)
하재철, 김창균, 문상재, 박일환, "SEED에 대한 오류 분석 공격", 한국정보보호학회 동계정보보호학술대회 논문집(CISC-W'04), pp. 39-44, 2004년 12월.
E. Biham and A. Shamir, "Differential Cryptanalysis of DES-like Cryptosystem," Journal of Cryptology, Vol. 4, No.1, pp. 3-72, Springer-Verlag, Jan. 1991.
E. Biham and A. Shamir, "Differential Faut Analysis of Secret Key Cryptosystems," Crypto'97, LNCS 1294, pp. 513-525, Springer-Verlag, 1997.
D. Boneh, R. DeMillio and R. Lipton, "On the importance of checking cryptographic protocols for faults," Eurocrypt'97, LNCS 1233, pp. 37-51, Springer-Verlag, 1997.
P. Dusart, G. Letourneux, and O. Vivolo, "Differntial Fault Attack on AES," ACNS'03, LNCS 2846, pp. 293-306, Springer-Verlag, 2003.
L. Hemme, ''A Differential Faut Aanalysis against Early Rounds of (Triple)-DES," CHES'04, LNCS 3156, pp. 254-267, Springer- Verlag, 2004.
P. Kocher, "Timing attacks on implementation of Diffie-Hellman." Crypto'96, LNCS 1109, pp. 104-113, Springer-Verlag, 1996.
Korea Information Security Agencry, "A Design and Analysis of 128-bit Symmetric Block Cipher SEED," 1999. Available at http://www.kisa.or.kr/kisa/seed/jsp/seed_1010.jsp
H. Lipmaa and S. Moriai, "Efficient Algorithms for Computing Differential Properties of Addition." FSE'01, LNCS 2355, pp. 336-350, Springer-Verlag, 2002.
H. Yanami and T. Shimoyama, "Differential Cryptanalysis of a Reduced-Round SEED," SCN'02, LNCS 2576, pp. 186-198, Springer-Verlag, 2002.
H. Yoo, C. Kim, J. Ha, S. Moon, and I. Park, "Side Channel Cryptanalysis on SEED," WISA'04, LNCS 3325, pp. Springer-Verlag, 2004.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.