KR100720738B1 - 고주파 무선 태그에 기밀성, 상호인증, 무결성을 제공하는 방법 - Google Patents

고주파 무선 태그에 기밀성, 상호인증, 무결성을 제공하는 방법 Download PDF

Info

Publication number
KR100720738B1
KR100720738B1 KR1020050038148A KR20050038148A KR100720738B1 KR 100720738 B1 KR100720738 B1 KR 100720738B1 KR 1020050038148 A KR1020050038148 A KR 1020050038148A KR 20050038148 A KR20050038148 A KR 20050038148A KR 100720738 B1 KR100720738 B1 KR 100720738B1
Authority
KR
South Korea
Prior art keywords
smart card
driving program
information
encrypted
rfid tag
Prior art date
Application number
KR1020050038148A
Other languages
English (en)
Other versions
KR20060045951A (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 임종인
Publication of KR20060045951A publication Critical patent/KR20060045951A/ko
Application granted granted Critical
Publication of KR100720738B1 publication Critical patent/KR100720738B1/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10297Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092

Abstract

고주파를 이용하는 무선 태그(RFID tag)는 정보를 저장하거나, 읽어낼 때, 데이터가 다른 포맷으로 변조가 안 되고 그대로 저장/판독(즉, 암호화나 복호화가 안된다)되기 때문에, 이 무선 태그의 내용을 읽어내거나, 저장할 수 있는 기계(일반 RFID 판독기)는 어떤 것을 사용하던 간에, 쉽게 내용을 바꾸거나, 또는 내용이 밝혀져서는 안 되는 경우에도, 쉽게 내용을 알아낼 수 있다. 따라서 본 발명은 쉽게 변조되고, 또 내용이 그대로 밝혀 질 수 있는 무선 태그를 대상으로, 적법한 인증을 거치지 않은 사람이나, 기계 또는 컴퓨터 프로그램을 사용하여, 완벽한 기밀성과 상호인증, 무결성을 보장하는 방법을 제안한다.
Figure 112005023979818-pat00001
무선 태그, RFID, 무결성, 상호 인증, 스마트카드, USB Key, 진위 판정

Description

고주파 무선 태그에 기밀성, 상호인증, 무결성을 제공하는 방법 { A method for providing secrecy, authentication and integrity of information to RFID tag}
도 1은 본 발명의 시스템 구성을 보여주는 도면이다.
도 2는 본 발명의 시스템 구성을 보여주는 블록도이다.
도 3은 스마트카드와 인증서버 사이의 인증 절차를 보여주는 흐름도이다.
도 4는 스마트카드와 RFID 구동 프로그램 사이의 인증 절차를 보여주는 흐름도이다.
도 5는 스마트카드와 사용자 사이의 인증 절차를 보여주는 흐름도이다.
도 6은 본 발명의 실시예에서 사용되는 비밀키와 공개키를 보여주는 도면이다.
도 7은 본 발명의 방법 1에 따라 RFID 태그에 정보를 저장하는 절차를 보여주는 도면이다.
도 8은 본 발명의 방법 1에 따라 RFID 태그로부터 정보를 판독하는 절차를 보여주는 도면이다.
도 9는 본 발명의 방법 2에 따라 RFID 태그에 정보를 저장하는 절차를 보여주는 도면이다.
도 10은 본 발명의 방법 2에 따라 RFID 태그로부터 정보를 판독하는 절차를 보여주는 도면이다.
본 발명은 고주파 무선 태그(이하, 'RFID 태그'라 함)에 기밀성, 상호인증, 무결성을 제공하는 방법에 관한 것으로서, 스마트카드와 인증서버를 이용하여 상호인증된 상태에서 암호화된 데이터를 RFID 태그에 저장하고 판독하되, 데이터의 무결성을 보장할 수 있는 방법에 관한 것이다.
일반적으로 데이터 저장의 암호화 기술에는 SEED, DES, AES256, RSA 등이 있으며, 인증 기술에는 MD5, SHA-1, RFID 판독/저장 기술에는 ISO 14443, ISO 15693 등이 있다.
그런데, 아직 RFID 태그에 저장된 데이터를 타인이 판독하거나 변경하는 것을 방지하는 방법은 사용되고 있지 않다.
삭제
삭제
삭제
삭제
본 발명은 RFID 태그에 암호화된 정보를 저장하고 판독하며, 제3자가 무단으로 RFID 태그에 저장된 정보를 판독하거나 변경하는 것을 방지할 수 있는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법을 제공하는 것을 목적으로 한다.
본 발명은 정보를 저장하거나, 또는 저장된 데이터를 읽어낼 때, 암호화나, 복호화 기능을 하지 못하는 무선 전자 태그(RFID tag, 예, 125 KHz, 13.56 Mhz, 900MHZ, 2.4 GHZ RFID tag)를 대상으로 한다.
무선 태그의 기능에 대한 설명
무선 태그는 사용하는 태그의 특성에 따라 약간씩 다르나, 일반적으로 다음과 같은 기능을 제공하는 태그를 기준으로 한다.
태그의 특성:
1. 태그는 RFID 리더/라이터(reader/writer)를 사용하여, 정보를 저장하고, 또 저장한 데이터를 읽어낼 수 있다.
2. 이 태그는 공장에서 제조할 때, 각 태그의 고유 번호가 있다. 이 번호는 저장 영역에 들어 있으며, 이 번호는 어떠한 방법에 의해서도 변조될 수 없다.
3. RFID 리더/라이터가 데이터를 저장할 때는 쓰기(Writer) 명령에 의해서 데이터가 변조되지 않은 채(있는 그대로의 데이터)로 저장되며, 마찬가지로 읽기 명령에 의해서 저장된 데이터가 변조되지 않은 채로 읽힌다.
4. 태그에 저장된 데이터는 추후에, 지울 수도 있고, 내용이 변경될 수도 있고, 태그에는 요량이 허용하는 한, 정보를 더 추가할 수 있다.
5. 태그는 데이터를 한번 저장한 채로, RFID 리더/라이터에 의해 읽기 양식(Read only)으로 설정(Mask) 하게 되면, 이 후로는 저장된 데이터를 수정할 수 없다.
이러한 특성을 가진 태그를 이용하여, 이 태그가 부착된 어떤 물건이 가짜인지 아닌지에 판별하기 위하여, 다음과 같은 방법을 사용한다.
시스템의 전체 구성은 도 1과 2에 나와 있다.
a. 여러 대(1대 이상)의 RFID 리더/라이터(도 1과 도 2의 E)에 1대의 컴퓨터(RFID 리더/라이터용 PC, 도 1과 도 2에서 F)가 연결되어 있다(도 1과 도 2의 A). 이 연결은 직렬포트(Serial Port), 병렬포트(Parallel Port), RS 422 또는 인터넷 연결 중 어느 형태의 연결이라도 가능하다. 이 PC는 RFID 리더/라이터에게 명령(Command)을 주고받으며, 또한 RFID 리더/라이터를 통하여, 데이터를 저장하고, 읽어내는 구동 소프트웨어가 이 PC에서 작동된다. 경우에 따라서는 스마트카드, PC(구동 프로그램 포함) 그리고, RFID 리더/라이터가 하나로 묶여진, PDA 형태 또는 휴대형(Handheld) 컴퓨터 형태일 수도 있다.
b. RFID 리더/라이터용 PC(도 1과 도 2에서 F)에는 스마트카드 리더(도 1과 도 2의 G)가 붙어 있다(도 1과 도 2의 C).
RFID 리더/라이터가 연결되어 있는 PC(도 1과 도 2에서 F)는 회사의 본부 또는 지역 본부의 인증 서버(도 1과 도2의 D)와 인터넷 망(도 1과 도 2의 B)에 인터넷 또는 직접으로 연결되어 있다.
스마트카드 구성
스마트카드는 그 자체가 메모리(memory)와 CPU를 가지고 있고, 외부로부터 전원과 명령(Command)이 주어지면 이에 대응하여 응답하는 컴퓨터이다. 이 스마트카드에는 필요하면, 정보를 은닉할 수 있다. 즉, 외부에서 이 스마트카드 내에 숨겨진 정보를 함부로 알아낼 수 있다. 또한, 스마트카드는 일종의 컴퓨터이기 때문에, 이 기기의 내부에는 프로그램을 제작자가 원하는 상태로 구축할 수 있는 특성이 있다. 여기서 사용되는 스마트카드는 다음과 같은 작용을 한다.
1. 스마트카드가 가지고 있는 자체 데이터는 다음과 같다.
a. 이 스마트카드를 사용하는 사용자의 ID와 패스워드(다수일 수 있음)
b. 구동프로그램 표(추후 구동 프로그램 인증에서 설명되어 있음).
c. 암호 표(Cryptographic Table)
이 암호 표는 무선 태그에 정보를 저장하거나, 읽어낼 때 사용되는 키(Key)들이 다수 보관된다. 즉, 무선 태그에는 데이터가 변조되지 않은 채 저장되거나 읽어내기 때문에, 내용 자체의 기밀성을 보장할 수 없다. 따라서 본 시스템에서는 무선 태그에 정보를 저장할 때는 암호화하고, 읽어낼 때는 복호화 한다. 암, 복호화 때 사용하는 Key는 비대칭 키와 대칭 키 어느 것이나 다 이용될 수 있다.
1. 공개키 암호 시스템(Public key Cryptography)을 사용한다. 암호화할 때는 비밀키를 사용하고, 읽어낼 때는 공개키를 사용한다. 따라서 이 암호화 표에는 정보를 저장할 때는 비밀키들만 들어 있는 표를 제공하고(제작자 스마트카드에), 물건의 진위를 판별하거나, 정보의 진위를 판별할 때는 공개키 들만 들어 있는 표(판 독자 스마트카드에)를 사용한다.
2. 대칭 키 방식을 사용한다. 이때는 정보를 저장하거나, 읽어내거나, 어느 경우나, 동일한 키를 사용한다. 따라서, 제작자나 판독자 스마트 카드에는 동일한 암호 표가 제공된다.
데이터를 무선 태그에 저장하는 과정과 방법
RFID 태그에 정보를 저장하거나, 저장된 정보를 읽어내는 과정은, (1) 인증 (2) 데이터를 저장(암호화) 또는 판독(복호화)을 거친다. 또한, RFID 태그 내에 데이터가 변조되었는지를 확인하는 (3) 디지털서명은 태그에 데이터를 저장할 때, 만들어지며, RFID 태그에 들어 있는 데이터를 읽어낼 때도 태그 내에 들어 있는 서명을 항상 검사한다.
1. 인증
인증은 다음의 3가지의 과정이 있다. 즉, 어떠한 일(Session이라 부른다)을 하기 전에, 적법한(인증된) 기계와 컴퓨터, 적법한(인증된) 사람이 사용하는지 그리고, 적법한 구동 프로그램인지 서로 간에 인증이 되어야 한다. 전체적인 인증 순서는,
가. 스마트 카드에 대한 인증(인증 서버를 중심으로)
나. 구동 프로그램 인증과 RFID 리더/라이터(스마트카드를 중심으로)
다. 사용자 인증(스마트 카드를 중심으로)
순서로 이루어진다(도 3 참조).
(가) 스마트 카드와 인증 서버 사이의 인증.
이때, 인증 서버는 구동 프로그램이 저장된 PC 와 달리 따로 존재한다. 이 인증서 버는 일반적으로 인터넷으로 연결되어 있다. 만일 따로 인증 서버가 없으면, PC가 들어 있는(또는 구동프로그램, RFID 리더/라이터 그리고, 스마트카드 리더가 같이 들어있는 PDA, 또는 Handheld 컴퓨터) 컴퓨터에 이 인증 서버를 대신하는 프로그램이 존재한다.
이 인증 서버와의 통신은 (1) SSL 을 사용하든지 또는 (2) 다음의 인증 방법을 사용하여, 일회용(One Session용) 한 쌍의 비밀키와 공개키(도 3의 4번째 과정에서 Epc, Dpc 와 Epd, Dpd)를 인증 서버로부터 스마트카드에 내려 주는 것이 목적이다.
인증 방법
먼저, 인증하기 전에 인증 서버와 스마트카드는 둘 사이에, 비밀키와 공개키를 한 쌍씩 미리 나누어서 있다. 즉, 이때, 인증 서버가 가지고 있는 공개키를 DPa 라하고, 여기에 대응되는 스마트카드가 가지고 있는 비밀키를 Epa라 하자, 마찬가지로 스마트카드가 가지고 있는 공개키를 DPb라 하고, 여기에 대응되게 인증 서버가 가지고 있는 비밀키를 Epb라 하자.
회사 본부에서 적법한 사람에게 스마트카드(도 1과 도 2의 G)를 분배한다. 따라서 이 스마트카드를 컴퓨터(RFID 리더/라이터용 PC, 도 1과 도 2에서 F)에 연결하지 않은 경우, RFID 리더/라이터(도 1과 도 2에서 E)를 구동하는 소프트웨어 프로그램이 작동하지 않는다. 일단 이 스마트카드가 연결된 상태에서 스마트카드와 인증서버는 서로가 서로를 인증한다.
방법은
a. PC의 구동 프로그램이 인증 서버에 스마트카드 인증 요구(도 3의 1)
b. 인증 서버는 일회용 무작위 수(Random number, R1)를 생산하여, 자신의 공개키(Dpa)로 암호화하여, 스마트카드에 보낸다. 이 정보는 구동 프로그램이 받아서, 스마트카드에 바로 보낸다. 이값은 구동 프로그램이 비밀키를 가지고 있지 않기 때문에, 해독할 수 없다(도 3의 2).
c. 스마트카드는 구동 프로그램을 통해 받은 암호화된 일회용 무작위 값(R1)을 Epa를 가지고 복호화한다. 복호화된 값(R1)과 스마트카드가 생산한 일회용 무작위 수(Random number, R2)를 스마트카드가 인증 서버와 나누어 가진 공개키 DPb로 암호화하여 인증 서버로 보낸다(도 3의 3).
d. 인증 서버는 구동 프로그램을 통해 받은 Dpb(R1과 R2)을 Epb를 가지고 복호화(R1과 R2) 한다. 이 복호화 된 R1과 자신이 생산한 R1이 같은지 확인한다. 같으면, 스마트카드가 적법한 것으로 간주한다. 같지 않으면, 적법하지 않은 것으로 간주한다.
e. 적법할 경우, 인증 서버가 적법한지 인증하기 위해 스마트카드가 생성한 R2와 스마트카드에 스마트카드와 구동 프로그램간에 정보 교환용으로 사용될 한쌍의 Session key(Epc,Dpc Epd,Dpd)를 자신의 비밀키(Epb)로 암호화해서 보낸다.
f. 스마트카드는 Epb(R2와 Session Key)를 Dpb를 이용해 복호화(R2와 Session Key)한다. 복호화된 R2와 자신이 생산한 R2와 같은지 확인한다. 같지 않으면 인증 서버가 적법하지 않은 것으로 간주하고, 같으면 인증 서버가 적법한 것으로 간주하여 한쌍의 Session Key를 간직한다(도 3의 4).
여기서, 정보를 암호화 할때 공개키로 하고, 복호화 할때 비밀키로 하는 방식은 일반적으로 암호화와 복호화를 하는 방식과 반대이다(도 6의 스마트 카드와 인증 서버사이의 암호화와 복호화 방법 (20), (21)). 즉, 암호화 할때 비밀키로 하고, 복호화 할때, 공개키로 하는 방식을 사용한다. 왜냐 하면, 공개키는 누구나 내용을 봐도 괜찮고, 내용을 만들때는 적법한 사람만이 만들 수 있기 때문이다. 그러나, 인증을 하기 위해서는 반대로 한다. 즉, 오직 하나 밖에 없는 비밀키로 복호화 할 수 있는 가를 보기 때문이다. 즉, 복호화해서 돌아 온 데이타가 내가 보낸 데이타 이면, 그 대상은 내가 인증할 수 있는 대상이기 때문이다.
만일 스마트카드를 분실하였을 경우, 적법한 절차를 거쳐, 인증 컴퓨터에 분실을 기록하면, 인증시에 그 스마트카드를 무효화한다. 즉, 정보 데이타베이스에서 이 스마트카드에 대한 권한 상실을 부여함으로써, 인증 서버는 스마트카드에게 작동 상태 무력화를 명령 한다. 즉, 스스로 파괴를 명령한다(도 3의 4).
(나) 구동 프로그램 인증과 RFID 리더/라이터인증
RFID 리더/라이터(도 1과 도 2에서 E) 구동 프로그램이 올바른 프로그램인지 아닌지 확인을 해야 한다. 또한, RFID 리더/라이터는 정보저장 또는 판독을 위한 기기 역할 밖에 못하기 때문에, 공인을 할 필요는 없다. 스마트카드가 인증된 후에, 구동 프로그램과 RFID 리더/라이터가 적법한지 확인하기 위하여, 다음의 과정을 거친다(도 4를 참조할 것).
이 인증과정을 거치기 전에, 이때, 스마트 카드에는 구동 프로그램의 각 부분의 바이너리코드를 가지고 있다. 예를 들어, 원 구동프로그램의 0번째는 "0X", 5번째는 "15", 8번째는 "E5", 10번째는 "FF" 가 있다고 가정하면,
0 0X
5 15
8 E5
10 FF
형태로 가지고 있다. 즉, 첫 번째 칸은 코드의 위치를 의미하고, 두 번째 칸은 코드를 의미한다. 이러한 줄이 다수 있다. 이 표 자체는 스마트카드의 보호코드로만 불러낼 수 있다. 즉, AES256같은 방법으로 암호화되어 있다. 이 표를 "구동프로그램 표"라고 하자.
a. 스마트카드는 RFID 리더/라이터 구동 프로그램에게, 받아야 할 코드의 개수와 받아야 할 코드의 위치를 보낸다. 이때, 개수와 위치는 Random 하게 만든다(도 4의 5).
b. 구동 프로그램은, 스마트 카드로부터 받은, 위치들에 대하여, 자신의 구동프로그램의 해당 코드를 SHA-1 방법으로 Hash값을 한다. 이 결과를 스마트카드에 전달한다 (도 4의 6). 4의 6)
c. 스마트 카드는, 자신이 가지고 있는 생산한 위치들을 가지고, 테이블로부터 코드를 받아온다. 이 코드를 가지고, 구동 프로그램과 마찬가지 방법으로 Hash값을 계산한다.
d. 스마트카드는 구동 프로그램으로 받은 Hash 값과, 자신이 계산한 Hash값을 비교한다.
e. d에서 계산한 값이 같으면, 구동프로그램은 적법한 것으로 간주한다. 적법한 경우에는 암호용 Epc와 복호용 Dpd를 구동 프로그램에 전달한다(도 4의 7). 적법하지 않으면, 구동 프로그램이 계산에 필요한 여러 가지 파라메터를 전달하지 않는다. 이 Session Key는 도 6이 (22)와 (23)에서 보듯이 각각 암호화와 복호화 Key로 사용된다.
이 방법은 특별히 프로그램의 Id 를 컴퓨터 내부에 보관하지 않고도, 프로그램이 변조되지 않은 것을 확인할 수 있는 독창적인 방법임. 즉, 해커는 스마트카드가 프로그램의 어떤 부분을 요구할지 예측을 할 수 없기 때문에 프로그램의 내용을 변조할 수가 없다.
1.3 적법한 사용자에 대한 인증.
스마트카드와 구동 프로그램은 기기(컴퓨터 포함)를 사용하는 사람이 적법한지 인증되어야, 작동을 시작한다.
즉, RFID 리더/라이터(도 1과 도 2에서 E)를 구동하는 프로그램이 작동하기 위해서는 적법한 스마트카드와 적법한 사람이 사용을 해야만 한다. 사용자가 컴퓨터에 입력한 Login이름과 Password는 스마트카드 내에 저장된 정보와 비교하여, 사용자가 적법한지 확인된다. 따라서 적법하지 않은 경우는 RFID 리더/라이터(도 1과 도 2에서 E)를 구동하는 소프트웨어 프로그램이 구동되지 않는다.
순서는 다음의 과정을 따른다.
a. 스마트카드가 구동 프로그램에 사용자 ID와 Password 요청한다(도 5의 8).
b. 구동 프로그램이 사용자에게 사용자 ID와 Password를 요청한다(도 5의 9).
c. 사용자가 자신만이 알고 있는 사용자 ID와 Password를 입력한다(도 5의 10). 이 ID 와 Password는 적법한 절차에 따라, 사용자가 이미 가지고 있다고 가정한다.
d. 구동 프로그램은 사용자로부터, 받은 ID와 Password를 구동 프로그램 인증시(도 4의 7) 내려받은 Epc로 암호화하여, 스마트카드에 전달한다(도 5의 11).
e. 스마트카드는 전달받은 정보를 Dpc로, 복호화하여, 인증한다(도 5의 12).
2. 무선 태그에 정보를 저장하는 방법
무선태그에 정보를 저장하는 방법은 방법 1 과 방법 2가 있다. 두 가지 방법 중 1가지 방법을 사용하면 된다. 방법 1은 도 7과 8을 참조하고, 방법 2는 도 9와 10을 참조해라.
방법 1
2.1 무선 태그에 정보 저장 방법
무선 태그에 저장해야 할 정보를 m 이라 하자.
1. 스마트 카드에, Key를 요청한다(도 7의 30).
2. 스마트 카드는, 암호 표의 위치(IR)를 하나 선택하는데(도 7의 31), Random하게 선택을 하고, 암호 표에서 이 위치의 비밀키(예, EI)(도 7의 32)를 추출한다. 이 추출한 위치와 비밀키 값을 Epd를 가지고 암호화 한다(도 7의 33). 즉, Epd(IR+EI)를 생산하여, 구동 프로그램에 전송한다(도 7의 34).
3. 구동 프로그램은 스마트카드로부터 전달받은 Epd(IR+EI)를 자신의 Dpd로 해독한다. IR+EI만 추출된다(도 7의 35).
4. 구동 프로그램은, 정보 m의 변조를 확인하기 위해, 전자 서명 방법으로 Hash 값을 계산한다. 즉 H(m)을 계산한다.
5. 구동 프로그램은 EI(m)+H(m)+IR (도 7의 36, 37)를 RFID 리더/라이터에 전송한다(저장)
이때, 암호화 알고리즘은, 대칭 키를 사용하는 암호화 알고리즘은 모두 다 적용된다. 3DES, SEED, AES256 등과 같은 암호가 대표적 예이다.
6. 추후, 태그의 내용을 변경할 필요 없을 때: 태그에 정보를 저장한 후에, Read only로 Mask 한다. 이 후에는 무선 태그의 내용을 변경할 수가 없다.
2.2 무선 태그에 저장된 정보를 사용하여, 데이터를 정확하게 판독하는 방법
1. 구동 프로그램은 RFID 리더/라이터를 이용하여, 데이터를 읽는다(도 8의 40). 이때 읽은 데이터는 EI(m)+H(m)+IR 형태이다.
2. 구동 프로그램은 스마트 카드에, Epc(IR)(도 8의 41)를 전송한다.
3. 스마트 카드는, Epc(IR)에서 Dpc를 가지고 IR를 추출한다(도 8의 42).
4. 스마트 카드는 암호 표의 위치, IR에서 키(예, Di)를 추출한다(도 8의 43). 이 추출한 키를 Epd를 가지고 암호화한다. 즉, Epd(Di)를 생산하여, 구동 프로그램에 전송한다(도 9의 44).
5. 구동 프로그램은 스마트카드로부터 전달받은 Epd(Di)를 자신의 Dpd로 해독한다(도 8의 45). 즉, Di만 추출된다.
6. 구동 프로그램은, 1에서 가지고 있는 EI(m)를 Di로 복호화 한다(도 8의 46). 그러면, m가 추출된다(도 8의 47).
7. 구동 프로그램은 추출된 정보 m의 변조를 확인하기 위해, 전자 서명 방법으로 Hash 값을 계산한다. 즉 H(m)을 계산한다. 이 계산된 값과 6에서 추출된 H(m)과 비교하여 변조되었는지 확인한다.
2.3 무선 태그에 저장된 정보를 변경하는 방법
1. 2.2에서 서술한 방법으로 정보를 해독한 후에
2. 정보를 변경한다.
3. 2.1에서 서술한 방법으로 정보를 저장한다.
방법 2
2.4 무선 태그에 정보 저장 방법(방법 1)
무선 태그에 저장해야 할 정보를 m 이라 하자.
1. 스마트 카드에, Key를 요청한다. 이때, 암호화할 데이터와 그 데이터의 Hash 값을 같이 전송한다(도 9의 50).
2. 스마트 카드는, 암호 표의 위치(IR)를 하나 선택하는데(도 9의 51), Random하게 선택을 하고, 암호 표에서 이 위치의 비밀키(예, EI)(도 9의 52)를 추출한다. 이 추출한 비밀키로 데이터를 암호화하고, 그 암호화 값과 해쉬 값 그리고, 추출한 위치를 Epd를 가지고 암호화 한다(도 9의 53). 즉, Epd(IR+EI(m)+H(m))를 생산하여, 구동 프로그램에 전송한다(도 9의 54).
3. 구동 프로그램은 스마트카드로부터 전달받은 Epd(IR+EI(m)+H(m))를 자신의 Dpd로 해독한다. IR+EI(m)+H(m)만 추출된다(도 9의 55).
4. 구동 프로그램은 EI(m)+H(m)+IR 를 RFID 리더/라이터에 전송한다(저장, 도 7의 56)
5. 추후, 태그의 내용을 변경할 필요 없을 때: 태그에 정보를 저장한 후에, Read only로 Mask 한다. 이 후에는 무선 태그의 내용을 변경할 수가 없다.
2.5 무선 태그에 저장된 정보를 사용하여, 데이터를 정확하게 판독하는 방법(방법 2)
1. 구동 프로그램은 RFID 리더/라이터를 이용하여, 데이터를 읽는다(도 10의 60). 이때 읽은 데이터는 EI(m)+H(m)+IR 형태이다.
2. 구동 프로그램은 스마트 카드에, EI(m)+IR (도 10의 61)를 전송한다.
3. 스마트 카드는 암호 표의 위치, IR에서 키(예, Di)를 추출한다(도 10의 62).
4. 스마트카드에서 EI(m)를 Di로 복호화 한다(도 10의 63). 그러면, m 만 추출된다.
5. 스마트카드는 구동 프로그램에 m를 전송한다(도 10의 64).
6. 구동 프로그램은 정보의 내용이 변조되지 않았는지 검사한다. 즉, 전자 서명 방 법으로 m의 Hash 값을 계산한다. 이 계산된 값과 추출된 H(m)과 비교하여 변조되었는지 확인한다.
2.6 무선 태그에 저장된 정보를 변경하는 방법(방법 2를 이용하여)
1. 2.5에서 서술한 방법으로 정보를 해독한 후에
2. 정보를 변경한다.
3. 2.4에서 서술한 방법으로 정보를 저장한다.
정보를 평범한 방식으로 저장할 수 있는 물질(예, 무선 태그)에 무결성, 즉 정보의 변조를 확인할 수 있고, 기밀성, 즉 정보의 내용을 알 수 없고, 그리고 이 정보를 판독 내거나, 정보를 저장할 때, 사용하는 프로그램이나, 기계, 그리고 사용자를 서로 인증하는 방법을 제공한다.
이러한 방법은, 주민등록증이나, 여권 등의 위조에 사용이 가능하다.

Claims (8)

  1. RFID 태그에 데이터를 저장하거나 읽어내기 위한 하나 또는 그 이상의 RFID 리더/라이터와, RFID 리더/라이터와 연결되어 있으며 RFID 리더/라이터를 통하여 데이터를 저장하고 읽어내기 위한 구동 프로그램이 장착되어 있으며 스마트카드에 데이터를 저장하거나 읽어내기 위한 스마트카드 리더를 구비하는 컴퓨터를 구비하는 시스템에서의 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법에 있어서,
    스마트카드에 저장되어 있는 정보를 이용하여 RFID 태그에 저장할 데이터를 암호화하여 RFID 리더/라이터를 사용하여 암호화된 데이터를 RFID 태그에 기록하는 정보저장단계와,
    RFID 태그에 기록되어 있는 데이터를 읽어내어 스마트카드에 저장되어 있는 정보를 이용하여 복호화하는 정보판독단계
    를 구비하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  2. 제1항에 있어서,
    상기 스마트카드에는 사용자의 ID와 패스워드가 저장되어 있으며,
    상기 정보저장단계와 상기 정보판독단계는 사용자에게 ID와 패스워드를 입력받아서 이를 상기 스마트카드에 저장되어 있는 사용자의 ID와 패스워드와 비교하여 일치하는 경우에만 수행되는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  3. 제1항에 있어서,
    인증서버에서 스마트카드로 상기 정보저장단계와 상기 정보판독단계에서 암호화에 사용되는 세션키를 전송하는 단계와,
    스마트카드는 수신한 세션키를 저장하며 또한 구동 프로그램으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  4. 제3항에 있어서,
    상기 세션키 전송단계는 상기 스마트카드에 저장되어 있는 인증정보를 사용하여 인증서버와 스마트카드 사이에서 서로를 인증하는 스마트카드 인증단계를 수행하여 서로 정당하다고 인증된 경우에만 수행되며,
    스마트카드 인증단계는
    인증서버에서 제1무작위수를 생성하고 암호화하여 스마트카드로 전송하는 단계와,
    스마트카드가 암호화된 제1무작위수를 복호화하고, 복호화된 제1무작위수와 스마트카드가 생성한 제2무작위수를 암호화하여 인증서버로 전송하는 단계와,
    인증서버는 스마트카드로부터 수신한 암호화된 제1무작위수와 제2무작위수를 복호화하여 복호화된 제1무작위수가 자신이 생성한 제1무작위수와 동일한 경우에 스마트카드를 정당한 스마트카드로 인증하는 단계와,
    인증서버가 복호화된 제2무작위수를 암호화하여 스마트카드에 전송하면 스마트카드에서 이를 복호화하여 복호화된 제2무작위수가 자신이 생성한 제2무작위수와 동일한 경우에 인증서버를 정당한 인증서버로 인증하는 단계
    를 포함하는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  5. 제4항에 있어서,
    상기 스마트카드에는 구동 프로그램의 적어도 일부분의 바이너리 코드와 그 위치가 저장되어 있으며,
    상기 스마트카드가 상기 세션키를 구동 프로그램으로 전송하는 단계는 상기 스마트카드에 저장되어 있는 바이너리 코드 정보를 사용하여 구동 프로그램을 인증하는 구동 프로그램 인증단계를 수행하여 정당하다고 인증된 경우에만 수행되며,
    구동 프로그램 인증단계는
    스마트카드가 구동 프로그램에게 받아야 할 바이너리 코드의 개수와 받아야 할 바이너리 코드의 위치를 전달하는 단계와,
    구동 프로그램이 해당 위치의 바이너리 코드들의 해시값을 구한 후에 스마트카드에 전달하는 단계와,
    스마트카드가 자신이 저장하고 있는 해당 위치의 바이너리 코드들의 해시값을 구하여 구동 프로그램으로부터 수신한 해시값과 비교하는 단계와,
    비교 결과, 양 해시값이 일치하는 경우에 구동 프로그램이 정당하다고 인증하는 단계
    를 포함하는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  6. 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 정보저장단계는
    구동 프로그램이 스마트카드에 비밀키를 요청하는 제1-1단계와,
    스마트카드가 저장되어 있는 암호표 중에서 하나의 위치를 선택하여 그 위치의 비밀키를 추출하고, 추출한 위치와 비밀키를 상기 세션키를 사용하여 암호화하여 구동 프로그램으로 전송하는 제1-2단계와,
    구동 프로그램이 상기 세션키를 사용하여 상기 추출한 위치와 비밀키를 복호하여 복호된 비밀키를 사용하여 저장하고자 하는 정보를 암호화하여, 암호화된 정보와 상기 추출한 위치를 RFID 리더/라이터를 사용하여 RFID 태그에 기록하는 제1-3단계
    를 포함하며,
    상기 정보판독단계는
    구동 프로그램이 RFID 리더/라이터를 사용하여 RFID 태그에 기록되어 있는 암호화된 정보와 암호표에서 추출한 위치를 읽어오는 제2-1단계와,
    구동 프로그램이 상기 위치를 세션키를 이용하여 암호화한 후에 스마트카드에 전송하는 제2-2단계와,
    스마트카드가 세션키를 이용하여 암호화된 상기 위치를 복호화하고, 암호표의 해당 위치에서 비밀키를 추출한 후에 세션키를 이용하여 비밀키를 암호화해서 구동 프로그램으로 전송하는 제2-3단계와,
    구동 프로그램에서 수신한 비밀키를 세션키를 이용하여 복호화한 후에 상기 암호화된 정보를 복호화된 비밀키를 사용하여 복호화하는 제2-4단계
    를 포함하는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  7. 제6항에 있어서,
    제1-3단계는
    구동 프로그램이 상기 세션키를 사용하여 상기 추출한 위치와 비밀키를 복호하여 복호된 비밀키를 사용하여 저장하고자 하는 정보를 암호화하는 단계와,
    구동 프로그램이 저장하고자 하는 정보의 해시값을 계산하는 단계와,
    상기 암호화된 정보와 상기 추출한 위치와 상기 해시값을 RFID 리더/라이터를 사용하여 RFID 태그에 기록하는 단계를 포함하며,
    제2-1단계에서 RFID 태그에서 읽어오는 정보에는 상기 해시값이 더 포함되며,
    제2-4단계는 복호화된 정보의 해시값을 계산하여 제2-1단계에서 읽어온 해시값과 비교하여 변조 여부를 확인하는 단계를 더 포함하는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
  8. 제3항 내지 제5항 중 어느 한 항에 있어서,
    상기 정보저장단계는
    구동 프로그램이 저장하고자 하는 데이터와 그 데이터의 해시값을 전송하면서 스마트카드에 비밀키를 요청하는 제1-1단계와,
    스마트카드가 저장되어 있는 암호표 중에서 하나의 위치를 선택하여 그 위치의 비밀키를 추출하고, 이 비밀키로 구동 프로그램으로부터 수신한 데이터를 암호화하고 암호화된 값, 해시값, 추출한 위치를 상기 세션키를 사용하여 암호화하여 구동 프로그램으로 전송하는 제1-2단계와,
    구동 프로그램이 상기 세션키를 사용하여 상기 암호화된 값, 해시값, 추출한 위치를 복호하여 이를 RFID 리더/라이터를 사용하여 RFID 태그에 기록하는 제1-3단계
    를 포함하며,
    상기 정보판독단계는
    구동 프로그램이 RFID 리더/라이터를 사용하여 RFID 태그에 기록되어 있는 암호화된 값, 해시값, 추출한 위치를 읽어오는 제2-1단계와,
    구동 프로그램이 상기 암호화된 값과 위치를 스마트카드에 전송하는 제2-2단계와,
    스마트카드가 상기 위치값으로부터 암호표의 해당 위치에서 비밀키를 추출한 후에 추출된 비밀키로 상기 암호화된 값을 복호하여 이를 구동 프로그램으로 전송하는 제2-3단계와,
    구동 프로그램에서 스마트카드로부터 수신한 복호화된 데이터로부터 해시값을 구하여 상기 해시값과 비교하여 변조 여부를 확인하는 제2-4단계
    를 포함하는 것을 특징으로 하는 RFID 태그에 기밀성, 상호인증, 무결성을 제공하는 방법.
KR1020050038148A 2004-06-17 2005-05-06 고주파 무선 태그에 기밀성, 상호인증, 무결성을 제공하는 방법 KR100720738B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020040045164 2004-06-17
KR20040045164 2004-06-17

Publications (2)

Publication Number Publication Date
KR20060045951A KR20060045951A (ko) 2006-05-17
KR100720738B1 true KR100720738B1 (ko) 2007-05-22

Family

ID=37149388

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050038148A KR100720738B1 (ko) 2004-06-17 2005-05-06 고주파 무선 태그에 기밀성, 상호인증, 무결성을 제공하는 방법

Country Status (1)

Country Link
KR (1) KR100720738B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101177958B1 (ko) 2005-01-12 2012-08-28 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 Rfid 태그 보안 시스템 및 그 방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100807185B1 (ko) * 2006-07-11 2008-02-28 김월영 Usb 토큰을 이용한 otp(일회용 암호)발생 방법 및인증방법,시스템,usb 토큰
KR100785811B1 (ko) * 2006-12-06 2007-12-13 한국전자통신연구원 Rfid 보안 시스템 및 그 방법
KR101493791B1 (ko) * 2012-11-30 2015-02-17 한국조폐공사 스마트카드 판독장치의 인증시스템 및 그 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040092669A (ko) * 2003-04-25 2004-11-04 스팍스컴 주식회사 보안 기능을 구비한 무선인식(rfid) 단말기 및 태그

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040092669A (ko) * 2003-04-25 2004-11-04 스팍스컴 주식회사 보안 기능을 구비한 무선인식(rfid) 단말기 및 태그

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101177958B1 (ko) 2005-01-12 2012-08-28 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 Rfid 태그 보안 시스템 및 그 방법

Also Published As

Publication number Publication date
KR20060045951A (ko) 2006-05-17

Similar Documents

Publication Publication Date Title
JP4736744B2 (ja) 処理装置、補助情報生成装置、端末装置、認証装置及び生体認証システム
KR101226651B1 (ko) 생체 인식 기술의 사용에 기초한 사용자 인증 방법 및 관련구조
US6912659B2 (en) Methods and device for digitally signing data
JP5365512B2 (ja) ソフトウェアicカードシステム、管理サーバ、端末、サービス提供サーバ、サービス提供方法及びプログラム
JP2005122402A (ja) Icカードシステム
JPWO2007094165A1 (ja) 本人確認システムおよびプログラム、並びに、本人確認方法
CN102301629A (zh) 鉴别通信会话和加密其数据的电路、系统、设备和方法
JP2006190175A (ja) Rfid利用型認証制御システム、認証制御方法及び認証制御プログラム
JP2009151528A (ja) 生体情報が格納されたicカードおよびそのアクセス制御方法
KR100723868B1 (ko) Epc c1g2 rfid 시스템에서 태그와 판독장치간의 상호 인증 방법
JPH10224345A (ja) チップカード用暗号鍵認証方法および証明書
Chen et al. A novel DRM scheme for accommodating expectations of personal use
JP2003143131A (ja) 電子情報管理装置、携帯情報端末装置、管理サーバ装置及びプログラム
KR101062624B1 (ko) Ic 태그 시스템
US20020044655A1 (en) Information appliance and use of same in distributed productivity environments
KR100720738B1 (ko) 고주파 무선 태그에 기밀성, 상호인증, 무결성을 제공하는 방법
JP2005293490A (ja) 生体認証システム
CN102222195A (zh) 电子书阅读方法和系统
US20100014673A1 (en) Radio frequency identification (rfid) authentication apparatus having authentication function and method thereof
JP7165414B2 (ja) 暗号データ処理システム、及びプログラム
KR101210605B1 (ko) 보안 모드에 따른 수동형 rfid 보안 방법
KR100742778B1 (ko) 무선 식별 전자서명을 이용한 사용자 인증 방법, 그 기록매체 및 무선 식별 전자서명을 이용한 사용자 인증 장치
JP2006268668A (ja) 端末認証、端末変更方法、操作端末、認証サーバ、および認証プログラム
JP2006323691A (ja) 認証装置、登録装置、登録方法及び認証方法
KR101226319B1 (ko) 신원 확인 인증 방법 및 이를 이용한 시스템

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20120521

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee