KR101325227B1 - 통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법 - Google Patents

통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법 Download PDF

Info

Publication number
KR101325227B1
KR101325227B1 KR20070045952A KR20070045952A KR101325227B1 KR 101325227 B1 KR101325227 B1 KR 101325227B1 KR 20070045952 A KR20070045952 A KR 20070045952A KR 20070045952 A KR20070045952 A KR 20070045952A KR 101325227 B1 KR101325227 B1 KR 101325227B1
Authority
KR
South Korea
Prior art keywords
random number
communication
information processing
processing apparatus
card
Prior art date
Application number
KR20070045952A
Other languages
English (en)
Other versions
KR20070109941A (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 KR20070109941A publication Critical patent/KR20070109941A/ko
Application granted granted Critical
Publication of KR101325227B1 publication Critical patent/KR101325227B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • H04B5/40Near-field transmission systems, e.g. inductive or capacitive transmission systems characterised by components specially adapted for near-field transmission
    • H04B5/48Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • 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
    • 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
    • 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/10237Methods 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 the reader and the record carrier being capable of selectively switching between reader and record carrier appearance, e.g. in near field communication [NFC] devices where the NFC device may function as an RFID reader or as an RFID tag
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B5/00Near-field transmission systems, e.g. inductive or capacitive transmission systems
    • 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
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Landscapes

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

Abstract

소정의 프로토콜로 정보를 송수신하는 소정의 커버리지 영역 내에 통신 상대를 유일하게 식별하는 통신 시스템은, 상기 소정의 커버리지 영역 내에 있어서 무선통신을 수행하는 디바이스 및 정보처리장치를 구비한다. 이 디바이스는, 난수생성부, 디바이스 비밀열쇠 기억부, 통신ID 송신부, 디바이스 송수신부를 구비한다. 정보처리장치는, 장치 암호부, 장치 비밀열쇠 기억부, 통신 ID 기억부, 난수 취득부, 장치 송수신부를 구비한다.
Figure R1020070045952
통신 시스템, 난수 생성, 비밀열쇠, 폴링.

Description

통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법{SYSTEM, DEVICE, AND METHOD FOR COMMUNICATION, APPARATUS AND METHOD FOR PROCESSING INFORMATION}
도 1은 본 발명의 일 실시예에 따른 통신시스템을 나타내는 블럭도,
도 2는 도 1의 IC카드의 통신 처리를 설명하는 흐름도,
도 3은 NFCIP-1에 규정되는 응답 프레임 포맷을 도시한 도면,
도 4는 도 1의 리더/라이터와, IC카드와의 사이에서 행해지는 통신을 설명하는 흐름도,
도 5는 통신ID생성 처리를 설명하는 흐름도,
도 6은 난수취득 처리를 설명하는 흐름도.
도 7은 카드ID송신 처리를 설명하는 흐름도,
도 8은 카드ID복호처리를 설명하는 흐름도,
도 9는 판독 데이터 송신 처리를 설명하는 흐름도,
도 10은 기록 요구 송신 처리를 설명하는 흐름도,
도 11은 데이터 기록 처리를 설명하는 흐름도,
도 12는 본 발명의 일 실시예의 IC카드와, 일반적인 리더/라이터와의 사이에서 행 해지는 통신의 상세에 관하여 설명하는 흐름도,
도 13은 본 발명의 다른 실시예에 따른 통신시스템을 나타낸 블록도,
도 14는 도 13의 리더/라이터와, IC카드와의 사이에서 행해지는 통신의 상세에 관하여 설명하는 흐름도,
도 15는 폴링 요구 생성 처리를 설명하는 흐름도,
도 16은 난수B 취득 처리를 설명하는 흐름도,
도 17은 도 13의 리더/라이터와, IC카드와의 사이에서 행해지는 통신의 상세에 관하여 설명하는 흐름도,
도 18은 카드ID 판독 요구 생성 처리를 설명하는 흐름도,
도 19는 난수B 취득 처리를 설명하는 흐름도다.
(관련된 출원에 대한 상호 참조)
본 발명은, 그 전체 내용이 여기서는 참고로 포함된 일본특허청에 2006년 7월 28일에 출원된 일본특허출원 JP 2006-205702에 관련된 주제를 포함한다)
본 발명은, 통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법, 컴퓨터 프로그램, 및 기록 매체에 관한 것이다. 특히, 본 발명은, 간단한 구성으로 안전하고 편리성이 높은 통신을 행하는 통신시스템, 디바이스, 통신방법, 정보처리장 치 및 방법, 컴퓨터 프로그램, 및 기록 매체에 관한 것이다.
최근, 비접촉형 ICC카드나 무선주파수 식별기(RFID)가 널리 사용되고 있다. 복수의 비접촉형 IC카드 또는 복수의 리더/라이터가 종래의 카드와 리더/라이터와의 사이에서 행해지는 통신에 있어서 전파를 송출하는 경우, 각 카드 또는 각 리더/라이터는 또 다른 리터/라이터 또는 또 다른 카드를 구별할 수 없다. 이것을 RF 충돌이라고 한다. 그 RF 충돌을 방지하기 위해서, 카드에 고유한 카드 식별자(ID)을 사용하는 것이 많다.
이와 같이 충돌을 방지하기 위해 카드ID를 사용하는 경우, 카드ID는, 어느 리더/라이터에서도 판독하는 것이 가능해진다. IC카드의 보유자가 쉽게 식별되고 그 보유자의 프라이버시가 침해될 수 있다.
또한, 예를 들면 희소성 상품 등의 진위성을 확인하기 위해서 상품에 RFID를 부착할 수 있는 것도 있다. 상품에 부착할 수 있는 RFID는 고유한 ID이다. RFID와 통신가능한 리더/라이터가 있으면, 그 상품을 구입한 유저의 행동을 감시하는 것도 가능해져버린다.
리더/라이터의 통신가능한 범위에 있는 IC카드와 RFID를 식별하기 위한 방식인 NFCIP(Near Field Communication - Interface and Protocol)을 표준화한 규격으로서 ISO/IEC 18092(NFCIP-1)이 규정되어 있다. 이 규격에 의하면, IC카드나 RFID에 고유한 ID가 리더/라이터에 송신되는 않고, 충돌을 방지하는 것이 가능해진다.
또한, 일본국 공개특허공보 특개2005-348306호에는, 리더/라이터와 RFID등의 디지털 태그의 쌍방에 비밀공유정보를 설정하고, 동정보를 가지는 리더/라이터만이 암호화된 발신 정보를 복호 가능하게 함으로써, 부정한 추적을 방지하고, 프라이버시를 보호하는 기술도 제안되어 있다.
그렇지만, NFCIP-1에 있어서는, IC카드나 RFID에 고유의 ID가 송신되지 않으므로, 이대로는 개개의 IC카드나 RFID 그 자체를 식별할 수 없다. 이 때문에, 개개의 IC카드나 RFID를 개별적으로 식별할 필요가 있는 경우, 칩의 데이터 영역에 IC카드나 RFID에 고유한 ID를 기억시켜 두고, 필요에 e따라서 고유의 ID를 리더/라이터에 송신할 수도 있다. 이 기술에서는, 고유한 ID를 암호화해서 안전하게 송신하기 위해서, 세션 열쇠를 교환하기 위한 인증 시퀸스가 필요한다.
또한, 일본국 공개특허공보 특개2005-348306호의 기술에서는, 디지털 태그의 고유한 ID를 은닉하는 것이 가능해지지만, 일방향 통신에 관해서만 적용된다. 양방향 통신하는 RFID에 숨기는데 식별 번호를 필요로 하므로, 통신 상대가 식별될 수 없다.
그래서, 본 발명은 간단한 구성으로 안전하고 편리한 통신을 행하는 것이 바람직하다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상 대를 유일하게 식별하고 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템이다. 상기 디바이스는, 난수를 생성하는 난수생성부와, 소정의 열쇠에 의거하여 소정의 알고리즘으로 정보를 암호화 또는 복호하는 디바이스 암호화부와, 상기 디바이스 암호화부에 의한 암호화와 복호에 사용되고, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 디바이스 비밀 열쇠기억부와, 상기 정보처리장치로부터 송신되는 폴링에 대응하여, 상기 난수생성부에 의해 생성된 난수를, 상기 비밀열쇠를 사용해서 상기 디바이스 암호화부에 의해 암호화한 ID이고, 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID송신부와, 상기 난수생성부에 의해 생성된 난수를 열쇠로서 사용하여, 상기 디바이스 암호화부에 의해 정보를 암호화 또는 복호하고, 상기 정보처리장치에 또는 정보처리장치로부터의 정보를 송수신하는 디바이스 송수신부를 구비한다. 상기 정보처리장치는, 소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 장치암호화부와, 상기 장치암호화부에 의한 암호화 또는 복호에 사용되고, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 장치 비밀열쇠 기억부와, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 통신ID기억부와, 상기 통신ID를, 상기 비밀열쇠를 사용하여, 상기 장치암호화 부으로 복호함으로써 상기 난수를 취득하는 난수취득부와, 상기 난수취득부에 의해 취득된 난수를 열쇠로서 사용하고, 상기 장치암호화부로 정보를 암호화 또는 복호하고, 상기 디바이스에 또 는 디바이스로부터의 정보를 송수신하는 장치 송수신부를 구비한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고 소정의 통신 프로토콜로 정보의 송수신을 행하는 통신시스템의 통신 방법이다. 상기 통신방법은, 난수를 생성하는 스텝과, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 생성된 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하여, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로 유일하게 식별하기 위해서 이용되는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 스텝과, 상기 생성된 난수를 열쇠로서 사용하는 상기 알고리즘에 따라 암호화 또는 복호되는 정보를 상기 정보처리장치에 또는 정보처리장치로부터 송수신 하는 스텝과, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하기 위해서 이용되는 식별자로서 기억하는 스텝과, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호함으로써 상기 난수를 취득하는 스텝과, 상기 취득된 난수를 열쇠로서 사용하는 상기 알고리즘에 따라 암호화 또는 복호된 정보를, 상기 디바이스에 또는 디바이스로부터 송신 또는 수신하는 스텝을 포함한다.
본 발명의 실시예들에 따라, 상기 디바이스에 의해, 난수가 생성되어, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 생성된 난수를, 상기 정보처리 장치와 사전에 공유되어 있는 비밀열쇠를 사용하고, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하고, 상기 생성된 난수를 열쇠로서 사용하고, 상기 알고리즘에 따라 암호화 또는 복호된 정보를 상기 정보처리장치에 또는 정보처리장치로부터 송수신한다. 또한, 상기 정보처리장치에 의해, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID가, 상기 디바이스와의 통신에 있어서 통신 상대를 유일하게 식별하기 위해서 이용되는 식별자로서 기억되어, 상기 통신ID를, 상기 디바이스에 또는 디바이스로부터 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호 함으로써 상기 난수가 취득되어, 상기 취득된 난수를 열쇠로서 사용하고, 정보가 상기 알고리즘에 따라 암호화 또는 복호 되어, 상기 디바이스에 또는 디바이스로부터 송수신 된다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보를 송수신하는 통신시스템의 디바이스이다. 상기 디바이스는, 제1의 난수를 생성하는 난수생성부와, 소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 디바이스 암호화부와, 상기 디바이스 암호화부에 의해 암호화 또는 복호에 사용되고, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 디바이스 비밀 열쇠기억부와, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 난수생성부에 의해 생성된 상기 제1의 난수를, 상기 비밀열쇠를 사용해서 상기 디바이스 암호화부에 의해 암호화한 ID이며 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID송신부와, 상기 난수생성부에 의해 생성된 상기 제1의 난수를 열쇠로서 사용하여, 상기 디바이스 암호화부에 의해 암호화 또는 복호되는 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송신 또는 수신하는 디바이스 송수신부를 구비한다.
상기 통신시스템의 통신 프로토콜은, ISO/IEC 18092로서 규정되는 NFCIP(Near Field Communication-Interface and Protocol)-1이다. 상기 통신ID송신부는, 상기 통신ID를, NFCIP-1에 있어서, RF충돌회피 및 단일 디바이스 탐지에 사용되는 NFC식별자로서 삽입하여도 된다.
상기 디바이스는, 디바이스에 고유한 ID를 기억하는 ID기억부를 더 구비하여도 된다. 상기 정보처리장치로부터 상기 고유 ID의 판독 요구를 수신했을 경우, 상기 ID기억부에 기억되어 있는 고유ID를, 상기 난수생성부에 의해 생성된 상기 제1의 난수를 열쇠로서 사용하여, 상기 디바이스 암호화부에 의해 암호화해서 상기 정보처리장치에 송신한다.
상기 디바이스는, 상기 정보처리장치에 상기 고유ID를 암호화해서 송신한 것인가 아닌가를 판정하는 판정부를 더 구비한다. 상기 판정 수단에 의해, 상기 정보처리장치에 상기 고유ID를 암호화해서 송신했다고 판정되었을 경우, 상기 디바이스 송수신부는, 상기 정보처리장치와의 사이에서 통신되는 정보를, 암호화 또는 복호한다.
상기 디바이스 송수신부는, 상기 난수생성부에 의해 생성된 상기 제1의 난수와, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 정보처리장치로부터 상기 비밀열쇠로 암호화되어서 송신된 제2의 난수를 사용하여, 상기 디바이스 암호화부를 제어해서 상기 정보처리장치와 통신되는 정보를 암호화 또는 복호한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 디바이스의 통신 방법이다. 이 디바이스의 통신방법은, 난수를 생성하는 스텝과, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 생성된 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하여, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로 유일하게 식별하기 위해서 이용되는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 스텝과, 상기 생성된 난수를 열쇠로서 사용하는 상기 알고리즘에 따라 암호화 또는 복호된 정보를 송신 또는 수신하는 스텝을 포함한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 디바이스의 통신 방법을 디바이스가 수행하게 하는 컴퓨터 판독 가능한 프로그램에 관한 것이다. 이 컴퓨터 프로그램은, 난수를 생성하는 스텝과, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 생성된 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하여, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로 유일하게 식별하기 위해서 이용되는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 스텝과, 상기 생성된 난수를 열쇠로서 사용하는 상기 알고리즘에 따라 암호화 또는 복호된 정보를 송신 또는 수신하는 스텝을 포함한다.
본 발명의 실시예들에 따라, 난수가 생성된다. 통신 ID를 포함한 응답은, 상기 정보처리장치에 송신된다. 통신 ID는, 정보처리장치를 통신 상대로서 유일하게 식별하고, 정보처리장치로부터 송신된 폴링에 따라 생성된 난수를 정보처리장치와 사전에 공유하고 있는 비밀열쇠로 소정의 알고리즘에 따라 암호화하여 생성된다. 상기 생성된 난수를 비밀열쇠로서 사용하는 알고리즘에 따라 암호화되거나 복호되는 정보는, 송신 또는 수신된다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 정보처리장치이다. 이 정보처리장치는, 소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 장치암호화부와, 상기 장치암호화부에 의해 암호화 또는 복호에 사용되고, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 장치 비밀열쇠 기억부와, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 통신ID기억부와, 상기 통신ID를, 상기 비밀열쇠를 사용하여, 상기 장치암호화부로 복호함으로써 제1의 난수를 취득하는 난수취득부와, 상기 난수취득부에 의해 취득된 상기 제1의 난수를 사용하여, 상기 장치암호화부에 의해 암호화 또는 복호된 정보를, 상기 디바이스에 또는 디바이스로부터 송수신하는 장치 송수신부를 구비한다. 상기 통신시스템의 통신 프로토콜은, ISO/IEC 18092로서 규정되는 NFCIP(Near Field Communication Interface and Protocol)-1이다. 상기 통신ID기억부는, 폴링에 따라서 상기 디바이스로부터 송신되는 응답에 포함되고 NFCIP-1에 있어서 RF충돌회피 및 단일 디바이스 탐지에 사용되는 NFC식별자를, 상기 통신ID로서 기억한다.
이 정보처리장치는, 제2의 난수를 생성하는 난수생성부를 더 구비하여도 된다. 상기 장치 송수신부는, 상기 폴링시 또는, 상기 폴링의 다음 송신시에 상기 제2의 난수를 상기 비밀열쇠로 암호화해서 상기 디바이스에 송신하는 동시에, 상기 난수취득부에 의해 취득된 상기 제1의 난수와 상기 제2의 난수를 사용하여, 상기 장치암호화부를 제어해서 상기 디바이스와 통신되는 정보를 암호화 또는 복호한다.
상기 디바이스의 고유ID를 판독하는 경우, 상기 장치 송수신부는, 상기 정보처리장치와의 사이에서 통신되는 정보를, 암호화 또는 복호하여도 된다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치에 의해 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 정보처리장치의 정보처리 방법에 관한 것이다. 이 정보처리 방법은, 폴링에 따라서 상기 디바이스로부터 송신되는 응답을 수신해서 상기응답에 포함되는 통신 ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 스텝과, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 암호화하여서, 난수를 취득하는 스텝과, 상기 취득된 난수를 열쇠로서 사용하는 알고리즘에 따라 암호화되거나 복호되는 정보를 상기 디바이스에 및 디바이스로부터 송신 또는 수신하는 스텝을 포함한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하여 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 통신처리방법을 정보처리장치에 실행시키는 컴퓨터 판독 가능한 프로그램에 관한 것이다. 이 컴퓨터 판독 가능한 프로그램은, 폴링에 따라서 상기 디바이스로부터 송신되는 응답을 수신해서 상기응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 스텝과, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 암호화하여서, 난수를 취득하는 스텝과, 상기 취득된 난수를 열쇠로서 사용하는 알고리즘에 따라 암호화되거나 복호되는 정보를 상기 디바이스에 및 디바이스로부터 송신 또는 수신하는 스텝을 포함한다.
폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID는 기억된다. 통신 ID는, 상기 디바이스를 통신상대로서 유일하게 식별하는 식별자이다. 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호 함으로써 상기 난수가 취득된다. 상기 취득된 난수를 열쇠로서 사용하여, 상기 알고리즘에 따라 암호화 또는 복호된 정보는, 송신 또는 수신된다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하여 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템에 관한 것이다. 이 통신시스템은, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성된다. 상기 디바이스는, 제1의 난수를 생성하는 디바이스 난수생성부와, 소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 디바이스 암호화부와, 상기 디바이스 암호화부에 의한 암호화 및 복호에 사용되고 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를, 기억하는 디바이스 비밀열쇠 기억부와, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 디바이스 난수생성부에 의하여 생성된 상기 제1의 난수를 상기 비밀열쇠를 사용해서 상기 디바이스 암호화부에 의해 암호화한 ID이고, 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID 송신부와, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 정보처리장치로부터 상기 비밀열쇠로 암호화되어서 송신되어 오는 제2의 난수와, 상기 난수생성부에 의해 생성된 상기 제1의 난수를 사용하여, 상기 디바이스 암호화부를 제어해서 정보처리장치와 통신되는 정보를 암호화 또는 복호하는 디바이스 송수신부를 구비한다. 상기 정보처리장치는, 상기 제2의 난수를 생성하는 장치 난수생성부와, 소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 장치암호화부와, 상기 장치암호화부에 의한 암호화 또는 복호 에 사용되고 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를, 기억하는 장치 비밀 열쇠 기억부와, 상기 폴링에 따라서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함된 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 통신ID기억부와, 상기 통신ID를, 상기 비밀열쇠를 사용하여, 상기 장치암호화부로 복호함으로써 상기 제1의 난수를 취득하는 난수취득부와, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 제2의 난수를 상기 비밀열쇠로 암호화해서 상기 디바이스에 그 암호화된 제2의 난수를 송신하는 동시에, 상기 난수취득부에 의해 취득된 상기 제1의 난수와 상기 제2의 난수를 사용하여, 상기 장치 암호화부를 제어해서 상기 디바이스와 통신되는 정보를 암호화 또는 복호하는 장치 송수신부를 구비한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하여 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 통신 방법에 관한 것이다. 이 통신방법은, 제1의 난수를 생성하는 스텝과, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 생성된 상기 제1의 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하여, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 스텝과, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 정보처리장치로부터 상기 비밀열쇠로 암호화되어서 송신되어 오는 제2의 난수와, 생성된 상기 제1의 난수를 열쇠로서 사용하는 상기 알고리즘에 따라 암호화 또는 복호된 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송신 또는 수신하는 스텝과, 제2의 난수를 생성하는 스텝과, 상기 폴링에 따라서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 스텝과, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호함으로써 상기 제1의 난수를 취득하는 스텝과, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 제2의 난수를 상기 비밀열쇠로 암호화해서 상기 디바이스에 송신하는 동시에, 취득된 상기 제1의 난수와 상기 제2의 난수를 사용하는 상기 알고리즘에 따라 암호화 또는 복호되는 정보를, 송신 또는 수신하는 스텝을 포함한다.
본 발명의 실시예들에 따라, 상기 디바이스는, 제1의 난수를 생성하고, 상기 정보처리장치로부터 송신되는 폴링에 대응하여 생성된 상기 제1의 난수를, 정보처리장치와 사전 공유한 비밀열쇠로 소정의 알고리즘에 따라 암호화하여 생성되고 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하고, 상기 생성된 상기 제1의 난수와 비밀열쇠로 암호화되고 폴링시 또는 폴링의 다음 송신시에 정보처리장치로부터 송신된 제2의 난수를 열쇠로서 사용하는 알고리즘에 따라 암호화 또는 복호되는 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송신 또는 수신한다. 상기 정보처리장치에 의해, 상기 제2의 난수가 생성되어, 상기 폴링에 대응해서 상기 디바이스에서 송신되는 응답을 수신해서 상기응답에 포함되는 통신ID가, 상기 디바이스와의 통신에 있어서 통신 상대를 유일하게 식별하기 위해서 이용되는 식별자로서 기억되어, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호 함으로써 상기 제1의 난수가 취득되어, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 제2의 난수가 상기 비밀열쇠로 암호화되어서 상기 디바이스에 송신되는 동시에, 취득된 제1의 난수와 상기 제2의 난수를 열쇠로서 사용하여, 정보가 상기 알고리즘에 따라 암호화 또는 복호되어, 상기 디바이스와의 사이에서 송수신된다.
본 발명의 실시예들에 따라, 단순한 구조로 안전하고 편리한 통신을 수행할 수 있다.
[실시예]
이하에 본 발명의 실시예를 설명하기 전에, 본 발명의 구성 요건과, 명세서 또는 도면에 기재된 실시예와의 대응관계를 설명한다. 이 기재는, 본 발명을 서포트하는 실시예가, 명세서 또는 도면에 기재되어 있는 것을 확인하기 위한 것인다. 따라서, 명세서 또는 도면 중에는 기재되어 있지만, 본 발명의 구성 요건에 대응하는 실시예로서, 여기에는 기재되지 않고 있는 실시예가 있었다고 하여도, 그것은, 그 실시예가, 그 구성 요건에 대응할만한 것이 아닌 것을 의미하는 것이 아니다. 반대로, 실시예가 구성 요건에 대응하는 것으로서 여기에 기재되어 있었다고 하여도, 그것은, 그 실시예가, 그 구성 요건이외의 구성 요건에는 대응하지 않는 것을 의미하는 것이라도 아니다.
본 발명의 일 실시예에 따른 통신시스템은, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스(예를 들면, 도 1의 IC카드 200) 및 정보처리장치(예를 들면 도 1의 리더/라이터 100)에 의해 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템이다. 상기 디바이스는, 난수를 생성하는 난수생성부(예를 들면 도 1의 난수생성부 202)과, 소정의 열쇠 에 의거하여 소정의 알고리즘에서 정보를 암호화 또는 복호 하는 디바이스 암호화부(예를 들면 도 1의 암호 프로세서 208)과, 상기 디바이스 암호화부에 의한 암호화 또는 복호에 사용되고, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 디바이스 비밀열쇠기억부(예를 들면, 도 1의 비밀열쇠기억부203)와, 상기 정보처리장치로부터 송신되는 폴링에 대응해서 상기 난수생성부에 의해 생성된 난수를, 상기 비밀열쇠를 사용해서 상기 디바이스 암호화부에 의해 암호화한 ID이고, 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신 ID송신부(예를 들면 도 4의 스텝SlO3의 처리를 행하는 도 1의 CPU 207)와, 상기 난수생성부에 의해 생성된 난수를 열쇠로서 사용하고, 상기 디바이스 암호화부에 의해 암호화 또는 복호되는 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송수신 하는 디바이스 송수신부(예를 들면, 도 4의 스텝SlO8, 또는 스텝SllO의 처리를 실행하는 도 1의 CPU207)를 구비한다. 상기 정보처리장치는, 소정의 열쇠에 의거하여 소정의 알고리즘에서 정보를 암호화 또는 복호 하는 장치 암호화부(예를 들면, 도 1의 암호 프로세서208)와, 상기 장치암호화부에 의한 암호화 또는 복호에 사용되고, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 장치 비밀 열쇠기억부(예를 들면 도 1의 비밀 열쇠기억부203)와, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스와의 통신에 있어서 통신 상대를 유일하게 식별하기 위해서 이용되는 식별자로서 기억하는 통신ID기억부(예를 들면, 도 6의 스텝S332의 처리를 실행하는 도 1의 CPU lO5)와, 상기 통신ID를, 상기 비밀열쇠를 사용하고, 상기 장치암호화부로 복호 함으로써 상기 난수를 취득하는 난수취득부(예를 들면, 도 6의 스텝S334의 처리를 실행하는 도 1의 CPU lO5)와, 상기 난수취득부에 의해 취득된 난수를 열쇠로서 사용하여 상기 장치암호화부에 의해 암호화 또는 복호되는 정보를, 상기 디바이스에 또는 디바이스로부터 송수신 하는 장치 송수신부(예를 들면 도 4의 스텝S206, S209,또는 S210의 처리를 실행하는 도 1의 CPU lO5)를 구비한다.
본 발명의 일 실시예의 통신 방법은, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스(예를 들면 도 1의 IC카드200) 및 정보처리장치(예를 들면 도 1의 리더/라이터100)에 의해 통신 시스템이 구성되고, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 통신 방법이다. 상기 통신방법은, 난수를 생성하는 스텝(예를 들면 도 5의 스텝S301), 상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 생성된 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하고, 소정의 알고리즘에서 암호화하여 생성되고, 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID로서 포함한 응답을, 상기 정보처리장치에 송신 하는 스텝(예를 들면 도 4의 스텝SlO3)과, 상기 생성된 난수를 열쇠로서 사용하고, 상기 알고리즘에 따라 암호화 또는 복호된 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송수신하는 스텝(예를 들면 도4의 스텝SlO8,또는 스텝SllO)과, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하기 위해서 이용되는 식별자로서 기억하는 스텝(예를 들면 도 6의 스텝S332)과, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에서 복호 함으로써 상기 난수를 취득하는 스텝(예를 들면 도 6의 스텝S334)과, 상기 취득된 난수를 열쇠로서 사용하고, 상기 알고리즘에 따라 암호화 또는 복호된 정보를, 상기 디바이스에 또는 디바이스로부터 송수신 하는 스텝(예를 들면 도 4의 스텝S206, S209,또는 S210)을 포함한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스(예를 들면 도 1의 IC카드200) 및 정보처리장치(예를 들면 도 1의 리더/라이터100)에 의해 통신 시스템이 구성되고, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 디바이스에 관한 것이다. 이 통신시스템의 디바이스는, 제1의 난수를 생성하는 난수생성부(예를 들면 도 1의 난수생성부202)와, 소정의 열쇠에 의거하여 소정의 알고리즘에서 정보를 암호화 또는 복호 하는 디바이스 암호화부(예를 들면 도 1의 암호 프로세서208)와, 상기 디바이스 암호화부에 의한 암호화 또는 복호에 사용되고 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 디 바이스 비밀 열쇠기억부(예를 들면 도 1의 비밀 열쇠기억부203)와, 상기 정보처리장치로부터 송신되는 폴링에 대응하고, 상기 난수생성부에 의해 생성된 제1의 난수를, 상기 비밀열쇠를 사용해서 상기 디바이스 암호화부에 의해 암호화한 ID이고, 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID송신부(예를 들면 도4의 스텝 SlO3을 실행하는 도 1의 CPU 207)와, 상기 난수생성부에 의해 생성된 제1의 난수를 열쇠로서 사용하고, 상기 디바이스 암호화부에 의해 암호화 또는 복호된 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송수신 하는 디바이스 송수신부(예를 들면 도 4의 스텝SlO8, 또는 스텝SllO의 처리를 실행하는 도 1의 CPU207)를 구비한다.
통신 시스템에 있어서의 통신 프로토콜은, ISO/IEC18092로서 규정되는 NFCIP(Near Fleld Communication-Interface and Protocol)-l를 포함한다. 상기 통신ID송신부는, 상기 통신ID로서, NFCIP-1에 있어서, RF충돌회피시 및 단일 디바이스 탐지 처리에 사용되는 NFC식별자(예를 들면 도 3의 NFCID 2)를 삽입하여도 된다.
상기 디바이스는, 자신에게 고유한 고유ID를 기억하는 ID기억부(예를 들면 도 1의 ID기억부204)을 더 구비할 수도 있다. 상기 정보처리장치로부터 상기 고유ID의 판독 요구를 수신하는 경우, 상기 ID기억부에 기억되어 있는 고유ID를, 상기 난수생성부에 의해 생성된 난수를 열쇠로서 사용하고, 상기 디바이스 암호화부로 암호화해서 상기 정보처리장치에 송신한다.
이 디바이스는, 상기 정보처리장치에 상기 고유ID를 암호화해서 송신한 것인 가 아닌가를 판정하는 판정부(예를 들면 도 2의 스텝S29의 처리를 실행하는 도 1의 CPU207)을 더 구비한다. 상기 판정부에 의해, 상기 정보처리장치에 상기 고유ID를 암호화해서 송신했다고 판정되었을 경우, 상기 디바이스 송수신부는, 상기 정보처리장치와의 통신되는 정보를, 암호화 또는 복호한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스(예를 들면 도 1의 IC카드200) 및 정보처리장치(예를 들면 도 1의 리더/라이터 라이터 100)에 의해 통신 시스템이 구성되고, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 디바이스의 통신 방법에 관한 것이다. 이 통신방법은, 난수를 생성하는 스텝(예를 들면 도5의 스텝S301)과, 상기 정보처리장치로부터 송신되는 폴링에 대응하고, 상기 생성된 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하고, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 스텝(예를 들면 도 1의 스텝SlO3), 상기 생성된 난수를 열쇠로서 사용하고, 상기 알고리즘에 따라 암호화 또는 복호되는 정보를 송수신 하는 스텝(예를 들면 도 4의 스텝SlO8, 또는 스텝SllO)을 포함한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스(예를 들면 도 1의 IC카드200) 및 정보처리장치(예를 들면 도 1의 리더/라이터100)에 의해 통신 시스템이 구성되고, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템 의 정보처리장치이다. 그 정보처리장치는, 소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호 하는 장치 암호화부(예를 들면 도 1의 암호 프로세서208)와, 상기 장치 암호화부에 의한 암호화 또는 복호에 사용되고 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 장치 비밀열쇠 기억부(예를 들면 도 1의 비밀열쇠 기억부203)와, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 통신ID기억부(예를 들면 도 6의 스텝S332의 처리를 실행하는 도 1의 CPUlO5)와, 상기 통신ID를, 상기 비밀열쇠를 사용하여 상기 장치암호화부에 의해 복호 함으로써 제1 난수를 취득하는 난수취득부(예를 들면 도6의 스텝S334의 처리를 실행하는 도 1의 CPUlO5)와, 상기 난수취득부에 의하여 취득된 제1 난수로 상기 장치암호화부에 의해 암호화 또는 복호되는 정보를, 상기 디바이스에 또는 디바이스로부터 송수신 하는 장치 송수신부(예를 들면 도 4의 스텝S206, S209,또는 S210의 처리를 실행하는 도 1의 CPUlO5)를 구비한다.
상기 통신시스템에 있어서의 통신 프로토콜은, ISO/IEC 18092로서 규정되는 NFCIP-1이다. 상기 통신ID기억부는, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답에 포함되는 정보이며, NFCIP-1에 있어서, RF충돌회피 시 및 단일 디바이스 탐지 처리에 사용되는 NFC식별자(예를 들면 도3의 NFCID2)를, 상기 통신ID로서 기억한다.
본 발명의 일 실시예는, 소정의 커버리지 영역내에 있어서 무선통신을 행하 는 디바이스(예를 들면 도 1의 IC카드200) 및 정보처리장치(예를 들면 도 1의 리더/라이터 100)에 의해 통신 시스템이 구성되고, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 정보처리장치의 정보처리 방법에 관한 것이다. 이 정보처리 방법은, 폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 스텝(예를 들면 도 6의 스텝S332)과, 상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호함으로써 난수를 취득하는 스텝(예를 들면 도 6의 스텝S334)과, 상기 취득된 난수를 열쇠로서 사용하고, 상기 알고리즘에 따라 암호화 또는 복호되는 정보를, 상기 디바이스에 및 디바이스로부터 송수신 하는 스텝(예를 들면 도 4의 스텝S206, S209,또는 S2lO)을 포함한다.
이하, 도면을 참조하여 본 발명의 실시예들에 관하여 설명한다.
도 1은, 본 발명의 일 실시예에 따른 통신시스템(50)의 블록도다. 도 1에 있어서, 통신시스템(50)은, 리더/라이터(100)과, IC카드(200)로 구성되고 있고, 리더/라이터(100)과, IC카드(200)과는, 예를 들면 각각이 가지는 안테나 등을 거쳐서 무선에 의한 통신을 행한다.
리더/라이터(100)의 입출력부(102)는, 소정의 전자파를 송신하고, 그것에 대한 부하의 변화에 의거하여 IC카드(200)이 근접된 것인가 아닌가를 검출하는 동시에, 예를 들면 IC카드(200)가 근접되었을 때, IC카드(200)에 및 IC카드로부터 각종 의 데이터를 송수신 하는 안테나를 가지는 구성으로 한다. 입출력부(102)는, 발진회로(OSC)로부터 공급되는 소정의 주파수의 반송파를, CPU(105)로부터 공급되는 데이터에 의거하여 ASK(Amplitude Shift keying)변조하고, 생성된 변조파를, 전자파로서 안테나로부터 출력한다. 또한 안테나를 거쳐서 취득한 ASK변조파를 복조하고, 복조된 데이터를 CPU(105)에 공급한다.
리더/라이터(100)의 CPU(Central Processing Unit)(105)는, ROM(Read Only Memory)(104)에 기억되어 있는 프로그램을, RAM(Random Access Memory)(103)에 로드하는 등 해서 각종의 처리를 실행한다. RAM(lO3)에는 또한 CPU(101)가 각종의 처리를 실행하는 동시에 필요한 데이터 등도 적당하게 기억된다.
CPU(105)는, 암호 프로세서(106)를 제어함에 의해, 소정의 암호 알고리즘에 근거하여 데이터를 암호화 또는 복호한다. 여기에서, 암호 프로세서(106)의 암호 알고리즘은, DES(Data Encryption Standard), 트리플 DES, AES(Advanced Encryption Standard)등의 암호 알고리즘이며, 소위 비밀열쇠 암호방식의 암호 알고리즘이라고 한다.
리더/라이터(100)에 있어서 데이터의 암호화 또는 복호를 행할 경우, CPU(105)는 비밀열쇠 기억부(1Ol)에 기억된 비밀열쇠를, 암호화 또는 복호 해야 할 데이터와 함께, 암호 프로세서(106)에 공급 함에 의해, 암호 프로세서(106)에 의한, 공급된 비밀열쇠를 사용하여 공급된 데이터의 암호화 또는 복호가 실행된다.
비밀열쇠 기억부(101)에 기억되는 비밀열쇠는, IC카드(200)의 비밀열쇠 기억부(203)에 기억되어 있는 비밀열쇠를 같은 것이라고 하고, IC 카드(200)에 대응하 는 리더/라이터(100)이며, IC카드(2OO)에 고유한 ID인 카드ID의 판독이 허가된 리더/라이터(100)에만, 미리 비밀열쇠가 기억되어 있다.
IC카드(200)의 입출력부(201)는, 코일형의 안테나와 콘덴서에 의해 구성되는 LC회로를 가진다. 입출력부(201)에서의 LC 회로는, 근방에 배치된 리더/라이터(100)로부터 송신된 소정의 주파수의 전자파와 공진하도록 설계된다. 또한, 입출력부(201)는, 안테나에 있어서 여기된 교류 자계를 ASK복조에 의해 정류하고, 그것을 안정화하여, 각부에 직류전원으로서 공급한다.리더/라이터(100)로부터 송신된 전자파의 전력은, IC카드(200)에 필요한 전력을 제공하는 자계를 발생시키도록 조정되어 있다.
또한, 입출력부(201)는, 안테나를 거쳐서 수신한 ASK변조파를 포락선검파해서 복조하고, 복조후의 데이터를 BPSK(Binary Phase Shift Keying)복조해서 CPU(207)에 공급하는 동시에, 수신 신호의 클록 주파수로 동일한 주파수의 클록 신호를 발생해서 CPU(207)에 공급한다.
또한, 입출력부(201)는, 소정의 정보를 리더/라이터(100)에 송신하기 위해서, CPU(207)로부터 공급되어 BPSK변조된 데이터를, 예를 들면 안테나의 부하의 변동에 의거하여 ASK변조하고, 그 변조 성분을, 안테나를 거쳐서 리더/라이터(100)에 송신한다.
IC카드(200)의 입출력부(201)는, ROM(206)에 기억되어 있는 각종의 프로그램을 수행한다. 비밀열쇠 기억부(203), ID 기억부(204) 및 데이터 기억부(205)는, EEPROM(Electrically Erasable Programable Read-Only Memory)등으로 구성되어, 각 각이 EEPROM의 기억영역의 일부라고 한다.
CPU(207)는, 암호 프로세서(208)를 제어 함에 의해, 소정의 암호 알고리즘에 근거하는 데이터의 암호화와 복호를 행한다. 여기에서, 암호 프로세서(208)의 암호 알고리즘은, 암호 프로세서(106)의 암호 알고리즘과 같은 알고리즘이라고 하고, 역시 비밀열쇠 암호방식의 암호 알고리즘이라고 한다.
IC카드(200)에 있어서 데이터의 암호화 또는 복호를 행할 경우, CPU(207)는 비밀열쇠 기억부(203)에 기억된 비밀열쇠를, 암호화 또는 복호 해야 할 데이터와 함께, 암호 프로세서(208)에 공급 함에 의해, 암호 프로세서(208)에 의한, 공급된 비밀열쇠에 따라 공급된 데이터의 암호화 또는 복호가 실행된다.
난수생성부(202)는, 필요에 따라서 소정의 자리수의 난수를 발생한다. 상세 내용에 관해서는 후술하지만, 이 난수는, IC카드(200)와 리더/라이터(100)와의 사이에서 행해지는 통신에 있어서, 양자가 통신 상대를 서로 서로 식별하기 위한 세션ID, 및 그 세션에 있어서 송수신 되는 데이터의 암호화 또는 복호에 사용되는 세션 열쇠로서 이용되게 된다.
ID기억부(204)는, IC카드(200)에 고유한 식별 정보인 카드 ID를 기억한다.
데이터 기억부(205)는, IC카드(200)을 사용해서 행해지는 각종 서비스 등을 제공하기 위한 애플리케이션 데이터 등이 필요에 따라서 기억된다.
또한, 암호 프로세서(106)와 암호 프로세서(208) 모두는, 각각 소프트웨어로서 구성되도록 하는 것도 가능하다.
상기한 바와 같이, 리더/라이터(100)와 IC카드(200)가 무선에 의한 통신을 행하므로, 충돌이 일어날 수 있다. 충돌시에, IC카드들 또는 리더/라이터들 각각은 전파를 IC카드 또는 리더/라이터에 송신하는지를 구별할 수 없게 된다. 그러나, 통신시스템(50)에 있어서의 리더/라이터(100)와 IC카드(200)의 각각은, 리더/라이터의 통신 커버리지 내에 설치된 IC카드나 RFID를 식별하는 것이 가능한 인터페이스 및 프로토콜인 NFCIP를 따르는 통신을 행한다.
NFCIP-1에는, 다른 NFCIP-1디바이스의 통신 및 동대역에서 통신하고 있는 것외의 장치에 의한 통신과의 양립을 꾀하기 위해서, RF검지와 충돌회피의 구조가 포함되어 있다. NFCID(NFC 식별자)와 NFC 디바이스 식별자는, NFCIP-1 표준에서 사용된다. NFCID는, 충돌회피 및 단일 디바이스 탐지 처리에 사용하는 NFC디바이스의 식별자이다. 종래의 통신시스템에 있어서는, IC카드의 고유한 ID를 리더/라이터에 송신하고, 리더/라이터가 그 ID에 의거하여 개개의 IC카드를 식별함으로써 충돌의 방지를 꾀하는 것도 많지만, NFCIP-1표준에서는 IC카드에 고유한 ID를 리터/라이터에 송신할 필요는 없다.
따라서, 통신시스템(50)에 있어서는, IC카드(200)에 고유한 카드ID를 리더/라이터(100)에 송신하지 않고도, 리더/라이터(100)와 IC카드(200)가 각각 통신 상대를 유일하게 식별하고, 충돌을 방지한다.
또한, NFCIP-1에 대해서는, ISO/IEC18092에 그 상세가 기술되어 있다.
이후에 있어서는, 리더/라이터(100)가 NFCIP-1에 규정되는 이니시에이터(initiator)로서 동작하고, IC 카드(200)가 NFCIP-1에 규정되는 타겟으로서 동작할 경우를 예로서 설명한다. 또한, NFCIP-1의 수동통신 모드에 있어서는, 이니시에 이터와 타겟의 각각이 106kb/s의 전송속도에 대응하고 있는 경우와, 212kb/s 또는 424kb/s의 전송속도에 대응하고 있는 경우에 대해서 규정되어 있지만, 여기에서는 주로, 이니시에이터와 타겟의 각각이 212kb/s 또는 424kb/s의 전송속도에 대응하고 있는 경우를 상정해서 설명한다.
상기한 바와 같이, 통신시스템(50)에 있어서는, IC카드(200)로부터 리더/라이터(100)에 송신된 유일한 카드 ID를 갖지 않고 무선통신이 행해진다. 통신시스템(50)은, 프라이버시 보호를 제공한다. 그러나, IC 카드를 사용해서 제공되는 서비스에 있어서는, 역시 개개의 IC카드를 유일하게 식별하는 구조가 필요하다. 본 발명의 일 실시예에 따라, 상기 IC카드(200)에서는, IC카드(200)에 고유한 카드ID를 리더/라이터(100)에 송신하는 기능이 설치되어 있다.
도 2는 도 1의 IC카드(200)에 의한 통신 처리를 설명하는 흐름도다. 그 통신처리는, 예를 들면 IC카드(200)가 리더/라이터(100)의 안테나의 근방에 위치하고, 입출력부(201)의 안테나에 있어서 여기된 교류 자계에 의해 생성되는 전력이 IC카드(200)의 각부에 공급되었을 때 시작된다.
스텝S21에 있어서, 난수생성부(202)는, 난수를 생성한다. 여기에서 생성된 난수는, 데이터 기억부(205)의 미리 설정된 영역에 기억된다.
스텝S22에 있어서, 암호 프로세서(208)는, 스텝S21의 처리로 생성된 난수를, 비밀열쇠 기억부(203)에 유지되어 있는 비밀열쇠로 암호화하고, 통신ID를 생성한다.
스텝S23에 있어서, CPU(207)은, 리더/라이터(100)로부터의 폴링을 수신한 것 인가 아닌가를 판정하고, 폴링을 수신했다고 판정될때 까지 대기한다. 스텝S23에 있어서, 리더/라이터(100)로부터의 폴링을 수신했다고 판정되었을 경우, 처리는, 스텝S24에 진행된다.
스텝S24에 있어서, CPU(207)는, 스텝S23에서 수신했다고 판정된 폴링 에 대한 응답이며, 스텝S22의 처리로 생성된 통신ID를 포함한 응답을 리더/라이터(100)에 송신한다.
도 3은, 이 때 송신되는 응답의 데이터가 격납되는 프레임이며, NFCIP-1에서 규정되는 응답 프레임의 포맷을 도시한 도면이다. 또한, 응답 프레임은, 이니시에이터와 타겟의 각각이 212kb/s 또는 424kb//s의 전송속도에 대응하고 있는 경우의, 이니시에이터로부터의 폴링 요구에 대응해서 타겟으로부터 송출된다.
표시되는 필드 「프리앰블」에는, 모두 논리 “0”에서 48비트이상의 데이터가 격납된다. 필드 「동기 패턴」에는, 이니시에이터와 타겟과의 사이의 통신의 동기에 사용할 수 있는 2바이트(16비트)의 데이터가 격납된다.필드 「길이」는, 값으로서 “12”를 나타내는 8비트의 데이터가 격납된다.필드 「페이로드」는, 시작 바이트가 “01”이라고 하고, 8 바이트의 NFCID 2 및 8바이트의 패드를 포함한 데이터가 격납된다. CRC(Cyclic Redundancy Check)은, 잘못검출에 사용할 수 있는 데이터이고, 소정의 방법으로 계산된 데이터가 격납된다.
스텝S24에 있어서는, 통신ID가 페이로드 필드에 NFCID 2로서 격납되고, 응답 프레임이 송신되게 된다.
또한, 상기한 바와 같이 통신ID는, 암호화된 난수이지만, IC 카드(200)에 대 응하는 리더/라이터(100)이며, IC카드(200)의 카드ID를 판독하는 것이 허가된 리더/라이터(100)에는, 미리 비밀 열쇠 기억부(101)에 비밀열쇠 기억부(203)에 저장되어 있는 열쇠와 같은 열쇠가 저장되어 있으므로, 리더/라이터(100)에서는, 스텝S24에서 송신된 응답의 NFCID 2의 값(통신ID)을 복호 함으로써, 스텝S21의 처리에서 IC카드(200)에서 생성한 난수를 취득한다.
도 2로 되돌아가서, 스텝S24의 처리의 뒤, 스텝S25에 있어서, CPU(207)는, 리더/라이터(100)로부터 코멘드를 수신한 것인가 아닌가를 판정하고, 코멘드를 수신했다고 판정될때 까지 대기한다. 리더/라이터(100)는, IC카드(200)에 기억되어 있는 데이터를 판독하거나, IC카드(200)에 데이터를 기록하거나 하기 위해서, 소정의 코멘드를 IC카드(200)에 송신한다.스텝S25에 있어서, 리더/라이터(100)로부터의 코멘드를 수신했다고 판정되었을 경우, 처리는, 스텝S26에 진행된다.
스텝S26에 있어서, CPU(207)는, 스텝S25의 처리에서 수신했다고 판정된 코멘드가, IC카드(200)에 고유한 카드ID의 송신을 요구하는 코멘드인지의 여부를 판정한다. 스텝S26에 있어서, 해당 코멘드가, 카드ID의 송신을 요구하는 코멘드라고 판정되었을 경우, 처리는, 스텝S27에 진행된다.
스텝S27에 있어서, CPU(207)는, 암호화 플래그를 ON에 설정한다. 이에 따라 이후의 처리에서는, 송신되는 데이터의 암호화가 이루어지게 된다. 또한, 암호화 플래그는, 데이터 기억부(205)의 미리 설정된 영역의 비트라고 하고, 초기값은 「0(OFF)」이라고 하고, 한번 암호화 플래그가 ON으로 설정되면, IC카드(200)의 전력의 공급이 정지될 때까지, 즉 IC카드(200)가 리더/라이터(100)과 통신 커버리지 영 역외로 이동시킬 수 있을 때까지, 암호화 플래그 ON의 상태가 유지된다.
스텝S28에 있어서, CPU(207)는, ID기억부(204)에 기억되어 있는 카드ID를 판독하고, 암호 프로세서(208)를 제어해서 그 카드ID를, 스텝S21의 처리로 생성된 난수를 열쇠로서 암호화시켜, 암호화된 카드ID를 리더/라이터(100)에 송신한다. 이렇게 하여, 리더/라이터(100)로부터 카드ID의 송신 요구가 있었을 경우, 카드 ID가 난수를 열쇠로서 암호화되어서 리더/라이터(100)에 송신된다.
또한, 리더/라이터(100)에서는, 상기한 바와 같이 난수를 취득하는 것이 가능하므로, 스텝S28에서 송신된 데이터를 복호해서 카드ID를 취득할 수 있다.
스텝S28의 처리의 뒤, 처리는, 스텝S25에 되돌아가고, 다시 스텝S25과 S26의 처리가 실행된다. 스텝S26의 처리에 의한 판정 결과, 해당 코멘드가, 카드 ID의 송신을 요구하는 코멘드는 아니다라고 판정되었을 경우, 처리는, 스텝S29에 진행된다. 리더/라이터(100)로부터 수신한 코멘드가 데이터 기억부(205)에 기억되어 있는 소정의 데이터의 판독을 요구하는 판독 요구이었던 것으로 한다.
스텝S29에 있어서, CPU(207)는, 암호화 플래그가 ON인지의 여부를 판정한다. 스텝S29에 있어서, 암호화 플래그는 ON이다라고 판정되었을 경우, 처리는, 스텝S30에 진행된다.
스텝S30에 있어서, CPU(207)는, 스텝S25에서 수신했다고 판정된 코멘드를 해석하여, 소정의 처리를 행하고, 그 처리 결과의 데이터를 암호화한다. 이 경우에, 리더/라이터(100)로부터의 코멘드에 대응해서 데이터 기억부(205)의 소정의 영역에 기억된 데이터가 판독되어, 판독된 데이터가 암호 프로세서(208)에 의해 암호화되 게 된다. 또한, 여기에서 암호화 처리에 사용된 암호열쇠는, 역시 스텝S21에서 생성된 난수이다.
스텝S31에 있어서, CPU(207)는, 스텝S30에서 암호화된 데이터를 리더/라이터(100)에 송신한다. 여기에서, 송신된 데이터가, 리더/라이터(100)에 의해 복호됨으로써 IC카드(200)에 기억되었던 데이터가 리더/라이터(100)에 의해 판독되게 된다.
한편, 스텝S29에 있어서, 암호화 플래그가 ON은 아니다라고 판정되었을 경우, 처리는, 스텝S32에 진행된다.
스텝S32에 있어서, CPU(207)는, 스텝S25에서 수신했다고 판정된 코멘드를 해석하고, 소정의 처리를 행하여, 그 처리 결과의 데이터를 송신한다. 이 경우에, 리더/라이터(100)로부터의 코멘드에 대응해서 데이터 기억부(205)의 소정의 영역에 기억된 데이터가 판독되어, 판독된 데이터가 리더/라이터(100)에 대하여 송신된다.
상술한 처리에서는, 리더/라이터(100)로부터 IC카드(200)에 기억되어 있는 데이터를 판독하는 코멘드가 수신되었을 경우의 예에 관하여 설명했다. 리더/라이터(100)로부터 IC카드(200)에 데이터를 기억시키는(기록하는) 코멘드가 수신될 경우, 리더/라이터(100)로부터, 기록해야 할 데이터가 송신되어, IC 카드(200)에 있어서 그 데이터를 기록하게 된다.
스텝S32의 처리에서는, 송신되는 데이터가 암호화되지 않고 있으므로, 리더/라이터(100)는, 수신한 데이터를 복호할 필요는 없다. 리더/라이터(100)로부터 카드ID의 송신 요구가 없을 경우, 암호화 플래그가 ON으로 설정되지 않고, 리더/라이 터(1OO)와 IC카드(200)과의 사이에서 통신되는 데이터의 암호화는 행해지지 않는다.
스텝S31 또는 S32의 처리의 뒤, 처리는, 스텝S25에 되돌아간다. 상술한 처리들이, IC카드(200)가 리더/라이터(100)와 통신 커버리지 영역외에 이동시킬 때까지 반복 실행된다.
이렇게 하여, IC카드의 통신 처리가 실행된다. 이렇게 함으로써, 리더/라이터(100)에 의해 IC카드를 사용해서 제공되는 서비스에 있어서, 개개의 IC카드를 유일하게 식별하는 구조가 필요할 경우, 카드ID가 암호화되어서 IC 카드(200)에 송신된다. IC카드의 카드ID를 판독하는 것이 허가되어 있는 리더/라이터이외의 리더/라이터(100)에는, 카드ID를 취득할 수 없도록 할 수 있고, 안전하고 프라이버시가 보호되는 통신시스템을 제공할 수 있다.
또한, IC카드의 카드ID를 판독하는 것이 허가되지 않고 있는 리더/라이터이여도, NFCIP-1의 규정을 따르는 통신을 행하는 리더/라이터이면, IC카드(200)와의 사이에서 데이터를 교환할 수 있다. 리더/라이터(100)에 의해 제공되는 서비스에 있어서 개개의 IC카드를 유일하게 식별할 필요가 없을 경우, 각 IC 카드는 문제 없이 작동한다.
또한, 도 3의 예에서는, 이니시에이터와 타겟의 각각이 212kb/s 또는 424kb/s의 전송속도에 대응하고 있을 경우이며, 통신ID가 NFCID 2로서 사용된다. 이니시에이터와 타겟의 각각이 106kb/s의 전송속도에 대응하고 있는 경우에는, 통신ID는 NFCIP-1에 규정되는 NFCID l이다.
다음에, 도 4의 흐름도를 참조하여, 리더/라이터(100)와, IC카드(200)와의 사이에서 행해지는 통신처리의 상세에 관하여 설명한다. 여기에서는, IC카드(200)의 카드ID의 판독 시작이 허가되어 있는 리더/라이터(100)와, IC카드(200)와의 사이에서, 카드ID의 판독 시작의 뒤, 데이터의 판독 시작과 데이터의 기록이 이루어진 예에 관하여 설명한다.
예를 들면, IC카드(200)가 리더/라이터(100)의 안테나의 근방에 위치하고, IC 카드(200)의 안테나에 있어서 여기된 교류 자계에 의해 생성되는 전력이 IC카드(200)의 각부에 공급되면, IC카드(200)는, 스텝SlOl의 처리를 실행하고, 난수를 생성한다.
도 5의 흐름도를 참조하여, 도 4의 스텝SlOl의 처리인 통신ID 생성 처리의 상세에 관하여 설명한다.
스텝S301에 있어서, 난수생성부(202)는, 난수A를 생성한다.
스텝S302에 있어서, CPU(207)는, 스텝S301의 처리에서 생성된 난수A를, 데이터 기억부(205)의 소정의 영역에 기억한다.
스텝S303에 있어서, 암호 프로세서(208)는, 스텝S301의 처리로 생성된 난수A를, 비밀열쇠 기억부(203)에 기억되어 있는 열쇠를 사용해서 암호화한다.
스텝S304에 있어서, CPU(207)는, 스텝S303의 처리 결과(즉, 암호화된 난수A)를, 통신ID로서, 데이터 기억부(205)의 소정의 영역에 기억한다.
또한, 스텝S301 내지 S304의 처리는, 스텝S21과 S22의 처리와 동일하다.
도 4에 되돌아가서, 리더/라이터(100)는, 스텝S201에 있어서, 자신이 통신가 능한 IC카드(200)에 대하여 폴링을 송신하고, 스텝SlO2에서 IC카드(200)에 의해, 폴링 요구가 수신된다.
스텝SlO3에 있어서, IC카드(200)는, 스텝SlO2의 처리에서 수신된 폴링에 대한 응답을, 리더/라이터(100)에 송신한다. 이 때, 도 3을 참조해서 상기한 바와 같이, 응답 프레임의 소정의 영역에 NFCID 2로서 격납된 스텝S304의 처리에서 기억된 통신ID가 리더/라이터(100)에 송신되는 응답 프레임에 삽입된다. 또한, 스텝SlO2과 103의 처리는, 도 2의 스텝S23과 S24과 각각 동일하다. 리더/라이터(100)는, 스텝S202에서 상기 응답 프레임을 수신한다.
스텝S203에 있어서, 리더/라이터(100)는, IC카드(200)로부터 송신된 응답 프레임의 통신ID를 복호해서 난수A를 취득한다.
여기서, 도 6의 흐름도를 참조하여, 도 4의 스텝S203의 처리인 난수생성 처리의 상세에 관하여 설명한다.
스텝S331에 있어서, CPU(105)는, 스텝S202의 처리로 수신한 IC카드(200)로부터의 응답 프레임에 포함되는 통신ID(즉, 암호화된 난수A)를 취득한다.
스텝S332에 있어서, CPU(105)는, 예를 들면 RAM(lO3)의 소정의 영역에, 스텝S331의 처리로 취득된 통신ID를 기억한다.
스텝S333에 있어서, 암호 프로세서(106)는, 스텝S331의 처리로 취득된 통신ID이며, 암호화된 난수A를, 비밀열쇠 기억부(101)에 기억되어 있는 열쇠를 사용해서 복호한다. 상기한 바와 같이, 암호 프로세서(106)는, 암호 프로세서(208)와 같은 암호 알고리즘으로 암호 또는 복호의 처리를 실행하고, 또한 미리 IC카드(200) 의 카드ID의 판독 시작이 허가된 리더/라이터(100)의 비밀열쇠 기억부(101)에는, 비밀열쇠 기억부(203)에 기억되어 있는 열쇠와 같은 열쇠가 기억되어 있다. 따라서, 스텝S333의 처리에 의해, 스텝S301의 처리로 IC카드(200)가 생성한 난수A가 복호되어서 취득되게 된다.
스텝S334에 있어서, CPU(105)는, 스텝S333의 처리에 의해 취득된 난수A를, RAM(lO3)의 소정의 영역에 기억한다.
리더/라이터(100)와 IC카드(200)는, 통신ID에 의거하여 서로를 유일하게 식별하고, 또한 난수A를 열쇠로서 필요에 따라서 데이터의 암호화 또는 복호를 행한다. 따라서, 리더/라이터(100)와 IC카드(200)와의 사이에서, 통신에 있어서 필요한 세션ID(이 경우에는, 통신ID)는, 세션 열쇠(난수A)를 교환된다.
도 4에 되돌아가서, 스텝S204에 있어서, 리더/라이터(100)는, IC카드(200)에 대하여 카드ID의 판독을 요구하는 코멘드를 포함한 프레임을 송신한다. 이 때, 스텝S332의 처리로 기억되어 있는 통신ID가, IC카드(200)가 리더/라이터(100)로부터 송신된 프레임을 유일하게 식별하기 위한 식별자로서 프레임에 삽입된다. 또한, NFCIP-1의 규정에 따라서, 통신ID는, NFCIP-1에 있어서 규정되는 전송 프레임의 전송 데이터 필드에 삽입된다. 그리고, 스텝SlO4에서, IC카드(200)에 의해, 이 프레임이 수신된다.
스텝SlO5에 있어서, IC카드(200)는, 리더/라이터(100)로부터 송신된 코멘드에 대응하는 처리를 실행한다. 이 경우, 카드ID의 판독 코멘드에 대응하는 처리가 실행되게 된다.
그리고, 도 7의 흐름도를 참조하여, 도 4의 스텝SlO5의 처리인 카드ID송신 처리의 상세에 관하여 설명한다.
스텝S361에 있어서, CPU(207)는, ID기억부(204)에 기억되어 있는 카드ID를 판독한다.
스텝S362에 있어서, 암호 프로세서(208)는, 스텝S361의 처리로 판독된 카드ID를, 스텝S302의 처리에 의해 기억되어 있는 난수A를 열쇠로서 사용하여, 암호화한다.
스텝S363에 있어서, CPU(207)는, 스텝S362의 처리 결과의 데이터(암호화된 카드ID)를 취득한다.
도 4에 되돌아가서, 스텝SlO5의 처리의 뒤 스텝SlO6에 있어서, IC카드(200)는, 스텝S363의 처리로 취득된 데이터를 포함한 프레임을, 스텝SlO4에서 수신된 리더/라이터(100)로부터의 카드ID판독 코멘드에 대응하는 응답으로서 송신한다. 이 때, 역시 스텝S304의 처리에서 기억되어 있는 통신ID가, 리더/라이터(100)가 IC카드(200)로부터 송신된 프레임을 유일하게 식별하기 위한 식별자로서 삽입되게 된다. 또한, 스텝SlO4 내지 SlO6의 처리는, 도 2의 스텝S25 내지 S28과 동일한 처리이다. 그리고, 도 4의 스텝S205에서, 리더/라이터(100)에 의해, 이 프레임이 수신된다.
또한, 리더/라이터(100)로부터의 카드ID 판독 코멘드에 대응해서 카드ID가 판독되므로, IC카드(200)에 있어서 암호화 플래그가 ON이 되어(도 2의 스텝S27의 처리), 이것 이후의 데이터의 판독 또는 기록의 처리에 있어서는, 데이터가 암호화 된 형태로 송수신 되게 된다.
스텝S206에 있어서, 리더/라이터(100)는, 암호화된 카드ID를 복호한다.
여기에서, 도 8의 흐름도를 참조하여, 도 4의 스텝S206의 처리인 카드ID 복호처리의 상세에 관하여 설명한다.
스텝S391에 있어서, CPU(105)는, 스텝S205에서 수신한 프레임에 포함되는 암호화된 데이터를 취득한다.
스텝S392에 있어서, 암호 프로세서(106)는, 스텝S391의 처리로 취득된 데이터를, 스텝S334의 처리로 기억되어 있는 난수A를 열쇠로서 사용하여, 복호한다
스텝S393에 있어서, CPU(105)는, 스텝S392의 처리 결과의 데이터를, 카드ID로서 취득한다. 이에 따라, IC카드(200)에게 고유한 카드ID가 리더/라이터(100)에 의해 취득되게 된다. 이 다음, 리더/라이터(100)는, 필요에 따라서 카드ID를 사용한 서비스의 제공에 따르는 처리를 실행한다.
도 4에 되돌아가서, 스텝S206의 처리의 뒤, 스텝S207에 있어서 리더/라이터(100)는, IC카드(200)에 기억되어 있는 데이터(예를 들면 리더/라이터(100)에 의해 제공되는 서비스의 처리에서 필요가 되는 데이터 등)을 판독하는 코멘드를 포함한 프레임을, IC카드(200)에 대하여 송신한다. 이 때, 역시 스텝S332의 처리로 기억되어 있는 통신ID가, IC카드(200)가 리더/라이터(100)로부터 송신된 프레임을 유일하게 식별하기 위한 식별자로서 포함한다. 스텝SlO7에 있어서, IC카드(200)에 의해 이 프레임이 수신된다.
스텝SlO8에 있어서, IC카드(200)는, 리더/라이터(100)로부터 송신된 코멘드 에 대응하는 처리를 실행한다. 이 경우, 데이터의 판독 코멘드에 대응하는 처리가 실행되게 된다.
여기에서, 도 9의 흐름도를 참조하여, 도 4의 스텝SlO8의 처리인 판독 데이터 송신 처리의 상세에 관하여 설명한다.
스텝S421에 있어서, CPU(207)는, 데이터 기억부(205)에 기억되어 있는 데이터 중, 리더/라이터(100)로부터 요구가 있었던 데이터를 판독한다.
스텝S422에 있어서, 암호 프로세서(208)는, 스텝S421의 처리로 판독된 데이터를, 스텝S302의 처리에 의해 기억되어 있는 난수A를 열쇠로서 사용하여, 암호화한다.
스텝S423에 있어서, CPU(207)는, 스텝S422의 처리 결과의 데이터(암호화된 데이터)를 취득한다.
도 4에 되돌아가서, 스텝SlO9에 있어서, CPU(207)는, 스텝S423의 처리에 의해 취득된 데이터를 포함한 프레임을, 스텝SlO7에서 수신된 리더/라이터(100)로부터의 데이터 판독 코멘드에 대응하는 응답으로서 송신한다. 이 때, 역시 스텝S304의 처리로 기억되어 있는 통신ID가, 리더/라이터(100)가 IC카드(200)로부터 송신된 프레임을 유일하게 식별하기 위한 식별자로서 삽입되게 된다. 또한, 스텝SlO7 내지 SlO8의 처리는, 도 2의 스텝S25, S26, S29 내지 S31과 동일한 처리다. 그리고, 도 4의 스텝S208에서, 리더/라이터(100)에 의해, 이 프레임이 수신된다.
스텝S209에 있어서, 리더/라이터(100)는, IC카드(200)로부터 수신한 데이터를 복조한다. 이 처리는, 도 8을 참조해서 전술한 처리와 같으므로, 상세한 설명은 생략하지만, 지금의 경우, 카드ID가 아니고, 리더/라이터(100)에 의해 제공되는 서비스의 처리에서 필요가 되는 데이터가 난수A를 열쇠로서 복호되어서 취득되게 된다.
스텝S210에 있어서, 리더/라이터(100)는, IC카드(200)에 데이터를 기억시키기 위한 처리를 행한다.
여기에서, 도 10의 흐름도를 참조하여, 도 4의 스텝S210의 처리인 기록요구 송신 처리의 상세에 관하여 설명한다.
스텝S451에 있어서, CPU(105)는, 자신이 실행한 애플리케이션 프로그램의 처리 결과 등의 데이터이며, IC카드(200)에 기억시킬 데이터를 취득한다.
스텝S452에 있어서, 암호 프로세서(106)는, 스텝S451의 처리로 취득된 데이터를, 스텝S334의 처리에 의해 기억되어 있는 난수A를 열쇠로서 사용하여, 암호화한다.
스텝S453에 있어서, CPU(105)는, 스텝S452의 처리 결과의 데이터(암호화된 데이터)를 기록 요구의 코멘드와 함께 프레임에 격납한다.
도 4에 되돌아가서, 스텝S210의 처리의 뒤, 스텝S211에 있어서, 리더/라이터(100)는, 스텝S453의 처리에 의해 암호화된 데이터가 격납된 기록 요구의 프레임을 IC카드(200)에 대하여 송신한다. 이 때, 역시 스텝S332의 처리로 기억되어 있는 통신ID가, IC카드(200)가 리더/라이터(100)로부터 송신된 프레임을 유일하게 식별하기 위한 식별자로서 삽입되게 된다. 그리고, 스텝SllO에서, IC카드(200)에 의해 이 프레임이 수신된다.
스텝Slll에 있어서, IC카드(200)는, 리더/라이터(100)로부터 송신된 코멘드에 대응하는 처리를 실행한다. 데이터의 기록 코멘드에 대응하는 처리가 실행되게 된다.
여기에서, 도 11의 흐름도를 참조하여, 도 4의 스텝Slll의 처리인 데이터 기록 처리의 상세에 관하여 설명한다.
스텝S481에 있어서, CPU(207)는, 스텝SllO에서 수신한 프레임에 포함되는 암호화된 데이터를 취득한다.
스텝S482에 있어서, 암호 프로세서(208)는, 스텝S481의 처리로 취득된 데이터를, 스텝S302의 처리에 의해 기억되어 있는 난수A를 열쇠로서 사용하여, 복호한다.
스텝S483에 있어서, CPU(207)는, 스텝S482의 처리 결과의 데이터(복호된 데이터)을, 데이터 기억부(205)의 소정의 영역에 기억함으로써 데이터의 기록을 실행한다.
도 4에 되돌아가서, 스텝Slll의 처리의 뒤, 스텝Sl12에 있어서, IC카드(200)는, 스텝S483의 처리 결과를 의미하는 데이터를 포함한 프레임을 리더/라이터(100)에 대하여 송신한다. 이에 따라, 데이터의 기록에 성공 또는 실패한 것을 의미하는 데이터를 포함한 프레임이 송신된다. 이 때, 역시 스텝S304의 처리로 기억되어 있는 통신ID가, 리더/라이터(100)가 IC카드(200)로부터 송신된 프레임을 유일하게 식별하기 위한 식별자로서 삽입되게 된다. 그리고, 스텝S212에 있어서, 리더/라이터(100)에 의해 이 프레임이 수신된다.
또한, 여기에서는, 카드ID판독 후, 데이터의 판독 시작이 행해지고, 또 데이터의 기록이 이루어진다. 데이터의 판독 및 데이터의 기록이 이러한 순서로 한정되는 것이 아니다. 그 순서는 필요에 따라서 변경해도 좋다.
이렇게 하여, 리더/라이터(100)와 IC카드(200)과의 사이에서 통신이 행해진다. IC 카드(200)의 카드ID의 판독이 허가되어 있는 리더/라이터(100)와, IC카드(200)와의 사이에서는, 카드ID가 암호화되어서 리더/라이터(100)에 송신되는 동시에, 카드ID의 판독 후 행해진, 데이터의 판독과 데이터의 기록에 관해서도 모두 데이터가 암호화되어서 송수신 된다. 따라서, 유저의 프라이버시가 침해되는 적이 없는 안전한 통신시스템을 제공하는 것이 가능해진다.
또한, 비밀열쇠 기억부(101)와 비밀열쇠 기억부(203)에 기억되어 있는 열쇠에 의해, 통신되는 데이터가 암호화되어도 된다. 이러한 경우, 데이터를 안전하게 송수신 하기 위해서는, 각각의 IC카드가 다른 비밀열쇠를 가질 필요가 있고, 그 결과, 리더/라이터(100)에, 개개의 IC카드의 각각 대응하는 방대한 양의 열쇠를 기억시키지 않으면 안되고, 열쇠의 관리가 곤란해진다.
본 발명의 일 실시예에 있어서는, 리더/라이터(100)와 IC카드(200)와의 사이에서 통신ID를 세션ID(식별자)로서 교환할뿐만 아니라, 통신ID를 비밀열쇠로 복호해서 얻어진 난수A도, 리더/라이터(100)와 IC카드(200)와의 사이에서, 제3자에게 알려지지 않고서 공유한다. 난수A는, IC카드(200)가 리더/라이터(100)와 통신을 행할 때마다 생성되므로, 그 후의 통신에 있어서 난수A가 암호화 또는 복호를 위한 열쇠로서 이용되는 것을 사전에 정해 두면, 통신이 이루어질 때마다 다른 세션 열 쇠(난수A)를 이용한 암호화 통신을 행할 수도 있다. 따라서, 리더/라이터(100)에, 개개의 IC카드에 대응하는 방대한 양의 열쇠를 기억시키지 않아도, 세션 열쇠에 의한 암호화를 실현할 수 있다. 통신시스템(50)은, 간단한 구성으로 안전한 시스템이 된다.
IC카드(200)의 카드ID의 판독이 허가되지 않고 있는 리더/라이터는, 비밀열쇠 기억부에 기억되어 있는 열쇠와 동일한 열쇠를 기억하고 있지 않게 된다. 가령 리더/라이터가 카드ID의 송신 요구를 행했다고 하여도, 통신ID로부터 난수를 복호하지 못하고, 난수를 열쇠로서 암호화되어서 송신되어 오는 카드ID도 복호해서 취득할 수는 없다.
또한, 본 발명의 일 실시예에 있어서는, 리더/라이터(100)(이니시에이터)와 IC카드(200)(타겟)은, 각각 NFCIP-1의 규정을 따르는 통신을 행하는 것만으로, 세션 열쇠를 교환하기 위한 핸드쉐이크 프로토콜 등의 부가적인 처리는 일체 행할 필요가 없다.
NFCIP-1 규정에 있어서는, 충돌회피 및 단일 디바이스 탐지 처리에 사용할 수 있는 난수를 이용한 NFC디바이스의 식별자인 NFC식별자(예를 들면 도 3의 NFCID 2)의 이용이 규정되어 있고, NFCIP-1을 따르는 IC카드(200)에는 원래 난수생성부(202)(또는 동등한 구성요소)가 설치되게 된다. 본 발명의 실시예들에서 사용된 통신ID는, 타겟에서 생성된 난수를 암호화한 것에 지나지 않는다. 암호 프로세스를 새롭게 설치하지만, 세션ID인 통신ID의 교환에 따르는 부가적인 처리는 조금도 발생하지 않는다.
또한, 본 발명의 일 실시예에 있어서는, 통신ID를 복호함으로써 얻어진 난수를, 세션 열쇠로서 이용한다. 따라서, NFCIP-1에 규정되는 이니시에이터로부터의 폴링 요구와, 타겟으로부터의 폴링 응답이 송신되면, 통신ID와 함께 세션 열쇠도 교환된다. 어떠한 부가적인 처리도 필요하지 않다.
본 발명의 실시예들에 있어서, IC카드(200)는, 리더/라이터의 종류를 모르고서, 즉 리더/라이터가 특정한 리더/라이터 또는 일반적인 리더/라이터인가에 관한 처리들을 수행할 수 있다. 상기 특정 리더/라이터는, IC 카드의 카드 ID를 판독하고 그 암호화된 형태의 데이터를 통신하는 것이 허가된 하나이다. 일반적인 리더/라이터는, IC 카드의 카드 ID를 판독하고 그 암호화되지 않고 데이터를 통신하는 것이 허가되지 않은 하나이다. 따라서, 본 발명의 일 실시에의 IC카드는, 리더/라이터가 NFCIP-1에 규정되는 이니시에이터로서 동작하는 리더/라이터이면, 문제 없이 리더/라이터와 통신을 행하는 것이 가능해서, 장치의 호환성이 유지되게 된다.
다음에, 도 12의 흐름도를 참조하여, 본 발명의 일 실시예의 IC 카드(200)와, 일반적인 리더/라이터(도시 생략)와의 사이에서 행해지는 통신의 상세에 관하여 설명한다. 일반적인 리더/라이터는, IC카드(200)의 카드 ID를 판독하는 것이 허가되지 않는다. 본 통신처리에서는, 암호화하지 않고 데이터를 교환한다.
스텝S121 내지 S123과, 스텝S221 및 S222는, 각각 도 4의 스텝SlOl 내지 SlO3과, 스텝S201 및 S202와 동일하다.
도 12의 처리의 경우, 도 4의 경우와 다르고, 스텝S222에서 수신한 IC카드(200)로부터의 응답에 포함되는 통신ID를, 리더/라이터가 복호하지 않는다. 또 한, 리더/라이터로부터 IC카드(200)에 대하여 카드ID의 판독 요구가 송신되지 않고, 그것에 대한 IC카드(200)로부터의 응답도 송신되지 않는다. 즉, 도 12의 시퀀스에서는, 도 4의 스텝S203 내지 S205와, 스텝SlO4 내지 SlO6에 대응한 처리는 실행되지 않게 된다.
또한, 리더/라이터로부터의 카드ID 판독 요구가 없기 때문에, IC카드(200)에 있어서는, 암호화 플래그를 ON으로 하지 않고(도 2의 스텝S27의 처리는 실행되어 있지 않고), 이것 이후의 데이터의 판독 및 기록의 처리에 있어서도, 데이터가 암호화되지 않는다.
따라서, 도 12의 경우, 도 4의 SlO8, S209, S210, 및 S111에 대응하는 처리는 실행되지 않고, 스텝S129와 S231에서는, 각각 판독된 데이터와, 기록해야 할 데이터가 암호화되지 않고 그대로 송신된다. 스텝S228과 S130에서는, 수신한 프레임의 데이터를 복호하지 않고 그대로 취득 또는 기억하게 된다. 또한, 스텝S129와 S131의 처리는, 도 2의 스텝S32의 처리와 동일하다.
또한, 도 12에 도시된 것처럼, 스텝S227, S129, S231, 또는 S131에서 송신되는 프레임에, 역시 스텝S121에서 생성된 통신ID가 식별자로서 삽입되게 된다.
이와 같이, 본 발명의 실시예들의 IC카드(200)는, 일반적인 리더/라이터에 의해 사용될 수 있고, 장치의 호환성을 제공하여서, 통신시스템의 비용을 낮춘다.
전술한 실시예에서는, IC카드(200)에서 생성된 난수A를 IC카드(200)에 기억되어 있는 비밀열쇠를 사용하여 암호화하고, 그 암호화된 난수 A를 통신ID로서 리더/라이터(100)에 송신한다. 리더/라이터(100)와 IC카드(200)는 서로를 식별하여 난수A에 의한 데이터의 암호화 통신을 수행한다.
통신ID는, NFCIP-1에서 규정되는 응답 프레임의 NFCID 2를 위한 8바이트의 필드에 격납된다. 따라서, 통신ID 및 난수A 각각은, 최대로 8바이트(즉, 64비트)의 데이터 길이로 제한된다.
암호 알고리즘으로서 2-Key Triple-DES를 사용할 경우의 열쇠의 데이터 길이는 112비트이며, 112비트의 열쇠에 관한 정보를 전송하기 위해서는, 112비트이상의 데이터 길이가 필요해진다. 또한, 암호 알고리즘으로서 AES(Advanced Encryption Standard)을 사용할 경우의 열쇠의 데이터 길이는 최소 128비트이며, 128비트의 열쇠에 관한 정보를 전송하기 위해서는, 128비트이상의 데이터 길이가 필요하다.
따라서, 암호 알고리즘으로서, 2-Key Triple-DES 또는 AES등을 채용했을 경우에는, 폴링 요구에 대한 1회의 회신으로는 암호화 통신에 필요한 열쇠를 생성하기 위한 모든 정보를 송신할 수 없고, 리더/라이터(100)는, 부족분의 정보를 문의하는 코멘드를 포함한 프레임을 IC카드(200)에 대하여 송신하고, 이에 대하여 IC카드(200)가 회신하는 송수신이 필요하다. 도 4의 과정에다가, 리더/라이터(100)와 IC카드(200)와의 사이에서, 열쇠정보의 부족분을 교환하는 추가의 처리를 수행할 필요가 있다.
도 13의 통신시스템(500)에서는, 소정의 암호 알고리즘에서 사용되는 열쇠의 데이터 길이가 128비트이여도, 리더/라이터(100)와 IC카드(200)와의 사이에서 열쇠정보의 부족분을 교환하는 통신이 필요하지 않다.
도 13은, 본 발명의 일 실시예에 따른 통신시스템(500)을 나타낸 블록도다. 도시된 것처럼, 전술한 실시예와 대응하는 부분에 관해서는 동일한 부호를 부착해 있어, 그 설명은 적당하게 생략한다.
통신시스템(500)은, 리더/라이터(600)와 IC카드(200)를 구비한다. 통신시스템(500)에서는, 전술한 통신시스템(50)에서 이용되고 있었던 것과 같은 IC카드(200)가, 리더/라이터(600)와 무선에 의한 통신을 하도록 구성되어 있다.
리더/라이터(600)는, 도 1의 리더/라이터(100)에서의 대응부분과 동일한 비밀열쇠 기억부(601), 입출력부(602), RAM(6O3), ROM(6O4), CPU(605), 및 암호 프로세서(606)를 구비한다. 본 리더/라이터(600)는, 난수생성부(607) 및 데이터 기억부(608)를 더 구비한다.
난수생성부(607)는, IC카드(200)의 난수생성부(202)와 마찬가지로, 필요에 따라서 소정의 자리수의 난수를 발생한다. 예를 들면, 난수생성부(607)는, 8바이트 길이의 난수B를 생성한다. 데이터 기억부(608)는, IC카드(200)와의 통신에 있어서 기억하는 것이 필요한 데이터를 적당하게 기억한다. 예를 들면, 데이터 기억부(608)는, 난수생성부(607)에서 생성된 난수B를 기억한다.
통신시스템(500)에서는, IC카드(200)는, 전술한 통신시스템(50)과 마찬가지로, 예를 들면 8바이트의 난수A를 생성한다. IC카드(200)는, 통신ID로 암호화된 난수A를 리더/라이터(600)에 송신한다. 또한, 리더/라이터(600)도, 8바이트의 난수B을 생성하고, 비밀열쇠로 암호화한 난수B를 IC카드(200)에 송신한다. 그 결과, 리더/라이터(600) 및 IC카드(200) 각각은, 자기 자신에서 생성한 8바이트의 난수와, 통신 상대에게서 받은 8바이트의 난수를 맞춘 16바이트의 난수를 공유할 수 있다. 그리고, 리더/라이터(600) 및 IC카드(200) 각각은, 16바이트(182비트)의 난수를 세션 열쇠로서 사용한다.
도 4에 나타낸 통신 처리와 같이, 리더/라이터(600)는 IC카드(200)에 대하여 데이터의 판독과 데이터의 기록을 행한다. 이하의 2개의 방법으로, 암호화된 난수B을 리더/라이터(600)로부터 IC카드(200)에 전송한다. 첫 번째 방법에서는, 폴링 요구의 부가 정보로서, 암호화된 난수B를 전송한다. 두 번째 방법에서는, 폴링 요구의 다음에 송신하는 프레임의 부가 정보로서, 암호화된 난수B를 전송한다. 폴링 요구의 프레임 및 폴링요구의 다음에 송신하는 프레임(카드ID 판독 요구의 코멘드를 포함함)에는, 적어도 8비트 길이의 데이터를 격납하는 빈 영역(또는 확장가능한 영역)이 있다.
도 14는 리더/라이터(600)와 IC카드(200)와의 사이에서 행해지는 통신처리의 흐름도이다. 통신 처리에 있어서, 폴링요구의 부가 정보로서, 암호화된 난수B을 리더/라이터(600)로부터 IC카드(200)에 전송한다.
IC카드(200)가 리더/라이터(600)의 안테나의 근방에 위치하고, 입출력부(201)의 안테나에 있어서 여기된 교류 자계에 의해 생성되는 전력이 IC카드(200)의 각부에 공급되면, IC카드(200)는, 스텝S601의 처리를 실행하고, 8 바이트의 난수A를 생성한다. 스텝S601은, 도 5를 참조해서 전술한 통신ID생성 처리와 같으므로, 그 설명은 생략한다.
리더/라이터(600)는, 스텝S501을 실행하여, 부가 정보를 갖는 폴링의 프레임을 생성한다.
여기에서, 도 15의 흐름도를 참조하여, 도 14의 스텝S501의 처리인 폴링요구 생성 처리를 설명한다.
스텝S701에 있어서, 난수생성부(607)는, 8바이트의 난수B을 생성한다.
스텝S702에 있어서, CPU(605)은, 스텝S701에서 생성된 난수B를, 예를 들면 데이터 기억부(608)의 소정의 영역에 기억한다.
스텝S703에 있어서, 암호 프로세서(606)는, 스텝S701에서 생성된 난수B를, 비밀열쇠 기억부(601)에 기억되어 있는 열쇠를 사용해서 암호화한다.
스텝S704에 있어서, CPU(605)는, 스텝S703의 처리 결과의 데이터 (즉, 암호화된 난수B)를, 폴링요구의 부가 정보로서, 예를 들면 데이터 기억부(608)의 소정의 영역에 기억한다.
도 14에 되돌아가서, 리더/라이터(600)는, 스텝S502에 있어서, IC카드(200)에 대하여 부가 정보를 갖는 폴링 요구를 송신하고, 스텝S602에서 IC카드(200)에 의해, 그 폴링 요구가 수신된다.
스텝S603에 있어서, IC카드(200)는, 리더/라이터(600)로부터 송신된 폴링요구의 부가 정보를 복호해서 난수B를 취득한다.
여기에서, 도 16의 흐름도를 참조하여, 도 14의 스텝S603에서 수행된 난수B 취득 처리를 설명한다.
스텝S731에 있어서, CPU(207)은, 스텝S602에서 리더/라이터(600)로부터 수신한 폴링요구에 포함되는 부가 정보(즉, 암호화된 난수B)를 취득한다.
스텝S732에 있어서, CPU(207)는, 데이터 기억부(205)의 소정의 영역에, 스텝 S731의 처리로 취득된 부가 정보를 기억한다.
스텝S733에 있어서, 암호 프로세서(208)는, 스텝S731에서 취득된 폴링요구에 포함되는 부가 정보인 암호화된 난수B를, 비밀열쇠 기억부(203)에 기억되어 있는 열쇠를 사용해서 복호한다. 이에 따라, 난수B가 취득된다.
스텝S734에 있어서, CPU(207)는, 스텝S733의 처리에 의해 취득된 난수B를, 데이터 기억부(205)의 소정의 영역에 기억한다.
도 14에 되돌아가서, 스텝S604에 있어서, IC카드(200)는, 스텝S602의 처리로 수신된 폴링요구에 대한 응답을, 리더/라이터(600)에 송신한다. 이 때, 응답 프레임의 소정의 영역에 포함된 NFCID 2(도 3 참조)로서, 스텝S601에서 생성된 통신ID(즉, 암호화된 난수A)가 격납된다. 리더/라이터(600)는, 스텝S503에서, 이 응답 프레임을 수신한다.
스텝S504에 있어서, 리더/라이터(600)는, IC카드(200)로부터 수신된 응답 프레임의 통신ID를 복호 해서 난수A를 취득한다. 이 스텝S504은, 도 6을 참조해서 설명한 난수 취득 처리와 같으므로, 그 설명은 생략한다.
리더/라이터(600)와 IC카드(200)는, 이번의 통신(세션)에 있어서 필요한 세션ID(즉, 통신ID)와, 세션 열쇠(즉, 8바이트의 난수A 및 8바이트의 난수B)을 교환하게 된다.
따라서, 이 스텝S504 이후, 리더/라이터(600)와 IC카드(200)와의 사이에서 통신되는 프레임 각각에는, 통신 상대인 리더/라이터(600) 또는 IC카드(200)를 유일하게 식별하기 위한 통신ID가 삽입된다. 또한, 리더/라이터(600)와 IC카드(200) 와의 사이에서 통신되는 프레임에는, 8바이트의 난수A 및 난수B를 맞춘 16바이트의 세션 열쇠로 암호화된 데이터가 포함된다.
스텝S504 이후의, 리더/라이터(600)에 의한 카드ID의 판독 요구, 데이터 판독 요구, 및 데이터 기록 요구의 코멘드를 포함한 프레임의 송신과, 거기에 응답하는 IC카드(200)의 회신처리는, 도 4를 참조해서 설명한 리더/라이터(100)와 IC카드(200)와의 사이에서 행해지는 처리와 같으므로, 그 설명은 생략한다. 다시 말해, 도 14의 스텝S505 내지 S513은, 도 4의 스텝S204 내지 S212의 처리와 각각 같다. 도 14의 스텝S605 내지 S613은, 도 4의 스텝SlO4 내지 Sl12의 처리와 각각 같다. 상기한 바와 같이, 리더/라이터(600)와 IC카드(200)와의 사이에서 통신되는 프레임에 포함되는 데이터가, 난수A(8바이트의 세션 열쇠)로 암호화된 것이 아니고, 난수A와 난수B의 조합(16바이트의 세션 열쇠)으로 암호화되어 있는 점만이 다르다.
도 17은, 리더/라이터(600)와 IC카드(200)와의 사이에서 행해지는 통신처리의 흐름도이다. 이 통신처리에서는, 폴링요구의 다음에 송신된 프레임의 부가 정보로서, 암호화된 난수B을 리더/라이터(600)로부터 IC카드(200)에 전송한다.
도 17에 있어서, IC카드(200)가 8바이트의 난수A를 생성하고, 리더/라이터(600)의 폴링요구에 응답하여, 통신ID로서의 암호화된 난수A를 리더/라이터(600)에 송신하는 동시에, 리더/라이터(600)가, 그것을 수신해서 비밀열쇠로 복호하고, 8 바이트의 난수A를 취득할 때까지의 처리는, 도 4를 참조해서 설명한 리더/라이터(100)와 IC카드(200)와의 사이에서 행해지는 처리와 같다. 다시 말해, 리더/라이터(600)에서 행하는 도 17의 스텝S531 내지 S533의 처리는, 도 4의 스텝S201 내지 S203과 각각 같고, IC 카드(200)가 행하는 도 17의 스텝S641 내지 S643은, 도 4의 스텝SlOl 내지 SlO3과 각각 같다.
이후에, 리더/라이터(600)와 IC카드(200)와의 사이에서 통신되는 프레임에는, 통신 상대인 리더/라이터(600)와 IC카드(200)를 유일하게 식별하기 위한 식별자로서, 통신ID가 삽입된다.
리더/라이터(600)는, 스텝S533에 있어서, 통신ID를 RAM(lO3)의 소정의 영역에 기억하는 동시에, 통신ID를 복호하고, 난수A를 취득한 후, 스텝S534의 처리를 실행하고, 부가 정보를 갖는 카드ID 판독 요구를 생성한다.
도 18의 흐름도를 참조하여, 도 17의 스텝S534에서 행해진 카드ID 판독 요구 생성 처리를 설명한다.
스텝S761에 있어서, 난수생성부(607)는, 난수B을 생성한다.
스텝S762에 있어서, CPU(605)는, 스텝S761의 처리에서 생성된 난수B를, 예를 들면 데이터 기억부(608)의 소정의 영역에 기억한다.
스텝S763에 있어서, 암호 프로세서(606)는, 스텝S761에서 생성된 난수B를, 비밀열쇠 기억부(601)에 기억되어 있는 열쇠를 사용해서 암호화한다.
스텝S764에 있어서, CPU(605)는, 스텝S763의 처리 결과의 데이터 (즉, 암호화된 난수B)를, ID판독 요구의 부가 정보로서, 예를 들면 데이터 기억부(608)의 소정의 영역에 기억한다.
도 17에 되돌아가서, 리더/라이터(600)는, 스텝S535에 있어서, 부가 정보를 갖는 카드ID의 판독을 요구하는 코멘드를 포함한 프레임을 IC카드(200)에 송신한 다. 스텝S644에 있어서, IC카드(200)에 의해, 이 프레임이 수신된다.
스텝S645에 있어서, 리더/라이터(600)는, IC카드(200)로부터 송신된 ID카드 판독 요구의 부가 정보를 복호해서 난수B를 취득한다.
이하에서, 도 19의 흐름도를 참조하여, 도 17의 스텝S645에서 수행된 난수B취득 처리를 설명한다.
스텝S791에 있어서, CPU(207)는, 스텝S644에서 수신한 리더/라이터(600)로부터의 카드ID판독 요구에 포함되는 부가 정보(즉, 암호화된 난수B)를 취득한다.
스텝S792에 있어서, CPU(207)는, 데이터 기억부(205)의 소정의 영역에, 스텝S791의 처리로 취득된 부가 정보를 기억한다.
스텝S793에 있어서, 암호 프로세서(208)는, 스텝S791의 처리로 취득된 카드ID판독 요구에 포함되는 부가 정보인 암호화된 난수B를, 비밀열쇠 기억부(203)에 기억되어 있는 열쇠를 사용해서 복호한다. 이에 따라 난수B가 취득된다.
스텝S794에 있어서, CPU(207)는, 스텝S793의 처리에 의해 취득된 난수B를, 예를 들면 데이터 기억부(205)의 소정의 영역에 기억한다.
이상의 처리에 의해, 리더/라이터(600)와 IC카드(200)는, 이번의 통신(세션)에 있어서 필요한 세션ID(즉, 통신ID)와, 세션 열쇠(즉, 8바이트의 난수A 및 난수B)을 교환하게 된다.
도 17에 있어서의 IC카드(200)의 스텝S646 내지 S653과 리더/라이터(600)의 스텝S536 내지 S542는, 리더/라이터(600)과 IC카드(200)와의 사이에서 통신되는 프레임에 포함되는 데이터가, 난수A(8바이트의 세션 열쇠)에서 암호화된 것이 아니 고, 난수A와 난수B의 조합(16바이트의 세션 열쇠)으로 암호화되어 있는 점을 제외하고, 도 4의 스텝SlO5 내지 Sll2와 스텝S205 내지 S212와, 각각 같다.
이상과 같이, 통신시스템(500)에 있어서는, 리더/라이터(600)가, 난수생성부(607)에 의해 생성된 8바이트의 난수B를 비밀열쇠로 암호화한 것을, 부가 정보로서, 폴링의 프레임이나, 또는, 폴링의 다음에 송신하는 프레임에 받아들여서 IC카드(200)에 송신하고, IC 카드(200)가, 난수생성부(202)에 의해 생성된 8바이트의 난수A를 비밀열쇠로 암호화한 것을, 통신ID로서 그 암호화된 난수A를 리더/라이터(600)에 송신한다.
이에 따라 리더/라이터(600)와 IC카드(200) 각각은, 자신이 생성한 8바이트 길이의 난수A(난수B)와, 통신 상대가 생성한 8바이트 길이의 난수B (난수A)의 조합을 포함한 16바이트(128비트) 길이의 열쇠를 공유할 수 있다.
따라서, 본 발명의 실시예들의 통신시스템은, 열쇠의 데이터 길이로서 112비트나 128비트가 필요한 2-Key Triple-DES나 AES 등의 암호 알고리즘으로 작동할 수 있다. 또한, 리더/라이터(600)와 IC카드(200)와의 사이에서 행해지는 통신 프레임의 수(통신의 회수)는, 도 4의 흐름도와 도 14 및 도 17의 흐름도를 비교해서 분명하게 나타나 있는 바와 같이, 통신시스템(50)에서 행해졌던 통신 프레임의 수와 동일하다. 다시 말해, 통신시스템(50)에 있어서 16바이트 길이의 열쇠를 공유하기 위해서 필요했던 부족분의 정보를 문의하는 여분의 통신은, 통신시스템(500)에 있어서는 발생하지 않는다.
통신시스템(500)은, 최소한의 통신 프레임수의 통신에 의해, 통신ID의 데이 터 길이보다도 긴 데이터 길이의 열쇠를 사용하는 암호 알고리즘과 호환 가능하다.
또한, 상기에서는, 리더/라이터(600)가 생성하는 난수B의 데이터 길이를 8바이트로 했고, 부가 정보를 격납하는 프레임의 빈 영역에 따라, 난수B의 데이터 길이를 8바이트보다 크게 하는 것도 가능하다. 이 경우, 리더/라이터(600)와 IC카드(200)에서 사용되는 세션 열쇠를 128비트보다 크게 할 수 있다.
전술한 실시예에서는, 도 2를 참조해서 설명한 바와 같이, 카드ID의 송신 요구가 있었을 경우에 암호화 플래그가 ON으로 설정되기 때문에, 데이터를 암호화해서 통신하기 위해서는, 리더/라이터(600)로부터 IC카드(200)에 카드ID의 송신 요구를 송신한다.
그렇지만, 통신되는 데이터를 은닉할 필요는 있지만, 카드ID는 필요하지 않을 수도 있다. 그러한 경우에는, 암호화 플래그를 ON시키는 코멘드를 별도로 마련하여, 리더/라이터(600)로부터 IC카드(200)에 송신하면 좋다. 다시 말해, 도 14 및 도 17의 처리에 있어서, 카드ID판독 요구의 코멘드 대신에, 암호화 플래그를 ON 시키는 코멘드를 포함한 프레임이 리더/라이터(600)로부터 IC카드(200)에 송신된다. 또한 항상 데이터를 암호화하기 위해서, 세션 열쇠의 교환후는, 리더/라이터(600)와 IC카드(200) 사이에 통신된 데이터를 반드시 암호화(암호화 플래그를 ON 시킨다) 하여도 좋다. 이 경우, 암호화 플래그는 제거하여도 된다.
IC카드와 리더/라이터로 구성되는 통신시스템을 설명했다. 본 발명은, 예를 들면 RFID와, RFID 리더에 의해 NFCIP-1의 이니시에이터와 타겟으로 구성되는 시스템에도 적용가능하다.
또한, 전술한 일련의 처리 스텝들은, 하드웨어에 의해 실행시킬 수도 있고, 소프트웨어에 의해 실행시킬 수도 있다. 전술한 일련의 처리를 소프트웨어에 의해 실행시킬 경우에는, 그 소프트웨어를 구성하는 프로그램이, 도 1의 CPU(105) 또는 CPU(207)에 의해 실행되고, 그것들의 프로그램은, 리더/라이터(100) 또는 IC카드(200)가 판독 가능한 기록 매체 등으로부터 판독된다.
전술한 일련의 처리를 실행하는 스텝은, 기재된 순서에 따라 시계열적으로 행해질 수도 있다. 이와는 달리, 그 일련의 처리 스텝은, 병렬적 혹은 개별적으로 실행되어도 된다.
당업자는, 여러 가지 변형, 조합, 부조합 및 변경을 첨부된 청구항 또는 그것의 동등한 내용의 범위 내에 있는 한은 설계 사항 및 다른 요소들에 따라 일어날 수도 있다는 것을 알아야 한다.
본 발명에 의하면, 간단한 구성에서 안전 또한 편리성의 높은 정보통신을 행할 수 있다.

Claims (23)

  1. 삭제
  2. 삭제
  3. 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보를 송수신하는 통신시스템의 디바이스로서,
    상기 디바이스는,
    제1의 난수를 생성하는 난수생성 수단과,
    소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 디바이스 암호화 수단과,
    상기 디바이스 암호화 수단에 의해 암호화 또는 복호에 사용되고, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 디바이스 비밀 열쇠기억 수단과,
    상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 난수생성 수단에 의해 생성된 상기 제1의 난수를, 상기 비밀열쇠를 사용해서 상기 디바이스 암호화 수단에 의해 암호화한 ID이며 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID송신 수단과,
    상기 난수생성 수단에 의해 생성된 상기 제1의 난수를 열쇠로서 사용하여, 상기 디바이스 암호화 수단에 의해 암호화 또는 복호되는 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송신 또는 수신하는 디바이스 송수신수단을 구비하고,
    디바이스에 고유한 ID를 기억하는 ID기억수단을 더 구비하고, 상기 정보처리장치로부터 상기 고유 ID의 판독 요구를 수신했을 경우, 상기 ID기억 수단에 기억되어 있는 고유ID를, 상기 난수생성 수단에 의해 생성된 상기 제1의 난수를 열쇠로서 사용하여, 상기 디바이스 암호화 수단에 의해 암호화해서 상기 정보처리장치에 송신하며,
    상기 정보처리장치에 상기 고유ID를 암호화해서 송신한 것인가 아닌가를 판정하는 판정 수단을 더 구비하고,
    상기 판정 수단에 의해, 상기 정보처리장치에 상기 고유ID를 암호화해서 송신했다고 판정되었을 경우, 상기 디바이스 송수신수단은, 상기 정보처리장치와의 사이에서 통신되는 정보를, 암호화 또는 복호하는 것을 특징으로 하는 디바이스.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 소정의 커버리지 영역내에 있어서, 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고, 소정의 프로토콜로 정보를 송수신하는 통신시스템의 디바이스로서,
    상기 디바이스는,
    제1의 난수를 생성하는 난수생성 수단과,
    소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 디바이스 암호화 수단과,
    상기 디바이스 암호화 수단에 의해 암호화 또는 복호에 사용되고, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 디바이스 비밀 열쇠기억 수단과,
    상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 난수생성 수단에 의해 생성된 상기 제1의 난수를, 상기 비밀열쇠를 사용해서 상기 디바이스 암호화 수단에 의해 암호화한 ID이며 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID송신 수단과,
    상기 난수생성 수단에 의해 생성된 상기 제1의 난수를 열쇠로서 사용하여, 상기 디바이스 암호화 수단에 의해 암호화 또는 복호되는 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송신 또는 수신하는 디바이스 송수신수단을 구비하고,
    상기 디바이스 송수신수단은, 상기 난수생성 수단에 의해 생성된 상기 제1의 난수와, 상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 정보처리장치로부터 상기 비밀열쇠로 암호화되어서 송신된 제2의 난수를 사용하여, 상기 디바이스 암호화 수단을 제어해서 상기 정보처리장치와 통신되는 정보를 암호화 또는 복호하는 것을 특징으로 하는 디바이스.
  8. 삭제
  9. 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하고 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 정보처리장치로서,
    소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 장치암호화 수단과,
    상기 장치암호화 수단에 의해 암호화 또는 복호에 사용되고, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 기억하는 장치 비밀열쇠기억 수단과,
    폴링에 대응해서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 통신ID기억 수단과,
    상기 통신ID를, 상기 비밀열쇠를 사용하여, 상기 장치암호화 수단으로 복호함으로써 제1의 난수를 취득하는 난수취득 수단과,
    상기 난수취득 수단에 의해 취득된 상기 제1의 난수를 사용하여, 상기 장치암호화 수단에 의해 암호화 또는 복호된 정보를, 상기 디바이스에 또는 디바이스로부터 송수신하는 장치 송수신수단을 구비하며,
    제2의 난수를 생성하는 난수생성 수단을 더 구비하고,
    상기 장치 송수신수단은, 상기 폴링시 또는, 상기 폴링의 다음 송신시에 상기 제2의 난수를 상기 비밀열쇠로 암호화해서 상기 디바이스에 송신하는 동시에, 상기 난수취득 수단에 의해 취득된 상기 제1의 난수와 상기 제2의 난수를 사용하여, 상기 장치암호화 수단을 제어해서 상기 디바이스와 통신되는 정보를 암호화 또는 복호하는 것을 특징으로 하는 정보처리장치.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하여 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템으로서,
    상기 디바이스는,
    제1의 난수를 생성하는 디바이스 난수생성 수단과,
    소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 디바이스 암호화 수단과,
    상기 디바이스 암호화 수단에 의한 암호화 및 복호에 사용되고 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를, 기억하는 디바이스 비밀열쇠 기억 수단과,
    상기 정보처리장치로부터 송신되는 폴링에 대응하여 상기 디바이스 난수생성 수단에 의하여 생성된 상기 제1의 난수를 상기 비밀열쇠를 사용해서 상기 디바이스 암호화 수단에 의해 암호화한 ID이고, 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 통신ID 송신 수단과,
    상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 정보처리장치로부터 상기 비밀열쇠로 암호화되어서 송신되어 오는 제2의 난수와, 상기 난수생성 수단에 의해 생성된 상기 제1의 난수를 사용하여, 상기 디바이스 암호화 수단을 제어해서 정보처리장치와 통신되는 정보를 암호화 또는 복호하는 디바이스 송수신수단을 구비하고,
    상기 정보처리장치는,
    상기 제2의 난수를 생성하는 장치 난수생성 수단과,
    소정의 열쇠에 의거하여 소정의 알고리즘에 따라 정보를 암호화 또는 복호하는 장치암호화 수단과,
    상기 장치암호화 수단에 의한 암호화 또는 복호에 사용되고 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를, 기억하는 장치 비밀 열쇠 기억 수단과,
    상기 폴링에 따라서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함된 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 통신ID기억 수단과,
    상기 통신ID를, 상기 비밀열쇠를 사용하여, 상기 장치암호화 수단으로 복호함으로써 상기 제1의 난수를 취득하는 난수취득 수단과,
    상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 제2의 난수를 상기 비밀열쇠로 암호화해서 상기 디바이스에 그 암호화된 제2의 난수를 송신하는 동시에, 상기 난수취득 수단에 의해 취득된 상기 제1의 난수와 상기 제2의 난수를 사용하여, 상기 장치 암호화 수단을 제어해서 상기 디바이스와 통신되는 정보를 암호화 또는 복호하는 장치 송수신수단을 구비한 것을 특징으로 하는 통신시스템.
  15. 소정의 커버리지 영역내에 있어서 무선통신을 행하는 디바이스 및 정보처리장치로 구성되어, 소정의 커버리지 영역내에 있는 통신 상대를 유일하게 식별하여 소정의 프로토콜로 정보의 송수신을 행하는 통신시스템의 통신 방법으로서,
    제1의 난수를 생성하는 스텝과,
    상기 정보처리장치로부터 송신되는 폴링에 대응하여 생성된 상기 제1의 난수를, 상기 정보처리장치와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용하여, 소정의 알고리즘에 따라 암호화하여 생성되고 상기 정보처리장치를 통신 상대로서 유일하게 식별하는 통신ID를 포함한 응답을, 상기 정보처리장치에 송신하는 스텝과,
    상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 정보처리장치로부터 상기 비밀열쇠로 암호화되어서 송신되어 오는 제2의 난수와, 생성된 상기 제1의 난수를 열쇠로서 사용하는 상기 알고리즘에 따라 암호화 또는 복호된 정보를, 상기 정보처리장치에 또는 정보처리장치로부터 송신 또는 수신하는 스텝과,
    제2의 난수를 생성하는 스텝과,
    상기 폴링에 따라서 상기 디바이스로부터 송신되는 응답을 수신해서 상기 응답에 포함되는 통신ID를, 상기 디바이스를 통신 상대로서 유일하게 식별하는 식별자로서 기억하는 스텝과,
    상기 통신ID를, 상기 디바이스와의 사이에서 사전에 공유되어 있는 비밀열쇠를 사용해 소정의 알고리즘에 따라 복호함으로써 상기 제1의 난수를 취득하는 스텝과,
    상기 폴링시 또는 상기 폴링의 다음 송신시에 상기 제2의 난수를 상기 비밀열쇠로 암호화해서 상기 디바이스에 송신하는 동시에, 취득된 상기 제1의 난수와 상기 제2의 난수를 사용하는 상기 알고리즘에 따라 암호화 또는 복호되는 정보를, 송신 또는 수신하는 스텝을 포함한 것을 특징으로 하는 통신 방법.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
KR20070045952A 2006-05-12 2007-05-11 통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법 KR101325227B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPJP-P-2006-00133774 2006-05-12
JP2006133774 2006-05-12
JPJP-P-2006-00205702 2006-07-28
JP2006205702A JP5205720B2 (ja) 2006-05-12 2006-07-28 通信システムおよび通信方法、デバイス、情報処理装置、並びにプログラム

Publications (2)

Publication Number Publication Date
KR20070109941A KR20070109941A (ko) 2007-11-15
KR101325227B1 true KR101325227B1 (ko) 2013-11-04

Family

ID=38374156

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070045952A KR101325227B1 (ko) 2006-05-12 2007-05-11 통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법

Country Status (7)

Country Link
US (1) US8605903B2 (ko)
EP (1) EP1855430A3 (ko)
JP (1) JP5205720B2 (ko)
KR (1) KR101325227B1 (ko)
CN (1) CN101162495B (ko)
HK (1) HK1111250A1 (ko)
SG (1) SG137751A1 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4952433B2 (ja) * 2007-08-08 2012-06-13 ソニー株式会社 情報処理装置および方法、並びに、情報処理システム
WO2009046088A1 (en) * 2007-10-01 2009-04-09 Neology, Inc. Systems and methods for preventing transmitted cryptographic parameters from compromising privacy
JP2009258860A (ja) * 2008-04-14 2009-11-05 Sony Corp 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム
JP2009266130A (ja) * 2008-04-28 2009-11-12 Sony Corp 通信デバイスおよび応答方法
JP2009276916A (ja) 2008-05-13 2009-11-26 Sony Corp 通信装置、通信方法、リーダライタ及び通信システム
CN101739758B (zh) * 2008-11-18 2012-12-19 中兴通讯股份有限公司 智能卡的加密、解密方法及系统、读写器
JP5523768B2 (ja) * 2009-08-28 2014-06-18 Kddi株式会社 情報通信システム、情報通信方法およびプログラム
EP2363825B1 (fr) * 2010-03-04 2016-04-27 Inside Secure Procédé pour conduire une transaction au moyen d'un dispositif NFC
US8342415B2 (en) * 2010-03-17 2013-01-01 Inside Secure Method of conducting a transaction using an NFC device
FR2957173B1 (fr) * 2010-03-04 2013-10-18 Inside Contactless Procede pour conduire un transaction au moyen d'un dispositif nfc
CN102270293A (zh) * 2011-07-08 2011-12-07 南京航空航天大学 一种基于rfid技术的数据采集系统及其采集方法
CN102291241B (zh) * 2011-09-15 2014-01-22 重庆市城投金卡信息产业股份有限公司 多数据安全模块的加密与解密方法及加解密装置
KR101781453B1 (ko) 2011-09-22 2017-09-25 엘지전자 주식회사 전자 기기, 그것의 계정 관리 방법, 및 그것을 이용한 계정 관리 시스템
US9374134B2 (en) * 2012-02-02 2016-06-21 Qualcomm Incorporated Methods and apparatus for improving the identification of multiple NFC-A devices
US9214988B2 (en) 2012-02-06 2015-12-15 Qualcomm Incorporated Methods and apparatus for improving peer communications using an active communication mode
US9094049B2 (en) * 2012-04-10 2015-07-28 Qualcomm Incorporated Methods and apparatus for improving device activition among a plurality of NFC devices that support type a RF technology
US9331744B2 (en) 2012-05-18 2016-05-03 Qualcomm Incorporated Methods and apparatus for improving collision resolution among multiple NFC-A devices
JP5956847B2 (ja) * 2012-06-28 2016-07-27 キヤノン株式会社 情報端末及びその制御方法、並びにプログラム
CN103279775B (zh) * 2013-05-03 2016-08-03 无锡昶达信息技术有限公司 能够保证秘密性和数据完整性的rfid系统及其实现方法
CN103678959A (zh) * 2013-11-12 2014-03-26 杭州晟元芯片技术有限公司 一种基于移动存储设备的数据保护方法
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10142301B1 (en) * 2014-09-17 2018-11-27 Amazon Technologies, Inc. Encrypted data delivery without intervening decryption
CN104869566B (zh) * 2015-06-15 2018-05-22 湖北师范学院 一种通过混沌信号对信息进行加密的通信系统
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US9960912B2 (en) * 2015-07-06 2018-05-01 Quanta Computer Inc. Key management for a rack server system
US20170034214A1 (en) * 2015-07-30 2017-02-02 Northrop Grumman Systems Corporation Apparatus and method for cross enclave information control
KR102017101B1 (ko) * 2017-02-02 2019-09-03 박현주 사물 인터넷 보안 모듈
TWI753146B (zh) 2017-04-14 2022-01-21 日商索尼股份有限公司 非接觸通訊裝置及通訊系統

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143128A (ja) * 2001-11-05 2003-05-16 Open Loop:Kk 通信システム及び通信方法
JP2004127052A (ja) * 2002-10-04 2004-04-22 Sony Corp データ管理システム、仮想メモリ装置及び仮想メモリの制御方法、並びにicモジュール・アクセス装置及びicモジュールへのアクセス制御方法
JP2006074767A (ja) * 2004-08-24 2006-03-16 Sony Deutsche Gmbh 近距離通信システムの動作方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01212039A (ja) * 1988-02-19 1989-08-25 Toshiba Corp 暗号化鍵共有装置
JPH0231290A (ja) * 1988-07-21 1990-02-01 Matsushita Electric Ind Co Ltd Icカード装置
JPH0244389A (ja) * 1988-08-04 1990-02-14 Matsushita Electric Ind Co Ltd Icカード機器
JP2002232414A (ja) * 2001-02-06 2002-08-16 Nippon Telegr & Teleph Corp <Ntt> 情報配送方法及び装置並びにプログラム及び記録媒体
WO2002095572A1 (en) * 2001-05-24 2002-11-28 Sony Corporation Service providing method and integrated circuit
GB0210692D0 (en) * 2002-05-10 2002-06-19 Assendon Ltd Smart card token for remote authentication
JP2004282295A (ja) * 2003-03-14 2004-10-07 Sangaku Renkei Kiko Kyushu:Kk ワンタイムidの生成方法、認証方法、認証システム、サーバ、クライアントおよびプログラム
JP2004215225A (ja) * 2002-12-17 2004-07-29 Sony Corp 通信システムおよび通信方法、並びにデータ処理装置
US20040181517A1 (en) * 2003-03-13 2004-09-16 Younghee Jung System and method for social interaction
US20050014468A1 (en) * 2003-07-18 2005-01-20 Juha Salokannel Scalable bluetooth multi-mode radio module
JP4611679B2 (ja) 2003-07-25 2011-01-12 株式会社リコー 通信装置、通信システム、通信方法及びプログラム
US20050273609A1 (en) * 2004-06-04 2005-12-08 Nokia Corporation Setting up a short-range wireless data transmission connection between devices
JP2005348306A (ja) 2004-06-07 2005-12-15 Yokosuka Telecom Research Park:Kk 電子タグシステム、電子タグ、電子タグリーダライタ、およびプログラム
JP4670270B2 (ja) * 2004-06-28 2011-04-13 ソニー株式会社 通信システム及び通信装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143128A (ja) * 2001-11-05 2003-05-16 Open Loop:Kk 通信システム及び通信方法
JP2004127052A (ja) * 2002-10-04 2004-04-22 Sony Corp データ管理システム、仮想メモリ装置及び仮想メモリの制御方法、並びにicモジュール・アクセス装置及びicモジュールへのアクセス制御方法
JP2006074767A (ja) * 2004-08-24 2006-03-16 Sony Deutsche Gmbh 近距離通信システムの動作方法

Also Published As

Publication number Publication date
KR20070109941A (ko) 2007-11-15
JP5205720B2 (ja) 2013-06-05
EP1855430A3 (en) 2015-05-06
HK1111250A1 (en) 2008-08-01
CN101162495A (zh) 2008-04-16
JP2007329884A (ja) 2007-12-20
CN101162495B (zh) 2012-04-25
SG137751A1 (en) 2007-12-28
US20080137862A1 (en) 2008-06-12
US8605903B2 (en) 2013-12-10
EP1855430A2 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
KR101325227B1 (ko) 통신시스템, 디바이스, 통신 방법, 정보처리장치 및 방법
US10341341B2 (en) RFID authentication architecture and methods for RFID authentication
KR101472142B1 (ko) 통신 시스템 및 통신 방법
US8315391B2 (en) Information access system, reader/writer device and contactless information storage device
US20060050877A1 (en) Information processing apparatus and method, program, and recording medium
US8296852B2 (en) Transponder, RFID system, and method for RFID system with key management
US20030112972A1 (en) Data carrier for the secure transmission of information and method thereof
US20120233687A1 (en) Secure method for controlling the opening of lock devices by means of a communicating object such as a mobile phone
US10291398B2 (en) Communication device, communication method, reader/writer, and communication system
KR100728629B1 (ko) Rfid 태그의 위조 방지를 위한 시스템 및 방법
US20080022101A1 (en) Data transmission method and apparatus
KR20090037219A (ko) 단계별로 보안 수준 조절이 가능한 고주파 식별 시스템 및상기 시스템을 이용한 정보 보안 방법
KR100860408B1 (ko) 무선통신을 이용하여 스마트카드와 신호처리를 행하는 방법및 이를 위한 장치
JP2006108886A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
KR100589961B1 (ko) Rf-id 시스템
JP2010141639A (ja) 通信システムおよび通信方法
JP5908869B2 (ja) 通信装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee