KR20150135753A - Ic 카드, 전자 장치 및 휴대 가능 전자 장치 - Google Patents

Ic 카드, 전자 장치 및 휴대 가능 전자 장치 Download PDF

Info

Publication number
KR20150135753A
KR20150135753A KR1020150161782A KR20150161782A KR20150135753A KR 20150135753 A KR20150135753 A KR 20150135753A KR 1020150161782 A KR1020150161782 A KR 1020150161782A KR 20150161782 A KR20150161782 A KR 20150161782A KR 20150135753 A KR20150135753 A KR 20150135753A
Authority
KR
South Korea
Prior art keywords
session key
card
command
unit
cpu
Prior art date
Application number
KR1020150161782A
Other languages
English (en)
Other versions
KR101783526B1 (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 KR20150135753A publication Critical patent/KR20150135753A/ko
Application granted granted Critical
Publication of KR101783526B1 publication Critical patent/KR101783526B1/ko

Links

Images

Classifications

    • 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/08Record 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 using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means
    • G06K19/10Record 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 using markings of different kinds or more than one marking of the same kind in the same record carrier, e.g. one marking being sensed by optical and the other by magnetic means at least one kind of marking being used for authentication, e.g. of credit or identity cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/07749Constructional details, e.g. mounting of circuits in the carrier the record carrier being capable of non-contact communication, e.g. constructional details of the antenna of a non-contact smart card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/10Selecting, i.e. obtaining data of one kind from those record carriers which are identifiable by data of a second kind from a mass of ordered or randomly- distributed record carriers
    • G06F7/12Selecting, i.e. obtaining data of one kind from those record carriers which are identifiable by data of a second kind from a mass of ordered or randomly- distributed record carriers with provision for printing-out a list of selected items
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference

Abstract

실시 형태에 따르면, IC 카드는 통신부와, 생성부와, 제1 기록부와, 소거부를 구비한다. 통신부는 외부 장치와 데이터를 송수신한다. 생성부는, 상기 통신부가 수신하는 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성한다. 제1 기록부는, 상기 생성부가 생성한 상기 세션 키를 저장한다. 소거부는, 상기 상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거한다.

Description

IC 카드, 전자 장치 및 휴대 가능 전자 장치{IC CARD, ELECTRONIC DEVICE AND PORTABLE ELECTRONIC DEVICE}
본 출원은, 2013년 3월 8일에 출원한 선행하는 일본 특허 출원 제2013-046542호에 의한 우선권의 이익에 기초를 두고, 또한 그 이익을 구하고 있으며, 그 내용 전체가 인용에 의해 여기에 포함된다.
본 발명의 실시 형태는, IC 카드, 전자 장치 및 휴대 가능 전자 장치에 관한 것이다.
전자 장치 중 하나인 IC 카드로서, 처리 장치로부터의 명령을 실행하기 위해 세션 키를 생성하는 IC 카드가 있다. 종래, IC 카드는 전원이 오프가 될 때까지 세션 키를 유지한다. 그로 인해, IC 카드는 장시간에 걸쳐서 세션 키를 유지하게 된다.
장시간에 걸쳐서 세션 키를 유지하는 것은, 시큐리티의 관점에서 바람직하지 않다. 상기한 과제를 해결하기 위해, 본 발명은 안전성이 높은 IC 카드, 전자 장치 및 휴대 가능 전자 장치를 제공한다.
실시 형태에 따르면, IC 카드는 통신부와, 생성부와, 제1 기록부와, 소거부를 구비한다. 통신부는 외부 장치로 데이터를 송신하고, 또한 외부 장치로부터 데이터를 수신한다. 생성부는, 상기 통신부가 수신한 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성한다. 제1 기록부는, 상기 생성부가 생성한 상기 세션 키를 저장한다. 소거부는, 상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거한다.
상기 구성은 안정성이 높은 IC 카드를 제공한다.
도 1은, 실시 형태에 관한 IC 카드와 IC 카드 처리 장치를 갖는 IC 카드 처리 시스템의 구성예를 도시하는 블록도이다.
도 2는, 실시 형태에 관한 IC 카드의 구성예를 도시하는 블록도이다.
도 3은, 실시 형태에 관한 IC 카드의 라이프 사이클의 예를 도시하는 흐름도이다.
도 4는, 실시 형태에 관한 IC 카드의 NVM에 기억되는 파일의 관리 구조의 예를 도시한다.
도 5는, 실시 형태에 관한 IC 카드의 NVM의 구성예를 도시한다.
도 6은, 실시 형태에 관한 IC 카드의 NVM에 기록되는 DF 정의 정보의 구성예를 도시한다.
도 7은, 실시 형태에 관한 IC 카드의 NVM에 기록되는 세션 키 제어 정보의 구성예를 도시한다.
도 8은, 실시 형태에 관한 IC 카드의 RAM에 기록되는 세션 키 관리 정보의 구성예를 도시한다.
도 9는, 실시 형태에 관한 IC 카드의 동작예를 설명하기 위한 흐름도이다.
도 10은, 실시 형태에 관한 IC 카드의 세션 키 설정 처리의 동작예를 설명하기 위한 흐름도이다.
도 11은, 실시 형태에 관한 IC 카드의 세션 키 소거 처리의 동작예를 설명하기 위한 흐름도이다.
도 12는, 실시 형태에 관한 IC 카드의 커맨드 실행 처리의 동작예를 설명하기 위한 흐름도이다.
도 13은, 실시 형태에 관한 IC 카드에 있어서, CPU의 동작에 의해 실현되는 기능을 도시한다.
실시 형태에 따르면, IC 카드는 통신부와, 생성부와, 제1 기록부와, 소거부를 구비한다. 통신부는 외부 장치로 데이터를 송신하고, 또한 외부 장치로부터 데이터를 수신한다. 생성부는, 상기 통신부가 수신한 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성한다. 제1 기록부는, 상기 생성부가 생성한 상기 세션 키를 저장한다. 소거부는, 상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거한다.
실시 형태에 관한 전자 장치는 외부 장치와 데이터 통신을 확립하고, 외부 장치가 송신한 커맨드에 따라 동작한다. 외부 장치는, 전자 장치로 커맨드를 송신한다. 전자 장치는 수신된 커맨드에 따라 동작하고, 동작 결과 등을 저장한 리스폰스를 외부 장치로 송신한다.
전자 장치는 외부 장치로부터의 커맨드를 실행하기 위해, 커맨드를 수신하기 전에 세션 키를 생성하여 저장해 둘 필요가 있다. 전자 장치는, 세션 키를 저장하는 동안에 세션 키를 필요로 하는 커맨드를 외부 장치로부터 수신한 경우, 수신한 커맨드를 실행할 수 있다.
또한, 전자 장치는 세션 키를 생성한 후, 소정의 시간이 경과하면 세션 키를 소거한다. 전자 장치는 세션 키를 소거한 후에, 세션 키를 필요로 하는 커맨드를 수신하여도 수신된 커맨드를 실행할 수 없다.
이하, 도면을 참조하면서 실시 형태를 상세하게 설명한다.
도 1은, 실시 형태에 관한 IC 카드 처리 시스템의 구성예의 블록도이다. IC 카드 처리 시스템은, 전자 장치로서의 IC 카드(2)와, IC 카드(2)와 통신을 행하는 외부 장치로서의 IC 카드 처리 장치(1)를 갖는다.
도 1에 도시하는 구성예에 있어서, IC 카드 처리 장치(1)는 기본적인 구성으로서 제어부(11), 디스플레이(12), 조작부(13) 및 카드 리더 라이터(14) 등을 갖는다. 또한, IC 카드 처리 장치(1)는, 도 1에 도시하는 구성 이외에 필요에 따른 구성을 구비하거나 특정한 구성을 제외하거나 해도 좋다.
제어부(11)는, IC 카드 처리 장치(1) 전체의 동작을 제어한다. 제어부(11)는, CPU, 다양한 메모리 및 각종 인터페이스 등을 포함한다. 예를 들어, 제어부(11)는 퍼스널 컴퓨터(PC)를 포함해도 좋다.
제어부(11)는, 카드 리더 라이터(14)에 의해 IC 카드(2)로 커맨드를 송신하는 기능, IC 카드(2)로부터 수신한 리스폰스 등의 데이터를 기초로 다양한 처리를 행하는 기능 등을 갖는다. 예를 들어, 제어부(11)는 카드 리더 라이터(14)를 통해 조작부(13)에서 입력된 데이터 또는 소정의 데이터 등을 포함하는 기입 커맨드를 IC 카드(2)에 송신함으로써, IC 카드(2)에 당해 데이터의 기입 처리를 요구하는 제어를 행한다.
디스플레이(12)는, 제어부(11)의 제어에 의해 다양한 정보를 표시하는 장치이다. 디스플레이(12)는, 예를 들어 액정 모니터 등이다.
조작부(13)에는, IC 카드 처리 장치(1)의 사용자에 의해 다양한 조작 지시 및 데이터 등이 입력된다. 조작부(13)는, 입력된 조작 지시 및 데이터 등을 제어부(11)로 송신한다. 조작부(13)는, 예를 들어 키보드, 텐키 및 터치 패널 등이다.
카드 리더 라이터(14)는, IC 카드(2)와의 통신을 행하기 위한 인터페이스 장치이다. 카드 리더 라이터(14)는, IC 카드(2)의 통신 방식에 따른 인터페이스를 포함한다. 카드 리더 라이터(14)는, IC 카드(2)의 콘택트부와 물리적이면서도 전기적으로 접속하기 위한 콘택트부 등을 포함한다.
카드 리더 라이터(14)는, 제어부(11)에 의한 제어에 기초하여 IC 카드(2)의 활성화(기동), 다양한 커맨드의 송신 및 송신한 커맨드에 대한 응답(리스폰스)의 수신 등을 행한다.
이어서, IC 카드(2)에 대하여 설명한다.
IC 카드(2)는, IC 카드 처리 장치(1) 등의 상위 장치로부터 전력 등의 공급을 받아 활성화된다. 즉, IC 카드(2)는 동작 가능한 상태가 된다. 예를 들어, IC 카드(2)는 통신 인터페이스로서의 콘택트부를 통해 IC 카드 처리 장치(1)로부터 동작 전력 및 동작 클록을 받아 활성화된다.
이어서, IC 카드(2)의 구성예에 대하여 설명한다.
도 2는, 실시 형태에 관한 IC 카드(2)의 구성예를 개략적으로 도시하는 블록도이다.
IC 카드(2)는, 플라스틱 등으로 형성된 카드 형상의 하우징(본체)(C)과, 모듈(M)을 갖는다. 모듈(M)은, 1개 또는 복수의 IC 칩(Ca)과 통신용의 외부 인터페이스(통신 인터페이스)를 갖는다. 모듈(M)은 IC 칩(Ca)과 외부 인터페이스가 접속된 상태로 일체적으로 형성되고, 모듈(M)은 본체(C) 내에 매설되어 있다. 또한, 모듈(M)은, CPU(21), NVM(22), RAM(23), ROM(24), 통신부(25), 인터럽트 타이머(26) 등을 갖고 있다.
CPU(21)는, IC 카드(2) 전체의 제어를 담당한다. CPU(21)는, ROM(24) 혹은 NVM(22)에 기억되어 있는 제어 프로그램 및 제어 데이터에 기초하여 동작함으로써, 다양한 기능을 실현한다. 예를 들어, CPU(21)는 오퍼레이팅 시스템의 프로그램을 실행함으로써 IC 카드(2)의 기본적인 동작 제어를 행한다. 또한, CPU(21)는 IC 카드(2)의 이용 목적에 따른 어플리케이션 프로그램을 실행함으로써, IC 카드(2)의 운용 형태에 따른 다양한 동작 제어를 행한다. 또한, 각종 기능 중 일부는, 하드웨어 회로에 의해 실현되어도 좋다. 이 경우, CPU(21)는 하드웨어 회로에 의해 실행되는 기능을 제어한다.
NVM(22)은, EEPROM(Electrically Erasable Programmable Read-Only Memory), 또는 플래시 ROM 등의 재기록이 가능한 불휘발성의 메모리이다. NVM(22)에는, IC 카드(2)의 운용 용도에 따른 제어 프로그램 혹은 다양한 데이터가 기입된다. NVM(22)에는 IC 카드(2)의 규격에 따른 다양한 파일이 정의되고, 이들의 파일에는 다양한 데이터가 기입된다. NVM(22)에 저장되는 파일의 구성예에 대해서는 후술한다.
RAM(23)은, RAM 등의 휘발성의 메모리이다. RAM(23)은, CPU(21)가 처리 중인 데이터 등을 일시 보관하는 버퍼로서 기능한다. 예를 들어, RAM(23)은 수신용 버퍼, 계산용 버퍼, 송신용 버퍼 등을 구비한다. 수신용 버퍼는, 통신부(25)를 통해 IC 카드 처리 장치(1)로부터 송신된 커맨드를 유지한다. 계산용 버퍼는, CPU(21)가 다양한 계산을 하기 위해 일시적인 결과를 유지한다. 송신용 버퍼는, 통신부(25)를 통해 IC 카드 처리 장치(1)에 송신하는 데이터를 유지한다.
또한, RAM(23)은 세션 키 관리 정보를 저장하는 기록 영역(23a) 등을 갖는다. 또한, 세션 키 관리 정보에 대해서는 후술한다.
ROM(24)은, 불휘발성의 메모리이다. ROM(24)에는, IC 칩(Ca)의 제조 단계에서 IC 카드(2)의 사양에 따른 제어 프로그램, 제어 데이터 등이 내장된다. 제어 프로그램 및 제어 데이터는, IC 카드(2)의 기본적인 동작을 담당한다.
통신부(25)는, IC 카드 처리 장치(1)의 카드 리더 라이터(14)와의 통신을 행하기 위한 인터페이스이다. 통신부(25)는, IC 카드 처리 장치(1)의 카드 리더 라이터(14)와 물리적이면서도 전기적으로 접촉하는 콘택트부와, 신호의 송수신을 행하기 위한 통신 제어부를 포함한다. 예를 들어, IC 카드(2)가 휴대 전화 등에서 이용되는 SIM 카드인 경우, 통신부(25)는 콘택트부와, 휴대 전화 등과 신호의 송수신을 행하는 통신 제어부를 포함한다.
인터럽트 타이머(26)는, 인터럽트 처리가 실행되는 시간을 CPU(21)에 알리는 타이머이다. 인터럽트 처리는, CPU(21)에 실행 중인 처리를 강제적으로 정지시키고, CPU(21)에 다른 처리를 실행시키는 것을 말한다. 즉, 인터럽트 타이머(26)가 계시를 개시한 후 소정의 시간이 경과하면, 인터럽트 타이머(26)는 인터럽트 처리의 개시를 알리는 인터럽트 개시 신호를 CPU(21)로 송신한다.
인터럽트 타이머(26)는 카운터를 갖는다. 인터럽트 타이머(26)는, 세션 키를 유지한 기간(세션 키의 유지 기간, 혹은 카운터에 의해 계시된 시간)이 역치를 초과했는지를 체크한다.
인터럽트 타이머(26)는, CPU(21)로부터의 명령에 기초하여 카운터에 카운트 업을 개시시키는 기능, 카운터의 카운트값이 소정수(카운트 역치)에 도달한 경우에 CPU(21)로 인터럽트 개시 신호를 송신하는 기능 등을 갖는다.
예를 들어, CPU(21)는 인터럽트 타이머(26)로 카운트 역치를 설정하는 카운트 역치 설정 신호를 송신하고, 인터럽트 타이머(26)에 카운트 역치를 설정한다. 즉, IC 카드(2)의 인터럽트 타이머(26)는 역치를 저장하는, 청구항에 기재된 제2 기록부를 갖는다. CPU(21)가 카운트 역치를 설정한 후, 소정의 타이밍에 CPU(21)는 인터럽트 타이머(26)로 카운터에 카운트 업을 개시시키는 명령을 송신한다. 인터럽트 타이머(26)는, CPU(21)로부터의 명령에 따라 카운터에 카운트 업을 개시시킨다. 즉, 인터럽트 타이머(26)는, 소정의 시간 간격으로 카운터에 카운트값을 인크리먼트시킨다. 카운터의 카운트값이 카운트 역치에 달하면, 인터럽트 타이머(26)는 인터럽트 처리의 개시를 알리는 인터럽트 개시 신호를 CPU(21)로 송신한다.
또한, 인터럽트 타이머(26)는 CPU(21)로부터의 명령에 기초하여 카운터를 리셋하는 기능, CPU(21)로부터의 명령에 기초하여 카운터에 카운트 업을 일시적으로 정지시키는 기능 및 CPU(21)로부터의 명령에 기초하여 카운터에 카운트 업을 재개시키는 기능 등도 갖는다.
또한, 인터럽트 타이머(26)는, CPU(21)로부터의 무효화 신호에 기초하여 인터럽트 타이머(26)를 무효화하는 기능을 갖는다. 인터럽트 타이머(26)가 무효화 되어 있는 경우, CPU(21)로부터 카운터에 카운트 업을 개시시키는 카운트 개시 신호를 수신하여도, 인터럽트 타이머(26)는 카운트를 개시하지 않는다. 인터럽트 타이머(26)는, CPU(21)로부터의 유효화 신호에 기초하여 인터럽트 타이머(26)를 유효화(동작 가능하게)하는 기능을 갖는다. 인터럽트 타이머(26)가 유효화되어 있는 경우, 카운트 개시 신호를 수신하면, 인터럽트 타이머(26)는 카운트를 개시할 수 있다.
인터럽트 타이머(26)가 유효화되어 있는 경우, CPU(21)로부터 카운트 개시 신호를 수신하면 인터럽트 타이머(26)는 카운트를 개시한다. 또한, 인터럽트 타이머(26)의 카운터가 카운트를 이미 개시하고 있는 경우, 카운트 개시 신호를 수신하면, 인터럽트 타이머(26)는 카운터를 리셋하고, 다시 카운트를 개시한다.
또한, 인터럽트 타이머(26)는 CPU(21)에 의한 소프트웨어의 실행에 의해 실현되어도 좋다.
이어서, 초기화부터 파기까지의 IC 카드(2)의 라이프 사이클에 대하여 설명한다.
도 3은, IC 카드(2)의 라이프 사이클에 대하여 설명하기 위한 흐름도이다.
우선, IC 카드(2)는, 모듈(M)을 하우징(C)에 매설하는 것 등을 포함하는 제조 공정에 의해 제조된다. 제조 직후의 IC 카드(2)는, NVM(22) 내에 아무것도 데이터가 기입되어 있지 않다. 제조된 IC 카드(2)는, 발행 처리에 있어서의 최초의 발행 페이즈로서 초기화 처리를 실행한다. 즉, 발행 처리 장치는, 제조된 IC 카드(2)에 초기화 처리를 실행시킨다(스텝 1). 초기화 처리는, IC 카드(2)의 NVM(22) 내의 시스템 영역에 OS 등의 기본적인 데이터, 프로그램 관리 테이블 및 프로그램 코드 등을 기입하는 처리이다.
초기화 처리를 완료한 IC 카드(2)는, 다음 발행 페이즈로서 1차 발행을 행한다. 즉, 발행 처리 장치는, 초기화 처리를 완료한 IC 카드(2)에 1차 발행 처리를 실행시킨다(스텝 2). 1차 발행 처리는, IC 카드(2)의 NVM(22) 내의 파일 정의 정보 영역에 파일 정의 정보 등을 기입하고, 그에 따라 파일 소생 등을 행하는 처리이다.
1차 발행 처리를 완료한 IC 카드(2)는, 다음 발행 페이즈로서 2차 발행을 행한다. 즉, 발행 처리 장치는, 1차 발행 처리가 완료된 IC 카드(2)에 2차 발행 처리를 실행시킨다(스텝 3). 2차 발행 처리는, IC 카드(2)의 NVM 내의 파일 데이터 영역에 IC 카드(2)의 운용에 필요한 파일 데이터 등을 기입하는 처리이다. 예를 들어, 2차 발행 처리에서는 운용시에 IC 카드(2)를 사용하는 유저의 정보 등이 기입된다.
2차 발행 처리를 완료한 IC 카드(2)는, 실제의 운용이 개시된다(스텝 4). 예를 들어, 2차 발행을 완료한 IC 카드(2)는 유저에게 전달되고, 유저는 IC 카드(2)의 발행자가 제공하는 서비스를 이용한다. 운용을 개시한 IC 카드(2)는, 소정의 운용 조건에 따라 이용된 후에 파기된다(스텝 5). 예를 들어, 서비스의 제공이 종료된 경우, 소정의 유효 기간이 만료된 경우, 혹은 동작의 문제 등이 발생한 경우에 IC 카드(2)는 파기된다.
또한, 이들의 발행 페이즈에 있어서 사용되는 이들의 발행 처리 장치는 동일해도 좋고, 혹은 서로 상이해도 좋다. 또한, 스텝 1 및 스텝 2에서 사용되는 발행 처리 장치는, IC 카드(2)의 제조 공장 등에 설치되어도 좋다. 스텝 3에서 사용되는 발행 처리 장치는, IC 카드(2)를 사용하는 서비스를 제공하는 점포 등에 설치되어도 좋다.
이어서, NVM(22)에 저장되는 파일에 대하여 설명한다.
도 4는, NVM(22)에 저장되는 파일의 구조예를 도시한다.
도 4에 도시한 바와 같이, NVM(22)에는 MF(Master File), DF(Dedicated File)1 및 DF2, 및 EF(Elementary File)1 및 EF2 등의 복수의 파일이 정의되고, 이들의 파일은 계층 구조를 갖는다.
도 4에 도시하는 예에서는, 최상 계층의 MF 아래의 계층에는, DF1 및 DF2가 존재한다. 예를 들어, 1개의 DF에는, IC 카드(2)가 구비하는 1개의 어플리케이션을 실현하기 위한 데이터가 저장된다. IC 카드(2)가 복수의 어플리케이션에 의해 복수의 기능을 실현하고 있는 경우에는, NVM(22)은 각 어플리케이션에 대응하는 복수의 DF를 저장해도 좋다. 또한, DF 아래의 계층에 다른 DF가 존재해도 좋다.
또한, 도 4에 도시하는 예에서는, MF 아래의 계층에 EF1, DF1, DF2가 존재하고, DF1 아래의 계층에 EF2가 존재하고 있다. EF1 및 EF2는, 각종 데이터를 저장하기 위한 데이터 파일이다. EF1 및 EF2에는, 소정의 데이터 구조 중 어느 하나의 데이터 구조로 데이터가 저장된다. 예를 들어, EF1 및 EF2는, 식별자(태그(Tag)), 길이 정보(렝스(Length)) 및 데이터부(밸류(Value))가 순서대로 연결되어 있는 TLV 구조의 오브젝트 데이터가 저장되는 파일이어도 좋고, 바이너리 데이터를 기억하는 파일이어도 좋다.
또한, NVM(22)이 저장하는 DF 및 EF의 수는 특정한 개수로 한정되지 않는다. 또한, NVM(22)에 저장되는 파일의 계층 구조는 특정한 구조로 한정되지 않는다.
이어서, IC 카드(2)의 NVM(22)의 구성예에 대하여 설명한다.
도 5는, IC 카드(2)의 NVM(22)의 구성예를 도시한다.
도 5에 도시한 바와 같이, NVM(22)은 시스템 영역(31), 파일 정의 정보 영역(32) 및 파일 데이터 영역(33) 등을 구비한다.
시스템 영역(31)은, IC 카드(2)의 기본적인 동작을 담당하는 OS 및 OS를 제어하기 위한 데이터 등을 저장한다. 예를 들어, 시스템 영역(31)은 OS 등의 기본적인 데이터, 프로그램 관리 테이블 및 프로그램 코드 등을 저장한다.
파일 정의 정보 영역(32)은, 각 파일의 파일 정의 정보를 저장한다. 파일 정의 정보는, NVM(22)이 저장하는 파일을 정의하는 정보이다. 파일 정의 정보에 대해서는 후술한다.
파일 데이터 영역(33)은, 각 파일의 데이터 에어리어를 저장한다. 데이터 에어리어는, 파일 정의 정보가 정의하는 파일의 실 데이터이다.
도 5에 도시하는 구성예에 있어서, 파일은 파일 정의 정보 영역(32)이 기억하는 파일 정의 정보와, 파일 데이터 영역(33)에 있어서 파일 정의 정보가 정의하는 데이터 에어리어를 포함한다. 예를 들어, DF는 파일 정의 정보 영역(32)이 기억하는 DF 정의 정보로 정의된다. 또한, EF는 파일 정의 정보 영역(32)이 기억하는 EF 정의 정보와 파일 데이터 영역(33)에 있어서 그 EF 정의 정보가 정의하는 데이터 에어리어를 포함한다.
이어서, DF 정의 정보에 대하여 설명한다.
도 6은, IC 카드(2)의 NVM(22)이 저장하는 DF 정의 정보의 구성예를 도시한다.
DF 정의 정보는, NVM(22)이 저장하는 DF를 정의하는 정보이다.
도 6에 도시한 바와 같이, DF 정의 정보는 파일 타입(41), DF 관리 번호(42), DF명 길이(43), DF명(44), 시큐리티 속성(45), 세션 키 제어 정보(46) 및 체크 코드(47) 등을 포함한다.
파일 타입(41)은, DF의 형식을 나타낸다. DF 관리 번호(42)는, DF를 식별하기 위한 DF 고유의 식별 번호이다. DF명 길이는, DF명의 길이를 나타낸다. DF명은, 외부 장치가 DF를 선택할 때에 외부 장치가 DF를 식별하기 위한 명칭이다. 시큐리티 속성(45)은, CPU(21)가 DF의 어플리케이션을 실행할 때에 참조하는 시큐리티 정보이다. 세션 키 제어 정보(46)는, CPU(21)가 세션 키를 제어하기 위해 이용하는 정보이다. 세션 키 제어 정보(46)에 대해서는 후술한다. 체크 코드(47)는, DF 정의 정보가 정확하게 판독되었는지 체크하기 위한 코드이다.
또한, DF 정의 정보는 다른 요소를 구비해도 좋고, DF 정의 정보의 구성은 특정한 구성으로 한정되지 않는다.
이어서, 세션 키에 대하여 설명한다.
세션 키는, IC 카드(2)가 어플리케이션을 실행하기 위해 필요한 인증 키이다. 즉, IC 카드(2)는, 어플리케이션을 실행하기 전에 어플리케이션에 대응하는 세션 키를 생성하여 RAM(23)에 저장해 두어야 한다. 예를 들어, 세션 키는 IC 카드 처리 장치(1)가 비밀 키로 인증 키를 암호화하여 얻은 데이터를, IC 카드(2)가 복호화하여 얻은 데이터여도 좋다. 세션 키의 생성 방법은, 특정한 방법으로 한정되지 않는다.
IC 카드(2)가 어플리케이션을 실행하기 위해 필요한 세션 키는, 어플리케이션마다 상이하다. 즉, 어플리케이션마다 필요한 세션 키가 미리 설정되어 있으며, IC 카드(2)는 실행하는 어플리케이션에 따른 세션 키를 생성할 필요가 있다.
또한, 모든 어플리케이션에 대하여 모두 서로 상이한 세션 키가 설정되어도 좋다. 또한, 복수의 어플리케이션에 대하여 1개의 세션 키가 설정되어도 좋다. 또한, 모든 어플리케이션에 대하여 동일한 세션 키가 설정되어도 좋다. 또한, 세션 키를 필요로 하지 않는 어플리케이션이 있어도 좋다.
IC 카드 처리 장치(1)는, 이어서 계속되는 커맨드에 의해 실행되는 어플리케이션에 따른 세션 키를 IC 카드(2)에 생성시키는 세션 키 생성 커맨드를 IC 카드(2)로 송신한다. IC 카드(2)는, IC 카드 처리 장치(1)가 송신하는 세션 키 생성 커맨드에 기초하여 세션 키를 생성한다.
이어서, 세션 키 제어 정보(46)에 대하여 설명한다.
도 7은, 세션 키 제어 정보(46)의 구성예를 도시한다.
상술한 바와 같이, 세션 키 제어 정보(46)는 세션 키를 제어하기 위한 정보이다. 즉, 세션 키 제어 정보(46)는, IC 카드(2)가 시간 경과에 따라 세션 키를 소거할지의 여부 및 세션 키를 소거할 때까지의 시간 등을 나타낸다.
도 7에 도시한 바와 같이, 세션 키 제어 정보(46)는 세션 키 소거 플래그(51) 및 세션 키 소거 카운터(52) 등을 구비한다.
세션 키 소거 플래그(51)는, IC 카드(2)가 시간 경과에 따라 세션 키를 소거 할지의 여부를 나타낸다. 즉, 세션 키 소거 플래그(51)는 세션 키를 소거할지의 여부를 나타낸다. 즉, IC 카드(2)는 청구항에 기재하는 제3 기록부를 갖는다. 세션 키 소거 플래그(51)가 「소거 가능」을 나타내는 경우, IC 카드(2)는 세션 키를 생성한 후 소정의 시간이 경과했을 때에 세션 키를 소거한다. 또한, 세션 키 소거 플래그(51)가 「소거 불가」를 나타내는 경우, IC 카드 처리 장치(1)로부터의 전력 공급이 없어질 때까지, 또는 IC 카드에 세션 키를 소거시키는 커맨드를 수신할 때까지 IC 카드(2)는 세션 키를 유지한다.
세션 키 소거 카운터(52)는, 세션 키를 소거할 때까지의 유지 시간을 나타낸다. 세션 키 소거 카운터(52)가 저장하는 값은 인터럽트 타이머(26)로 전송되어, 인터럽트 타이머(26)의 카운트 역치로서 이용된다. 세션 키 소거 카운터(52)에 대해서는, 동일한 값이 복수의 어플리케이션에 대하여 설정되어도 좋다. 또한, 각각 개별의 값이 각 어플리케이션에 대하여 설정되어도 좋다. 상술한 바와 같이, 세션 키 소거 카운터(52)로의 유지 시간의 설정은 1차 발행, 혹은 2차 발행에 있어서 행해진다.
이어서, RAM(23)의 기록 영역(23a)에 저장되는 세션 키 관리 정보(60)에 대하여 설명한다.
도 8은, 세션 키 관리 정보(60)의 구성예를 도시한다.
세션 키 관리 정보(60)는, IC 카드(2)가 세션 키의 제어에 필요로 하는 정보이다.
도 8에 도시한 바와 같이, 세션 키 관리 정보(60)는 세션 키(61), 어플리케이션 식별 정보(62) 및 세션 키 소거 완료 플래그(63) 등을 포함한다.
세션 키(61)는, IC 카드 처리 장치(1)가 송신한 세션 키 생성 커맨드에 기초하여 생성된다.
어플리케이션 식별 정보(62)는, 현재 선택되어 있는 DF(어플리케이션)의 DF 정의 정보를 나타내는 정보를 저장한다. 예를 들어, 어플리케이션 식별 정보(62)는, 현재 선택되어 있는 DF의 DF 정의 정보를 저장해도 좋고, DF 정의 정보를 저장하는 에리어의 선두 어드레스를 저장해도 좋다. 어플리케이션 식별 정보(62)가 나타내는 DF의 어플리케이션은, 실행에 세션 키(61)를 필요로 하는 어플리케이션이다.
세션 키 소거 완료 플래그(63)는, 세션 키(61)가 소거되었는지를 나타낸다. 세션 키 소거 완료 플래그(63)가 「미소거」인 경우, 세션 키 관리 정보(60)는 세션 키(61)를 유지하고 있다. 세션 키 소거 완료 플래그(63)가 「소거 완료」인 경우, 세션 키(61)는 이미 소거되어, 세션 키 관리 정보(60)는 세션 키(61)를 유지하고 있지 않다.
세션 키 소거 완료 플래그(63)는, 세션 키(61)가 저장됨과 동시에 저장된다. 즉, CPU(21)는 세션 키(61)를 세션 키 관리 정보(60)에 저장함과 동시에, 세션 키 소거 완료 플래그(63)로서 「미소거」를 나타내는 정보를 세션 키 관리 정보(60)에 저장한다.
이어서, ROM(24) 혹은 NVM(22)에 기억되어 있는 제어 프로그램 및 제어 데이터에 기초하는 CPU(21)의 동작에 의해 실현되는 다양한 기능을 설명한다.
도 13에 도시한 바와 같이, IC 카드(2)는 생성부(71)와, 소거부(72)와, 송신부(73) 등을 구비한다. 생성부(71)는, 통신부(25)가 수신하는 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성한다. 소거부(72)는, 세션 키의 유지 기간이 역치를 초과한 경우에 세션 키를 소거한다. 소거부(72)가 세션 키를 소거한 후에 통신부(25)가 세션 키를 필요로 하는 커맨드를 수신한 경우에, 송신부(73)는 세션 키가 소거된 것을 나타내는 응답을 통신부(25)에 의해 외부 장치(1)로 송신한다.
도 9는, IC 카드(2)의 동작예를 설명하기 위한 흐름도이다.
여기에서는, IC 카드 처리 장치(1)는 세션 키 생성 커맨드, 실행 커맨드의 순서로 각 커맨드를 IC 카드(2)로 송신하는 것으로 한다.
우선, IC 카드(2)의 CPU(21)는, IC 카드 처리 장치(1)에 초기 응답(Answer To Reset(ATR))을 송신한다(스텝 11). IC 카드 처리 장치(1)는, 초기 응답에 의해 IC 카드(2)를 특정한다. 또한, IC 카드 처리 장치(1)로부터 보내진 선택 커맨드에 따라 IC 카드(2)는 DF를 선택한다. 즉, IC 카드(2)는 어플리케이션을 선택하고 있다.
초기 응답을 송신하면, CPU(21)는 무효화 신호를 인터럽트 타이머(26)로 송신하여, 인터럽트 타이머(26)를 무효화한다(스텝 12). 또한, 동시에, CPU(21)는 인터럽트 타이머(26)의 카운터 및 카운트 역치를 리셋해도 좋다.
인터럽트 타이머(26)를 무효화하면, CPU(21)는 카운터에 카운트를 개시시키는 카운트 개시 신호를 인터럽트 타이머(26)로 송신한다(스텝 13).
카운트를 개시시키는 신호를 인터럽트 타이머(26)로 송신하면(스텝 12), CPU(21)는 통신부(25)를 통해 IC 카드 처리 장치(1)로부터 커맨드를 수신했는지 판정한다(스텝 14). 커맨드를 수신하지 않은 것으로 판정되면(스텝 14, "아니오"), CPU(21)는 스텝 14로 복귀되어, 커맨드를 기다린다.
커맨드를 수신했다고 판정되면, CPU(21)는 인터럽트 타이머(26)를 정지한다(스텝 15). 즉, CPU(21)는 카운트를 정지시키는 신호를 인터럽트 타이머(26)로 송신한다. 인터럽트 타이머(26)가 카운터에 카운트 업을 개시시키고 있었던 경우, 인터럽트 타이머(26)는 당해 신호를 수신하면 카운터의 카운트 업을 정지한다. 인터럽트 타이머(26)가 카운터의 카운트 업을 개시하지 않은 경우, 인터럽트 타이머(26)는 당해 신호를 수신하여도 아무런 동작도 하지 않는다.
인터럽트 타이머(26)를 정지시키면, CPU(21)는 수신된 커맨드가 세션 키 생성 커맨드인지 판정한다(스텝 16). 수신된 커맨드가 세션 키 생성 커맨드라고 판정되면(스텝 16, "예"), CPU(21)는 세션 키 설정 처리를 행한다(스텝 17). 세션 키 설정 처리에 대해서는 후술한다. 또한, 수신된 커맨드가 세션 키 생성 커맨드가 아니라고 판정되면(스텝 16, "아니오"), CPU(21)는 커맨드 처리를 행한다(스텝 18). 커맨드 처리에 대해서는 후술한다.
CPU(21)가 세션 키 설정 처리를 행한 경우(스텝 17), 또는 CPU(21)가 커맨드 처리를 행한 경우(스텝 18), CPU(21)는 통신부(25)를 통해 IC 카드 처리 장치(1)로 리스폰스를 송신한다(스텝 19). 즉, CPU(21)는 세션 키 설정 처리 또는 커맨드 처리를 행했을 때에, RAM(23)의 송신용 버퍼에 저장된 리스폰스를 IC 카드 처리 장치(1)로 송신한다.
리스폰스를 송신하면, CPU(21)는 스텝 13으로 복귀된다.
이어서, 세션 키 설정 처리(스텝 17)에 대하여 설명한다.
도 10은, CPU(21)가 세션 키 설정 처리를 행할 때의 동작예를 설명하기 위한 흐름도이다.
우선, CPU(21)는 세션 키 생성 커맨드의 실행 조건을 체크한다(스텝 31). 예를 들어, CPU(21)는 세션 키 생성 커맨드가 파손되어 있지 않은지 등을 체크한다.
실행 조건이 만족되어 있다고 판정되면(스텝 32, "예"), CPU(21)는 세션 키(61)를 생성한다(스텝 33). 세션 키(61)를 생성하면, CPU(21)는 생성된 세션 키(61)를 설정한다(스텝 34). 즉, CPU(21)는 생성된 세션 키(61)를 RAM(23) 내에 있는 세션 키 관리 정보(60)에 저장한다.
세션 키를 설정하면, CPU(21)는 세션 키 관리 정보(60) 내에 있는 세션 키 소거 완료 플래그(63)를 「미소거」로 설정한다(스텝 35). 즉, CPU(21)는 세션 키 소거 완료 플래그(63)로서 「미소거」를 나타내는 정보를 세션 키 관리 정보(60)에 저장한다.
세션 키 소거 완료 플래그(63)를 「미소거」로 설정하면, CPU(21)는 어플리케이션 식별 정보(62)를 참조하여 생성된 세션 키(61)가 시간 경과에 따라 소거되는 세션 키인지의 여부를 판정한다(스텝 36).
어플리케이션 식별 정보(62)가 DF 정의 정보를 저장하고 있는 경우, CPU(21)는 어플리케이션 식별 정보(62)가 저장하는 DF 정의 정보 중으로부터 세션 키 제어 정보(46)를 추출하고, 세션 키 소거 플래그(51)를 취득한다. CPU(21)는, 취득된 세션 키 소거 플래그(51)에 기초하여 생성된 세션 키(61)가 시간 경과에 따라 소거되는 세션 키인지의 여부를 판정한다.
또한, 어플리케이션 식별 정보(62)가 DF 정의 정보를 저장하는 에리어의 선두 어드레스를 저장하고 있는 경우, CPU(21)는 어플리케이션 식별 정보(62)로부터 당해 선두 어드레스를 취득하고, 취득된 선두 어드레스에 기초하여 NVM(22)으로부터 DF 정의 정보를 검색한다. CPU(21)는, 검색된 DF 정의 정보 중으로부터 세션 키 제어 정보(46)를 추출하고, 세션 키 소거 플래그(51)를 취득한다. CPU(21)는, 취득된 세션 키 소거 플래그(51)에 기초하여 생성된 세션 키가 시간 경과에 따라 소거되는 세션 키인지의 여부를 판정한다.
생성된 세션 키(61)가 시간 경과에 따라 소거되는 세션 키라고 판정되면(스텝 36, "예"), CPU(21)는 인터럽트 타이머(26)에 카운트 역치를 설정한다(스텝 37). 즉, CPU(21)는 스텝 36에서 추출된 세션 키 제어 정보(46)로부터 세션 키 소거 카운터(52)의 값을 취득한다. CPU(21)는, 취득한 세션 키 소거 카운터(52)의 값을 카운트 역치로서 설정하는 카운트 역치 설정 신호를 인터럽트 타이머(26)에 송신한다.
인터럽트 타이머(26)에 카운트 역치를 설정하면, CPU(21)는 유효화 신호를 인터럽트 타이머(26)로 송신하여 인터럽트 타이머(26)를 유효화한다(스텝 38).
CPU(21)가 인터럽트 타이머(26)를 유효화한 경우(스텝 38), 또는 CPU(21)가 생성된 세션 키(61)가 시간 경과에 따라 소거되는 세션 키가 아니라고 판정된 경우(스텝 36, "아니오"), CPU(21)는 세션 키 생성의 성공을 나타내는 리스폰스를 생성하고, 생성된 리스폰스를 RAM(23)의 송신용 버퍼에 저장한다(스텝 39).
또한, 실행 조건이 만족되어 있지 않다고 판정되면(스텝 32, "아니오"), CPU(21)는 세션 키 생성의 실패를 나타내는 리스폰스를 생성하고, 생성된 리스폰스를 RAM(23)의 송신용 버퍼에 저장한다(스텝 40).
CPU(21)가 세션 키 생성의 성공을 나타내는 리스폰스를 생성한 경우(스텝 39), 또는 CPU(21)가 세션 키 생성의 실패를 나타내는 리스폰스를 생성한 경우(스텝 40), CPU(21)는 세션 키 설정 처리(스텝 17)를 종료한다. 그리고, CPU(21)는 도 9의 스텝 19로 간다.
이어서, 세션 키 소거 처리에 대하여 설명한다.
인터럽트 타이머(26)의 카운터의 카운트값이 카운트 역치에 달함으로써 인터럽트 타이머(26)가 인터럽트 개시 신호를 CPU(21)로 송신한 경우에, CPU(21)는 세션 키 소거 처리를 개시한다. CPU(21)는, 인터럽트 개시 신호를 수신하면 다른 처리를 정지하고, 인터럽트 처리로서 세션 키 소거 처리를 개시한다.
도 11은, 세션 키 소거 처리의 동작예를 설명하기 위한 흐름도이다.
우선, CPU(21)는 세션 키(61)를 소거한다(스텝 51). 즉, CPU(21)는 RAM(23) 내에 있는 세션 키 관리 정보(60)로부터 세션 키(61)를 소거한다.
세션 키를 소거하면, CPU(21)는 세션 키 관리 정보(60) 내의 세션 키 소거 완료 플래그(63)를 「미소거」로부터 「소거 완료」로 재기입한다(스텝 52).
세션 키 소거 완료 플래그(63)를 「미소거」로부터 「소거 완료」로 재기입하면, CPU(21)는 세션 키 소거 처리를 종료한다.
또한, CPU(21)가 커맨드를 수신하고 있는 동안에 인터럽트 개시 신호를 수신한 경우, CPU(21)는 세션 키 소거 처리를 행하지 않고 커맨드를 실행해도 좋다. 또한, CPU(21)가 세션 키 소거 처리를 행하고 있는 동안에 커맨드를 수신한 경우, CPU(21)는 세션 키 소거 처리를 중단해도 좋다.
이어서, 세션 키 생성 커맨드 이외의 커맨드 처리(스텝 18)의 동작예에 대하여 설명한다.
예를 들어, 커맨드는 기입 커맨드, 판독 커맨드, 또는 데이터 소거 커맨드 등이어도 좋다. 커맨드는, 세션 키 생성 커맨드 이외이면 특정한 커맨드로 한정되는 것은 아니다.
도 12는, 세션 키 생성 커맨드 이외의 커맨드 처리의 동작예를 설명하기 위한 흐름도이다.
우선, CPU(21)는 커맨드의 실행 조건을 체크한다(스텝 41). 예를 들어, CPU(21)는 수신되는 커맨드가 파손되어 있지 않은지 등을 체크한다.
실행 조건이 만족되어 있다고 판정되면(스텝 42, "예"), CPU(21)는 세션 키 관리 정보(60)에 세션 키(61)가 있는지의 여부를 판정한다(스텝 43). 실행 조건이 만족되어 있지 않다고 판정되면(스텝 42, "아니오"), CPU(21)는 조건 불비를 나타내는 리스폰스를 생성한다(스텝 49).
세션 키(61)가 있다고 판정되면(스텝 43, "예"), CPU(21)는 수신된 커맨드를 실행한다(스텝 44). 수신한 커맨드를 실행하면, CPU(21)는 실행 결과를 나타내는 리스폰스를 생성하고, 생성된 리스폰스를 송신용 버퍼에 저장한다(스텝 45).
세션 키(61)가 없다고 판정되면(스텝 43, "아니오"), CPU(21)는 세션 키 소거 완료 플래그(63)가 「소거 완료」인지의 여부를 판정한다(스텝 46). 즉, CPU(21)는 세션 키 관리 정보(60)의 세션 키 소거 완료 플래그(63)를 참조하여, 「소거 완료」를 나타내는 정보가 세션 키 소거 완료 플래그(63)로서 저장되어 있는지 판정한다.
세션 키 소거 완료 플래그(63)가 「소거 완료」라고 판정되면(스텝 46, "예"), CPU(21)는 세션 키(61)가 소거된 것을 나타내는 리스폰스를 생성하고, 생성된 리스폰스를 송신용 버퍼에 저장한다(스텝 47).
세션 키 소거 완료 플래그(63)가 「소거 완료」가 아니라고 판정되면(스텝 46, "아니오"), CPU(21)는 세션 키(61)가 존재하지 않는 것을 나타내는 리스폰스를 생성하고, 생성된 리스폰스를 송신용 버퍼에 저장한다(스텝 48).
CPU(21)가 실행 결과를 나타내는 리스폰스를 생성한 경우(스텝 45), CPU(21)가 세션 키(61)가 소거된 것을 나타내는 리스폰스를 생성한 경우(스텝 47), 또는 CPU(21)가 세션 키(61)가 존재하지 않는 것을 나타내는 리스폰스를 생성한 경우(스텝 48), CPU(21)는 커맨드 처리를 종료한다. CPU(21)는, 인터럽트 타이머(26)에 카운터를 리셋하는 신호를 송신한다. 그리고, CPU(21)는 도 9의 스텝 19로 진행된다.
또한, CPU(21)는 세션 키(61)를 생성한 직후에 인터럽트 타이머(26)에 카운트 개시 신호를 송신해도 좋다.
또한, CPU(21)는 커맨드 처리를 실행한 후, 인터럽트 타이머(26)의 카운터를 리셋하지 않고 카운터에 카운트 업 시키도록 인터럽트 타이머(26)에 명령해도 좋다. 즉, CPU(21)는 스텝 13에서 카운터를 재개시키는 신호를 인터럽트 타이머(26)로 송신해도 좋다. 이 경우에는, IC 카드는 커맨드의 수신 대기 시간을 제한하는 것이 아니고, 하나의 어플리케이션에 대하여 일련의 복수의 커맨드의 수신 대기 시간의 합계 시간을 제한할 수 있다. 또는, IC 카드는 하나의 어플리케이션에 있어서 커맨드간의 시간의 합계 시간을 제한할 수 있다.
또한, 인터럽트 타이머(26)는 소프트웨어에 의해 실현되어도 좋다. 이 경우, CPU(21)는 카운트값을 카운트 업한다. 카운터의 카운트값이 카운터 역치에 달하면, CPU(21)는 세션 키 소거 처리를 실행한다. 또한, 세션 키(61)의 생성으로부터 소정의 시간이 경과한 경우에, CPU(21)는 세션 키 소거 처리를 실행해도 좋다.
또한, IC 카드(2)는 비접촉으로 IC 카드 처리 장치(1)와 통신해도 좋다. 이 경우, IC 카드(2)의 통신부(25)는 IC 카드 처리 장치(1)의 카드 리더 라이터(14)와의 무선 통신을 행하기 위해, 변복조 회로 등의 통신 제어부 및 전파를 송수신하기 위한 안테나 등을 포함하여도 좋다.
또한, CPU(21)가 인터럽트 타이머(26)에 설정하는 카운트 역치는, 외부 장치로부터의 명령에 의해 지정되어도 좋다. 또한, CPU(21)가 세션 키를 시간 경과에 따라 소거할지의 여부는, 외부 장치로부터의 명령에 의해 결정되어도 좋다.
또한, CPU(21)가 복수의 통신 채널을 확립하는 경우, 또는 CPU(21)가 복수의 DF를 선택하는 경우, RAM(23)은 복수개의 세션 키 관리 정보(60)를 저장해도 좋다.
이상과 같이 구성되는 IC 카드는, 세션 키를 생성한 후 소정의 시간이 경과한 경우에 세션 키를 소거한다. 그 결과, IC 카드는 장기간에 걸쳐서 세션 키를 유지하지 않아, IC 카드의 시큐리티가 높아진다. 또한, IC 카드가 접촉형의 IC 카드인 경우, IC 카드는 장기간에 걸쳐서 동작 가능하다. 이 경우, 시간 경과에 따라 세션 키를 소거하는 것은, IC 카드의 시큐리티의 향상에 있어서 한층 더 효과적이다.
또한, IC 카드가 커맨드를 실행할 때마다 인터럽트 타이머의 카운터를 리셋함으로써, IC 카드(2)는 정기적으로 이용되는 세션 키를 계속 유지할 수 있다.
또한, 하나의 어플리케이션에 대하여 커맨드의 수신 대기 시간의 합계 시간을 제한할 수 있다. 또는, IC 카드는 하나의 어플리케이션에 있어서 커맨드간의 시간의 합계 시간을 제한할 수 있다.
본 발명의 실시 형태는 예로서 제시한 것이며, 발명의 범위를 한정하는 것은 의도하고 있지 않다. 이 신규의 실시 형태는 그 밖의 다양한 형태로 실시되는 것이 가능하고, 발명의 요지를 일탈하지 않는 범위에서 다양한 생략, 치환, 변경을 행할 수 있다. 이 실시 형태나 그 변형은 발명의 범위나 요지에 포함됨과 함께, 특허 청구 범위에 기재된 발명과 그 균등한 범위에 포함된다.

Claims (15)

  1. 외부 장치로부터의 커맨드를 실행하는 IC 카드로서,
    외부 장치와 데이터를 송수신하는 통신부와,
    상기 통신부가 수신하는 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성하는 생성부와,
    상기 생성부가 생성한 상기 세션 키를 저장하는 제1 기록부와,
    상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거하는 소거부를 구비하고,
    상기 세션 키는 상기 외부 장치로부터의 상기 세션 키를 필요로 하는 커맨드를 실행하기 위하여 사용되는 IC 카드.
  2. 제1항에 있어서, 타이머를 더 구비하고,
    상기 소거부는, 상기 타이머의 카운트값이 상기 역치에 도달한 경우에 상기 세션 키를 소거하는 IC 카드.
  3. 제1항에 있어서, 상기 소거부가 상기 세션 키를 소거한 후에 상기 통신부가 상기 세션 키를 필요로 하는 커맨드를 수신한 경우에, 상기 세션 키가 소거된 것을 나타내는 응답을 상기 통신부에 의해 상기 외부 장치로 송신하는 송신부를 더 구비하는 IC 카드.
  4. 제1항에 있어서, 상기 역치를 저장하는 제2 기록부를 더 구비하는 IC 카드.
  5. 제1항에 있어서, 상기 세션 키를 사용하여 액세스되는 데이터마다, 상기 소거부에 의해 세션 키가 소거되는지의 여부를 나타내는 정보를 저장하는 제3 기록부를 더 구비하고,
    상기 소거부는 상기 제3 기록부가 기록하는 상기 정보에 기초하여, 시간 경과에 따라 세션 키를 소거할지의 여부를 결정하는 IC 카드.
  6. 제1항에 있어서, 상기 통신부는 외부 장치와 접촉하여 데이터를 송수신하는 IC 카드.
  7. 제1항에 있어서, 상기 세션 키의 유지 기간은 커맨드의 수신 대기 기간인 IC 카드.
  8. 제1항에 있어서, 상기 세션 키의 유지 기간은 연속된 2개의 커맨드간의 기간인 IC 카드.
  9. 제1항에 있어서, 상기 세션 키의 유지 기간은 복수의 커맨드의 수신 대기 시간의 합계 시간인 IC 카드.
  10. 제1항에 있어서, 상기 역치는 미리 설정된 시간인 IC 카드.
  11. 제10항에 있어서, 상기 설정된 시간은 어플리케이션마다 설정되는 IC 카드.
  12. 제1항에 있어서, 상기 세션 키의 유지 기간은 상기 통신부가 상기 세션 키를 필요로 하는 커맨드를 수신한 경우에 리셋되는 IC 카드.
  13. 외부 장치로부터의 커맨드를 실행하는 IC 카드로서,
    외부 장치와 데이터를 송수신하는 통신부와, 상기 통신부가 수신하는 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성하는 생성부와, 상기 생성부가 생성한 상기 세션 키를 기록하는 제1 기록부와, 상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거하는 소거부를 구비하는 모듈과,
    상기 모듈을 수납한 본체를 구비하고,
    상기 세션 키는 상기 외부 장치로부터의 상기 세션 키를 필요로 하는 커맨드를 실행하기 위하여 사용되는 IC 카드.
  14. 외부 장치로부터의 커맨드를 실행하는 전자 장치로서,
    외부 장치와 데이터를 송수신하는 통신부와,
    상기 통신부가 수신하는 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성하는 생성부와,
    상기 생성부가 생성한 상기 세션 키를 기록하는 제1 기록부와,
    상기 제1 기록부가 기록한 상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거하는 소거부를 구비하고,
    상기 세션 키는 상기 외부 장치로부터의 상기 세션 키를 필요로 하는 커맨드를 실행하기 위하여 사용되는 전자 장치.
  15. 외부 장치로부터의 커맨드를 실행하는 휴대 가능 전자 장치로서,
    외부 장치와 데이터를 송수신하는 통신부와,
    상기 통신부가 수신하는 세션 키의 생성을 요구하는 커맨드에 따라 세션 키를 생성하는 생성부와,
    상기 생성부가 생성한 상기 세션 키를 기록하는 제1 기록부와,
    상기 제1 기록부가 기록한 상기 세션 키의 유지 기간이 역치를 초과한 경우에 상기 세션 키를 소거하는 소거부를 구비하고,
    상기 세션 키는 상기 외부 장치로부터의 상기 세션 키를 필요로 하는 커맨드를 실행하기 위하여 사용되는 휴대 가능 전자 장치.
KR1020150161782A 2013-03-08 2015-11-18 Ic 카드, 전자 장치 및 휴대 가능 전자 장치 KR101783526B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013046542A JP6279217B2 (ja) 2013-03-08 2013-03-08 Icカード、電子装置、及び携帯可能電子装置
JPJP-P-2013-046542 2013-03-08

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140024000A Division KR101601395B1 (ko) 2013-03-08 2014-02-28 Ic 카드, 전자 장치 및 휴대 가능 전자 장치

Publications (2)

Publication Number Publication Date
KR20150135753A true KR20150135753A (ko) 2015-12-03
KR101783526B1 KR101783526B1 (ko) 2017-09-29

Family

ID=50336060

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020140024000A KR101601395B1 (ko) 2013-03-08 2014-02-28 Ic 카드, 전자 장치 및 휴대 가능 전자 장치
KR1020150161782A KR101783526B1 (ko) 2013-03-08 2015-11-18 Ic 카드, 전자 장치 및 휴대 가능 전자 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020140024000A KR101601395B1 (ko) 2013-03-08 2014-02-28 Ic 카드, 전자 장치 및 휴대 가능 전자 장치

Country Status (5)

Country Link
US (1) US9450751B2 (ko)
EP (1) EP2775461B1 (ko)
JP (1) JP6279217B2 (ko)
KR (2) KR101601395B1 (ko)
SG (1) SG10201400453UA (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426801A (zh) * 2016-05-23 2017-12-01 中兴通讯股份有限公司 一种智能卡的控制方法、装置、终端设备及智能卡
JP6833364B2 (ja) * 2016-07-01 2021-02-24 株式会社東芝 Icカード、および、icカード処理装置
WO2019074572A1 (en) * 2017-08-09 2019-04-18 Icrypto, Inc. SYSTEM AND METHOD FOR SECURE STORAGE OF DATA IN A SIM
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2901767B2 (ja) * 1991-02-08 1999-06-07 株式会社東芝 暗号通信システム及び携帯可能電子装置
US5485519A (en) 1991-06-07 1996-01-16 Security Dynamics Technologies, Inc. Enhanced security for a secure token code
US5708422A (en) * 1995-05-31 1998-01-13 At&T Transaction authorization and alert system
DE69935913T2 (de) * 1998-07-02 2008-01-10 Cryptography Research Inc., San Francisco Leckresistente aktualisierung eines indexierten kryptographischen schlüssels
ATE263989T1 (de) * 2000-01-19 2004-04-15 Infineon Technologies Ag Integrierte sicherheitsschaltung
FR2810139B1 (fr) * 2000-06-08 2002-08-23 Bull Cp8 Procede de securisation de la phase de pre-initialisation d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
KR100340928B1 (ko) * 2000-10-19 2002-06-20 오길록 스마트카드와 클라이언트간의 보안 유지를 위한 통신시스템 및 그 방법
GB2409091B (en) * 2001-04-06 2005-10-12 Freedom Card Ltd Payment system
GB2384403B (en) * 2002-01-17 2004-04-28 Toshiba Res Europ Ltd Data transmission links
US20050015304A1 (en) * 2003-07-17 2005-01-20 Yigal Evroni Secure purchasing over the internet
US20060211490A1 (en) * 2005-03-17 2006-09-21 Falvey Grahame M Security for gaming devices
JP2006302121A (ja) * 2005-04-22 2006-11-02 Hitachi Ltd 情報処理装置、ストレージ装置及び情報処理装置の制御方法
GB0511599D0 (en) * 2005-06-07 2005-07-13 Ecebs Group Ltd ITSO FCV2 application monitor
JP4950533B2 (ja) 2006-03-24 2012-06-13 株式会社東芝 携帯可能電子装置およびicカード
JP5043361B2 (ja) * 2006-04-17 2012-10-10 河村電器産業株式会社 セッション管理プログラム及びwebサーバー機能搭載機器
US8156322B2 (en) * 2007-11-12 2012-04-10 Micron Technology, Inc. Critical security parameter generation and exchange system and method for smart-card memory modules
JP5304345B2 (ja) * 2009-03-11 2013-10-02 富士通株式会社 コンテンツ処理装置、コンテンツ処理システム、およびコンテンツ処理プログラム
KR101214714B1 (ko) * 2009-04-08 2012-12-21 주식회사 케이티테크 스마트 카드의 에이전트와 원격 관리 서버 사이의 데이터 세션을 관리하는 방법
JP5485063B2 (ja) * 2010-07-30 2014-05-07 セコム株式会社 認証システム
US8542836B2 (en) * 2010-12-01 2013-09-24 Juniper Networks, Inc. System, apparatus and methods for highly scalable continuous roaming within a wireless network
GB201105765D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
US8649768B1 (en) * 2011-08-24 2014-02-11 Cellco Partnership Method of device authentication and application registration in a push communication framework

Also Published As

Publication number Publication date
JP6279217B2 (ja) 2018-02-14
KR101783526B1 (ko) 2017-09-29
EP2775461A1 (en) 2014-09-10
KR20140110745A (ko) 2014-09-17
EP2775461B1 (en) 2019-07-03
US9450751B2 (en) 2016-09-20
SG10201400453UA (en) 2014-10-30
US20140258726A1 (en) 2014-09-11
JP2014174722A (ja) 2014-09-22
KR101601395B1 (ko) 2016-03-08

Similar Documents

Publication Publication Date Title
JP4896837B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
US9183400B2 (en) IC card and IC card control method
JP2010072965A (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ処理方法
JP2014041552A (ja) Icカード、及び、携帯可能電子装置
JP2009075797A (ja) 携帯可能電子装置
JP2008310596A (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
KR101530479B1 (ko) Ic 카드 및 휴대 가능 전자 장치
JP2011060136A (ja) 携帯可能電子装置、および、携帯可能電子装置におけるデータ管理方法
JP2014059806A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP5932588B2 (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP5957347B2 (ja) Icカード、および携帯可能電子装置
JP2015125627A (ja) Icカードおよび携帯可能電子装置
JP7439847B2 (ja) 電子情報記憶媒体、鍵データ設定方法、及びプログラム
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス
JP2016153945A (ja) 電子情報記憶媒体、カウンタ書換方法、及びカウンタ書換プログラム
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
JP2017072932A (ja) Icカード、icモジュール、及びプログラム
JP6281302B2 (ja) 情報処理装置、icカード、及びデータ処理方法
JP2016177850A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
US8521935B2 (en) Portable electronic apparatus, control method for portable electronic apparatus, and IC card
JP5832940B2 (ja) Icカード、及び携帯可能電子装置
JP2016129072A (ja) Icカード、携帯可能電子装置、及びicカード処理装置
JP2019032578A (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant