KR100605138B1 - 알에프아이디 시스템에 있어서의 인증방법 - Google Patents

알에프아이디 시스템에 있어서의 인증방법 Download PDF

Info

Publication number
KR100605138B1
KR100605138B1 KR1020050027964A KR20050027964A KR100605138B1 KR 100605138 B1 KR100605138 B1 KR 100605138B1 KR 1020050027964 A KR1020050027964 A KR 1020050027964A KR 20050027964 A KR20050027964 A KR 20050027964A KR 100605138 B1 KR100605138 B1 KR 100605138B1
Authority
KR
South Korea
Prior art keywords
tag
way function
reader
output value
random number
Prior art date
Application number
KR1020050027964A
Other languages
English (en)
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 KR1020050027964A priority Critical patent/KR100605138B1/ko
Application granted granted Critical
Publication of KR100605138B1 publication Critical patent/KR100605138B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record 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/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지는 알에프아이디 시스템에 있어서, 상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[과정 1 : Challenge 과정], 상기 태그는 상기 난수 RR와 태그 고유의 인증정보 ID를 연접시키고 특정 일방향함수 H1에 입력하고, 일방향함수의 출력값 H1(ID∥RR)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더에게 전송하며[과정 2 : Response 과정], 상기 리더는 상기 난수 RR과 태그로부터 수신한 H1(ID∥RR), 난수 RT를 백-엔드 데이터베이스(DB)로 전송하고(과정 3), 상기 백-엔드 데이터베이스는 저장된 모든 ID를 상기 난수 RR와 연접시키고 일방향함수 H1에 입력하며, 이 일방향함수의 출력값 H1(ID∥RR)과 상기 리더로부터 수신한 일방향 함수의 출력값 H1(ID∥RR)를 비교하여, 상기 리더로부터 수신한 일방향함수의 출력값 H1(ID∥RR)과 일치하는 출력값 H1(ID∥RR)이 존재하는 경우, 상기 ID를 태그의 ID로 인증하고(과정 4), 이 ID와 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H1와 다른 일방향함수 H2에 입력하여 생성한 H2(ID∥RT)를 리더로 전송하고(과정 5), 상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 일방향함수의 출력값 H2(ID∥RT)를 태그로 전송하며(과정 6), 상기 태그는 자신의 ID와 인증과정(세션)에서 생성한 RT를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥RT)과 리더로부터 수신한 일방향함수의 출력값 H2(ID∥RT)을 비교하여, 일방향함수의 출력값 H2(ID∥RT)이 일치하면 백-엔드 데이터베이스를 인증(과정 7)하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법을 제공한다.

Description

알에프아이디 시스템에 있어서의 인증방법{Authorization method in radio frequency identification system}
도 1은 RFID 시스템의 구성을 개략적으로 나타낸 도면이다.
도 2는 종래기술1[헤쉬-락 기법]에 따른 인증방법을 도식적으로 나타낸 도면이다.
도 3은 종래기술2[개선된 헤쉬-락 기법]에 따른 인증방법을 나타낸 도면이다.
도 4는 종래기술3[해쉬-체인 기법]에 따른 인증방법을 나타낸 도면이다.
도 5는 종래기술4[해쉬 기반 ID 변형 기법]에 따른 인증방법을 나타낸 도면이다.
도 6은 본 발명에서 제안하는 RFID 인증방법의 기본적인 실시예를 나타낸 것으로 일방향함수와 난수를 이용하여 안전한 인증이 이루어지는 과정을 도식적으로 나타낸 도면이다.
도 7은 도 6의 실시예의 변형예1을 나타낸 도면으로, 태그가 하나의 일방향함수만을 내장하여도 되도록 일방향함수의 입력값에 약속된 서로 다른 값을 덧붙이는 인증방법을 도식적으로 나타낸 도면이다.
도 8은 변형예2를 나타낸 도면으로, 태그가 하나의 일방향함수만을 내장하여도 되도록 일방향함수의 입력값을 비대칭적으로 한 인증방법을 나타낸 도면이다.
도 9는 변형예3을 나타낸 도면으로, 별도의 난수생성기를 사용하지 않고 기존의 일방향함수를 이용하여 난수를 생성하는 인증방법을 나타낸 도면이다.
도 10은 변형예4를 나타낸 도면으로, 별도의 난수생성기를 사용하지 않고 태그 내의 시간(태그 내의 카운터 수), T=RR+1 등을 난수로 사용하는 인증방법을 나타낸 도면이다.
도 11은 변형예5를 나타낸 도면으로 상기 변형예2와 변형예3을 통합한 형태의 인증방법을 나타낸 도면이다.
[본 발명에 사용되는 파라미터의 설명]
Tag : RFID 태그. 아래첨자 T 또는 t는 태그를 나타냄.
Reader : RFID 리더. 아래첨자 R 또는 r은 리더를 나타냄.
DB : 백-엔드 데이터베이스 또는, 태그 인증 서버
Query : 질의. 태그의 응답을 요청.
ID : 태그 고유의 비밀 인증정보. IDk는 k(k 는 자연수)번째 태그의 ID를 의미함.
H 또는 G: 일방향함수. 서로 다른 일방향함수는 hj 또는 gj(j는 자연수)로 표시. 즉 H1, H2 또는 G1 또는 G2 은 서로 다른 일방향함수임.
일방향함수 H 또는 G는 다음의 조건을 만족하는 함수임.
- 일방향함수값 H(M)으로부터 정보 M을 찾는 것은 계산상 불가능해야함.
- 정보 M과 일방향함수값 H(M)이 주어졌을 때, H(M´)=H(M)이 되는 M과는 다른 정보 M´를 찾는 것이 계산상 불가능해야함.
- (정보 M과 일방향함수값 H(M)이 주어지지 않은 상태에서) H(M)=H(M´)이 되는 서로 다른 정보 M과 M´를 찾는 것이 계산상 불가능해야함.
RR : 리더가 인증과정(세션)마다 생성하여 태그에게 전송하는 난수.
RT : 태그가 생성하는 난수.
RT i은 i번째 인증과정(세션)에서 태그가 생성한 난수를 의미함.
∥ : 연접(Concatenate function). 예) A=0100, B=1100라면 A||B=01001100
→ : 전송. 예) A → B는 A에서 B로 정보를 전송함을 의미함.
Figure 112005017652178-pat00001
: 배타적논리합(XOR 또는, Exclusive OR). 각 비트(자릿수)끼리 비교하여 동일하면 0, 서로 다르면 1. 예) A=0011, B=0101이라면 A
Figure 112005017652178-pat00002
B =0110.
Figure 112005017652178-pat00003
: 비교(Comparison). 기호 양변의 두 값이 동일한 값인지 아닌지를 판별함.
s : 비밀정보(Secret information). st,i는 태그 t의 i번째 인증과정(세션)에서의 비밀정보를 의미함.
a : 응답값(Answer). at,i는 태그 t의 i번째 인증과정(세션)에서의 리더로의 응답값을 의미함.
TID : 최근에 마지막으로 수행한 인증과정(세션)을 나타내는 수
LST : 최근에 마지막으로 수행한 성공한 인증과정(세션)을 나타내는 수
저자 제목 게재지 권, 호 페이지 게재일
S. A. Weis, S. E. Sarma, R. L. Rivest, D. W. Engels Security and Privacy Aspects of Low-Cost Radio Frequency Identification Systems Proc. of Security in Pervasive Computing 2003 LNCS 2802 pp.201 -212 2004
S. E. Sarma, S. A. Weis, D. W. Engels RFID Systems and Security and Privacy Implications Proc. of CHES 2002 LNCS 2523 pp.454 -469 2003
S. E. Sarma, S. A. Weis, D. W. Engels RFID systems, Security & Privacy Implications White Paper MIT-AUTOID-WH-014 - - 2002
S. A. Weis Security an Privacy in Radio-Frequency Identification Devices MIT MS - - 2003.5
A. Juels, R. Pappu Squealing Euros : Privacy protection in RFID-enabled banknotes Proc. of Financial Cryptography'03 LNCS 2742 pp.103 -121 2003
A. Juels, R. L. Rivest, M Szydlo The Blocker Tag : Selective Blocking of RFID Tags for consumer Privacy Proc. of 10th ACM Conference on Computer and Communications Security - pp.103 -111 2003
M. Ohkubo, K. Suzuki, S. Kinoshita Hash-Chain Based Forward-Secure Privacy Protection Scheme for Low-Cost RFID Proc. of SCIS 2004 - pp.719 -724 2004
D. Henrici, P. Muller, Hash-based Enhancement of Location Privacy for Radio-Frequency Identification Devices using Varying Identifiers Varying Proc. of the Second IEEE PERCOMW'04 - pp.149 -153 2004
S. E. Sarma, S. A. Weis, D. W. Engels Radio-Frequency Identification : Secure Risks and Challenges RSA Laboratories Cryptobytes, vol. 6, no. 1 pp2-9. 2003
본 발명은 챌린지-레스폰스(Challenge-Response) 방식을 기반으로 하고, 난수를 이용하며, 태그의 인증정보가 일방향함수를 이용하여 숨겨지므로, 재전송 공격 및 스푸핑 공격에 대하여 안전하게 된 알에프아이디 시스템에서의 인증방법에 관한 것이다.
일반적으로, RFID(Radio Frequency Identification) 시스템은 무선 주파수를 이용한 자동인식기술로서 물리적 접촉 없이 개체의 정보를 읽거나 기록할 수 있는 시스템이다. 최근 들어 물류 및 유통 비용을 절감하기 위한 자동 인식 기술의 하나로 주목 받기 시작하면서 RFID 시스템에 대한 활발한 투자와 연구가 이루어지고 있으며, 기존의 바코드 방식이 물품 수명이 다할 때까지 평균 1회 정도 사용되는 것에 비해 물류 및 유통 과정에 RFID 시스템을 적용할 경우, 자동인식의 장점뿐만 아니라 태그 내의 정보를 이용한 지속적인 서비스가 가능하기 때문에 많은 기업들이 RFID 시스템에 관심을 보이고 있다.
도 1에 나타낸 바와 같이 RFID 시스템은, 일반적으로 태그, 리더, 그리고 백 앤드 데이터베이스로 구성된다.
먼저, 도 1a를 참조하면, ●로 표시되는 태그(Tag)는 RFID 시스템에서 리더의 요청에 대하여 사물, 동물, 사람 등의 식별 정보를 송신하는 것으로서, 일명 트랜스폰더(Transponder)라고도 한다. 상기 태그의 구성은 무선 통신을 위한 결합장치(Coupling element)와 연산을 수행하고 정보를 저장하는 마이크로칩으로 이루어져 있으며, 전력을 공급받는 방법에 따라 능동형 태그(Active tag)와 수동형 태그(Passive tag)로 분류한다.
한편, 리더(Reader)는, 일명 트랜시버(Tranceiver)라고도 불리는데, 여러 개의 안테나와 연결되어 있어 상기 태그(T)가 송신한 식별 정보를 수신할 수 있다. 리더는, 태그가 수동형일 경우, 태그(T)에게 RF 신호(Radio Frequency Signal)를 전송하여 전력을 공급하고, 태그로부터 수신한 정보를 백-엔드 데이터베이스로 전 송한다. 그리고 리더는 태그의 정보를 읽거나 기록할 수 있다.
또한, 백-엔드 데이터베이스(DB: Back-end database)는, 상기 리더가 수집한 정보를 저장하며, 연산 능력이 낮은 태그 또는 리더를 대신하여 복잡한 연산을 수행하는 서버나, 미들웨어 또는, 데이터베이스를 통칭하는 것으로, 태그를 식별할 수 있는 정보를 저장하고 있으므로 리더가 태그로부터 수집한 정보의 진위를 판별하는 기능을 수행한다.
한편, 도 1b에 있어서 리더의 전방위 영역과, 태그의 후방위 영역이 도시되는데, 전방위 영역(Forward range)은 리더가 RF 신호를 태그로 전송할 수 있는 영역이며, 후방위 영역(Backward range)은 태그가 리더의 요청에 대하여 자신의 정보를 전송할 수 있는 영역이다. 태그의 전송 능력이 리더의 전송 능력에 비해 상대적으로 낮기 때문에 후방위 영역은 전방위 영역에 비해 작다. 예컨대, 915MHz의 주파수를 사용하는 RFID 시스템의 경우, 수동형 태그는 반경 3미터 정도의 후방위 영역을 갖지만, 리더의 전방위 영역은 반경 100m에 이른다. 그러므로 리더와 태그가 3m 이상 이격된 경우에는 리더의 주파수를 수신한 태그가 자신의 정보를 리더에게 전송하여도 리더가 인식하지 못하는 경우가 발생할 수 있다.
한편, 이러한 RFID 시스템에 있어서의 인증 방법은 안전성과 효율성의 두 가지 측면을 고려하여 이루어져야 한다. 특히, RFID의 자동 인식 기능은 사용자가 인식하지 못하는 사이에 리더와 태그 사이의 불안전한 채널(insecure channel) 내에 위치한 공격자(또는 eavesdropper)에게 중요한 정보를 노출시킬 수 있으며, 사용자의 프라이버시를 침해할 우려가 있다. 그러므로, RFID를 적용한 자동 과금 시 스템, 출입통제 시스템, 물류 시스템 등에서 민감한 정보의 유출을 방지하고 사용자의 프라이버시를 보호하기 위해서는 시스템의 정당한 참여자 이외에는 태그의 위치를 추적하거나 태그로 가장할 수 없어야 한다. 또한, RFID를 적용한 시스템에서는 수많은 태그들을 인증해야 하므로 이러한 인증을 장소와 시간의 제약없이 고속으로 수행하기 위해서 분산된 다수의 데이터베이스 및 서버를 이용해야 한다. 그러므로, RFID 인증방법은 이러한 분산된 다수의 데이터베이스 및 서버가 존재하는 유비쿼터스 환경에 적용할 수 있도록 구축되어야 한다.
이하, 종래 기술에 따른 인증방법 및 그 문제점에 대해 개략적으로 설명한다. 도 2는 종래기술1[헤쉬-락 기법]에 따른 인증방법을 나타낸다. 도면에 있어서, 숫자 1 내지 6은 인증과정의 순서를 나타낸다.
상기 S. A. Weis 등이 제안한 해쉬-락 기법의 경우, 실제 ID의 노출을 방지하기 위하여 metaID를 이용하지만 metaID는 고정되어 있기 때문에 공격자가 태그를 추적할 수 있고, 재전송 공격에 취약하다. 그리고 공격자가 정당한 리더로 가장하여 태그로부터 metaID를 수신하고, 이 metaID를 이용하여 태그로 가장해서 리더로부터 key를 획득하는 경우, 공격자는 다시 리더로 가장하여 태그로부터 ID를 알아낼 수 있다. 결국, 공격자는 metaID, key, ID를 모두 획득하게 되므로 정당한 태그로 완벽하게 가장할 수 있는 스푸핑 공격이 가능하다.
도 3은 종래기술2[개선된 헤쉬-락 기법]에 따른 인증방법을 나타낸다. 숫자 1 내지 5는 인증과정의 순서를 나타낸다.
상기 S. A. Weis가 제시한 해쉬-락 기법을 개선하여 제안한 확장된 해쉬-락 기법은 태그가 난수 R를 생성하여, 인증과정(세션)마다 다른 응답을 데이터베이스로부터 리더에게 전송하는 방법을 이용한다. 그러나, 태그 고유의 비밀 인증정보인 IDk(k는 자연수)를 불안전한 채널을 통해 전송하므로, 여전히 위치 추적이 가능하며, 공격자가 리더의 질의에 대한 응답인 난수 R 및 일방향함수 H(IDk||R)를 도청하여 재전송하는 경우 정당한 태그로 완벽하게 가장할 수 있으므로 재전송 공격에도 취약하다. 또한, 공격자가 정당한 리더로 가장하여 태그로부터 R, H(IDk||R)를 획득하는 경우 공격자는 리더의 질의에 대하여 이전에 획득한 R, H(IDk||R)를 응답으로 전송하여 정당한 태그로 가장할 수 있다.
도 4는 종래기술3[해쉬-체인 기법]에 따른 인증방법을 나타낸다. 숫자 1 내지 4는 인증과정의 순서를 나타낸다.
상기 M. Ohkubo, K. Suzuki 및 S. Kinoshita가 제안한 두 개의 서로 다른 해쉬함수(일방향함수) H 및 G를 이용하는 해쉬-체인 기법은 리더의 질의에 대하여 항상 다른 응답을 하므로 공격자가 태그의 응답 at,i(첨자 t는 특정 태그이고, i는 인증과정(세션)의 회수를 나타낸다.)를 알고 있다고 하더라도 어떤 태그가 응답하였는지 알 수 없으며, 서로 다른 응답에 대해서 동일한 태그의 응답이라는 것도 알 수 없다. 그러나 공격자가 at,i를 재전송하는 경우 정당한 태그로 가장할 수 있으므로 해쉬-체인 기법은 재전송 공격과 스푸핑 공격에 취약하다. 또한 해쉬-체인 기법은 백-엔드 데이터베이스가 태그를 인증하려면 모든 태그에 대하여 해쉬함수 연산을 i번 수행해야하므로 지나친 연산량 부담이 있으며, 태그가 2개의 서로 다른 해쉬함수를 내장하고 있어야 하므로 태그의 가격이 상승한다.
도 5는 종래기술4[해쉬 기반 ID 변형 기법]에 따른 인증방법을 나타낸다. 숫자 1 내지 5는 인증과정의 순서를 나타낸다.
상기 D. Henrici와 P. Muller가 제안한 해쉬 기반 ID 변형 기법은 해쉬-체인 기법과 유사하게 태그의 인증정보인 ID를 매 인증과정(세션)마다 바꾸는 기법이다. 매 세션마다 태그의 ID가 난수 R에 의해 갱신되고, TID와 LST가 갱신되므로 공격자의 재전송 공격으로부터 안전하다. 그러나 공격자가 정당한 리더로 가장하여 태그로부터 H(ID), H(TID
Figure 112005017652178-pat00004
ID), △TID를 획득하고, 정당한 태그가 다음 인증 세션을 수행하기 전에 이 정보들을 리더의 질의에 대한 응답으로 이용하면 공격자는 정당한 태그로 인증받을 수 있다. 그리고 공격자가 정당한 리더로 가장하여 H(ID), H(TID
Figure 112005017652178-pat00005
ID), △TID를 획득하고, 과정 5에서 전송되는 정보를 태그에게 전송하지 않으면, 태그는 과정 5에서의 정보가 유실되었다고 여겨 ID를 변형하지 않는다. 이 경우, 공격자가 여러 개의 리더를 곳곳에 설치해두고 있다면 태그가 정당한 리더와 인증 세션을 수행하여 H(ID)가 갱신되기 전까지 H(ID)를 통해 태그의 위치를 추적할 수 있다. 또한 해쉬 기반 ID 변형 기법은 ID가 인증 세션마다 바뀌므로 변형되는 ID를 저장하고 있는 유일한 데이터베이스가 존재해야만 한다. 그러나, 데이터베이스가 하나만 존재하는 경우 수많은 태그를 인증하기 위해서는 데이터베이스가 매우 많은 연산을 수행해야하며, 다양한 서비스 제공에 어려움이 생기게 된 다.
본 발명은 상기와 같은 종래 기술에 따른 인증방법을 개선하기 위해 안출된 것으로서, Challenge-Response 방식을 기반으로 난수를 이용하므로 재전송 공격 및 스푸핑 공격에 대하여 안전하고, 태그의 인증정보가 일방향함수를 이용하여 숨겨지므로 태그의 위치를 정당한 참여자 이외에는 추적할 수 없게 되며, 또한 태그의 인증정보를 동기화할 필요가 없으므로 분산된 데이터베이스 환경에도 적합하게 이용할 수 있도록 된 알에프아이디 시스템에서의 인증방법을 제공하는 것을 목적으로 한다.
이하, 본 발명을 도면을 참조로 상세히 설명한다.
(실시예)
도 6을 참조로 본 발명에 따른 인증방법의 일실시예를 설명한다.
(과정 1: 리더)
리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅한다.[Challenge 과정].
리더 → 태그 : Query, RR
(과정 2: 태그)
태그는 상기 난수 RR와 태그 고유의 인증정보 ID를 연접시키고 특정 일방향함수 H1에 입력하고, 일방향함수의 출력값 H1(ID∥RR)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더에게 전송한다. [Response 과정].
태그 → 리더 : H1(ID∥RR), RT
(과정 3 : 리더)
리더는 상기 난수 RR와 태그로부터 수신한 H1(ID∥RR), 난수 RT를 백-엔드 데이터베이스(DB)로 전송한다.
리더 → 백-엔드 데이터베이스 : H1(ID∥RR), RR, RT
(과정 4 : 백-엔드 데이터베이스)
백-엔드 데이터베이스에 저장된 모든 ID를 리더로부터 수신한 난수 RR와 각각 연접시키고 일방향함수 H1에 각각 입력한다. 그리고, 일방향함수의 출력값 H1(ID∥RR)과 리더로부터 수신한 일방향 함수의 출력값 H1(ID∥RR)를 비교하여 일치하는 지를 판단한다. 이때, 출력값이 일치하면, 태크인증은 성공이고, 출력값이 일치하지 않으면 태그 인증은 실패로 판단한다.
백-엔드 데이터베이스(DB) : DB에서 계산된 H1(ID|RR)
Figure 112005017652178-pat00006
리더로부터 수 신한 H1(ID|RR)
(과정 5 : 백-엔드 데이터베이스)
리더로부터 수신한 H1(ID∥RR)과 일치하는 일방향함수의 출력값 H1(ID∥RR)이 존재하는 경우, 해당 ID를 태그의 ID로 인증하고, 이 ID와 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H1과는 다른 일방향함수 H2에 입력하여 생성한 일방향함수의 출력값 H2(ID∥RT)을 리더로 전송한다.
백-엔드 데이터베이스 → 리더 : H2(ID∥RT)
(과정 6 : 리더)
리더는 백-엔드 데이터베이스(DB)로부터 수신한 출력값 H2(ID∥RT)를 태그에 전송한다.
리더 → 태그 : H2(ID∥RT)
(과정 7 : 태그)
태그는 자신의 ID와 인증 세션에서 생성한 RT를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥RT)과 리더로부터 수신한 출력값 H2(ID∥RT)을 비교한다. 이때, 출력값이 일치하면, 백-엔드 데이터베이스를 인증하고, 출력값이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단한다.
태그 : 태그에서 계산된 H2(ID∥RT)
Figure 112005017652178-pat00007
리더로부터 수신한 H2(ID∥RT)
(변형예)
저가의 태그 IC 칩을 구성하고 있는 게이트의 수는 7.5-15Kgates이고 이 중 암호 기술을 구현하기 위해 사용 가능한 게이트의 수는 2.5-5Kgates로서 태그는 형태가 서로 다른 2개의 일방향함수를 내장하고 별도의 난수생성기를 이용하여 난수 RT를 생성하기에는 태그의 게이트가 매우 부족하다. 그러므로 본 발명에서 제안하는 인증방법은 다음과 같은 변형들을 가질 수 있다.
① 일방향함수 H1과 H2이 동일한 경우(서로 다른 2개의 일방향함수를 사용하지 않고 1개의 일방향함수만을 사용하는 경우).
(변형예1)
일방향함수의 입력값에 서로 다른 약속된 값을 덧붙이고(패딩), 동일한 일방향함수를 사용하더라도 서로 다른 일방향함수를 사용하는 것과 같은 효과가 있도록 한다. 예컨대, 상기 도 6에 따른 실시예에서 태그로부터의 일방향함수의 출력값 H1(ID||RR)은 H(00||ID||RR)로 대체하고, 백-엔드 데이터베이스(DB)로부터의 일방향함수의 출력값 H2(ID||RT)는 H(11||ID||RT)로 대체한다. 패딩값 00, 11은 태그, 리더, 백-엔드 데이터베이스 간의 규약에 따라 변경될 수 있다.
도 7을 참조로 변형예1을 설명한다.
(과정 1: 리더)
리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅한다.[Challenge 과정].
리더 → 태그 : Query, RR
(과정 2: 태그)
태그는 패딩값 00과 태그 고유의 인증정보 ID 및 상기 난수 RR를 연접시키고, 일방향함수 H에 입력하고, 그 출력값 H(00||ID||RR)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더에게 전송한다. [Response 과정].
태그 → 리더 : H(00||ID||RR), RT
(과정 3 : 리더)
리더는 난수 RR과 태그로부터 수신한 출력값 H(00||ID||RR) 및, 난수 RT를 백-엔드 데이터베이스(DB)로 전송한다.
리더 → 백-엔드 데이터베이스 : H(00||ID||RR), RR, RT
(과정 4 : 백-엔드 데이터베이스)
백-엔드 데이터베이스에 저장된 모든 ID를 수신한 난수 RR와 각각 연접시키고 일방향함수 H에 각각 입력한다. 그리고, 일방향함수의 출력값 H(00||ID||RR)과 리더로부터 수신한 일방향 함수의 출력값 H(00||ID||RR)을 비교하여 일치하는 지를 판단한다. 이때, 출력값이 일치하면 태크 인증은 성공이고, 출력값이 일치하지 않으면 태그 인증은 실패로 판단한다.
백-엔드 데이터베이스(DB) : DB에서 계산된 H(00||ID||RR)
Figure 112005017652178-pat00008
리더로부터 수신한 H(00||ID||RR)
(과정 5 : 백-엔드 데이터베이스)
리더로부터 수신한 출력값 H(00||ID||RR)과 일치하는 출력값 H(00||ID||RR)이 존재하는 경우 해당 ID를 태그의 ID로 인증하고, 미리 규약된 패딩 값 11과 ID 및 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H에 입력하여 생성한 일방향함수의 출력값 H(11||ID||RT)를 리더로 전송한다.
백-엔드 데이터베이스 → 리더 : H(11||ID||RT)
(과정 6 : 리더)
리더는 백-엔드 데이터베이스(DB)로부터 수신한 H(11||ID||RT)를 태그에게 전송한다.
리더 → 태그 : H(11||ID||RT)
(과정 7 : 태그)
태그는 패딩값 11과 자신의 ID 및 인증 세션에서 생성한 RT를 연접시키고 일방향함수 H에 입력하며, 그 일방향함수의 출력값 H(11||ID||RT)과 리더로부터 수신한 출력값 H(11||ID||RT)를 비교한다. 이때, 출력값이 일치하면 백-엔드 데이터베이스를 인증하고, 출력값이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단한다.
태그 : 태그에서 계산된 H(11||ID||RT)
Figure 112005017652178-pat00009
리더로부터 수신한 H(11||ID||RT)
(변형예2)
일방향함수의 입력값을 비대칭적으로 하여 태그측에서 전송하는 일방향함수의 출력값과 백-엔드 데이터베이스측에서 전송하는 일방향함수의 출력값을 구별 가능하도록 한다. 예컨대, 상기 도 6에 따른 실시예에서 H1(ID||RR)는 H(ID||RR||RT)로 대체하고 H2(ID||RT)는 H(ID||RT)로 대체한다.
도 8을 참조로 변형예2를 설명한다.
(과정 1: 리더)
리더는 태그들에게 Query와 난수 RR를 함께 브로드캐스팅한다.[Challenge 과정].
리더 → 태그 : Query, RR
(과정 2: 태그)
태그는 고유의 인증정보 ID와 상기 난수 RR 및 자체 생성한 난수 RT를 연접시키고, 일방향함수 H에 입력하고, 그 출력값 H(ID||RR||RT)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더로 전송한다. [Response 과정].
태그 → 리더 : H(ID||RR||RT), RT
(과정 3 : 리더)
리더는 태그로부터 수신한 일방향함수의 출력값 H(ID||RR||RT)과, 난수 RR 및, 난수 RT를 백-엔드 데이터베이스(DB)로 전송한다.
리더 → 백-엔드 데이터베이스 : H(ID||RR||RT), RR, RT
(과정 4 : 백-엔드 데이터베이스)
백-엔드 데이터베이스에 저장된 모든 ID를 수신한 난수 RR 및 RT와 각각 연접시키고 일방향함수 H에 각각 입력한다. 그리고, 일방향함수의 출력값 H(ID||RR||RT)과 리더로부터 수신한 일방향함수의 출력값 H(ID||RR||RT)을 비교하여 일치하는 지를 판단한다. 이때, 출력값이 일치하면 태크 인증은 성공이고, 출력값이 일치하지 않으면 태그 인증은 실패로 판단한다.
백-엔드 데이터베이스(DB) : DB에서 계산한 H(ID||RR||RT)
Figure 112005017652178-pat00010
리더로부터 수신한 H(ID||RR||RT)
(과정 5 : 백-엔드 데이터베이스)
리더로부터 수신한 일방향함수의 출력값 H(ID||RR||RT)과 일치하는 출력값 H(ID||RR||RT)이 존재하는 경우 해당 ID를 태그의 ID로 인증하고, 이 ID와 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H에 입력하여 생성한 일방향함수의 출력값 H(ID||RT)을 리더에게 전송한다.
백-엔드 데이터베이스 → 리더 : H(ID||RT)
(과정 6 : 리더)
리더는 백-엔드 데이터베이스(DB)로부터 수신한 H(ID||RT)를 태그에게 전송한다.
리더 → 태그 : H(ID||RT)
(과정 7 : 태그)
태그는 자신의 ID와 인증과정(세션)에서 생성한 RT를 연접시키고 일방향함수 H에 입력하며, 그 일방향함수의 출력값 H(ID||RT)과 리더로부터 수신한 출력값 H(ID||RT)을 비교한다. 이때, 출력값이 일치하면 백-엔드 데이터베이스를 인증하고, 출력값이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단한다.
태그 : 태그에서 계산된 H(ID||RT)
Figure 112005017652178-pat00011
리더로부터 수신한 H(ID||RT)
② 별도의 난수생성기를 이용하지 않고 난수 RT를 생성하는 경우.
(변형예3)
별도의 난수생성기 대신 이미 내장하고 있는 일방향함수를 이용하여 난수를 생성할 수 있도록 태그가 생산될 때 태그에 key를 저장한다. 태그는 저장된 key와 이전 인증과정(세션)에서 태그가 생성한 난수 RT i-1(i는 자연수)와 리더로부터 수신한 난수 RR를 연접한 후 일방항 함수 H에 입력하여 새로운 난수 RT i를 생성한다. 처음 태그가 생산될 때 RT 0는 H(key)로 정한다. 즉, 상기 도 6에 따른 실시에서 상기 과정 2 전에 태그는 난수 RT i=H(key∥RT i-1∥RR) (단, RT 0=H(key))를 생성하여 난수로 사용한다.
도 9를 참조로 변형예3을 설명한다.
(과정 1: 리더)
리더는 태그들에게 Query와 난수 RR를 함께 브로드캐스팅한다.[Challenge 과정].
리더 → 태그 : Query, RR
(과정 2: 태그)
태그는 태그 고유의 비밀 인증정보 ID와 상기 난수 RR를 연접시키고, 일방향함수 H1에 입력하고, 그 출력값 H1(ID||RR)과 태그에서 생성한 난수 RT i, 즉 H(key||RT i-1||RR)를 리더의 Query에 대한 응답으로 리더에게 전송한다. [Response 과정].
태그 → 리더 : H1(ID||RR), RT i
(과정 3 : 리더)
리더는 난수 RR과 태그로부터 수신한 일방향함수의 출력값 H1(ID||RR) 및 난수 RT i를 백-엔드 데이터베이스(DB)로 전송한다.
리더 → 백-엔드 데이터베이스 : H1(ID||RR), RR, RT i
(과정 4 : 백-엔드 데이터베이스)
백-엔드 데이터베이스에 저장된 모든 ID를 RR와 각각 연접시키고, 일방향함수 H1에 각각 입력한다. 그리고, 일방향함수의 출력값 H1(ID||RR)과 리더로부터 수신한 일방향함수의 출력값 H1(ID||RR)을 비교하여 일치하는 지를 판단한다. 이 때, 출력값이 일치하면 태크 인증은 성공이고, 출력값이 일치하지 않으면 태그 인증은 실패로 판단한다.
백-엔드 데이터베이스(DB) : DB에서 계산된 H1(ID||RR)
Figure 112005017652178-pat00012
리더로부터 수신한 H1(ID||RR)
(과정 5 : 백-엔드 데이터베이스)
리더로부터 수신한 일방향함수의 출력값 H1(ID∥RR)과 일치하는 계산된 H1(ID∥RR)이 존재하는 경우 해당 ID를 태그의 ID로 인증하고, 이 ID와 태그가 생성한 난수 RT i를 연접시키고, 일방향함수 H1와 다른 일방향함수 H2에 입력하여 생성한 H2(ID∥RT i)를 리더에 전송한다.
백-엔드 데이터베이스 → 리더 : H2(ID∥RT i)
(과정 6 : 리더)
리더는 백-엔드 데이터베이스(DB)로부터 수신한 H2(ID∥RT i)를 태그에 전송한다.
리더 → 태그 : H2(ID∥RT i)
(과정 7 : 태그)
태그는 자신의 ID와 인증 세션에서 생성한 RT i를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥RT i)과 리더로부터 수신한 일방향함수의 출력값 H2(ID∥RT i)을 비교한다. 이때, 출력값이 리더로부터 수신된 일방향함수의 출력값과 일치하면, 백-엔드 데이터베이스를 인증하고, 출력값이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단한다.
태그 : 태그에서 계산된 H2(ID∥RT i)
Figure 112005017652178-pat00013
리더로부터 수신한 H2(ID∥RT i)
여기서, 백-엔드 데이터베이스의 인증이 성공하거나 실패하면, 상기 난수 RT i-1을 RT i로 갱신하고 인증과정을 종료한다.
(변형예4)
태그가 별도의 난수생성기를 이용하지 않는 간단한 방법은 카운터의 수(또는 태그 내의 현재 시간 또는 T=RR+n)를 난수 RT로 이용하는 것이다. 태그가 응답을 요청받거나 응답하는 시간, 특정 응답 요청이 있는 시점에서 태그 내부의 카운터의 수 또는 RR+n 등은 난수의 성질을 가지고 있기 때문에 RT로 이용이 가능하다. 여기 서, RR에 더해지거나 빼지는 상기 n은 구현 방법에 따라 달라질 수 있다. 예컨대, n는 ±1,2.. 로 될 수 있다.
도 10을 참조로 변형예4를 설명한다.
(과정 1: 리더)
리더는 태그들에게 Query와 난수 RR를 함께 브로드캐스팅한다.[Challenge 과정].
리더 → 태그 : Query, RR
(과정 2: 태그)
태그는 인증정보 ID와 상기 난수 RR를 연접시키고, 일방향함수 H1에 입력하고, 그 일방향함수의 출력값 H1(ID||RR)과 태그에서 생성한 카운터의 수(또는 태그 내의 현재 시간 또는 T=RR+n(n= ±1,2..))를 리더의 Query에 대한 응답으로 리더에게 전송한다. [Response 과정].
태그 → 리더 : H1(ID||RR), T
(과정 3 : 리더)
리더는 난수 RR과 태그로부터 수신한 함수의 출력값 H1(ID||RR) 및 태그의 카운터의 수 T(또는 태그 내의 현재 시간 또는 T=RR+n(n= ±1,2..))를 백-엔드 데이터베이스(DB)로 전송한다.
리더 → 백-엔드 데이터베이스 : H1(ID||RR), RR, T
(과정 4 : 백-엔드 데이터베이스)
백-엔드 데이터베이스에 저장된 모든 ID를 RR와 각각 연접시키고, 일방향함수 H1에 입력한다. 그리고, 일방향함수의 출력값 H1(ID||RR)과 리더로부터 수신한 일방향함수의 출력값 H1(ID||RR)을 비교하여 일치하는 지를 판단한다. 이때, 출력값이 일치하면, 태크 인증은 성공이고, 출력값이 일치하지 않으면 태그 인증은 실패로 판단한다.
백-엔드 데이터베이스(DB) : DB에서 계산된 H1(ID||RR)
Figure 112005017652178-pat00014
리더로부터 수신한 H1(ID||RR)
(과정 5 : 백-엔드 데이터베이스)
리더로부터 수신한 H1(ID∥RR)과 일치하는 백-엔드 데이터베이스에서 계산된 H1(ID∥RR)이 존재하는 경우, 해당 ID를 태그의 ID로 인증하고, 이 ID와 태그의 카운터 수(또는 태그 내의 현재 시간 또는 T=RR+n(n= ±1,2..)) T를 연접시키고, 일방향함수 H1와 다른 일방향함수 H2에 입력하여 생성한 H2(ID∥T)를 리더에 전송한다.
백-엔드 데이터베이스 → 리더 : H2(ID∥T)
(과정 6 : 리더)
리더는 백-엔드 데이터베이스(DB)로부터 수신한 H2(ID∥T)를 태그에 전송한다.
리더 → 태그 : H2(ID∥T)
(과정 7 : 태그)
태그는 자신의 ID와 인증 세션에서 생성한 T를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥T)과 리더로부터 수신한 H2(ID∥T)를 비교한다. 이때, 출력값이 리더로부터 수신된 입력값과 일치하면, 백-엔드 데이터베이스를 인증하고, 출력값이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단한다.
태그 : 태그에서 계산된 H2(ID∥T)
Figure 112005017652178-pat00015
리더로부터 수신한 H2(ID∥T)
③ 상기 일방향함수 H1과 H2이 동일하고 별도의 난수생성기를 이용하지 않고 난수 RT를 생성하는 경우.
별도의 난수생성기 대신 이미 내장하고 있는 일방향함수를 이용하여 난수를 생성할 수 있도록 태그가 생산될 때 태그에 key를 저장한다. 태그는 저장된 key와 이전 인증 세션에서 태그가 생성한 난수 RT i-1(i는 자연수)와 리더로부터 수신한 RR 을 연접한 후 일방항 함수에 입력하여 새로운 난수 RT i를 생성한다. 처음 태그가 생산될 때 RT 0는 H(key)로 정한다. 즉, 도 6에 따른 실시예에서 상기 과정 2 전에 태그는 RT i=H(key∥RT i-1∥RR) (단, RT 0=H(key))를 생성하여 난수로 사용한다.
(변형예5)
도 11을 참조로 변형예5를 설명한다.
(과정 1: 리더)
리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅한다.[Challenge 과정].
리더 → 태그 : Query, RR
(과정 2: 태그)
태그는 고유의 인증정보 ID와 상기 난수 RR 및 태그에서 생성한 난수 RT i, 즉 H(key||RT i-1||RR)를 연접시키고, 특정한 일방향함수 H에 입력하고, 그 출력값 H(ID||RR||RT i)과 태그에서 생성한 난수 RT i를 리더의 Query에 대한 응답으로 리더에게 전송한다. [Response 과정].
태그 → 리더 : H(ID||RR||RT i), RT i
(과정 3 : 리더)
리더는 난수 RR과 태그로부터 수신한 일방향함수의 출력값 H(ID||RR||RT i) 및 난수 RT i를 백-엔드 데이터베이스(DB)로 전송한다.
리더 → 백-엔드 데이터베이스 : H(ID||RR||RT i), RR, RT i
(과정 4 : 백-엔드 데이터베이스)
백-엔드 데이터베이스에 저장된 모든 ID와 난수 RR 및 난수 RT i를 각각 연접시키고, 일방향함수 H에 각각 입력한다. 그리고, 일방향함수의 출력값 H(ID||RR||RT i)과 리더로부터 수신한 일방향함수의 출력값 H(ID||RR||RT i)을 비교하여 일치하는 지를 판단한다. 이때, 출력값이 일치하면, 태크 인증은 성공이고, 출력값이 일치하지 않으면 태그 인증은 실패로 판단한다.
백-엔드 데이터베이스(DB) : DB에서 계산된 H(ID||RR||RT i)
Figure 112005017652178-pat00016
리더로부터 수신한 H(ID||RR||RT i)
(과정 5 : 백-엔드 데이터베이스)
리더에서 수신한 일방향함수의 출력값 H(ID||RR||RT i)과 일치하는 계산된 일 방향함수의 출력값 H(ID||RR||RT i)이 존재하는 경우 해당 ID를 태그의 ID로 인증하고, 이 ID와 태그가 생성한 난수 RT i를 연접시키고, 일방향함수 H에 입력하여 생성한 일방향함수의 출력값 H(ID||RT i)을 리더에 전송한다.
백-엔드 데이터베이스 → 리더 : H(ID||RT i)
(과정 6 : 리더)
리더는 백-엔드 데이터베이스(DB)로부터 수신한 H(ID∥RT i)를 태그에 전송한다.
리더 → 태그 : H(ID∥RT i)
(과정 7 : 태그)
태그는 자신의 ID와 인증 세션에서 생성한 RT i를 연접시키고 일방향함수 H에 입력하며, 그 일방향함수의 출력값과 리더로부터 수신한 H(ID∥RT i)를 비교한다. 이때, 출력값이 리더로부터 수신된 입력값과 일치하면, 백-엔드 데이터베이스를 인증하고, 출력값이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단한다.
태그 : 태그에서 계산된 H(ID∥RT i)
Figure 112005017652178-pat00017
리더로부터 수신한 H(ID∥RT i)
여기서, 백-엔드 데이터베이스의 인증이 성공하거나 실패하면, 상기 난수 RT i-1을 RT i로 갱신하고 인증과정을 종료한다.
이미 미국, 유럽, 일본 등 IT선진국들은 RFID를 차세대 IT산업의 성장을 주도할 핵심 분야로 보고, 수년전부터 관련 기술과 연구 개발에 막대한 투자를 계속하고 있다. 그 결과 이들 국가는 현재 연간 20∼30%의 성장세를 보이고 있다. 하지만 RFID의 사용으로 발생할 수 있는 사용자 프라이버시 침해와 정보 유출과 같은 보안 위협은 이러한 성장을 가로막는 장애요인이 될 수 있다. 아직까지 RFID 개발 업체 및 보안 업체에서 RFID를 안전하게 사용할 수 있는 기술의 개발에 관심을 보이고 있지 않은 상황에서 본 발명은 안전한 RFID 인증 방법을 제공함으로써 향후 RFID 인증 기술 분야를 선점할 수 있으며, RFID의 보급 활성화에 기여할 수 있을 것이다.

Claims (14)

  1. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지는 알에프아이디 시스템에 있어서,
    상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[과정 1 : Challenge 과정],
    상기 태그는 상기 난수 RR와 태그 고유의 인증정보 ID를 연접시키고 특정 일방향함수 H1에 입력하고, 일방향함수의 출력값 H1(ID∥RR)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더에게 전송하며[과정 2 : Response 과정],
    상기 리더는 상기 난수 RR과 태그로부터 수신한 H1(ID∥RR), 난수 RT를 백-엔드 데이터베이스(DB)로 전송하고(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID를 상기 난수 RR와 각각 연접시키고 일방향함수 H1에 각각 입력하며, 이 일방향함수의 출력값 H1(ID∥RR)과 상기 리더로부터 수신한 일방향 함수의 출력값 H1(ID∥RR)를 비교하여, 상기 리더로부터 수신한 일방향함수의 출력값 H1(ID∥RR)과 일치하는 일방향함수의 출력값 H1(ID∥RR)이 존재하는 경우, 상기 ID를 태그의 ID로 인증하고(과정 4),
    이 ID와 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H1와 다른 일방향 함수 H2에 입력하여 생성한 H2(ID∥RT)를 리더로 전송하고(과정 5),
    상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 일방향함수의 출력값 H2(ID∥RT)을 태그로 전송하며(과정 6),
    상기 태그는 자신의 ID와 인증과정(세션)에서 생성한 RT를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥RT)과 리더로부터 수신한 일방향함수의 출력값 H2(ID∥RT)을 비교하여, 일방향함수의 출력값 H2(ID∥RT)이 일치하면 백-엔드 데이터베이스를 인증(과정 7)하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  2. 제1항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H1(ID∥RR)과 리더로부터 수신된 일방향함수의 출력값 H1(ID∥RR)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하며,
    상기 과정 7에서 태그에서 계산한 일방향함수의 출력값 H2(ID∥RT)과 리더로부터 수신된 일방향함수의 출력값 H2(ID∥RT)이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단하여 인증과정을 종료하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  3. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지는 알에프아이디 시스템에 있어서,
    상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[Challenge 과정 : 과정 1],
    상기 태그는 패딩값 00과 태그 고유의 인증정보 ID 및 상기 난수 RR를 연접시키고, 일방향함수 H에 입력하고, 그 일방향함수의 출력값 H(00||ID||RR)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더에게 전송하며[Response 과정 : 과정 2],
    상기 리더는 난수 RR과 태그로부터 수신한 일방향함수의 출력값 H(00||ID||RR) 및, 난수 RT를 백-엔드 데이터베이스(DB)로 전송하며(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID를 수신한 난수 RR와 각각 연접시키고 일방향함수 H에 각각 입력하고, 이 일방향함수의 출력값 H(00||ID||RR)과 리더로부터 수신한 일방향 함수의 출력값 H(00||ID||RR)을 비교하여, 상기 리더로부터 수신한 일방향함수의 출력값 H(00||ID||RR)과 일치하는 일방향함수의 출력값 H(00||ID||RR)이 존재하는 경우, 해당 ID를 태그의 ID로 인증하며(과정 4),
    패딩값 11과 ID 및 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H에 입력하여 생성한 일방향함수의 출력값 H(11||ID||RT)을 리더로 전송하며(과정 5),
    상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 일방향함수의 출력값H(11||ID||RT)을 태그에게 전송하며(과정 6),
    상기 태그는 패딩값 11과 자신의 ID 및 인증과정(세션)에서 생성한 RT를 연접시키고 일방향함수 H에 입력하며, 그 일방향함수의 출력값 H(11||ID||RT)과 리더로부터 수신한 일방향함수의 출력값 H(11||ID||RT)을 비교하여, 출력값이 일치하면, 백-엔드 데이터베이스를 인증(과정 7)하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  4. 제3항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H(00||ID||RR)과 리더로부터 수신된 일방향함수의 출력값 H(00||ID||RR)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하며,
    상기 과정 7에서 태그에서 계산한 일방향함수의 출력값 H(11||ID||RR)과 리더로부터 수신된 일방향함수의 출력값 H(11||ID||RR)이 일치하지 않으면 백-엔드 데 이터베이스의 인증은 실패로 판단하여 인증과정을 종료하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  5. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지는 알에프아이디 시스템에 있어서,
    상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[Challenge 과정 : 과정 1],
    상기 태그는 고유의 인증정보 ID와 상기 난수 RR 및 자체 생성한 난수 RT를 연접시키고, 일방향함수 H에 입력하며, 이 일방향함수의 출력값 H(ID||RR||RT)과 태그에서 생성한 난수 RT를 리더의 Query에 대한 응답으로 리더로 전송하며 [Response 과정 : 과정 2],
    상기 리더는 태그로부터 수신한 일방향함수의 출력값 H(ID||RR||RT)과, 난수 RR 및, 난수 RT를 백-엔드 데이터베이스(DB)로 전송하고(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID를 수신한 난수 RR 및 RT와 각각 연접시키고 일방향함수 H에 각각 입력하고, 이 일방향함수의 출력값 H(ID||RR||RT)과 리더로부터 수신한 일방향함수의 출력값 H(ID||RR||RT)을 비교하며(과정 4),
    상기 리더로부터 수신한 일방향함수의 출력값 H(ID||RR||RT)과 일치하는 일방향함수의 출력값 H(ID||RR||RT)이 존재하는 경우 해당 ID를 태그의 ID로 인증하고, 이 ID 및 태그가 생성한 난수 RT를 연접시키며, 일방향함수 H에 입력하여 생성한 일방향함수의 출력값 H(ID||RT)을 리더에게 전송하고(과정 5),
    상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 일방향함수의 출력값 H(ID||RT)을 태그로 전송하며(과정 6),
    상기 태그는 자신의 ID와 인증 과정에서 생성한 난수 RT를 연접시키고 일방향함수 H에 입력하며, 그 일방향함수의 출력값 H(ID||RT)과 리더로부터 수신한 출력값 H(ID||RT)을 비교하여, 출력값이 일치하면 백-엔드 데이터베이스를 인증(과정 7)하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  6. 제5항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H(ID||RR||RT)과 리더로부터 수신된 일방향함수의 출력값 H(ID||RR||RT)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하며,
    상기 과정 7에서 태그에서 계산한 일방향함수의 출력값 H(ID||RT)과 리더로 부터 수신된 일방향함수의 출력값 H(ID||RT)이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단하여 인증과정을 종료하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  7. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지고, 상기 태그는 내장하고 있는 일방향함수를 이용하여 난수를 생성할 수 있도록 태그가 생산될 때 태그에 key를 저장하며, 태그는 저장된 key와 이전 인증과정(세션)에서 태그가 생성한 난수 RT i-1(i는 자연수)와 리더로부터 수신한 난수 RR를 연접한 후 일방항 함수에 입력하여 새로운 난수 RT i를 생성하며, 태그가 생산될 때 RT 0=H(key)로 정해지는 알에프아이디 시스템에 있어서,
    상기 리더는 태그들에게 Query와 리더에서 난수 RR를 함께 브로드캐스팅하고[Challenge 과정 : 과정 1],
    상기 태그는 태그 고유의 비밀 인증정보 ID와 상기 난수 RR를 연접시키고, 일방향함수 H1에 입력하고, 그 출력값 H1(ID||RR)과 태그에서 생성한 난수 RT i= H(key||RT i-1||RR)를 리더의 Query에 대한 응답으로 리더에게 전송하며[Response 과 정 : 과정 2],
    상기 리더는 난수 RR과 태그로부터 수신한 일방향함수의 출력값 H1(ID||RR) 및 난수 RT i를 백-엔드 데이터베이스(DB)로 전송하고(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID를 RR와 각각 연접시키고, 일방향함수 H1에 각각 입력하며, 이 일방향함수의 출력값 H1(ID||RR)과 리더로부터 수신한 일방향함수의 출력값 H1(ID||RR)을 비교하여, 리더로부터 수신한 일방향함수의 출력값 H1(ID∥RR)과 일치하는 계산된 H1(ID∥RR)이 존재하는 경우 해당 ID를 태그의 ID로 인증하며(과정 4),
    이 ID와 태그가 생성한 난수 RT i를 연접시키고, 일방향함수 H1와 다른 일방향함수 H2에 입력하여 생성한 H2(ID∥RT i)를 리더에 전송하고(과정 5),
    상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 일방향함수의 출력값 H2(ID∥RT i)을 태그에 전송하며(과정 6),
    상기 태그는 자신의 ID와 인증 세션에서 생성한 난수 RT i를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥RT i)과 리더로부터 수신한 일 방향함수의 출력값 H2(ID∥RT i)을 비교하여, 일방향함수의 출력값이 리더로부터 수신된 일방향함수의 출력값과 일치하면, 백-엔드 데이터베이스를 인증하고, 상기 난수 RT i-1을 RT i로 갱신(과정 7)하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  8. 제7항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H1(ID||RR)과 리더로부터 수신된 일방향함수의 출력값 H1(ID||RR)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하며,
    상기 과정 7에서 태그에서 계산한 일방향함수의 출력값 H2(ID∥RT i)과 리더로부터 수신된 일방향함수의 출력값 H2(ID∥RT i)이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단하여 인증과정을 종료하고, 상기 난수 RT i-1을 RT i로 갱신하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  9. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터 베이스를 구비하여 이루어지고, 상기 태그는 카운터의 수(또는 태그 내의 현재 시간 또는 T=RR+n(n= ±1,2..))를 난수 RT로 생성하는 알에프아이디 시스템에 있어서, (여기서, 상기 n는 ±1,2.. 이다.)
    상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[Challenge 과정 : 과정 1],
    상기 태그는 인증정보 ID와 상기 난수 RR를 연접시키고, 일방향함수 H1에 입력하고, 그 일방향함수의 출력값 H1(ID||RR)과 태그에서 생성한 카운터의 수 (또는 태그 내의 현재 시간 또는 T=RR+n(n= ±1,2..))를 리더의 Query에 대한 응답으로 리더에게 전송하며[Response 과정 : 과정 2],
    상기 리더는 난수 RR과 태그로부터 수신한 일방향함수의 출력값 H1(ID||RR) 및 태그의 카운터의 수 T를 백-엔드 데이터베이스(DB)로 전송하며(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID를 RR와 각각 연접시키고, 일방향함수 H1에 각각 입력하고, 이 일방향함수의 출력값 H1(ID||RR)과 리더로부터 수신한 일방향함수의 출력값 H1(ID||RR)을 비교하여, 리더로부터 수신한 H1(ID∥RR)과 일치하는 백-엔드 데이터베이스에서 계산된 H1(ID∥RR)이 존재하는 경우, 해당 ID를 태그의 ID로 인증하고(과정 4),
    이 ID와 태그의 카운터 수(또는 태그 내의 현재 시간 또는 T=RR+n(n= ± 1,2..)) T를 연접시키고, 일방향함수 H1와 다른 일방향함수 H2에 입력하여 생성한 H2(ID∥T)를 리더에 전송하며(과정 5),
    상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 H2(ID∥T)를 태그에 전송하고(과정 6),
    상기 태그는 자신의 ID와 인증 세션에서 생성한 T를 연접시키고 일방향함수 H2에 입력하며, 그 일방향함수의 출력값 H2(ID∥T)과 리더로부터 수신한 일방향함수의 출력값 H2(ID∥T)을 비교하여, 출력값이 리더로부터 수신된 입력값과 일치하면, 백-엔드 데이터베이스를 인증하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  10. 제9항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H1(ID∥RR)과 리더로부터 수신된 일방향함수의 출력값 H1(ID∥RR)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하며,
    상기 과정 7에서 태그에서 계산한 일방향함수의 출력값 H2(ID∥T)과 리더로부터 수신된 일방향함수의 출력값 H2(ID∥T)이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단하여 인증과정을 종료하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  11. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지고, 상기 태그는 내장하고 있는 일방향함수를 이용하여 난수를 생성할 수 있도록 태그가 생산될 때 태그에 key를 저장하며, 태그는 저장된 key와 이전 인증과정(세션)에서 태그가 생성한 난수 RT i-1(i는 자연수)와 리더로부터 수신한 난수 RR를 연접한 후 일방향함수에 입력하여 새로운 난수 RT i를 생성하며, 태그가 생산될 때 RT 0=H(key)로 정해지는 알에프아이디 시스템에 있어서,
    상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[Challenge 과정 : 과정 1],
    상기 태그는 고유의 인증정보 ID와 상기 난수 RR 및 태그에서 생성한 난수 RT i=H(key||RT i-1||RR)를 연접시키고, 일방향함수 H에 입력하고, 그 일방향함수의 출력값 H(ID||RR||RT i)과 태그에서 생성한 난수 RT i를 리더의 Query에 대한 응답으로 리더에게 전송하며[Response 과정 : 과정 2],
    상기 리더는 난수 RR과 태그로부터 수신한 일방향함수의 출력값 H(ID||RR||RT i) 및 난수 RT i를 백-엔드 데이터베이스(DB)로 전송하고(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID와 난수 RR 및 난수 RT i와 각각 연접시키고, 일방향함수 H에 각각 입력하며, 이 일방향함수의 출력값 H(ID||RR||RT i)과 리더로부터 수신한 일방향함수의 출력값 H(ID||RR||RT i)을 비교하여, 리더에서 수신한 H(ID||RR||RT i)과 일치하는 계산된 H(ID||RR||RT i)이 존재하는 경우 해당 ID를 태그의 ID로 인증하고(과정 4),
    이 ID와 태그가 생성한 난수 RT i를 연접시키고, 일방향함수 H에 입력하여 생성한 H(ID||RT i)를 리더에 전송하며(과정 5),
    상기 리더는 백-엔드 데이터베이스(DB)로부터 수신한 일방향함수의 출력값 H(ID∥RT i)을 태그에 전송하고(과정 6),
    상기 태그는 자신의 ID와 인증과정(세션)에서 생성한 RT i를 연접시키고 일방향함수 H에 입력하며, 그 일방향함수의 출력값과 리더로부터 수신한 H(ID∥RT i)를 비교하며, 출력값이 리더로부터 수신된 입력값과 일치하면, 백-엔드 데이터베이스 를 인증하고, 상기 난수 RT i-1을 RT i로 갱신(과정 7)하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  12. 제11항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H(ID||RR||RT i)과 리더로부터 수신된 일방향함수의 출력값 H(ID||RR||RT i)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하며,
    상기 과정 7에서 태그에서 계산한 일방향함수의 출력값 H(ID∥RT i)과 리더로부터 수신된 일방향함수의 출력값 H2(ID∥RT i)이 일치하지 않으면 백-엔드 데이터베이스의 인증은 실패로 판단하여 인증과정을 종료하고, 상기 난수 RT i-1을 RT i로 갱신하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  13. 적어도 하나의 태그와 적어도 하나의 리더 및 적어도 하나의 백-엔드 데이터베이스를 구비하여 이루어지는 알에프아이디 시스템에 있어서,
    상기 리더는 태그들에게 Query와 리더에서 생성한 난수 RR를 함께 브로드캐스팅하고[Challenge 과정 : 과정 1],
    상기 태그는 고유의 인증정보 ID와 상기 난수 RR을 연접시키고, 일방향함수 H에 입력하며, 이 일방향함수의 출력값 H(ID||RR)을 리더의 Query에 대한 응답으로 리더로 전송하며 [Response 과정 : 과정 2],
    상기 리더는 태그로부터 수신한 일방향함수의 출력값 H(ID||RR)과 난수 RR을 백-엔드 데이터베이스(DB)로 전송하고(과정 3),
    상기 백-엔드 데이터베이스는 저장된 모든 ID를 수신한 난수 RR을 각각 연접시키고 일방향함수 H에 각각 입력하고, 이 일방향함수의 출력값 H(ID||RR)과 리더로부터 수신한 일방향함수의 출력값 H(ID||RR)을 비교하여, 출력값이 일치하면 해당 ID를 태그의 ID로 인증(과정 4)하고 인증과정을 종료하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
  14. 제13항에 있어서, 상기 과정 4에서 백-엔드 데이터베이스에서 계산한 일방향함수의 출력값 H(ID||RR)과 리더로부터 수신된 일방향함수의 출력값 H(ID||RR)이 일치하지 않으면 태그 인증은 실패로 판단하여 인증과정을 종료하는 것을 특징으로 하는 알에프아이디 시스템에 있어서의 인증방법.
KR1020050027964A 2005-04-04 2005-04-04 알에프아이디 시스템에 있어서의 인증방법 KR100605138B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050027964A KR100605138B1 (ko) 2005-04-04 2005-04-04 알에프아이디 시스템에 있어서의 인증방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050027964A KR100605138B1 (ko) 2005-04-04 2005-04-04 알에프아이디 시스템에 있어서의 인증방법

Publications (1)

Publication Number Publication Date
KR100605138B1 true KR100605138B1 (ko) 2006-07-28

Family

ID=37184577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050027964A KR100605138B1 (ko) 2005-04-04 2005-04-04 알에프아이디 시스템에 있어서의 인증방법

Country Status (1)

Country Link
KR (1) KR100605138B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100721520B1 (ko) * 2005-11-03 2007-05-23 한국전자통신연구원 정보보호를 위한 알에프아이디 시스템 및 그 방법
KR100741702B1 (ko) 2005-11-22 2007-07-23 성균관대학교산학협력단 태그의 프라이버시 정보 관리 시스템 및 그 방법
KR100796438B1 (ko) 2006-05-23 2008-01-21 경북대학교 산학협력단 알에프아이디 인증 장치 및 그 방법
KR100882900B1 (ko) * 2007-05-08 2009-02-10 고려대학교 산학협력단 Rfid 태그에서의 보안 방법, rfid 태그의 보안장치 및 rfid 환경에서의 보안 방법
US8031055B2 (en) 2007-10-18 2011-10-04 Samsung Electronics Co., Ltd. Tag authentication method using rotation, and tag and reader performing the method
KR101530095B1 (ko) * 2009-04-16 2015-06-19 네이버 주식회사 슬라이딩 윈도우를 이용한 클라이언트 인증 방법 및 시스템

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100721520B1 (ko) * 2005-11-03 2007-05-23 한국전자통신연구원 정보보호를 위한 알에프아이디 시스템 및 그 방법
US7592917B2 (en) 2005-11-03 2009-09-22 Electronics And Telecommunications Research Institute RFID system and method for protecting information
KR100741702B1 (ko) 2005-11-22 2007-07-23 성균관대학교산학협력단 태그의 프라이버시 정보 관리 시스템 및 그 방법
KR100796438B1 (ko) 2006-05-23 2008-01-21 경북대학교 산학협력단 알에프아이디 인증 장치 및 그 방법
KR100882900B1 (ko) * 2007-05-08 2009-02-10 고려대학교 산학협력단 Rfid 태그에서의 보안 방법, rfid 태그의 보안장치 및 rfid 환경에서의 보안 방법
US8031055B2 (en) 2007-10-18 2011-10-04 Samsung Electronics Co., Ltd. Tag authentication method using rotation, and tag and reader performing the method
KR101300838B1 (ko) 2007-10-18 2013-08-29 삼성전자주식회사 로테이션을 이용한 태그 인증 방법 그리고 상기 방법을수행하는 태그 및 리더
KR101530095B1 (ko) * 2009-04-16 2015-06-19 네이버 주식회사 슬라이딩 윈도우를 이용한 클라이언트 인증 방법 및 시스템

Similar Documents

Publication Publication Date Title
Yang et al. Mutual authentication protocol for low-cost RFID
Piramuthu HB and Related Lightweight Authentication Protocols for Se-cure RFID Tag/Reader Authentication Title
Cho et al. Consideration on the brute-force attack cost and retrieval cost: A hash-based radio-frequency identification (RFID) tag mutual authentication protocol
Juels et al. Defining strong privacy for RFID
Peris-Lopez et al. Advances in ultralightweight cryptography for low-cost RFID tags: Gossamer protocol
Avoine et al. RFID traceability: A multilayer problem
CN100559393C (zh) Rfid标签及其阅读器、读取***及安全认证方法
Toiruul et al. An advanced mutual-authentication algorithm using AES for RFID systems
Chen et al. An ownership transfer scheme using mobile RFIDs
Ahmed et al. Lightweight mutual authentication protocol for low cost RFID tags
Dimitriou rfidDOT: RFID delegation and ownership transfer made simple
Yang et al. Security and privacy on authentication protocol for low-cost rfid
KR100605138B1 (ko) 알에프아이디 시스템에 있어서의 인증방법
Vahedi et al. Security analysis and complexity comparison of some recent lightweight RFID protocols
Chien The study of RFID authentication protocols and security of some popular RFID tags
Yeh et al. An efficient ultralightweight authentication protocol for RFID systems
Ranasinghe et al. Confronting security and privacy threats in modern RFID systems
Gope et al. QR-PUF: Design and implementation of a RFID-based secure inpatient management system using XOR-arbiter-PUF and QR-code
Kara et al. Optimal security limits of RFID distance bounding protocols
Morshed et al. Efficient mutual authentication protocol for radiofrequency identification systems
Peris-Lopez et al. RFID specification revisited
Kardaş et al. Providing resistance against server information leakage in RFID systems
Xiaohong et al. RFID mutual-authentication protocol with synchronous updated-keys based on Hash function
Chen et al. A secure RFID authentication protocol adopting error correction code
KR100618316B1 (ko) Rfid 인증 시스템 및 그 방법

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: 20120718

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee