KR20100010010A - 보안 기능을 갖는 rfid 보안 장치 및 방법 - Google Patents

보안 기능을 갖는 rfid 보안 장치 및 방법 Download PDF

Info

Publication number
KR20100010010A
KR20100010010A KR1020080090230A KR20080090230A KR20100010010A KR 20100010010 A KR20100010010 A KR 20100010010A KR 1020080090230 A KR1020080090230 A KR 1020080090230A KR 20080090230 A KR20080090230 A KR 20080090230A KR 20100010010 A KR20100010010 A KR 20100010010A
Authority
KR
South Korea
Prior art keywords
key
security
data
security tag
encryption
Prior art date
Application number
KR1020080090230A
Other languages
English (en)
Other versions
KR100963417B1 (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 US12/505,816 priority Critical patent/US8607333B2/en
Publication of KR20100010010A publication Critical patent/KR20100010010A/ko
Application granted granted Critical
Publication of KR100963417B1 publication Critical patent/KR100963417B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/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
    • 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/60Digital content management, e.g. content distribution
    • 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 보안 방법은 보안 태그 리더기가 보안 태그로부터 수신된 보안 정보를 이용하여 암호화 키를 결정하고, 결정된 암호화 키를 이용하여, 출력 키를 생성하는 단계와, 보안 태그로부터 수신한 암호화된 데이터를 출력 키를 이용하여 복호화하는 단계와, 보안 태그로 송신하는 데이터를 출력 키를 이용하여 암호화하고, 암호화된 데이터를 보안 태그로 송신하는 단계를 포함하고, 보안 태그가 암호화 키 및 보안 정보를 이용하여 출력 키를 생성하고, 보안 정보를 보안 태그 리더기로 송신하는 단계와, 보안 태그가 상기 출력 키를 이용하여, 보안 태그 리더기로 송신하는 데이터를 암호화하고, 암호화된 데이터를 보안 태그 리더기로 송신하는 단계와, 보안 태그가 보안 태그 리더기로부터 수신한 데이터를 출력 키를 이용하여 복호화하는 단계를 포함한다.
RFID, 태그, 복제

Description

보안 기능을 갖는 RFID 보안 장치 및 방법{RFID Security Apparatus for comprising Security Function and Method thereof}
본 발명은 RFID 보안 장치 및 방법에 관한 것으로서, 보다 상세하게는 보안 기능을 갖는 RFID 보안 장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-106-04, 과제명: RFID/USN용 센서 태그 및 센서 노드 기술개발].
종래에, RFID 장치는 물품 유통 관리에 이용될 수 있다. 이러한 RFID 장치는 ISO/IEC 18000-6 프로토콜에 따라 통신할 수 있다.
그러나, RFID 장치의 RFID 태그는 복제 및 데이터 유출의 가능성을 배제할 수 없게 됨에 따라, RFID 장치를 이용한 물품 유통 관리는 안정성을 확보할 수가 없다. 따라서, 데이터 보안을 지원할 수 있는 보안 태그 및 보안 태그 리더기가 필요하다.
본 발명이 해결하고자 하는 과제는 보안 정보를 이용하여 보안 기능을 포함함으로써, 데이터 보안을 지원할 수 있는 RFID 보안 장치 및 방법을 제공하고자 하는 것이다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 RFID 보안 장치는 보안 태그의 보안 정보를 수신하고, 상기 보안 정보를 이용하여 암호화 키를 결정하고, 상기 결정된 암호화 키를 이용하여, 출력 키를 생성하는 출력 키 생성부와, 상기 보안 태그로부터 수신한 암호화된 수신 데이터를 상기 출력 키를 이용하여 복호화하고, 상기 보안 태그로 송신하는 송신 데이터를 상기 출력 키를 이용하여 암호화하는 복호화 및 암호화부를 포함한다.
상기 과제를 해결하기 위한 본 발명의 실시예에 따른 RFID 보안 방법은 보안 태그 리더기가 보안 태그로부터 수신된 보안 정보를 이용하여 암호화 키를 결정하고, 상기 결정된 암호화 키를 이용하여, 출력 키를 생성하는 단계와, 상기 보안 태그로부터 수신한 암호화된 데이터를 상기 출력 키를 이용하여 복호화하는 단계와, 상기 보안 태그로 송신하는 데이터를 상기 출력 키를 이용하여 암호화하고, 상기 암호화된 데이터를 상기 보안 태그로 송신하는 단계를 포함하고, 보안 태그가 암호화 키 및 보안 정보를 이용하여 출력 키를 생성하고, 상기 보안 정보를 보안 태그 리더기로 송신하는 단계와, 상기 보안 태그가 상기 출력 키를 이용하여, 상기 보안 태그 리더기로 송신하는 데이터를 암호화하고, 상기 암호화된 데이터를 상기 보안 태그 리더기로 송신하는 단계와, 상기 보안 태그가 상기 보안 태그 리더기로부터 수신한 데이터를 상기 출력 키를 이용하여 복호화하는 단계를 포함한다.
본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치 및 방법은 보안 정보를 이용하여 데이터를 암호화함에 따라, 데이터의 보안을 지원할 수 있다. 따라서, RFID 보안 장치의 활용시, 안정성을 높일 수 있다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치 및 방법에 대해 상세히 설명한다.
본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치는 보안 태그 리더기와 보안 태그를 포함한다.
여기서, 보안 태그는 보안 기능을 지원하는 RFID 태그일 수 있으며, 도 1a 및 도 1b에 도시된 보안(SECURITY) 메모리를 포함할 수 있다.
도 1a 및 도 1b를 참조하면, 보안(SECURITY) 메모리에는 SecPC, SecXPC, SecParam 및 AES(Advanced Encryption Standard) Key 등이 저장될 수 있다.
SecPC와 SecXPC는 기존의 PC, XPC와 동일한 구조를 갖고 특정한 비트 값만 다르기 때문에, 보안(SECURITY) 메모리에 저장되지 않고 구현상에서만 특별한 의미를 가질 수 있다.
SecPC와 SecXPC는 SecParam, Key_RN(또는 Input Key:128 bits)을 전송하기 위한 PC(Protocol Control)와 extended PC이다.
XPC와 SecXPC의 SP(Secure Parameter) bit 값이 “1”인 경우, 해당 메시지가 SecPC, SecXPC, SecParam, Key_RN(또는 Input Key:128 bits)임을 나타내고, “0”인 경우, 해당 메시지가 ISO/IEC 18000-6 프로토콜의 ACK 명령에 대한 응답 메시지인 PC, XPC, EPC(UII)임을 나타낸다.
그리고, XPC와 SecXPC의 ST(Secure Tag) bit는 해당 태그가 보안 기능을 지원하는 보안 태그인지의 여부를 나타낸다. ST의 비트 값이 “1”인 경우에는 태그가 보안 기능을 지원하는 보안 태그로 동작할 수 있고, ST의 비트 값이 “0”인 경우에는 해당 태그가 일반 태그로만 동작할 수 있음을 나타낸다.
한편, 보안 태그가 보안 태그 리더기로부터 Write 또는 BlockWrite 명령을 수신하여 PC 또는 XPC의 값을 변경하는 경우에, 보안 태그는 PC 또는 XPC에 변경되는 값을 SecPC 및 SecXPC에 반영하여 동시에 변경한다. 구체적으로, 보안 태그는 PC의 값이 변경되면 변경되는 PC의 [5:F] 비트 값과 동일하게 SecPC의 [5:F] 비트 값도 변경하고, XPC의 값이 변경되면 XPC의 [0:1] 및 [4:F] 비트 값과 동일하게 SecXPC의 [0:1] 및 [4:F] 비트 값도 변경한다. 따라서, SecPC 및 SecXPC의 값을 PC 및 XPC와 연동하기 위해 별도로 비트 값을 변경하는 명령을 수행하지 않는다.
SecParam는 암호화 알고리즘에서 사용되는 암호화 방법 및 정보를 전송하기 위한 메모리 영역으로 Round 수와 AES Key Index(리더에 AES Key(Private Key)가 저장된 위치) 등을 표시한다.
SecParam은 태그가 보안 태그로 동작하는 여부를 나타내는 값(SF:Bit 00h (1 bit)), 추후 사용을 위한 영역(RFU:Bits 01h - 3h (3 bits)), 태그와 리더간에 이용되는 암호화 방법을 나타내는 값(Round:Bits 04h - 07h (4 bits)), 태그와 리더간에 사용되는 키가 포함되어 있는 키 인덱스 값(Key Index:Bits 08h - 0Fh (8 bits))으로 이루어져 있다.
SecParam의 SF(Secure Function) 비트 값이 “1”인 경우, 해당 태그가 보안 태그로 동작할 수 있음을 의미하고, SF의 비트 값이 “0”인 경우, 해당 태그가 종래의 ISO/IEC 18000-6 프로토콜에 따른 수동형 RFID 태그로 동작할 수 있음을 의미한다.
SecParam의 Round는 출력 키(output key, 세션 키) 생성에 사용될 수 있다. 여기서, Round 수는 보안 태그의 동작 전력 및 반응 시간 등을 고려하기 위해서, 보안 태그 리더기에 의해 임의로 조절될 수 있다.
이러한 SF 및 Round 비트의 설정에 따라, 도 2와 같은 암호화 방식을 제공할 수 있다.
SecParam의 Key Index는 000000002~111111112까지 사용하며, RFU는 0002을 채운다.
암호화 키(AES Key)는 데이터 암호화에 필요한 출력 키를 생성하는데 필요한 Private Key로써, 보안(SECURITY) 메모리의 14-21번지에 저장되는 128 비트의 데이터이다.
한편, 보안(SECURITY) 메모리는 SecParam과 암호화 키(AES Key)의 업데이트 변경을 위해 이중화 구조를 가져야 한다. 보안(SECURITY) 메모리의 이중화 구조는 암호화 키(AES Key) 또는 SecParam의 값이 업데이트되는 과정에서 새로운 Inventory Round가 시작되기 전까지, 기존의 암호화 키(AES Key) 및 SecParam 값으로 암호화가 계속 진행되도록 하고, 업데이트되는 암호화 키(AES Key) 또는 SecParam 값은 기존의 암호화 키(AES Key) 및 SecParam와 분리되어 저장되도록 하는 구조이다. 이후에 새로운 Inventory Round가 시작되면, 업데이트된 새로운 암호화 키(AES Key) 및 SecParam 값이 암호화에 반영된다.
도 3은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그 리더기에 대한 구성을 나타내는 블록도이다.
도 3을 참조하면, 보안 태그 리더기(301)는 출력 키 생성부(303), 복호화 및 암호화부(305, 309), 태그 인증부(307), 키 업데이트 요청부(311), 보안 정보 확인부(313), 및 제어부(315)를 포함한다.
출력 키 생성부(303)는 보안 태그의 보안 정보를 수신하고, 보안 정보를 이용하여 암호화 키(AES Key)를 결정한다.
출력 키 생성부(303)는 수신된 데이터 중 XPC의 특정 비트 즉, SP 비트가 “1”이면, XPC 이후의 데이터가 암호화에 사용되는 보안 정보인지를 인식할 수 있다.
여기서, 보안 정보는 SecXPC, SecParam, 및 Key_RN 중 적어도 하나를 포함한다.
또한, 출력 키 생성부(303)는 암호화 키(AES Key)를 이용하여, 출력 키(세션 키)를 생성하고, 보안 정보에 대한 응답(ACK)을 보안 태그로 송신한다. 즉, 출력 키 생성부(303)는 암호화 키, Key_RN(또는 128비트의 Input key, Public Key), Round 등을 이용하여 출력 키(세션 키)를 생성할 수 있다. 이때, 출력 키 생성부(303)는 SecParam의 Key Index를 이용하여 키 데이터 베이스(미도시)에서 Key Index에 대응하는 암호화 키(AES Key)를 결정할 수 있다.
복호화 및 암호화부(305, 309)는 암호화된 데이터를 수신하고, 출력 키를 이용하여 암호화된 데이터를 복호화할 수 있다. 또한, 복호화 및 암호화부(305, 309)는 보안 태그로 송신하는 데이터를 암호화할 수 있다. 구체적으로, 복호화 및 암호화부(305, 309)는 암호화된 데이터 또는 송신하는 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 암호화된 데이터를 복호화하거나, 송신하는 데이터를 암호화할 수 있다.
이때, 입력되는 데이터에 대해 출력 키를 이용하여 익스클루시브 OR(XOR)을 수행하는 암호화 방법과 복호화 방법은 동일하므로, 암호화부(309) 및 복호화부(305)는 동일한 구조로 구성될 수 있다.
태그 인증부(307)는 도 4에 도시된 Secure Req_RN 명령 메시지를 이용하여 임의의 챌린지(challenge) 데이터를 보안 태그로 송신하고, Secure Req_RN 응답 메시지를 이용하여 임의의 챌린지 데이터에 대응하는 챌린지 응답 데이터를 보안 태그로부터 수신할 수 있다.
태그 인증부(307)는 암호화부(309)를 이용하여 암호화한 챌린지 데이터를 송신하고, 복호화부(305)를 이용하여 암호화된 챌린지 응답 데이터를 복호화할 수 있 다.
태그 인증부(307)는 임의의 챌린지 데이터와 복호화된 챌린지 응답 데이터를 비교하여, 보안 태그를 인증한다. 즉, 태그 인증부(307)는 임의의 챌린지 데이터와 복호화된 챌린지 응답 데이터가 동일한 경우, 보안 태그가 복제되지 않은 것으로 판단한다. 반면, 태그 인증부(307)는 임의의 챌린지 데이터와 복호화된 챌린지 응답 데이터가 동일하지 않는 경우, 보안 태그가 복제된 것으로 판단한다.
키 업데이트 요청부(311)는 암호화 키와 구별된 새로운 암호화 키를 생성하고, 도 5에 도시된 Update Key 명령 메시지를 이용하여 새로운 암호화 키를 전송한다.
보안 정보 확인부(313)는 도 6에 도시된, Get SecParam 명령 메시지를 송신하고, 이에 대한 Get SecParam 응답 메시지를 수신함으로써, SecParam이 정상적으로 설정되었는지를 확인할 수 있다.
제어부(315)는 보안 태그 리더기를 전반적으로 제어하는 역할을 한다.
도 7은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치 의 보안 태그에 대한 구성을 나타내는 블록도이다.
도 7을 참조하면, 보안 태그(701)는 출력 키 생성부(703), 암호화 및 복호화부(705, 709), 인증 응답부(707), 키 업데이트 수행부(711), 보안 정보 응답부(713), 보안(SECURITY) 메모리(715), 및 제어부(717)를 포함한다.
출력 키 생성부(703)는 암호화 키를 이용하여 출력 키를 생성하고, 보안 정보를 보안 태그 리더기로 송신한다. 여기서, 암호화 키 및 보안 정보는 보안 태 그(701)의 보안 메모리(715)에 미리 설정될 수 있다.
구체적으로, 출력 키 생성부(703)는 보안 태그 리더기로부터 Select 메시지를 수신하면, Input Key(Public Key, 128 비트) 생성을 위한 Key_RN(16 비트)을 생성한다. Input Key를 미리 생성하는 것은 보안 태그의 처리 능력을 고려한 것이다. 이때, 태그가 보안 태그로 동작하고 있으므로, SecParam의 SF 비트는 “1”이다. 출력 키 생성부(703)는 Key_RN을 이용하여 Input Key(Public Key, 128 bits)를 생성하고, 생성된 Input Key(Public Key)와 함께 메모리에 저장된 암호화 키(AES Key) 및 Round 수를 이용하여 출력 키를 생성한다.
암호화 및 복호화부(705, 709)는 출력 키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 보안 태그 리더기로 송신할 수 있다. 또한, 암호화 및 복호화부(705, 709)는 보안 태그 리더기로부터 수신되는 암호화된 데이터를 복호화할 수 있다.
가령, 암호화 및 복호화부(705, 709)는 보안(SECURITY) 메모리(715)의 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 데이터를 암호화할 수 있고, 보안 태그 리더기로부터 수신되는 암호화된 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 데이터를 복호화할 수 있다.
인증 응답부(707)는 임의의 챌린지(challenge) 데이터를 보안 태그 리더기로부터 수신하면, 임의의 챌린지 데이터에 대응하는 챌린지 응답 데이터를 보안 태그 리더기로 송신한다.
즉, 인증 응답부(707)는 복호화부(709)를 이용하여 암호화된 챌린지 데이터 를 복호화하고, 복호화된 챌린지 데이터를 암호화부(705)를 이용하여 재암호화한다. 이후, 인증 응답부(707)는 재암호화하여 생성된 챌린지 응답 데이터를 보안 태그 리더기로 전송할 수 있다.
키 업데이트 수행부(711)는 보안 태그 리더기로부터 새로운 암호화 키(AES Key)가 포함된 Update Key 명령 메시지를 수신하면, Update될 새로운 암호화키(AES Key)를 보안 메모리(715)에 저장한다. 이때, 키 업데이트 수행부(711)는 Upadate_Key 명령 메시지를 통해 보안 태그 리더기로부터 수신한 여러 패킷의 새로운 암호화 키(AES Key)에 대하여, 패킷별로 연산한 체크(CRC:Cyclic Redundancy Check)와 Upadate_Key 명령 메시지를 통해 보안 태그 리더기로부터 수신한 체크섬(CRC Checksum)이 동일한 경우, 보안 메모리에 새로운 암호화 키를 저장한다.
보안 정보 응답부(713)는 보안 태그 리더기로부터 Get SecParam 명령 메시지을 수신하면, 새로 설정된 SecParam이 포함된 Get SecParam 응답 메시지를 보안 태그 리더기로 전송한다.
제어부(717)는 보안 태그를 전반적으로 제어하는 역할을 한다.
도 8은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치에서, 키 생성기의 출력 키 생성 방법을 나타내는 도면이다.
도 8을 참조하면, 키 생성기(Key Generator)는 First Input Key(Public Key), 암호화 키(AES Key) 및 SecParam의 Round 수를 이용하여 출력 키(Output Key)를 생성한다.
여기서, First Input Key(Public Key)는 SecParam의 SF 비트가 “1”인 보안 태그가 Select 명령어를 수신하면, 임의로 생성된 Key_RN(16비트)를 반복하여 생성한 128비트의 데이터일 수 있다. 또한, First Input Key(Public Key)는 임의로 생성된 128비트의 데이터일 수 있다.
암호화 키(AES Key)는 보안 태그 리더기와 보안 태그 간에 사전에 설정된 비밀 키(Private Key)이다.
키 생성기는 암호화 키(AES Key), Round 수 및 First Input Key(Public Key)를 입력받고, 출력 키를 생성하는 과정에서 보안 태그의 원활한 동작을 위하여 2개 이상의 출력 키를 미리 생성할 수 있다. 이때, 출력 키는 연속적으로 다음 출력 키를 생성하기 위한 Input Key로 사용될 수 있다.
도 9는 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 암호화부 및 복호화부의 구성을 나타내는 블록도이다.
도 9를 참조하면, 암호화부(901)는 XOR 수행부(903), CRC 생성 및 추가부(905), 및 CM 생성 및 추가부(907)를 포함할 수 있다.
XOR 수행부(903)는 암호화하고자 하는 데이터(911)와 출력 키(909)를 수신하고, 암호화하고자 하는 데이터(911)와 출력 키(909)를 비트 단위로 XOR(eXclusive OR)하여, 암호화된 데이터(913)를 생성한다.
CRC 생성 및 추가부(905)는 CRC를 생성하고, 암호화된 데이터(913)에 CRC를 추가한다.
CM(Command) 생성 및 추가부(907)는 CM을 생성하고, CRC 생성 및 추가부(905)의 출력 데이터에 CM을 추가하여, CRC 및 CM이 추가된 Bit Stream을 출력한 다.
복호화부(921)는 CRC 제거부(923), CM 제거부(925), 및 XOR 수행부(927)를 포함할 수 있다.
CRC 제거부(923)는 Bit Stream을 수신하고, Bit Stream의 CRC를 제거한다.
CM 제거부(925)는 CRC가 제거된 Bit Stream에서 CM을 제거한다.
XOR 수행부(927)는 CM 제거부(925)의 출력 데이터, 즉 암호화된 데이터(929)와 출력 키(931)를 수신하고, 암호화된 데이터(929)와 출력 키(931)를 비트 단위로 XOR하여, 본래의 데이터(933)를 생성한다.
Inventory Round 내에서 암호화 및 복호화 과정을 수행할 때, 암호화부(901) 및 복호화부(921)는 현재의 출력 키(909, 931)의 비트 포인트를 항상 유지하면서 데이터를 처리한다. 암호화부(901) 및 복호화부(921)는 데이터가 송수신될 때마다 현재의 비트 포인트에서부터 데이터와 비트 단위로 XOR(eXclusive OR)를 수행하며, XOR(eXclusive OR)를 수행한만큼 비트 포인트가 증가한다. 또한, 데이터를 암호화하거나 복호화를 진행할 때, 해당 명령(Command)과 체크(CRC16)는 암호화와 복호화 과정의 XOR 수행에서 제외된다. 따라서, 암호화부(901) 및 복호화부(921)의 구조는 이에 한정되지 않고, XOR 수행부만을 포함할 수 있다.
이하, 보안 태그의 SecParam 및 암호화 키(AES Key)를 설정하기 위해 이용하는 Upadate_Key 명령 메시지에 대해 설명한다.
도 5는 Upadate_Key 명령, Upadate_Key Finish 명령, 및 Upadate_Key 응답 메시지를 나타내는 도면이다.
Update Key 명령 메시지는 보안 메모리의 AES Key(Private Key) 값을 업데이트하는 메시지이고, Upadate_Key Finish 명령 메시지는 AES Key의 성공 또는 실패 여부를 나타내는 메시지이며, Upadate_Key 응답 메시지는 Upadate_Key 명령 또는 Upadate_Key Finish 명령 메시지에 대한 응답 메시지를 의미한다.
도 5를 참조하면, Update Key 명령 메시지는 보안 메모리의 AES Key(Private Key) 값을 업데이트하는 메시지로, 코드 값, Word Pointer, SecParam 또는 AES Key, RN16, 및 CRC16을 포함할 수 있다.
Update Key 명령의 코드 값은 "0xE100(11100001 00000000)"을 사용할 수 있다.
Update Key 명령 메시지의 Word Pointer는 일반적으로 전송되는 AES Key 순서를 표시하며, 예를 들어, Word Pointer가“0x80, C = '1'”인 경우, 전송이 성공하여 보안 태그에게 수신된 AES Key(Private Key)를 보안 메모리에 저장하라는 의미를 나타낸다. 전송이 성공한 경우, Word Pointer의 하위 4 비트는 SecParam와 AES Key에 적용되는 패스워드의 Mask와 Action 비트로 사용될 수 있다. 적용 방법은 ISO 18000-6 Spec에 서술한 패스워드에 적용되는 방법을 따르며, write 또는 Blockwrite 명령 메시지 대신에 Update Key 명령 메시지를 통해서만 해당 필드가 수정될 수 있다. 또한, Update Key 명령 메시지의 Word Pointer가“0x40, F = '1'”인 경우, 에러가 발생함에 따라 Update Key의 수행이 실패하여, 보안 태그에게 수신한 AES Key(Private Key)를 삭제하라는 의미를 나타낸다.
에러의 발생 여부는 Upadate_Key 응답 메시지의 Header를 이용하여 판단할 수 있다. 즉, Upadate_Key Reply의 Header가 1인 경우, 에러가 발생한 것을 의미할 수 있으며, 에러 발생의 예는 다음과 같다.
첫째, Update Key 명령 메시지에 대한 Upadate_Key 응답 메시지의 Header가 “1”로 설정되는 경우는 Word Pointer가 잘못된 값을 갖는 경우 예를 들어, AES Key가 현재는 8 Word(128 비트)이기 때문에 Word Pointer가 8보다 큰 경우일 수 있다.
둘째, Update Key Finish 명령 메시지에 대한 Upadate_Key 응답 메시지의 Header가 “1”로 설정되는 경우는 보안 태그에서 수신된 AES Key(Private Key)의 CRC와 Finish Command에 수신된 AES Key의 CRC Checksum이 서로 다른 경우일 수 있다. 이러한 경우, 보안 태그 리더기는 Update Key 전송을 새로 시작하거나 다음의 Inventory round에서 Update Key 전송을 새롭게 시작할 수 있다.
보안 태그 리더기와 보안 태그 간 Update Key 명령 메시지를 이용한 AES Key(Private Key) 값 업데이트 동작을 살펴보면, 보안 태그 리더기는 AES Key 전송 순서에 있어서, SecParam, AES Key (1 ~ 8)와 CRC Checksum을 순차적으로 전송하고, SecParam만을 전송하는 경우에는 SecParam와 CRC Checksum만을 전송한다.
보안 태그는 SecParam와 AES Key (1 ~ 8) 수신 시에 CRC 에러가 발생하면 해당 명령을 무시한다.
보안 태그 리더기는 T1 Timer내에 RFID 태그의 응답이 없으면, Update Key 과정을 초기화하거나 새로운 Inventory Round에서 AES Key(Private Key)의 업데이트 과정을 재수행할 수 있다. 또한, 보안 태그 리더기는 Upadate_Key 명령 메시지 를 이용하여 AES Key를 송신한 후, Header가 “1”인 Upadate_Key 응답 메시지를 수신하면, 보안 태그 리더기는 해당 AES Key (x)에 대한 재전송을 시도할 수 있다.
또한, 보안 태그는 보안 태그 리더기로부터 수신한 체크섬(CRC Checksum) 값과 보안 태그 내에서 계산한 SecParam 및 AES Key (1) ~ AES Key (8)에 대한 체크(CRC) 계산한 값이 동일하면, Key Update를 수행하고, Successful Reply를 전송한다. 반면에, 보안 태그는 체크섬(CRC Checksum) 값과 체크(CRC) 값이 다른 경우에는, Failure Reply를 전송한다.
보안 태그 리더기는 보안 태그로부터 Failure Reply를 수신하면 Update Key 과정을 초기화하거나 새로운 Inventory Round에서 AES Key의 update를 다시 시도할 수 있다. 여기서, CRC 연산 방법은 ISO 18000-6 Spec에 서술한 방법을 사용할 수 있다.
본 발명의 실시예에 따른 RFID 보안 장치는 암호화 키 및 보안 정보를 이용함으로써, 보안 태그 리더기, 및 보안 태그 간의 통신 데이터에 대한 보안을 지원할 수 있다. 따라서, 보안 태그에 대한 접근을 제어함으로써, 보안 태그의 복제를 방지 및 데이터의 기밀성을 제공함에 따라, 보안 태그의 활용시 안정성을 높일 수 있다.
도 10은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그 리더기 동작 방법을 나타내는 도면이고, 도 12a 내지 도 12c는 보안 태그 리더기 및 보안 태그 간의 통신 절차를 나타내는 메시지 흐름도이다.
도 10 및 도 12a 내지 도 12c를 참조하면, 먼저, 보안 태그 리더기는 보안 태그의 보안 정보를 수신한다(S1001).
보안 태그 리더기는 보안 태그의 보안 정보를 수신하면, 보안 정보를 이용하여 암호화 키를 결정한다.
여기서, 보안 정보는 SecXPC, SecParam, 및 Key_RN 중 적어도 하나를 포함한다. 이때, SecXPC의 ST(Secure Tag)는 “1”일 수 있다.
이어서, 보안 태그 리더기는 보안 정보를 이용하여, 출력 키를 생성한다(S1003).
즉, 보안 태그 리더기는 보안 정보의 암호화 키 인덱스(AES Key Index)를 이용하여 암호화 키(AES Key)를 결정하고, 보안 정보 및 암호화 키를 이용하여 출력 키를 생성한다. 이후, 보안 태그 리더기는 보안 정보에 대한 응답(ACK)을 보안 태그로 송신한다. 구체적으로, 보안 태그 리더기는 암호화 키, Key_RN(또는 128비트의 Input key, Public Key), Round 등을 이용하여 출력 키를 생성할 수 있다. 이때, 보안 태그 리더기는 SecParam의 AES Key Index를 이용하여 키 데이터 베이스에서 AES Key Index에 대응하는 암호화 키(AES Key)를 결정할 수 있다. 이어서, 보안 태그 리더기는 암호화된 데이터를 수신하고, 출력 키를 이용하여 암호화된 데이터를 복호화한다(S1005).
구체적으로, 보안 태그 리더기는 암호화된 데이터를 수신하고, 암호화된 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 암호화된 데이터를 복호화할 수 있다. 복호화 과정에서 데이터의 CM(Command)과 CRC는 적용되지 않는다. 또한, 이후 암호화 과정에서도 데이터의 CM(Command)과 CRC는 적용되지 않는다.
이어서, 보안 태그 리더기는 인증 명령(Secure Req_RN Command)을 송신하고, 이에 대한 인증 응답(Secure Req_RN Reply) 메시지를 수신한다(S1007).
구체적으로, 보안 태그 리더기는 세션이 시작될 때 수행되는 상호 인증 시, 보안 태그로부터 SecPC, SecXPC와 SecParam을 수신하고, 정당한 PC, EPC(UII) 값의 수신을 확인하면, 도 4에 도시된 Secure Req_RN 명령을 보안 태그로 전송하여 상호 인증을 시도한다. 즉, 보안 태그 리더기는 보안 태그로부터 SecPC, SecXPC 및 SecParam을 수신하고, SecParam의 SF 비트 값이 "1"이면 상호 인증을 시도한다. Secure Req_RN 명령은 상호 인증을 위하여 세션이 시작될 때 한번만 수행되며, 보안 태그는 Secure Req_RN 명령의 응답을 보내고 나서 Open State로 천이한다. 따라서, Secure Req_RN 명령 이후에 수행되는 Set SecParam, Update Key 또는 Write 등의 동작에서는 Req_RN을 사용한다.
즉, 보안 태그 리더기는 임의의 챌린지(challenge) 데이터를 인증 명령(Secure Req_RN Command) 메시지를 이용하여 보안 태그로 송신하고, 인증 응답(Secure Req_RN Reply) 메시지를 이용하여 임의의 챌린지 데이터에 대응하는 챌린지 응답 데이터를 수신한다.
보안 태그 리더기는 암호화부를 이용하여 암호화한 챌린지 데이터를 송신하고, 복호화부를 이용하여 챌린지 응답 데이터를 복호화할 수 있다. 즉, 보안 태그 리더기는 임의의 챌린지 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 임의의 챌린지 데이터를 암호화한다. 또한, 보안 태그 리더기는 암호화된 챌린지 데이터에 대응하는 암호화된 챌린지 응답 데이터를 수신하고, 암호화된 챌린지 응답 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 암호화된 챌린지 응답 데이터를 복호화할 수 있다.
보안 태그 리더기는 임의의 챌린지 데이터와 복호화된 챌린지 응답 데이터를 비교하여, 보안 태그를 인증한다. 즉, 보안 태그 리더기는 임의의 챌린지 데이터와 복호화된 챌린지 응답 데이터가 동일한 경우, 보안 태그가 복제되지 않은 것으로 판단한다. 반면, 보안 태그 리더기는 임의의 챌린지 데이터와 복호화된 챌린지 응답 데이터가 동일하지 않는 경우, 보안 태그가 복제된 것으로 판단한다.
도 4를 참조하면, Secure Req_RN 명령의 코드 값은 "0xE102 (11100001 00000010)"을 사용한다. Secure Req_RN 명령의 Challenge 값은 보안 태그 리더기가 임의로 생성한 값으로, 16 비트일 수 있으며 이에 한정되지 않고 가변적일 수 있다. 그리고, Secure Req_RN Reply 명령의 Challenge 값은 보안 태그 리더기가 보안 태그로 전송했던 Challenge 값일 수 있다.
보안 태그 리더기는 Secure Req_RN Reply 명령 메시지를 수신하면, 이를 복호화한 후, 자신의 Challenge 값이 Response 값으로 수신된 것을 확인하여 태그를 인증한다. 따라서, 본 발명의 실시예에 따른 RFID 보안 장치는 Challenge를 통해 공격 방지와 태그 인증을 수행할 수 있다.
이어서, 키를 업데이트할 필요가 있는 경우에 보안 태그 리더기는 키 업데이트 명령을 송신하고, 이에 대한 키 업데이트 응답 메시지를 수신한다(S1009).
즉, 보안 태그 리더기는 암호화 키와 구별된 새로운 암호화 키를 생성하고, 새로운 암호화 키를 포함하는 키 업데이트 명령을 송신한다.
구체적으로, 보안 태그 리더기는 도 5에 도시된 Upadate_Key 명령 메시지를 이용하여, SecParam 및 AES Key(Private Key)를 보안 태그로 송신한다. 보안 태그 리더기는 Upadate_Key 명령 메시지를 전송하기 전에 AES Key 값의 보안과 정당성을 확인하기 위해 AES Key 값과 XOR를 수행할 핸들(Handle)값을 요청하기 위해서 Req_RN 명령을 보안 태그로 먼저 전송할 수 있으며, 필요에 따라서 Upadate_Key 명령 메시지만을 전송할 수도 있다. 이후, 보안 태그 리더기는 RN16을 수신하면, Upadate_Key 명령 메시지를 이용하여 AES Key를 송신한다.
이어서, 보안 태그 리더기는 보안 태그의 보안 정보 요청 명령을 송신하고, 이에 대한 보안 정보 응답 메시지를 수신한다(S1011).
구체적으로, 보안 태그 리더기는 도 6에 도시된 바와 같은 Get SecParam 명령 메시지을 송신하고, Get SecParam 응답 메시지를 수신함으로써, 보안 태그에 새로운 SecParam이 정상적으로 설정되어 있는지를 확인할 수 있다. 또한, 도 6을 참조하면, Get SecParam 명령 및 Get SecParam 응답 메시지가 도시되어 있으며, Get SecParam 명령의 코드 값은 "0xE101 (11100001 00000001)"을 사용할 수 있다.
도 11은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그 동작 방법을 나타내는 도면이다.
도 11 및 도 12a 내지 도 12c를 참조하면 보안 태그는 보안 정보를 이용하여, 출력 키를 생성한다(S1101).
즉, 보안 태그는 보안 정보 및 암호화 키를 이용하여, 출력 키를 생성한다. 여기서, 보안 정보는 SecXPC, SecParam, 및 Key_RN 중 적어도 하나를 포함하고, 보 안 정보 및 암호화 키는 보안 태그의 보안 메모리에 미리 설정될 수 있다.
구체적으로, 보안 태그는 보안 태그 리더기로부터 Select 메시지를 수신하면, Input Key(Public Key, 128 비트) 생성을 위한 Key_RN(16 비트)을 생성한다. Input Key를 미리 생성하는 것은 보안 태그의 처리 능력을 고려한 것이다. 이때, 태그가 보안 태그로 동작하고 있으므로 SecParam의 SF 비트는 “1”이다. 보안 태그는 Key_RN을 이용하여 Input Key(Public Key, 128 bits)를 생성하고, 생성된 Input Key(Public Key)와 함께 보안 메모리에 저장된 AES Key(Private Key) 및 Round 수를 이용하여 출력 키를 생성한다. 여기서, Round 수는 출력 키 생성에 필요한 전력 및 응답 시간에 따라, 보안 태그 리더기에 의해 임의로 조절될 수 있다.
이어서, 보안 태그는 보안 정보를 보안 태그 리더기로 송신한다(S1103).
구체적으로, 보안 태그는 보안 태그 리더기로부터 Query 또는 Query Rep 메시지를 받고, 보안 태그의 슬롯 카운터가 ‘0’인 경우에, 보안 태그 리더기로 RN16을 전송한다.
보안 태그는 RN16에 대한 ACK 메시지를 보안 태그 리더기로부터 수신하면, 보안(SECURITY) 메모리에 저장되어 있는 SecParam을 확인하여, ACK 명령에 대한 응답 메시지를 송신한다. 즉, 보안 태그는 SecParam의 SF 비트 값이“0”인 경우에는 ISO/IEC 18000-6 프로토콜에 따른 도 13의 응답 메시지, 즉 태그 정보를 전송하고, SecParam의 SF 비트 값이 “1”인 경우에는 도 14의 응답 메시지, 즉 보안 정보를 전송한다. 도 14의 응답 메시지는 암호화되지 않은 상태로 전송된다.
도 13 및 도 14를 참조하면, 도 13의 PC 및 XPC와 도 14의 SecPC 및 SecXPC 는 동일한 구성을 가진다. 따라서, SecPC는 첫 5 bits(Word Length)에 3 words를 나타내는 000102, 다음으로 1 bit의 UMI, 1 bit의 XI, 그리고 9 bits의 NSI로 구성된다. 또한, SecXPC의 SP 비트가 “1”이면, 해당 메시지가 보안 태그의 ACK 명령에 대한 응답인 SecPC, SecXPC, SecParam, Key_RN(또는 128 비트인 Input Key)임을 나타내고, SecXPC의 SP 비트가 “0”이면, 해당 메시지가 일반적인 태그의 ACK 명령에 대한 응답인 PC, XPC, EPC(UII)임을 나타낸다. 도 14와 같은 보안 응답 메시지의 CRC-16 값은 보안(SECURITY) 메모리에 이미 저장되어 있는 CRC-16 값이 아니라, 반드시 새로 생성한 CRC-16 값을 사용하여야 한다.
이어서, 보안 태그는 출력 키를 이용하여 데이터를 암호화하고, 암호화된 데이터를 복호화한다(S1105).
구체적으로, 보안 태그는 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 데이터를 암호화하고, 암호화된 데이터를 보안 태그 리더기로 송신할 수 있다. 또한, 보안 태그는 보안 태그 리더기로부터 수신한 암호화된 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 암호화된 데이터를 복호화할 수 있다.
이어서, 보안 태그는 인증 명령(Secure Req_RN Command) 메시지를 수신하면, 이에 대한 인증 응답(Secure Req_RN Reply) 메시지를 송신한다(S1107).
즉, 보안 태그는 Secure Req_RN 명령 메시지를 통하여 암호화된 챌린지 데이터를 수신하면, 암호화된 챌린지 데이터에 대응하는 암호화된 챌린지 응답 데이터 를 Secure Req_RN 응답 메시지를 통하여 보안 태그 리더기로 송신한다.
구체적으로, 보안 태그는 암호화된 챌린지 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 암호화된 챌린지 데이터를 복호화한다. 이후, 보안 태그는 복호화한 챌린지 데이터와 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하여 복호화한 챌린지 데이터를 재암호화함으로써, 챌린지 응답 데이터를 생성할 수 있다.
이어서, 보안 태그는 키 업데이트 명령을 수신하면, 이에 대한 키 업데이트 응답 메시지를 송신한다(S1109).
즉, 보안 태그는 새로운 암호화 키를 수신하면, 새로운 암호화 키를 보안 메모리에 저장한다.
구체적으로, 보안 태그는 보안 태그 리더기로부터 Req_RN를 요청하는 메시지를 수신하면, RN16을 보안 태그 리더기로 전송한다. 이후, 보안 태그는 보안 태그 리더기로부터 Update Key 명령 메시지를 이용하여 Update될 AES Key를 수신하고, 이에 대응하는 Upadate_Key 응답 메시지보안 태그 리더기로 전송한다. 이때, 보안 태그는 Update될 AES Key 각각에 대하여 AES Key를 수신하며, 최종 CRC 점검을 통해서만 AES Key를 저장한다. 여기서, Update되는 AES Key는 현재의 Inventory에서는 반영되지 않는다.
이어서, 보안 태그는 보안 태그의 보안 정보 요청 명령을 수신하면, 이에 대한 보안 정보 응답 메시지를 송신한다(S1111).
즉, 보안 태그는 보안 태그 리더기로부터 Get SecParam 명령 메시지를 수신 하면, Get SecParam 응답 메시지를 이용하여 새로 설정된 SecParam를 보안 태그 리더기로 전송할 수 있다.
도 15a 내지 도 15c는 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치에서, 암호화 키(AES Key)가 설정이 되지 않은 상태의 보안 태그 리더기 및 보안 태그 간의 통신 절차를 나타내는 메시지 흐름도이다.
도 15a 내지 15c를 참조하면, 보안 태그 리더기는 RN16에 대한 ACK 메시지의 송신한다.
보안 태그는 RN16에 대한 ACK 메시지를 수신하면, PC, XPC 및 EPC를 보안 태그 리더기로 전송한다.
이후, 보안 태그 리더기는 PC, XPC 및 EPC를 수신하고, PC의 XPC 비트가 “1”인지 확인한다. 보안 태그 리더기는 XPC 비트가 “1”인 경우에는 XPC에서 ST 비트가 “1”인지 확인하여 보안 태그로 동작이 가능한 태그로 판단되는 경우(ST 비트가 “1”인 경우)에는 AES Key의 Update와 SecParam 확인을 수행할 수 있다. 이후, 수행되는 Update Key 및 Get SecParam의 전송 방법은 도 12b 내지 도 12c 에서의 Update Key 및 Get SecParam의 전송 방법과 동일하다.
다만, AES Key가 설정이 되지 않은 RFID 보안 장치에서의 Update Key 및 Get SecParam 전송은 메시지가 암호화되지 않은 상태로 통신이 이루어지므로 메시지의 암호화 및 복호화를 수행하지 않는다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1a 및 도 1b는 보안 태그에 포함된 보안 메모리의 구조를 나타내는 도면이다.
도 2는 SF 및 Round 비트의 설정에 따른 암호화 방식을 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그 리더기에 대한 구성을 나타내는 블록도이다.
도 4는 Secure Req_RN 명령 및 응답 메시지를 도시한 도면이다.
도 5는 Update Key 명령 및 응답 메시지를 도시한 도면이다.
도 6은 Get SecParam 명령 및 응답 메시지를 도시한 도면이다.
도 7은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그에 대한 구성을 나타내는 블록도이다.
도 8은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치에서, 키 생성기의 출력 키 생성 방법을 나타내는 도면이다.
도 9는 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 암호화부 및 복호화부의 구성을 나타내는 블록도이다.
도 10은 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그 리더기 동작 방법을 나타내는 도면이다.
도 11는 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치의 보안 태그 동작 방법을 나타내는 도면이다.
도 12a 내지 도 12c는 보안 태그 리더기 및 보안 태그 간의 통신 절차를 나타내는 메시지 흐름도이다.
도 13은 일반 태그의 태그 정보를 도시하고, 도 14는 보안 태그의 보안 정보를 도시한 도면이다.
도 15a 내지 도 15c는 본 발명의 실시예에 따른 보안 기능을 갖는 RFID 보안 장치에서, 암호화 키(AES Key)가 설정이 되지 않은 상태의 보안 태그 리더기 및 보안 태그 간의 통신 절차를 나타내는 메시지 흐름도이다.

Claims (11)

  1. 보안 태그의 보안 정보를 수신하고, 상기 보안 정보를 이용하여 암호화 키를 결정하고, 상기 결정된 암호화 키를 이용하여, 출력 키를 생성하는 출력 키 생성부; 및
    상기 보안 태그로부터 수신한 암호화된 수신 데이터를 상기 출력 키를 이용하여 복호화하고, 상기 보안 태그로 송신하는 송신 데이터를 상기 출력 키를 이용하여 암호화하는 복호화 및 암호화부를 포함하는 RFID 보안 장치.
  2. 제1항에 있어서,
    상기 복호화 및 암호화부는 상기 수신 데이터 또는 상기 송신 데이터와 상기 출력 키에 대해, 익스클루시브 OR(XOR)을 수행하는 RFID 보안 장치.
  3. 제1항에 있어서,
    상기 보안 태그를 인증하는 태그 인증부
    를 더 포함하고,
    상기 복호화 및 암호화부는
    임의의 정해진 길이의 챌린지(challenge) 데이터를 상기 출력 키를 이용하여 암호화하고, 상기 암호화된 챌린지 데이터를 상기 보안 태그로 전송하고, 상기 암호화된 챌린지 데이터에 대응하는 암호화된 챌린지 응답 데이터를 상기 보안 태 그로부터 수신하고, 상기 암호화된 챌린지 응답 데이터를 상기 출력 키를 이용하여 복호화하고,
    상기 태그 인증부는
    상기 임의의 정해진 길이의 챌린지 데이터와 상기 복호화된 챌린지 응답 데이터를 비교하여, 상기 보안 태그를 인증하는 것을 특징으로 하는 RFID 보안 장치.
  4. 제1항에 있어서,
    상기 출력 키 생성부는 상기 보안 태그로부터 수신되는 XPC의 특정 비트를 이용하여, XPC 이후의 데이터가 암호화에 사용되는 상기 보안 정보인지를 인식하는 것을 특징으로 하는 RFID 보안 장치.
  5. 제1항에 있어서,
    상기 출력 키 생성부는 상기 보안 정보에 포함된 라운드(Round) 수를 이용하여 상기 출력 키를 생성하되,
    상기 라운드 수는 상기 출력 키 생성에 필요한 전력 및 응답 시간에 따라 조절된 것을 특징으로 하는 RFID 보안 장치.
  6. 제1항에 있어서,
    상기 복호화 및 암호화부는 상기 수신 데이터 및 상기 송신 데이터에 대 해, 명령(Command) 및 체크(CRC:Cyclic Redundancy Check)를 제외한 부분의 데이터만을 복호화 또는 암호화하는 것을 특징으로 하는 RFID 보안 장치.
  7. 암호화 키를 이용하여 출력 키를 생성하는 출력 키 생성부; 및
    상기 출력 키를 이용하여 보안 태그 리더기로 송신하는 데이터를 암호화하고, 상기 보안 태그 리더기로부터 수신되는 데이터를 복호화하는 암호화 및 복호화부를 포함하는 RFID 보안 장치.
  8. 제7항에 있어서,
    상기 암호화 키와 구별된 새로운 암호화 키를 보안 메모리에 저장하는 키 업데이트 수행부를 더 포함하고,
    상기 키 업데이트 수행부는 상기 보안 태그 리더기로부터 수신된 여러 패킷의 새로운 암호화 키에 대하여, 패킷별로 연산한 체크(CRC:Cyclic Redundancy Check)와 상기 보안 태그 리더기로부터 수신한 체크섬(CRC Checksum)이 동일한 경우, 상기 보안 메모리에 상기 새로운 암호화 키를 저장하는 것을 특징으로 하는 RFID 보안 장치.
  9. 제7항에 있어서,
    상기 암호화 및 복호화부는 상기 보안 태그 리더기로부터 수신한 암호화된 챌린지 데이터를 상기 출력 키를 이용하여 복호화하고, 상기 복호화된 챌린지 데이 터를 상기 출력 키를 이용하여 재암호화하여, 상기 보안 태그 리더기로 송신하는 암호화된 챌린지 응답 데이터를 생성하는 것을 특징으로 하는 RFID 보안 장치.
  10. 보안 태그로부터 수신된 보안 정보를 이용하여 암호화 키를 결정하고, 상기 결정된 암호화 키를 이용하여, 출력 키를 생성하는 단계;
    상기 보안 태그로부터 수신한 암호화된 데이터를 상기 출력 키를 이용하여 복호화하는 단계; 및
    상기 출력 키를 이용하여 상기 보안 태그로 송신하는 데이터를 암호화하고, 상기 보안 태그로 송신하는 단계
    를 포함하는 RFID 보안 방법.
  11. 암호화 키 및 보안 정보를 이용하여 출력 키를 생성하고, 상기 보안 정보를 보안 태그 리더기로 송신하는 단계;
    상기 출력 키를 이용하여 상기 보안 태그 리더기로 송신하는 데이터를 암호화하고, 상기 암호화된 데이터를 상기 보안 태그 리더기로 송신하는 단계; 및
    상기 보안 태그 리더기로부터 수신한 데이터를 상기 출력 키를 이용하여 복호화하는 단계
    를 포함하는 RFID 보안 방법.
KR1020080090230A 2008-07-21 2008-09-12 보안 기능을 갖는 rfid 보안 장치 및 방법 KR100963417B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/505,816 US8607333B2 (en) 2008-07-21 2009-07-20 Radio frequency identification (RFID) security apparatus having security function and method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20080070869 2008-07-21
KR1020080070869 2008-07-21

Publications (2)

Publication Number Publication Date
KR20100010010A true KR20100010010A (ko) 2010-01-29
KR100963417B1 KR100963417B1 (ko) 2010-06-15

Family

ID=41818248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080090230A KR100963417B1 (ko) 2008-07-21 2008-09-12 보안 기능을 갖는 rfid 보안 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100963417B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140063138A (ko) * 2012-11-16 2014-05-27 한국전자통신연구원 Rfid 태그 및 rfid 태그의 키 갱신 방법
US8878650B2 (en) 2010-12-23 2014-11-04 Electronics And Telecommunications Research Institute RFID security reader
US9054881B2 (en) 2010-05-14 2015-06-09 Electronics And Telecommunications Research Institute Radio frequency identification (RFID) tag and interrogator for supporting normal mode and secure mode, and operation method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101470053B1 (ko) * 2010-05-14 2014-12-11 한국전자통신연구원 일반모드 및 보안모드를 지원하는 rfid 태그, 인터로게이터, 및 그의 동작 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100479260B1 (ko) * 2002-10-11 2005-03-31 한국전자통신연구원 무선 데이터의 암호 및 복호 방법과 그 장치
KR100651744B1 (ko) 2005-11-10 2006-12-01 한국전자통신연구원 다중 무선주파수 식별자 단일화 장치 및 그 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9054881B2 (en) 2010-05-14 2015-06-09 Electronics And Telecommunications Research Institute Radio frequency identification (RFID) tag and interrogator for supporting normal mode and secure mode, and operation method thereof
US8878650B2 (en) 2010-12-23 2014-11-04 Electronics And Telecommunications Research Institute RFID security reader
KR20140063138A (ko) * 2012-11-16 2014-05-27 한국전자통신연구원 Rfid 태그 및 rfid 태그의 키 갱신 방법

Also Published As

Publication number Publication date
KR100963417B1 (ko) 2010-06-15

Similar Documents

Publication Publication Date Title
US8607333B2 (en) Radio frequency identification (RFID) security apparatus having security function and method thereof
JP3999655B2 (ja) レベル化された機密保護があるアクセス制御のための方法及び装置
EP2456121B1 (en) Challenge response based enrollment of physical unclonable functions
US9225526B2 (en) Multifactor username based authentication
JP4763368B2 (ja) 通信カード、機密情報処理システム、機密情報転送方法およびプログラム
CN101019368B (zh) 使用分发cd将直接证明私钥传递给设备的方法
JP2012050066A (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
JP2004534333A (ja) コンピュータネットワークにおける分散データ処理に関する統合された保護方法及びシステム
CN111614621B (zh) 物联网通信方法和系统
JP2004030611A (ja) 通信パスワードをリモートで変更するための方法
CN110381055B (zh) 医疗供应链中的rfid系统隐私保护认证协议方法
CN113114475B (zh) 基于比特自检puf身份认证系统及协议
CN113079001B (zh) 密钥更新方法、信息处理设备及密钥更新装置
JP5383698B2 (ja) 軽量アクセス認証方法、及びシステム
CN102843232A (zh) 生成安全装置密钥
US6904150B1 (en) Cryptographic method and system for double encryption of messages
KR100963417B1 (ko) 보안 기능을 갖는 rfid 보안 장치 및 방법
JPWO2019142307A1 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
US20100014673A1 (en) Radio frequency identification (rfid) authentication apparatus having authentication function and method thereof
WO2015094114A1 (en) Entity authentication in network
JP5622668B2 (ja) アプリケーション認証システム、アプリケーション認証方法
CN112182551B (zh) Plc设备身份认证系统和plc设备身份认证方法
CN112291058A (zh) 一种管理系统的通讯方法及管理系统
KR101428665B1 (ko) Aes-otp기반의 보안 시스템 및 방법
CN107171784B (zh) 突发环境事件应急指挥调度方法及系统

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 8