KR101145913B1 - 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법 - Google Patents

서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법 Download PDF

Info

Publication number
KR101145913B1
KR101145913B1 KR1020100070091A KR20100070091A KR101145913B1 KR 101145913 B1 KR101145913 B1 KR 101145913B1 KR 1020100070091 A KR1020100070091 A KR 1020100070091A KR 20100070091 A KR20100070091 A KR 20100070091A KR 101145913 B1 KR101145913 B1 KR 101145913B1
Authority
KR
South Korea
Prior art keywords
tag
counter
reader
server
random number
Prior art date
Application number
KR1020100070091A
Other languages
English (en)
Other versions
KR20120010604A (ko
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 KR1020100070091A priority Critical patent/KR101145913B1/ko
Publication of KR20120010604A publication Critical patent/KR20120010604A/ko
Application granted granted Critical
Publication of KR101145913B1 publication Critical patent/KR101145913B1/ko

Links

Images

Classifications

    • 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
    • H04L9/3273Cryptographic 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 for mutual authentication
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3236Cryptographic 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 cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

서버, 다수의 리더, 및 다수의 태그로 구성된 RFID 태그 시스템에서 동기화 카운터를 이용하여 동기화된 상대와 인증을 처리하는 랜덤 아이디 기반 RFID 상호 인증 방법에 관한 것으로서, (a) 각 리더 및 태그는 각자 카운터 및 동적 아이디를 저장하고, 서버는 서버의 카운터(이하 제3 카운터)를 저장하고, 서버와 태그는 비밀키를 공유하는 단계; (b) 제1 리더는 자신 카운터(이하 제1 카운터)를 제2 태그에 전송하는 단계; (c) 제2 태그는 자신 카운터(이하 제2 카운터)와 제1 카운터가 정당한 상태이면, 비밀키를 이용하여 제1 인증 메시지를 생성하여 제2 카운터 및 자신 동적 아이디(이하 제2 동적 아이디)와 함께 제1 리더로 전송하는 단계; (d) 제1 리더는 자신 동적 아이디(이하 제1 동적 아이디) 및 제2 동적 아이디를 제1 및 제2 카운터와 함께 서버로 전송하는 단계; (e) 서버는 제1 및 제2 카운터가 제3 카운터와 정당한 상태이면 공유된 비밀키를 이용하여 제2 인증 메시지를 생성하는 단계; (f) 서버는 제1 인증 메시지를 제2 인증 메시지를 비교하여 검증하고, 제1 및 제2 갱신 아이디를 생성하여 제2 인증 메시지와 함께 제1 리더를 전송하는 단계; (g) 제1 리더는 서버로부터 수신한 제2 갱신 아이디 및 제2 인증 메시지를 제2 태그로 전송하는 단계; (h) 제2 태그는 제2 인증 메시지를 제1 인증 메시지와 비교하여 검증하고, 제2 비밀키를 갱신하고, 제2 동적 아이디를 제2 갱신 아이디로 갱신하고, 제2 카운터를 제1 카운터로 갱신하는 단계; (i) 제2 태그는 응답 메시지를 생성하여 제1 리더로 전송하는 단계; (j) 제1 리더는 응답 메시지를 수신하면 제1 동적 아이디를 제1 갱신 아이디로 갱신하고, 응답 메시지를 서버로 전송하는 단계; (h) 서버는 응답 메시지를 수신하면 공유된 제1 및 제2 공유 아이디를 제1 및 제2 갱신 아이디로 갱신하고, 공유된 비밀키를 갱신하는 단계를 포함하는 구성을 마련한다.
상기와 같은 랜덤 아이디 기반 RFID 상호 인증 방법에 의하여, 서버, 리더, 태그 사이의 상호인증을 지원하고, 재전송 공격 및 태그와 리더의 위장공격, 태그 위치추적공격, 서비스 거부 공격에 안전하고, 서버의 태그 탐색에 대한 서버 검색률을 개선하여 상호인증의 효율성을 높일 수 있다.

Description

서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 RFID 상호 인증 방법 { A random ID-based RFID Mutual authentication method for detecting impersonation attack against a back-end server and a reader }
본 발명은 서버, 다수의 리더, 및 다수의 태그로 구성된 RFID 태그 시스템에서 동기화 카운터를 이용하여 동기화된 상대와 인증을 처리하는 랜덤 아이디 기반 RFID 상호 인증 방법에 관한 것이다.
특히, 본 발명은 서버와 태그가 공유하는 비밀키로 인증 메시지를 생성하여 인증 메시지를 통해 상호 검증하는 랜덤 아이디 기반 RFID 상호 인증 방법에 관한 것이다.
또한, 본 발명은 서버, 리더, 태그는 상호 인증 후 동적 아이디를 갱신하되, 태그가 동적 아이디를 갱신 후 응답 메시지를 보내면 리더와 서버는 순차적으로 동적 아이디를 갱신하여 동적 아이디를 동기화시키는 랜덤 아이디 기반 RFID 상호 인증 방법에 관한 것이다.
일반적으로, 유비쿼터스 환경에서 RFID(Radio Frequency Identification) 태그를 사물에 부착하여 사물을 식별하고, 정보를 빠르고 편리하게 확인할 수 있어 군사, 물류, 에너지/환경, 융합신산업, 바이오산업 등에서 바코드의 대체 수단으로 이용되고 있다.
하지만, 실생활에서 거의 모든 사물에 RFID 태그가 부착되었다고 본다면 태그의 식별정보 수집으로 인한 이동경로추적, 금전적 지출 및 사회적 지위 등의 개인 프라이버시와 관련된 정보가 노출될 수 있는 문제점이 있다. 즉, RFID 시스템에는 무선 구간이 존재함으로써 도청, 전파범위 제한에 따른 통신 두절, 간섭 등의 문제점이 발생할 수 있다.
RFID 시스템의 안전성을 위협할 수 있는 공격으로 도청, 트래픽 분석 등의 수동적 공격과 위조, 서비스 거부 공격 등의 능동적 공격들이 있으며, 이런 공격들로부터 안전한 RFID 시스템 설계를 위해서는 전달되는 인증 정보의 기밀성 및 무결성, 태그 식별 정보의 익명성 등의 기본적인 보안 요구사항이 만족되어야 할 것이다. 하지만 RFID 태그의 경우, 연산능력과 저장 능력에 제한이 있으므로 기존의 공개키 방식이나 대칭키 방식의 암호화 알고리즘을 적용하는 것은 적절하지 않다.
초기 RFID 보안 대책으로 kill tag, faraday case, active jamming, blocker tag를 이용한 방식들이 알려졌으며. 이후 해쉬 연산을 이용한 해쉬락, 재암호화, 해쉬 체인 방식 등이 소개되었다. 최근에는 경량화된 대칭키 및 공개키 암호에 대한 연구가 활발히 연구되고 있다.
먼저, 종래의 XOR과 해쉬를 이용한 인증 방법(이하 제1 종래방법)을 설명한다.
상기 제1 종래방법에서는 백엔드 서버가 사전에 리더에게 공유키(KBR)를 제공함으로써 백엔드 서버와 리더 구간에 암호화를 지원하고 있다. 리더는 태그로부터 수신한 태그 아이디(IdT)를 백엔드 서버로 전달하고, 아이디(IdT)에 해당하는 비밀키(KT)를 수신하게 된다. 이후 리더가 랜덤수(rR)를 생성한 후 태그에게 전송하고, 태그로부터 인증 메시지 m=h(rR
Figure 112010046810576-pat00001
KT)를 수신한다. 리더는 백엔드 서버로부터 수신한 비밀키(KT)를 이용하여 인증 메시지(m)를 계산하고, 태그로부터 수신한 인증 메시지(m)와 동일한 경우 태그를 인증하게 된다. 인증에 필요한 연산량은 리더에서 암복호화 각 1회, 랜덤값 생성 1회, XOR 연산 1회, 해쉬 연산 1회를 수행하고, 태그에서, XOR 연산 1회, 해쉬 연산 1회가 수행된다. 총 메시지 전송 횟수는 6회이다.
하지만, 공격자는 태그가 리더를 인증하지 않은 상태에서 리더로 전달되는 아이디(IdT)가 그대로 노출된다는 점을 이용하여 도청 공격 및 태그의 위치 추적 공격을 할 수 있다. 도청의 경우 리더와 태그 사이가 무선 구간이므로 전달되는 아이디(IdT)를 수집할 수 있다. 설령, 무선 구간이 사용하지 않더라도 유선 근거리통신망 상에 존재하는 내부 공격자가 존재한다면 공격 가능성은 상존한다. 유선 네트워크를 태그의 위치 추적 공격은 태그에게 쿼리를 전달하면 동일한 아이디(IdT)가 리턴되므로 가능하다. 또한, 공격자가 리더로 가장하여 사전에 관련 데이터(IdT, rR, m)를 수집하는 경우, 인증 정보 재전송을 통한 태그 위장 공격이 가능할 것이다.
다음으로, 랜덤수를 이용하여 개선한 인증 방법(이하 제2 종래방법)을 설명한다.
상기 제2 종래방법은 리더가 태그로 쿼리 전송시 제1 랜덤수(rR)를 함께 전달함으로써 재전송 공격이 불가능하도록 개선하였다. 태그의 응답에서 제2 랜덤수(rT)가 포함되므로 태그의 익명성과 위치 추적 공격에 대한 안전성을 제공한다.
태그는 인증 메시지(m)와 제2 랜덤수(rT)만을 리더로 전송함으로 태그 아이디(IdT)와 비밀키(KT)에 대한 노출을 방지할 수 있다. 인증에 필요한 연산량은 리더의 경우 랜덤 값 생성 1회, 암ㅇ복호화 각 1회를 수행한다. 태그의 경우, 랜덤 값 생성 1회, 해쉬 연산 1회로 상기 제1 종래방법 보다 리더와 태그의 연산 모두 감소하였으며, 라운드 수를 4회로 감소시켰다.
하지만, 태그 아이디(IdT)와 비밀키(KT)가 갱신되지 않으므로 공격자가 태그의 그룹에 동일한 리더 랜덤수(_rR)을 쿼리와 함께 반복적으로 요청하는 경우 (_rR, m, rT)쌍을 수집할 수 있어 태그의 위치 추적이 가능하다.
다음으로, 동적 아이디기반 RFID 상호 인증 방법(이하 제3 종래방법)을 설명한다.
상기 제3 종래방법은 동적 아이디를 지원하는 RFID 시스템에 적용한 방법으로서, 백엔드 서버와 리더 구간을 안전한 채널로 가정하여 백엔드 서버와 리더를 하나의 시스템으로 표현하고 있다.
태그는 자신의 아이디(IdT)와 비밀키(KT)를, 백엔드 서버는 아이디(IdT), 현재키(CKT), 이전키(PKT), info정보를 저장한다. 리더가 제1 랜덤수(rR)를 생성하여 쿼리와 함께 태그로 전송하고, 태그로부터 아이디(IdT), (태그가 생성한) 제2 랜덤수(rT), 인증정보 m=h(KT, rR||rT)의 좌측 절반 값인 mLeft를 응답 받는다. 리더는 이를 수신하여 제1 랜덤수(rR)와 함께 백엔드 서버로 전달한다.
한편, 리더에 인증 정보 전달을 마친 태그는 아이디(IdT)를 h(KT, IdT)로 갱신한다. 백엔드 서버는 태그로부터 수신한 아이디(IdT)를 식별자로 DB를 검색하여 mLeft을 확인하고, 인증 된 경우 비밀키(KT)와 아이디(IdT)를 각각 h(KT||rR), h(KT, IdT)로 갱신한다.
아이디(IdT)가 DB에서 색인되지 않을 경우, 전체 태그의 현재키(CKT)와 이전키(PKT)를 대상으로 mLeft 연산을 수행하여 일치하는 경우 현재키(CKT), 이전키(PKT), 아이디(IdT)를 갱신한다. 태그의 키가 서버와 비동기화되고 아이디(ID)까지 비동기화되는 경우 전체 이전키(PKT)를 대상으로 mLeft 연산을 수행하고, mLeft이 일치하는 경우 아이디(IdT)만을 갱신한다.
서버는 태그에게 mRight과 info정보를 전달하고, 태그는 mRight을 인증한 경우에만 비밀키(KT)를 각각 h(KT||rR)로 갱신한다.
이와 같은 과정을 통해 위치추적 공격, 서비스 거부 공격 등에 안전하지만, 서버를 안전한 구간으로 정의함으로써 서버 위장 공격은 고려하지 않았다. 상기 제3 종래방법은 백엔드 서버와 리더 구간에서의 전송 과정을 고려한다면, 리더에서 서버로의 제1 랜덤수(rR) 전송 1회를 포함하여 총 6회의 통신을 거치게 된다. 또한 인증을 위해 리더는 랜덤값 생성 1회만 수행하며, 태그는 1회의 랜덤값 생성과 3번의 해쉬 연산을 수행한다.
상기 제3 종래방법에서는 태그의 아이디 갱신을 위해 별도의 통신과정을 두지 않고, 쿼리 응답 후에 스스로 아이디를 갱신하도록 하고 있다. 공격자는 이점을 이용하여 태그에게 쿼리와 난수를 브로드캐스트함으로써 손쉽게 서버와 태그 사이에 아이디 비동기화를 발생시킬 수 있다. 아이디 비동기화가 발생하게 되면 서버는 DB에 있는 모든 태그를 대상으로 해쉬 연산을 수행해야만 하므로 동적 아이디를 이용한 태그 검색 효율성을 유지할 수 없게 된다. 다만, 아이디 비동기화는 1회에 한정되므로 시스템과의 통신이 정상적으로 완료되면 동기화가 맞춰진다.
다음으로, 동기화 카운터를 이용한 RFID 상호 인증 방법(이하 제4 종래방법)을 설명한다.
상기 제4 종래방법은 고정 아이디 기반 RFID 인증 방법으로 카운터를 이용하여 태그가 비동기화된 리더를 구분함으로써 태그의 인증 정보 노출을 방지하고 있다. 백엔드 서버와 리더 사이를 안전한 구간으로 가정하고 있으며, 백엔드 서버는 시스템에 대한 모든 공격을 탐지할 수 있다는 가정을 둔다.
백엔드 서버는 리더 아이디(IdR), 태그 아이디(IdT), 비밀키(KT), 서버 카운터(cB)를, 리더는 리더 아이디(IdR), 태그 아이디(IdT), 리더 카운터(cB), 태그-리더간 공유키(KTR)를, 태그는 태그 아이디(IdT), 비밀키(KT), 태그 카운터(cT)를 각각 저장하고 있다.
백엔드 서버는 KTR=EKTR(IdR, cR)을 생성하고 리더에게 전달한다. 리더의 요청시 태그는 리더 아이디(IdR), 리더 카운터(cB), 제1 랜덤수(rR)를 수신 받고, 암호화 통신을 위하여 KTR=EKT(IdR, cR)을 생성하고 태그의 제1 랜덤수(rT)을 암호화하여 EKT(rR, rT) 전달한다. 이를 수신한 리더는 EKT(rR, rT)를 복호화 한 후 제1 랜덤수(rR)를 확인함으로써 리더가 태그를 인증하고, 자신의 제1 랜덤수(rR)를 태그로 재전송함으로써 태그가 리더를 인증한다.
공격 탐지시 백엔드 서버는 서버 카운터(cB)를 증가시키고 정당한 리더들만 동기화시킨다. 태그는 평상시 사전에 백엔드 서버와 공유하고 있는 태그 카운터(cT) 값을 유지하고 있다가 리더 요청시, 자신의 정보와 리더의 정보를 이용하여 해쉬 값을 생성하고, 생성된 해쉬 값이 백엔드 서버에서 인증되는 경우에만 정당한 리더로부터 전달받은 카운터로 갱신하는 과정을 거친다. 이후 리더 아이디(IdR)와 증가된 서버 카운터(cB)를 태그의 키로 암호화함으로써 암호키를 갱신한다.
하지만, 각 태그와 리더 사이에 유일한 KTR을 소유하므로 통신에 대한 안전성을 높일 수 있는 반면, 리더가 모든 태그의 KTR을 저장해야 한다는 점과, 백엔드 서버가 모든 공격을 탐지할 수 있다는 강력한 가정을 만족해야만 프로토콜이 동작할 수 있다. 리더로 위장한 공격자가 충분히 높은 카운터를 생성하여 전송할 경우 태그 카운터 비동기화 공격이 가능하다. 이와 같은 공격에 의해 비동기화가 발생할 수 있지만 제안된 프로토콜은 재동기화 과정 및 카운터 초기화 방법을 제시하지 않고 있다.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, RFID 시스템의 모든 구간을 안전하지 않은 구간으로 고려하여 공격자가 백엔드 서버와 리더 그리고 태그로 위장 공격에 대처할 수 있는 랜덤 아이디 기반 RFID 상호 인증 방법을 제공하는 것이다.
즉, 본 발명의 목적은 RFID 시스템의 전 구간에서의 공격에 대처하고, 각 구간에서의 정보의 노출을 방지하고, 동적 아이디에 의한 비동기화 문제를 해결하고, 태그의 연산 능력을 고려하여 경량화되고, 서버에서 효율적인 태그 검색을 지원해야 하는 등의 요구사항을 만족하는 RFID 상호 인증 방법을 제공하는 것이다.
또한, 본 발명은 서버, 다수의 리더, 및 다수의 태그로 구성된 RFID 태그 시스템에서 동기화 카운터, 비밀키로 생성된 인증 메시지로 인증하고, 동적 아이디를 이용하되, 태그가 유동 아이디를 갱신 후 응답 메시지를 보내면 리더와 서버가 순차적으로 동적 아이디를 갱신하는 랜덤 아이디 기반 RFID 상호 인증 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 서버, 다수의 리더, 및 다수의 태그로 구성된 RFID 태그 시스템에서 동기화 카운터를 이용하여 동기화된 상대와 인증을 처리하는 랜덤 아이디 기반 RFID 상호 인증 방법에 관한 것으로서, (a) 각 리더는 상기 리더의 카운터 및 동적 아이디를 저장하고, 각 태그는 상기 태그의 카운터 및 동적 아이디, 비밀키를 저장하고, 상기 서버는 서버의 카운터(이하 제3 카운터) 및, 모든 태그의 동적 아이디와 비밀키를 저장하는 단계; (b) 하나의 리더(이하 제1 리더)는 제1 랜덤수를 발생하고, 상기 제1 리더의 카운터(이하 제1 카운터)와 상기 제1 랜덤수를 쿼리와 함께 태그(이하 제2 태그)에 전송하는 단계; (c) 상기 제2 태그는 상기 제2 태그의 카운터(이하 제2 카운터)가 상기 제1 카운터와 정당한 상태이면, 제2 랜덤수를 발생하고, 상기 제2 태그의 비밀키(이하 제2 비밀키)를 이용하여 제1 인증 메시지를 생성하고, 상기 제2 카운터 및 제2 태그의 동적 아이디(이하 제2 동적 아이디), 상기 제1 인증 메시지, 제1 및 제2 랜덤수를 상기 제1 리더로 전송하는 단계; (d) 상기 제1 리더는 수신한 제1 랜덤수를 검증하고, 검증되면 상기 제1 리더의 동적 아이디(이하 제1 동적 아이디), 상기 제2 동적 아이디, 제1 및 제2 카운터, 상기 제1 및 제2 랜덤수를 상기 서버로 전송하는 단계; (e) 상기 서버는 상기 제2 동적 아이디에 대응되는 공유된 비밀키를 검색하고, 상기 제1 및 제2 카운터가 제3 카운터와 정당한 상태이면 공유된 비밀키를 이용하여 제2 인증 메시지를 생성하는 단계; (f) 상기 서버는 상기 제1 인증 메시지를 상기 제2 인증 메시지를 비교하여 검증하고, 검증되면 제1 및 제2 갱신 아이디를 생성하고, 상기 제2 태그에 대한 부가정보(info)를 상기 제2 인증 메시지, 상기 제1 및 제2 갱신 아이디, 제1 및 제2 카운터, 제1 및 제2 랜덤수와 함께 상기 제1 리더를 전송하는 단계; (g) 상기 제1 리더는 수신한 제1 카운터 및 제1 랜덤수로 검증하고, 검증되면 상기 서버로부터 수신한 제2 갱신 아이디 및 제2 인증 메시지, 제2 랜덤수, 제2 카운터를 상기 제2 태그로 전송하는 단계; (h) 상기 제2 태그는 수신한 제2 카운터 및 제2 랜덤수로 검증하고, 검증되면 상기 제2 인증 메시지를 상기 제1 인증 메시지와 비교하여 검증하고, 검증되면 상기 제2 비밀키를 상기 제2 인증 메시지를 이용하여 갱신하고, 상기 제2 동적 아이디를 상기 제2 갱신 아이디로 갱신하고, 상기 제2 카운터를 상기 제1 카운터로 갱신하는 단계; (i) 상기 제2 태그는 응답 메시지를 생성하여 상기 제1 리더로 전송하는 단계; (j) 상기 제1 리더는 상기 응답 메시지를 수신하여 검증하고, 검증되면 상기 제1 동적 아이디를 상기 제1 갱신 아이디로 갱신하고, 상기 응답 메시지를 상기 서버로 전송하는 단계; (k) 상기 서버는 상기 응답 메시지를 수신하여 검증하고, 검증되면 공유된 제1 및 제2 공유 아이디를 상기 제1 및 제2 갱신 아이디로 갱신하고, 공유된 비밀키를 상기 제2 인증 메시지를 이용하여 갱신하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 서버와 태그는 상기 태그의 고정 아이디를 공유하고, 상기 제1 및 제2 인증 메시지는 태그의 고정 아이디 및 비밀키를 해쉬하여 생성되는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 제1 및 제2 인증 메시지는 제1 및 제2 카운터, 제1 및 제2 랜덤수를 더 포함하여 해쉬하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 리더 또는 태그는 수신한 카운터 또는 랜덤수를 상기 리더 또는 태그가 저장하고 있는 카운터 또는 랜덤수를 비교하여 동일여부로 검증하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 (c)단계에서, 상기 제2 태그는 상기 제1 인증 메시지의 제1 부분을 전송하고, 상기 (f)단계에서, 상기 서버는 상기 제2 인증 메시지의 제2 부분을 전송하되, 상기 제2 인증 메시지의 제2 부분은 상기 제1 인증 메시지의 제1 부분과는 메시지의 서로 다른 위치인 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 제1 카운터의 값이 상기 제2 카운터 보다 같거나 클 때 동기화가 검증되거나, 상기 제3 카운터의 값이 상기 제2 카운터 보다 같거나 클 때 동기화가 검증되거나, 상기 제2 및 제3 카운터의 값이 동일할 때 동기화가 검증되는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 서버와 리더는 상기 리더의 고정 아이디를 공유하고, 상기 카운터를 암호화하여 전송하되, 상기 카운터에 상기 고정 아이디 및 카운터를 해쉬한 값을 XOR연산하여 암호화하고, 암호화된 카운터를 복호화하여 처리하되, 상기 암호화된 카운터에 상기 고정 아이디 및 카운터를 해쉬한 값을 XOR연산하여 복호화하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 (f)단계에서, 상기 서버는 제3 랜덤수를 생성하고 공유된 제1 또는 제2 고정 아이디에 상기 제3 랜덤수를 연접하고 해쉬하여 상기 제1 또는 2 갱신 아이디를 생성하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 서버와 리더는 공유키를 공유하여, 상기 공유키로 데이터를 암호화하여 전송하고 수신한 데이터를 복호화하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 응답 메시지는 상기 제1 및 제2 랜덤수를 XOR 연산하여 생성되고, 상기 응답메시지에 제1 또는 제2 랜덤수를 XOR 연산하여 상기 제2 또는 제1 랜덤수를 추출하고, 추출된 제2 또는 제1 랜덤수를 저장된 제2 또는 제1 랜덤수와 비교하여 동일여부로 검증되는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 (g)단계 또는 상기 (h)단계는, 상기 제1 리더 또는 제2 태그는 수신한 랜덤수 및 카운터로 검증하되, 수신한 랜덤수 및 카운터와 저장된 랜덤수 및 카운터와 동일여부로 검증하는 것을 특징으로 한다.
또, 본 발명은 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서, 상기 (a)단계에서, 상기 서버는 태그의 동적 아이디에 대응되는 태그의 고정 아이디 및 비밀키를 제1 테이블로 구성하고, 리더의 동적 아이디 및 태그의 동적 아이디에 대응되는 태그의 고정 아이디 및 비밀키를 제2 테이블로 구성하고, 상기 (e)단계는 상기 서버는 상기 제2 테이블을 검색하여 태그의 고정 아이디 및 비밀키를 검색하고, 상기 제2 테이블에서 검색결과가 없으면 상기 제1 테이블에서 검색하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 랜덤 아이디 기반 RFID 상호 인증 방법에 의하면, 서버, 리더, 태그 사이의 상호인증을 지원하고, 재전송 공격 및 태그와 리더의 위장공격, 태그 위치추적공격, 서비스 거부 공격에 안전하고, 서버의 태그 탐색에 대한 서버 검색률을 개선하여 상호인증의 효율성을 높일 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 RFID 시스템 구성의 일례를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 랜덤 아이디 기반 RFID 상호 인증 방법을 설명하는 흐름도이다.
도 3은 본 발명의 일실시예에 따른 데이터베이스의 구조를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 공격 시나리오를 설명하는 흐름도이다.
도 5는 본 발명의 일실시예 따라 동기화 실패를 위한 재동기화 방법을 설명하는 흐름도이다.
도 6은 본 발명과 종래 기술의 안정성 및 효율성을 대비한 표이다.

* 도면의 주요 부분에 대한 부호의 설명 *
10 : 리더 20 : 태그
30 : 서버 40 : 데이터베이스
41 : 리더정보DB 42 : 태그정보DB
43 : 태그목록DB
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명을 실시하기 위한 전체 RFID 시스템 구성의 일례를 도 1을 참조하여 설명한다.
도 1에서 도시한 바와 같이, 본 발명을 실시하기 위한 RFID 시스템은 다수의 리더(10), 다수의 태그(20), 및 서버(30)로 구성된다. 또한, 추가적으로 데이터를 저장하기 위한 데이터베이스(40)를 추가적으로 구성한다.
태그(20)는 RFID태그 등 정보를 저장하는 소형 회로 장치로서 리더(10)로부터 무선신호(radio frequency)를 수신하면 저장된 데이터를 리더(10)로 송신하는 장치이다. 태그(20)는 회로에 의해 연산을 처리하거나 데이터를 저장하고 읽을 수 있다.
리더(10)는 무선신호를 브로드캐스팅하고 상기 무선신호에 반응하는 태그(20)로부터 신호를 수신한다. 이를 통해, 태그(20)에 저장된 데이터를 수신하거나 태그(20)가 일정한 작업(또는 연산)을 처리하게 하거나, 또 그 처리 결과를 수신한다. 리더(10)가 무선신호를 브로드캐스팅하면 무선신호를 받는 태그(20)들은 모두 상기 리더(10)의 무선신호에 반응한다.
서버(30)는 컴퓨팅 기능을 가진 통상의 서버로서, 상기 리더(10)와 데이터 통신을 하고, 상기 태그(20) 및 리더(10)에 관한 정보를 저장한다. 그래서 서버(30)는 리더(10)가 필요로 하는 태그(20)의 정보를 리더(10)에 전송한다.
즉, 리더(10)는 태그(20)에 관한 보다 상세한 정보를 얻기 위하여, 상기 태그(20)에 쿼리를 전송하여 태그(20)의 아이디(XIdT)를 수신하고, 수신한 태그(20)의 아이디(XIdT)를 서버(30)에 전송한다. 서버(30)는 수신한 아이디(XIdT)에 대한 태그 정보(info)를 검색하고 그 결과를 리더(10)에 전송한다. 최종적으로, 리더(10)는 서버(30)로부터 송신한 태그(20)에 관한 상세한 정보(info)를 수신할 수 있다.
한편, 서버(30)와 태그(20)는 상호 인증을 하기 위하여 비밀키(KT)를 공유한다. 즉, 서버(30)는 진정한 태그(20)에 관한 태그 정보(info)를 원하는 것인지를 인증하고, 태그(20)는 진정한 서버(30)에 의한 태그 정보(info)인 것을 인증하기 위한 것이다. 구체적으로, 서버(30)와 태그(20)는 비밀키(KT)를 이용하여 인증 메시지를 생성하여 서로 교환한다. 교환된 인증 메시지를 서로 비교하여 동일한지 여부로 상호 인증을 수행한다.
또한, 리더(10), 태그(20), 서버(30)는 모두 동기화 카운터(cR, cT, cR)를 갖는다. 서버(30)는 공격이 탐지되면 자신의 카운터(cR)를 증가시키고, 정당한 리더(10)들의 카운터(cR)만 자신의 카운터(cR)로 동기화시킨다. 이때, 태그의 카운터(cT)는 동기화되지 않는다. 대신, 리더(10)에 의해 태그(10)에 관한 태그 정보(info)가 요청될 때, 태그의 카운터(cT)를 동기화 시킨다.
따라서 서버(30)와 리더(10)는 항상 서로의 카운터(cR, cR)가 동일한 값을 가지는 경우(즉, 동기화된 상태인 경우)에만 정당한 상태이다. 그러나 리더(10)와 태그(20), 또는 서버(30)와 태그(20)는 리더(10) 또는 서버(30)의 카운터(cR, cR)가 태그의 카운터(cT) 보다 같거나 큰 경우에도 정당한 상태이다.
또한, 리더(10) 및 태그(20)는 고정 아이디(IdR, IdT) 및 동적 아이디(XIdR, XIdT)를 모두 저장하여 갖는다. 그러나 상대에게 전송되는 아이디는 동적 아이디(XIdR, XIdT)만이다. 즉, 태그(20)가 리더(10)의 쿼리 요청에 응답하여 태그의 동적 아이디(XIdT)를 전송하고, 그 태그의 동적 아이디(XIdT)가 서버(30)까지 전달된다. 또, 리더(10)가 서버(30)에 태그의 아이디를 전송하면서 자신의 식별정보로서 자신의 동적 아이디(XIdR)를 함께 전송한다.
고정 아이디(IdR, IdT)는 전송되지 않고, 서버(30)에도 사전에 저장된다. 그리고 리더(10) 및 태그(20)는 자신들의 고정 아이디(IdR, IdT)로 자신들의 카운터(cR, cT)를 암호화하면, 서버(30)는 저장하고 있던 리더(10) 및 태그(20)의 고정 아이디(IdR, IdT)로 카운터(cR, cT)를 복호화한다. 유사한 방식으로 인증 메시지를 생성할 때도 이용된다. 또한, 고정 아이디(IdR, IdT)는 동적 아이디(XIdR, XIdT)를 갱신할 때도 이용된다.
한편, 리더(10)와 서버(30) 사이에는 암호화 통신을 하는 것이 바람직하다. 이를 위해, 리더(10)와 서버(30)는 암호화 통신을 위한 공유키(KBR)를 서로 공유하고, 상기 공유키(KBR)로 전송하고자 하는 데이터를 암호화하여 전송한다.
또한, 리더(10), 또는 태그(20), 서버(30)가 상대에게 데이터를 송신하고 그 응답으로서 상대로부터 데이터를 수신하는 경우, 자신이 수신한 데이터가 "자신이 데이터를 보내고자 한 진정한 상대"로부터 오는 데이터인지를 검증한다. 이때, 이를 검증하기 위하여 랜덤수(rB, rR, rT)를 사용한다. 따라서 랜덤수(rB, rR, rT)는 상호 인증을 할 때마다 새로 생성하고, 랜덤한 방식으로 생성된 임의의 수를 이용한다. 서버(30)의 랜덤수(rB)는 동적 아이디(XIdR, XIdT)를 갱신할 때 갱신 변수로 활용된다.
데이터베이스(40)는 서버(30)가 필요로 하는 데이터를 저장하기 저장소로서, 리더(10)의 동적 아이디(XIdR), 고정 아이디(IdR), 공유키(KBR) 등을 저장하기 위한 리더정보DB(41), 태그(20)의 동적 아이디(XIdT), 고정 아이디(IdT), 비밀키(KT) 등을 저장하기 위한 태그정보DB(42), 리더(10)에 의해 태그(20)가 읽혀졌을 때 리더(10)와 태그(20)의 쌍을 기록한 태그목록DB(43) 등으로 이루어진다. 그러나 상기 데이터베이스(40)의 구성은 바람직한 일실시예일 뿐이며, 구체적인 장치를 개발하는데 있어서, 접근 및 검색의 용이성 및 효율성 등을 감안하여 데이터베이스 구축이론에 의하여 다른 구조로 구성될 수 있다.
다음으로, 본 발명의 일실시예에 따른 랜덤 아이디 기반 RFID 상호 인증 방법을 도 2를 참조하여 설명한다. 도 2는 본 발명의 일실시예에 따른 랜덤 아이디 기반 RFID 상호 인증 방법을 설명하는 흐름도이다.
도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 센서 네트워크 인증방법은 (a) 각 리더 및 태그는 각자 카운터 및 동적 아이디를 저장하고, 서버는 서버의 카운터(이하 제3 카운터)를 저장하고, 서버와 태그는 비밀키를 공유하는 단계(S10); (b) 제1 리더는 자신 카운터(이하 제1 카운터)를 제2 태그에 전송하는 단계(S20); (c) 제2 태그는 자신 카운터(이하 제2 카운터)와 제1 카운터가 정당한 상태이면, 비밀키를 이용하여 제1 인증 메시지를 생성하여 제2 카운터 및 자신 동적 아이디(이하 제2 동적 아이디)와 함께 제1 리더로 전송하는 단계(S30); (d) 제1 리더는 자신 동적 아이디(이하 제1 동적 아이디) 및 제2 동적 아이디를 제1 및 제2 카운터와 함께 서버로 전송하는 단계(S40); (e) 서버는 제1 및 제2 카운터가 제3 카운터와 정당한 상태이면 공유된 비밀키를 이용하여 제2 인증 메시지를 생성하는 단계(S50); (f) 서버는 제1 인증 메시지를 제2 인증 메시지를 비교하여 검증하고, 제1 및 제2 갱신 아이디를 생성하여 제2 인증 메시지와 함께 제1 리더를 전송하는 단계(S60); (g) 제1 리더는 서버로부터 수신한 제2 갱신 아이디 및 제2 인증 메시지를 제2 태그로 전송하는 단계(S70); (h) 제2 태그는 제2 인증 메시지를 제1 인증 메시지와 비교하여 검증하고, 제2 비밀키를 갱신하고, 제2 동적 아이디를 제2 갱신 아이디로 갱신하고, 제2 카운터를 제1 카운터로 갱신하는 단계(S80); (i) 제2 태그는 응답 메시지를 생성하여 제1 리더 및 서버로 전송하면, 제1 리더 및 서버는 아이디 등을 갱신하는 단계(S90)로 구성된다.
각 단계를 구체적으로 설명한다.
먼저, 서버(30) 및, 각 리더(10) 및 태그(20)는 필요한 데이터를 사전에 등록한다. 즉, 각 리더(10)는 상기 리더(10)의 카운터(cR) 및 동적 아이디(XIdR)를 저장하고, 각 태그(20)는 상기 태그의 카운터(cT) 및 동적 아이디(XIdT), 비밀키(KT)를 저장하고, 상기 서버(30)는 서버의 카운터(이하 제3 카운터)(cB) 및, 모든 태그의 동적 아이디(XIdT)와 비밀키(KT)를 저장한다(S10). 또한, 리더(10) 및 태그(20)는 자신의 고정 아이디(IdR, IdT)를 저장하고, 서버(30)도 이들 고정 아이디(IdR, IdT)를 공유하여 저장하는 것이 바람직하다.
사전 등록 단계는 사용하지 않았던 리더(10)나 태그(20)를 제안하는 RFID 시스템에서 사용하기 위해 반드시 거쳐야하는 준비과정이며, 오프라인에서 별도의 인증 및 등록 과정을 거친다. 새로운 리더와 태그는 다음과 같은 정보를 백엔드 서버(30)로부터 전달받거나 서버(30)에 저장하게 된다.
사전 등록 단계에서 리더(10)는 백엔드 서버(30)로부터 동적 아이디(XIdR), 카운터(cR), 공유키(KBR)를 오프라인을 통해서 발급받고, 백엔드 서버(30)에 리더의 동적 아이디(XIdR), 고정 아이디(IdR), 패스워드(ps_IdR), 공유키(KBR)를 저장한다. 패스워드는 비동기화시 복구를 위한 인증 수단으로 리더 동기화 단계에서 사용된다.
또, 사전 등록 단계에서 태그(20)는 백엔드 서버(30)로부터 동적 아이디(XIdT), 카운터(cT), 비밀키(KT)를 오프라인을 통해 발급받고, 백엔드 서버에 동적 아이디(XIdT), 고정 아이디(IdT), 비밀키(KT), 및 태그의 부가정보(info)를 저장한다.
다음으로, 하나의 리더(이하 제1 리더)(10)는 제1 랜덤수(rR)를 발생하고(S21), 상기 제1 리더의 카운터(이하 제1 카운터)(cR)와 상기 제1 랜덤수(rR)를 쿼리(Query)와 함께 태그(이하 제2 태그)(20)에 전송한다(S22). 다수의 리더 및 다수의 태그 중에서 특정 리더 및 특정 태그를 지칭하기 위해, "제1 리더" 및 "제2 태그"라는 용어를 사용한다.
다음으로, 제2 태그(20)는 자신의 카운터(이하 제2 카운터)(cT)가 제1 카운터(cR)와 정당한 상태이면, 제2 랜덤수(rT)를 발생하고, 제2 태그의 비밀키(이하 제2 비밀키)(KT)를 이용하여 제1 인증 메시지(m)를 생성한다(S31).
즉, 제2 태그(20)는 자신이 가지고 있는 제2 카운터(cT)와 제1 리더(10)로부터 수신한 제1 카운터(cR)의 크기를 비교한다. 제1 카운터(cR)가 제2 카운터(cT) 보다 작은 경우 통신을 중단한다. 제1 카운터(cR)가 제2 카운터(cT)와 같거나 큰 경우에만 다음 과정을 거친다. 태그(20)는 제2 랜덤수(rT)를 생성하고 리더(10)로부터 수신한 정보(cR, rR)와 자신의 정보(IdT, KT, rT, cT)를 이용해 인증 메시지(m)을 생성한다. 카운터 정보를 숨기기 위해 태그의 고정 아이디(또는 제2 고정 아이디)(IdT)와 제2 랜덤수(rT)를 해쉬하고 이 값을 제2 카운터(cT)와 XOR 연산하여 암호화된 제2 카운터(XcT)를 생성한다.
그리고 제2 태그(20)는 제2 카운터(cT) 및 제2 태그의 동적 아이디(이하 제2 동적 아이디)(XIdT), 제1 인증 메시지(m), 제1 및 제2 랜덤수(rR, rT)를 제1 리더(10)로 전송한다(S32). 이때 바람직하게는 제2 카운터(cT)는 암호화된 제2 카운터(XcT)를 보낸다. 또한, 제1 인증 메시지(m)에서 왼쪽 반(mLeft)만 전송하는 것이 바람직하다.
다음으로, 제1 리더(10)는 수신한 제1 랜덤수(rR)를 검증한다(S41). 즉, 제1 리더(10)는 제2 태그(20)로부터 수신한 인증 정보의 일치여부를 확인하기 위해서 제1 랜덤수(rR) 값을 확인한다. 그리고 이 값이 동일한 경우에 검증된 것으로 판단된다.
제1 리더(10)는 검증되면 제1 태그의 동적 아이디(이하 제1 동적 아이디)(XIdR), 제2 동적 아이디(XIdT), 제1 및 제2 카운터(cR, cT), 제1 및 제2 랜덤수(rR, rT)를 서버(10)로 전송한다(S42). 바람직하게는, 제1 카운터(cR)를 암호화하여 암호화된 제1 카운터(XcR)를 생성한다.
그리고 제1 리더(10)는 인증정보 보호를 위해 자신의 정보와 태그의 정보를 공유키(KBR)로 암호화하고, 리더와 태그를 구분할 수 있는 제1 및 제2 동적 아이디(XIdR, XIdT)를 함께 전달한다.
다음으로, 서버(30)는 수신한 제2 동적 아이디(XIdT)에 대응되는 공유된 비밀키(KT)를 검색하고, 제1 및 제2 카운터(cR, cT)가 제3 카운터(cB)와 정당한 상태이면 공유된 비밀키(KT)를 이용하여 제2 인증 메시지(m')를 생성한다(S50).
구체적으로, 백엔드 서버(30)는 복호화를 위해 제1 리더(10)로부터 수신한 제1 동적 아이디(XIdR)를 이용하여 공유키(KBR)를 서버(30)(또는 데이터베이스 40)에서 검색한다. 백엔드 서버(30)에 공유키(KBR)이 없는 경우 통신을 종료한다.
메시지를 복호한 후 제1 동적 아이디(XIdR)를 가지고 있는 태그목록(또는 태그 리스트)(43)에서 제2 동적 아이디(XIdT)를 검색하고, 제2 동적 아이디(XIdT)를 식별자로 하여 태그의 정보를 참조한다. 색인된 데이터를 이용하여 암호화된 제1 및 제2 카운터(XcR, XcT)로부터 복호화된 제1 및 제2 카운터(cR, cT)룰 계산한다. 이 값은 백엔드 서버(30)가 동기화 검사를 하는데 이용한다.
동기화가 맞는 경우에만 인증 메시지(mLeft)의 검증 과정을 거치게 된다.
즉, 서버(30)는 제1 인증 메시지(mLeft)를 제2 인증 메시지(m'Left)를 비교하여 검증하고, 검증되면 제1 및 제2 갱신 아이디(XIdR', XIdT')를 생성한다(S61).
동기화 및 해쉬 값 검증 과정에서 불일치하는 정보가 있다면 현재 통신을 종료하고 공격 시나리오를 따라 인증정보 갱신 과정이 이루어지게 된다. 동기화 및 해쉬 값 검증이 완료된 경우, 백엔드 서버(30)는 제3 랜덤수(cB)를 생성하고 제1 및 제2 동적 아이디(XIdR, XIdT)의 갱신 과정을 거친다.
서버(30)는 검증되면 제1 및 제2 갱신 아이디(XIdR', XIdT')를 생성하고(S61), 제2 태그(20)에 대한 부가정보(info)를 제2 인증 메시지(m'Right), 제1 및 제2 갱신 아이디(XIdR', XIdT'), 제1 및 제2 카운터(cR, cT), 제1 및 제2 랜덤수(rR, rT)와 함께 제1 리더(10)에 전송한다(S62).
즉, 서버(30)는 제1 리더(20)가 자신을 인증할 수 있도록 공유키(KBR)를 이용하여 제1 랜덤수(rR), 제1 카운터(cR), 제1 동적 아이디(XIdR), 태그의 부가정보(info)로 구성된 제1 데이터(D1)를 암호화하여 전달하고, 태그가 자신을 인증할 수 있도록 제2 인증 메시지(mRight')을 이용하여 제2 랜덤수(rT), 제2 카운터(cT), 제2 동적 아이디(XIdT), 제2 인증 메시지(mRight')로 구성된 제2 데이터(D2)를 암호화하여 전달한다.
이때, 제1 인증 메시지(m)는 왼쪽 반(mLeft)을 전송하는 반면, 제2 인증 메시지(m)는 오른쪽 반(mRight')을 전송한다.
다음으로, 제1 리더(10)는 수신한 제1 카운터(cT) 및 제1 랜덤수(rR)로 검증하고(S71), 검증되면 서버(10)로부터 수신한 제2 갱신 아이디(XIdT') 및 제2 인증 메시지(mRight'), 제2 랜덤수(rR), 제2 카운터(cT)를 제2 태그(20)로 전송한다(S72).
즉, 제1 리더(10)는 전달받은 메시지(D1)를 복호하고, 제1 카운터(cT) 및 제1 랜덤수(rR)가 검증된 경우에만 제2 데이터(D2)를 제2 태그(20)에게 전달한다.
제2 태그(20)는 수신한 제2 카운터(cT) 및 제2 랜덤수(rR)로 검증하고, 검증되면 제2 인증 메시지(mRight')를 제1 인증 메시지(mRight)와 비교하여 검증하고, 검증되면 제2 비밀키(KT)를 제2 인증 메시지(mRight)(또는 제1 인증 메시지의 오른쪽 부분)를 이용하여 갱신하고, 제2 동적 아이디(XIdT)를 상기 제2 갱신 아이디(XIdT')로 갱신하고, 제2 카운터(cT)를 제1 카운터(cR)로 갱신한다(S80).
즉, 제2 태그(20)는 제1 리더(10)로부터 전달받은 제2 데이터(D2)를 복호하고, 제2 카운터(cT), 제2 랜덤수(rR), 제2 인증 메시지(mRight')가 검증된 경우에만 비밀키(KT), 제2 동적 아이디(XIdT), 제2 카운터(cT)를 갱신한다. (단, 제2 데이터(D2)의 제2 카운터(cT) 값이 0으로 전달된 경우 백엔드 서버가 카운터를 초기화한 것이므로, 제2 카운터(cT)를 제1 카운터(cR)로 갱신하지 않고 0으로 초기화한다.)
다음으로, 제2 태그(20)는 응답 메시지(UPDCPL)를 생성하여(S91) 제1 리더(10)로 전송한다(S92). 이때, 응답 메시지(UPDCPL)는 제1 및 제2 랜덤수(rR, rT)를 XOR 연산하여 얻는다.
제1 리더(10)는 응답 메시지(UPDCPL)를 수신하여 검증하고, 검증되면 상기 제1 동적 아이디(XIdR)를 제1 갱신 아이디(XIdR')로 갱신하고(S93), 응답 메시지(UPDCPL)를 서버(30)로 전송한다(S94).
즉, 제1 리더(10)는 수신한 응답 메시지(UPDCPL)와 자신의 랜덤수(rR)의 XOR 연산 결과가 제2 랜덤수(rT)가 되는지 검증한다. 검증된 경우에만, 수신한 응답 메시지(UPDCPL)를 서버(10)에 전달하고, 제1 동적 아이디(XIdR)를 갱신한다.
다음으로, 서버(30)는 응답 메시지(UPDCPL)를 수신하여 검증하고, 검증되면 공유된 제1 및 제2 공유 아이디(XIdR, XIdT)를 상기 제1 및 제2 갱신 아이디(XIdR', XIdT')로 갱신하고, 공유된 비밀키(KT)를 제2 인증 메시지(mRight')를 이용하여 갱신한다(S94).
즉, 백엔드 서버(30)는 암호화된 제1 및 제2 카운터(XcR, XcT)로부터 계산한 제1 및 제2 카운터(cR, cT)를 이용해 응답 메시지(UPDCPL)을 검증한다. 응답 메시지(UPDCPL)가 일정 기간 동안 도착하지 않을 경우, 사전에 설정된 횟수 동안 제1 및 제2 데이터(D1, D2)의 전달 과정을 반복한다.
다음으로, 본 발명의 일실시예에 따른 데이터베이스(40)의 구조를 도 3을 참조하여 설명한다.
도 3에서 보는 바와 같이, 본 발명의 일실시예에 따른 데이터베이스(40)는 리더(10)에 대한 정보를 저장하는 리더정보DB(41), 태그(20)에 대한 정보를 저장하는 태그정보DB(42), 리더(10)에 의해 태그(20)가 읽혀졌을 때 리더(10)와 태그(20)의 쌍을 기록한 태그목록DB(43)로 구성된다.
종래의 인증방법들은 태그로부터 전달된 해쉬 값을 인증하기 위해서 최악의 경우 태그의 수만큼 해쉬 연산을 거쳐야한다. 그러나 본 발명은 RFID 시스템에서 효율적인 태그 검색을 위해서 데이터베이스(40)의 구성을 이용한다.
일반적으로 일회용 태그의 경우라도 등록 후에 사용을 해야 하기 때문에, 최소 2번은 동일한 리더에 의해 읽혀질 가능성이 높다. 반복적으로 사용되는 태그가 동일한 리더에 의해 읽혀질 확률은 일회용 태그의 경우보다 더 높다고 볼 수 있다. 따라서 본 발명에 따른 데이터베이스(40)를 이용한 검색방법은 RFID 시스템의 리더와 태그에 랜덤한 식별자를 할당함으로써 태그 검색 효율을 높이고자 한다.
백엔드 서버(30)는 리더의 동적 아이디(XIdR)를 식별자로 공유키(KBR)를 검색하고, 검색된 키를 이용하여 리더(10)로부터 수신한 메시지를 복호화 한다. 이후동적 아이디(XIdR)를 식별자로 태그목록DB(43)(또는 태그 리스트 테이블)의 태그 리스트 테이블에서 태그의 동적 아이디(XIdT)를 검색하여 검색률을 높인다. 리더의 동적 아이디(XIdR)를 식별자로 태그의 동적 아이디(XIdT)를 찾지 못한 경우에만 태그정보DB(42)(또는 태그 정보 테이블)에서 다른 동적 아이디(XIdT)를 검색한다.
이와 같은 방식을 통해 해쉬 값을 알아내기 위해 전체 태그의 아이디(ID) 및 비밀키(KT) 쌍을 이용하여 전제 태그를 대상으로 해쉬 연산을 수행하는 오버헤드를 줄일 수 있다.
정당한 리더(10)는 자신이 인증했던 정보를 저장하는 태그목록DB(43)만을 우선적으로 검색하여 태그(20)의 정보를 참조할 수 있다. 정당한 리더(10)는 랜덤 식별자인 리더의 동적 아이디(XIdR)와 자신이 가지고 있는 공유키(KBR)의 신선성을 보장할 수 있어야 한다. 신선성이 보장되지 않는 리더(10)의 경우는 백엔드 서버(30)로부터 인증을 받을 수가 없다. 만일, 백엔드 서버(30)가 인증 과정에서 리더의 인증 정보가 위조된 사실을 알아낼 경우, 리더정보DB(41)(또는 리더 정보 테이블)의 리더 비활성화 비트를 1로 설정한다. 만일 리더 비활성화 비트가 1로 설정된 리더가 인증 요청을 시도하는 경우, 리더 동기화 단계를 거쳐 인증 정보를 갱신해야만 현재 세션에서 통신이 가능해진다.
다음으로, 본 발명의 일실시예에 따른 공격 시나리오를 도 4를 참조하여 설명한다.
공격자가 암호화된 데이터를 습득하여 내부 데이터를 위,변조할 수 있는 능력을 가졌다고 가정한다. 이런 가정은 공격을 더욱 수월하게 하며 공격자에게 유리한 환경을 제공할 수 있다. 도청공격, 위변조 공격, 서비스 거부 공격, 위치추적 공격 등의 위협에 대한 공격 시나리오를 살펴보고, 공격자가 각 개체로 위장하여 RFID 시스템의 인증을 우회하는 공격의 시나리오를 제시한다. 또한, 시나리오별 분석을 통하여 본 발명의 인증방법이 각 개체의 위장공격에 안전함을 증명한다.(단 위장 공격에서 물리적 공격은 고려하지 않는다.)
먼저, 시나리오 1에 의한 태그 위장 공격 시나리오를 도 4a를 참조하여 구체적으로 설명한다.
공격자는 자신이 가지고 있는 태그의 인증 정보를 인가된 태그의 인증 정보로 위ㅇ변조하여 리더에게 전달하여 할 수 있다. 태그 위장 시나리오의 경우, 공격자는 노출되지 않는 IdT와 KT, CT에 대한 정보를 알 수 없으며, 이전 세션에서 사용되었던 XIdT와 XcT는 도청을 통해서 수집할 수 있다.
태그 위장 시나리오의 경우, 공격자는 노출되지 않는 IdT, KT, CT에 대한 정보를 알 수 없으며, 이전 세션에서 사용되었던 XIdT와 XcT는 도청을 통해서 수집할 수 있다. 하지만, 현재 세션에서 이용될 XIdT는 암호화되어 전송되므로 획득할 수 없다.
도 4a에서 보는 바와 같이, 태그 위장 공격 시나리오는 다음과 같다.
단계 ①~② : 정당한 리더가 태그로 정보를 요청한다.
단계 ③~④ : 태그는 리더의 응답에 _XIdT, _mLeft, _rR, rR, _XcT를 회신한다. 여기서 IdT, KT, CT 값을 알 수 없으므로, 정확한 mLeft, XcT 및 XIdT를 생성할 수 없다.
단계 ⑤~⑥ : 리더는 태그로부터 수신한 정보와 자신의 정보를 이용하여 백엔드 서버에 인증 정보를 전달한다.
단계 ⑦~⑨ : 리더로부터 인증 정보를 수신한 백엔드 서버는 암호화된 메시지를 복호한 후, cT, cR, mLeft 검증 단계를 진행한다. IdT와 KT를 모르는 태그는 올바른 cT와 mLeft을 생성할 수 없으므로 태그 정보가 위조되었음을 확인할 수 있다. 이런 경우, 백엔드 서버는 통신을 종료한다.
다음으로, 시나리오 2에 의한 리더 위장 공격 시나리오를 도 4b를 참조하여 구체적으로 설명한다.
공격자는 인가된 태그의 정보를 수집하기 위하여 정상적인 리더로 위장 공격을 시도할 수 있다. 리더 위장 시나리오의 경우, 공격자는 노출되지 않은 IdR과 KBR에 대한 정보를 알 수 없으며, 이전 세션에 이용되었던 XIdR과 cR은 도청을 통해서 수집할 수 있다. 하지만, 현재 세션에 이용될 XIdR은 암호화되어 전송되므로 획득할 수 없다. (하지만, 본 시나리오에서는 공격자가 XIdR과 KBR 쌍을 알고 있다고 가정한다.)
리더 위장 시나리오의 경우, 공격자는 노출되지 않은 IdR과 KBR에 대한 정보를 알 수 없으며, 이전 세션에 이용되었던 XIdR과 cR은 도청을 통해서 수집할 수 있다. 하지만, 현재 세션에 이용될 XIdR은 암호화되어 전송되므로 획득할 수 없다. 하지만, 본 시나리오에서는 공격자가 XIdR과 KBR 쌍을 알고 있다고 가정함으로써 위조된 정보가 정상적으로 백엔드 서버로 전달되더라도 리더 공격을 탐지할 수 있음을 보인다.
도 4b에서 보는 바와 같이, 리더 위장 공격 시나리오는 다음과 같다.
단계 ①~② : 공격자는 태그에게 위조된 쿼리, _cR, _rR을 전달한다.
단계 ③~④ : 태그는 리더로부터 전달받은 정보를 이용하여 인증정보 mLeft, XcT를 생성하고, XIdT, rT, _rR와 함께 리더에게 전달한다.
단계 ⑤~⑥ : 공격자는 태그로부터 수신한 정보와 자신이 위조한 정보를 조합하여 생성한 인증 정보를 백엔드 서버로 전달한다.
단계 ⑦~⑪ : 리더로부터 인증 정보를 수신한 백엔드 서버는 _XIdR을 이용하여 KBR을 검색한다. 정상적인 인증과정에서는 공격자가 KBR을 알고 있다 하더라도 대응되는 XIdR을 알지 못하면 백엔드 서버 측의 인증절차를 수행할 수 없다. (본 시나리오에서는 공격자가 XIdR과 KBR 쌍을 알고 있다고 가정함으로 다음 단계를 수행한다.)
백엔드 서버는 XIdT를 인덱스로 검색함으로써 IdT와 KT값을 알 수 있으며, 이 값을 기반으로 cT, _cR, _mLeft의 값을 검증한다. 공격자는 IdT를 알 수 없으므로 정상적인 cR과 mLeft를 생성할 수 없고, 백엔드 서버에서는 정보의 위조 여부를 확인할 수 있다. 정보가 위조된 경우, _XIdR과의 통신을 종료하고 _XIdR의 비활성화 비트를 1로 설정한다. (만약, 공격자에 의해서 _XIdR값을 갖는 정당한 리더가 비활성화 되었다면 "리더 동기화 과정"을 통해서 다시 세션을 동기화할 수 있다.) 이와 동시에 백엔드 서버는 cB를 증가시키고, IdR을 제외한 모든 리더들의 XIdR과 KBR을 갱신한다. 새로운 XIdR은 각 리더의 IdR과 백엔드 서버에서 생성한 rB의 해쉬 연산에 의해 생성되고, KBR은 기존 KBR에 위에서 생성한 정당한 mRight의 해쉬 연산에 의해 생성된다. 정당한 리더들의 업데이트를 위해 전달되는 DATA는 메시지 구분을 위한 식별자 XIdR와 암호화된 부분으로 구성된다.
단계 ⑫~⑬ : 자신의 식별자 XIdR과 함께 전달된 메시지를 복호한 정당한 리더들은 메시지에서 XIdR과 PcR값이 자신의 XIdR 및 cR값과 동일한지 검증한다. 검증된 경우에만 cR과 KBR을 갱신한다. UPDCPL 메시지를 생성하기 위해 CB = CB + 1과 XIdR값을 XOR 연산한 이후에, DATA전송시 노출되었던 XIdR값을 새로이 갱신한다. 마지막으로 생성된 UPDCPL을 백엔드 서버로 전달한다.
단계 ⑭ : 리더의 업데이트를 확인하는 단계로, 백엔드 서버는 전송된 UPDCPL에 갱신된 카운터 cB를 XOR 연산함으로써 어떤 리더가 데이터 업데이트를 마쳤는지 확인할 수 있다. 확인된 리더가 다음 세션에 사용할 XIdR을 갱신함으로써 리더와 랜덤 ID의 동기화를 맞춘다. UPDCPL이 일정 기간 동안 도착하지 않을 경우, 사전에 설정된 횟수 동안 DATA 전달 과정을 반복한다.
다음으로, 시나리오 3에 의한 서버 위장 공격 시나리오를 도 4c를 참조하여 구체적으로 설명한다.
공격자는 보다 많은 정보를 수집하거나, 서비스 거부 공격을 목적으로 합법적인 백엔드 서버로 위장 공격을 시도할 수 있다. 백엔드 서버 위장 시나리오의 경우, 공격자는 노출되지 않은 IdR, KBR, ps_IdR, IdT, KT, info의 정보를 알 수 없으며, 이전 세션에서 사용되었던 XIdR, XIdT, PcR은 도청을 통해 수집할 수 있다. 현재 세션에서 이용될 XIdR, XIdT는 암호화되어 전송되므로 획득할 수 없다. (하지만, 본 시나리오에서는 공격자가 XIdR과 KBR 쌍을 알고 있다고 가정한다.)
백엔드 서버 위장 시나리오의 경우, 공격자는 노출되지 않은 IdR, KBR, ps_IdR, IdT, KT, info의 정보를 알 수 없으며, 이전 세션에서 사용되었던 XIdR, XIdT, PcR은 도청을 통해 수집할 수 있다. 현재 세션에서 이용될 XIdR, XIdT는 암호화되어 전송되므로 획득할 수 없다. 하지만, 본 시나리오에서는 공격자가 XIdR과 KBR 쌍을 알고 있다고 가정함으로써 정당한 인증 정보가 백엔드 서버로 전달되더라도 백엔드 서버 위장 공격을 리더가 탐지할 수 있음을 보인다.
도 4c에서 보는 바와 같이, 서버 위장 공격 시나리오는 다음과 같다.
단계 ①~⑥ : 정단한 리더와 태그 사이의 메시지 전송 과정을 보여준다. 리더는 태그로부터 수신한 인증 정보를 이용하여 새로운 인증 정보를 생성하고 이를 백엔드 서버로 전달한다.
단계 ⑦~⑨ : 공격자는 자신이 정당한 백엔드 서버인 것처럼 데이터를 변조하고 이를 리더에게 전달한다. 이 과정에서 IdR, IdT, KT를 모르는 공격자는 정확한 cT, cR, mRight을 생성할 수 없다. 하지만, 공격자는 자신이 알고 있는 KBR을 이용하여 거짓 정보를 리더에게 전달할 수 있다.
단계 ⑩~⑪ : 리더는 수신한 데이터를 복호하고 rR과 cR을 검증한다. IdR을 모르는 공격자는 정확한 cR을 생성할 수 없다. 하지만, 도청을 통해 cR값을 습득할 수 있으므로, 태그로 DATA'를 송신할 가능성이 있다.
단계 ⑫ : 태그는 수신한 데이터(DATA')를 복호하고, rT, cT, mRight을 검증한다. 공격자가 cT와 mRight을 생성할 수 없으므로 태그는 통신을 중단한다. 이과 같은 방법으로 거짓 정보를 전송하려는 백엔드 서버 위장 공격을 방지할 수 있다.
다음으로, 본 발명의 일실시예 따라 동기화 실패를 위한 재동기화 방법을 도 5를 참조하여 설명한다.
무선 리더의 경우 이동시 전파 송수신 상태가 원활하지 않거나, 리더가 오프라인 상태인 경우 백엔드 서버와 통신이 두절될 수 있다. 통신이 두절된 동안 공격이 발생하지 않아 cB값이 증가하지 않은 경우라면 KBR이 갱신되지 않으므로, 통신이 재개되거나 리더가 오프라인 상태가 되면 추가적인 정보의 갱신 없이 통신이 가능하다. 반면, 통신이 두절된 동안 공격이 발생하여 cB값이 갱신된 경우에는 cR보다 cT가 더 커지는 상황이 발생하므로 태그가 리더의 요청에 반응하지 않게 된다. 또는, 공격자에 의해 XIdR이 도용된 경우 백엔드 서버에서 XIdR을 이용하는 리더를 비활성화 시키는 경우가 발생할 수 있다. 이와 같이 정당한 리더가 통신이 불가능해진 경우, 리더 동기화 단계를 통해 백엔드 서버와 동기화를 맞출 수 있다.
도 5에서 보는 바와 같이, 동기화 실패를 위한 재동기화 방법은 다음과 같다.
단계 ① : 통신이 불가능해진 리더는 XIdR을 식별자로 백엔드 서버로 동기화 요청 메시지를 전달한다.
단계 ②~④ : 백엔드 서버는 XIdR을 확인하고 존재하는 경우 rB와 함께 패스워드 요청 메시지를 전달한다.
단계 ⑤~⑥ : 리더는 sk=h(rB||ps_IdR)를 생성하고, 이를 이용하여 IdR과 cR을 암호화해 회신한다.
단계 ⑦~⑨ : 백엔드 서버는 세션키를 생성하고 수신한 메시지를 복호한다. 패스워드와 IdR, PcR이 동일한 경우에만 sk(IdR||cR)를 복호화 하고 cR이 IdR의 이전 세션 정보로 확인되면, XId'R, K'BR, cB, 메시지를 세션키를 이용해 암호화한 후 리더에게 전달한다.
단계 ⑩~⑫ : 리더는 cR, KBR을 갱신하고, UPDCPL을 생성한 뒤, XIdR을 갱신한다. 마지막으로 UPDCPL을 회신한다.
단계 ⑬~⑭ : UPDCPL을 수신한 백엔드 서버는 cB를 이용하여 이를 검증하고 맞을 경우 다음 세션에서 이용할 XIdR을 갱신한다.
본 발명의 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
다음으로, 본 발명의 일실시예에 따른 발명의 효과를 도 6을 참조하여 보다 구체적으로 설명한다.
먼저, 도청 공격에 안전성 보장에 대하여 구체적으로 설명한다.
도청 공격은 무선 구간에서 전달되는 정보를 수집하여 태그의 정보를 알아내는 공격이다. 도청 공격을 막기 위해서는 도청을 통해 알아낸 정보로부터 다음 세션에 이용되는 인증 정보를 생성하지 못하도록 설계해야 한다. 본 발명의 통신 과정에서는 XIdR, XIdT, mLeft, rT, rR, XcT, XcR, cR, UPDCPL 등이 암호화되지 않고 전달되므로 도청이 가능하다. XIdR과 XIdT는 리더와 태그의 식별자로 매 세션에서 갱신되는 값이며, 갱신된 값은 리더와 태그가 소유한 각각의 키로 암호화되어 전달된다. XcR과 XcR은 리더와 태그가 소유하고 있는 IdR과 IdT을 알고 있어야 생성할 수 있으며, 리더와 태그에 의해 매 세션 갱신된다. 즉, 본 발명에서 암호화되지 않고 전달되는 정보는 모두 다음 세션에 갱신되는 값들이며, 백엔드 서버가 갱신한 정보는 모두 암호화되어 전달되므로 도청 공격에 대하여 안전성을 보장한다고 볼 수 있다.
다음으로, 위장 공격 및 위조 공격에 안전성 보장에 구체적으로 설명한다.
위장 공격은 공격자가 정당한 개체로 인식되도록 하기위해서 전달되는 인증정보를 재전송하거나 위조하는 공격이다. 공격자는 도청을 통해 이전 세션들의 인증정보를 수집할 것이다. 공격자는 전달되는 정보를 위조해야만 정당한 개체로 위장이 가능하지만, 본 발명에서는 암호화되지 않고 전달된 인증정보는 다음 세션에서 사용되지 않는다. 앞서 각 개체에 대한 위장 공격 시나리오 분석을 통하여 백엔드 서버, 리더, 태그 각각의 위장 공격을 탐지하고 인증정보를 갱신하는 과정을 소개하였다. 따라서 본 발명은 위장 및 위조 공격에 대하여 안전성을 보장한다고 볼 수 있다.
다음으로, 위치추적 공격에 안전성 보장에 대해 설명한다.
위치추적 공격은 공격자가 도청 공격을 통하여 획득한 인증정보를 수집하여 태그의 위치 정보를 추적하는 공격이다. 위치추적 공격을 막으려면 노출되는 정보를 모두 갱신해야 한다. 본 발명에서는 다음 세션에 이용되는 인증정보가 모두 갱신되도록 설계하였고, 갱신된 정보 또한 암호화되어 전달되므로 이전 인증정보들을 모두 수집하더라도 상관관계를 알아낼 수 없으므로 위치추적이 불가능하다. 따라서 본 발명은 위치추적 공격에 대하여 안전성을 보장한다고 볼 수 있다.
다음으로, 서비스 거부 공격에 안전성 보장에 대해 설명한다.
RFID 시스템에서의 서비스 거부 공격은 두 가지 형태로 나누어볼 수 있다. 첫째, 태그로의 서비스 거부 공격 - 공격자는 태그로 과도한 쿼리를 전송함으로써 태그의 전력을 소비하거나 다른 태그의 요청을 수신하지 못하도록 할 수 있다. 둘째, 거짓 인증정보 갱신을 통한 서비스 거부 공격 - 공격자는 고의로 변조하여 갱신되는 인증정보를 리더나 태그가 수신하지 못하도록 함으로써 각 개체 간의 비동기화를 유발할 수 있다.
본 발명에서는 첫 번째 타입의 공격을 방지하기 위해 카운터를 이용한 동기화 검증 방식을 이용하였다. 태그가 동기화되지 않은 리더를 확인하고 정당한 리더의 요청으로 판단될 경우에만 인증정보를 생성함으로써 무조건적인 인증정보 제공과 태그 전력 소모 공격을 막을 수 있다. 두 번째 타입의 공격의 경우, 백엔드 서버에서 정상적으로 인증이 이루어졌거나, 인증정보 갱신이 필요한 경우에 UPDCPL 메시지를 전송하도록 2번의 통신횟수를 추가하였으며, 메시지가 완전히 수신되기 전까지는 특정횟수 만큼 반복 전송하도록 하였다. UPDCPL 값은 인증된 백엔드 서버, 리더, 태그만이 현재 세션에서 유일하게 생성할 수 있는 값이다. 인증이 완료된 경우 태그가 생성한 UPDCPL을 백엔드 서버와 태그가 인증함으로써 동기화가 이루어졌음을 확인하고, 인증정보가 갱신된 경우에는 UPDCPL을 통해 동기화를 확인한 이후 백엔드 서버에서 XIdR을 갱신한다.
본 발명에서는 공격이나 주변 환경에 의하여 비동기화가 발생한 경우, 리더의 동기화를 위해서 "리더 동기화 단계"를 수행할 수 있도록 하고 있다. 리더 동기화 단계에서 전달되는 정보는 XIdR과 rB를 제외한 모든 정보는 백엔드 서버와 비동기된 리더 사이의 세션키에 의해 암호화되므로 갱신된 정보를 안전하게 수신하는 것을 보장한다. 따라서 본 발명은 서비스 거부 공격에 대하여 안전성을 보장한다고 볼 수 있다.
다음으로, 상호 인증 보장에 대해 설명한다.
RFID 시스템에서 안전한 통신을 위해 각 개체는 서로의 신분 확인 과정을 거쳐야 한다. 본 발명에서는 백엔드 서버는 리더 및 태그와 상호인증을 제공하고, 리더는 백엔드 서버 및 태그와 상호인증을 제공하고, 태그의 경우 백엔드 서버와의 상호인증을 제공함으로써 리더와의 상호인증은 간접적으로 이루어지게 된다. 각 과정은 아래 도 6a와 같다.
다음으로, 부가정보 생성 공격에 대한 안전성 보장에 대하여 구체적으로 설명한다.
위에서 언급한 요구사항을 만족한다하더라도 노출된 정보들을 결합하여 갱신되는 정보에 대한 유추나, 부가적으로 개체 식별이 가능한 인증 정보를 생성할 수 없어야 한다. 즉, 암호화되지 않은 데이터의 취합하여 새로운 정보를 생성할 수 없어야 한다. 본 발명에서 XIdR과 XIdT는 각각의 IdT와 rB의 해쉬 연산에 의해 생성되고, 식별자는 개체 식별을 위해서만 사용되며 다른 인증정보에 포함되지 않는다. 이외에 노출되는 정보들은 랜덤하게 생성되는 값이기 때문에 개방된 환경에서 도청된 정보를 통해 각각의 리더와 태그를 구분할 수 없다.
다음으로, 전방향 안전성 보장에 대하여 설명한다.
전방향 안전성은 모든 세션의 정보가 공격자에게 노출되어도 메시지 분석을 통해 태그의 정보가 노출되거나 위치추적이 불가능해야 함을 보장해야 한다. 본 발명에서는 다음 세션에 이용되는 인증정보가 모두 갱신되도록 설계하였고, 갱신된 정보는 암호화되어 전달되므로 이전 세션의 식별자 XIdR, XIdT와 다음 세션의 식별자 XId'R, XId'T의 상관관계를 알아낼 수 없다. 또한, mLeft, XcT, XcR, UPDCPL에는 리더와 태그의 랜덤 값이 포함되어 연관성을 알아내기 어렵다. 따라서 본 발명은 전방향 안전성을 보장한다고 볼 수 있다.
한편, 본 발명의 안정성을 종래의 인증방법과 비교한 결과는 도 6b에서 나타내는 바와 같다.
다음으로, 본 발명의 효율성에 대해 분석해보고자 한다.
종래의 인증방법 중 안전성이 가장 뛰어난 제3 종래방법과 본 발명의 연산량 분석을 수행하도록 한다. 효율성 분석을 위한 지표로 태그 검색율, 난수 생성 횟수, 대칭키 연산 횟수, 해쉬 연산 횟수, XOR 연산 횟수, 타임스탬프 연산 횟수와 최종적인 통신 라운드 횟수 등을 정하였다. 먼저 LOK의 연산량에 대한 분석을 제시하고 이어서 제안하는 프로토콜의 연산량에 대한 분석을 기술한다.
제3 종래방법은 백엔드 서버와 리더를 하나의 시스템으로 설계하였으나 백엔드와 서버 구간을 고려할 경우 총6의 통신이 이루어진다. 백엔드 서버의 경우 난수 연산은 수행하지 않으며, 시스템을 안전한 구간으로 가정하였으므로 시스템 내에서 백엔드 서버와 리더 구간에 전달되는 3회의 통신에 대한 암ㅇ복호화 3회가 필요할 것으로 보인다. 태그의 인증 메시지 연산을 위해서 사용되는 해쉬 연산은 동적 ID의 상태에 따라 2가지로 분류될 수 있다. 서버에 저장된 ID와 태그의 ID 간에 동기화가 맞는 경우, 인증값 검증에 1회, 인증될 경우 키 갱신에 1회, ID 갱신 1회가 수행되어 총 3회의 해쉬 연산이 수행된다. 서버에 저장된 ID와 태그의 ID 간에 동기화가 맞지 않을 경우, 모든 태그를 대상으로 다음 과정을 수행한다. 현재 키로 생성된 인증값 검증을 위해 1회, 인증될 경우 키 갱신에 1회, ID 갱신에 1회를 수행하므로 총 3회의 해쉬 연산이 수행된다. 만약, 현재 키로 검증되지 않을 경우 이전키로 생성된 인증값 검증을 위해 1회, ID 갱신에 1회가 수행되어 총 2회의 해쉬 연산이 추가로 수행된다. 즉, ID가 동기화된 경우 최소 1회에서 3회의 해쉬 연산이 수행되고, ID가 비동기화된 경우 현재키나 이전키로 인증 여부를 확인하게 되므로 3회의 해쉬 연산이 수행된다. 이는 백엔드 서버의 DB에 n개의 태그가 존재한다고 가정하면 최악의 경우 3n회의 해쉬 연산이 수행될 수 있음을 의미한다. 제3 종래기술의 시스템 상에서 리더는 쿼리 전송시 난수 생성을 1회 수행하고, 이 값을 백엔드 서버로 전송해야 백엔드 서버와 태그 간의 난수 동기화가 필요하다. 또한, 백엔드 서버와 리더의 구간을 안전하다고 가정하였으므로 백엔드 서버와 동일하게 3회의 암ㅇ복호화가 필요할 것으로 보인다. 태그는 인증정보 생성 및 키 갱신에 1회의 난수 생성이 필요하다. 인증정보 생성, ID 갱신, 키 갱신에 각각 1회의 해쉬 연산이 수행되므로 총 3회의 해쉬 연산이 필요하다.
본 발명의 연산량을 살펴보면 다음과 같다. 먼저 백엔드 서버에서는 리더와 태그의 랜덤 ID 갱신을 위해서 1회의 난수를 생성한다. 백엔드 서버와 리더의 안전한 메시지 교환을 위해 2회, 백엔드 서버에서 태그로 전달되는 메시지의 안전성을 위해 1회의 암복호화가 수행되므로 총 3회의 대칭키 연산이 수행된다. 해쉬 연산의 경우, 리더와 태그의 랜덤 카운터 연산에 각 1회, 인증 정보 검증에 1회, 리더와 태그의 랜덤 ID 갱신에 1회로 총 5회의 해쉬 연산이 수행된다. (단, 리더 공격이 탐지된 경우, 백엔드 서버와 리더 구간의 비밀키 갱신을 위해 m-1회의 해쉬 연산이 수행된다.) XOR 연산의 경우 리더와 태그의 랜덤 카운터 연산에 각1회, UPDCPL 인증을 위해 1회로 총 3회의 XOR 연산이 수행된다. 타임스탬프 연산의 경우, 백엔드 서버가 전송한 메시지의 응답시간을 측정하는데 1회 사용된다. 리더는 쿼리 전송시 난수 생성을 1회 수행하고, 태그로부터 수신 받은 메시지를 백엔드 서버로 전송하는데 1회, 백엔드 서버로부터 전달 받은 메시지를 복호화하는데 1회로 총 2회의 암ㅇ복호화 연산이 수행된다. 해쉬 연산의 경우 리더가 가지고 있는 카운터를 랜덤 카운터로 변경하는데 1회 수행된다. XOR 연산의 경우 리더의 카운터를 랜덤 카운더로 변경하는데 1회, UPDCPL 값을 검증하는데 1회로 총 2회 연산이 수행된다. 타임스탬프 연산은 태그로 쿼리 전송 후 응답을 측정하는데 1회, 태그의 정보의 인증을 위해 백엔드 서버로 전송하는 과정에서 1회, 인증 후 태그의 정보 갱신을 위해 태그로 전달하는 과정에서 1회로 총 3회의 타임스탬프 연산이 수행된다. 태그는 자신의 인증관련 정보를 생성하기 위해 1회의 난수 생성 과정을 수행하고, 리더가 태그의 정보를 확인하고 백엔드 서버로부터 갱신 정보를 수신하여 암호화된 메시지의 복호화 1회를 수행한다. 해쉬 연산의 경우 인증정보 m을 생성하는데 1회 사용된다. XOR 연산의 경우 랜덤 카운터 생성시 1회, UPDCPL 생성시 1회로 총 2회의 XOR 연산을 수행한다. 타임스탬프 연산은 수행되지 않는다. 마지막으로 통신 횟수의 경우 백엔드 서버와 리더 구간에서 3회, 리더와 태그 구간에서 4회로 총 7회의 통신이 이루어진다.
가장 자원제약적인 태그의 측면에서 살펴보면 해쉬 연산이 3회에서 1회로 줄었다. 반면, 갱신정보의 노출을 방지하기 위한 1회의 복호화 과정이 추가되었으며, 2회의 XOR 연산이 추가되었다. 경량화된 암호 알고리즘을 적용할 수 있다고 본다면, 2회의 해쉬 연산을 줄임으로써 연산량 부하를 줄이면서 안전성을 높였다고 볼 수 있다. 종래방법과의 연산량 비교는 도 6c와 같다.
요약하면, 본 발명은 상호인증, 재전송 공격, 위장공격, 태그 위치 추적 공격, 서비스 거부 공격에 안전함은 물론, 고정 ID 방식에 랜덤 식별자와 카운터를 활용하여 공격자가 백엔드 서버, 리더, 태그로 가장하더라도 개체간의 인증 과정에서 공격을 탐지할 수 있다. 한편, 제3 종래방법과 비교해볼 때, 효율성면에서 인증 과정에서 XOR 연산과 대칭키 암호 연산이 추가되고 통신횟수가 증가하는 단점은 Trade-off 로 작용한다.
하지만 고정 ID 방식의 RFID 시스템에 해쉬 연산을 통해 랜덤 ID 만들어 사용함으로써 백엔드 서버가 갖는 동적 ID의 일반적인 효율적인 태그 검색을 지원하고, 프로토콜 자체 적으로 민감한 인증 정보를 암호화함으로써 별도의 보안 채널을 요구하지 않는다는 점에서 기존 논문들 보다 높은 보안성을 제공한다.
이상, 본 발명자에 의해서 이루어진 발명을 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
본 발명은 서버, 다수의 리더, 및 다수의 태그로 구성된 RFID 태그 시스템에서 동기화 카운터를 이용하여 동기화된 상대와 인증을 처리하는 랜덤 아이디 기반 RFID 상호 인증 시스템을 개발하는 데 적용이 가능하다.

Claims (12)

  1. 서버, 다수의 리더, 및 다수의 태그로 구성된 RFID 태그 시스템에서 동기화 카운터를 이용하여 동기화된 상대와 인증을 처리하는 랜덤 아이디 기반 RFID 상호 인증 방법에 있어서,
    (a) 각 리더는 상기 리더의 카운터 및 동적 아이디를 저장하고, 각 태그는 상기 태그의 카운터 및 동적 아이디, 비밀키를 저장하고, 상기 서버는 서버의 카운터(이하 제3 카운터) 및, 모든 태그의 동적 아이디와 비밀키를 저장하는 단계;
    (b) 하나의 리더(이하 제1 리더)는 제1 랜덤수를 발생하고, 상기 제1 리더의 카운터(이하 제1 카운터)와 상기 제1 랜덤수를 쿼리와 함께 태그(이하 제2 태그)에 전송하는 단계;
    (c) 상기 제2 태그는 상기 제1 카운터가 상기 제2 태그의 카운터(이하 제2 카운터)와 같거나 큰 상태이면, 제2 랜덤수를 발생하고, 상기 제2 태그의 비밀키(이하 제2 비밀키)를 이용하여 제1 인증 메시지를 생성하고, 상기 제2 카운터 및 제2 태그의 동적 아이디(이하 제2 동적 아이디), 상기 제1 인증 메시지, 제1 및 제2 랜덤수를 상기 제1 리더로 전송하는 단계;
    (d) 상기 제1 리더는 수신한 제1 랜덤수를 검증하고, 검증되면 상기 제1 리더의 동적 아이디(이하 제1 동적 아이디), 상기 제2 동적 아이디, 제1 및 제2 카운터, 상기 제1 및 제2 랜덤수를 상기 서버로 전송하는 단계;
    (e) 상기 서버는 상기 제2 동적 아이디에 대응되는 공유된 비밀키를 검색하고, 상기 제3 카운터가 상기 제1 카운터와 동일하고 상기 제2 카운터와 같거나 큰 상태이면 공유된 비밀키를 이용하여 제2 인증 메시지를 생성하는 단계;
    (f) 상기 서버는 상기 제1 인증 메시지를 상기 제2 인증 메시지와 비교하여 검증하고, 검증되면 제1 및 제2 갱신 아이디를 생성하고, 상기 제2 인증 메시지, 상기 제1 및 제2 갱신 아이디, 제1 및 제2 카운터, 제1 및 제2 랜덤수를 상기 제1 리더에 전송하는 단계;
    (g) 상기 제1 리더는 수신한 제1 카운터 및 제1 랜덤수를 각각 자신의 제1 카운터 및 제1 랜덤수와 비교하여 검증하고, 검증되면 상기 서버로부터 수신한 제2 갱신 아이디 및 제2 인증 메시지, 제2 랜덤수, 제2 카운터를 상기 제2 태그로 전송하는 단계;
    (h) 상기 제2 태그는 수신한 제2 카운터 및 제2 랜덤수를 각각 자신의 제2 카운터 및 제2 랜덤수와 비교하여 검증하고, 검증되면 상기 제2 인증 메시지를 상기 제1 인증 메시지와 비교하여 검증하고, 검증되면 상기 제2 비밀키를 상기 제2 인증 메시지를 이용하여 갱신하고, 상기 제2 동적 아이디를 상기 제2 갱신 아이디로 갱신하고, 상기 제2 카운터를 상기 제1 카운터로 갱신하는 단계;
    (i) 상기 제2 태그는 응답 메시지를 생성하여 상기 제1 리더로 전송하는 단계;
    (j) 상기 제1 리더는 상기 응답 메시지를 수신하여 검증하고, 검증되면 상기 제1 동적 아이디를 상기 제1 갱신 아이디로 갱신하고, 상기 응답 메시지를 상기 서버로 전송하는 단계;
    (k) 상기 서버는 상기 응답 메시지를 수신하여 검증하고, 검증되면 공유된 제1 및 제2 공유 아이디를 상기 제1 및 제2 갱신 아이디로 갱신하고, 공유된 비밀키를 상기 제2 인증 메시지를 이용하여 갱신하는 단계를 포함하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  2. 제1항에 있어서,
    상기 서버와 태그는 상기 태그의 고정 아이디(이하 제2 고정 아이디)를 공유하고,
    상기 제1 및 제2 인증 메시지는 태그의 고정 아이디 및 비밀키를 해쉬하여 생성되는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  3. 제2항에 있어서,
    상기 제1 및 제2 인증 메시지는 제1 및 제2 카운터, 제1 및 제2 랜덤수를 더 포함하여 해쉬하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  4. 제1항에 있어서,
    상기 리더 또는 태그는 수신한 카운터 또는 랜덤수를 상기 리더 또는 태그가 저장하고 있는 카운터 또는 랜덤수를 비교하여 동일여부로 검증하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  5. 제1항에 있어서,
    상기 (c)단계에서, 상기 제2 태그는 상기 제1 인증 메시지의 왼쪽 반(이하 제1 인증 메시지의 제1 부분)을 전송하고,
    상기 (f)단계에서, 상기 서버는 상기 제2 인증 메시지의 오른쪽 반(이하 제2 인증 메시지의 제2 부분)을 전송하되, 상기 제2 인증 메시지의 제2 부분은 상기 제1 인증 메시지의 제1 부분과는 메시지의 서로 다른 위치인 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  6. 제1항에 있어서,
    상기 제1 카운터의 값이 상기 제2 카운터 보다 같거나 클 때 동기화가 검증되거나, 상기 제3 카운터의 값이 상기 제2 카운터 보다 같거나 클 때 동기화가 검증되거나, 상기 제2 및 제3 카운터의 값이 동일할 때 동기화가 검증되는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  7. 제2항에 있어서,
    상기 서버와 리더는 상기 리더의 고정 아이디(이하 제1 고정 아이디)를 공유하고,
    상기 제1 및 제2 카운터를 암호화하여 전송하되, 상기 제1 카운터에 상기 제1 고정 아이디 및 제1 랜덤수를 해쉬한 값을 XOR연산하여 암호화하고, 상기 제2 카운터에 상기 제2 고정 아이디 및 제2 랜덤수를 해쉬한 값을 XOR연산하여 암호화하고,
    암호화된 제1 및 제2 카운터를 복호화하여 처리하되, 상기 암호화된 제1 카운터에 상기 제1 고정 아이디 및 제1 랜덤수를 해쉬한 값을 XOR연산하여 복호화하고, 상기 암호화된 제2 카운터에 상기 제2 고정 아이디 및 제2 랜덤수를 해쉬한 값을 XOR연산하여 복호화하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  8. 제7항에 있어서,
    상기 (f)단계에서, 상기 서버는 제3 랜덤수를 생성하고 공유된 제1 또는 제2 고정 아이디에 상기 제3 랜덤수를 연접하고 해쉬하여 상기 제1 또는 2 갱신 아이디를 생성하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  9. 제1항에 있어서,
    상기 서버와 리더는 공유키를 공유하여, 상기 공유키로 데이터를 암호화하여 전송하고 수신한 데이터를 복호화하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  10. 제1항에 있어서,
    상기 응답 메시지는 상기 제1 및 제2 랜덤수를 XOR 연산하여 생성되고,
    상기 응답메시지에 제1 또는 제2 랜덤수를 XOR 연산하여 상기 제2 또는 제1 랜덤수를 추출하고, 추출된 제2 또는 제1 랜덤수를 저장된 제2 또는 제1 랜덤수와 비교하여 동일여부로 검증되는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  11. 제1항에 있어서,
    상기 (g)단계 또는 상기 (h)단계는, 상기 제1 리더 또는 제2 태그는 수신한 랜덤수 및 카운터로 검증하되, 수신한 랜덤수 및 카운터와 저장된 랜덤수 및 카운터와 동일여부로 검증하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
  12. 제2항에 있어서,
    상기 (a)단계에서, 상기 서버는 태그의 동적 아이디에 대응되는 태그의 고정 아이디 및 비밀키를 제1 테이블로 구성하고, 리더의 동적 아이디 및 태그의 동적 아이디에 대응되는 태그의 고정 아이디 및 비밀키를 제2 테이블로 구성하고,
    상기 (e)단계는 상기 서버는 상기 제2 테이블을 검색하여 태그의 고정 아이디 및 비밀키를 검색하고, 상기 제2 테이블에서 검색결과가 없으면 상기 제1 테이블에서 검색하는 것을 특징으로 하는 랜덤 아이디 기반 RFID 상호 인증 방법.
KR1020100070091A 2010-07-20 2010-07-20 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법 KR101145913B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100070091A KR101145913B1 (ko) 2010-07-20 2010-07-20 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100070091A KR101145913B1 (ko) 2010-07-20 2010-07-20 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법

Publications (2)

Publication Number Publication Date
KR20120010604A KR20120010604A (ko) 2012-02-06
KR101145913B1 true KR101145913B1 (ko) 2012-05-16

Family

ID=45835060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100070091A KR101145913B1 (ko) 2010-07-20 2010-07-20 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법

Country Status (1)

Country Link
KR (1) KR101145913B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102052518B1 (ko) * 2013-02-14 2019-12-05 아주대학교산학협력단 사용자 인증 방법 및 인증 판단기
ES2597808B1 (es) * 2015-07-22 2017-11-07 José Carlos SANCHO PITARCH Método y sistema de autentificación de elementos de identificación por radiofrecuencia, y programa de ordenador
KR101721510B1 (ko) * 2016-11-14 2017-04-11 에스지에이솔루션즈 주식회사 프라이버시 보호를 위한 rfid 인증 방법
CN114666039B (zh) * 2020-12-23 2024-02-09 科大国盾量子技术股份有限公司 基于量子密码网络的rfid群组标签认证系统及方法
CN113312651B (zh) * 2021-06-24 2024-04-30 中国农业银行股份有限公司 交互认证方法、装置、设备及计算机可读存储介质
CN113569223B (zh) * 2021-06-30 2024-02-09 珠海晶通科技有限公司 一种离线设备的安全认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070006525A (ko) * 2005-07-08 2007-01-11 주식회사 비즈모델라인 알에프아이디 태그에 동적 아이디 할당방법 및 시스템과이를 위한 알에프아이디 태그, 알에프아이디 단말기,기록매체
KR20090005834A (ko) * 2007-07-10 2009-01-14 경북대학교 산학협력단 분산환경에 적합한 저비용 rfid 인증 프로토콜 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070006525A (ko) * 2005-07-08 2007-01-11 주식회사 비즈모델라인 알에프아이디 태그에 동적 아이디 할당방법 및 시스템과이를 위한 알에프아이디 태그, 알에프아이디 단말기,기록매체
KR20090005834A (ko) * 2007-07-10 2009-01-14 경북대학교 산학협력단 분산환경에 적합한 저비용 rfid 인증 프로토콜 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
임지환 외 4명, 강화된 사용자 프라이버시를 보장하는 효율적인 RFID 검색 프로토콜, 정보처리학회논문지 C 제16-C권 제3호 (2009.06.) *

Also Published As

Publication number Publication date
KR20120010604A (ko) 2012-02-06

Similar Documents

Publication Publication Date Title
Lim et al. Strong and robust RFID authentication enabling perfect ownership transfer
Li et al. Towards secure authenticating of cache in the reader for RFID-based IoT systems
Zhou et al. A lightweight anti-desynchronization RFID authentication protocol
KR101145913B1 (ko) 서버와 리더의 위장공격 탐지가 가능한 랜덤 아이디 기반 rfid 상호 인증 방법
Chen et al. An ownership transfer scheme using mobile RFIDs
Gharooni et al. A confidential RFID model to prevent unauthorized access
Qian et al. ACSP: A novel security protocol against counting attack for UHF RFID systems
David et al. Providing strong security and high privacy in low-cost RFID networks
Gódor et al. Hash-based mutual authentication protocol for low-cost RFID systems
CN107276742B (zh) 一种rfid系统的认证方法
Syamsuddin et al. A survey on low-cost RFID authentication protocols
Yang Lightweight authentication protocol for mobile RFID networks
Morshed et al. Efficient mutual authentication protocol for radiofrequency identification systems
Li et al. Emap: An efficient mutual authentication protocol for passive RFID tags
Xiaohong et al. RFID mutual-authentication protocol with synchronous updated-keys based on Hash function
Lim et al. Secure RFID identification and authentication with triggered hash chain variants
Yin et al. Keep all mobile users′ whereabouts secure: A radio frequency identification protocol anti‐tracking in 5G
KR101162626B1 (ko) 안전하고 효율적인 rfid 태그 검색방법 및 rfid 리더 장치
Seo et al. Secure RFID authentication scheme for EPC class Gen2
Rajagopalan et al. A lightweight inter-zonal authentication protocol for moving objects in low powered RF systems
Shah et al. The internet of things: Perspectives on security from RFID and WSN
Kumar et al. Survey and Analysis of Lightweight Authentication Mechanisms
Gao et al. Low-cost RFID security protocols survey
Niu et al. Security analysis of some recent authentication protocols for RFID
Syamsuddin State of the art on secure and low cost RFID authentication protocols for RFID based vehicle license plate

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190418

Year of fee payment: 8