Advanced
RFID Tag Ownership Transfer Protocol Using Lightweight Computing Operators
RFID Tag Ownership Transfer Protocol Using Lightweight Computing Operators
Journal of Korea Multimedia Society. 2013. Dec, 16(12): 1413-1426
Copyright © 2013, Korea Multimedia Society
  • Received : July 30, 2013
  • Accepted : November 12, 2013
  • Published : December 30, 2013
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
재동 이
정회원, 경남대학교 컴퓨터공학과

Abstract
RFID 기술은 공급망 관리를 위한 산업에 광범위하게 채택되어 사용되고 있다. 제품이 생산될 때 각 제품에 RFID 태그가 부착되며, 공장, 배급자, 소매상 및 소비자 사이에서의 공급망 관리를 위해 제품의 소유권 이전이 주의 있게 처리되어야 한다. 이와 같이 RFID 기술을 사용하여 각 제품을 식별하고 제품의 공급과정을 효율적으로 처리하기 위해 안전하고 효율적인 RFID 소유권 이전 프로토콜이 중요한 이슈이다. 이미 많은 소유권 이전 프로토콜이 제안되었다. 이들 프로토콜들은 보안 상의 문제를 가지고 있으며, 대부분의 프로토콜은 암호화 연산 및 해시함수 같은 복잡한 연산을 사용한다. Lo 등은 간단한 연산들(시프트, 덧셈, XOR 연산 및 난수 생성)을 사용한 프로토콜을 제시하였다 [1] . 하지만, 이 프로토콜은 태그와 새 소유주가 공유하는 비밀키를 공격자가 획득할 수 있는 문제점과 Fraud 공격에 취약하다 [2] . 본 논문에서는 Lo 등이 제시한 프로토콜을 수정하여 간단한 연산들(시프트, 덧셈 연산 및 난수 생성)을 사용하여 보안 공격에 안전한 새로운 프로토콜을 제시한다.
Keywords
1. 서 론
RFID(Radio Frequency IDentification) 시스템은 유비쿼터스 컴퓨팅의 중요한 기반 기술로 자리 잡고 있다. 이것은 RFID 태그(tag)들을 사용하여 사물(또는 사람)에 관한 정보를 저장하고 사물과 떨어진 곳에서 리더(reader)를 사용하여 사물의 정보를 접근할 수 있는 자동 인식 시스템이다. 사물에 부착된 태그들은 인증 정보를 가지고 있으며, 이것을 사용하여 재고관리, 물품관리, 물류 및 유통, 고용자 관리, 미아찾기 등 많은 분야에 활용되고 있으며, 미래에는 더 많은 분야에 활용될 것이다. RFID 시스템은 태그, 리더 그리고 백앤드 서버(backend server)로 구성된다.
RFID 기술은 공급망 관리(supply chain management)를 위한 산업에 광범위하게 채택되어 사용되고 있다 [3] . 제품이 생산될 때 각 제품에 RFID 태그가 부착되며, 공장, 배급자(distributor), 소매상 및 소비자 사이에서의 공급망 관리를 위해 제품의 소유권 이전이 주의 있게 처리되어야 한다. 이와 같이 RFID 기술을 사용하여 각 제품을 식별하고 제품의 공급과정을 효율적으로 처리하기 위해 안전하고 효율적인 RFID 소유권 이전 프로토콜이 중요한 이슈이다.
이미 많은 소유권 이전 프로토콜이 제안되었다 [4 - 11] . 이들 프로토콜들은 2장에서 언급하는 바와 같이 보안 상의 문제를 가지고 있으며, 대부분의 프로토콜은 암호화 연산 및 해시함수 같은 복잡한 연산 즉, 태그 및 서버에서 수행할 연산의 양이 많아진다. 이것은 태그의 설계를 복잡하게 하여 게이트(gate) 수가 증가하므로 태그의 비용이 비싸진다. Lo 등은 간단한 연산들(시프트, 덧셈, XOR 연산 및 난수 생성)을 사용한 프로토콜을 제시하였다 [1] . 하지만, 이 프로토콜은 태그와 새 소유주(new owner)가 공유하는 비밀키를 공격자가 획득할 수 있는 문제점과 Fraud 공격에 취약하다 [2] . Fraud 공격에 취약하기 때문에 이전 소유주(old owner)는 같은 물건을 여러 사람에게 이전 할 수 있게 되는 보안 상의 문제점이 발생한다. 본 논문에서는 Lo 등이 제시한 프로토콜을 수정하여 간단한 연산들(시프트, 덧셈 연산 및 난수 생성)을 사용하여 보안 공격에 안전한 새로운 프로토콜을 제시한다. 우리가 제시한 프로토콜은 2장에서 언급한 보안 요구 조건을 모두 만족하며, Lo 등이 제시한 프로토콜의 문제점들을 모두 해결할 수 있다.
본 논문은 다음과 같이 구성되어 있다. 2장에서는 관련 연구를 기술한다. 관련 연구로 보안 요구 조건, 표기법 및 가정, 기존 알고리즘들의 문제점, Lo 등이 제시한 프로토콜 및 보안 취약점을 기술한다. 3장에서는 새로운 프로토콜을 제시하고, 4장에서는 제시한 프로토콜이 보안 공격에 안전함을 보인다. 5장에서는 결론과 향후연구에 대한 방향을 제시한다.
2. 관련 연구
본 절에서는 보안 요구 조건, 표기법 및 가정, 기존 소유권 이전 프로토콜의 문제점, Lo 등이 제시한 프로토콜 및 보안 취약점 등을 기술한다.
- 2.1 보안 요구 조건
제품에 부착된 RFID 태그에는 소유자 정보 및 접근 제어를 위한 데이터가 저장되어 있으므로 완전한 태그 소유권 이전 프로토콜은 아래의 보안 및 프라이버시 요구사항을 만족시켜야 한다 [1 , 4 - 6] .
새 소유주 프라이버시(New owner privacy): 태그의 소유권이 새 소유주에게로 이전 되었을 때, 단지 새 소유주만이 태그를 식별하고 태그 내의 정보를 접근할 수 있다. 이전 소유주는 그 태그에 대해 더 이상 접근할 수 없다.
전 소유주 프라이버시(Old owner privacy): 태그의 소유권이 새 소유주에게 이전 되었을 때, 새 소유주는 전 소유주와 태그 사이의 과거 활동을 추적할 수 없다.
권한 복구(Authorization recovery): RFID 태그가 붙은 제품에 대한 애프터 서비스(after-sales service)와 같은 상황에서, 현재의 소유주는 전 소유주가 태그 내의 정보를 접근할 권한을 잠시 동안 가지도록 태그의 소유권을 잠시 이전할 필요가 있다.
서비스 거부 공격에 안전(Resistance to Denial of Service (DoS) attack): DoS 공격 을 막기 위해서 태그와 백앤드 서버가 공유하고 있는 비밀정보에 대한 동기화 메커니즘이 요구된다.
재생 공격에 안전(Resistance to replay attack): 공격자가 리더와 태그 사이의 통신 메시지를 도청하여 리더나 태그를 속이기 위해 도청한 메시지를 사용할 수 없도록 한다.
중간자 공격에 안전(Resistance to man-in-middle attack): 공격자가 태그와 리더 사이에서 가짜 메시지 또는 수정한 메시지를 사용하여 원하는 일을 할 수 없도록 한다.
윈도잉 문제의 방지(Prevention of windowing problem) [7] : 만약 소유권 이전 프로토콜을 잘못 설계하면 새 소유주와 전 소유주가 같은 공유 비밀 키를 사용하여 태그를 접근할 수 있는 기간이 있다.
- 2.2 표기법 및 가정
본 논문에서 사용할 기호들의 의미는 표 1 과 같다.
기호들의 의미
PPT Slide
Lager Image
기호들의 의미
표 1 의 기호 중, TTP 는 신뢰할 수 있는 제 3의 서버를 의미한다. 즉, TTP 로 RFID 시스템의 백앤드 서버를 사용할 수도 있고, 다른 신뢰 할 수 있는 서버를 사용할 수도 있다. Cj 는 소유주 j 를 확인하기 위해 사용되며 Cj = h ( TTPID / / OIDj ) 로 구한다. Nun 함수는 일방향 해시함수처럼 전송 시, 공격자가 그 내용을 추출 및 조작을 할 수 없게 간단한 연산으로 만든 함수이다.
대부분의 RFID 시스템처럼 태그와의 통신은 리더를 통해서 이루어지며, 리더와 백앤드 서버 사이의 통신은 안전한 통신 채널을 사용하고 태그와 리더사이의 통신은 노출된(안전하지 않는) 것으로 가정한다. 따라서, OC (또는 ON )와 태그 사이의 통신을 위해서는 OC (또는 ON )에 있는 리더를 통해 이루어지며, 이 통신은 노출되어 있다. 반면, OC (또는 ON )와 TTP 와의 통신은 안전한 채널로 이루어진다. 그리고, 태그와 리더 사이의 통신을 위해서는 상호 인증이 이루어져야 한다. 리더와 태그의 사이의 상호 인증 문제는 본 논문의 관심사가 아니므로 여기서는 다루지 않으며 상호 인증이 이루어진 후 통신하는 것으로 가정한다.
PPT Slide
Lager Image
Nun 함수의 의사 코드
- 2.3 기존 소유권 이전 프로토콜
많은 소유권 이전 프로토콜들이 제안되었다. 이들은 TTP 를 사용하는 프로토콜 [1 , 5 - 12] TTP 를 사용하지 않고 현 소유주와 새 소유주 사이의 통신만으로 처리하는 프로토콜 [4 , 9 , 11] 로 나눌 수 있다. 또한, TTP 를 사용하는 프로토콜 중에는 TTP 와 태그가 직접 통신(당연히, 리더를 통하여 통신함)하는 프로토콜 [6 , 8 , 11] TTP 가 태그와 통신하기 위해서는 반드시 현 소유주(또는, 새 소유주)를 거쳐야 되는 프로토콜 [1 , 5 - 8 , 10] 로 나눌 수 있다.
기존 프로토콜은 표 2 에 나타낸 바와 같이 보안상의 문제점을 노출하고 있다 [1] . 전 소유주 프라이버시 문제를 가지는 프로토콜 [8 , 9] , 서비스 거부 공격에 노출된 프로토콜 [4 , 5 , 7 , 9 , 12] , 재생 공격에 노출된 프로토콜 [8] , 중간자 공격에 노출된 프로토콜 [4 , 9 , 10] 그리고 윈도잉 문제를 가지는 프로토콜 [4 , 6 , 8 - 10 , 12] 등이 있다.
각 프로토콜들의 보안 요구 조건 분석
PPT Slide
Lager Image
각 프로토콜들의 보안 요구 조건 분석
기존 프로토콜들에서 태그에서 수행되는 연산들을 표 3 에 제시하였다 [1] . 대부분의 프로토콜은 암호화 연산 및 해시함수 같은 복잡한 연산 즉, 태그 및 서버에서 수행할 연산의 양이 많아진다. 이것은 태그의 설계를 복잡하게 하여 게이트(gate) 수가 증가하므로 태그의 비용이 비싸진다.
태그에서 수행되는 연산
PPT Slide
Lager Image
(숫자는 처리되는 연산의 횟수임)
- 2.4 Lo 등이 제안한 프로토콜
Lo 등은 간단한 연산들(시프트, 덧셈, XOR 연산 및 난수 생성)을 사용한 보안상 안전한 프로토콜을 제시하였다 [1] . 이 프로토콜은 세 단계로 이루어져 있다. 등록 단계(registration phase), 현 소유권 보류 단계(current ownership suspension phase), 그리고 새 소유권 수립 단계(new ownership establish phase)이다.
- 2.4.1 등록 단계
모든 태그들은 사용 전 초기화 되고, 모든 소유주들의 식별자는 TTP 에 등록 된다. TTP 와 태그 i 는 비밀 키 KTi 를 공유한다. KTi 는 태그 i 에 미리 저장되어 있으며, 이 키는 현 소유주와 새 소유주는 알 수 없다. 각 소유주 j 는 소유증명서 Cj = h ( TTPID / / OIDj )를 가지고 있다. 이것은 소유주가 TTP 에게 소유권 이전 요청을 할 때, 요구한 소유주가 진짜 소유주인가를 확인하기 위해 사용 된다.
- 2.4.2 현 소유권 보류 단계
이 단계는 그림 2 와 같이 동작한다. 동작 내용을 간단히 요약하면 아래와 같다.
PPT Slide
Lager Image
현 소유권 보류 단계
  • 1)OC는 난수r1를 생성하여 (OIDC,OIDN,TIDi,r1,CC)를 TTP로 보낸다.
  • 2) 메시지를 받은 TTP는CC'=h(TTPID/ /OIDC)를 계산한다.CC'와CC가 다르면 세션을 끝낸다. 같으면,TTP는 아래와 같은 작업을 한다.
  • Tagi에 대한KTi를 찾는다.
  • 임시 비밀키Ktemp를 생성한다.
  • M1=KTi⊕Ktemp⊕r1과V1=Nun(M1,r1)를 계산한다.
  • M1과V1를Oc로 전송한다.
  • 3)OC가 메시지를 받으면,M2=M1⊕KOi를 계산하고 (V1,M2,r1)를Tagi로 전송하고 태그의 반응시간을 제어하기 위해 타이머를 시작한다.
  • 4)Tagi가 메시지를 받으면,M1'=M2⊕KOi과V1'=Nun(M1',r1)를 구한다.V1'과V1이 같으면Ktemp(Ktemp=M1⊕KTi⊕r1)를 추출하고, 이것을 비밀키KOi로 설정한 다음,ACK1=Nun(KTi,r1) ⊕KOi를 응답 메시지로OC로 전송한다. 그러나,V1'과V1이 같지 않으면 난수r2를 응답 메시지ACK1로 설정하여OC로 전송한다.
  • 5)OC가 타임 아웃 이전에 응답 메시지를 받으면, 받은ACK1을TTP로 보낸다. 타임 아웃 이후에 메시지를 받았으면OC는KOi를 사용하여Tagi를 액세스해 본다. 액세스를 할 수 없으면ACK1를OIDC로 하여ACK1를TTP로 전송한다. 액세스가 가능하면그림 2의 Step3부터 다시 작업을 수행한다.
  • 6)TTP가 받은 메시지ACK1이Nun(KTi,r1)⊕Ktemp또는OIDC이면OC에게 "success" 메시지를 보내고,ON에게Ktemp와TIDi를 전송한다. 그렇지 않으면TTP는OC에게 실패 메시지로 “go to Step3” 메시지를 보내OC로 하여금 Step3부터 다시 수행토록 한다.
- 2.4.3 새 소유권 수립 단계
이 단계는 그림 3 과 같이 동작한다. 동작 내용을 간단히 요약하면 아래와 같다.
PPT Slide
Lager Image
새 소유권 수립 단계
  • 1)ON이Ktemp를 받으면 아래와 같은 작업을 수행한다.
  • 새로운 비밀키KOi_new와 난수r3와r4를 생성한다.
  • M3=KOi_new⊕r3⊕KOi와V2=Nun(KOi_new,r4) ⊕KOi를 계산한다.
  • 메시지 (M3,V2,r3,r4)를Tagi로 보내고 타이머를 시작시킨다.
  • 2)Tagi가 메시지를 받으면KOi_new'=M3⊕KOi⊕r3와V2'=Nun(KOi_new',r4)⊕KOi를 계산한다.V2'와V2가 같으면KOi를KOi_new로 바꾸고,ACK3=Nun(KTi,r4) ⊕KTi로 설정하여ON으로 전송한다. 같지 않으면, 하나의 난수를 생성하여 그것을ACK3로 설정하여ON으로 전송한다.
  • 3)ON이 타임 아웃 전에 태그로부터 메시지를 받으면, 받은 메시지ACK3을TTP로 전송한다. 타임 아웃이 발생했으면ON은 이전 키KOi를 사용하여Tagi를 액세스해 본다. 액세스를 할 수 없으면ACK3을OIDN으로 하여ACK3을TTP로 전송한다. 액세스가 가능하면그림 3의 Step1부터 다시 작업을 수행한다.
  • 4)TTP가 받은 메시지ACK3이Nun(KTi,r4)⊕Ki또는OIDN이면ON에게 "success" 메시지를 보내고, 그렇지 않으면TTP는ON에게 실패 메시지로 “restart” 메시지를 보내ON로 하여금 Step1부터 다시 수행토록 한다.
  • 5)ON이 성공 메시지를 받으면KOi를KOi_new로 설정하고, 그렇지 않으면ON로 하여금 Step1부터 다시 수행토록 한다.
- 2.5 Lo 등이 제안한 프로토콜의 보안 상 문제점
Lo 등이 제시한 프로토콜은 보안 상 3가지 문제점을 가지고 있다 [2] . 태그 키( KTi )의 노출, 태그와 새 소유주 간의 공유 비밀키( KOi )의 노출, 그리고 Fraud 공격에 취약한 점 등이다. 그 이유를 아래에 기술한다.
문제점1 : 태그 키( KTi )의 노출
현 소유주 OC 가 자기 자신(또는 공모한 다른 사람 ON )에게 소유권을 이전하기 위해 이 프로토콜을 수행하면 새 소유주 수립 단계에서 TTP OC (또는 공모한 ON )에게 Ktemp 를 전달한다. 이 Ktemp 와 현 소유권 보류 단계에서 획득한 M 1 r 1 을 이용하여 M 1 Ktemp r 1 을 계산하여 KTi 를 획득할 수 있다 획득한 KTi 를 이용하여 해당 태그를 추적할 수 있을뿐더러 문제점2에서 설명하는 방법으로 태그와 새 소유주간의 공유 비밀 키를 획득할 수 있다.
문제점2 : 태그와 새 소유주 간의 공유 비밀 키( KOi )의 노출
공격자는 현 소유권 보류 단계에서 ( M 1 , r 1 )을 도청하여 문제점1에서 획득한 KTi 를 사용하여 Ktemp = M 1 KTi r 1 으로 Ktemp 를 구한 다음, 새 소유주 수립 단계에서 ( M 3 , V 2 , r 3 , r 4 )를 도청하여 KOi_new = M 3 r 3 Ktemp 로 새로운 KOi 를 얻을 수 있다. 이 새로운 KOi 를 사용하여 태그의 주인으로 행세할 수 있다.
문제점3 : Fraud 공격에 취약
이 프로토콜을 이용하여 OC ON 에게로 소유권 이전이 끝났을 때, ‘ ON Tagi 를 엑세스할 수 없게 하고 OC Tagi 를 계속 엑세스할 수 있게’ 할 수 있다. 그래서 OC 는 똑같은 태그를 여러 사람에게 이전할 수 있다. 이것은 아래와 같은 공격으로 가능하다.
  • (1)OC가TTP로부터 (M1,r1)메시지를 받았을 때,OC는Tagi에게 어떠한 메시지도 보내지 않고OIDC를ACK1로 하여TTP에 보낸다.
  • (2)TTP가ACK1을 받았을 때,ACK1이OIDC이므로 success 메시지를OC에 보내고Ktemp와TIDi를ON에게 보낸다.
  • (3)ON이Ktemp와TIDi를 받으면Tagi를 엑세스하기 위한 키KOi를Ktemp로 하고, 새로운 키KOi_new를 생성한 다음, (M3,V2,r3,r4)메시지를Tagi에게 보낸다.
  • (4)OC는 (M3,V2,r3,r4) 메시지를Tagi가 받지 못하도록 블록(block) 시킨다.
  • (5)ON은 태그로부터 응답 메시지를 받지 못했기 때문에 타임 아웃이 되어KOi를 사용하여Tagi를 엑세스하려고 한다. 하지만ON은 태그를 엑세스할 수 없다. 그래서ACK3=OIDN으로 하여 (ACK3,r4)를TTP로 보낸다.
  • (6) TTP가 이 메시지를 받아ACK3가OIDN임을 확인한 후,ON에게 success 메시지를 보낸다.
  • (7)ON이 success 메시지를 받으면KOi를KOi_new로 바꾸어 자신이Tagi에 대한 소유권을 성공적으로 받았다고 확신한다.
위에서 설명한 공격에 의해 새 소유주는 소유권 이전이 성공적으로 이루어졌으므로 자신만이 이 태그( Tagi )를 식별하고 접근 할 수 있으며, 전 소유주는 이 태그를 더 이상 식별 및 접근을 할 수 없다고 확신한다. 그러나, 이 공격은 전 소유자가 새 소유자를 속여 새 소유자는 태그에 접근할 수 없고, 전 소유자는 다른 사람에게 다시 이 태그의 소유권을 넘길 수 있음을 보여준다.
3. 간단한 연산을 사용한 안전한 소유권 이전 프로토콜
본 장에서는 Lo 등이 제시한 프로토콜을 수정하여 간단한 연산들(시프트, 덧셈 연산 및 난수 생성)을 사용하여 보안 요구 조건을 만족하며, 2.5절에서 언급한 기존 프로토콜의 문제점들을 해결한 프로토콜을 제시한다.
- 3.1 기본 구조
새 프로토콜은 등록 단계와 소유권 이전 단계(registration phase)로 구성되어 있다. 등록 단계는 Lo 등의 프로토콜과 마찬가지로, 모든 태그들은 사용 전 초기화 되고, 모든 소유주들의 식별자는 TTP 에 등록 된다. TTP 와 태그 i 는 비밀 키 KTi 를 공유한다. KTi 는 태그 i 에 미리 저장되어 있으며, 이 키는 현 소유주와 새 소유주는 알 수 없다. 각 소유주 j 는 소유증명서 Cj = h ( TTPID / / OIDj / / KOi )를 가지고 있다. 이것은 소유주가 TTP 에게 소유권 이전 요청을 할 때, 요구한 소유주가 진짜 소유주인가를 확인하기 위해 사용된다. 소유주와 태그는 비밀키( KOi )를 공유하며, 소유주는 이 비밀키를 사용하여 태그를 엑세스한다. 새 프로토콜에서는 TTP KOi 를 저장하고 있는 것으로 가정한다. 이것은 그림 4 의 윗부분에 나타나 있다. 즉, TTP 는 ( TTPID , KTi , TIDi , KOi )을, OC 는 ( OIDC , CC , KOi , TIDi )을, 그리고 Tagi 는 ( KOi , KOiold , KTi , KTiold , TIDi )을 저장하고 있다. KOiold KTiold TTP Tagi 가 공유하는 키 KOi KTi 의 동기화를 위해 KOi KTi 의 이전 값을 가진다. 초기값으로 첫 번째 KOi KTi 의 값으로 설정되어 있다.
PPT Slide
Lager Image
새 소유권 이전 프로토콜
새 프로토콜에서는 [6 , 8 , 11] 의 프로토콜처럼 TTP 와 태그가 직접 통신(당연히, 리더를 통하여 통신함)하는 것으로 설계하였으며, 소유권 이전이 성공하면 KTi KOi 는 새로운 값으로 바뀌게 설계하였다. KTi Nun ( KTi , TIDi )로, KOi Nun ( KOi , KTi )로 계산된 새로운 값으로 변경된다. 이 때, TTP 는 다른 모든 TTP 에게 변경된 KTi KOi 를 전송하여 키들의 동기화를 이루도록 설계하였다.
- 3.2 소유권 이전 프로토콜
새 소유권 이전 프로토콜은 그림 4 와 같다. 등록단계가 수행된 후, 소유권 이전 단계가 수행된다. 소유권 이전 단계는 아래와 같이 수행된다.
Step1: ( OC TTP ). 현 소유주( OC )가 소유권을 새 소유주( ON )에게 이전하기 위해 소유권 이전 요청메시지( OIDC , OIDN , TIDi , CC )를 TTP 에게 전송한다. TTP 는 메시지를 보낸 자가 실제 소유주임을 확인하기 위해 CC '= h ( TTPID / / OIDC / / KOi )를 구하여 CC 와 비교한다. 만약, 같지 않으면 실제 소유주가 아니므로 세션을 끝낸다. 같으면 실제 소유주이므로 소유권 이전 작업을 수행한다. 태그의 식별자 TIDi 를 사용하여 KTi KOi 를 찾은 다음, 소유권 이전 이후에 사용할 새 KOi ( Ktemp = Nun ( KOi , KTi ))와 새 KTi ( KTinew = Nun ( KTi , TIDi ))를 계산한다. 다음으로 태그의 반응시간을 제어하기 위해 타이머를 시작하고, 소유권 이전 작업의 시작을 알림과 동시에 TTP 의 진위를 나타내기 위해 난수 r 1 을 생성하여 V 1 = Nun ( KTi , r 1 )을 계산하여 메시지( V 1 , r 1 )을 태그( Tagi )로 전송한다.
Step2: ( TTP Tagi ). 메시지( V 1 , r 1 )을 수신한 후, 이 메시지가 진짜 TTP 에서 보낸 것인지 여부와 이 메시지가 소유권 이전을 요구하는 첫 번째 메시지인지를 구별하기 위해 V 1 ' = Nun ( KTi , r 1 )을 계산하여 V 1 과 비교한다. 같으면, 올바른 메시지이며 소유권 이전을 위한 첫 시도임을 나타낸다. 소유권 이전을 위해 KTi KOi 를 변경시키고, DoS 공격이나 전송 에러로 인하여 소유권 이전이 완료되지 않을 경우를 대비하여 KTiold KOiold 변수에 이전 KTi KOi 를 저장해 둔다. KTi KOi 가 모두 변경되었음을 TTP 에 알리기 위해 난수 r 2 V 2 = Nun ( KTi , r 2 )를 구하여 메시지 ( V 2 , r 2 )를 TTP로 전송한다.
Step3: ( Tagi ). Step2에서 V 1 V 1 ' 이 같지 않으면, 수신한 메시지가 잘못된 것이거나 소유권 이전을 위한 이전의 시도가 DoS공격 또는 전송 에러 등의 이유로 실패하였음을 나타낸다. 이를 확인하기 위해, V 1 '' = Nun ( KTiold , r 1 )를 계산하여 V 1 과 비교한다. 다르면, 잘못된 메시지이므로 아무 일도 하지 않는다. 같으면, 이전 소유권 이전 시도들이 실패한 것이므로 다시 소유권 이전을 위해 KTi KOi 를 변경시킨다. 이 때, 기존의 KTi KOi 값이 KTiold KOiold 에 저장되어 있으므로 이를 사용한다. Step2와 마찬가지로 KTi KOi 가 모두 변경되었음을 TTP 에 알리기 위해 난수 r 2 V 2 = Nun ( KTi , r 2 )를 구하여 메시지( V 2 , r 2 )를 TTP 로 전송한다.
Step4: ( Tagi TTP ). TTP 가 메시지 ( V 2 , r 2 )를 수신하면 메시지의 진위 여부를 확인하기 위해 V 2 ' = Nun ( KTinew , r 2 )를 구하여 수신한 V 2 V 2 ' 이 같은지 확인한다. 같으면 올바른 태그가 보낸 진짜 메시지이므로 KTi KOi 를 변경하고 새 소유주를 위한 소유증명서 CN = h ( TTPID OIDN )을 계산한다. 같지 않으면, 태그 또는 메시지를 신뢰할 수 없으므로 Step1의 난수 생성( 그림 4 의 R)부터 다시 수행한다. 만약 타임아웃이 되면 부터 작업을 다시 수행한다.
Step5: ( TTP ON ). TTP 는 새 소유주( ON )에게 태그를 엑세스할 비밀키( KOi ), 태그의 식별자( TIDi ) 그리고 소유증명서( CN )으로 구성된 메시지( KOi , TIDi , CN )를 전송한다. 새 소유주는 비밀키( KOi )를 사용하여 태그를 엑세스할 수 있으며 소유증명서( CN )을 사용하여 소유권을 주장할 수 있다. 또한, TTP 는 이전 소유주( OC )에게 ‘성공’ 메시지를 보내 소유권 이전이 성공적으로 이루어졌음을 알린다.
Step6: ( TTP ). 소유권 이전이 성공적으로 이루어지고 나면 다른 모든 TTP (백앤드 서버 포함)들에게 변경된 태그의 KTi KOi 를 전송하여 동기화를 이룬다. 이 부분은 그림 4 에는 제시하지 않았다.
4. 보안 요구 조건 분석 및 성능 분석
본 장에서는 3장에서 제안한 소유권 이전 프로토콜(이후 ‘수정 프로토콜’이라 함)이 2.1절에서 기술한 보안 요구 조건을 만족하는지를 분석하고, 2.5절에 기술한 문제점들을 해결함을 보인다. 또한, 태그와 서버에서 수행되는 연산들을 비교 분석한다.
- 4.1 보안 요구 조건 분석
새 소유주 프라이버시(New owner privacy): 수정 프로토콜에서는 TTP Tagi 에게 소유권 이전하도록 메시지를 보내면 KOi 를 변경한다. 변경된 KOi KTi 를 알고 있어야만 구할 수 있다. 그러나, KTi TTP Tagi 만 알고 있으므로 전 소유주 OC 는 알 수 없다. Tagi 에서 KOi 의 변경이 끝나면 TTP 는 같은 방법으로 변경된 KOi 를 안전한 통신으로 새 소유주 ON 에게 전달한다. 따라서 전 소유자는 더 이상 태그를 접근 할 수 없고, 단지 새 소유주만이 접근할 수 있다. 그러므로 새 소유주의 프라이버시가 보호된다.
전 소유주 프라이버시(Old owner privacy): 새 소유주 ON TTP 로부터 변경된 KOi , TIDi CN 만을 받는다. 따라서 ON 는 이전 소유자 OC 의 프라이버시를 보호할 수 있고, OC Tagi 사이의 트랜잭션들을 추적할 수 없다.
권한 복구(Authorization recovery): 이전 소유주에게 권한을 복구시키기 위해 다음과 같은 절차로 처리 가능하다. 먼저, 현 소유주가 TTP 에게 권한 복구 요청을 한다. TTP 는 이전 소유주에게 태그를 접근할 수 있는 비밀키( KOi )를 전송한다. 이전 소유주는 이 비밀키로 태그를 접근할 수 있다. 사용이 끝나면, 이전 소유주는 TTP 에게 사용이 끝났음을 알린다. TTP 는 우리가 제시한 수정 프로토콜을 이용하여 소유권을 현 소유주에게 넘길 수 있다.
서비스 거부 공격에 안전(Resistance to Denial of Service (DoS) attack): 수정 프로토콜에서 DoS공격은 ( V 1 , r 1 )메시지와 ( V 2 , r 2 )메시지에서 이루어질 수 있다. 하지만 수정 프로토콜은 소유권 이전이 성공할 때까지 계속 수행되므로 DoS공격에 대해 안전하다. 만약, 수정 프로토콜을 변경하여 타임 아웃이 되면 OC ON 에게 실패 메시지를 보내고 세션을 종료한다고 하면 동기화 문제가 발생한다. 첫 번째, ( V 1 , r 1 ) 메시지의 전송이 이루어지지 않도록 공격하는 경우를 생각해보자. 이 경우는 Tagi 의 키들( KOi KTi )이 변화되지 않았으므로 OC 가 기존 KOi 를 사용하여 태그에 접근할 수 있다. 두 번째, ( V 1 , r 1 )메시지는 전송되었으나 ( V 2 , r 2 )메시지의 전송이 이루어지지 않도록 공격하는 경우에는 Tagi KOi KTi 가 새로운 값으로 변경되었다. 이 때, OC Tagi 를 기존 KOi 로 접근하려고 할 때 키가 달라 접근할 수 없다. 이를 위한 해결책이 필요하다. 그림 5 와 같은 간단한 프로토콜을 추가하여 해결할 수 있다. OC KOi 를 사용하여 Tagi 를 접근하려고 할 때 접근을 할 수 없으면 OC TTP 에게 새 키를 요구하는 메시지 ( CC , OIDC )를 전송한다. TTP CC 를 이용하여 태그의 소유주임을 확인한 후, KOi KTi 를 수정 프로토콜에서 구한 방법과 같이 새로운 값으로 수정한 후, KOi OC 에게 전송한다. Oc 는 수신한 KOi 를 새 KOi 로 하여 태그를 엑세스할 수 있다. 따라서, 수정 프로토콜은 서비스 거부 공격에 안전하다.
PPT Slide
Lager Image
TTP와 OC 간의 키 동기화
• 재생 공격에 안전(Resistance to replay attack): 수정 프로토콜에서 도청할 수 있는 메시지는 ( V 1 , r 1 )과 ( V 2 , r 2 ) 2개이다. 먼저, 공격자가 ( V 1 , r 1 )을 도청하여 이 메시지를 차후에 Tagi 에 전송한다고 가정하자. 이 메시지를 수신했을 때, Tagi KOi KTi 는 이미 변경되었고, KOiold KTiold 는 이전 KOi KTi 를 가지고 있다. 따라서, 공격자가 보낸 메시지 V 1 에는 이전 KTi (즉, KTiold )의 정보만 들어 있다. 이 메시지를 받은 태그는 V 1 == V 1 '' 임을 확인하여 응답메시지( V 2 , r 2 )가 TTP 에 전달되지 않은 것으로 판단하여 KTi KOi KTiold KOiold 를 사용하여 다시 계산한다. 이렇게 새롭게 구해진 값은 이미 저장된 KOi KTi 와 같다. 따라서 이 공격은 태그에 영향을 주지 않는다. 공격자가 메시지 ( V 2 , r 2 )를 도청하여 차후에 이 메시지를 TTP 에 전송한다고 가정하자. TTP 가 이 메시지를 수신했을 때는 이미 세션이 종료되었으므로 TTP 나 태그에 영향을 주지 않는다. 따라서, 수정 프로토콜은 재생 공격에 안전하다.
• 중간자 공격에 안전(Resistance to man-inmiddle attack): 공격자들은 TTP 와 태그 사이에 전송된 메시지를 도청하여 이 메시지를 수정하여 사용할 수 있다. 수정 프로토콜에서는 메시지가 수정되었는지를 쉽게 판별하기 위해 간단한 연산을 통해 구현된 Nun 함수를 사용한다. 공격자들이 도청한 메시지를 수정하여 TTP 나 태그에 보냈을 때 수신자는 쉽게 이 메시지의 진위를 알 수 있다. 그 이유는 공격자들이 KTi 의 값을 알 수 없을뿐더러 Nun 함수로 계산된 값에서 KTi 의 값을 유추할 수 없기 때문이다. 따라서, 수정 프로토콜은 중간자 공격에 안전하다.
• 윈도잉 문제의 방지(Prevention of windowing problem): 수정 프로토콜에서는 소유권 이전 시, 태그를 접근하기 위한 키 KOi 를 태그 자체 내에서 새로운 키로 바꾼다. 이 새로운 키는 TTP 가 새 소유주에게만 전달한다. 따라서 이전 소유주와 새 소유주가 동시에 태그를 접근할 수는 없다.
표 2 는 여러 프로토콜들과의 보안 요구 조건을 비교 분석한 것이다.
- 4.2 기타 보안 사항
2.5절에 기술한 Lo 등이 제시한 프로토콜의 문제점들 중 ‘문제점1: 태그 키( KTi )의 노출’은 수정 프로토콜에서는 발생하지 않는다. 2.5절에서 기술하였듯이 Lo 등의 프로토콜에서는 XOR로 사용하여 KTi 를 구할 수 있었지만, 수정 프로토콜에서는 Nun ( KTi , r 1 )로 계산된 V 1 을 메시지로 전송하므로 Nun ( KTi , r 1 ) 값에서 KTi 를 구하는 것은 불가능하다 [1] .
‘문제점2: 태그와 새 소유주 간의 공유 비밀 키( KOi )의 노출’ 역시 수정 프로토콜에서는 발생하지 않는다. 수정 프로토콜에서는 비밀키( KOi )가 TTP , OC 그리고 Tagi 에 저장되어 있고, 메시지에는 관련 정보가 노출되지 않는다. 따라서, 비밀키( KOi )를 획득하기 위해서는 TTP , 소유주( OC ) 또는 Tagi 를 물리적으로 확보하여야 함으로 이는 불가능하다. 또한, KOi Nun ( KOi , KTi )로 변경되므로 KTi 를 알아야 변경된 KOi 를 알 수 있다. 하지만 위에서 언급한 바와 같이 KTi 는 노출되지 않으므로 변경된 KOi 를 알 수 없다.
수정 프로토콜에서는 소유권 이전이 끝났을 때, 소유증명서와 변경된 비밀키를 새 소유주에게 전달함으로 이전 소유주는 태그를 접근할 비밀키도 없고 소유증명서도 효력이 없다. 따라서, 이전 소유주가 여러 명에게 소유권을 이전할 수 없다. 즉, Lo 등의 프로토콜의 ‘문제점3: Fraud 공격에 취약’을 해결한다.
- 4.3 성능 분석
태그와 서버에서 수행되는 컴퓨팅 비용을 비교 분석 하였다. 표 3 은 태그에서 수행되는 연산의 종류와 수행 횟수를 나타내며, 표 4 는 서버( TTP )에서 수행되는 연산의 종류와 수행 횟수를 나타낸다. 일반적으로 대칭 암호화 연산은 해시함수나 Nun 함수에 비해 많은 컴퓨팅 자원과 시간을 요구한다. 우리가 사용한 Nun 함수는 덧셈과 비트 시프트 연산을 사용한 것으로 그 기능은 일방향 해시함수와 같은 기능을 수행하지만 해시함수보다 컴퓨팅 비용은 작다 [1] .
서버(TTP)에서 수행되는 연산
PPT Slide
Lager Image
(숫자는 처리되는 연산의 횟수임)
표 2 에서 보안 요구조건을 모두 만족하는 Kapoor와 Piramuthu가 제시한 프로토콜 [11] 과 우리가 제시한 수정 프로토콜을 비교해 보자. 표 3 표 4 에 나타난 바와 같이 [11] 의 프로토콜은 태그와 서버에서 많은 암호화 연산뿐만 아니라 여러 연산을 많이 수행한다. 수정 프로토콜에 비해 훨씬 많은 컴퓨팅 비용이 요구된다. [4] , [8] [9] 의 프로토콜은 대체적으로 적은 컴퓨터 비용이 요구되지만 표 2 에서 지적한 것처럼 보안에 취약하다.
5. 결 론
RFID 기술은 공급망 관리를 위한 산업에 광범위하게 채택되어 사용되고 있다. 제품이 생산될 때 각 제품에 RFID 태그가 부착되며, 공장, 배급자, 소매상 및 소비자 사이에서의 공급망 관리를 위해 제품의 소유권 이전이 주의 있게 처리되어야 한다. 이와 같이 RFID 기술을 사용하여 각 제품을 식별하고 제품의 공급과정을 효율적으로 처리하기 위해 안전하고 효율적인 RFID 소유권 이전 프로토콜이 중요한 이슈이다.
이미 많은 소유권 이전 프로토콜이 제안되었다. 이들 프로토콜들은 보안상의 문제를 가지고 있으며, 대부분의 프로토콜은 암호화 연산 및 해시함수 같은 복잡한 연산 즉, 태그 및 서버에서 수행할 연산의 양이 많아진다. 이것은 태그의 설계를 복잡하게 하여 게이트 수가 증가하므로 태그의 비용이 비싸진다. Lo 등은 간단한 연산들(시프트, 덧셈, XOR 연산 및 난수 생성)을 사용한 프로토콜을 제시하였다. 하지만, 이 프로토콜은 태그와 새 소유주가 공유하는 비밀키를 공격자가 획득할 수 있는 문제점과 Fraud 공격에 취약하다.
본 논문에서는 Lo 등이 제시한 프로토콜을 수정하여 간단한 연산들(시프트, 덧셈 연산 및 난수 생성)을 사용하여 보안 공격에 안전한 새로운 프로토콜을 제시하였다. 우리가 제시한 프로토콜은 보안 요구 조건을 모두 만족하며, Lo 등이 제시한 프로토콜의 문제점들을 모두 해결함을 보였다.
BIO
이 재 동
1983년 2월 서울대학교 계산통계학과 이학사
1985년 2월 서울대학교 전산과학 전공 이학석사
1995년 2월 서울대학교 전산과학 전공 이학박사
1986년~현재 경남대학교 컴퓨터공학과 교수
관심분야 : 실시간 시스템, 임베디드 시스템, 컴퓨터 보안
References
Lo N.W. , Ruan S.H. , Wu T.C. 2011 “Ownership Transfer Protocol for RFID Objects Using Lightweight Computing Operators“ The 6th International Conference on Internet Technology and Secured Transactions 484 - 489
Safkhani M. , Bagheri N , Naderi M , Mahani A. 2012 “On the Security of Lo et al.'s Ownership Transfer Protocol” Cryptology ePrint Archive Report 2012/023
배 석태 2009 멀티미디어학회논문지 12 (11) 1671 - 1679
Osaka K. , Takagi T. , Yamazaki K. , Takahashi O. 2006 "An Effcient and Secure RFID Security Method with Ownership Transfer" International Conference on Computational Intelligence and Security 1090 - 1095
Fouladgar S. , Afifi H. 2007 "An Efficient Delegation and Transfer of Ownership Protocol for RFID Tags" The First International EURASIP Workshop on RFID Technology 59 - 62
Song S. 2008 "RFID Tag Ownership Transfer" Workshop on RFID Security
Zuo Y. 2010 "Changing Hands Together: A Secure Group Ownership Transfer Protocol for RFID Tags" Hawaii International Conference on System Sciences 1 - 10
Satio J. , Imamoto K. , Sakurai K. 2005 "Reassignment Scheme of an RFID Tag's Key for Owner Transfer" Lecture Notes in Computer Science 3823 1303 - 1312
Kulseng L. , Yu Z. , Wei Y. , Guan Y. 2010 "Lightweight Mutual Authentication and Ownership Transfer for RFID Systems" IEEE INFOCOM 251 - 255
Lei H. , Cao T. 2007 "RFID Protocol enabling Ownership Transfer to Protect Against Traceability and DoS Attacks" The First International Symposium on Data, Privacy, and E-Commerce 508 - 510
Kapoor G. , Piramuthu S. 2012 "Single RFID Tag Ownership Transfer Protocols" IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews 42 (2) 164 - 173    DOI : 10.1109/TSMCC.2010.2091501
Chen C.L. , Lai Y.L. , Chen C.C. , Deng Y.Y. , Hwang Y.C. 2011 "RFID Ownership Transfer Authorization Systems Conforming EPCgobal class-1 Generation-2 Standards" International Journal of Network Security 13 (1) 41 - 48