KR100867778B1 - Method for secure data transmission - Google Patents

Method for secure data transmission Download PDF

Info

Publication number
KR100867778B1
KR100867778B1 KR1020070020481A KR20070020481A KR100867778B1 KR 100867778 B1 KR100867778 B1 KR 100867778B1 KR 1020070020481 A KR1020070020481 A KR 1020070020481A KR 20070020481 A KR20070020481 A KR 20070020481A KR 100867778 B1 KR100867778 B1 KR 100867778B1
Authority
KR
South Korea
Prior art keywords
tag
reader
pin
epc
end server
Prior art date
Application number
KR1020070020481A
Other languages
Korean (ko)
Other versions
KR20080079886A (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 KR1020070020481A priority Critical patent/KR100867778B1/en
Publication of KR20080079886A publication Critical patent/KR20080079886A/en
Application granted granted Critical
Publication of KR100867778B1 publication Critical patent/KR100867778B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • G06K17/0029Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations arrangements or provisious for transferring data to distant stations, e.g. from a sensing device the arrangement being specially adapted for wireless interrogation of grouped or bundled articles tagged with wireless record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0003Automatic card files incorporating selecting, conveying and possibly reading and/or writing operations
    • G06K17/0006Automatic card files incorporating selecting, conveying and possibly reading and/or writing operations with random access selection of a record carrier from the card-file, e.g. the carriers are suspended on the selection device which in part of the card magazine
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3

Abstract

EPCglobal Class-1 Gen-2의 세션 절차를 변경하지 않고 사용할 수 있는 안전한 데이터 전송 방법이 제공된다. 리더가 쿼리(Query)를 요청하면, 태그는 의사난수인 RT32를 발생시킨다. 태그에서 의사난수 RT32를 이용하여 M1을 계산한 후에 M1을 리더에게 전송한다. 태그로부터 M1을 수신하면 리더는 새로운 의사난수 RR32를 발생시키고, M1에 대한 ACK와 RR32를 태그에게 전송한다.태그는 RR32를 이용하여 M2, M3, E를 계산하고 PC, E, CRC16을 리더로 전송한다. 리더는 E, M1, RR32를 백 엔드 서버로 전송한다. 백 엔드 서버에서 EPC(Electronic Product Code)를 찾고, EPC를 찾으면 리더에게 해당되는 태그의 정보를 리더로 전송한다. 리더가 태그에게 메모리 삭제, 쓰기, 읽기 명령이나 킬(Kill) 명령을 하고자 하는 경우에는, 리더가 해당 태그의 PIN을 백 엔드 서버로 요청하면 백 엔드 서버는 해당되는 PIN을 찾아서 P값을 계산하고, 이를 리더에게 전송한다. 리더는 수신한 P값을 태그로 전달하고, 태그는 P

Figure 112007017474093-pat00001
M3를 계산하여, 해당 값을 메모리에 기 저장된 PIN과 비교한다. 비교 결과, 해당 PIN이 정당한 PIN이면 명령을 수행한다. A secure data transmission method is provided that can be used without changing the session procedure of EPCglobal Class-1 Gen-2. When the reader requests a query, the tag generates a pseudo-random RT32. After calculating M1 using pseudo random number RT32 in the tag, send M1 to the reader. Upon receiving M1 from the tag, the reader generates a new pseudo-random number RR32, and sends the ACK and RR32 for M1 to the tag.The tag calculates M2, M3, E using RR32, and PC, E, CRC16 to the reader. send. The reader sends E, M1 and RR32 to the back end server. The EPC (Electronic Product Code) is found on the back-end server, and when the EPC is found, the reader sends the tag information to the reader. If a reader wants to delete, write, read, or kill a tag, the reader requests the tag's PIN from the back-end server, which finds the corresponding PIN and calculates the P value. , Send it to the reader. The reader sends the received P value to the tag, and the tag is P
Figure 112007017474093-pat00001
Calculate M3 and compare the value with the PIN already stored in memory. As a result of the comparison, if the corresponding PIN is a valid PIN, the command is executed.

EPC, PIN, 데이터, 원 타임 태그, 암호화 EPC, PIN, Data, One Time Tag, Encryption

Description

RFID 시스템에서의 안전한 데이터 전송{Method for secure data transmission}Secure data transmission in RFID system

도 1은 종래의 RFID 시스템에서의 데이터 전송 과정을 도시한 도면이다.1 is a diagram illustrating a data transmission process in a conventional RFID system.

도 2는 본 발명의 RFID 시스템에서의 데이터 전송과정을 도시한 도면이다.2 is a diagram illustrating a data transmission process in the RFID system of the present invention.

도 3은 본 발명의 RFID 시스템에서의 프로토콜 환경을 도시한 도면이다.3 is a diagram illustrating a protocol environment in the RFID system of the present invention.

<도면의 주요 부분에 관한 부호의 설명><Explanation of symbols on main parts of the drawings>

백 엔드 서버 - 303 리더 - 306Back End Servers-303 Readers-306

태그 - 309Tags-309

본 발명은 RFID 시스템에서의 안전한 데이터 전송 방법에 관한 것이다.The present invention relates to a method of secure data transmission in an RFID system.

RFID(Radio Frequency Identification) 시스템은 칩이 내장된 태그를 사물에 부착하여 그 칩에 저장된 정보를 무선주파수(Radio Frequency)로 자동 인식할 수 있도록 하는 시스템이다. RFID 시스템은 무선 자동 인식, 정보, 저장 능력 등의 장 점으로 물류, 유통 관리 분야에서 바코드를 대체할 기술로 주목받고 있으며, 정보의 실시간 네트워크를 처리할 수 있는 특성을 가지고 있어서 유비쿼터스 시대에 여러 분야에서 편리하게 사용될 것으로 예상된다.RFID (Radio Frequency Identification) system is a system that attaches a tag embedded in a chip to an object to automatically recognize the information stored in the chip as a radio frequency (Radio Frequency). RFID system is attracting attention as a technology that can replace bar codes in logistics and distribution management with its advantages such as wireless automatic recognition, information, and storage capability.It has a characteristic that can process real-time network of information. It is expected to be used conveniently in.

일반적으로 RFID는 리더와 태그가 통신을 할 경우에 무선을 사용하기 때문에 도청, 트래픽 분석, 스푸핑 등 다양한 공격에 취약하다. 이러한 공격들은 태그 소유자의 민감한 정보를 유출시켜 프라이버시 침해를 일으킬 수 있으며, 태그 사용자와 태그의 정보를 연관시켜 사용자의 위치를 추적할 수 있다. 이러한 문제를 보완하기 위하여 태그의 특정 메모리 읽기, 쓰기, 삭제를 위한 접근을 제한하는 보안 방법들이 제안되었으나, 이러한 방법으로는 RFID 시스템에서 필요한 보안 요구사항들을 충분히 만족시키지 못하였다.In general, RFID uses radio when reader and tag communicate, so it is vulnerable to various attacks such as eavesdropping, traffic analysis, and spoofing. These attacks can lead to privacy breaches by exposing sensitive information of tag owners and correlating tag users with the information of the tag to track the user's location. In order to compensate for this problem, security methods for restricting access for reading, writing, and deleting a specific memory of a tag have been proposed, but this method does not sufficiently satisfy the security requirements of an RFID system.

도 1은 종래의 RFID 시스템에서의 데이터 전송 과정을 도시한 도면이다.1 is a diagram illustrating a data transmission process in a conventional RFID system.

EPCGlobal C1G2(Class1Gen2)는 ISO/IEC 18000-6(860 MHz-960MHz의 UHF 대역 RFID 통신) 국제표준으로 편입되었다. EPCGlobal C1G2는 태그는 리더로부터 전원공급을 받을 수 있는 수동 태그(Passive Tag)이고, UHF 밴드에서 통신하며 통신범위는 2~10m이며, 의사난수발생기(Pseudo-Random Number Generator)와 CRC(Cyclic Redundancy Code)의 기능이 제공되며, 보안을 위해서 Access PIN과 Kill PIN인 32비트 PIN이 제공되고, Access PIN의 경우 태그의 메모리를 읽고, 쓰고, 삭제를 할 때 사용되며 Kill는 Tag를 Kill할 때 사용되는 특징을 가지고 있다.EPCGlobal C1G2 (Class1Gen2) is incorporated into the international standard ISO / IEC 18000-6 (UHF-band RFID communication from 860 MHz to 960 MHz). The EPCGlobal C1G2 is a passive tag that can receive power from the reader, communicates in the UHF band, and has a communication range of 2 to 10m, a pseudo-random number generator and a cyclic redundancy code. ), And for security purposes, a 32-bit PIN, which is an Access PIN and a Kill PIN, is provided.In the case of an Access PIN, it is used to read, write, and delete the tag's memory, and Kill is used to kill the tag. Has characteristics.

리더가 태그에 저장된 데이터를 읽기 위해서 리더는 태그에게 쿼리(Query) 요청을 보낸다(단계 100). 요청을 받은 여러 개의 태그 중에 각각의 태그는 내장된 의사난수 발생기로부터 16비트 의사난수(RN_16)을 만든다(단계 103). 태그는 슬럿 카운터(Slot counter)에 의사난수(RN_16)을 입력하여 슬럿카운터를 작동시킨다(단계 106). 슬럿 카운터가 0이 되는지 여부에 따라(단계 109) 슬럿 카운터가 0이 되면(단계 109의 '예'), 그 순간에 태그는 의사난수(RN_16)를 리더에게 보내준다(단계 112). 리더는 받은 의사난수(RN_16)을 포함하는 ACK를 태그에게 보낸다(단계 115). 태그는 리더로부터 받은 ACK에 포함된 의사난수(RN_16)과 태그의 RN_16을 비교한다(단계 118). 비교 결과 서로 같으면(단계 118의 '예') 태그는 <PC(Protocol Control), EPC(Electronic Product Code), CRC16>을 리더에게 보내준다(단계 121). 여기서 PC는 태그의 물리적인 정보이며, CRC16은 PC와 EPC의 CRC 값이다.In order to read the data stored in the tag, the reader sends a query request to the tag (step 100). Of the several tags received, each tag generates a 16-bit pseudo-random number RN_16 from the built-in pseudo random number generator (step 103). The tag enters a pseudo random number (RN_16) into a slot counter to activate the slot counter (step 106). Depending on whether the slot counter goes to zero (step 109) and if the slot counter goes to zero (YES in step 109), at that moment the tag sends a pseudo random number (RN_16) to the leader (step 112). The reader sends to the tag an ACK containing the received pseudorandom number RN_16 (step 115). The tag compares the pseudo random number RN_16 included in the ACK received from the reader with the RN_16 of the tag (step 118). If the comparison result is the same (YES in step 118), the tag sends <PC (Protocol Control), EPC (Electronic Product Code), CRC16> to the reader (step 121). Where PC is the physical information of the tag, CRC16 is the CRC value of the PC and EPC.

리더가 태그에게 메모리 읽기, 쓰기, 삭제 명령이나 킬(Kill)명령을 하고 싶을 때는 이후에 절차를 추가로 시행한다. If the reader wants to read, write, delete, or kill the tag with memory, follow these additional steps.

리더는 RN_16을 포함하고 있는 Req_RN을 태그에게 보낸다(단계 124). 태그는 리더로부터 받은 Req_RN에 포함된 의사난수(RN_16)과 태그의 RN_16을 비교한다(단계 127). 서로 같으면(단계 127의 '예') 태그는 핸들(Handle)을 리더에게 넘겨주고 새로운 의사난수(RN_16')를 리더에게 보낸다(단계 130). 리더는 명령을 위한 PIN을 보내고, PIN을 보낼 경우에는 RN_16'과 XOR 하여 보내게 된다(단계 133). 이때, PIN은 32비트이며 PN_16'은 16비트이므로 RN_16'를 두 번 사용한다. 태그는 명령에 따라서 PIN을 비교하고 해당 명령을 수행한다(단계 136).The leader sends a Req_RN containing RN_16 to the tag (step 124). The tag compares the pseudo random number RN_16 included in Req_RN received from the reader with the RN_16 of the tag (step 127). If they are the same (YES in step 127), the tag passes the handle to the leader and sends a new pseudo random number RN_16 to the leader (step 130). The reader sends a PIN for the command and, when sending the PIN, sends an XOR with RN_16 '(step 133). At this time, since the PIN is 32 bits and PN_16 'is 16 bits, RN_16' is used twice. The tag compares the PIN according to the command and performs the command (step 136).

이러한 과정으로 EPC를 보내게 되면, EPCGlobal C1G2 태그 안에 저장되어있는 EPC를 공격자가 쉽게 알아낼 수 있다. 따라서, 공격자는 도청을 통해서 위조하 고자 하는 태그의 EPC를 알아내어 다른 EPCGlobal C1G2 태그의 메모리를 저장하여 리더가 EPC를 요구할 때 저장된 EPC를 내보내게 되며, EPCGlobal C1G2에는 EPC를 알아내는데 보안 인증절차가 없기 때문에 쉽게 위조된 태그를 만들 수 있다는 문제점이 있다. Sending an EPC this way makes it easy for an attacker to figure out the EPC stored in the EPCGlobal C1G2 tag. Therefore, the attacker finds the EPC of the tag to be forged through eavesdropping and saves the memory of other EPCGlobal C1G2 tags and sends out the stored EPCs when the reader requests the EPC. The problem with this is that you can easily create a fake tag.

또한, EPC로 상품으로 정보를 알려주는 서비스를 사용할 수 있기 때문에 누구든지 EPC만 있으면, 상품의 정보를 쉽게 알 수 있으며, 공격자가 해당 정보를 누출할 수 있는 문제점이 있다. 또한, 공격자가 도청으로 EPC를 기록하여 링크를 만들어, 사용자의 움직임을 알아낼 수 있으므로 추적 가능성이 있다는 문제점이 있다.In addition, since EPC can use a service that informs the information as a product, anyone with EPC, you can easily know the information of the product, there is a problem that the attacker can leak the information. In addition, there is a problem that the attacker can trace the EPC by tapping the EPC to make a link, thereby detecting the user's movement.

본 발명은 이러한 점을 감안하여 이루어진 것으로서, 위조, 정보유출, 추적 가능성에서 안전하며, PIN을 안전하게 사용할 수 있도록 하는 FID 시스템에서의 안전한 데이터 전송 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of this point, and an object of the present invention is to provide a secure data transmission method in a FID system that is safe from forgery, information leakage, and traceability, and enables a secure use of a PIN.

본 발명의 또 다른 목적은 EPCglobal Class-1 Gen-2의 세션 전차를 변경없이 사용할 수 있도록 함으로써 EPCglobal Class-1 Gen-2 어플리케이션에 적합한 RFID 시스템에서의 안전한 데이터 전송 방법을 제공하는 것이다.It is still another object of the present invention to provide a method for secure data transmission in an RFID system suitable for EPCglobal Class-1 Gen-2 applications by allowing an EPCglobal Class-1 Gen-2 session tank to be used without modification.

본 발명은 리더가 쿼리(Query)를 요청하면, 태그는 의사난수인 RT32를 발생 시킨다. 태그에서 의사난수 RT32를 이용하여 M1을 계산한 후에 M1을 리더에게 전송한다. 태그로부터 M1을 수신하면 리더는 새로운 의사난수 RR32를 발생시키고, M1에 대한 ACK와 RR32를 태그에게 전송한다.태그는 RR32를 이용하여 M2, M3, E를 계산하고 PC, E, CRC16을 리더로 전송한다. 리더는 E, M1, RR32를 백 엔드 서버로 전송한다. 백 엔드 서버에서 EPC(Electronic Product Code)를 찾고, EPC를 찾으면 리더에게 해당되는 태그의 정보를 리더로 전송한다.In the present invention, when the reader requests a query, the tag generates a pseudo random number RT32. After calculating M1 using pseudo random number RT32 in the tag, send M1 to the reader. Upon receipt of M1 from the tag, the reader generates a new pseudo-random number RR32 and sends the ACK and RR32 for M1 to the tag. send. The reader sends E, M1 and RR32 to the back end server. The EPC (Electronic Product Code) is found on the back-end server, and when the EPC is found, the reader sends the tag information to the reader.

리더가 태그에게 메모리 삭제, 쓰기, 읽기 명령이나 킬(Kill) 명령을 하고자 하는 경우에는, 리더가 해당 태그의 PIN을 백 엔드 서버로 요청하면 백 엔드 서버는 해당되는 PIN을 찾아서 P값을 계산하고, 이를 리더에게 전송한다. 리더는 수신한 P값을 태그로 전달하고, 태그는 P

Figure 112007017474093-pat00002
M3를 계산하여, 해당 값을 메모리에 기 저장된 PIN과 비교한다. 비교 결과, 해당 PIN이 정당한 PIN이면 명령을 수행한다.If a reader wants to delete, write, read, or kill a tag, the reader requests the tag's PIN from the back-end server, which finds the corresponding PIN and calculates the P value. , Send it to the reader. The reader sends the received P value to the tag, and the tag is P
Figure 112007017474093-pat00002
Calculate M3 and compare the value with the PIN already stored in memory. As a result of the comparison, if the PIN is a valid PIN, the command is executed.

이때, M1은 RT32

Figure 112007017474093-pat00003
PIN1i이며, M2=f(RR32)
Figure 112007017474093-pat00004
PIN2i
Figure 112007017474093-pat00005
RT32, M3 = f(M2)이고, E=(Ti+Si)
Figure 112007017474093-pat00006
EPCi 에 의하여 계산되며, T는 0 || RT32 || M2 || M3 에서 마지막 비트를 제거하여 추출해낸다.At this time, M1 is RT32
Figure 112007017474093-pat00003
PIN1i, M2 = f (RR32)
Figure 112007017474093-pat00004
PIN2i
Figure 112007017474093-pat00005
RT32, M3 = f (M2), E = (Ti + Si)
Figure 112007017474093-pat00006
Calculated by EPCi, where T is 0 || RT32 || M2 || Extract the last bit from M3.

EPC는, 각각의 EPCj, Sj, PIN1i, PIN2j에 대해서, RT32'=M1

Figure 112007017474093-pat00007
PIN1i, M2'=f(RR32)
Figure 112007017474093-pat00008
PIN2j
Figure 112007017474093-pat00009
RT32', M3' = f(M2')를 계산하고, 0 || RT32' || M2' || M3' 에서 마지막 비트를 제거하여 T'를 추출하여 E =(T'+Sj)
Figure 112007017474093-pat00010
EPCj가 되는 EPC를 찾아 추출해낸다. 여기서
Figure 112007017474093-pat00011
은 XOR 함수이고 ||는 연접함수이다. 또한, P는 M3
Figure 112007017474093-pat00012
PIN에 의하여 계산된다.EPC is RT32 '= M1 for each EPCj, Sj, PIN1i, PIN2j
Figure 112007017474093-pat00007
PIN1i, M2 '= f (RR32)
Figure 112007017474093-pat00008
PIN2j
Figure 112007017474093-pat00009
RT32 ', M3' = f (M2 '), 0 || RT32 '|| M2 '|| Extract T 'by removing the last bit from M3', where E = (T '+ Sj)
Figure 112007017474093-pat00010
Find and extract the EPC that is the EPCj. here
Figure 112007017474093-pat00011
Is the XOR function and || is the concatenation function. Also, P is M3
Figure 112007017474093-pat00012
Calculated by the PIN.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 관하여 상세하게 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 RFID 시스템에서의 데이터 전송과정을 도시한 도면이며, 도 3은 본 발명의 RFID 시스템에서의 프로토콜 환경을 도시한 도면이다.2 is a view showing a data transmission process in the RFID system of the present invention, Figure 3 is a diagram showing a protocol environment in the RFID system of the present invention.

본 발명의 프로토콜에서는 리더(Reader)(306)와 백 엔드 서버(Back end server)(303) 사이의 채널을 안전하고, 리더(306)와 태그(Tag)(309) 사이의 채널은 안전하지 않은 것으로 가정한다. 본 발명의 프로토콜은 EPC는 96비트를 사용하는 것으로 가정하고 EPCglobal C1G2의 세션 절차를 따른다. 프로토콜의 각각의 태그(309) Ti는 EPCi, PIN1i, PIN2i, Si(i

Figure 112007017474093-pat00013
(1,...,n))을 저장하고 있다. Si는 96비트 비밀정보이며 맨 처음 비트가 0이다. 백 엔드 서버(303)에는 각각의 태그(309)에 대해서 EPCj, PIN1j, PIN2j, Sj(j
Figure 112007017474093-pat00014
(1,...,n))을 저장하고 있다.In the protocol of the present invention, the channel between the reader 306 and the back end server 303 is secure, and the channel between the reader 306 and the tag 309 is not secure. Assume that The protocol of the present invention assumes that EPC uses 96 bits and follows the session procedure of EPCglobal C1G2. Each tag 309 Ti of the protocol is represented by EPCi, PIN1i, PIN2i, Si (i
Figure 112007017474093-pat00013
(1, ..., n)). Si is a 96-bit secret and the first bit is zero. The back-end server 303 has EPCj, PIN1j, PIN2j, Sj (j for each tag 309).
Figure 112007017474093-pat00014
(1, ..., n)).

본 발명의 프로토콜에서 사용할 기호는 다음과 같다.Symbols to be used in the protocol of the present invention are as follows.

Figure 112007017474093-pat00015
Figure 112007017474093-pat00015

리더(306)가 태그(309)에 저장된 데이터를 읽기 위하여 태그(309)에게 쿼 리(Query) 요청을 보낸다(단계 200). 태그(309) Ti는 의사난수 함수인 f를 사용하여 32비트 의사난수인 RT32를 발생시킨다. 그리고 태그(309)는 M1=RT32

Figure 112007017474093-pat00016
PINi을 계산한 후에(단계 203) M1을 리더(306)에게 보낸다(단계 206). 여기에서
Figure 112007017474093-pat00017
는 exclusive OR를 나타낸다.The reader 306 sends a query request to the tag 309 to read the data stored in the tag 309 (step 200). Tag 309 Ti generates a 32-bit pseudorandom RT32 using a pseudorandom function f. And the tag 309 is M1 = RT32
Figure 112007017474093-pat00016
After calculating the PINi (step 203), M1 is sent to the reader 306 (step 206). From here
Figure 112007017474093-pat00017
Denotes exclusive OR.

리더(306)는 새로운 32비트 의사난수 RR32를 발생시킨다. 그리고 리더(306)는 M1에 대한 ACK와 RR32를 태그(309)에게 보낸다(단계 209). 태그(309)는 M2, E, PC등을 계산하여(단계 212) PC, E, CRC16을 리더(306)에게 전송한다(단계 215). 이때, M2 = f(RR32)

Figure 112007017474093-pat00018
PIN2i
Figure 112007017474093-pat00019
RT32, M3= f(M2)에 의해서 계산이 된다. 또한 E=(T+Si)
Figure 112007017474093-pat00020
EPCi 에 의해서 계산이 되는데, 여기서 T는 0|| RT32 || M2 || M3에서 마지막 비트를 제거하여 만들어낸다. 여기에서 ||는 연접 함수이다 여기서 T를 만드는 이유는 원 타임 패드(one time pad; 일회용 암호)와 같은 효과를 내가 위해서이다. 원 타임 패드는 평문의 길이가 L인 임의의 문자열로 이루어져 있을 때, 키의 길이 역시 L인 임의의 문자열이고 각 문자는 출현 빈도가 모두 같도록 선택하여 평문을 암호화하고 평문의 문자열과 키의 문자열을 서로 더하여 암호문을 생성함으로써 암호를 만드는 방법이다. 어떤 의미에서는 평문에 키 단어를 사용하는 비제네르 암호라고 할 수도 있는데, 원 타임 패드는 키를 완전한 무작위성을 가지도록 선택하므로 어떠한 수학적 통계적 특성이 존재하지 않기 때문에 공격자의 입장에서 암호문을 아무리 분석하려고 해도 키를 추론할만한 단서를 발견할 수 없다는 장점이 있다. T는 결국에 난수와 비슷한 성질을 가진 스트링이 되는데 원 타임 패드의 키 와 같은 역할을 하게 되며, 여기서 마지막 비트를 제거하고 앞에 0비트를 붙인 이유는 덧셈 연산 중에 생길수 있는 캐리(carry)를 고려해서이다. 여기서, PC는 태그의 물리적인 정보이며 작동중인 EPC 태그의 하위에 16 비트의 PC가 저장된다. 즉 PC의 첫번째 비트부터 다섯번째 비트까지 <EPC+PC>의 전체 길이를 가지는 태그의 하위 비트에 저장이 된다. Reader 306 generates a new 32-bit pseudorandom number RR32. Reader 306 then sends ACK and RR32 for M1 to tag 309 (step 209). The tag 309 calculates M2, E, PC, etc. (step 212) and sends the PC, E, CRC16 to the reader 306 (step 215). Where M2 = f (RR32)
Figure 112007017474093-pat00018
PIN2i
Figure 112007017474093-pat00019
It is calculated by RT32, M3 = f (M2). Also E = (T + Si)
Figure 112007017474093-pat00020
Calculated by EPCi, where T is 0 || RT32 || M2 || It is created by removing the last bit from M3. Here || is a concatenation function. The reason for creating T here is for me to have the same effect as a one time pad. The one time pad consists of an arbitrary string of length L in plaintext, an arbitrary string of key length L, and each character is chosen so that the frequency of occurrence is the same, encrypting the plaintext and the string of plaintext and key Add a password to each other to create a ciphertext. In a sense, it could be called a Bigener cipher that uses key words in plain text. One-time pads choose keys to be completely random, so no mathematical statistical features exist, so no matter how hard an attacker tries to analyze the ciphertext, The advantage is that no clue can be found to deduce the key. T eventually becomes a string with a random number-like nature, which acts like a key on the one-time pad, where the last bit is removed and the leading zero is taken into account in the carry during the add operation. to be. Here, the PC is the physical information of the tag, and the 16-bit PC is stored under the EPC tag in operation. That is, the first bit to the fifth bit of the PC are stored in the lower bit of the tag having the total length of <EPC + PC>.

즉, 종래에 공격자는 각 세션마다 E, M1, RR32의 정보를 얻어 도청을 하였으나 본 발명에서는 각 세션의 (T+Si)를 주어 계산을 하여 이것으로부터 공격자가 EPC를 얻기 위해서는 (T+Si)값을 예측하여야 할 수 있도록 함으로써 도청을 쉽게 하지 못하도록 하였다. 여기서, Si는 태그의 비밀 정보이고 T는 리더(306)와 태그(309)가 발생시킨 각각의 난수로 만들어지므로 예측하기가 무척 힘들게 된다.That is, in the prior art, the attacker eavesdropped by obtaining information of E, M1, and RR32 for each session. However, in the present invention, in order to calculate (T + Si) by giving (T + Si) of each session, the attacker obtains EPC from (T + Si). By making it possible to predict the value, the eavesdropping was not easy. Here, Si is secret information of the tag and T is made of each random number generated by the reader 306 and the tag 309, which makes it very difficult to predict.

리더(306)는 E, M1, RR32를 백 엔드 서버(303)에게 보낸다(단계 218). 백 엔드 서버(303)는 EPC(Electronic Product Code)를 찾게 되는데(단계 221), EPC는 다음과 같은 과정으로 찾게 된다. 먼저 각각의 EPCj, Sj, PIN1j, PIN2j에 대해서 RT32'와 M2'를 계산한다. 이때 RT32'는 M1

Figure 112007017474093-pat00021
PIN1j에 의해서 계산되고 M2'=f(RR32)
Figure 112007017474093-pat00022
PIN2j
Figure 112007017474093-pat00023
RT32'에 의해서 계산되고, M3' = f(M2')에 의해서 계산된다. 이때
Figure 112007017474093-pat00024
는 XOR 함수이고, f는 32비트 의사난수 발생기이다. 0 || RT32' || M2' || M3'에서 마지막 비트를 제거하여 T'를 만들고, 이를 이용하여 E=(T'+Sj)
Figure 112007017474093-pat00025
EPCj가 되는 EPC를 찾게 된다(단계 221). 해당되는 EPC를 찾으면 리더(306)에게 해당되는 태그(309)의 정보를 전달한다(단계 224).Reader 306 sends E, M1, RR32 to back-end server 303 (step 218). The back end server 303 finds an electronic product code (EPC) (step 221), and the EPC finds the following process. First, RT32 'and M2' are calculated for each of EPCj, Sj, PIN1j, and PIN2j. RT32 'is M1
Figure 112007017474093-pat00021
Calculated by PIN1j and M2 '= f (RR32)
Figure 112007017474093-pat00022
PIN2j
Figure 112007017474093-pat00023
Calculated by RT32 ', by M3' = f (M2 '). At this time
Figure 112007017474093-pat00024
Is the XOR function, and f is a 32-bit pseudorandom number generator. 0 || RT32 '|| M2 '|| Remove the last bit from M3 'to make T', and use it as E = (T '+ Sj)
Figure 112007017474093-pat00025
EPC to be EPCj is found (step 221). If a corresponding EPC is found, information of the corresponding tag 309 is transmitted to the reader 306 (step 224).

리더(306)가 태그(309)에게 메모리 삭제, 쓰기, 읽기 명령이나 킬(Kill) 명령을 하고자 할 때에는 다음을 수행하게 된다.When the reader 306 wants to delete, write, read, or kill a tag 309, the following is performed.

리더(306)는 백 엔드 서버(303)에게 태그(309)의 PIN을 요청한다(단계 227). 백 엔드 서버(303)는 해당되는 PIN을 찾아서, P= M3

Figure 112007017474093-pat00026
PIN을 계산하여(단계 230) 리더(306)에게 전달한다(단계 233). 즉, PIN은 태그(309)가 생성한 난수를 가지고 가공된 M3와 XOR되기 때문에 안전하게 전달될 수 있으며, M3는 공격자가 예측하기 힘든 값이며 32비트이기 때문에 32비트인 PIN과 한번에 연산이 가능하다. The reader 306 requests the PIN of the tag 309 from the back end server 303 (step 227). The back end server 303 finds the corresponding PIN, and P = M3
Figure 112007017474093-pat00026
The PIN is calculated (step 230) and forwarded to the reader 306 (step 233). That is, the PIN can be delivered safely because it is XORed with M3 processed with the random number generated by the tag 309. Since M3 is a 32-bit value that is hard to predict by an attacker, the PIN can be operated at once with a 32-bit PIN. .

다음은 제안된 프로토콜에서의 안전(O) 불안전(X)을 나타낸 분석표이다.The following table shows the safety (O) instability (X) in the proposed protocol.

Figure 112007017474093-pat00027
Figure 112007017474093-pat00027

리더(306)는 태그(309)에게 P를 전달하고(단계 236) 태그(309)는 P

Figure 112007017474093-pat00028
M3를 계산하여(단계 239), 메모리에 저장된 PIN과 비교하여(단계 241), 해당 PIN이 정당한 PIN이면(단계 244의 '예') 명령을 수행하고(단계 247), 그렇지 않으면(단계 244의 '아니오') 명령을 수행하지 않는다(단계 250).Reader 306 delivers P to tag 309 (step 236) and tag 309 passes P
Figure 112007017474093-pat00028
Compute M3 (step 239) and compare it to the PIN stored in memory (step 241), if the PIN is a legitimate PIN (YES in step 244) and execute the command (step 247), otherwise (step 244). 'No') does not perform the command (step 250).

이상, 본 발명을 몇가지 예를 들어 설명하였지만, 본 발명은 특정 실시예에 한정되는 것은 아니다. 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자라 면 본 발명의 사상에서 벗어나지 않으면서 다양한 수정과 변경을 가할 수 있음을 이해할 것이다.As mentioned above, although this invention was demonstrated to the several example, this invention is not limited to a specific Example. Those skilled in the art will appreciate that various modifications and changes can be made without departing from the spirit of the invention.

본 발명은 위조, 정보유출, 추적 가능성에서 안전하며, PIN을 안전하게 사용할 수 있도록 하는 RFID 시스템에서의 안전한 데이터 전송 방법을 제공한 효과를 가진다.The present invention has the effect of providing a secure data transmission method in an RFID system that is safe from forgery, information leakage, traceability, and can safely use a PIN.

본 발명의 또 다른 효과는 EPCglobal Class-1 Gen-2의 세션 전차를 변경없이 사용할 수 있도록 함으로써 EPCglobal Class-1 Gen-2 어플리케이션에 적합한 RFID 시스템에서의 안전한 데이터 전송 방법을 제공한 것이다.Another effect of the present invention is to provide a secure data transmission method in an RFID system suitable for EPCglobal Class-1 Gen-2 applications by allowing the EPCglobal Class-1 Gen-2 session tank to be used without modification.

Claims (7)

리더가 쿼리(Query)를 요청하면, 태그가 32비트 의사난수인 RT32를 생성하는 제1단계;A first step of generating an RT32 tag having a 32-bit pseudorandom number when the reader requests a query; 태그의 엑세스(access) PIN을 PIN1i라 할 때, 태그에서 상기 RT32를 이용하여 M1 = RT32
Figure 112008026525079-pat00043
PIN1i을 계산한 후 상기 M1을 리더로 전송하는 제2단계;
When the access PIN of the tag is called PIN1i, M1 = RT32 using the RT32 in the tag.
Figure 112008026525079-pat00043
Calculating a PIN1i and transmitting the M1 to a reader;
태그로부터 상기 M1을 수신한 리더가 새로운 32비트 의사난수인 RR32를 생성하고, 상기 M1에 대한 ACK와 상기 RR32를 태그로 전송하는 제3단계;A third step of receiving a M1 from a tag, generating a new 32-bit pseudo-random number RR32, and transmitting an ACK for the M1 and the RR32 to a tag; f함수를 의사난수발생기라 하고, 태그의 킬(kill) PIN을 PIN2i라 하고, 태그에 기록된 제품코드를 EPCi(Electronic Product Code)라 하고, 태그의 96비트 비밀정보를 Si라 하고
Figure 112008026525079-pat00044
를 XOR 함수라 할 때, 태그는 상기 RR32를 이용하여 M2 = f(RR32)
Figure 112008026525079-pat00045
PIN2i
Figure 112008026525079-pat00046
RT32, M3 = f(M2), E = (T+Si)
Figure 112008026525079-pat00047
EPCi를 계산하여 상기 E, PC(Protocol Control), 상기 PC와 EPC의 CRC값인 CRC16을 리더로 전송하는 제4단계;
The function is called pseudo random number generator, the kill PIN of the tag is called PIN2i, the product code recorded on the tag is called EPCi (Electronic Product Code), and the 96-bit secret information of the tag is called Si.
Figure 112008026525079-pat00044
When X is a function called XOR, the tag uses the RR32 as M2 = f (RR32).
Figure 112008026525079-pat00045
PIN2i
Figure 112008026525079-pat00046
RT32, M3 = f (M2), E = (T + Si)
Figure 112008026525079-pat00047
A fourth step of calculating EPCi and transmitting E, PC (Protocol Control), and CRC16, which is a CRC value between the PC and the EPC, to a reader;
리더가 상기 E, M1, RR32를 백 엔드 서버로 전송하는 제5단계;A fifth step of a reader transmitting the E, M1, and RR32 to a back-end server; 백 엔드 서버에서 EPC(Electronic Product Code)를찾고, EPC를 찾으면 리더에게 해당되는 태그의 정보를 전송하는 제6단계The sixth step is to find the EPC (Electronic Product Code) on the back-end server and send the reader the information of the corresponding tag when the EPC is found. 를 포함하고,Including, 상기 제4단계에서 상기 T는 0 || RT32 || M2 || M3에서 마지막 비트를 제거함으로써 계산되며, 여기서 ||는 연접 함수임을 특징으로 하는 RFID 시스템에서의 안전한 데이터 전송방법.In the fourth step, T is 0 || RT32 || M2 || Calculated by removing the last bit in M3, where || is a concatenated function.
제 1항에 있어서, The method of claim 1, 상기 제6단계 이후에 리더가 태그에게 메모리 삭제, 쓰기, 읽기 명령이나 킬(Kill) 명령을 하고자 하는 경우에는,If the reader wants to delete, write, read or kill the tag after the sixth step, 리더가 해당 태그의 PIN을 백 엔드 서버로 요청하면 백 엔드 서버는 해당되는 PIN을 찾아서 P = M3
Figure 112008026525079-pat00048
PIN을 계산하고, 상기 P를 리더로 전송하는 제7단계;
When the reader requests the tag's PIN from the back-end server, the back-end server finds the corresponding PIN and P = M3
Figure 112008026525079-pat00048
Calculating a PIN and transmitting the P to a reader;
리더는 수신한 P를 태그로 전달하고, 태그는 P
Figure 112008026525079-pat00049
M3를 계산한 후, 해당 값을 메모리에 기 저장된 PIN과 비교하는 제8단계;
The reader passes the received P as a tag, and the tag is P
Figure 112008026525079-pat00049
An eighth step of calculating M3 and comparing the value with a PIN previously stored in a memory;
비교 결과, 해당 PIN이 정당한 PIN이면 명령을 수행하는 제9단계The ninth step of executing the command if the corresponding PIN is a valid PIN 를 더 포함하는 것을 특징으로 하는 RFID 시스템에서의 안전한 데이터 전송 방법.Safe data transmission method in the RFID system, characterized in that it further comprises.
삭제delete 삭제delete 삭제delete 삭제delete 제 1항에 있어서,The method of claim 1, 상기 EPC는, 백 엔드 서버에 저장된 각 태그에 대한 제품코드를 EPCj, 96비트 비밀코드를 Sj, 엑세스(access) PIN을 PIN1j, 킬(kill) PIN을 PIN2j라 할 때,When the EPC is a product code for each tag stored in the back-end server, EPCj, 96-bit secret code Sj, access PIN PIN1j, kill PIN PIN2j, RT32' = M1
Figure 112008026525079-pat00050
PIN1j, M2' = f(RR32)
Figure 112008026525079-pat00051
PIN2j
Figure 112008026525079-pat00052
RT32', M3' = f(M2')를 계산하는 단계;
RT32 '= M1
Figure 112008026525079-pat00050
PIN1j, M2 '= f (RR32)
Figure 112008026525079-pat00051
PIN2j
Figure 112008026525079-pat00052
Calculating RT32 ', M3' = f (M2 ');
0 || RT32' || M2' || M3'에서 마지막 비트를 제거하여 T'을 계산하는 단계;0 || RT32 '|| M2 '|| Calculating T 'by removing the last bit in M3'; E = (T' + Sj)
Figure 112008026525079-pat00053
EPCj가 되는 EPC를 찾는 단계
E = (T '+ Sj)
Figure 112008026525079-pat00053
Steps to find an EPC that becomes an EPCj
에 의해 추출되어지는 것을 특징으로 하는 RFID 시스템에서의 안전한 데이터 전송 방법.Secure data transmission method in the RFID system, characterized in that extracted by.
KR1020070020481A 2007-02-28 2007-02-28 Method for secure data transmission KR100867778B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070020481A KR100867778B1 (en) 2007-02-28 2007-02-28 Method for secure data transmission

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070020481A KR100867778B1 (en) 2007-02-28 2007-02-28 Method for secure data transmission

Publications (2)

Publication Number Publication Date
KR20080079886A KR20080079886A (en) 2008-09-02
KR100867778B1 true KR100867778B1 (en) 2008-11-10

Family

ID=40020657

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070020481A KR100867778B1 (en) 2007-02-28 2007-02-28 Method for secure data transmission

Country Status (1)

Country Link
KR (1) KR100867778B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785810B1 (en) 2006-12-05 2007-12-13 한국전자통신연구원 Apparatus and method for rfid data protection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100785810B1 (en) 2006-12-05 2007-12-13 한국전자통신연구원 Apparatus and method for rfid data protection

Also Published As

Publication number Publication date
KR20080079886A (en) 2008-09-02

Similar Documents

Publication Publication Date Title
Duc et al. Enhancing security of EPCglobal Gen-2 RFID tag against traceability and cloning
US8368516B2 (en) Secure data exchange with a transponder
Cho et al. Consideration on the brute-force attack cost and retrieval cost: A hash-based radio-frequency identification (RFID) tag mutual authentication protocol
JP5401507B2 (en) Information confirmation method for purchased goods using wireless identification system, recording medium thereof, and system thereof
CN103020671B (en) A kind of radio frequency identification mutual authentication method based on hash function
CN101194274B (en) Method and device for increased rfid transmission security
Lee et al. RFID mutual authentication scheme based on synchronized secret information
CN104184733B (en) A kind of RFID lightweight mutual authentication methods encoded based on CRC
CN101271534A (en) RFID label and reading device thereof, reading system and safety authentication method
Dimitriou rfidDOT: RFID delegation and ownership transfer made simple
CN103532718A (en) Authentication method and authentication system
Li et al. Security and privacy on authentication protocol for low-cost RFID
KR100605138B1 (en) Authorization method in radio frequency identification system
CN104700125A (en) AES encryption and verification of ultra high frequency radio identification system
Ranasinghe et al. Confronting security and privacy threats in modern RFID systems
Chang et al. A secure RFID mutual authentication protocol conforming to EPC class 1 generation 2 standard
Kim et al. Secure EPCglobal Class-1 Gen-2 RFID system against security and privacy problems
KR20090072840A (en) Security system of tag data with rfid middleware and method for processing the same
KR100867778B1 (en) Method for secure data transmission
Caballero-Gil et al. Lightweight authentication for RFID used in VANETs
KR100980320B1 (en) Method of authenticating tag information transmission in RFID environment, Method of tag information transmision in RFID environment, Apparatus and System using by the same
Lee et al. RFID mutual authentication protocol with unclonable RFID-tags
KR100951527B1 (en) Encrypting method for id of rfid tag, authenticating method of rfid tag and rfid authenticating system using the same
KR101053636B1 (en) Encryption/decryption method and system for rfid tag and reader using multi algorithm
KR100618316B1 (en) Rfid authentication system and its method

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20121004

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee