DOI QR코드

DOI QR Code

Side Channel Attacks on SIMON Family with Reduced Masked Rounds

축소 마스킹이 적용된 경량 블록 암호 알고리즘 SIMON 패밀리에 대한 부채널 공격

  • Kim, Jihun (Dept. of Financial Information Security, Kookmin University) ;
  • Hong, Kiwon (Dept. of Financial Information Security, Kookmin University) ;
  • Kim, Soram (Dept. of Financial Information Security, Kookmin University) ;
  • Cho, Jaehyung (Dept. of Financial Information Security, Kookmin University) ;
  • Kim, Jongsung (Dept. of Financial Information Security, Kookmin University)
  • 김지훈 (국민대학교 금융정보보안학과) ;
  • 홍기원 (국민대학교 금융정보보안학과) ;
  • 김소람 (국민대학교 금융정보보안학과) ;
  • 조재형 (국민대학교 금융정보보안학과) ;
  • 김종성 (국민대학교 금융정보보안학과)
  • Received : 2017.05.11
  • Accepted : 2017.08.13
  • Published : 2017.08.31

Abstract

A side-channel attack is a method of attacking a cipher based on physical information of a cryptographic device. The masking method, which is a typical method overcoming this attack, is a method of calculating an arbitrary masking value at the round intermediate value through rounds. Thus, it is difficult to guess the intermediate value by the side-channel attack, but if the masking operation is applied to all rounds of the encryption algorithm, the encryption process may become overloaded. Therefore, it is practical to use a reduced-round masking technique that applies a masking technique to only a part of the cipher for lightweight equipment such as Internet of Things(IoT) and wearable devices. In this paper, we describe a Hamming weight filtering for SIMON family with reduced-round masking technique and it is shown that first round key recovery is possible through actual programming.

부채널 공격은 암호 장비의 물리적인 정보를 기반으로 내장된 암호 알고리즘을 공격하는 방법이다. 대표적인 부채널 공격 대응방법인 마스킹 기법은 암호 알고리즘의 라운드 중간 값에 임의의 마스킹 값을 연산하는 방법이다. 하지만 암호 알고리즘의 모든 라운드에 마스킹 연산이 적용되면 암호화 과정에 과부하가 발생 할 수 있다. 따라서 IoT(Internet of Things), 웨어러블 디바이스 등과 같은 경량 장비에는 마스킹 기법을 암호 알고리즘의 일부 라운드에만 적용하는 축소 마스킹 기법을 사용하는 것이 현실적이다. 본 논문에서는 축소 마스킹 기법이 적용된 SIMON 패밀리에 대한 해밍 웨이트 필터링을 이용한 공격 방법을 소개하고, 실제 프로그래밍을 통해 첫 라운드 키 복구가 가능함을 보인다.

Keywords

I. 서론

최근 IT 관련 시장은 소형 모바일, 클라우드, IoT 등이 이슈화 되고 있다. 소프트웨어정책연구소에서 선정한 “2017년 SW 10대 이슈”를 보면 IoT, 클라우드, 모바일 결제 등 소형 장비에 대한 이슈들이 선정되어 있다[1]. 이와 같은 소형 장비는 기존 모듈들이 동작하기에는 제한적이기 때문에, 경량 환경에 적합한 기술 및 모듈 개발에 대한 연구가 활발히 진행되고 있다. 기존의 ARIA[2], AES[3] 등의 암호 알고리즘 역시 경량 환경에서 사용하기에는 제한이 있어, 경량 암호 알고리즘 설계와 분석에 대한 연구가 활발하게 진행되고 있다.

본 논문에서는 축소 마스킹 기법이 적용된 대표적인 경량 암호 알고리즘인 SIMON에 대한 부채널 공격을 통해 첫 라운드 키를 복구하는 방법을 소개한다. 이 공격은 해밍 웨이트의 값으로 평문 쌍을 거르는 해밍 웨이트 필터링과 차분 공격으로 구성되어있다. 대략적인 공격 방법을 간략히 말하자면 우선 차분 공격을 가능하게 하는 차분 특성을 구한다. 그리고 해밍 웨이트 필터링을 이용하여, 차분 특성과 동일한 해밍 웨이트를 갖는 평문 쌍들을 수집한다. 그리고 SIMON 알고리즘의 비선형 연산의 특징을 이용하여 첫 라운드 키의 두 개 비트를 찾아내고, 다른 차분 특성을 이용해 이 과정을 반복하여 첫 라운드키를 복구해 낸다. 공격 결과는 Table 1.과 같다.

Table 1. Summary of our attacks on SIMON family

해밍 웨이트 필터링을 이용한 공격에 대한 [4]와 같은 연구 결과가 있다. 주된 공격 및 공격 방법에는 큰 차이가 없지만 [4]의 경우 ARX 구조인 LEA에 대하여 공격을 적용했고, 본 논문에서는 AND 연산을 사용하는 SIMON에 대하여 공격을 적용했다.

본 논문의 구성은 다음과 같다. 2장에서 논문의 표기법과 SIMON 블록 암호 알고리즘을 소개하고, 3장에서 공격 이론 및 방법을 구체적으로 설명하고, 4장에서 공격 방법을 SIMON 알고리즘에 적용하는 방법 및 결과를 제시한다. 마지막으로 5장을 결론으로 논문을 맺는다.

II. 표기법 및 SIMON 알고리즘 소개

2.1 표기법

본 논문에서 사용된 표기법은 Table 2.와 같다.

Table 2. Notation

2.2 SIMON 알고리즘 소개

NSA에서 개발한 SIMON 블록 암호 알고리즘은 무선, IoT와 같은 경량 환경에서 동작하는 장비에 적합한 암호 알고리즘이다[5]. 하드웨어와 소프트웨어 두 환경에서 모두 좋은 성능을 보여주며 특히 하드웨어 환경에서 비교적 좋은 성능을 보인다. 알고리즘의 기본적인 블록 크기 및 인스턴스는 Table 3.와 같다.

Table 3. Parameters according to SIMON algorithm version

SIMON 알고리즘은 Feistel 구조로, 비선형 함수에서 ‘AND(&)’ 연산을 사용하는 것이 특징이다. 알고리즘의 연산은 AND, Rotate, XOR을 이용한다. 라운드 함수는 Fig.1.과 같으며 2개의 워드를 입력한 후 연산들을 사용하여 라운드를 진행한다. SIMON은 평문의 크기와 키 사이즈에 따라 여러 버전이 존재한다. 라운드 수는 SIMON 버전에 따라 달라지며 암호 분석 과정에서 키 스케줄은 사용하지 않기 때문에 키 스케줄의 세부 사항은 생략한다. 각 알고리즘에서 사용되는 Xi[0]는 i라운드의 왼쪽 워드를, Xi[1]는 i라운드의 오른쪽 워드를 의미한다.

Fig. 1. SIMON algorithm round function

III. 블록 암호 공격 방법과 해밍 웨이트 필터링

3.1 부채널 공격과 마스킹 기법

부채널 공격은 암호 모듈이 동작하는 과정에서 발생하는 물리적인 정보를 바탕으로 알고리즘을 분석하는 공격 방법이다[6]. 즉, 암호 시스템의 실행 시간, 소비 전력, 전자기파, 소리 등의 정보를 통해 키에 대한 정보를 찾아내는 방법을 말한다. 그 중 전력 분석은 대표적인 부채널 공격 방법으로 암호 알고리즘이 수행되는 동안 소비되는 전력 패턴을 분석하여 알고리즘에서 사용되는 키 정보를 획득한다.

전력 분석에 대응하는 방법으로 마스킹 기법이 있다[7]. 추측되는 중간 값에 마스킹 값을 연산해 암호 알고리즘의 라운드에서 중간 값을 추측하기 어렵게 만드는 방법이다. 연산에 따라 가산 마스킹, 곱셈 마스킹, 고차 마스킹 등이 있다. 하지만 마스킹 기법은 암호화 속도, 메모리 등에서 오버로드를 발생시키기 때문에, 암호 모듈에서 실제로 적용될 경우 제품 성능이나 서비스 등에 문제가 될 수 있다. 그래서 경량 환경의 암호모듈에서는 전체 라운드에 마스킹 기법을 적용하는 대신 일부 라운드에만 마스킹 기법을 적용하는 것이 현실적이다. 이를 축소 마스킹 기법이라 하며 보통 처음 특정 라운드와 마지막 특정 라운드에 적용한다. 하지만 축소 마스킹 기법이 적용된 암호 알고리즘은 알고리즘 특성 혹은 적용 범위에 따라 차분 분석 등 암호 알고리즘 분석법에 취약할 수 있다[4,8,9,10].

3.2 차분 공격

차분 공격은 1990년 Biham과 Shamir가 소개했으며 차분을 이용한 대칭키 암호 분석 방법이다[11]. 여기서 차분은 일반적으로 두 값을 XOR한 값을 의미한다. 일반적으로 ‘선택된 평문 공격’ 또는‘선택된 암호문 공격’을 가정으로 한다. n 비트 암호 알고리즘의 평문 쌍(X, X′) 차분이 ∆X일 때 i라운드 암호화한 결과를 (Ci, Ci′), 그 차분을 ∆Ci라 하자. 이상적인 암호 알고리즘의 경우, ∆X이 암호화 과정을 거쳐 ∆C가 될 확률은 Pri(∆X↦∆C) = 2-n이다. 그러나 암호 알고리즘에 취약점이 있을 경우 그 확률은 2-n보다 커질 수 있다. 따라서, 차분 공격은 Pri(∆X↦∆C)이 2-n보다 크도록 하는 ∆X →∆C을 만족하는 평문 쌍을 모아서 공격하는 방법이다. 또한 이를 바탕으로 다양한 차분 공격에 응용되어 사용되기도 한다.

3.3 해밍 웨이트 필터링

해밍 웨이트(hwt(x))란 입력된 워드(x)의 비트열에 대해 ‘1’인 비트의 수를 뜻한다. 해밍 웨이트 필터링이란 임의의 평문 쌍으로부터 차분의 해밍 웨이트를 이용하여 차분 공격에 필요한 평문 쌍을 선별하는 과정을 말한다. 논문에서 제안하는 공격은 해밍웨이트 필터링을 사용하기 위해 [8]의 특성 1, 2, 3을 이용한다.

특성 1. k 비트 두 블록 워드 Xi[0], Xi[1]에 대한 해밍 웨이트를 hwt(Xi[0]), hwt(Xi[1])로 가정한다. 두 블록 워드를 임의의 값으로 선택하면 다음의 주어진 확률로 hwt(Xi[0]) = hwt(Xi[1]) ± d가 된다. 이때 d를 만족하는 확률 계산식은 다음과 같다.

d = 0이면,

\(\begin{equation} \operatorname{Pr}\left(h w t(X)=h w t\left(X^{\prime}\right)\right)=\sum_{l=0}^{k}\left(\frac{\left(\begin{array}{l} k \\ l \end{array}\right)}{2^{k}}\right)^{2} \end{equation}\)

d≠0이면,

\(Pr(h\omega t(X)= h \omega t (X') \pm d) = \begin{equation} 2 \times \sum_{l=d}^{k-d}\left(\frac{\left(\begin{array}{c} k \\ l \end{array}\right)}{2^{k}} \times \frac{\left(\begin{array}{c} k \\ l+d \end{array}\right)}{2^{k}}\right) \end{equation}\)

‘특성 1’에 대하여 k = 16, 24, 32, 48, 64일 때 계산한 결과는 appendix A에 서술한다.

특성 2. 두 워드의 차분(X⊕X′)을 ∆X라 할 때, ∆X의 해밍 웨이트는 다음의 조건을 만족한다.

hwt(∆X)가 홀수이면,

hwt(X) = hwt(X′) ± h, (h = 1,3,...,hwt(∆X))

hwt(∆X)가 짝수이면,

hwt(X) = hwt(X′) ± h, (h = 0,2,...,hwt(∆X))

특성 3. 임의의 두 평문 P, P′에 대해 i라운드 출력 결과를 Ti,  Ti′라고 한다면,Ti ⊕Ti′ = ∆T 을 만족할 확률(\(P_{{h \omega t}_i}\))은 다음과 같다.

\(\begin{equation} \begin{aligned} P_{h w t_{i}}=\prod_{j=0}^{1}\left(\sum_{d=0}^{t} \operatorname{Pr}\right.&\left(h w t\left(T_{i}[j]\right)\right.\\ &\left.\left.=h w t\left(T_{i}[j]^{\prime}\right) \pm d^{*}\right)\right) \end{aligned} \end{equation}\),

이 때, T= T[0]||T[1] ,

\(\begin{equation} \begin{aligned} &d^{*}=\left\{\begin{array}{cc} 2 d, & h w t\left(T_{i}[j]:\right. \text { 짝수 } \\ 2 d+1, & h w t\left(T_{i}[j]:\right. \text { 홀수 } \end{array}\right\}, \\ &t=\left\lfloor\frac{h w t\left(\Delta T_{i}[j]\right)}{2}\right\rfloor \end{aligned} \end{equation}\)

IV. SIMON 알고리즘에 공격 적용

본 장에서는 3장의 공격 방법을 SIMON 알고리즘에 적용하고 그에 대한 결과를 제시한다. 먼저 정해진 평문 차분을 이용해, 각 라운드 별로 차분 특성과 해밍 웨이트 필터링 확률을 계산한다. 누적 차분 특성 확률 \(P_{{diff}_i}\)은 차분 특성이 i라운드까지 만족될 확률이다. k비트가 한 워드인 SIMON 알고리즘의 \(P_{{diff}_i}\)은 xdp&[12]을 이용해 다음과 같이 계산한다.

\(\begin{equation} \begin{aligned} x d p^{\&}(\alpha, \beta&\mapsto \gamma)=2^{-k} \cdot \prod_{i=0}^{k-1}(((2\\ \cdot &\left.\left.\left.\left.\left(\overline{\alpha_{i}} \wedge \overline{\beta_{i}} \wedge \overline{\gamma_{i}}\right)\right) \vee \overline{\left(\overline{\alpha_{i}} \wedge \overline{\beta_{i}}\right.}\right)\right) \wedge \overline{\left(\overline{\alpha_{i}} \wedge \overline{\beta_{i}} \wedge \gamma_{i}\right)}\right) \end{aligned} \end{equation}\)

각 연산에 사용하는 ∨와 ∧연산은 각각 bitwise OR과 AND를 뜻하며, α와 β는 입력 워드의 차분, γ는 α, β에 대한 알고리즘 결과 차분을 의미한다. xk-1는 최상위 비트를 의미한다.

4.1 평문 쌍 획득

축소 마스킹 기법이 적용된 경우, 중간 값을 알아내기 어렵기 때문에 원하는 차분의 평문 쌍을 얻기 쉽지 않지만 마스킹이 적용되지 않은 중간 값의 해밍웨이트는 알아낼 수 있다. 따라서 해밍 웨이트 필터링을 이용해 공격에 필요한 평문 쌍의 해밍 웨이트와동일한 해밍 웨이트를 갖는 평문 쌍을 획득할 수 있다.3) i라운드까지 마스킹을 적용했을 경우, 부채널 공격을 통해 i라운드 출력에 대한 해밍 웨이트를 획득할 수 있다. 임의의 평문 쌍을 넣고 i라운드 이후에 출력된 해밍 웨이트가 차분 경로의 해밍 웨이트를 만족시키면 그 평문 쌍은 해밍 웨이트 필터링을 통과한 평문 쌍이다.

해밍 웨이트 필터링을 통과한 평문 쌍은 차분경로를 만족시키는 평문 쌍과 그렇지 않은 평문 쌍으로 나뉜다. 따라서 실제 해밍 웨이트 필터링 통과 확률 \(\widehat {P_{h\omega t_i}}\)은 차분 경로에 대한 확률을 고려하여 계산해야 한다. \(\widehat {P_{h\omega t_i}}\)은 다음과 같이 계산한다.

\(\begin{equation} \widehat{P_{h w t_{i}}}=P_{d i f f_{i}}+\left(1-P_{d i f f_{i}}\right) \times P_{h w t_{i}} \end{equation}\)

SIMON 암호 알고리즘의 특성상 X0[0]→X1[1]의 경로는 차분이 항상 유지된다. 따라서 X1[1]에 대한 확률은 항상 1이므로 해밍 웨이트 필터링 확률에 영향을 받지 않는다. \(P_{h \omega t_i}\)를 계산할 때 X0[0]→X1[1]의 경로에 대한 계산은 제외하고 X1[0]에 대한 해밍 웨이트 필터링 확률만 계산하면 된다. SIMON32 버전에 대한 계산한 \(P_{{diff}_i}\)\(\widehat {P_{h\omega t_i}}\)값은 Table 4.와 같다.

Table 4. Differential characteristics of SIMON32 and cumulative probability to pass hamming weight filtering

4.2 1라운드 키 두 개 비트 복구 과정

4.1절에서 얻은 평문 쌍을 이용하여 1라운드 키 두 개 비트를 복구하는 방법은 다음과 같다.

step 1. 공격에 필요한 필터링 평문 쌍 N개를 획득한다.

공격에 필요한 필터링 평문 쌍은 임의의 평문 쌍으로부터 해밍 웨이트 필터링을 적용해서 얻는다. 이때 공격에 필요한 해밍 웨이트 필터링 통과 평문 쌍의 수가 N이면, 필요한 임의의 평문의 수는 2 × N × (\(\widehat {P_{h\omega t_i}}\))-1이다. 평문 쌍의 수는 키 후보들 중에 옳은 키를 걸러 내는데 큰 영향을 미친다. 해밍웨이트 필터링을 통과한 평문 쌍의 경우 차분경로를 따르지 않는 노이즈 평문 쌍이 존재하기 때문에 이를 고려해야 한다. 따라서 공격에 필요한 평문 쌍의 수는 일반적인 암호 알고리즘 분석에서 필요한 평문 쌍의 수보다 많다.

step 2. 입력한 차분이 영향을 미치는 비트 위치를 찾는다.

Fig. 2.의 2라운드 차분 경로를 비트 단위로 계산하기 위해 X1[0] = X, X1[1] = Y로, 차분이 포함된 워드는 X′ = X⊕ 0x0400, Y′ = Y⊕ 0x1000라한다. 그러면 2라운드 차분 경로에서 다음과 같은 식을 얻는다.

Fig. 2. The first and second round (left and right) differential paths to SIMON32

(ROT1 (X) & ROT8 (X)) ⊕ Y ⊕ ROT2 (X) ⊕ (ROT(X′) & ROT8 (X′)) ⊕ Y′ ⊕ ROT2 (X′)= 0x0000

이 때, Y ⊕ ROT2 (X) =Y′ ⊕ ROT2 (X′)이므로 식 (4.1)을 만족한다.

(ROT1 (X) & ROT8 (X)) = (ROT1 (X′) & ROT8 (X′))       (4.1)

위 식 (4.1)을 비트 단위로 표현하면 다음과 같다.

x14x13x12x11 x10x9x8x7 x6x5x4x3x2x1x0x15 

& x7x6x5 x4 x3x2x1x0 x15x14x13x12x11x10x9x8 

= x14x13x12x11 \(\overline {x_{10}}\)x9x8x7 x6 x5 x4 x3x2 x1 x0x15 

& x7x6x5x4 x3x2x1x0 x15x14x13x12

x11\(\overline {x_{10}}\)x9x8

이 결과, (x10&x3) = (\(\overline {x_{10}}\)&x3)와 (x1&x10) =(x1&\(\overline {x_{10}}\))이 되어 x1과 x3이 ‘0’이 된다. 즉, 1라운드 함수 출력 워드인 X1[0]의 하위 두 번째, 네 번째 비트는 0으로 고정된다. 따라서 입력 차분이 영항을 미치는 비트 위치는 X1[0]의 하위 두 번째,네 번째 비트이다.

step 3. 후보 키의 비트를 카운트 한다.

step 1에서 수집한 평문 쌍들을 이용해 차분 특성을 만족 하는 1라운드 키의 두 번째, 네 번째 비트 값(step 2에서 찾은 비트 위치)에 대하여 카운트를 한다. 수집한 모든 평문 쌍에 대하여 카운트를 진행한 후, 가장 많이 카운트된 두 번째, 네 번째 비트값을 옳은 키의 비트로 한다. 이와 같은 방식으로 수집한 평문 쌍에 대하여 키 후보들 중에 가장 카운트가 많이 된 키 후보를 가져오되, 그 키 후보 중 차분이 영향을 미치는 비트만을 옳은 키의 비트로 한다.

실제 구현으로 키 복구를 시도한 결과, Intel Core i7-4790K CPU와 8GB 메모리를 가진 PC 환경에서 수 초 이내에 1라운드 키 두 개 비트를 복구했고, 임의 평문의 수를 증가시키면 키 복구 성공률이 더 높아지는 것을 확인했다. step 2의 방법은 두 개의 라운드를 이용해 키를 복구하는 방법이기 때문에 1라운드 축소 마스킹 기법은 공격대상에서 제외한다.

4.3 1라운드 키 두 개 비트 복구 결과

본 절에서는 4.2절의 방법으로 1라운드 키 두 개 비트를 복구한 결과를 제시한다. Table 5.는 Table 4.의 데이터와 2절의 방법을 기반으로 키 복구를 100번 진행했을 때, 1라운드 키 중 두 개 비트를 찾아낼 확률이 70%를 넘어가는 임의 평문 쌍 개수를 나타낸 결과이다.

Table 5. Plaintext pairs and complexity required for SIMON32 analysis(two bits of round key)

시간 복잡도 계산은 다음과 같이 계산하며, 키 추측 복잡도는 22이다.

\(\text {(시간복잡도)} = \text {(데이터 복잡도)} \times \text {(키 추측 복잡도)} \times \frac {1} {\text {(라운드수)}}\)

11라운드 이후부터는 키 복구 성공률 70% 이상을 만족하기 위해서는 공격에 사용되는 평문 쌍이 많이 필요하기 때문에 실제 공격에 적용하기 어렵다. 따라서 10라운드 이내의 마스킹 라운드는 취약함을 보인다.

주어진 실험치를 이용해 실제 공격에 필요한 필터링 평문 개수를 계산한다. 임의 평문 쌍의 개수를 증가시키면서 실험을 진행하였기 때문에 Table 5.에나와 필터링 통과 평문 쌍의 수가 실제 공격에 필요한 평문 쌍의 개수와 다를 수 있다. 필요한 임의의 평문 쌍의 수는 N×(\(\widehat {P_{h\omega t_i}}\))-1이기 때문에 실험한 임의 평문 쌍의 개수와 이론상의 \(\widehat {P_{h\omega t_i}}\)을 이용해 이론적으로 공격에 필요한 평문 쌍의 개수 N을 역으로 계산한다. 계산 결과 실험 수치와 이론적인 N의 값이 유사함을 비교할 수 있다. 1라운드 키 두 개 비트를 찾는 경우의 이론적인 N은 Table 6.과 같다.

Table 6. Hamming weight filtering probability of SIMON32 and plaintext pairs for attack (two bits of round key)

SIMON32 이외의 나머지 버전도 위와 같은 방법으로 공격이 가능하다. 앞서 소개한 축소 마스킹이 적용된 SIMON32에 대한 공격 외에 다른 버전의 SIMON 알고리즘 또한 프로그래밍을 통해 공격하였다. 각 버전 별 공격 가능 라운드 수를 Table 7.에 정리하였다. 나머지 버전에 대하여 달라지는 내용 및 결과 값은 appendix에 서술한다.

Table 7. Attacked masking rounds on SIMON family

4.4 키 전체 비트 복구 방법

본 절에서는 4.3절의 방법을 바탕으로 1라운드 키를 찾아내는 방법을 설명한다. step 2에서 입력 차분을 다르게 하면, 복구할 수 있는 키의 비트 위치가 달라진다. 즉, 입력 차분에 따라 각각 키의 두 개 비트를 복구할 수 있다. 따라서 입력 차분을 다르게 하여 2절의 방법을 8번 반복하면, 각 차분에 대하여 독립적으로 얻은 각각의 키 비트를 이용해 1라운드 모든 키 비트를 복구할 수 있다. SIMON32의 경우키 비트 추측을 위해 필요한 실제 입력 차분의 값과 그에 따른 키 비트 복구 위치는 Table 8.과 같다.

Table 8. SIMON32 input differential characteristics and key bit recovery location

이 때, 모든 키 비트 복구 성공률을 70%대로 높이기 위해서는 두 개 비트 복구 성공률이 약 96%가 되어야 한다.4) 이를 위해서 평문 쌍의 개수는 기존 평문 쌍의 개수의 약 5배가 필요함을 프로그래밍을 통해 확인하였다.

SIMON32 이외의 나머지 버전도 위와 같은 방법으로 공격이 가능하다. 나머지 버전에 대해서도 모든 키 비트 추측 성공률을 70%대로 높이기 위해서 기존 평문 쌍의 개수의 약 5배의 평문 쌍의 개수가 필요하다. 나머지 버전에 대한 입력 차분과 키 복구 위치는 appendix에 서술한다.

V. 결론

사물 인터넷 등이 이슈화 되고, 소형 장비에 대한 관심이 높아지면서, 소형 장비에 사용되는 경량 암호 알고리즘의 중요성이 높아지고 있다. 소형 장비에 경량 암호를 사용할 경우 부채널 공격을 막기 위해 축소 마스킹 기법 적용이 현실적이다. 하지만 적은 라운드의 축소 마스킹을 적용할 경우, 본 논문에서 제시한 공격에 취약할 수 있다. 따라서 축소 마스킹을 적용할 때에는 충분한 라운드의 마스킹을 해야 한다.

본 논문에서는 축소 마스킹 기법이 적용된 SIMON에 대한 부채널 공격을 제안하였고, 그 결과 1라운드 키 두 개 비트 복구에 성공하였다. 그리고 입력하는 차분을 변경하며 같은 과정을 반복했을 때 1라운드 키의 모든 비트를 복구할 수 있음을 설명하였다. 두 개 비트의 성공률이 70% 이상인 마스킹 라운드를 제안하였고 실제 프로그래밍을 통해 확인하였다. 키 복구에 걸리는 시간은 짧으며 각 SIMON 버전별로 취약한 축소 마스킹의 수를 계산하였다.

향후에는 SPECK 알고리즘을 비롯한 다른 경량암호에 대해서도 취약한 축소 마스킹 라운드에 대한 연구가 필요하다. SPECK의 경우 SIMON과 구조가 비슷하기 때문에 위와 같은 공격에 취약함을 보일 수 있다. 그래서 SPECK도 취약한 마스킹 라운드의 수를 정리하여 부채널 공격에 대비해야 한다.

* 이 논문은 2017년도 정부(과학기술정보통신부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행된 연구임(No.20170005200011001, SCR-Friendly 대칭키 암호 및 응용 모드 개발).

Appendix

References

  1. Donghyun Lee, Jungmin Kim, "The 2017 Top 10 SW Issues," 2016-015, SPRi, Jan. 2017.
  2. Daesung Kwon, Jaesung Kim, Sangwoo Park, Soo Hak Sung, Yaekwon Sohn, Jung Hwan Song, Yongjin Yeom, E-Joong Yoon, Sangjin Lee, Jaewon Lee, Seongsaek Chee, Daewan Han, and Jin Hong, "New block cipher: ARIA," Proceedings of the Information Security and Cryptology-ICISC'03, LNCS vol. 2971, pp. 432-445, Nov. 2003.
  3. Joan Daemen and Vincent Rijmen. "The Design of Rijndael: AES - The Advanced Encryption Standard," Springer, 2002.
  4. Myungseo Park, Jongsung Kim, "Side-Channel Attacks on LEA with reduced masked rounds," KIISC, Journal of KIISC vol. 25, pp.253-260, Dec. 2014.
  5. Ray Beaulieu, Douglas Shors, Jason Smith, Stefan Treatman-Clark, Bryan Weeks, and Louis Wingers, "The SIMON and SPECK Families of Lightweight Block Ciphers," Cryptology ePrint Archive, Report 2013/404, Jun. 2013.
  6. Paul Kocher, Joshuna Jaffe, and Benjamin Jun, "Differential Power Analysis," CRYPTO, LNCS vol. 1666, pp.388-397, Aug. 1999.
  7. Thomas S. Messerges, "Securing the AES finalists against power analysis attacks," Fast Software Encryption, FSE 2000, LNCS 1978, pp. 150-164, Apr. 2000.
  8. Jongsung Kim, Seokhie Hong, Dong-Guk Han, and Sangjin Lee, "Improved Side-Channel Attack on DES with the First Four Rounds Masked," ETRI Journal, 31(5), pp. 625-627, Oct. 2009 https://doi.org/10.4218/etrij.09.0209.0144
  9. Jongsung Kim, Seokhie Hong, "Side Channel Attack using Meet in the Middle Technique," The Computer Journal, vol. 53, no. 7, pp. 934-938, Jun. 2009 https://doi.org/10.1093/comjnl/bxp054
  10. Jongsung Kim, Yuseop Lee, Sangjin Lee, "DES with any reduced masked rounds is not secure against side-channel attacks," Computers & Mathematics with Application, vol. 60, no. 2, pp. 347-354, Jul. 2010 https://doi.org/10.1016/j.camwa.2010.01.011
  11. Eli Biham, Adi Shamir, "Differential Cryptanalysis of DES-like Cryptosystems," CRYPTO, LNCS vol. 537, pp.2-21, Aug. 1990.
  12. Alex Biryukov, Arnab Roy, Vesselin Velichkov, "Differential Analysis of Block Ciphers SIMON and SPECK," FSE, LNCS vol. 4727, pp.450-466, Mar. 2007.
  13. Stefan Mangard, Elisabeth Oswald, and Thomas Popp, "Power Analysis Attack(Revealing the Secrets of Smart Cards)," pp. 105-107, 2007.