KR20160117032A - Lea 부채널 분석에 대응하기 위한 장치 및 방법 - Google Patents

Lea 부채널 분석에 대응하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR20160117032A
KR20160117032A KR1020150045606A KR20150045606A KR20160117032A KR 20160117032 A KR20160117032 A KR 20160117032A KR 1020150045606 A KR1020150045606 A KR 1020150045606A KR 20150045606 A KR20150045606 A KR 20150045606A KR 20160117032 A KR20160117032 A KR 20160117032A
Authority
KR
South Korea
Prior art keywords
value
round function
mask
function values
masking
Prior art date
Application number
KR1020150045606A
Other languages
English (en)
Other versions
KR101665595B1 (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 KR1020150045606A priority Critical patent/KR101665595B1/ko
Publication of KR20160117032A publication Critical patent/KR20160117032A/ko
Application granted granted Critical
Publication of KR101665595B1 publication Critical patent/KR101665595B1/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/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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 암호문을 생성하여 LEA 부채널 분석에 안전하도록 한 LEA 부채널 분석에 대응하기 위한 장치 및 방법에 관한 것으로, 랜덤 값을 이용하여 중간값을 추측 불가능하게 하여 부채널 분석을 통해 추측 가능한 중간값에 대한 취약점을 해결할 수 있고, 알고리즘이 동작할 때마다 새로운 랜덤 값을 통해 중간값에 대해 통계적으로 추측이 불가능하게 되므로 부채널 분석에 안전하도록 한 것이다.

Description

LEA 부채널 분석에 대응하기 위한 장치 및 방법{Apparatus and Method for Protecting Side channel Attacks on LEA}
본 발명은 LEA(Lightweight Encryption Algorithm) 마스킹 대응에 관한 것으로, 구체적으로 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 암호문을 생성하여 LEA 부채널 분석에 안전하도록 한 LEA 부채널 분석에 대응하기 위한 장치 및 방법에 관한 것이다.
IT 환경이 발달하면서 사물인터넷(Internet of Things, IoT)의 보안이 이슈화되면서 이에 적합한 암호 알고리즘에 대한 연구가 활발히 진행되고 있다.
또한 이러한 환경에서 메모리, CPU 성능, 전력 등이 고려되어 최적화시키는 연구가 활발히 진행되고 있다. 따라서 기존에 사용되던 AES(Advanced Encryption Standard), ARIA, SEED 등을 이용하는 것은 한계가 있다.
따라서 고속, 경량, 저전력을 요구하는 암호시스템을 필요로 하게 되었고 이에 따라 32비트 플랫폼에서 효율적으로 구동되는 LEA(Lightweight Encryption Algorithm)알고리즘을 제안하였다.
LEA는 2013년 12월 한국정보통신기술협회(TTA)의 표준으로 지정되었으며, 128비트 블록 단위로 암.복호화를 수행하고 128, 192, 256비트의 비밀 키를 사용할 수 있으며 라운드함수는 Addition, Rotation, XOR의 연산만으로 구성되어있다.
따라서 연산 속도가 다른 블록 암호에 비해 빠르고 키스케줄 과정이 간단하며 S-box를 사용하지 않으므로 경량 대칭키 암호를 필요로 하는 환경에서 적합하다.
부채널 분석(Side Channel Analysis)은 장비에서 암호알고리즘이 구동될 때 발생하는 전력신호, 전자파, 소리 등의 부가적인 정보를 이용하는 공격방법이다.
대표적인 부채널 분석 방법은 전력 분석(Power Analysis), 시차 공격(Timing Attack), 오류 주입 공격(Fault Attack) 등이 있다.
따라서 이러한 부채널 분석에 대한 다양한 방법들이 존재하며, 이를 통해 알고리즘 내에 비밀 키를 추출할 수 있다. 이와 같은 부채널 분석에 대응하기 위하여 경량 대칭키 암호 알고리즘을 분석에 안전하기 위한 대응기법을 고려한 설계가 필요하다.
한국등록특허번호 10-1362675호 한국공개특허번호 10-2012-0129045호
본 발명은 이와 같은 종래 기술의 LEA의 부채널 분석에 대한 대응 방법들의 문제를 해결하기 위한 것으로, LEA(Lightweight Encryption Algorithm) 마스킹 대응을 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 암호문을 생성하여 LEA 부채널 분석에 안전하도록 한 LEA 부채널 분석에 대응하기 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명은 사물인터넷(Internet of Things), 유.무선 통신 및 네트워크 인프라 보안을 위하여 RFID(Radio Frequency IDentification), 지그비(Zigbee), CoAP(Constrained Application Protocol), lwM2M(light weight M2M), UDP(User Datagram Protocol), MQTT(Message Queuing Telemetry Transport) 등의 다양한 네트워크 기술에 적용되어 사용될 수 있는 LEA 부채널 분석에 대응하기 위한 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치는 마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 사용되는 마스크 값들을 생성하는 마스크 값 생성부;입력되는 입력 라운드 함수값 Xr[0],Xr[1],Xr[1],Xr[3] 각각에 대해 마스크 값(m1)을 적용하여 제1 마스킹 라운드 함수값을 생성하는 마스크 값 적용부;제1 마스킹 라운드 함수값들에 마스크값(m2)이 연산되는 라운드 키 값들을 적용하여 제2 마스킹 라운드 함수값들을 생성하는 라운드키 적용부;제2 마스킹 라운드 함수값들에 대해 마스크 덧셈 연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 마스크 연산 수행부;제3 마스킹 라운드 함수값들에 대해 시프트 연산을 수행하여 제4 마스킹 라운드 함수값들을 생성하는 시프트 연산 수행부;제4 마스킹 라운드 함수값들에 대해 시프트 연산 보정에 사용되는 마스크 값들을 이용한 연산을 수행하여 출력 라운드 함수값들을 생성하는 시프트 연산 보정부; 및 출력 라운드 함수값들로 이루어진 암호문을 출력하는 암호문 출력부;를 포함하는 것을 특징으로 한다.
다른 목적을 달성하기 위한 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 방법은 마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 사용되는 마스크 값들을 생성하는 마스크 값 생성 단계;입력되는 입력 라운드 함수값 Xr[0],Xr[1],Xr[1],Xr[3] 각각에 대해 마스크 값(m1)을 적용하여 제1 마스킹 라운드 함수값을 생성하는 마스크 값 적용 단계;제1 마스킹 라운드 함수값들에 마스크값(m2)이 연산되는 라운드 키 값들을 적용하여 제2 마스킹 라운드 함수값들을 생성하는 라운드키 적용 단계;제2 마스킹 라운드 함수값들에 대해 마스크 덧셈 연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 마스크 연산 수행 단계;제3 마스킹 라운드 함수값들에 대해 시프트 연산을 수행하여 제4 마스킹 라운드 함수값들을 생성하는 시프트 연산 단계;제4 마스킹 라운드 함수값들에 대해 시프트 연산 보정에 사용되는 마스크 값들을 이용한 연산을 수행하여 출력 라운드 함수값들을 생성하는 시프트 연산 단계; 및 출력 라운드 함수값들로 이루어진 암호문을 출력하는 암호문 출력 단계;를 포함하는 것을 특징으로 한다.
이와 같은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법은 다음과 같은 효과를 갖는다.
첫째, 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 암호문을 생성하여 LEA 부채널 분석에 안전하도록 한다.
둘째, 랜덤 값을 이용하여 중간값을 추측 불가능하게 하여 부채널 분석을 통해 추측 가능한 중간값에 대한 취약점을 해결할 수 있다.
셋째, 알고리즘이 동작할 때마다 새로운 랜덤 값을 통해 중간값에 대해 통계적으로 추측이 불가능하게 되므로 부채널 분석에 안전하다.
따라서, 경량블록 암호 알고리즘인 LEA가 활용되는 다양한 환경에서 나타날 수 있는 부채널 분석에 대한 취약점을 보호할 수 있다.
도 1은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치의 구성도
도 2는 128비트 LEA 알고리즘의 한 라운드 암호화 데이터 생성 절차를 나타낸 구성도
도 3은 LEA 알고리즘에서 사용되는 라운드키 생성 절차를 나타낸 구성도
도 4는 본 발명에 따른 부채널 대응기법이 적용된 LEA 알고리즘을 나타낸 구성도
도 5는 부채널 대응기법이 적용된 LEA 알고리즘에서 사용되는 마스킹 덧셈 연산을 나타낸 구성도
이하, 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법의 바람직한 실시 예에 관하여 상세히 설명하면 다음과 같다.
본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법의 특징 및 이점들은 이하에서의 각 실시 예에 대한 상세한 설명을 통해 명백해질 것이다.
도 1은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치의 구성도이다.
본 발명은 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 암호문을 생성하여 LEA 부채널 분석에 안전하도록 한 것이다.
이와 같은 본 발명은 사물인터넷(Internet of Things), 유.무선 통신 및 네트워크 인프라 보안을 위하여 RFID(Radio Frequency IDentification), 지그비(Zigbee), CoAP(Constrained Application Protocol), lwM2M(light weight M2M), UDP(User Datagram Protocol), MQTT(Message Queuing Telemetry Transport) 등의 다양한 네트워크 기술에 적용되어 사용될 수 있고 이로 제한되지 않는다.
본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법에서는 32비트 랜덤값 M 사용하지 않고, 8비트 랜덤값 4개를 연접해서 사용한다.
이는 32비트 랜덤값 추출시 시간적인 소요가 크고 관리해야 할 비트수가 커지므로 마스킹값 관리가 효율적이지 못한 문제를 해결하기 위한 것으로, 8비트 단위로 마스크 연산 수행부에 적용하는 것이 32비트 단위로 마스크 연산 수행부를 적용하는 것보다 쉽고 효율적이다.
표 1은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법에서 사용되는 변수들을 정의한 것이다.
Figure pat00001
본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치의 구성은 도 1에서와 같다.
본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치는 평문 입력부(11),마스크 값 생성부(12), 마스크 값 적용부(13), 라운드 키 적용부(14), 마스크 연산 수행부(15), 시프트 연산 수행부(16), 시프트 연산 보정부(17) 및 암호문 출력부(18)로 구성된다.
마스크 값 생성부(12)는 마스크값(m1) 이외에 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 필요한 m4=m1
Figure pat00002
ROR3(m1), m5=m1
Figure pat00003
ROR5(m1), m6=m1
Figure pat00004
ROL9(m1)를 추가 생성한다.
이는 시프트 연산 보정부(17)에서 직접 연산을 하는 경우 m1이 아닌 보정된 값(ROR3(m1),ROR5(m1),ROL9(m1))이 먼저 연산되는 경우 랜덤값이 적용되지 않은 중간값이 그대로 노출되는 것을 막기 위한 것이다.
또한, 키스케줄에서 발생할 수 있는 취약점을 고려하여 라운드키에 마스크값을 적용시킨다.
구체적으로, 마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 필요한 m4=m1
Figure pat00005
ROR3(m1), m5=m1
Figure pat00006
ROR5(m1), m6=m1
Figure pat00007
ROL9(m1)를 생성하는 마스크 값 생성부(12)와, 평문 입력부(11)에서 입력되는 입력 라운드 함수값 Xr[0],Xr[1],Xr[1],Xr[3] 각각에 대해 마스크 값(m1)을 적용하여 제1 마스킹 라운드 함수값 Xr[0]
Figure pat00008
(m1)4,Xr[1]
Figure pat00009
(m1)4,Xr[1]
Figure pat00010
(m1)4,Xr[3]
Figure pat00011
(m1)4을 생성하는 마스크 값 적용부(13)와, 제1 마스킹 라운드 함수값들에 마스크값(m2)이 연산되는 라운드 키 값들 RKr[0]
Figure pat00012
(m2)4, RKr[1]
Figure pat00013
(m2)4, RKr[2]
Figure pat00014
(m2)4, RKr[3]
Figure pat00015
(m2)4, RKr[4]
Figure pat00016
(m2)4, RKr[5]
Figure pat00017
(m2)4을 적용하여 제2 마스킹 라운드 함수값들을 생성하는 라운드키 적용부(14)와, 제2 마스킹 라운드 함수값들에 대해 마스크 덧셈 연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 마스크 연산 수행부(15)와, 제3 마스킹 라운드 함수값들에 대해 ROL9, ROR5 ROR3 시프트 연산을 수행하여 제4 마스킹 라운드 함수값들을 생성하는 시프트 연산 수행부(16)와, 제4 마스킹 라운드 함수값들에 대해 마스크 값m4=m1
Figure pat00018
ROR3(m1), m5=m1
Figure pat00019
ROR5(m1), m6=m1
Figure pat00020
ROL9(m1)를 이용한 연산을 수행하여 출력 라운드 함수값들 Xr +1[0]
Figure pat00021
(m1)4,Xr +1[1]
Figure pat00022
(m1)4,Xr +1[2]
Figure pat00023
(m1)4,Xr +1[3]
Figure pat00024
(m1)4을 생성하는 시프트 연산 보정부(17)와, 출력 라운드 함수값들로 이루어진 암호문을 출력하는 암호문 출력부(18)를 포함한다.
여기서, 마스크 값 적용부(13)에서의 연산은 수학식 1에서와 같다.
Figure pat00025
그리고 라운드 키 적용부(14)에서의 연산은 수학식 2에서와 같다.
Figure pat00026
그리고 마스크 연산 수행부(15)에서의 연산은 수학식 3에서와 같다.
Figure pat00027
그리고 시프트 연산 수행부(16)에서의 연산은 수학식 4에서와 같다.
Figure pat00028
그리고 시프트 연산 보정부(17)에서의 연산은 수학식 5에서와 같다.
Figure pat00029
이와 같은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 방법은 다음과 같다.
먼저, 마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 필요한 m4=m1
Figure pat00030
ROR3(m1), m5=m1
Figure pat00031
ROR5(m1), m6=m1
Figure pat00032
ROL9(m1)를 생성하는 단계와,평문 입력부에서 입력되는 입력 라운드 함수값 Xr[0],Xr[1],Xr[1],Xr[3] 각각에 대해 마스크 값(m1)을 적용하여 제1 마스킹 라운드 함수값 Xr[0]
Figure pat00033
(m1)4,Xr[1]
Figure pat00034
(m1)4,Xr[1]
Figure pat00035
(m1)4,Xr[3]
Figure pat00036
(m1)4을 생성하는 단계와, 제1 마스킹 라운드 함수값들에 마스크값(m2)이 연산되는 라운드 키 값들 RKr[0]
Figure pat00037
(m2)4, RKr[1]
Figure pat00038
(m2)4, RKr[2]
Figure pat00039
(m2)4, RKr[3]
Figure pat00040
(m2)4, RKr[4]
Figure pat00041
(m2)4, RKr[5]
Figure pat00042
(m2)4을 적용하여 제2 마스킹 라운드 함수값들을 생성하는 단계와, 제2 마스킹 라운드 함수값들에 대해 마스크 덧셈 연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 단계와, 제3 마스킹 라운드 함수값들에 대해 ROL9, ROR5 ROR3 시프트 연산을 수행하여 제4 마스킹 라운드 함수값들을 생성하는 단계와, 제4 마스킹 라운드 함수값들에 대해 마스크 값m4=m1
Figure pat00043
ROR3(m1), m5=m1
Figure pat00044
ROR5(m1), m6=m1
Figure pat00045
ROL9(m1)를 이용한 연산을 수행하여 출력 라운드 함수값들 Xr +1[0]
Figure pat00046
(m1)4,Xr +1[1]
Figure pat00047
(m1)4,Xr +1[2]
Figure pat00048
(m1)4,Xr +1[3]
Figure pat00049
(m1)4을 생성하는 단계 및 출력 라운드 함수값들로 이루어진 암호문을 출력하는 단계를 포함한다.
이와 같은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법이 적용되는 LEA에 대한 부채널 분석에 관하여 설명하면 다음과 같다.
도 2는 128비트 LEA 알고리즘의 한 라운드 암호화 데이터 생성 절차를 나타낸 구성도이고, 도 3은 LEA 알고리즘에서 사용되는 라운드키 생성 절차를 나타낸 구성도이다.
도 2는 평문을 이용한 LEA 1차 부채널 분석을 나타낸 것이다.
128비트 입력값을 32비트 블록 4개로 나눈 후 해당하는 32비트 라운드키와 XOR연산과 덧셈연산 후 로테이션 연산을 걸쳐 다음 라운드의 입력값으로 쓰인다.
평문을 이용한 1차 부채널 분석의 경우 공격지점으로 활용될 수 있는 부분은 평문 X0[i]{i∈1,2,3,4}와 라운드 키 RK0[j]{j∈1,2,3,4,5,6}가
Figure pat00050
연산이 일어나는 부분을 선택할 수 있고, 두 가지 키가 사용된
Figure pat00051
연산이 일어나는 부분을 선택할 수 있다.
따라서 평문을 이용하여
Figure pat00052
연산이 사용되는 부분을 8비트씩 추측할 때, 가장 효율적인 방법은 도 2에서
Figure pat00053
연산이 일어난 지점을 중간값으로 하여 분석한 뒤
Figure pat00054
연산이 일어난 지점을 중간값으로 하여 분석하는 것이다.
그리고 도 2는 LEA 알고리즘에서 사용되는 라운드키 생성 절차를 나타낸 것으로, 24회 반복을 통해 암호화에 쓰이는 192비트 라운드키 24개를 생성한다.
또한 128비트 LEA 알고리즘의 경우 RKr[1],RKr[3],RKr[5]가 동일한 키를 사용하는 특징이 있다.
Ti + 1[j]를 안다면 Ti[j]를 유추할 수 있고 역도 성립한다. 이러한 특징으로 인해 j가 동일한 모든 라운드 키를 유추할 수 있다.
이와 같은 LEA에 대한 부채널 분석에 대응하기 위한 본 발명에 따른 부채널 대응 기법이 적용된 구조는 다음과 같다.
도 4는 본 발명에 따른 부채널 대응기법이 적용된 LEA 알고리즘을 나타낸 구성도이고, 도 5는 부채널 대응기법이 적용된 LEA 알고리즘에서 사용되는 마스킹 덧셈 연산을 나타낸 구성도이다.
도 4에서와 같이, 각 라운드의 입력 마스크는 m1이고, 라운드 키 마스크 값으로 쓰이는 값은 m2이다. 라운드 내에서 데이터에 대한 마스크 값을 일관성 있게 가져가므로, 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 128비트 암호문을 생성한다.
이때 쓰이는 마스크 값은 표 2에서와 같다.
마스크 값을 일관성 있게 가져가기 위해 사전 연산된 m4,m5,m6를 추가적으로 XOR 연산을 한다.
즉, 이와 같은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법에서의 마스킹 라운드 구조는 다음과 같다.
Figure pat00055
그리고 도 5는 부채널 대응기법이 적용된 LEA 알고리즘에서 사용되는 마스킹 덧셈 연산을 나타낸 것으로, 이를 수식으로 나타내면 표 3에서와 같다.
덧셈(Addition) 연산은 비선형 연산에 속하는 연산으로 1차 부울린 마스킹 기법을 적용한다면, 덧셈 연산을 위하여 '
Figure pat00056
' → '-'로 바꾸어 주는 함수인 B to A(Boolean to Arithmetic) 변환 방법과 '+'→ '
Figure pat00057
'로 바꾸어 주는 함수인 A to B(Arithmetic to Boolean) 변환 방법이 필요하다.
Figure pat00058
이와 같은 본 발명에 따른 LEA 부채널 분석에 대응하기 위한 장치 및 방법은 LEA(Lightweight Encryption Algorithm) 마스킹 대응을 위한 장치 및 방법을 제공하기 위한 것으로, 첫 라운드에서 마스크 값을 연산해주고 마지막 라운드에서 마스크 값을 제거하는 방법으로 암호문을 생성하여 LEA 부채널 분석에 안전하도록 한 것이다.
이와 같은 본 발명은 사물인터넷(Internet of Things), 유.무선 통신 및 네트워크 인프라 보안을 위하여 RFID(Radio Frequency IDentification), 지그비(Zigbee), CoAP(Constrained Application Protocol), lwM2M(light weight M2M), UDP(User Datagram Protocol), MQTT(Message Queuing Telemetry Transport) 등의 다양한 네트워크 기술에 적용되어 사용될 수 있다.
특히, 랜덤 값을 이용하여 중간값을 추측 불가능하게 하여 부채널 분석을 통해 추측 가능한 중간값에 대한 취약점을 해결할 수 있고, 알고리즘이 동작할 때마다 새로운 랜덤 값을 통해 중간값에 대해 통계적으로 추측이 불가능하게 되므로 부채널 분석에 안전하다.
이상에서의 설명에서와 같이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 본 발명이 구현되어 있음을 이해할 수 있을 것이다.
그러므로 명시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 하고, 본 발명의 범위는 전술한 설명이 아니라 특허청구 범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
11. 평문 입력부 12. 마스크 값 생성부
13. 마스크 값 적용부 14. 라운드 키 적용부
15. 마스크 연산 수행부 16. 시프트 연산 수행부
17. 시프트 연산 보정부 18. 암호문 출력부

Claims (14)

  1. 마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 사용되는 마스크 값들을 생성하는 마스크 값 생성부;
    입력되는 입력 라운드 함수값 Xr[0],Xr[1],Xr[1],Xr[3] 각각에 대해 마스크 값(m1)을 적용하여 제1 마스킹 라운드 함수값을 생성하는 마스크 값 적용부;
    제1 마스킹 라운드 함수값들에 마스크값(m2)이 연산되는 라운드 키 값들을 적용하여 제2 마스킹 라운드 함수값들을 생성하는 라운드키 적용부;
    제2 마스킹 라운드 함수값들에 대해 마스크 덧셈 연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 마스크 연산 수행부;
    제3 마스킹 라운드 함수값들에 대해 시프트 연산을 수행하여 제4 마스킹 라운드 함수값들을 생성하는 시프트 연산 수행부;
    제4 마스킹 라운드 함수값들에 대해 시프트 연산 보정에 사용되는 마스크 값들을 이용한 연산을 수행하여 출력 라운드 함수값들을 생성하는 시프트 연산 보정부; 및 출력 라운드 함수값들로 이루어진 암호문을 출력하는 암호문 출력부;를 포함하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  2. 제 1 항에 있어서, 마스크 값 생성부는,
    마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 필요한 m4=m1
    Figure pat00059
    ROR3(m1), m5=m1
    Figure pat00060
    ROR5(m1), m6=m1
    Figure pat00061
    ROL9(m1)를 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  3. 제 1 항에 있어서, 마스크 값 적용부는,
    Figure pat00062
    연산을 수행하여 제1 마스킹 라운드 함수값 Xr[0]
    Figure pat00063
    (m1)4,Xr[1]
    Figure pat00064
    (m1)4,Xr[1]
    Figure pat00065
    (m1)4,Xr[3]
    Figure pat00066
    (m1)4을 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  4. 제 1 항에 있어서, 라운드키 적용부는,
    마스크값(m2)이 연산되는 라운드 키 값들 RKr[0]
    Figure pat00067
    (m2)4, RKr[1]
    Figure pat00068
    (m2)4, RKr[2]
    Figure pat00069
    (m2)4, RKr[3]
    Figure pat00070
    (m2)4, RKr[4]
    Figure pat00071
    (m2)4, RKr[5]
    Figure pat00072
    (m2)4을 적용하여,
    Figure pat00073
    연산을 수행하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  5. 제 1 항에 있어서, 마스크 연산 수행부는,
    Figure pat00074
    연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  6. 제 1 항에 있어서, 시프트 연산 수행부는,
    Figure pat00075
    연산을 적용하여 ROL9, ROR5 ROR3 시프트 연산을 수행하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  7. 제 1 항에 있어서, 시프트 연산 보정부는,
    Figure pat00076
    연산을 적용하여,
    제4 마스킹 라운드 함수값들에 대해 마스크 값m4=m1
    Figure pat00077
    ROR3(m1), m5=m1
    Figure pat00078
    ROR5(m1), m6=m1
    Figure pat00079
    ROL9(m1)를 이용한 연산을 수행하여 출력 라운드 함수값들 Xr+1[0]
    Figure pat00080
    (m1)4,Xr+1[1]
    Figure pat00081
    (m1)4,Xr+1[2]
    Figure pat00082
    (m1)4,Xr+1[3]
    Figure pat00083
    (m1)4을 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 장치.
  8. 마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 사용되는 마스크 값들을 생성하는 마스크 값 생성 단계;
    입력되는 입력 라운드 함수값 Xr[0],Xr[1],Xr[1],Xr[3] 각각에 대해 마스크 값(m1)을 적용하여 제1 마스킹 라운드 함수값을 생성하는 마스크 값 적용 단계;
    제1 마스킹 라운드 함수값들에 마스크값(m2)이 연산되는 라운드 키 값들을 적용하여 제2 마스킹 라운드 함수값들을 생성하는 라운드키 적용 단계;
    제2 마스킹 라운드 함수값들에 대해 마스크 덧셈 연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 마스크 연산 수행 단계;
    제3 마스킹 라운드 함수값들에 대해 시프트 연산을 수행하여 제4 마스킹 라운드 함수값들을 생성하는 시프트 연산 단계;
    제4 마스킹 라운드 함수값들에 대해 시프트 연산 보정에 사용되는 마스크 값들을 이용한 연산을 수행하여 출력 라운드 함수값들을 생성하는 시프트 연산 보정단계; 및 출력 라운드 함수값들로 이루어진 암호문을 출력하는 암호문 출력 단계;를 포함하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.
  9. 제 8 항에 있어서, 마스크 값 생성 단계는,
    마스크값(m1), 라운드키 값에 연산되는 마스크값(m2)과, 시프트 연산 보정에 필요한 m4=m1
    Figure pat00084
    ROR3(m1), m5=m1ROR5(m1), m6=m1
    Figure pat00086
    ROL9(m1)를 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.
  10. 제 8 항에 있어서, 마스크 값 적용 단계는,
    Figure pat00087
    연산을 수행하여 제1 마스킹 라운드 함수값 Xr[0]
    Figure pat00088
    (m1)4,Xr[1]
    Figure pat00089
    (m1)4,Xr[1]
    Figure pat00090
    (m1)4,Xr[3]
    Figure pat00091
    (m1)4을 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.
  11. 제 8 항에 있어서, 라운드키 적용 단계는,
    마스크값(m2)이 연산되는 라운드 키 값들 RKr[0]
    Figure pat00092
    (m2)4, RKr[1]
    Figure pat00093
    (m2)4, RKr[2]
    Figure pat00094
    (m2)4, RKr[3]
    Figure pat00095
    (m2)4, RKr[4]
    Figure pat00096
    (m2)4, RKr[5]
    Figure pat00097
    (m2)4을 적용하여,
    Figure pat00098
    연산을 수행하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.
  12. 제 8 항에 있어서, 마스크 연산 수행 단계는,
    Figure pat00099
    연산을 수행하여 제3 마스킹 라운드 함수값들을 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.
  13. 제 8 항에 있어서, 시프트 연산 단계는,
    Figure pat00100
    연산을 적용하여 ROL9, ROR5 ROR3 시프트 연산을 수행하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.
  14. 제 8 항에 있어서, 시프트 연산 보정 단계는,
    Figure pat00101
    연산을 적용하여,
    제4 마스킹 라운드 함수값들에 대해 마스크 값m4=m1
    Figure pat00102
    ROR3(m1), m5=m1
    Figure pat00103
    ROR5(m1), m6=m1
    Figure pat00104
    ROL9(m1)를 이용한 연산을 수행하여 출력 라운드 함수값들 Xr+1[0]
    Figure pat00105
    (m1)4,Xr+1[1]
    Figure pat00106
    (m1)4,Xr+1[2]
    Figure pat00107
    (m1)4,Xr+1[3]
    Figure pat00108
    (m1)4을 생성하는 것을 특징으로 하는 LEA 부채널 분석에 대응하기 위한 방법.







KR1020150045606A 2015-03-31 2015-03-31 Lea 부채널 분석에 대응하기 위한 장치 및 방법 KR101665595B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150045606A KR101665595B1 (ko) 2015-03-31 2015-03-31 Lea 부채널 분석에 대응하기 위한 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150045606A KR101665595B1 (ko) 2015-03-31 2015-03-31 Lea 부채널 분석에 대응하기 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20160117032A true KR20160117032A (ko) 2016-10-10
KR101665595B1 KR101665595B1 (ko) 2016-10-12

Family

ID=57146284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150045606A KR101665595B1 (ko) 2015-03-31 2015-03-31 Lea 부채널 분석에 대응하기 위한 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101665595B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200041466A (ko) * 2018-10-12 2020-04-22 유비벨록스(주) 보안성이 향상된 블록 암호화 방법
KR20200041467A (ko) * 2018-10-12 2020-04-22 유비벨록스(주) 보안성이 향상된 블록 암호화 방법
CN115664641A (zh) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 对加密算法中轮密钥的校验方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120129045A (ko) 2011-05-18 2012-11-28 한국전자통신연구원 부채널 공격에 대응하는 대칭치 암호 알고리즘 구현 방법
KR101362675B1 (ko) 2012-11-30 2014-02-12 한국전자통신연구원 저전력 암호화 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120129045A (ko) 2011-05-18 2012-11-28 한국전자통신연구원 부채널 공격에 대응하는 대칭치 암호 알고리즘 구현 방법
KR101362675B1 (ko) 2012-11-30 2014-02-12 한국전자통신연구원 저전력 암호화 장치 및 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Yongdae Kim et al., IACR Cryptology ePrint Archive 2014: 999 "First Experimental Result of Power Analysis Attacks on a FPGA Implementation of LEA" (2014.12. 공개) *
박명서 외 1인, 정보보호학회논문지 제24권 제6호 "블록 암호 LEA에 대한 차분 오류 공격" (2014.12. 공개) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200041466A (ko) * 2018-10-12 2020-04-22 유비벨록스(주) 보안성이 향상된 블록 암호화 방법
KR20200041467A (ko) * 2018-10-12 2020-04-22 유비벨록스(주) 보안성이 향상된 블록 암호화 방법
CN115664641A (zh) * 2022-12-26 2023-01-31 飞腾信息技术有限公司 对加密算法中轮密钥的校验方法及装置

Also Published As

Publication number Publication date
KR101665595B1 (ko) 2016-10-12

Similar Documents

Publication Publication Date Title
US7899190B2 (en) Security countermeasures for power analysis attacks
Mitali et al. A survey on various cryptography techniques
Saraf et al. Text and image encryption decryption using advanced encryption standard
KR101586811B1 (ko) Hight 부채널 분석에 대응하기 위한 장치 및 방법
Christina et al. Optimized Blowfish encryption technique
KR101095386B1 (ko) 이산화된 카오스 함수를 이용한 암호 시스템
KR101665595B1 (ko) Lea 부채널 분석에 대응하기 위한 장치 및 방법
Mahboob et al. A cryptographic scheme for construction of substitution boxes using quantic fractional transformation
Jeong et al. Differential fault analysis on block cipher SEED
KR101362675B1 (ko) 저전력 암호화 장치 및 방법
Mahmoud et al. A hill cipher modification based on eigenvalues extension with dynamic key size hcm-exdks
Ali et al. Improved differential fault analysis of CLEFIA
KR20100079060A (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
Vasudevan et al. Jigsaw-based secure data transfer over computer networks
Riyadi et al. The Dynamic Symmetric Four-Key-Generators System for Securing Data Transmission in the Industrial Control System.
Tayal et al. Analysis of various cryptography techniques: a survey
KR102072335B1 (ko) 스크램블러를 이용한 aes 암호 알고리즘에 대한 전력분석공격 방어기술 적용방법
CN108768923A (zh) 一种基于量子可逆逻辑线路的加密算法的聊天实时加密方法
Chandrasekaran et al. Ensemble of blowfish with chaos based s box design for text and image encryption
Khan et al. Robust symmetric cryptography using plain–text variant session key
Thwe et al. Prevention of Man-In-The-Middle Attack in Diffie-Hellman Key Exchange Algorithm using Proposed Hash Function
KR20150103394A (ko) 암호화 시스템 및 그것의 암호 통신 방법
Marpaung et al. Higher-Order Countermeasures against Side-Channel Cryptanalysis on Rabbit Stream Cipher
Lazaar A lightweight cryptographic solution to secure digital transmissions on resource-constrained environments.
Al-Omari et al. Spiking Neurons with ASNN BASED-Methods for the Neural Block Cipher

Legal Events

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

Payment date: 20190923

Year of fee payment: 4