DOI QR코드

DOI QR Code

Improved cryptanalysis of lightweight RFID mutual authentication Protocols LMAP, $M^2AP$, EMAP

경량 RFID 상호인증 프로토콜 LMAP, $M^2AP$, EMAP에 대한 향상된 취약성 분석

  • Published : 2007.08.31

Abstract

In this paper, we present a security analysis of Lightweight RFID Mutual Authentication Protocols-LMAP[10], $M^2AP$[11], EMAP[12]. Based on simple logic operations, the protocols were designed to be suitable for lightweight environments such as RFID systems. In [8,9], it is shown that these protocols are vulnerable to do-synchronization attacks with a high probability. The authors also presented an active attack that partially reveals a tag's secret values including its ID. In this paper, we point out an error from [9] and show that their do-synchronization attack would always succeed. We also improve the active attack in [9] to show an adversary can compute a tag's ID as well as certain secret keys in a deterministic way. As for $M^2AP$ and EMAP, we show that eavesdropping $2{\sim}3$ consecutive sessions is sufficient to reveal a tag's essential secret values including its ID that allows for tracing, do-synchronization and/or subsequent impersonations.

최근 P. Peris-Lopez 등에 의하여 제안된 일련의 RFID 상호인증 프로토콜 LMAP[10], $M^2AP$[11], EMAP[12]은 간단한 논리 연산에 기반하여 경량 환경에서 높은 구현 효율성을 제공하도록 설계되었다. 그런데, T. Li 등은 [8,9]에서 전송 메시지를 변조하는 능동적 공격으로 위 프로토콜들에 대한 비동기화공격이 높은 확률로 적용됨을 보이고, 태그의 ID를 포함한 일부 비밀 정보를 얻을 수 있음을 보였다. 본 논문에서는 [9]의 일부 오류를 수정하여 비동기화공격이 항상 가능함을 보이고 LMAP에 대한 대폭 개선된 능동적 공격을 제시한다. 한편, $M^2AP$, EMAP에 대한 새로운 분석으로서, $2{\sim}3$개 연속 세션의 도청으로 태그의 ID를 포함한 일부 비밀 정보를 얻을 수 있음을 보인다. 이들 정보는 태그 추적 외에, $M^2AP$의 경우 태그 위장에도 사용될 수 있어 본고의 공격은 $M^2AP$와 EMAP의 치명적인 결함을 드러낸다고 하겠다.

Keywords

Ⅰ .서론

최근 RFID (Radio Frequency IDentification) 시스템이 물류 관리에서 바코드의 역할을 대신하며 각광받고 있는 추세이다. 기존 바코드가 접촉식 리더를 통하여 인식되는 반면, RFID 태그(tag)는 비접촉식 리더 (reader)로 인식되는 장점을 갖고 있어, 유통업, 도서관, 승용차 요일제 등으로 급속하게 적용 영역을 확장하고 있다. 그러나 원거리에서 태그를 인식할 수 있다는 성질로 인하여 프라이버시 문제도 꾸준히 제기되는 실정이다. 예를 들어, 제3자가 제품에 부착된 태그를 원거리에서 인식함으로써, 특정 개인이 구매한 제품의 정보를 획득할 수 있고, 나아가 이러한 정보를 개인의 위치 추적 등에 사용할 수도 있다는 것이다. 또한 불법적으로 유출된 정보는 위조 태그의 제조 등 범죄에 이용될 여지도 있다. 이 같은 보안 위협을 막기 위해 태그와 리더에 탑재할 수 있는 인증 프로토콜의 개발이 활발히 진행되고 있다.

지금까지 제안된 인증 프로토콜은 주로 해쉬 함수 또는 블록 암호를 이용하는 방식들이다. 그러나 인증프로토콜의 주요 적용 환경이라 할 900MHz 대역 RFID 태그는 저가에 대량으로 생산되어야 하기 때문에 이들 방식을 그대로 적용하기에 한계가 있다. 대표적인 해쉬함수인 SHA-256의 경우 10K게이트까지 구현이 가능하나⑵ RFID 환경에서는 여전히 구현 면적이 큰 편에 속한다. 블록 암호 AES의 경우, 3000게이트 정도의 구현이 가능하나〔5〕통신 속도 관련 요구 조건인 "초당 100 회 이상의 통신”이 가능한 프로토콜은 지원하지 않을 것으로 보인다.

해쉬 함수, 블록 암호 등에 기반한 기존 인증 프로토콜들의 문제점을 해결하고자 하는 연구들이 진행되고 있는데, 대표적인 방향으로 LPN (Learning Parity with Noise) 문제를 이용한 HB 프로토콜 연구〔4, 6〕와 +, ©, A, V등의 논리 연산만을 이용한 초경량 인증프로토콜 연구 〔10, 11, 12〕를 들 수 있다. 전자의 경우, 안전성 증명이 제시되어 있는 반면 효율성이 떨어지는 단점을 가지고 있으며, 후자의 경우 매우 높은 효율성을 제공하고 있지만 안전성 주장이 충분하지 못한 단점이 있다.

LMAP, M2AP, EMAP 등의 초경량 프로토콜들 〔10, 11, 12〕은 안전성이 보장될 경우 기존의 프로토콜보다 매우 높은 효율성을 보장하기 때문에 관심을 끌어왔다. 그런데, 최근 AReS 2007과 IFIP SEC 2007에 채택된 논문들〔8, 9〕에서 이들의 취약성이 발표되었다. 이들 논문에서는 이 프로토콜들에 대한 비동기화 공격 (De-synchronization Attack) 이 가능함을 보이고, 이를 이용하여, LMAP의 경우 확률적으로 tag의 ID를 얻는 능동적 공격을, M^AP의 경우에는 tag의 ID를 결정하는 능동적 공격을, EMMP의 경우 연속되는 약 log296 개의 리더와 태그 간의 유효 세션을 만들어 tag의 ID를 얻는 능동적 공격 방법을 제시하였다. 이 공격들은 인증을 위한 통신 값을 중간에서 .변형하고 태그의 인증/에러 여부를 확인하여 태그의 丑, 와 일부 비밀키를 복원하는 방법으로서 프로토콜들의 키 갱신 과정은 이용하지 않고 있다.

이 논문에서는 M2AP, EMAP의 경우 비밀키 갱신과정을 효과적으로 이용하면 연속되는 2~3세션을 도청하는 수동적 공격만으로 태그의 五, 와 비밀키 일부를 얻을 수 있음을 보인다. 그리고 LMAP의 경우에는〔9〕 에서제시한 확률적 태그 ID 추출 공격을 개선하여 상대적으로 매우 적은 통신량으로 태그의 丑>를 결정할 수 있는 공격 방법을 제시한다. 이와 더불어, 〔8, 9〕에서 제시된비동기화 공격의 간단한 오류를 수정하여, 공격이 논문의 주장에서와 같이 확률적으로 성공하는 것이 아니라 항상 성립한다는 것을 보인다.

편의상, 비밀키와 7〃의 크기를 m이라고 할 때, 〔8, 9〕 에서 제안된 태그 ID 추출 공격과 본 논문에서 제안되는 공격의 수동/능동 유형과 요구 통신 횟수 등을 비교하면 표 1과 같다.〔표 1〕에서 [리더 a, 태그 b]는 각각 공격에 요구되는 공격자-리더 간, 공격자-태그 간의 통신 회수를 표기한다.

(표 1) 본 논문과 (8, 9)의 tag ID 복원 공격 비교

본 논문의 나머지 부분은 다음과 같이 구성된다. 2절에서는 LMAP, M2AP, EMAP을 소개하고, 3절에서는 〔8, 9〕에서 제시된 공격 방법에 대하여 간단히 소개하고, 오류를 수정한다. 4절에서 LMAP에 대한 개선된 능동공격과 M2AP, EMAP에 대한 수동 공격을 제시한다.

Ⅱ . 경량 인증 프로토콜 LMAP, M2AP, EMAP

RFID 상호 인증 프로토콜 LMAP, M2AP, EMAP은각각 A Real Light-weight Mutual-Authentication Pro­ tocol, A Minimalist Mutual-Authentication Protocol, An Efficient Mutual-Authentication Protocol for Low- cost RFID tags의 약자를 따 명명되었으며, 이들은 모두 다음과 같은 특징을 갖고 있다.

. 고정된 丑) 사용(m=96비트)

. 태그 구별을 위한 index-pseudonym(丑)5) 사용: 유효 세션 후 갱신됨

- 인증을 위한 4종의 96비트 비밀키 KI, K2, K3, K4 사용: 유효 세션 후 갱신됨

■ 인증 및 키 갱신에서 +, A, V 의 연산만 사용: 경량 및 고속 구현에 적합함

m비트 A의 각 비트를 최하위 비트 ⑷。에서 최상위비트 [/歸一1으로 표기하고 A0E) (QZ)을 Z번째 비트부터 k번째 비트까지의 연접 [A]fc II .- II [A]z 으로 정의총卜자. LMAP, M2AP, EMMM은 각각 다음 도식과 같이 진행된다. 진행 과정에서 nl, n2는 리더가 생성하는 m 비트 난수를 표기한다.

단계 1: Tag identification

단계 2: Mutual authentication

위 과정에서 비밀키를 가진 리더만 올바른 (A, B) 쌍을 생성할 수 있으므로 태그는 (A, B)를 이용하여 리더를 인증하게 된다. 한편, 비밀키를 가진 태그만이 올바른 (D, (E))를 생성할 수 있으므로 리더는 (D, (E))를 이용하여 태그를 인증하고 ID를 얻는다.

단계 3: IDS와 비밀키 갱신

7^(Al(n))||JZ)(47:0)).

EMAP 키 갱신 과정에서 乌(挤는 4개의 24비트 블록으로 분할된 96비트 r = 妇I时財场의 블록별 XOR 를 표기한다. 즉, Fp(x) = xx®x2®x3®a;4정의된다. EMAP 제안 논문〔12〕에서는 비트 인덱스 표기에 big-endian을 사용하고 있고 여기에서는 little-endian을사용하고 있어, 키 갱신 과정의 표기가 EMAP 제안 논문의 표기와는 차이가 있다.

이 프로토콜들의 서술에서 태그와 리더의 비밀키 갱신 시점이 명확히 제시되지 않고 있으나, 태그의 비밀키갱신이 리더의 태그 인증과 무관하게 일어난다면 메시지 차단에 의한 자명한 비동기 공격이 성립하게 된다. 그러므로 본고에서는 태그와 리더의 IDS 및 비밀키 갱신이 상호 인증 완료 후 이루어진다고 가정하겠다. 이러한 가정은〔8, 9〕에서도 전제되었다.

Ⅲ. LMAP, M2AP, EMAP0II 대한 능동 공격〔8, 9〕

〔8, 9〕에서 LMAP 등에 적용된 분석 방법은 다음과 같이 간단히 요약할 수 있다. 인증 과정에서 전송되는 메시지의 (정해진 위치의) 한 비트를 변형하고, 인증 여부를 확인한 후, 이로부터 비밀키의 해당 비트 정보를 얻어내는 것이다. 좀 더 자세히 서술하면, 이 미지수이고, A=M)r과 B=g + r이 주어졌을 때, A, B를 한 비트 씩 변형한 B=(g+r)盼4(瓯는 i 번째 비트만 1이고 나머지는 0인 비트열)이 유효한 응답 쌍이 될 확률 (즉, &=3/+(搐知이 될 확률)이 50% 라는 점과, A, B, A', B"=g+(r❸【4)이 주어지면 印과 B"을 비교하여 [兀의 정보를 얻을 수 있다는 성질을 이용한다. 전자는 비동기화 공격에 이용되고 후자는 태그의 비밀키 및 ID를 추출하는데 이용된다. 자세한 내용은 〔8, 9〕에 제시되어 있다.

3.1. 비동기화 공격

공격자가 태그로부터 必를 받고, 리더에게 대신 전달하여 리더로부터 시旧||C를 받았다고 가정호].자. 공격 3의 경우를 예로 들면, 공격자는 A, B, C의 한 비트씩을 변형한 A, ||B, ||C, 을 태그에게 보내고, 다시 태그에게서 받은 메시지 D(||E)의 한 비트를 변형한。(||矽)을리더에게 보낸다. 양측의 인증이 성공할 경우, 태그와 리더의 공통 정보(IDS 및 비밀키)가 각각 다른 값으로 갱신되어, 이후의 상호 인증이 불가능해진다.

공격 1 의 경우 C를 변형하면 태그는 n2값을 한 비트 변형된 값으로 추출한다. D 또는 E의 해당 비트를 변형하여 리더에 전송할 경우, 태그-리더 사이의 어떤 비밀정보의 해당 비트 값에 따라 리더는 태그를 인증하거나 거부하게 된다. LMAP, NfAP의 경우 50%의 확률로 공격자가 리더에게 전달하는 값이 유효한 값이 된다. 리더가 태그를 인증하는 경우, 리더는 난수 n2값을 이용하여 7毎血)와 비밀키를 갱신하고 태그는 说❸或를 이용하여 7Z)SS)와 비밀키를 갱신하므로 양측 사이의 동기가 깨지게 된다. EMAP의 경우, [丑?S("%=0이면 100%, 그렇지 않으면 50% 확률로 공격자가 打더에게전달하는 값(D0MAP), 미旧(]\后&)), 미|E, (EMAP))이 올바른 값이 된다. EMAP의 경우, [砂("1=0인 3를 찾을 수 있으므로 100% 성공 가능한 공격이라고 할 수 있다.

LMAP, N^AP에 대한 공격 2의 경우, 공격자가 A, B 의 한 비트씩을 변형하여 태그에게 전달하면 태그는 50%의 확률로 공격자를 인증하게 된다. 이 때, 태그의 출력 중 D를 D, =D割购로 바꾸어 리더에게 전달하면, 리더는 공격자를 인증하게 되고 nl을 이용하여 IDSM 와 비밀키를 갱신한다. 반면, 태그는 nl的【4.를 이용하여 丑, S(”)와 비밀키를 갱신하므로 양측의 동기가 깨지게 된다. EMAP의 경우에는 A, B의 한 비트씩을 변형한 값을 태그에게 전달하면 태그는 항상 공격자를 인증하고 说❸를 이용하여 也號)와 비밀키를 갱신한다. 공격자는 태그의 출력값 중 E를 로 바꾸어 리더에게 전달하는데, 리더가 이를 인증할 확률은 50%가 된다. 이 경우, 리더는 说을 이용하여 刀6血)와 비밀키를 갱신하게 되어 동기가 깨지게 된다.

공격 3은 공격 1과 공격 2를 결합한 공격으로 리더는 nl, n2를 이용하여 勿와 비밀키를 갱신하고 태그는 nl®Mp n祯【4를 이용하여 비밀키를 갱신하게 되어 비동기 정도가 커지게 된다. 세부적인 내용은〔8, 9〕를참조하면 된다.

3.2. Tag ID 추출 공격

태그의 ID 추출은 비동기화 공격 방법 중 공격 2를 변형한 것이다. 본 논문에서는〔9〕에서 제시된 공격 방법을 LMAP 분석에만 이용하므로, LMAP에 대해서만 공격 방법을 간단히 서술한다. 공격 2를 96비트 위치의 각각에 적용하면, 각 비트 위치에 대해 태그는 50%의 확률로 공격자를 인증하거나 에러를 출력할 것이다. 최상위 비트를 제외한 각 비트 위치에 대하여 난수 泌의각 비트 脳4는 공격자가 인증되는 경우 [B]33 에러가 출력되는 경우 田]项金1과 일치하므로 공격자는 以을 복원할 수 있다.〔9〕에서는 nl을 모두 얻을 수 있다고 주장하고 있지만, 최상위 비트가 변형된 경우에는 태그가 공격자를 항상 인증하므로 위와 같은 정보 추출은 성립하지 않는다. 이제 宓⑴와 상호인증 과정의 A, B, nl 을 이용하여 의 모든 비트와 X** )의 일부 비트 (勿의 해당 비트가 0인 비트)를 계산할 수 있다. 그렇지만, ID를 복원하기 위해서는 沥를 얻어야 한다. 이를 위하여 공격자는 리더에 다시 丑, SS)를 전송함으로써 리더로부터 A', Bt, C'를 얻고 이미 구한 Al(n) 과 K2(”)의 일부 비트를 이용하여 71「이 0이 되는 A*, B* 를 계산한다. 그리고 공격자는 태그에게 A*|*|||BC 를전송하여 D* 을 얻는다. 이 세션의 ”2, 이 이전 세션의 n2 와 다른 점을 이용하여 다음과 같은 식을 얻을 수 있다. C=(®S(")+x3S))+n2,

D=(也)+ID)9nl®n2, Ct=(Z»5(")+A3(n))+n2t, D‘=(丑泌")+丑服沏

위 식에서 n2, n2', 殂⑷를 소거하면 다음의 식을 얻는다.

Ct-C=(I»5(")+Jro)®Dt-(/O5(n)+7Zi)®nl®D.

식을 간단히 하기 위해서, a=DL 6 = nl®D, c=Ct-C, x = {IDSM+IIf) mod 严이라고 놓으면 刃를 복원하는 것은 주어진 a, b, c 로부터 다음 식을 만족하는 z e {0, 1严를 구하는 문제로 환원된다.

x^a — s®b+c mod 296.

위 식의 계산에서 상위 비트들은 하위비트 계산에 영향을 미치지 않으므로 z를 상위부터 4비트씩 24개 부분으로 나누고 각 4비트씩 전수조사를 한다. 이 경우 공격량은(2對 - 1)x(4비트 전수조사량)이 된다. (이 양은효율적인 알고리즘의 사용으로 추가적으로 감소할 수 있다.) 그런데, 위 식에서 叫=刖인 경우에는 [乩를 얻을 수 없다. 그러므로 정확한 c를 복원하기 위해서는 상기 공격을 수회 반복하여야 한다. 자세한 내용은〔9〕 에 제시되어 있다.

3.3. 분석

논문〔8, 9〕에서 제시한 LMAP 등에 대한 비동기 화공 격과 태그 id 추출 공격을 이전 소절에서 살펴보았다. 이제 논문들에서 소흘히 한 점을 지적하고자 한다. 먼저, LNAP, NfAP의 경우 모든 비트에 대하여 공격 1, 2, 3이 성공할 확률이 50%라고 주장하였는데, 최상위 비트에 대해서는 항상 성공한다. LMAP에 대한 공격 1의 경우

이므로 C=C由可如에 대한 D, =D&U]g5은 항상 올바른 답이 된다. 그러므로 비동기화 공격이 EMAP 뿐만 아니라 LMAP, 1屈城의 경우에도 항상 성립하게 된다. 비동기화 공격은 좋아지는 반면, 태그 ID 추출 공격은 단점을 안게 된다.〔9〕에서는 공격 2를 이용하면 nl 모든 비트를 얻을 수 있다고 주장하지만, 공격 2가 최상위 비트에 적용되었을 때, 태그는 항상 공격자를 인증하므로 공격자는 说의 최상위 비트를 얻을 수 없다. 결과적으로 〔8, 9〕에서 제시한 공격 방법은 태그 丑)의 최상위 비트를 제외한 모든 비트를 추출하는 공격 방법으로 볼 수 있다.

IV. 경량 프로토콜 LMAP에 대한 개선된 능동 공격과 M2AP, EMAP에 대한 수동 공격

4.1. LMAP에 대한 개선된 태그 丑? 추출 공격

3절에서 소개한 LMAP에 대한 능동 공격〔9〕의 경우, 리더와의 통신 2회, 태그와의 통신 m+2회로부터 태그의 ID를 확률적C로 얻을 수 있었다. 이 공격에서 공격자는 한 번의 리더와의 통신으로 받은 A, B, C와 이를 이용한 태그와의 통신에서 说만 얻고 说를 얻을 수 없었다. 그러나 본 논문에서는 리더와의 추가적인 통신 없이 태그와의 추가 통신으로 说도 얻을 수 있음을 보인다. 공격자가 동일한 宓⑴를 리더에 반복해서 보내지 않아도 되기 때문에 리더가 공격을 탐지하기 어렵다는 장점이 있다. 또한 우리의 공격은 태그와의 추가적인 m+1 회의 통신으로 展를 얻어서 확률적이 아닌 결정적 방식으로 ID를 계산하게 한다. 이러한 면에서〔9〕에서제시한 공격이 대폭 개선됐다고 볼 수 있다.

개선된 공격에는 다음의 보조정리가 이용된다. 보조정리 0와 g를 m비트 미지수라고 흐卜자, 4 = O, ..., m-2에 대하여 x®y, 询(g+〔4)을 알면 V 의 최상위 비트를 제외한 모든 비트를 알 수 있다. 보조정리는 »$3+1)]1=從의 식을 이용하여 증명할 수 있는데, 자세한 증명은〔7〕을 참조하면 된다. 이제 공격은〔9〕에서 제시한 공격의 일부분을 이용하는 단계와 위의 보조정리를 적용하는 단계로 구성된다.

단계 1: 리더로부터 받은 A, B , C로부터 nl, Al(n) 복원

이 단계에서 공격자는 3.1 의 공격 2를 이용하는 방법을〔9]와 같이 적용하여, 리더와의 통신 1회, 태그와의 통신 m회로 nl, K1S)의 최상위 비트를 제외한 모든 비트를 얻는다.

과 리더로부터 받은 A, B, C로 부 단계 2:

터 n2, IGM, ID 복원

보조정리 1을 이용하면 태그의 ID 복원은 다음과 같이 할 수 있다.

먼저, C를 C广C+Ej(j = 0, ..., m-2^ 변형하여 태그에 전송하고(m-1 회) 응답 D, 을 얻는다.

(1) 공격시태그: A||B||C,

(Cj=C+ [Aj=IDS{n >+A3(n' +ZZ2+L4) (2) 태그一, 공격자: Dj

(=(705(" , + ZD) ©nl ® (n2 + [2]p )

R들에 대하여 x={lDSM + ID)®nV, g=n2로 놓고, 보조정리 1을 이용하면 (刀5血)+丑7)와 n2의 최상위비트를 제외한 모든 비트를 얻을 수 있다. 也6血)가공개된 값이므로, 공격자는 n2, A3(n), 丑?의 최상위비트를 제외한 모든 비트를 계산할 수 있다.

정리하면, 리더와의 통신 1회 태그와의 통신 (2m-l) 회로 태그 /및 일부 키 값의 최상위 비트를 제외한 모든 비트를 얻을 수 있다.〔9〕에서 제시한 공격이 리더와의 통신 2회, 태그와의 통신 (m+1)회로 _刀의 일부 비트만을 추출한다는 점에 비춰볼 때 위 공격은 이로부터 대폭 향상된 공격이라고 볼 수 있다.

4.2. M2AP0|| 대한 새로운 태그 ID 추출 공격

앞에서 제시한 공격들은 리더와 태그가 동시에 상호인증이 된 후에 키 등의 공통 정보를 갱신한다는 가정을 이용하고 있다. 이와 같은 공격을 방지하기 위해 태그가 동일하거나 유사한 값들을 연속적으로 수신했을 때 응답을 거절하도록 하는 방법을 생각해 볼 수 있다. 그리고 올바른 인증이 되지 않는 경우에 에러 대신 랜덤한 값을 응답하도록 프로토콜을 개선할 수도 있을 것이다. 그러나 이 절에서 주어지는 NfAP에 대한 공격은 공격자로 하여금 리더와 태그 간의 연속된 2개 세션의 도청만으로 ID를 얻을 수 있게 한다. 2개 이상의 세션 정보 구분을 위하여 난수 및 리더-태그 간 소통 정보에도 세션 표기를 도입하겠다; n번째 세션의 난수들과 리더-태그 간 소통 정보 각각 nl(n), n2(n), A(n), B(n), C S), D(n), E(n)로 표기한다.

IVfAP의 2개 연속 세션 도청 정보를 이용한 五, 와 일부 비밀키 복원

M?AP은 {紀«), 展«), 及", 殂(。, 丑): Z=n, n + 1}의 (扁 -1) 이하 비트를 알면 {出顷2('), 以'), /萨, 丑> 1= 5 + 1}의 为번째 비트를 알 수 있다. 扁=0인 경우는 사전 정보 없이 也1"), , 必), 軍"), 爲"), 丑> l=n, n+l} 의 최하위 비트를 알 수 있다. 즉, 두 세션의 도청을 통하여 侦2(*\/aM, K3M, nl(n +1 \n2(n +1 \Xl(n + 1), 殂(” + 1), 您의 모든 비트를 구할 수 있다.

위 공격의 분석은 다음의 간단한 성질에서 출발한다. 보조정리 2. A, B, C, D7} m비트이고 A와 (A/\B) vC, (AvB)AD가 공개되어 있다고 흐].자. 卩山=0인 경우에는 (AAB)VC로부터 Cj를 알 수 있고, [AJ^I 인 경우에는 (AVB)AD로부터 R를 알 수 있다. 예를 들어, Bm=(IDSm A A2(n, ) Vnl(n), D(n, = (ZZZS血) VZZ?)/\e2(")에 보조정리 2 를 적용하면 [(勿曲久=0인 경우에 을 얻을 수 있고 [四5侦土=1인 경우에 林啊"을 얻을 수 있게 된다. 이제 위 공격을 [砂이과 因)以” + 气의 값에 따라 세 가지 경우로 나누어 분셔하겠다. 먼저, 특정 에 대하여, (nlw, n2(i), Al(0, A3(!, , 7Z>; Z=m + 1}의 0厂1)이하비트를 안다고 가정하자.

경우 1: 四ss)“=o인 경우

(1) 보조정리 2를 B(n>=(7Cl5, (n)AA2(n))Vnl(n, 적용하여 林1(叫。을 구한다.

가 알苔졌으므로 공격자는 (必(")+砌 (2)

의 j0 위치에 올라오는 캐리 비트를 계산할 수 있다. 이제 知("%와 A(n)=7»5(n, ®Al(n, ffinl(n, , E (”)=(7座血)+ 丑?)到을 이용하여 공격자는 [Al(n)]., 网을 얻을 수 있다.

Jo JQ

(3) 이 값을 알면 나머지 값들의 为번째 비트들은 리더와 태그 간 소통 정보 및 갱신 식으로부터 알 수 있다. 자세한 계산은 생략한다.

경우 2: 四"* + "], ■ =0인 경우

JO

(1) 以"1)=(必("1)人/必”+1))\/紀("+1)에 보조정리 2를 적용하여 团(" + 1丄을 구한다.

(2) 경우 1과 같이 [nl(n+1)]Jo, A(n+1), E(”+D으로부터 成1(” + 1)侦, 问此을 &는다.

Lzz기:b을 얻으면, E(")=(刀舛)+丑7)伽 1S)에서 階叽。을 구할 수 있고, 경우 1에서와 같이 나 (3)

머지 값들의 项。번째 비트들을 알 수 있다. 경우 3: [丑狎吧=[丑说” + 气=1인 경우 JD J0

(1) 이 경우, 1节”)=(丑说技\〃〃)/\展(疽, D(n+1)= (丑)s(” + i)V丑力\履3 + 1)에 보조정리 2를 적용하여 (n2(n)].o, 血2(” + 1勺。을 구한다.

(2) C(n)= IDSM+K3M+n2M, C(n + 1, = Wn+1) + A3(n + 1)+n2(n + 1), [n2(n)]io, 泌"气, 으로부터 [A3(n)]Jo, 访3(” + 气을 구한다. 여기에工도 A3(n), A3(n + 1), n2M, r必" + D의 j0 미만 비트들을 알고있으므로 扁번째 비트 계산에 영향을 주는 캐리 계산을 할 수 있어 [A3(n)]Jo, 成3(” + i)k을 구할 수 있는 것이다. °

(3) AS)=・ZZ7S血)屈Rl(”)과 E(n)=(ZD5(n)+ZD) ⑨의 扁번째 비트를 다시 표현하면, 적당한 a, 3에 대하여, [冰勺。니紀。叫舟 a, [五기 尸 = 时叫舟b로 쓸 수 있다. 이 冒을 키 갱신식 殂3 + 1) =03(")饥1(”))+(屜”)以刃)의 扁번째 비트 식에 대입하면 다음과 같다.

[A3(n+1)].=成泌叫.圳小)]站®叫.割础 JO JO JO JO JO

=[A3(n)] .©[nl(n)].®[nl(n)] .©[nl(n)]. JO JO JO JO

=03(叫搐恩您c JQ JO

여기에서 c는 하위 비트들로부터 발생한 캐리이다. 이제 공격자는 [A3(n)].o> [A3(n + 1)].o4 위 식에서 四匕을 계산한다.

을 얻고, 成*)站,

(4) 存머지 값들의 搭i째 寸트들은 리더와 태;:L 간 소통 정보 및 갱신 식으로부터 알 수 있다.

위 분석은 공격자가 하위 비트로부터 발생되는 캐리를 알고 있다고 가정하고 있으나 扁가 Isb인 경우에는 그러한 가정이 필요하지 않다. 그러므로 연속된 2세션의 도청 정보를 이용하면, 공격자는 必*), 紀"), A3(n), nl(" + 1), n2(n + 1), Al(" + 1), A3(n + 1), ZD5] 모든 비트를 얻을 수 있게 된다. 이 외의 비밀 정보 A2(n), A2(n + 1), A4(n), + D 에 대해서는 団S("%과 {宓(” + i)" 에 의존하여 일부 정보만을 알 수 있다. 여기서 중요한 관찰로서 키 Al , K3의 갱신이 키 K1, 砲와 독립적으로 이루어지고, K2, A9는 리더의 태그 인증에 사용되지 않는다는 점을 지적한다. 이 점을 이용하면 공격자는 비밀 정보 711(" + 1, , 712(" + 1), ^1(" + 1)^(" + 1), //? 을 이용하여 도청 세션 이후로 계속해서 태그를 위장할 수도 있을 것이다.

EMAP0II 대한 새로운 태그 五) 추출 공격 4.3.

EMAP에 대한 공격 방법도 IvfAP에 대한 공격 방법과 유사한데, M^AP과는 달리 丑, 와 비밀키들의 일부 비트들을 결정하기 어렵다. 결정할 수 없는 비트 수를 최대한 줄임으로써 ID 후보의 수를 줄이는 것이기 공격의 핵심으로 다음의 보조 정리가 사용된다.

보조정리 3. X, Y, Z, X', Y', Z, S, c 가 2n비트 수이고 다음을 만족한다고 하자.

(1) X, X', c와 XVY, XA乙 X'VY', 이 알려져 있다.

(2) Y'=Y®S, Z『Z&S^c인 관계가 있다.

(3) Y©Z©S와 弓(Y), q(Z)도 추가적으로 주어져 있다. 여기에서 2n비트 H에 대하여 q는 상위 n 비트와 하위 n비트의 XOR, 즉 q, (x)=3;(2n-l: n) 企 H(n-l:0) 이다.

그러면, X, X의 비트들에 대하여

冈, 明x%=o 또는 冈*& [刈冲=0 또는 lx]舟 冈, 5=1을 만족하는 j(0< j< n-l)번째 비트에 대하여, 【丫损丫卜”⑵”㈤+“⑸”囲危을 구할 수 있다.

보조정리 3에서 (1)은 리더와 태그 간 소통 정보에 대한 식, (2)는 키 갱신식이고 (3)은 공격 단계에서 얻을 수 있는 값들이다. 이 보조정리의 증명은 공격 방식 이후에 서술하기로 한다.

이제 연속된 2개의 세션을 도청하여 얻은 소통정보에 보조정리 2와 보조정리 3을 적용하여 EMAP 프로토콜을 분석해보자.

단계 1: Al(n), Al(n+1) 복원

보조정리 2를 과 B(")에 적용하면, 모든 j(0 < j < m)에 대하여

- 辺2并%=0인 경우, d(”)로부터 泌"%을 얻习 IDSm^\ 갱신식으로부터 成을 얻는다.

- 四s(%* =i 인 경우, 로부터 标1叫, 을 얻고, 로부터 氐阴1을 얻는다.

즉, 丑说"으로부터 K1"를 얻을 수 있다. 같은 방법으로, 丑, S(iD로부터 K1S + P을 얻을 수 있다.

단계 2: A3(n), nlM, n2M, A3(n + 1), nl(n + 1), n2(" + 1) 복원

Al(n), K1S + 1)을 복원하면, A(n), A(n + 1), C(n), C S + i)와 砂S)의 갱신식으로부터 위 값들을 다음과 같이 구할 수 있다.

-nl(n) =A(n) ®2»5(n)®Al(n),

-nl(n + 1) =A(n + 1) ®2D5(n + 1)®Al(n + 1), -n2M =Jffi>5(n + 1)®7ZZS, (n)®Al(n),

-n2(n + 1) =ZD5(n + 2)®/»5(" + 1)®Al(n + 1), -A3(n)=C(n) ®/DSM®n2M,

-7i3(" + I)=C(" + I)©7Z?5'<n + 1, ®n2(" + 1).

단계 3: 昭(95 : 48), Fp(K2M), 乌복원 Al(n), A3(n), nl(n), n2M, jaM, A3(n + 1), nl(n + 1), n2(- + i)을 복원하면, R3(")의 갱신식으로부터 위 값들을 다음과 같이 구할 수 있다.

-70(95 : 48)11/;(A4(n) )11/;(A2(" >) = A3(n + 1)©A3(n)®nl(n)

단계 4: A2(n), 의 상위 48비트 복원 E)=(IDS(n )Anl(n, Vn2(n)) ®7Z>®Al<n >®A2(n) 的風3幅刷(“)에서 이미 구한 값들을 제외하면 남는 값은 다음과 같다.

ZD®A2(n)®A4(n)

보조정리 2로부터 각 비트에 대하여 와 K^n} 중 하나를 알 수 있고 丑7(95:48)을 알고 있으므로 A2(n), 食")의 상위 48비트를 얻을 수 있다.

단계 5: 다음의 조건들

[丑说叫舟[丑说”+11=0 또는

[丑说叫升2爬[宓(” + % + 24=0 또는 [丑泌叫舟四S%+24=1

에서의 j(O< j< 23)비트에 대한 [A2(">]., 国("%, [砌47:0)»卩必* 叫4, 岡3%+眼, 如(47:0)]项+24 복원

보조정리 3의 적용을 위하여 다음과 같이 치환한다. X=ZZ7SS)(47:0), X'=2Z>5(n + 1)(47:O),

Y=A2(n)(47:0), Y'=A2(n + 1)(47:0), Z=X4(")(47:0), 牛衲+ i)(47:0), S=2O(47:0)®n2(n), C=nl(n)®n2(n).

B("), b(" + i), D(", , D(n + 1), fQM, 의 갱신 식을 새로운 변수로 치환하면 보조정리 3의 (1), (2) 를얻고 단계 4의 결과에 적용하면 (3)을, 위 조건에 적용하면 보조 정리 3의 조건을 얻는다. 그러므로 위 조건을 만족하는 j(O< j< 23)비트에 대하여 L故S)]” U渺%, 匹>(47:0)]” I*% K”, 网叫顶+24, 07(47:0)]卄24 을 구할 수 있다.

단계 6: X2M, , 履荷, ZZ7(47:D)의 복원

단계 5의 조건을 만족하지 않을 확률이 1/8이고, j (O< j< 23)비트에 대하여 伍2(吧, 因* )L 중 하나를 알 수 있어, A2(n)(23:0), 刻技(23:0)의 결정되지 않는 비트 수의 합은 평균은 3이다. 23개의 (A2w(23:0), 砲(技(23:0))후보들을 결정하면, 鸟。秘”)), 马04(”))에 의하여 K2m, .陷가 완전히 결정되고, E(")으로부터 丑, (47:0)도 복원할 수 있다. 즉, 평균 23개의 力후보를 얻는다.

만일, k개의 연속된 세션을 도청하였다고 가정호).자. 그러면 단계 5의 조건은<두 순열 ([7D5(n)] LZZ2S血* -+1%), (四..., "班‘"에서 0 또는 1이 연속으로 나오는 경우가 적어도 한번 있거나에 (0, 1) 또는 (1, 0)의 쌍이 있어야 한다>로 바뀐다. 이 경우 조건을 만족하지 않을 확률은 1*/* 23 가 되어 공격자는 평균 2仞23개의 ID후보를 얻게 된다. 예를 들어, 3개의 연속된 세션을 도청하면 공격자는 평균적으로 2개 이하의 ZD후보를 얻게 된다.

보조정리 3의 중명.

조건이 3가지 경우이므로 경우 별로 나누어 증명하기로 한다.

경우 1. [X槌[刈广0 (O< j< n-l)일 때 [Y]p[Y L+, 撰ZL, [ZL+”【S损S0”의 복원

이 경우는 다시 [X]戸[刈戸)인 경우와 [X1戸

=1인 경우로 나뉜다. 먼저 冈尸刘广0인 경우 ⑴로부터 [Y£ [Y%를 얻을 수 있다. (2)로부터 [S], 를 구하고 (3)의 %Y)를 이용하면【丫以“을, Y缶Z破를 이용하면, 忆丄를 계산할 수 있다. 마지막으로 §(Z)를 이용하면 ⑵顶+“을, Y❸Z破를 이용하면 ⑸林을 계산할 수 있다.

凶广冈广1인 경우에는 ⑴로부터 [药, 를, ⑵ 로부터 风를 구하고 ⑶의 q(z)를 이용하면 [z]j+n 을, Y ❸Z@S를 이용하면, [YL를 계산할 수 있다. 마지막으로 q(Y)를 이용하면 을, Yezes를 이용하면 [S]g을 계산할 수 있다.

경우 2. [X].+„®[X']j+„=0 (0< j< n-l)일 때 [Y 歸[丫", 忆旧药+”, 风・, 国顷의 복원

이 경우는 경우 1의 증명에서 비트 인덱스 j와 j+n 을 치환하여 증명할 수 있다.

경우 3. [X].©[«>+„=1 (0M 项M n-1)일 때 [Y];, [*, 丫以亿损礼3, 风, 风+“의 복원

이 경우는 冈, .=0, 冈*= 1과 冈广, 冈, *产0인 경우로 나뉜다. 먼저, [xl=o, [xL+“=i인 경우에는 ⑴ 로부터 [Y]j, [药+“을 얻을 수 있다. (3)의 q(Y), Gf (Z)로부터 [*, [YZL], + 를 구할 수 있고 Y&Z&S를 이용하면 ⑶”闻+“을 계산할 수 있다. 1X^=1, [X]y+„=0 인 경우에도 증명이 유사하므로 생략한다.

V. 결론

본 논문에서는 LMAP, M2AP, EMAP 에 대해 T. Li 등이 제안한 확률적 비동기화 공격〔8, 9〕의 오류를 수정하여 항상 비동기화 공격이 가능함을 보이고, 〔9〕의 LMAP에 대한 태그 ID 및 일부 비밀정보 복원 공격을 대폭 개선하였다.〔9)에서는 리더와의 통신 2회 태그와의 통신 (m+2)회를 수회 반복하여 최상위 비트를 제외한 태그 ID의 각 비트를 확률적으로 얻는 공격을 제시하였으나, 본 논문에서는 리더와의 통신 1회 태그와의 통신 (2m-l)회로 태그 ID의 최상위 비트를 제외한 모든 비트를 완전하게 복원할 수 있음을 보였다. 그리고 M2AP, EMAP에 대해서는〔8, 9〕에서 제시된 능동 공격이 아닌 연속된 2~3개 세션의 정보 수집만으로 태그 ID 와 일부 비밀키를 복원할 수 있음을 보였다.〔8, 9〕에서는 리더와 태그의 통신값 만으로 M2AP, EMAP에 대한 공격을 구성한 반면, 본 논문에서는 키갱신 과정의 단점을 추가로 이용하여 수동 공격이 가능하였다.

LMAP 등은 +, ®, A, V 등의 연산만으로 이루어진 매우 효율적인 프로토콜이나, H* B〔4〕등과 달리 안전성을 보장할 수 있는 기반 문제에 대한 고려가 없었다. 결과적2로, 비동기화 공격을 비롯하여 태그 ID 및 일부 비밀키를 복원할 수 있는 단점이 발견되었다. LMAP에 대한 공격은 태그의 인증 여부가 중요한 요소로 작용하므로 태그는 인증 거부 메시지 대신 랜덤 값 등을 응답하여 이러한 공격에 대응할 수 있다〔9〕. 그러나 M2AP, EMAP에 대한 공격은 유효한 세션의 도청만 요구하므로 이러한 대응 방안이 적용될 수 없다.

RFID 시스템에서는 암호화가 아닌 인증이 주요 목적이므로, 해쉬 함수, 비밀키 암호를 사용하지 않고 간단한 연산만으로 인증 프로토콜을 구성하는 것이 흥미 있는 연구 방향이나, 〔10, 11, 12〕에서와 같이 안전성을 충분히 고려하지 않는다면 쉽게 취약점이 발견될 수 있다. 향후 안전성을 고려하여 프로토콜을 구성하면, 매우 효율적인 RFID 인증 솔루션이 될 수 있을 것이다.

References

  1. J. Bringer, H. Chabanne, E. Dottax, 'HB++: A Lightweight Authentication Protocol Secure against Some Attacks,' Proceedings of SecPerU 2006, pp.28-33
  2. M. Fredhofer and C. Rechberger, 'Case Against Currently Used Hash Functions in RFID Protocols', Proceedings of Workshop on RFID Security 2006. pp.372-381
  3. International Standard ISO/IEC 18000-6: Information technology - Radio frequency identification for item management - Part 6: Parameters for air interface communications at 860MHz to 960MHz, 2004
  4. A. Juels and S. Weis, 'Authenticating Pervasive Devices with Human Protocols', Proceeding of CRYPTO 2005, LNCS3621, pp.293-308, 2005
  5. M. Jung, H. Fiedler and R. Lerch, '8-bit microcontroller system with area efficient AES coprocessor for transponder applications', Ecrypt Workshop on RFID and Lightweight Crypto, Proceeding, Graz, pp.32-43, 2005
  6. J. Katz and J. S. Shin, 'Parallel and Concurrent Security of the HB and HB+ Protocols', Proceeding of EUROCRYPT 2006, LNCS4004, pp.73-87, 2006
  7. D. Kwon, D. Han, J. Lee and Y. Yeom, 'Vulnerability of an RFID Authentication Protocol Proposed at SecUbiq 2005', Proceeding of SecUbiq 2006, LNCS4097, pp.262-270, 2006
  8. T. Li, R. H. Deng. 'Vulnerability Analysis of EMAP-An Efficient RFID Mutual Authentication Protocol'. Proceeding of AReS 2007, April 2007
  9. T. Li, G. Wang. 'Security Analysis of Two Ultra-Lightweight RFID Authentication Protocols', Proceeding of IFIP SEC 2007. May 2007
  10. P. Peris-Lopez, J. C. Hermandez-Castro, J. M. Estevez-Tapaidor, A. Ribagorda, 'LMAP: A Real Leightweight Mutual Authentication Protocol for Low-cost RFID tags.' Workshop on RFID Security, RFIDSec 06, pp.137-148, July 2006
  11. P. Peris-Lopez, J. C. Hermandez-Castro, J. M. Estevez-Tapaidor, A. Ribagorda, 'M2AP: A Minmalist Mutual- Authentication Protocol for Low-cost RFID tags.' Proceedings of UIC 2006, pp.912-923, 2006
  12. P. Peris-Lopez, J. C. Hermandez-Castro, J. M. Estevez-Tapaidor, A. Ribagorda, 'EMAP: An Efficient Mutual- Authentication Protocol for Low-cost RFID tags.' Proceedings of OTM Federated Conferences and Workshop: IS Workshop 2006. pp. 352-361, 2006