KR20110082861A - 태그-리더간 상호 인증 방법 - Google Patents

태그-리더간 상호 인증 방법 Download PDF

Info

Publication number
KR20110082861A
KR20110082861A KR1020100002772A KR20100002772A KR20110082861A KR 20110082861 A KR20110082861 A KR 20110082861A KR 1020100002772 A KR1020100002772 A KR 1020100002772A KR 20100002772 A KR20100002772 A KR 20100002772A KR 20110082861 A KR20110082861 A KR 20110082861A
Authority
KR
South Korea
Prior art keywords
tag
reader
public key
authentication tree
authentication
Prior art date
Application number
KR1020100002772A
Other languages
English (en)
Inventor
원양돈
박용수
조성호
정한울
Original Assignee
삼성테크윈 주식회사
한양대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성테크윈 주식회사, 한양대학교 산학협력단 filed Critical 삼성테크윈 주식회사
Priority to KR1020100002772A priority Critical patent/KR20110082861A/ko
Publication of KR20110082861A publication Critical patent/KR20110082861A/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0723Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips the record carrier comprising an arrangement for non-contact communication, e.g. wireless communication circuits on transponder cards, non-contact smart cards or RFIDs
    • 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/01Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 인증트리(authentication tree)를 이용하여 태그 및 리더간 상호 인증을 수행하는 방법에 관한 것이다. 태그-리더간 상호 인증 방법은 합법적인 리더-태그를 생성하는 회사는 공개키를 이용하여 합법적인 리더 및 태그에 대한 인증트리를 생성하고, 상기 리더 및 태그에 상기 인증트리 정보를 전송하는 단계; 상기 리더는 자신의 공개키 및 상기 인증트리 정보를 태그로 전송하는 단계; 상기 태그는 상기 리더로부터 수신한 값으로 상기 인증트리의 루트노드 값을 계산하여 저장되어 있는 루트노드값과 일치하는 경우 상기 리더를 인증하는 단계; 상기 태그는 자신의 공개키 및 상기 인증트리 정보를 리더로 전송하는 단계; 및 상기 리더는 상기 태그로부터 수신한 값으로 상기 인증트리의 루트노드값을 계산하여 저장되어 있는 루트노드값과 일치하는 경우 상기 태그를 인증하는 단계를 포함한다.

Description

태그-리더간 상호 인증 방법{Method for mutual authentication between tag and reader}
본 발명은 인증트리(authentication tree)를 이용하여 태그 및 리더간 상호 인증을 수행하는 방법에 관한 것이다.
일반적으로 EPCglobal Gen 2 타입의 수동형 태그는 RFID{radio frequency identification} 리더와 RFID 태그 사이의 인증을 위해 액세스 비밀번호(access password)를 이용하여 인증 작업을 수행한다. 이 경우 리더와 태그는 동일한 액세스 비밀번호를 가지고 있어서, 리더가 비밀번호 전송 시에, 태그는 그 비밀번호를 확인하게 된다.
이 방식이 제대로 동작하기 위해서는 리더와 태그가 동일한 액세스 비밀번호를 가져야 하기에, (1) 태그별로 비밀번호를 다르게 설정하거나, (2) 모든 태그에 비밀번호를 동일하게 설정해야 한다. (1)의 경우, 모든 리더가 모든 태그의 비밀번호를 가지고 있거나, 리더가 매번 서버에 접속하여 해당 태그의 비밀번호를 가져와야 하는 불편함이 따른다. (2)의 경우, 모든 태그가 동일한 비밀번호를 가지기에 한 태그가 해킹당하거나 비밀번호가 노출되게 되면 전체 시스템이 위험해 진다. 또한 리더를 태그가 인증하려면 리더-태그 사이의 고유한 비밀번호를 이용하여 인증해야 하는데, 모든 태그에 모든 리더의 비밀번호를 넣는 것은 사실상 비합리적이다.
이를 해결하기 위한 방안이 공개키 암호를 도입하는 것이다. 공개키 암호를 도입하게 되면 태그별로 개인키와 공개키 쌍을 가지게 되고, 개인키는 태그가 가지며, 공개키는 리더나 서버가 이 키의 유효성을 확인해야 한다. 현재까지 수동형 태그가 많이 사용되고 있지만 앞으로 능동형 태그도 사용될 것이고, GPS 인증과 같이 수동형 태그에 사용될 수 있는 인증 기법도 연구 중에 있다.
공개키 암호를 RFID 시스템에 사용하게 될 때, 인증서의 유효성을 검증하는 작업이 매우 어려운데, 인증서 확인 암호 라이브러리 모듈의 크기가 매우 크고 인증서의 크기 역시 매우 크며, 표준이 복잡하여 이를 처리하는데 시간이 많이 걸린다. 통상 공개키의 유효성을 확인하기 위해서는 X.509 인증서를 표준으로 사용하고 있다. 하지만 X.509 인증서를 처리하기 위해서는 PCKS, ASN.1 등 다양한 표준 포맷을 리더 및 태그에서 지원해야 하며, 이는 매우 계산량이 많을 뿐만 아니라 처리 라이브러리의 크기가 매우 커서 비효율적이다.
본 발명이 해결하고자 하는 기술적인 과제는 RFID 환경에서 X.509와 같은 인증서를 사용하지 않고 간편한 방법으로 태그와 리더간 상호인증을 수행할 수 있는 방법을 제공하는데 있다.
본 발명이 해결하고자 하는 기술적인 과제를 해결하기 위한 제1 실시 예에 따른 태그-리더간 상호 인증 방법은 합법적인 리더-태그를 생성하는 회사는 공개키를 이용하여 합법적인 리더 및 태그에 대한 인증트리를 생성하고, 상기 리더 및 태그에 상기 인증트리 정보를 전송하는 단계; 상기 리더는 자신의 공개키 및 상기 인증트리 정보를 태그로 전송하는 단계; 상기 태그는 상기 리더로부터 수신한 값으로 상기 인증트리의 루트노드 값을 계산하여 저장되어 있는 루트노드값과 일치하는 경우 상기 리더를 인증하는 단계; 상기 태그는 자신의 공개키 및 상기 인증트리 정보를 리더로 전송하는 단계; 및 상기 리더는 상기 태그로부터 수신한 값으로 상기 인증트리의 루트노드값을 계산하여 저장되어 있는 루트노드값과 일치하는 경우 상기 태그를 인증하는 단계를 포함하는 것이 바람직하다.
본 발명에 있어서, 상기 리더 및 태그에 인증트리 정보를 전송하는 단계는 상기 리더용/태그용 공개키 및 개인키를 생성하는 단계; 상기 각 리더용/태그용 공개키를 잎 노드에 연관시켜 인증트리를 생성하는 단계; 상기 리더 및 태그에 상기 인증트리에서 자신의 공개키 및 상기 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중 Sibling에 해당하는 해쉬값을 전송하는 단계; 및 상기 리더 및 태그에 상기 인증트리의 루트 노드값을 전송하는 단계를 포함할 수 있다.
본 발명이 해결하고자 하는 기술적인 과제를 해결하기 위한 제2 실시 예에 따른 태그-리더간 상호 인증 방법은 합법적인 리더-태그를 생성하는 회사는 공개키를 이용하여 합법적인 리더 및 태그에 대한 인증트리를 생성하고, 상기 리더 및 태그에 상기 인증트리 정보를 전송하는 단계; 상기 태그는 자신의 ID를 리더로 전송하는 단계; 상기 리더는 상기 인증트리내 내부노드를 찾고, 상기 내부노드 레벨+1 정보를 태그에 전송하는 단계; 상기 태그는 자신의 공개키와 상기 공개키에 해당하는 상기 인증트리에서 상기 내부노드 레벨+1부터 끝까지에 해당하는 인증트리 정보를 리더로 전송하는 단계; 상기 리더는 상기 태그로부터 수신된 정보를 이용하여 루트노드값을 계산하고, 저장되어 있는 루트노드값과 일치하는 경우 상기 태그를 인증하는 단계; 상기 리더는 자신의 ID를 태그로 전송하는 단계; 상기 태그는 상기 인증트리내 내부노드를 찾고, 상기 내부노드 레벨+1 정보를 리더에 전송하는 단계; 상기 리더는 자신의 공개키와 상기 공개키에 해당하는 상기 인증트리에서 상기 내부노드 레벨+1부터 끝까지에 해당하는 인증트리 정보를 태그로 전송하는 단계; 및 상기 태그는 상기 리더로부터 수신된 정보를 이용하여 루트노드값을 계산하고, 저장되어 있는 루트노드값과 일치하는 경우 상기 리더를 인증하는 단계를 포함하는 것이 바람직하다.
본 발명에 있어서, 상기 리더 및 태그에 인증트리 정보를 전송하는 단계는 상기 리더용/태그용 공개키 및 개인키를 생성하는 단계; 상기 각 리더용/태그용 공개키를 잎 노드에 연관시켜 인증트리를 생성하는 단계; 상기 리더 및 태그에 상기 인증트리에서 자신의 공개키 및 상기 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중 Sibling에 해당하는 해쉬값을 전송하는 단계; 및 상기 리더 및 태그에 상기 인증트리의 루트 노드값을 전송하는 단계를 포함할 수 있다.
상술한 바와 같이 본 발명에 따르면, 공개키 암호를 RFID 시스템에 사용하게 될 때, 인증서의 유효성을 검증하는 작업이 매우 어려운데, 이를 인증트리를 이용하여 간편하게 인증 작업을 수행함으로써, 구현 라이브러리의 크기를 간소화 할 수 있고, 인증트리를 사용할 때 필요한 인증 정보의 양을 줄여서 통신량을 줄일 수 있다.
도 1은 본 발명에 따른 RFID 시스템을 보이는 도면이다.
도 2은 도 1에서 리더-태그 시스템 회사가 생성하는 인증트리의 예시도 이다.
도 3은 도 2의 인증트리 생성을 위한 알고리즘이다.
도 4는 본 발명의 제1 실시 예에 따른 태그와 리더간 상호 인증 방법을 보이는 흐름도 이다.
도 5는 도 4 중 태그가 리더를 인증하는 방법을 설명하는 도면이다.
도 6은 본 발명의 제2 실시 예에 따른 태그와 리더간 상호 인증 방법을 보이는 흐름도 이다.
이하 첨부된 도면들을 참조하여 본 발명의 실시 예들을 설명한다. 하기의 설명 및 첨부된 도면은 본 발명에 따른 동작을 이해하기 위한 것이며, 본 기술 분야의 통상의 기술자가 용이하게 구현할 수 있는 부분은 생략될 수 있다.
또한 본 명세서 및 도면은 본 발명을 제한하기 위한 목적으로 제공된 것은 아니고, 본 발명의 범위는 청구의 범위에 의하여 정해져야 한다. 본 명세서에서 사용된 용어들은 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 1은 본 발명에 따른 RFID 시스템을 보이는 도면으로, 합법적인 리더 및 태그를 생성하는 리더-태그 시스템 회사(100), 리더(200) 및 태그(300)를 포함한다.
리더-태그 시스템 회사(100)는 추후 생성될 합법적인 리더(200) 및 태그(300)들에 대하여 각각 리더용/태그용 공개키 및 개인키를 생성하고, 각 리더용/태그용 공개키를 잎 노드에 연관시켜 인증트리를 생성한 후, 리더(200) 및 태그(300)에 인증트리 정보를 전송한다.
다음에 리더-태그 시스템 회사(100)가 생성하는 인증트리에 대하여 상세히 설명한다.
서명자(signer, 리더(200) 또는 태그(300))와 검증자(verifier, 태그(300)또는 리더(200))가 존재하고, 서명자는 검증자에게 데이터
Figure pat00001
중 임의의
Figure pat00002
를 보내고, 검증자는 수신한 데이터를 검증하려 한다고 가정하자. 이를 위해 서명자는
Figure pat00003
에 대해 인증트리를 구성한 후, 검증자에게 임의의
Figure pat00004
와 인증 부가 정보(이하 설명)를 보내며, 검증자는 이를 이용하여
Figure pat00005
를 검증할 수 있다.
Figure pat00006
함수는 일방향 해쉬 함수(one-way hash function)를 나타내며, MD5, SHA-256 등이 널리 사용된다.
인증 정보 생성 인증트리는 변형된 완전 이진 트리로써, 도 2에 도시된 바와 같이 각 잎 노드에 대해 데이터
Figure pat00007
가 대응된다. 인증트리의 각 노드
Figure pat00008
에는 하나의 값
Figure pat00009
가 연관되어 있다.
Figure pat00010
가 잎 노드인 경우,
Figure pat00011
로 표시하며 이에 연관된 값은
Figure pat00012
로 설정한다.
Figure pat00013
가 내부 노드인 경우,
Figure pat00014
로 표시하며, 자식 노드가 각각
Figure pat00015
이라면,
Figure pat00016
로 설정한다. 또한
Figure pat00017
에 연관된 값은
Figure pat00018
이며, 예를 들면, 도 2에서
Figure pat00019
이다. 여기서 노드
Figure pat00020
에서 조상 노드
Figure pat00021
까지 경로 상에 있는 각 노드의 모든 형제 노드와 연관된 값의 집합을
Figure pat00022
라고 정의하며, 일 예로 도 2에서
Figure pat00023
이다. 인증트리의 생성 방법은 도 3의 알고리즘에 도시되어 있다.
데이터 전송 임의의
Figure pat00024
에 대하여 서명자는 검증자에게
Figure pat00025
을 전송한다. 여기서
Figure pat00026
는 검증자가 수신하여 검증해야할 데이터 이며, 나머지는 검증에 필요한 인증 부가 정보이다.
데이터 검증
Figure pat00027
를 검증하려면, 이전 부가 정보를 이용하여 해당 잎 노드
Figure pat00028
부터 루트 노드까지의 경로 상에 있는 각 노드에 연관된 값을 구한 후, 루트 노드와 연관된 값에 대한 서명값인
Figure pat00029
을 검증해야 하며, 다음과 같을 절차를 따른다. 먼저
Figure pat00030
로 나타낼 수 있으며,
Figure pat00031
는 앞에서 언급한 경로 상에 있는 노드 중, 레벨
Figure pat00032
에 있는 노드의 형제 노드에 연관된 값이다. 우선 검증자는 경로 중 레벨
Figure pat00033
에 있는 잎 노드
Figure pat00034
에 연관된 값
Figure pat00035
를 구한다. 경로 상의 노드 중 레벨
Figure pat00036
에 있는 내부 노드에 연관된 값은 경로 상의 노드 중 레벨
Figure pat00037
에 있는 노드에 연관된 값과
Figure pat00038
를 이용하여 구할 수 있으며,
Figure pat00039
값을
Figure pat00040
부터
Figure pat00041
까지 차례로 바꾸어 경로 상에 있는 각 노드에 연관된 값을 모두 구한다. 그 후, 서명자의 공개키를 이용하여
Figure pat00042
을 복호한 값과 루트 노드와 연관된 값인
Figure pat00043
과 일치하면,
Figure pat00044
이 성공적으로 검증된 것이며, 일 방향 해쉬 함수의 성질에 따라
Figure pat00045
를 계산할 때 사용한 모든 값들이 검증된 것이고, 따라서
Figure pat00046
가 성공적으로 검증된 것이다.
도 2는 잎 노드가
Figure pat00047
개로 구성된 인증트리를 보여주고 있다. 데이터는
Figure pat00048
이며, 잎 노드에 연관된 값들은 각각
Figure pat00049
,
Figure pat00050
,
Figure pat00051
,
Figure pat00052
이다. 또한 내부 노드와 연관된 값은
Figure pat00053
,
Figure pat00054
,
Figure pat00055
으로 계산된다.
Figure pat00056
를 검증하기 위해 필요한 인증 부가 정보는
Figure pat00057
Figure pat00058
이며,
Figure pat00059
를 검증하는 방법은 다음과 같다. 먼저,
Figure pat00060
를 계산한 후
Figure pat00061
를 이용하여
Figure pat00062
을 계산한다.
Figure pat00063
Figure pat00064
을 가지고
Figure pat00065
을 만들 수 있으며,
Figure pat00066
를 공개키로 복호화한 값과
Figure pat00067
이 같은지 확인하여
Figure pat00068
를 검증한다.
도 4는 본 발명의 제1 실시 예에 따른 태그와 리더간 상호 인증 방법을 보이는 흐름도 이다.
먼저, 리더-태그 시스템 회사(100)는 추후 만들어질 합법적인 리더(200) 및 태그(300)에 대한 각각의 리더용/태그용 공개키 및 각각의 리더용/태그용 개인키를 생성한다(401단계).
이후, 리더-태그 시스템 회사(100)는 각 리더용/태그용 공개키를 잎노드에 연관시켜 인증트리를 생성한다(403단계). 리더-태그 시스템 회사(100)의 인증트리 생성에 대한 내용은 상기에 개시되어 있으므로 생략한다.
인증트리 생성이 완료되면, 리더-태그 시스템 회사(100)는 인증트리에서 리더(200)의 공개키 및 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00069
에 해당하는 해쉬값을 리더(200)로 전송한다(405단계).
이후, 리더-태그 시스템 회사(100)는 생성된 인증트리의 루트 노드값을 태그(300)로 전송한다(407단계).
또한 인증트리 생성이 완료되면, 리더-태그 시스템 회사(100)는 인증트리에서 태그(300)의 공개키 및 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00070
에 해당하는 해쉬값을 태그(300)로 전송한다(409단계).
이후, 리더-태그 시스템 회사(100)는 생성된 인증트리의 루트 노드값을 리더(200)로 전송한다(411단계). 본 실시 예에서 405단계와 407단계는 409단계와 411단계와 순서가 바뀌어도 무방하다.
이후 태그(300)가 리더(200)를 인증하는 경우, 리더(200)는 자신의 공개키와 저장된 값 즉, 인증트리에서 자신의 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00071
에 해당하는 해쉬값을 태그(300)로 전송한다(413단계).
태그(300)는 이 값을 수신하여 루트 노드값을 계산하여 미리 저장되어 있는 루트 노드값과 일치한 경우 이 리더(200)를 인증된 리더(200)라고 식별하고 그 공개키를 믿게 된다(415단계).
태그(300)가 리더(200)를 인증하는 경우를 도 5를 참조하여 설명한다.
리더-태그 시스템 회사(100)는 4개의 리더를 생산한다고 가정하면, 리더-태그 시스템 회사(100)는 각 리더용 공개키, 개인키를 생성한다.
리더-태그 시스템 회사(100)가 생성한 각 리더용 공개키를
Figure pat00072
라고 하면, 이 값들을 도 2에 도시된 인증트리의 잎 노드에 각
Figure pat00073
,
Figure pat00074
,
Figure pat00075
,
Figure pat00076
로 연관시킨다. 또한 내부 노드와 연관된 값은
Figure pat00077
,
Figure pat00078
,
Figure pat00079
으로 계산된다.
각 리더는 인증트리에서 자신의 공개키와, 자신의 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중 에 해당하는 해쉬값을 저장하고 있다. 일 예로, 공개키
Figure pat00081
를 갖는 리더
Figure pat00082
Figure pat00083
를 가지고 있다.
후추 생성될 태그에는 생성된 인증트리의 루트 노드 값
Figure pat00084
을 저장해 놓는다.
태그-리더 인증을 고려하면, 공개키
Figure pat00085
를 갖는 리더
Figure pat00086
가 어떤 임의의 태그와 통신을 하여 리더가 합법적인 리더임을 보이고 싶은 경우, 자신의 공개키와 인증 정보
Figure pat00087
를 태그로 전송한다.
태그는 이를 수신하여 다음과 같은 루트 노드 값을 계산한다.
Figure pat00088
를 계산한 후
Figure pat00089
을 이용하여
Figure pat00090
을 계산한다.
Figure pat00091
Figure pat00092
을 가지고
Figure pat00093
을 만들 수 있으며, 미리 저장된
Figure pat00094
과 계산된
Figure pat00095
이 같은지 확인하여 리더의 공개키
Figure pat00096
를 검증한다.
이와 같이 태그(300)의 리더(200) 인증이 완료되면, 리더(200)의 태그(300) 인증을 수행하는데, 먼저 태그(300)는 자신의 공개키와 저장된 값 즉, 인증트리에서 자신의 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00097
에 해당하는 해쉬값을 리더(200)로 전송한다(417단계).
리더(200)는 이 값을 수신하여 루트 노드값을 계산하여 미리 저장되어 있는 루트 노드값과 일치한 경우 이 태그(300)를 인증된 태그(300)라고 식별하고 그 공개키를 믿게 된다(419단계).
이와 같은 과정을 통하여 리더(200) 및 태그(300) 간 상호 인증이 완료된다(421단계).
RFID 환경에서 인증트리를 사용할 때 인증에 관련하여 통신량을 줄일 수 있다. 인증트리를 그대로 이용했을 경우, 인증 정보를 전달하기 위해서 트리의 높이만큼의 해쉬 정보를 전송해야 하는데, 일 예로
Figure pat00098
(도 2의 경우)이며, 이는 트리의
Figure pat00099
에 해당하는 정보이다. 트리의 높이는 트리가 균형이 잡힌 경우 노드의 개수가
Figure pat00100
개 일 때,
Figure pat00101
이며, 트리가 한쪽으로 치우친 경우 최대
Figure pat00102
개 까지 커질 수 있으므로 비효율적인 문제가 발생한다.
이에 인증트리를 사용하여 리더(200)가 태그(300)의 공개키를 인증하는 방법의 시나리오에서 리더(200)가 타 태그(300)들을 인증한 정보들을 저장하고 있을 경우, 이를 이용하여 통신량을 줄일 수 있다.
일예로, 도 4에서
Figure pat00103
에 해당하는 이전 리더(또는 태그)를 이미 태그(또는 리더)가 검증하였고, 이들 정보를 캐슁하여 가지고 있다고 가정한다. 그리고 새 리더(또는 새 태그)
Figure pat00104
를 인증하려 한다고 하면, 공개키
Figure pat00105
를 갖는
Figure pat00106
를 인증하기 위해서 필요한 정보는
Figure pat00107
이다. 그러나 이 중
Figure pat00108
Figure pat00109
를 인증할 때 이미 태그(또는 리더)가 생성하고 검증한 값이므로 이를 다시 보낼 필요가 없다. 이에 태그(또는 리더)는
Figure pat00110
값만 보내면 되어 통신량을 줄일 수 있다.
도 6은 통신량을 줄일 수 있는 본 발명의 제2 실시 예에 따른 태그와 리더간 상호 인증 방법을 보이는 흐름도 이다.
먼저, 리더-태그 시스템 회사(100)는 추후 만들어질 합법적인 리더(200) 및 태그(300)에 대한 각각의 리더용/태그용 공개키 및 각각의 리더용/태그용 개인키를 생성한다(601단계).
이후, 리더-태그 시스템 회사(100)는 각 리더용/태그용 공개키를 잎노드에 연관시켜 인증트리를 생성한다(603단계). 리더-태그 시스템 회사(100)의 인증트리 생성에 대한 내용은 상기에 개시되어 있으므로 생략한다.
인증트리 생성이 완료되면, 리더-태그 시스템 회사(100)는 인증트리에서 리더(200)의 공개키 및 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00111
에 해당하는 해쉬값을 리더(200)로 전송한다(605단계).
이후, 리더-태그 시스템 회사(100)는 생성된 인증트리의 루트 노드값을 태그(300)로 전송한다(607단계).
또한 인증트리 생성이 완료되면, 리더-태그 시스템 회사(100)는 인증트리에서 태그(300)의 공개키 및 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00112
에 해당하는 해쉬값을 태그(300)로 전송한다(609단계).
이후, 리더-태그 시스템 회사(100)는 생성된 인증트리의 루트 노드값을 리더(200)로 전송한다(611단계). 본 실시 예에서 605단계와 607단계는 609단계와 611단계와 순서가 바뀌어도 무방하다.
이후 리더(200)가 태그(300)를 인증하는 경우, 태그(300)는 자신의 ID를 리더(200)로 전송한다(613단계).
이를 수신한 리더(200)는 인증트리내
Figure pat00113
를 계산하여 이미 저장되어 있는 내부 노드를 찾고, 그 노드의 레벨을
Figure pat00114
라고 하면,
Figure pat00115
부터 정보가 필요하므로, 리더(200)는 태그(300)로
Figure pat00116
정보를 전송한다(615단계).
이를 수신한 태그(300)는 인증트리에서 자신의 공개키와, 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00117
에 해당하는 해쉬값을 리더(200)로 전송한다(617단계).
리더(200)는 이 값을 수신하여 루트 노드값을 계산하여 미리 저장되어 있는 루트 노드값과 일치한 경우 이 태그(300)를 인증된 태그(300)라고 식별하고 그 공개키를 믿게 된다(619단계).
이와 같이 리더(200)의 태그(300) 인증이 완료되면, 태그(300)의 리더(200) 인증을 수행하는데, 먼저 리더(200)는 자신의 ID를 태그(300)로 전송한다(621단계).
이를 수신한 태그(300)는 인증트리내
Figure pat00118
를 계산하여 이미 저장되어 있는 내부 노드를 찾고, 그 노드의 레벨을
Figure pat00119
라고 하면,
Figure pat00120
부터 정보가 필요하므로, 태그(300)는 리더(200)로
Figure pat00121
정보를 전송한다(623단계).
이를 수신한 리더(200)는 인증트리에서 자신의 공개키와, 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중
Figure pat00122
에 해당하는 해쉬값을 태그(300)로 전송한다(625단계).
태그(300)는 이 값을 수신하여 루트 노드값을 계산하여 미리 저장되어 있는 루트 노드값과 일치한 경우 이 리더(200)를 인증된 리더(200)라고 식별하고 그 공개키를 믿게 된다(627단계).
이와 같은 과정을 통하여 리더(200) 및 태그(300) 간 상호 인증이 완료된다(629단계).
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (4)

  1. 합법적인 리더-태그를 생성하는 회사는 공개키를 이용하여 합법적인 리더 및 태그에 대한 인증트리를 생성하고, 상기 리더 및 태그에 상기 인증트리 정보를 전송하는 단계;
    상기 리더는 자신의 공개키 및 상기 인증트리 정보를 태그로 전송하는 단계;
    상기 태그는 상기 리더로부터 수신한 값으로 상기 인증트리의 루트노드 값을 계산하여 저장되어 있는 루트노드값과 일치하는 경우 상기 리더를 인증하는 단계;
    상기 태그는 자신의 공개키 및 상기 인증트리 정보를 리더로 전송하는 단계; 및
    상기 리더는 상기 태그로부터 수신한 값으로 상기 인증트리의 루트노드값을 계산하여 저장되어 있는 루트노드값과 일치하는 경우 상기 태그를 인증하는 단계를 포함하는 태그-리더간 상호 인증 방법.
  2. 제 1항에 있어서, 상기 리더 및 태그에 인증트리 정보를 전송하는 단계는
    상기 리더용/태그용 공개키 및 개인키를 생성하는 단계;
    상기 각 리더용/태그용 공개키를 잎 노드에 연관시켜 인증트리를 생성하는 단계;
    상기 리더 및 태그에 상기 인증트리에서 자신의 공개키 및 상기 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중 Sibling에 해당하는 해쉬값을 전송하는 단계; 및
    상기 리더 및 태그에 상기 인증트리의 루트 노드값을 전송하는 단계를 포함하는 것을 특징으로 하는 태그-리더간 상호 인증 방법.
  3. 합법적인 리더-태그를 생성하는 회사는 공개키를 이용하여 합법적인 리더 및 태그에 대한 인증트리를 생성하고, 상기 리더 및 태그에 상기 인증트리 정보를 전송하는 단계;
    상기 태그는 자신의 ID를 리더로 전송하는 단계;
    상기 리더는 상기 인증트리내 내부노드를 찾고, 상기 내부노드 레벨+1 정보를 태그에 전송하는 단계;
    상기 태그는 자신의 공개키와 상기 공개키에 해당하는 상기 인증트리에서 상기 내부노드 레벨+1부터 끝까지에 해당하는 인증트리 정보를 리더로 전송하는 단계;
    상기 리더는 상기 태그로부터 수신된 정보를 이용하여 루트노드값을 계산하고, 저장되어 있는 루트노드값과 일치하는 경우 상기 태그를 인증하는 단계;
    상기 리더는 자신의 ID를 태그로 전송하는 단계;
    상기 태그는 상기 인증트리내 내부노드를 찾고, 상기 내부노드 레벨+1 정보를 리더에 전송하는 단계;
    상기 리더는 자신의 공개키와 상기 공개키에 해당하는 상기 인증트리에서 상기 내부노드 레벨+1부터 끝까지에 해당하는 인증트리 정보를 태그로 전송하는 단계; 및
    상기 태그는 상기 리더로부터 수신된 정보를 이용하여 루트노드값을 계산하고, 저장되어 있는 루트노드값과 일치하는 경우 상기 리더를 인증하는 단계를 포함하는 태그-리더간 상호 인증 방법.
  4. 제 3항에 있어서, 상기 리더 및 태그에 인증트리 정보를 전송하는 단계는
    상기 리더용/태그용 공개키 및 개인키를 생성하는 단계;
    상기 각 리더용/태그용 공개키를 잎 노드에 연관시켜 인증트리를 생성하는 단계;
    상기 리더 및 태그에 상기 인증트리에서 자신의 공개키 및 상기 공개키에 해당하는 잎 노드로부터 루트 노드까지의 경로 중 Sibling에 해당하는 해쉬값을 전송하는 단계; 및
    상기 리더 및 태그에 상기 인증트리의 루트 노드값을 전송하는 단계를 포함하는 것을 특징으로 하는 태그-리더간 상호 인증 방법.
KR1020100002772A 2010-01-12 2010-01-12 태그-리더간 상호 인증 방법 KR20110082861A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100002772A KR20110082861A (ko) 2010-01-12 2010-01-12 태그-리더간 상호 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100002772A KR20110082861A (ko) 2010-01-12 2010-01-12 태그-리더간 상호 인증 방법

Publications (1)

Publication Number Publication Date
KR20110082861A true KR20110082861A (ko) 2011-07-20

Family

ID=44920697

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100002772A KR20110082861A (ko) 2010-01-12 2010-01-12 태그-리더간 상호 인증 방법

Country Status (1)

Country Link
KR (1) KR20110082861A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058104A (ko) * 2016-11-23 2018-05-31 부산대학교 산학협력단 트리 기반 다중 사물인터넷 디바이스의 동시 인증을 위한 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180058104A (ko) * 2016-11-23 2018-05-31 부산대학교 산학협력단 트리 기반 다중 사물인터넷 디바이스의 동시 인증을 위한 시스템 및 방법

Similar Documents

Publication Publication Date Title
US11394559B2 (en) Methods and systems for ownership verification using blockchain
EP3175578B1 (en) System and method for establishing trust using secure transmission protocols
JP7083892B2 (ja) デジタル証明書のモバイル認証相互運用性
US11070542B2 (en) Systems and methods for certificate chain validation of secure elements
US11025437B2 (en) Post-manufacture certificate generation
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
US20190165947A1 (en) Signatures for near field communications
US10856146B2 (en) Electronic device verification
ES2822327T3 (es) Método y dispositivo para confirmar la autenticidad de un evento de transacción de infraestructura de clave pública (PKI)
US8667283B2 (en) Soft message signing
US20150143545A1 (en) Function for the Challenge Derivation for Protecting Components in a Challenge-Response Authentication Protocol
EP3133791B1 (en) Double authentication system for electronically signed documents
KR101253683B1 (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
CN114830092A (zh) 用于防御恶意程序代码注入的系统和方法
CN110798322A (zh) 一种操作请求方法、装置、存储介质及处理器
Rivera et al. Securing Digital Identity in the Zero Trust Architecture: A Blockchain Approach to Privacy-Focused Multi-Factor Authentication
US7853793B2 (en) Trusted signature with key access permissions
Chen et al. How to bind a TPM’s attestation keys with its endorsement key
CN114172923B (zh) 数据传输方法、通信系统及通信装置
US11831792B2 (en) Mutual authentication of computer systems over an insecure network
KR20110082861A (ko) 태그-리더간 상호 인증 방법
US12052374B2 (en) System and methods for verifying a cryptographic access code
Aciobanitei et al. Lightweight version of SQRL authentication protocol based on cryptography in the cloud
Akram et al. Security of an RFID Based Authentication Protocol with Bitwise Operations for Supply Chain
EP3809626A1 (en) Method for controlling validity of an attribute

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid