KR100618316B1 - Rfid 인증 시스템 및 그 방법 - Google Patents
Rfid 인증 시스템 및 그 방법 Download PDFInfo
- Publication number
- KR100618316B1 KR100618316B1 KR1020050073988A KR20050073988A KR100618316B1 KR 100618316 B1 KR100618316 B1 KR 100618316B1 KR 1020050073988 A KR1020050073988 A KR 1020050073988A KR 20050073988 A KR20050073988 A KR 20050073988A KR 100618316 B1 KR100618316 B1 KR 100618316B1
- Authority
- KR
- South Korea
- Prior art keywords
- tag
- reader
- database
- values
- value
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10297—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/08—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
- G06K19/10—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means at least one kind of marking being used for authentication, e.g. of credit or identity cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/10009—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
- G06K7/10198—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves setting parameters for the interrogator, e.g. programming parameters and operating modes
- G06K7/10227—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves setting parameters for the interrogator, e.g. programming parameters and operating modes loading programming parameters or programs into the interrogator, e.g. for configuring the interrogator
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Toxicology (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
RFID 인증 시스템 및 그 방법이 개시된다. 그 인증 시스템은 비밀값(), 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하며, 질의가 오면 을 생성하여 리더에 전송하고, 과 받으면 과 2로부터 r2, s2, k2, t2 를 추출하여 을 생성하여 리더에 전송하고, D1 값을 받아 리더를 인증하는 태그; 질의를 보내고, A1 , C1 을 받으면 데이터베이스로 전송하고, , 및 를 받으면 태그에게 전송하는 리더; 및 과, r1, s1, k1, t1 및 ID를 저장하며, A1 을 받으면 랜덤 값 r2, s2, k2, t2 및 과 를 생성하여 리더에게 전송하고, C1을 받아 태그를 인증하고, 을 생성하는 데이터베이스를 포함한다.
본 발명에 의하면, 단순한 비트 연산을 사용하는 저가의 RFID 시스템에 적합하고 효율적이며, 안전한 RFID 시스템 조건을 만족하면서 공격자로부터 안전하다.
Description
도 1은 RFID 시스템 구성을 블록도로 도시한 것이다.
도 2는 본 발명에 의한 RFID 인증시스템의 구성을 블록도로 도시한 것이다.
도 3은 도 2의 태그(200)의 보다 상세한 구성을 블록도로 도시한 것이다.
도 4는 도 2의 데이터베이스(240)의 보다 상세한 구성을 블록도로 도시한 것이다.
도 5는 본 발명에 의한 RFID 인증시스템에서의 인증방법을 설명하기 위한 인증절차를 도시한 것이다.
도 6은 도 5를 보다 상세히 도시한 것이다.
본 발명은 RFID 인증에 관한 것으로서, 더욱 상세하게는 저가형 RFID 시스템을 위한 효율적인 인증 프로포콜을 제공하는 RFID 인증 시스템 및 그 방법에 관한 것이다.
RFID (Radio Frequency Identification) 시스템은 무선 주파수를 이용하여 물리적인 접촉 없이 개체에 대한 정보를 읽거나 기록하는 자동인식 기술 시스템이다. RFID 시스템은 물류 및 유통 분야에서 사용되던 바코드에 비해서 저장 능력이 뛰어나고 비접촉식이라는 이점을 가진다는 점에서 바코드를 대체할 자동 인식 시스템으로 주목 받으면서 많은 연구가 이루어지고 있다. 최근 RFID 시스템은 교통요금 지불 시스템, 가축관리, 의료 분야 등에서도 일부 활용되고 있다.
그러나 RFID 시스템의 물리적인 접촉 없이도 인식이 가능하다는 특징은 시스템의 안전성과 개인의 정보 노출, 위치 추적 등의 프라이버시 측면에서 여러 가지 문제들을 발생 시킨다. 예를 들어, RFID 태그의 정보가 리더에 전송될 때, 태그와 리더의 통신에 제 삼자가 도청이 가능하게 된다. 공격자는 도청한 정보를 사용하여 사용자의 위치를 추적할 수 있으며, 이것은 사용자의 프라이버시 침해를 야기 시킨다. RFID 시스템의 프라이버시 침해 문제를 해결하기 위해 많은 연구가 진행되어 왔다.
가장 단순한 방법은 킬(kill) 명령어 기법이다. 킬 명령어 기법은 Auto-ID 센터에 의해 제안된 기법이며, 사용자의 프라이버시를 보호하기 위해서 물건이 계산대에서 리더에 읽혀질 때, 리더가 태그가 더 이상 동작하지 못하도록 킬 명령어를 전송하는 것이다. 그러나 이 방법은 홈 네트워크와 같은 유비쿼터스 환경에 적용되어야 하는 RFID 태그를 단순히 무력화시킨다는 점에서 프라이버시를 보호하기 위한 적당한 해결책이라고 할 수 없다. 이러한 킬 명령어 기법과 유사한 물리적인 기법으로는 Faraday Cage 와 active jamming 기법이 있다. Faraday Cage 기법은 무선 신호를 차단하는 금속물질(metal mesh)로 된 컨테이너를 사용하여 공격자로부터 태그가 추적되지 못하도록 하는 방법이지만 옷과 같은 것에는 적용 할 수 없는 것처럼 적용 범위가 넓지 작다. active jamming 기법은 주위의 전파를 방해하는 방법이지만 리더와 태그 사이에 필요한 통신도 차단 될 수 있다는 문제점을 가지고 있다. 그래서 두 가지 기법도 사용자의 프라이버시를 보호하기에는 적합하지 않다. 그 이후, RFID 시스템에서 정당한 리더와 데이터베이스는 태그를 이용하여 사용자와 유용한 서비스를 가능하며, 정당하지 않은 개체들은 태그에 대한 어떤 정보도 얻지 못하도록 하여 사용자의 프라이버시를 보장하는 방법들이 제안되었다.
기존에 제안된 방법들은 해쉬 함수, 암호화 알고리즘과 같은 암호학적 방법들을 사용하는 기법들과 배타논리합(XOR) 함수를 사용하는 기법이 있다. 해쉬를 사용하는 기법으로 대표적인 것이 해쉬 락 (hash lock) 기법이다. 이 기법은 해쉬 함수를 사용한다는 점에서 저가의 태그에 적용될 수 있다. 그러나 리더와 태그 사이의 통신에서 고정된 해쉬 아이디 (metaID=hash(key)) 를 사용한다는 점에서 공격자가 태그의 위치를 추적할 수 있으며 이로 인해 사용자의 프라이버시도 침해된다. 이러한 문제점을 해결하기 위해, Weis은 태그가 의사 난수 생성기 (pseudo random generator) 사용하여 리더의 질의에 대해서 태그가 항상 랜덤한 값을 응답할 수 있도록 하는 기법을 제안하였다. 그러나 이 기법은 계산능력에 제약을 받는 저가의 태그를 고려할 때 의사 난수 생성기를 구현해야 한다는 점에서 적합하지 않다.
그 이외에도 해쉬 함수 기반의 기법이 제안되었으며 다음과 같다. Ohkubo은 두개의 해쉬 체인을 사용하여 사용자의 프라이버시를 보호하는 기법을 제안하였다. 그러나 이 기법은 데이터베이스가 리더의 질의에 대한 태그의 응답이 정당한 것인 지를 확인하기 위해서 계산하여야 하는 해쉬 값이 태그의 수에 의존한다는 점에서 문제점을 갖는다. 그 이후, 상기 기법의 문제점을 개선하고자 하는 여러 가지 기법들이 제안되었다. 또한 Henrici 은 일방향 해쉬 함수를 사용하여 추적될 수 있는 태그의 ID를 변화 시키는 기법을 제안하였으나 공격자의 스푸핑 공격에 취약하다는 문제점을 가지고 있다. 최근에는 해쉬 기반의 스푸핑 공격에도 안전한 기법이 황영주 등에 의해서 제안되었으며, 다양한 서비스를 제공이 가능한 분산 환경에 적합한 해쉬 기반의 기법도 제안되었으나 이 기법도 데이터베이스가 데이터베이스에 저장된 태그의 수에 의존하여 계산하여 한다는 점에서 시스템 적용에 문제점을 갖는다.
해쉬 함수 이외의 암호학적 함수를 사용하는 방법으로는 재 암호화 기법이 있다. Juels 는 유로 화폐에 태그를 삽입하여 사용자의 프라이버시를 보호하는 기법을 제안하였으며. Saito은 Mixnet의 재 암호화 기법을 사용하여 태그의 비밀 정보를 리더가 재 암호화하는 방법을 사용하여 사용자의 프라이버시를 보호하는 기법을 제안하였다. 그러나 이 두 기법 모두 재 암호화 방법으로 공개키 암호화 알고리즘을 사용하므로 태그의 제한된 계산 능력으로 인해서 외부의 제 삼자에 의해 이러한 동작이 수행되어야 한다. 이점은 재 암호화 기법을 사용하기 위해 외부 인프라를 형성하여야 한다는 단점을 내포하고 있다.
최근, Jules은 최저가의 태그를 위한 프라이버시 보호 기법을 제안하였다. 이 기법은 단지 배타논리합(XOR;exclusive-or) 연산을 사용하기 때문에 최저가의 RFID 시스템에 적용 가능하다. 이 기법에서, 태그와 리더는 랜덤한 값들을 공유하 여 저장하고 있고 자신과 통신하는 상대편이 동일한 랜덤 값들을 가지고 있는지에 대해서 확인하는 과정을 통해서 상대방을 인증한다. 그러나 이 기법은 공격자가 정해진 세션만을 도청할 수 있다는 가정하에서 안전성이 보장된다.
본 발명이 이루고자 하는 기술적 과제는 저가의 RFID 시스템을 위한 효율적인 상호 인증을 위해, 리더와 태그 모두 단순한 비트 연산만을 사용함으로써, 저가의 태그에 적합하고 태그와 리더 사이의 통신이 도청 가능한 공격자에 대해서 안전한, RFID 인증 시스템 및 방법을 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 RFID 인증 시스템은, 태그, 리더 및 데이터베이스를 포함하여 이루어지는 RFID 태그 인증 시스템에 있어서, 비트 논리합(OR) 연산자를 + 라 하고, 비트 배타논리합(XOR)을 라 표시할 때, 비밀값(), 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있으며, 질의가 오면 을 생성하여 리더에 전송하고, 리더로부터 를 받으면 상기 , 로부터 다음 세션에 사용할 r2, s2, k2, t2 를 추출하여 을 생성하여 리더에 전송하고, 상기 D1 값을 받아 리더를 인증하는 태그; 태그에게 질의를 보내고, 태그로부터 상기 A1 , C1 을 받으면 이를 데이 터베이스로 전송하고, 데이터베이스로부터 상기 , 및 를 받으면 이를 태그에게 전송하는 리더; 및 비밀값(), 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있으며, 리더로부터 상기 A1 을 받으면 랜덤 값 r2, s2, k2, t2 및 를 생성하여 리더에게 전송하고, 리더로부터 상기 C1을 받아 태그를 인증하고, 을 생성하여 리더에게 전송하는 데이터베이스를 포함함을 특징으로 한다.
상기 태그는 네 개의 비밀값(), 네 개의 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있는 인증파라미터 태그저장부; 질의가 오면 을 생성하여 리더에 전송하는 질의처리부; 리더로부터 를 받으면 , k1, t1 을 사용하여 으로부터 다음 세션에 사용할 r2, s2 를 추출하고, 를 사용하여 로부터 다음 세션에 사용할 k2, t2 를 추출하는 파라미터 추출부; 상기 추출한 값 r2, s2 을 사용하여 을 생성하여 리더에 전송하는 C1 생성부; 및 상기 D1 값과 자신이 생성한 값이 동일한지를 확인 하여 리더를 인증하는 리더인증부를 구비함이 바람직하다. 상기 데이터베이스는 네 개의 비밀값(), 네 개의 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있는 인증파라미터 DB 저장부; 리더로부터 상기 A1 을 받으면 랜덤 값 r2, s2, k2, t2 을 생성하고, 이를 이용해 를 생성하여 리더에게 전송하는 B1 생성부; 리더로부터 상기 C1을 받으면 상기 C1 값이 데이터베이스에서 생성한 과 동일한지를 확인하여 태그를 인증하는 태그인증부; 및 을 생성하여 리더에게 전송하는 D1 생성부를 포함함이 바람직하다.
또한 상기 데이터베이스는 만약 두 값이 동일하지 않다면 리더에게 "프로토콜 중단” 메시지를 전송하여 프로토콜을 중단하고, 동일하다면 이미 저장하고 있는 비밀 값을 다른 행에 동일한 값으로 저장하고, 새로 생성한 랜덤 값 r2, s2, k2, t2도 상기 다른 행에 저장하는 태그인증 처리부; 및 A2를 생성하여 상기 다른 행의 인덱스로 사용하고, AE-필드의 첫 번째 행은 A2로 채워지고 두 번째 행은 A1으로 채워 서로 참조하도록 하는 데이터유실 처리부를 더 구비함이 바람직하다. 상기 태그는 두 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체하는 랜덤값 갱신부를 더 구비함이 바람직하다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 RFID 인증 시스템에서의 태그 인증방법은, 태그, 리더 및 데이터베이스를 포함하여 이루어지는 RFID 태그 인증 시스템에서의 태그 인증 방법에 있어서, 비트 논리합(OR) 연산자를 + 라 하고, 비트 배타논리합(XOR)을 라 표시할 때, (1) 네 개의 비밀값(), 네 개의 랜덤값(r1, s1, k1, t1) 및 태그 ID를 태그 및 데이터베이스에 저장하는 단계; (2) 리더가 태그에 질의를 보내면, 태그는 을 생성하여 리더에 전송하는 단계;
(3) 리더가 상기 A1 을 받아 데이터베이스로 전송하면, 데이터베이스는 랜덤 값 r2, s2, k2, t2 을 생성하고, 이를 이용해 를 생성하여 리더에게 전송하는 단계; (4) 리더가 상기 B1 과 B2 를 받아 태그에게 전송하면, 태그는 상기 B1 과 B2 를 받아 , k1, t1 을 사용하여 B1 으로부터 다음 세션에 사용할 r2, s2 를 추출하고, 를 사용하여 B2 로부터 다음 세션에 사용할 k2, t2 를 추출하며, 상기 추출한 값 r2, s2 을 사용하여 을 생성하여 리더에 전송하는 단계; (5) 리더가 상기 C1을 데이터베이스에 전송하면, 데이터베이스는 상기 C1 값이 데이터베이스에서 생성한 과 동일한지를 확인하여 태그 를 인증하는 단계; (6) 데이터베이스가 을 생성하여 리더에게 전송하면, 리더는 상기 D1을 태그에게 전송하는 단계; 및 (7) 태그는 상기 D1 값과 자신이 생성한 값이 동일한지를 확인하여 리더를 인증하는 단계를 포함함을 특징으로 한다. 상기 (5)단계는 만약 두 값이 동일하지 않다면 데이터베이스는 리더에게 "프로토콜 중단” 메시지를 전송하여 프로토콜을 중단하고, 동일하다면 데이터베이스는 이미 저장하고 있는 비밀 값을 다른 행에 동일한 값으로 저장하고, 새로 생성한 랜덤 값 r2, s2, k2, t2도 상기 다른 행에 저장하는 단계; 및 데이터베이스는 A2를 생성하여 상기 다른 행의 인덱스로 사용하고, AE-필드의 첫 번째 행은 A2로 채워지고 두 번째 행은 A1으로 채워짐으로서 서로 참조하도록 구성하는 단계를 더 구비함이 바람직하다. 상기 (7)단계는 두 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체하는 단계를 더 구비함이 바람직하다.
그리고 상기 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 RFID 인증시스템 및 그 인증 방법에 대해 상세히 설명한다. 먼저, RFID 시스템에 대해 간략히 설명하기로 한다. 도 1은 RFID 시스템 구성을 블록도로 도시한 것으로서, RFID 시스템은 세 가지 요소, 태그(트랜스폰더), 리더(트랜시버), 데이터베이스로 구성된다.
상기 태그 (Tag) 또는 트랜스폰더 (Transponder)는 RFID 시스템에서 리더의 질의에 대하여 사물, 사람 등의 식별 정보를 무선 통신을 사용하여 전송하며, 태그의 구성은 무선 통신을 위한 안테나와 연산을 수행하고 정보를 저장하는 마이크로 칩으로 이루어져있다. 태그는 전력을 공급받는 방법에 따라 능동형 태그 (active tag) 와 수동형 태그 (passive tag) 로 분류된다.
상기 능동형 태그 (active tag)는 자체 내장된 배터리를 통해서 전력을 공급한다. 자체 내장된 배터리를 사용하기 때문에 원거리 정보 전송이 가능하다. 하지만 자체 내장 배터리가 내장되어 있어서 태그의 가격이 비싸며, 태그의 수명도 배터리에 종속적이라는 단점을 갖는다. 능동형 태그는 토목분야, 건축분야, 의료분야 등에 사용된다.
상기 수동형 태그 (passive tag)는 리더로부터 수신한 전자기파로부터 유도한 전류를 전원으로 사용한다. 태그의 전송 전력이 리더에 비해 낮기 때문에 근거리 통신이 가능하다. 수동형 태그는 배터리를 내장하고 있지 않기 때문에 능동형 태그 보다 가격이 싸며, 태그의 수명이 반영구적이다. 수동형 태그는 물류관리, 전자 상거래, 교통 분야, 전자물체감시(EAS) 시스템 분야 등에 사용된다.
상기 리더 (Reader) 또는 트랜시버 (Transceiver)는 태그가 전송하는 데이터를 수신하여 태그를 인식하거나 태그에 새로운 정보를 다시 쓰는 역할을 수행하는 장치이다. 리더가 태그에 무선 통신을 사용하여 태그에 정보를 요청하고 받은 정보를 데이터베이스에 전송한다.
상기 데이터베이스(Database)는 태그에 관련된 정보를 저장하고 관리하는 역할을 한다. 데이터베이스는 정당한 리더로부터 전송된 임의의 태그의 정보를 통해 서 개체를 식별하고 수집된 정보의 진위를 판별하는 기능을 수행한다. 데이터베이스는 연산 능력이 낮은 리더나 태그를 대신하여 연산을 수행하기도 한다.
본 발명이 적용되는 저가형 RFID 시스템은 다음의 가정 하에서 동작한다. 태그는 리더로부터 전원을 공급하는 수동형 태그이다. 이 수동형 태그는 리더와 수 미터에서 통신이 가능하며 수 백개의 비트를 저장할 수 있다. 그리고 태그와 리더 사이의 통신 채널은 공격자의 공격에 안전하지 않다고 가정한다. 이 영역에서는 공격자가 시스템에 공격을 가할 수 있다. 또한 리더와 데이터베이스 사이의 통신 채널은 공격자의 공격에 안전하다고 가정한다.
상기 RFID 시스템은 일반적으로 다음과 같은 문제점을 지닌다. RFID 시스템의 특성상 리더와 태그는 비 접촉의 무선 통신을 사용하여 데이터를 주고받는다. 태그는 주위의 리더의 신호에 반응하여 자신의 고유정보를 리더로 전송한다. 즉, 태그는 주위 리더가 정당한 리더인지에 대한 확인 없이 자신의 고유 정보를 리더로 전송한다. 이러한 RFID 동작 원리는 리더 주변의 제 삼자가 손쉽게 사용자의 구매 이력이나 위치 정보를 얻을 수 있으므로 사용자의 프라이버시 침해 문제를 발생시킨다. RFID 시스템에서는 사용자 프라이버시 침해에 관련해서 다음의 두 가지 문제점이 언급된다.
첫 번째 문제점은 사용자의 개인정보 누출이다. RFID 시스템이 널리 사용됨에 따라 사람들은 개체에 태그가 내장된 다양한 물건들을 지니게 될 것이다. RFID 시스템은 주위의 리더의 질의에 무분별하게 태그 고유의 정보를 전송하기 때문에 물건에 내장된 태그는 사용자가 다른 사람에게 알리고 싶지 않은 정보, 예를 들면, 고가의 물건의 소유, 특정 병력에 관한 약품 소지 등에 대한 정보를 제 삼자에게 제공할 수 있다. 그래서 사용자에 대한 다양한 정보가 사용자의 동의 없이 누출될 수 있다.
두 번째 문제점은 사용자의 위치 추적이다. 사용자가 태그가 내장된 물건을 구매할 때, 공격자는 사용자와 태그의 고유 정보에 연관성을 줄 수 있다. 더구나 사용자는 태그가 내장된 물건을 지니고 다니기 때문에 공격자는 태그 고유 정보를 이용하여 사용자의 이동 경로를 추적할 수 있다.
따라서 안전한 RFID 시스템 설계 고려사항은 다음과 같다. RFID 시스템은 리더와 태그 간에 무선 통신을 사용하며 태그의 고유 정보에 대한 무분별하게 전송하는 동작 원리로 인해서 여러 위협에 노출되기 쉽다. 이러한 취약점들은 공격자가 기존의 다른 시스템에서 보다 적은 노력으로 원하는 정보를 얻을 수 있게 한다. 이에 태그의 비밀 정보를 얻기 위해서 RFID 시스템에 공격자가 행할 수 있는 공격 방법들에 대해서 알아보고 이런 공격에 안전한 RFID 시스템을 설계함에 있어 고려해야 할 사항들에 대해서 알아본다.
RFID 시스템의 공격 방법은 다음과 같다. 일반적으로, 공격자는 능동적인 공격자와 수동적인 공격자로 나뉜다. 수동적인 공격자는 리더와 태그 사이에 전송되는 메시지에 대해 도청만이 가능하며, 능동적인 공격자는 리더와 태그간의 통신을 도청 가능할 뿐만 아니라 두 개체 사이에 전송되는 메시지를 변형하여 메시지를 전송하는 것과 같은 다양한 공격을 할 수 있다. RFID 시스템에 공격자가 행할 수 있는 공격의 방법은 다음과 같다.
(1) 도청 : 수동적인 공격자는 리더와 태그 사이에 전송되는 메시지를 도청할 수 있다. 공격자는 도청을 통해서 쉽게 사용자의 비밀 정보를 얻거나, 도청된 메시지를 활용하여 이후 설명되는 여러 가지 공격방법을 적용하여 사용자의 위치 정보를 얻을 수도 있다. RFID 시스템은 무선 통신을 사용하기 때문에 공격자가 통신을 도청하는 것을 막는 것은 불가피하다. 그러므로 도청이 불가능하게 하는 것이 목적이기 보다는 도청하는 것만으로는 사용자의 비밀 정보를 얻을 수 없으며, 도청된 정보를 통해 다른 공격에 활용 가능한 어떠한 정보도 얻을 수 없도록 하여야 한다.
(2) 위조 : 이 공격은 능동적인 공격자에 의해 이루어지며 공격자는 정당하지 않은 개체를 정당한 것처럼 속여 인증과정을 통과하는 방법이다. 이러한 위조 공격은 두 가지 유형으로 나눌 수 있다.
첫째, 재전송 공격 (Replay Attack)으로서, 공격자는 리더와 특정 태그 사이에 전송되는 데이터를 도청하고 도청한 메시지를 저장한다. 리더와 특정 태그 사이의 통신이 정상적으로 종료된 이후에 공격자는 임의의 태그를 특정 태그로 가장하기 위해 저장한 메시지를 사용한다. 우선, 공격자는 특정 태그와 리더 사이의 통신을 도청하고 도청한 데이터를 임의의 태그에 도청한 데이터를 저장한다. 리더로부터 질의를 받았을 때 임의의 태그는 저장된 메시지를 전송한다. 리더는 전송된 메시지를 통해서 자신과 통신하는 태그를 이 메시지를 생성한 태그로 인식 가능하다. 즉, 공격자는 임의의 태그를 특정 태그로 위조가능하다. 둘째, 스푸핑 공격(Spoofing Attack)으로서, 이 공격을 위해서 우선, 공격자는 리더로 가장하여 특정 태그, 위조하고자 하는 태그로부터 전송되는 데이터를 받는다. 공격자는 데이터를 받고 리더와 태그 사이의 정상적으로 통신이 종료되기 전에 그 세션을 종료한다. 공격자는 그 태그로부터 전송받은 데이터를 사용하여 리더를 속여 특정 태그인척 할 수 있다. 예로 들면, 상점에서 태그가 내장된 싼 가격의 상품에 공격자는 리더로 위장하여 인증 받을 수 있는 정보를 얻고 정상적인 인증과정을 위한 과정이 완료되기 전에 통신을 종료한다. 그 이후에 공격자는 고가의 상품을 구매하는 과정에서 싼 가격의 상품에서 얻은 데이터를 사용하여 고가의 상품을 싼 가격의 상품으로 인증 받고 구매할 수 있다.
(3) 메시지 차단 (message interception) : 이 공격은 서비스 거부 공격의 유형의 것으로, 공격자가 고의로 리더와 태그 사이에 전송되는 데이터를 가로챌 수 있다 ( 때로는 시스템의 문제로 인해서 발생하기도 한다 ). 이러한 공격은 인증 세션의 비정상적인 종료뿐만 아니라 메시지 유실로 인해 리더와 태그 사이의 동기가 어긋나게 되어 정당한 태그가 더 이상 사용될 수 없는 경우가 발생된다.
따라서 안전한 RFID 시스템 요구사항은 다음과 같다. RFID 시스템에서의 여러 가지 위협으로부터 사용자 프라이버시를 보호하기 위해 앞에서 언급한 공격으로 안전한 RFID 시스템을 설계하여야 한다. 결과적으로, RFID 시스템은 다음의 요구사항들을 만족하여 한다.
첫째, 구별 불가능성으로서, 태그의 출력 값은 랜덤 값과 구별 불가능해야 하며, 태그의 ID와 연결되지 않아야 한다. 만약 공격자가 특정 태그의 출력 값을 랜덤 값과 구별 가능하거나 태그들이 출력한 값들에서 특정한 태그의 값들을 찾아 낼 수 있다면, 공격자는 특정 태그를 구별 가능하고 추적 가능하다. RFID 시스템에서는 통신하는 상대 (리더 나 태그) 에 대한 인증 절차 없이 통신이 이루어지기 때문에 공격자는 리더나 태그에 대해 위조할 수 있다. 그래서 RFID 시스템은 리더와 태그 사이의 통신에서 상호 인증하는 과정이 필요하다.
둘째, 상호 인증으로서, 상호 인증이란 태그 (또는 리더) 가 자신과 통신하는 리더 (또는 태그)가 정당한 개체라고 확신하는 것이다.
(1) 리더의 태그 인증 : 리더는 자신과 통신하는 태그가 정당한 태그라는 것을 확신할 수 있어야만 한다. 만약 리더가 태그의 정당성을 인증하는 과정을 수행하지 않는다면, 공격자는 RFID 시스템에 위조 공격 (재전송, 스푸핑)을 행할 수 있다.
재전송 공격의 경우, 공격자는 리더와 특정 태그 사이의 통신을 도청하여 저장한다. 그 이후 공격자는 리더의 질의에 대해 특정 태그로 임의의 태그를 위장하기 위해서 저장했던 메시지를 전송한다. 만약 리더가 태그를 인증하는 과정을 수행한다면, 공격자는 특정 태그로 위장할 수 없을 것이다. 스푸핑 공격의 경우, 공격자는 리더로 위장하여 특정 태그의 정보를 얻는다. 이 과정은 재 전송 공격과 달리 태그와 리더 사이의 하나의 세션이 완료되기 전에 필요한 정보를 태그로부터 얻고 그 세션을 종료한다. 그 이후 공격자는 특정 태그를 임의의 태그로 위장 할 수 있다.
(2) 태그의 리더 인증 : 태그는 자신과 통신하는 리더가 정당한 태그라는 것을 확신 할 수 있어야만 한다. 만약 태그가 리더의 정당성을 인증하는 과정을 수 행하지 않는다면, 공격자는 RFID 시스템에서의 리더로 위장할 수 있으며 특정 태그에 질의를 통해서 태그의 정보를 얻을 수 있다. 이러한 문제점은 공격자가 자신과 통신하는 태그가 정당한지를 확인하지 않고 비밀 정보를 전송하는 것에서 발생하는 사용자의 프라이버시 침해 문제를 야기 시킨다.
상술한 바와 같이, RFID 시스템에서 공격자는 리더와 태그 사이의 통신에서 고의로 메시지를 차단할 수 있으며, 이로 인해서 정당한 태그가 더 이상 동작하지 못하게 될 수도 있다. 그러므로 공격자의 메시지 차단 공격에 대해서 RFID 시스템은 다음과 같은 조건을 만족해야 한다.
첫째, 메시지 차단으르서 만약 공격자가 고의로 메시지 차단이 발생한 경우, 데이터베이스는 메시지 차단(유실) 이 발생하였다는 것을 감지할 수 있어야 한다. 만약 태그가 리더로부터 메시지를 받고 그 메시지를 다음 세션에 리더와의 통신에 사용한다면, 태그와 데이터베이스 사이의 인증을 위한 메시지에 대한 동기화를 유지하는 것이 중요하다. 그러므로 공격자의 메시지 차단으로 이전 세션의 인증 메시지를 사용하여 태그와 통신하는 경우 데이터베이스는 정당한 태그가 정상적으로 동작할 수 있도록 인증에 필요한 데이터를 복원할 수 있어야 한다. 이 요구사항은 태그와 데이터베이스 사이에 데이터 동기화가 필요 없는 환경에서는 고려되지 않을 수도 있다.
한편, 본 발명에 의한 RFID 인증시스템은 최저가의 태그에 적합한 효율적이고 안전한 상호 인증을 가능하게 한다. 본 발명에 의한 RFID 인증시스템은 단순한 비트 연산만을 사용하기 때문에 효율적이며, 공격자가 리더와 태그 사이의 통신을 모두 도청 가능하다는 가정에서도 안전하다. 또한 시스템 초기화 단계와 상호 인증 단계로 구성된다.
우선, 본 발명을 설명하기 전에 본 발명에서 사용되는 표시법에 대해서 알아보도록 한다. 비트의 논리합(OR) 연산자는 +로 표시하고 비트의 배타논리합(XOR) 연산자는 로 표시한다. 두 메시지 m 과 w의 연접은 m||w로 표시한다. mi는 i번째 세션에서 사용된 메시지를 표시한다. 설명된 표시법을 바탕으로 하여 본 발명을 설명한다. 본 발명은 우선 첫 번째 세션을 설명하고 있으며 그 이후의 세션은 동일 방법으로 확장하여 적용하면 된다.
도 2는 본 발명에 의한 RFID 인증시스템의 구성을 블록도로 도시한 것으로서, 태그(200), 리더(220) 및 데이터베이스(240)를 포함하여 이루어진다. 상기 태그(200)는 비밀값(), 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있으며, 질의가 오면 을 생성하여 리더에 전송하고, 리더로부터 를 받으면 상기 , 로부터 다음 세션에 사용할 r2, s2, k2, t2 를 추출하여 을 생성하여 리더에 전송하고, 상기 D1 값을 받아 리더를 인증한다. 또한 상기 태그(200)는 전송받은 C1 값과 자신이 생성한 C1 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체함이 바람직하다.
도 3은 상기 태그(200)의 보다 상세한 구성을 블록도로 도시한 것으로서, 인증파라미터 태그저장부(300), 질의처리부(310), 파라미터 추출부(320), C1 생성부(330) 및 리더 인증부(340)를 구비하며, 랜덤값 갱신부(350)를 더 구비함이 바람직하다.
상기 인증파라미터 태그저장부(300)는 네 개의 비밀값(), 네 개의 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있다. 상기 질의처리부(310)는 질의가 오면 을 생성하여 리더에 전송한다. 상기 파라미터 추출부(320)는 리더로부터 를 받으면 , k1, t1 을 사용하여 으로부터 다음 세션에 사용할 r2, s2 를 추출하고, 를 사용하여 로부터 다음 세션에 사용할 k2, t2 를 추출한다.
상기 C1 생성부(330)는 상기 추출한 값 r2, s2 을 사용하여 을 생성하여 리더에 전송한다. 상기 리더인증부(340)는 상기 D1 값과 자신이 생성한 값이 동일한지를 확인하여 리더를 인증한다. 상기 랜덤값 갱신부(350)는 전송받은 C1 값과 자신이 생성한 C1 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체한다.
상기 리더(220)는 상기 태그(200)에게 질의를 보내고, 태그(200)로부터 상기 A1 , C1 을 받으면 이를 데이터베이스(240)로 전송하고, 데이터베이스로부터 상기 , 및 를 받으면 이를 태그(200)에게 전송한다.
상기 데이터베이스(240)는 비밀값(), 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있으며, 리더로부터 상기 A1 을 받으면 랜덤 값 r2, s2, k2, t2 및 를 생성하여 리더에게 전송하고, 리더로부터 상기 C1을 받아 태그를 인증하고, 을 생성하여 리더에게 전송한다. 상기 데이터 베이스(240)는 태그 인증과정에서 만약 리더로부터 받은 C1 값과 자신이 생성한 C1 값이 동일하지 않다면 리더에게 "프로토콜 중단” 메시지를 전송하여 프로토콜을 중단하고, 동일하다면 이미 저장하고 있는 비밀 값을 다른 행에 동일한 값으로 저장하고, 새로 생성한 랜덤 값 r2, s2, k2, t2도 상기 다른 행에 저장한다. 또한 A2를 생성하여 상기 다른 행의 인덱스로 사용하고, AE-필드의 첫 번째 행은 A2로 채워지고 두 번째 행은 A1으로 채워 서로 참조하도록 함이 바람직하다.
도 4는 상기 데이터베이스(240)의 보다 상세한 구성을 블록도로 도시한 것으로서, 인증파라미터 DB 저장부(400), B1 생성부(410), 태그인증부(420), D1 생성부(430)를 구비하며, 태그인증처리부(440) 및 데이터유실 처리부(450)를 더 구비함 이 바람직하다. 상기 인증파라미터 DB 저장부(400)는 네 개의 비밀값(), 네 개의 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있다. 상기 B1 생성부(410)는 리더로부터 상기 A1 을 받으면 랜덤 값 r2, s2, k2, t2 을 생성하고, 이를 이용해 를 생성하여 리더에게 전송한다. 상기 태그인증부(420)는 리더로부터 상기 C1을 받으면 상기 C1 값이 데이터베이스에서 생성한 과 동일한지를 확인하여 태그를 인증한다. 상기 D1 생성부(430)는 을 생성하여 리더에게 전송한다. 상기 태그인증처리부(440)는 만약 두 값이 동일하지 않다면 리더에게 "프로토콜 중단” 메시지를 전송하여 프로토콜을 중단하고, 동일하다면 이미 저장하고 있는 비밀 값을 다른 행에 동일한 값으로 저장하고, 새로 생성한 랜덤 값 r2, s2, k2, t2도 상기 다른 행에 저장한다. 상기 데이터유실 처리부(450)는 A2를 생성하여 상기 다른 행의 인덱스로 사용하고, AE-필드의 첫 번째 행은 A2로 채워지고 두 번째 행은 A1으로 채워 서로 참조하도록 한다.
도 5는 본 발명에 의한 RFID 인증시스템에서의 인증방법을 설명하기 위한 인증절차를 도시한 것으로서, 크게 초기화 단계와 상호인증단계로 이루어진다. 도 6은 도 5를 보다 상세히 도시한 것이다.
도 5 및 도 6을 참조하여 본 발명에 의한 RFID 인증 방법을 설명하기로 한 다. 먼저 초기화 단계를 설명하면, 초기화 단계에서는 태그와 데이터베이스는 비밀 정보와 태그의 ID를 저장한다. 태그 제조자는 다음과 같은 초기화 단계를 수행한다. 태그 제조자는 n 비트의 네 개의 비밀 값 를 생성하고 96 비트의 태그 ID를 선택한다. Auto- ID 센터에 의한 EPC (Electronic Product Code)의 표준은 태그 ID 의 길이를 96 비트로 권고하고 있다. 또한 태그 제조자는 n 비트의 네 개의 랜덤 값 r1, s1, k1, t1 를 선택한다. 또한 태그 제조자는 선택한 4개의 랜덤 값, 비밀 값, 태그의 ID를 데이터베이스의 첫 번째 행에 저장하고, 태그에도 동일하게 저장한다. 데이터베이스의 AE-필드는 Null 값으로 초기화 된다. 데이터베이스의 데이터 필드는 각각의 태그와 관련된 태그 ID, 태그 위치 정도 등 다양한 정보들을 포함한다.
데이터베이스에서 사용될 AE-필드는 현재 세션에서 데이터 유실이 발생하였을 때 데이터베이스에서 태그의 이전의 데이터를 찾기 위해 사용된다. AE-필드가 데이터 유실 복구의 성질을 제공하기 위해서는 데이터베이스는 다음과 같이 동작한다. 데이터베이스는 하나의 세션이 끝난 후에는 항상 두개의 행이 생성된다. 첫 번째 행에는 다음 세션에 사용될 값을 저장하고 두 번째 행에는 이전 세션에 사용된 값을 저장한다. 만약 공격자가 태그로 전송되는 데이터를 가로챈다면, 태그는 현재의 세션에서 새로운 값을 받지 못하여 다음 세션에서 이전 세션에서 리더에 전송했던 것과 동일한 값을 전송하게 된다. 이 과정에서 데이터베이스는 AE-필드를 참조하여 데이터베이스에서 사용된 태그의 값들을 찾을 수 있다.
다음으로 상호 인증 단계를 설명하기로 한다. 이 과정에서는 태그와 리더는 다음의 과정을 통해서 서로를 인증한다.
단계 1 : 리더는 태그에 질의를 보낸다.(참조번호 ①)
단계 2 : 태그는 리더의 질의에 응답하기 위해 다음의 과정을 수행한다. 태그는 비밀 값 를 사용하여 n 비트의 을 생성한다. 태그는 리더의 질의에 대한 응답으로 A1을 전송한다.(참조번호 ②)
단계 3 : 리더는 태그로부터 A1을 받았을 때 다음의 과정을 수행한다. 리더는 데이터베이스에 A1을 전송한다.(참조번호 ③) 데이터베이스는 A1을 사용하여 데이터베이스에서의 위치를 찾는다. 데이터베이스는 네 개의 랜덤 값 r2, s2, k2, t2 을 생성하고, 2n 비트의 를 생성하여 리더에게 , 을 전송한다. (참조번호 ④) 리더는 태그에 , 을 전송한다.(참조번호 ⑤)
단계 4 : 리더는 , 을 받고 다음의 과정을 수행한다. 태그는 저장된 값 , k1, t1 을 사용하여 에서 다음 세션에 사용할 r2, s2 을 추출해 내고, 를 사용하여 에서 다음 세션에 사용할 k2, t2 을 추출해 낸다. 태그 는 추출한 값 r2, s2 을 사용하여 2n 비트의 을 생성하여 리더에 전송한다.(참조번호 ⑥)
단계 5 : 리더는 태그로부터 받고 다음이 과정을 수행하여 태그를 인증한다. 리더는 데이터베이스에 C1 값을 전송한다.(참조번호 ⑦)
데이터베이스는 리더로부터 받은 값이 데이터베이스에서 생성한 과 동일한지를 확인하는 것으로 태그를 인증한다. 만약 두 값이 동일하지 않다면, 데이터베이스는 리더에게 "프로토콜 중단” 메시지를 전송하고 프로토콜을 중단한다. 그렇지 않다면, 데이터베이스는 데이터베이스의 두 번째 행에 첫 번째 행의 비밀값과 새로 생성한 랜덤값 r2, s2, k2, t2 을 저장한다.
단계 6 : 태그는 리더로부터 받은 D1 값과 자신이 생성한 값이 동일한지를 확인하는 것으로 리더를 인증한다. 만약 두 값이 동일하면, 태그는 저장된 랜덤 값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체한다.
본 발명에 의한 RFID 인증 시스템 및 그 방법의 안전성과 효율성을 설명하기로 한다. 먼저, 안전성을 설명한다. 본 발명은 안전한 RFID 시스템 설계 요구조건을 고려하여 분석한다. 본 발명은 상호 인증, 메시지 차단과 구별 불가능의 요구조건을 만족한다.
상호 인증은 다음과 같다. 만약 리더와 태그가 본 발명의 방법을 수행하면, 그들은 서로를 정당한 개체로 인증해야만 한다. 본 발명에서 태그와 리더 사이에 전송되는 메시지는 배타논리합(XOR) 연산과(또는) 논리합(OR) 연산을 사용하기 때문에 전송된 메시지에 사용된 랜덤 값을 아는 공격자만이 전송되는 메시지에서 비밀 값을 추출해 낼 수 있다. 그러나 랜덤 값은 데이터베이스에서 생성한 값이기 때문에 공격자가 랜덤 값을 얻기 위해 태그의 비밀 값들에 대해서 알고 있어야만 한다. 이것은 정당한 개체(태그, 리더) 만이 본 발명을 통해 서로를 인증할 수 있는 메시지를 생성 할 수 있다. 더욱이, 태그에 저장된 랜덤 값들은 데이터베이스에서 생성하여 전송한 랜덤 값으로 대체된다. 그래서 본 발명에 의한 방법은 위장 공격, 재전송과 스푸핑 공격에 안전하다.
(1) 리더의 태그 인증 : 만약 태그가 정당하지 않다면, 그 태그는 상기 단계 2, 4의 메시지를 생성할 수 없다. 상기 단계 2, 4의 메시지는 비밀 값과 랜덤 값으로 구성된다. 본 발명은에서는 공격자가 도청을 통해서 랜덤 값과 비밀 값에 대한 정보를 얻을 수 없다. 그래서 정당하지 않은 태그가 리더의 태그 인증 과정을 통과하기 위해 단계 2, 4에 적합한 메시지로 , 에서 n 비트, 2n 비트의 랜덤한 값들을 선택해야만 한다. 이 과정에서 공격자의 정당하지 않은 태그가 정당 한 개체로 인증될 수 있는 확률은 최대 이다. 이 확률은 아주 작은 값이다. 그러므로 정당하지 않은 태그가 리더의 태그 인증 과정인 단계 5를 통과할 수 있는 데이터를 생성하는 것이 불가능하다. 이러한 이유에서 제안 프로토콜은 위장 공격인 재전송과 스푸핑 공격에 안전하다. 공격자가 스푸핑 공격을 행할 경우, 공격자는 리더로 가정하여 태그로부터 A의 정보를 얻을 지라도 단계 4 의 값을 생성 할 수 없기 때문에 스푸핑 공격에 성공 할 수 없다. 또한, 재전송의 공격의 경우, 공격자가 이전 세션에서 도청한 값 A을 사용하여 리더에 전송 할 지라도 세션마다 새로운 랜덤 값을 생성하여 태그에 전송하기 때문에 이전에 도청한 C 값으로 리더의 인증 과정 단계 5를 통과 할 수 없다.
(2) 태그의 리더 인증 : 만약 리더가 정당하지 않다면, 그 리더는 단계 3, 5의 메시지를 생성 할 수 없다. 단계 3, 5의 메시지도 비밀값과 랜덤 값으로 구성된다. 본 발명에서 공격자는 단계 3, 4의 메시지를 생성하는데 사용될 랜덤 값과 비밀 값을 얻을 수 없다. 이 과정에서 공격자의 정당하지 않은 리더가 정당한 개체로 인증 될 확률은 '리더의 태그 인증' 과정에서와 같은 성공 확률을 갖는다. 이 확률은 아주 작은 값이다. 그러므로 정당하지 않은 리더는 결코 단계 6의 과정을 통과 할 수 없다. 그 후, 태그는 더 이상 확인 과정에 실패한 리더와 통신을 멈추고 기존의 랜덤 값을 전송받은 랜덤 값으로 대체하지 않는다. 이와 같이 단지 정당한 리더와 태그들만이 본 발명을 만족하는 정당한 메시지를 생성 할 수 있다.
본 발명에서 태그는 리더가 전송하는 새로운 랜덤 값을 받아서 다음 세션에 사용한다. 이러한 기법을 사용하는 RFID 시스템에서는 태그와 데이터베이스 사이의 인증을 위해 필요한 메시지에 대한 동기화 유지가 필요하다.
메시지 차단 : 본 발명에서 태그는 리더가 전송하는 새로운 랜덤 값을 받는다. 이 과정에서 메시지 차단의 공격이 발생할 수 있다. 만약 공격자가 리더와 태그 사이에 전송되는 메시지를 가로챈다면 태그는 다음에 리더와 통신하는 과정에서 변경되지 않은 값을 사용하여 응답할 것이다. 본 발명은 상호 인증을 제공하면서 메시지 차단 공격을 감지하고 데이터를 복구하는 기능을 제공한다. 예를 들면, 공격자가 본 발명의 첫 번째 세션의 마지막 단계에 전송되는 메시지 D1을 가로챈다면, 태그는 현재 세션에서 사용된 랜덤 값들을 다음 세션에도 사용하게 된다. 그러나 데이터베이스는 값을 생성해서 전송하면서 그 태그가 다음 세션에 사용할 인덱스 A2를 생성하게 된다. 즉, 데이터베이스와 태그 사이의 동기가 어긋나게 된다. 그 후 리더의 질의를 받은 태그는 A1의 값을 전송하게 된다. 데이터베이스는 값 을 이용하여 태그와 관련된 값이 저장된 데이터베이스의 위치를 찾아낼 수 있다.
게다가 본 발명에서 태그는 매 세션마다 새로운 랜덤 값들을 사용하기 때문에 태그 출력 값들에 대한 구별 불가능의 요구조건을 만족한다.
구별 불가능 : 본 발명에서 랜덤 값 r, s, k, t 은 매 세션마다 리더로부터 새로운 값을 받아 연속적으로 변경된다. 세션마다 새로운 랜덤 값으로 대체되기 때문에 공격자는 랜덤 값과 특정 태그의 출력 값들을 구별할 수 없다. 그래서 공격자는 특정 태그에 대한 어떤 정보도 얻을 수 없으며 특정 태그의 이동 경로를 추적 할 수 없다. 이것은 누구도 그 특정 태그를 소유한 사용자의 위치 정보를 알 수 없 다는 것을 의미한다.
다음으로 본 발명에 의한 RFID 인증시스템 및 그 방법의 효율성을 설명하기로 한다. 종래 제안된 기법들은 해쉬 함수와 암호화 알고리즘과 같은 암호학적 함수를 사용한다. 그러나 AES와 같은 대칭 암호화 알고리즘을 구현하는데 20,000에서 30,000 개의 게이트 (gate)가 필요하며 SHA-1과 같은 해쉬 함수를 구현하는데도 많은 비용이 요구된다.
저가의 RFID 시스템은 전력 소비, 연산 처리 시간, 저장, 게이트 (gate) 수 와 같은 부분에서 많은 제약을 갖는다. MIT의 Auto-ID 센터는 5센트의 저가의 태그의 설계에 대해서 언급하였다. 이러한 저가의 태그는 대략 500-5,000 게이트 정도로 구현 될 수 있다. 그래서 이전에 제안된 인증 프로토콜은 최저가의 RFID 시스템에는 적용할 수 없다. 저가의 태그에 제안한 프로토콜에서 사용된 단순한 배타논리합(XOR), 논리합(OR)연산을 구현하는 것이 가능하기 때문에 제안된 기법은 저가의 RFID 시스템에 가장 적합하다.
이전에 제안된 기법에서 가장 저가의 RFID 시스템에 적용 가능한 기법은 Juels의 기법이다. 이 기법은 세션의 마지막 단계에서 다음 세션에 사용될 ℓ비트 랜덤값 (3k)·m (m는 태그의 비밀 값의 개수이며 공격자의 세션 도청 가능횟수와 관련된 값, 3k는 태그에 저장된 비밀 값의 개수)를 전송받는다. 태그는 전송 받은 랜덤 값을 사용하여 기존의 값들을 변경한다. 만약 Jules 의 기법에서 시스템의 안전성을 강화하기 위해 값을 크게 가정한다면, 매 세션을 도청하는 공격자에 안전한 시스템만큼의 안전성을 가질 수도 있다. 그러나 m 값이 커지게 되면 마지막 세 션에 태그가 받아서 처리하여야 하는 랜덤 값의 양이 그만큼 증가하게 되서 비효율적이다. 본 발명에 의한 방법은 단지 2ℓ비트 두개의 메시지를 리더로부터 받고 4개의 랜덤 값을 다음 세션의 전송 값을 변경하는데 사용한다. 그러므로 제안하는 기법이 더 효율적이다. 그리고 Juels의 기법은 다음 세션을 위해 전송받은 에 배타논리합(XOR) 연산을 수행하여야 하며 이 기법의 안전성은 공격자의 공격 능력에 따라 달라진다. 만약 공격자가 연속적으로 5세션 이상을 도청 할 수 없다면 정도면 안전 할 것이다. 그러나 제안 기법은 공격자의 공격능력에 의존하지 않으며 8번의 배타논리합(XOR) 연산과 4번의 덧셈을 수행해야 하며, 기존 Juels의 기법은 상호 인증을 위해서 태그에 ℓ비트 (3km + 3k)개의 데이터를 저장하여야 하는 반면 본 발명에 의한 방법은 ℓ비트 8개의 데이터를 저장해야 한다는 점에서 저가형의 태그에 더 적합하다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술 적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
RFID 시스템은 원거리 통신으로 사물을 인식한다는 점에서 물류, 유통, 재고 관리에 유용한 도구가 될 것이다. 그러나 RFID 시스템은 동작 원리의 특성상 사용자의 프라이버시를 침해를 야기시키며 이 문제를 해결해야 한다.
본 발명에 의한 RFID 인증시스템 및 그 방법에 의하면, 단순한 비트 연산을 사용하는 저가의 RFID 시스템에 적합한 안전하고 효율적이다. 또한 안전한 RFID 시스템 설계 요구 조건을 만족할 뿐만 아니라 리더와 태그 사이의 모든 통신을 도청할 수 있는 공격자로부터 안전하다.
Claims (10)
- 비밀값(), 랜덤값(r1, s1, k1, t1) 및 태그 ID를 저장하고 있으며, 질의가 오면 을 생성하여 리더에 전송하고, 리더로부터 를 받으면 상기 , 로부터 다음 세션에 사용할 r2, s2, k2, t2 를 추출하여 을 생성하여 리더에 전송하고, 상기 D1 값을 받아 리더를 인증하는 태그;
- 제1항에 있어서, 상기 태그는리더로부터 를 받으면 , k1, t1 을 사용하여 으로부터 다음 세션에 사용할 r2, s2 를 추출하고, 를 사용하여 로부터 다음 세션에 사용할 k2, t2 를 추출하는 파라미터 추출부;
- 제2항 또는 제3항에 있어서, 상기 데이터베이스는만약 두 값이 동일하지 않다면 리더에게 "프로토콜 중단” 메시지를 전송하여 프로토콜을 중단하고, 동일하다면 이미 저장하고 있는 비밀 값을 다른 행에 동일한 값으로 저장하고, 새로 생성한 랜덤 값 r2, s2, k2, t2도 상기 다른 행에 저장 하는 태그인증 처리부; 및A2를 생성하여 상기 다른 행의 인덱스로 사용하고, AE-필드의 첫 번째 행은 A2로 채워지고 두 번째 행은 A1으로 채워 서로 참조하도록 하는 데이터유실 처리부를 더 구비함을 특징으로 하는 RFID 인증시스템.
- 제1항에 있어서, 상기 태그는두 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체하는 랜덤값 갱신부를 더 구비함을 특징으로 하는 RFID 인증시스템.
- 제4항에 있어서, 상기 태그는두 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체하는 랜덤값 갱신부를 더 구비함을 특징으로 하는 RFID 인증시스템.
- 태그, 리더 및 데이터베이스를 포함하여 이루어지는 RFID 태그 인증 시스템에서의 태그 인증 방법에 있어서, 비트 논리합(OR) 연산자를 + 라 하고, 비트 배타논리합(XOR)을 라 표시할 때,(4) 리더가 상기 B1 과 B2 를 받아 태그에게 전송하면, 태그는 상기 , 를 받아 , k1, t1 을 사용하여 B1 으로부터 다음 세션에 사용할 r2, s2 를 추출하고, 를 사용하여 B2 로부터 다음 세션에 사용할 k2, t2 를 추출하며, 상기 추출한 값 r2, s2 을 사용하여 을 생성하여 리더에 전송하는 단계;
- 제7항에 있어서, 상기 (5)단계는만약 두 값이 동일하지 않다면 데이터베이스는 리더에게 "프로토콜 중단” 메시지를 전송하여 프로토콜을 중단하고, 동일하다면 데이터베이스는 이미 저장하고 있는 비밀 값을 다른 행에 동일한 값으로 저장하고, 새로 생성한 랜덤 값 r2, s2, k2, t2도 상기 다른 행에 저장하는 단계;데이터베이스는 A2를 생성하여 상기 다른 행의 인덱스로 사용하고, AE-필드의 첫 번째 행은 A2로 채워지고 두 번째 행은 A1으로 채워짐으로서 서로 참조하도록 구성하는 단계를 더 구비함을 특징으로 하는 RFID 인증시스템에서의 RFID 인증방법.
- 제7항 또는 제8항에 있어서, 상기 (7)단계는두 값이 동일하면 랜덤값 r1, s1, k1, t1 을 r2, s2, k2, t2 으로 대체하는 단계를 더 구비함을 특징으로 하는 RFID 인증시스템에서의 RFID 인증방법.
- 제7항 내지 제9항 중 어느 한 항에 기재된 발명을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050073988A KR100618316B1 (ko) | 2005-08-11 | 2005-08-11 | Rfid 인증 시스템 및 그 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050073988A KR100618316B1 (ko) | 2005-08-11 | 2005-08-11 | Rfid 인증 시스템 및 그 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100618316B1 true KR100618316B1 (ko) | 2006-09-01 |
Family
ID=37625542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050073988A KR100618316B1 (ko) | 2005-08-11 | 2005-08-11 | Rfid 인증 시스템 및 그 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100618316B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100980320B1 (ko) | 2007-10-15 | 2010-09-07 | 고려대학교 산학협력단 | Rfid 환경에서의 태그의 정보 전송 인증 방법,rfid 환경에서의 태그 정보 전송 방법, rfid환경에서의 태그의 정보 전송 인증 장치, 및 rfid환경에서의 태그 정보 전송 시스템. |
CN101561860B (zh) * | 2008-04-17 | 2012-11-28 | 锐迪科微电子(上海)有限公司 | 一种存储卡和读卡器相互认证的方法 |
-
2005
- 2005-08-11 KR KR1020050073988A patent/KR100618316B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100980320B1 (ko) | 2007-10-15 | 2010-09-07 | 고려대학교 산학협력단 | Rfid 환경에서의 태그의 정보 전송 인증 방법,rfid 환경에서의 태그 정보 전송 방법, rfid환경에서의 태그의 정보 전송 인증 장치, 및 rfid환경에서의 태그 정보 전송 시스템. |
CN101561860B (zh) * | 2008-04-17 | 2012-11-28 | 锐迪科微电子(上海)有限公司 | 一种存储卡和读卡器相互认证的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yang et al. | Mutual authentication protocol for low-cost RFID | |
Lim et al. | Strong and robust RFID authentication enabling perfect ownership transfer | |
Avoine et al. | RFID traceability: A multilayer problem | |
Juels et al. | Defining strong privacy for RFID | |
Tan et al. | Severless search and authentication protocols for RFID | |
Cho et al. | Consideration on the brute-force attack cost and retrieval cost: A hash-based radio-frequency identification (RFID) tag mutual authentication protocol | |
JP5401507B2 (ja) | 無線識別システムを利用した購買された品物の情報確認方法、その記録媒体及びそのシステム | |
Ranasinghe et al. | Security and privacy: Modest proposals for low-cost RFID systems | |
Toiruul et al. | An advanced mutual-authentication algorithm using AES for RFID systems | |
Gharooni et al. | A confidential RFID model to prevent unauthorized access | |
David et al. | Providing strong security and high privacy in low-cost RFID networks | |
Kim et al. | MARP: Mobile agent for RFID privacy protection | |
Ranasinghe et al. | Confronting security and privacy threats in modern RFID systems | |
Ranasinghe et al. | Security and privacy solutions for low-cost rfid systems | |
Kumari | Real time authentication system for RFID applications | |
Yang | Lightweight authentication protocol for mobile RFID networks | |
Syamsuddin et al. | A survey on low-cost RFID authentication protocols | |
Caballero-Gil et al. | Lightweight authentication for RFID used in VANETs | |
KR100605138B1 (ko) | 알에프아이디 시스템에 있어서의 인증방법 | |
KR100618316B1 (ko) | Rfid 인증 시스템 및 그 방법 | |
Sadighian et al. | FLMAP: A fast lightweight mutual authentication protocol for RFID systems | |
KR100680272B1 (ko) | Rfid인증 시스템 및 그 방법 | |
Rahman et al. | A secure RFID authentication protocol with low communication cost | |
KR20080107188A (ko) | 분산된 데이터베이스를 갖는 무선인식시스템에서 효율적인인증방법 및 무선인식시스템 | |
Wu et al. | RFID System Security |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140120 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20140630 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20151026 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160615 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |