KR20060051023A - 휴대 가능 전자장치와 휴대 가능 전자장치의어플리케이션의 갱신방법 - Google Patents

휴대 가능 전자장치와 휴대 가능 전자장치의어플리케이션의 갱신방법 Download PDF

Info

Publication number
KR20060051023A
KR20060051023A KR1020050082222A KR20050082222A KR20060051023A KR 20060051023 A KR20060051023 A KR 20060051023A KR 1020050082222 A KR1020050082222 A KR 1020050082222A KR 20050082222 A KR20050082222 A KR 20050082222A KR 20060051023 A KR20060051023 A KR 20060051023A
Authority
KR
South Korea
Prior art keywords
application
nonvolatile memory
information
card
information used
Prior art date
Application number
KR1020050082222A
Other languages
English (en)
Inventor
야스지 사카타
Original Assignee
가부시끼가이샤 도시바
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가부시끼가이샤 도시바 filed Critical 가부시끼가이샤 도시바
Publication of KR20060051023A publication Critical patent/KR20060051023A/ko

Links

Images

Classifications

    • 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/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 휴대 가능 전자장치와 휴대 가능 전자장치의 어플리케이션의 갱신방법에 관한 것으로, 재기록 가능한 불휘발성 메모리(15)를 갖는 휴대가능 전자장치(1)가, 상기 불휘발성 메모리(15)의 기억영역(32)에 기억되어 있는 제 1 어플리케이션을 제 2 어플리케이션으로 갱신하는 경우, 상기 불휘발성 메모리(15)의 기억영역(32)에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채로, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리(15)의 기억영역(42)에 인스톨하고 상기 유지하고 있는 제 1 어플리케이션에서 사용하는 정보를 상기 인스톨된 제 2 어플리케이션에서 사용하는 정보로서 복원하는 것을 특징으로 한다(S63).

Description

휴대 가능 전자장치와 휴대 가능 전자장치의 어플리케이션의 갱신방법{PORTABLE ELECTRONIC DEVICE AND METHOD FOR UPDATING APPLICATION OF PORTABLE ELECTRONIC DEVICE}
도 1은 본 실시예에 관한 IC 카드 시스템의 구성예를 도시한 도면,
도 2는 IC 카드의 하드웨어 구성을 개략적으로 도시한 블럭도,
도 3은 IC 카드의 소프트웨어 구성을 개략적으로 도시한 모식도,
도 4는 IC 카드에서 카드 OS, 로드파일 및 어플리케이션의 인스턴스의 저장 상태를 설명하기 위한 개념도,
도 5는 어플리케이션의 로드 처리 및 인스톨 처리를 설명하기 위한 개념도,
도 6은 어플리케이션의 제 1 갱신처리의 예를 설명하기 위한 개념도,
도 7은 어플리케이션의 제 1 갱신처리를 설명하는 플로우차트,
도 8은 어플리케이션의 제 2 갱신처리의 예를 설명하기 위한 개념도,
도 9는 어플리케이션의 제 2 갱신처리를 설명하는 플로우차트,
도 10은 어플리케이션의 제 3 갱신처리의 예를 설명하기 위한 개념도, 및
도 11은 어플리케이션의 제 3 갱신처리를 설명하는 플로우차트이다.
*도면의 주요 부분에 대한 부호의 설명
1: IC 카드 2: 리더 라이터
3: 퍼스널 컴퓨터 4: 키보드
5: 표시부 6: 프린터
11: CPU 12: ROM
13: RAM 14: 통신 유닛
15: 불휘발성 메모리 16: 코프로세서
17: 타이머 21: 하드웨어
22: OS층 23: 어플리케이션층
30: 카드 OS 31: 로드파일
32: 인스턴스
본 발명은 예를 들어 데이터의 기록 또는 재기록 가능한 불휘발성 메모리에 인스톨한 어플리케이션 프로그램을 실행하는 것이 가능한 IC 카드 등의 휴대 가능 전자장치와 휴대 가능 전자장치의 어플리케이션의 갱신방법에 관한 것이다.
종래, 휴대 가능 전자장치로서는 예를 들어 메모리나 CPU 등의 기능을 갖는 IC칩이 플라스틱판 등으로 구성되는 하우징 내에 매설되어 있는 IC 카드가 있다. 종래의 IC카드에서는 어플리케이션 프로그램(어플리케이션)이 IC카드(IC칩)의 제조메이커 독자의 언어로 작성되어 있는 것이 많다. 또한, 종래의 IC 카드에서는 어플리케이션이 재기록 불가능한 ROM에 기억되는 일이 많다. 재기록 불가능한 어플 리케이션에 기억되는 IC 카드(IC칩)에서는 상기 IC카드의 제조 메이커 외에는, 어플리케이션을 작성하거나 운용 후에 어플리케이션을 추가하거나 삭제하는 것이 현실적으로 곤란하다는 문제가 있다.
또한, IC카드에는 어플리케이션이 재기록 가능한 불휘발성 메모리에 기억되어 있는 것도 있다. 예를 들어, Java 카드(Java는 미국 선 마이크로 시스템즈사의 등록상표)는 Java 언어로 작성된 어플리케이션(이하, 애플릿이라고도 함)을 IC 카드 내의 재기록 가능한 불휘발성 메모리에 기억하고 있다. 이 때문에, Java 카드에서는 카드 발행자 등의 권한을 가진 사람이면 Java 카드 내의 어플리케이션을 추가하거나 삭제하는 것이 가능하다.
상기와 같은 어플리케이션을 추가하거나 삭제할 수 있는 IC 카드에서는 어플리케이션을 갱신하는 경우, 일단 기존의 어플리케이션 전체를 삭제한 후, 새로운 어플리케이션을 인스톨하고 있다. 이 경우, 기존의 어플리케이션이 사용하는 정보(데이터 구조, 실데이터 등의 어플리케이션 정보)는 어플리케이션과 함께 삭제된다. 즉, 종래의 IC 카드에서는 기존의 어플리케이션의 어플리케이션 정보를 유지한 채로, 새로운 어플리케이션을 인스톨할 수는 없다.
본 발명은 어플리케이션의 갱신처리를 효율적으로 실행할 수 있는 휴대가능 전자장치와 휴대 가능 전자장치의 어플리케이션의 갱신방법을 제공하는 것을 목적으로 한다.
본 발명의 한 형태의 휴대 가능 전자장치는 재기록 가능한 불휘발성 메모리(15)를 갖는 것으로, 상기 불휘발성 메모리의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리의 기억영역에 인스톨하는 인스톨 처리부와, 상기 인스톨 처리부에 의해 인스톨된 상기 제 2 어플리케이션에, 상기 유지하고 있는 제 1 어플리케이션에서 사용하는 정보를 제 2 어플리케이션에서 사용하는 정보로서 복원하는 복원처리부를 갖는다.
본 발명의 한 형태로서의 휴대 가능 전자장치의 어플리케이션의 갱신방법은 재기록 가능한 불휘발성 메모리를 갖는 휴대 가능 전자장치에 사용되는 방법으로, 상기 불휘발성 메모리의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채로, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리의 기억영역에 인스톨하는 것과, 상기 유지하고 있는 제 1 어플리케이션에서 사용하는 정보를 상기 인스톨된 제 2 어플리케이션에서 사용하는 정보로서 복원하는 것을 포함한다.
본 발명의 추가적인 목적 및 이점은 아래의 설명에서 제시될 것이며, 부분적으로는 그 설명으로부터 명백할 것이고, 또는 본 발명의 실시에 의해서 학습될 수 있다. 본 발명의 목적 및 이점은 특히 이후 제시되는 수단과 조합에 의해 실현되고 성취될 수 있다.
명세서에 통합되어 있고 그것의 일부를 구성하는 첨부된 도면은 본 발명의 실시예를 예시하며, 전술된 일반적인 설명과 후술되는 실시예에 대한 상세한 설명 과 함께 본 발명의 원리를 설명하는 기능을 수행한다.
이하, 본 발명의 실시예에 대해서 도면을 참조하여 설명한다.
도 1은 본 실시예에 관한 IC 카드 시스템의 구성예를 도시한 도면이다. 상기 IC 카드 시스템은 휴대 가능 전자장치로서의 IC 카드(1), 리더 라이터(2), 퍼스널 컴퓨터(이하, 단순히 PC로 약칭)(3), 키보드(4), 표시부(5) 및 프린터(6) 등으로 구성된다.
상기 IC 카드(1)는 휴대 가능 전자장치이다. 상기 IC카드(1)는 예를 들어 IC칩 등이 내장된 카드 형상의 전자장치이다. 또한, 휴대 가능 전자장치로서는 상기 IC카드(1)와 동일한 기능을 갖는 휴대전화 등의 휴대 단말 기기이어도 좋다.
상기 리더 라이터(2), PC(3), 키보드(4), 표시부(5) 및 프린터(6)는 상기 IC카드(1)에 대한 상위 장치로서 기능한다. 상기 리더 라이터(2)는 상기 IC카드(1)와의 데이터 통신을 실시하기 위한 통신 인터페이스로서 기능한다. 상기 PC(3)는 상위 장치의 제어부로서 기능한다. 예를 들어, 상기 PC(3)는 상기 리더 라이터(2)를 통하여 상기 IC카드와의 데이터 통신을 실시한다. 상기 키보드(4)는 조작자로부터의 조작지시가 입력되는 조작부이다. 상기 키보드(4)로 입력된 정보는 상기 PC(3)에 공급된다. 상기 표시부(5)는 상기 PC(3)에 의해 표시 내용이 제어되는 표시장치로 구성된다. 상기 프린터(6)는 상기 PC(3)로부터의 인쇄 지시에 따라 인쇄 처리를 실시하는 것이다.
다음에, 상기 IC카드(1)의 하드웨어 구성예에 대해서 개략적으로 설명한다.
도 2는 휴대 가능 전자장치로서의 IC카드(1)의 하드웨어 구성을 개략적으로 도시한 도면이다.
도 2에 도시한 바와 같이 IC카드(1)는 CPU(센트럴 프로세싱 유닛)(11), ROM(리드 온리 메모리)(12), RAM(랜덤 액세스 메모리)(13), 통신 유닛(UART)(14), 불휘발성 메모리(NV(EEPROM))(15), 코프로세서(Co-Processor)(16), 및 타이머(timer)(17) 등을 갖고 있다. 또한, 상기 IC 카드(1)는 도 2에 도시한 바와 같이, CPU(11), ROM(12), RAM(13), 통신 유닛(14), 불휘발성 메모리(15), 코프로세서(16) 및 타이머(17) 등을 갖는 모듈(Ca)이 카드 형상의 하우징(C) 내에 매설되어 있다.
상기 CPU(11)는 전체적인 관리나 제어를 도모하는 것이다. 상기 CPU(11)는 제어 프로그램 등에 기초하여 동작하고, 여러가지 처리를 실시하는 처리부 또는 판단부로서 기능한다. 상기 ROM(12)은 상기 CPU(11)의 제어용 프로그램 등이 저장되는 불휘발성 메모리이다. 상기 RAM(13)은 워킹(Working) 메모리로서 기능하는 휘발성 메모리이다. 상기 통신 유닛(14)은 데이터를 송신하는 송신부 또는 데이터를 수신하는 수신부로서 기능한다. 상기 통신 유닛(14)은 리더 라이터(2)를 통하여 상위 장치와 통신을 실시하기 위한 통신 인터페이스이다.
상기 불휘발성 메모리(15)는 각종 데이터나 어플리케이션 프로그램(어플리케이션)을 기억하는 재기록 가능한 불휘발성 메모리이다. 상기 불휘발성 메모리(15)에 기억되는 데이터에 대해서는 후에 상세하게 설명한다. 상기 코프로세서(16)는 암호화 또는 복호화 등의 연산처리의 보조를 실시하는 것이다. 상기 타이머(17)는 계시(計時) 동작을 실시하는 것이다.
또한, 상기 IC 카드(1)가 접촉식 IC 카드인 경우(즉, IC카드(1)가 리더 라이 터(2)와 물리적으로 접촉하여 데이터 통신을 실시하는 형태인 경우), 상기 통신 유닛(14)은 상기 리더 라이터(3)의 접촉부와 물리적으로 접촉하기 위한 접촉부 및 통신 제어부 등으로 구성된다. 상기 IC카드(1)가 비접촉식 IC 카드인 경우(즉, IC카드(1)가 리더 라이터(2)의 무선통신에 의해 데이터 통신을 실시하는 형태인 경우), 상기 통신 유닛(14)은 무선 전파의 송수신을 실시하는 안테나 및 통신 제어부 등으로 구성된다.
다음에, 상기 IC카드(1)에서의 소프트웨어 구성예에 대해서 개략적으로 설명한다.
도 3은 상기 IC카드(1)에서의 소프트웨어 구성예를 모식적으로 도시한 도면이다. 또한, 도 3에서는 상기 IC카드가 Java 카드로서 기능하는 경우의 IC카드(1) 내의 소프트웨어 구성예를 모식적으로 도시하고 있다.
도 3에 도시한 예에서는 상기 IC카드(1)의 소프트웨어 구성은 하드웨어(H/W)층(21), OS(오퍼레이팅 시스템)층(22), 및 어플리케이션(애플릿)층(23)으로 구성된다. 상기 어플리케이션층(23)이 최상위에 위치하고 OS층(22)이 상기 H/W층(21)의 상위에 위치하도록 구성되어 있다.
상기 H/W층(21)은 상기 통신 유닛(14), 불휘발성 메모리(15), 코프로세서(16) 등의 하드웨어로 이루어진 것이다. 상기 H/W층(21)은 OS(오퍼레이팅 시스템)층(22)의 카드 OS(30)에 의해 제어된다.
상기 OS층(22)은 가상머신(Virtual Machine), ISD(Issuer Security Domain) 및 API(Application Interface)군이라는 모듈이 카드 OS(30)에 실은 상태가 되어 있다.
상기 가상머신은 Java 카드(1)를 동작시키기 위한 환경설정 등을 도시한 모듈이다. 상기 ISD는 상기 어플리케이션층(23)의 각 어플리케이션(애플릿)을 관리하는 모듈이다. 상기 API군은 어플리케이션에서 사용되는 함수로서의 API를 나타내는 모듈이다.
또한, 상기 어플리케이션층(23)은 예를 들어 복수의 어플리케이션(어플리케이션 A, 어플리케이션 B, 어플리케이션 C)를 갖는다. 상기 어플리케이션층(23)의 각 어플리케이션은 상기 API를 사용하여 여러가지의 처리를 실현하는 것이다. 각 어플리케이션의 실체는 불휘발성 메모리(15) 등에 기억된다.
다음에, 상기와 같이 구성되는 IC카드(1)의 어플리케이션에 대해서 설명한다.
우선, 상기 IC카드(1)의 불휘발성 메모리(15)에 인스톨되는 어플리케이션에 대해서 설명한다.
도 4는 상기 불휘발성 메모리(15) 내에 로드되어 있는 로드파일(31)과, 로드파일(31)에 기초하여 인스톨되어 있는 어플리케이션의 인스턴스(32)의 예를 도시한 도면이다. 또한, 도 5는 불휘발성 메모리(15)에 어플리케이션을 인스톨하는 처리를 개략적으로 도시한 도면이다.
도 4에 도시한 바와 같이 상기 IC카드(1)의 ROM(12)에는 카드 OS(30)가 기억되어 있다. 상기 카드 OS(30)는 불휘발성 메모리(15)에 인스톨된 어플리케이션으로부터의 요구에 따라서 여러가지 처리를 실행하기 위한 기능을 갖고 있다. 또한, 도 4에 도시한 바와 같이, 상기 IC카드(1)의 불휘발성 메모리(15)에는 각 어플리케이션(A, B)에 대해서 로드파일(31A, 31B)과 어플리케이션 인스턴스(이하, 단순히 인스턴스라고 부름)(32A, 32B)가 기억되어 있다. 상기 로드파일(31A, 31B)은 상위 장치로부터 어플리케이션으로서 로드되는 파일이다. 상기 로드파일(31A, 31B)은 처리코드를 저장하는 처리코드부를 갖고 있다. 상기 인스턴스(32A, 32B)는 인스톨 처리에 의해 상기 로드파일(31A, 31B)로부터 생성되는 실체(프로그램 코드, 데이터 집합 등)이다. 상기 인스턴스(32A, 32B)는 로드파일(31A, 31B)로부터 생성되는 데이터 등을 저장하는 데이터부를 갖고 있다. 또한, 하나의 어플리케이션에 대해서 복수의 인스턴스를 생성하는 것도 가능하다.
또한, 도 5에 도시한 바와 같이 상기 IC카드(1)는 상기 상위 장치로부터의 로드 코맨드에 따라서 어플리케이션의 로드파일(31)을 불휘발성 메모리(15)에 저장한다. 또한, 상기 로드파일(31)을 불휘발성 메모리(15)에 저장된 IC카드(1)에서는 상기 상위 장치로부터의 인스톨 코맨드에 따라서 어플리케이션의 인스톨 처리를 실시한다. 어플리케이션은 인스톨 처리가 완료됨으로써 실행 가능한 상태가 된다.
예를 들어, 상위 장치는 로드 코맨드와 함께 인스톨할 어플리케이션의 로드파일(31)을 IC카드(1)로 공급한다. 상위 장치로부터의 로드 코맨드를 수신한 상기 IC카드(1)에서는 카드 OS(30)에 의해 로드 처리를 실행한다. 즉, 상기 카드 OS(30)는 상위 장치로부터의 로드 파일(31)을 상기 불휘발성 메모리(15)에 기억하는 로드 처리를 실행한다.
상기 로드 파일(31)의 로드 처리가 완료되면, 상기 상위 장치는 인스톨 코맨 드를 IC 카드(1)로 공급한다. 상위 장치로부터의 인스톨 코맨드를 수신하면, 상기 IC 카드(1)는 카드 OS(30)에 의해 인스톨 처리가 실행된다. 상기 카드 OS(30)는 로드 처리에 의해 상기 불휘발성 메모리(15)에 기억한 로드파일에 기초하여 인스톨 처리를 실시한다. 상기 인스톨 처리에서 상기 카드 OS(30)는 상기 불휘발성 메모리(15)에 기억되어 있는 로드 파일(31)에 기초하여 상기 어플리케이션의 실체로서의 인스턴스(32)를 불휘발성 메모리(15)에 인스톨한다.
상기와 같은 로드 처리 및 인스톨 처리에 의해, 상기 IC카드(1) 내의 불휘발성 메모리(15)에는 로드 파일(31)과 인스턴스(32)가 기억된다. 상기 로드파일(31)은 처리코드를 저장하는 처리 코드부(31a)와 관리 테이블(31b)을 갖는다. 상기 인스턴스(32)는 관리 테이블(32a)과 데이터부(32b)를 갖고 있다. 또한, 어플리케이션의 로드파일(31)과 인스턴스(32)는 관리 테이블(31b, 32b)에 의해 관련지어져 있다.
다음에, 상기 IC카드(1)에 인스톨되어 있는 어플리케이션의 갱신처리에 대해서 설명한다.
또한, 이하의 설명에 사용하는 주요 용어에 대해서는 하기와 같이 정의한다.
·IC 카드 내의 어플리케이션(이하, 단지 어플리케이션이라고 부름): IC카드 내의 어플리케이션은 IC카드(1)의 불휘발성 메모리(15)에 인스톨되는 어플리케이션 프로그램이다. IC카드 내의 어플리케이션은 주로 여러가지 처리를 실행하기 위한 처리 코드와 인스턴스 데이터를 갖고 있다.
·어플리케이션이 사용하는 정보(이하, 단순히 어플리케이션 정보라고도 부 름): 어플리케이션 정보는 사용자마다 고유의 데이터이다. 어플리케이션 정보는 IC카드의 운용시에 기록되는 정보이다. 어플리케이션 정보는 예를 들어 어플리케이션이 유지하고 있는 데이터의 데이터 구조 및 실데이터 등이다. 상기 어플리케이션 정보는 어플리케이션 인스턴스의 데이터부에 기억된다. 상기 어플리케이션 정보는 어플리케이션을 갱신하는 경우에도 계속하여 유지해 둘 필요가 있는 정보이다. 또한, 종래의 IC카드에서는 어플리케이션 정보를 유지한 채로 어플리케이션을 갱신할 수는 없다.
·상위 장치 내의 어플리케이션(이하, 상위 어플리케이션이라고도 부름): 상위 어플리케이션은 상위 장치의 제어부로서의 PC(3) 상에서 동작하는 어플리케이션이다. 상기 어플리케이션은 IC 카드와의 코맨드의 송수신 등을 실시하면서 처리를 실시하는 어플리케이션이다. 예를 들어, 상위 어플리케이션은 IC카드와의 코맨드 송수신을 실시하면서 IC카드에 어플리케이션의 파일을 로드하고, 상기 어플리케이션을 IC카드에 인스톨시키는 처리를 실시한다. 또한, IC 카드를 발행하기 위한 처리도 상위 어플리케이션에 의해 시행된다.
다음에, 상기 IC 카드(1)의 어플리케이션을 갱신하기 위한 제 1 갱신처리에 대해서 설명한다.
도 6은 어플리케이션의 제 1 갱신처리를 개략적으로 설명하기 위한 도면이다. 도 6에 도시한 예에서는 IC 카드(1) 내의 불휘발성 메모리(15)에서의, 갱신되는 어플리케이션(구어플리케이션)과, 갱신하는 어플리케이션(신어플리케이션)을 개념적으로 나타내고 있다. 또한, 구어플리케이션과 신어플리케이션은 상위 어플리 케이션으로부터의 코맨드에서, 동일한 명칭(클래스명, Application ID)인 것으로 한다.
도 6에 도시한 예에서는 구어플리케이션의 로드파일(31)에, 어플리케이션에서 사용하는 정보(어플리케이션 정보)를 퇴피 데이터(32c)로서 일시적으로 보존하는 데이터 퇴피 API(31c)가 준비되어 있다. 또한, 신어플리케이션의 로드파일(41)에는 일시적으로 보존한 어플리케이션 정보를 복원하는 데이터 복원 API(41c)가 준비된다. 상기 데이터 퇴피 API(31c)는 상기 어플리케이션 정보를 불휘발성 메모리(EEPROM)(15) 내의 특정 영역으로서의 데이터 퇴피 영역(40)에 쓰기 시작하는 처리를 실시하는 것이다. 또한, 상기 데이터 복원 API(41c)는 상기 데이터 퇴피영역(40)에 보존되어 있는 퇴피 데이터(32c)로서의 어플리케이션 정보를 복원하고, 복원한 복원 데이터(42c)로서 신어플리케이션의 인스턴스에 적용시키는 처리를 실시하는 것이다.
또한, 상기 데이터 퇴피 API(31c) 및 상기 데이터 복원 API(41c)는 예를 들어, 각 어플리케이션의 로드파일(31, 41)에서의 처리코드부(31a, 41a) 내에 제공된다. 상기 데이터 퇴피 API(31c)에 의한 어플리케이션 정보의 쓰기 시작 처리는 어플리케이션의 갱신을 실시하는 상위 어플리케이션과의 인증이 성공한 경우에 카드 OS(30)에 의해 실행되고 있다. 동일하게 상기 데이터 복원 API(41c)에 의한 데이터의 판독처리는 상위 어플리케이션과의 인증이 성공한 경우에 카드 OS(30)에 의해 실행되고 있다.
다음에, 상기 제 1 갱신처리의 흐름에 대해서 설명한다.
도 7은 제 1 갱신처리의 처리 흐름을 설명하기 위한 플로우차트이다.
우선, IC카드(1) 내의 어플리케이션을 갱신하는 자(예를 들어 시스템의 관리자)는 상위 장치의 키보드(4)에 의해 IC카드(1) 내의 어플리케이션의 갱신을 지시한다. 그렇게 하면, 상기 PC(3)는 IC 카드 내의 어플리케이션을 갱신하기 위한 상위 어플리케이션을 기동한다. 상기 상위 어플리케이션이 기동하면, 상기 PC(3)의 상위 어플리케이션과 IC 카드는 우선 인증처리를 실시한다(단계(S11~S13)). 상기 인증처리는 상위 어플리케이션이 IC카드(1) 내의 기존의 어플리케이션(구어플리케이션)을 갱신하는 권한이 있는지의 여부를 확인하는 처리이다. 상기 인증처리에서 상기 PC(3)의 상위 어플리케이션은 상기 리더 라이터(2)를 통하여 구어플리케이션에 대한 인증 코맨드를 상기 IC 카드(1)로 송신한다(단계(S11)).
상기 상위 어플리케이션으로부터의 인증 코맨드를 수신한 IC 카드(1) 내의 구어플리케이션은 상기 인증 코맨드에 따른 인증처리를 OS층(22)의 카드 OS(30)에 요구한다(단계(S12)). 상기 카드 OS(30)에서는 상기 구어플리케이션으로부터의 인증처리의 요구에 따라서 API군으로부터 인증용 API를 호출하고, 호출한 인증용 API에 의한 인증처리를 실시한다(단계(S13)).
상기 카드 OS(30)에서는 상기 인증용 API에 의한 인증처리의 결과를 나타내는 정보를 상기 구어플리케이션에 통지한다. 또한, 상기 카드 OS(30)는 인증이 성공한 경우 인증이 성공한 것을 나타내는 정보와 함께, 후술하는 복원 인증의 키가 되는 키정보를 구어플리케이션에 송신한다. 또한, 상기 구어플리케이션은 카드 OS(30)로부터의 인증결과를 나타내는 정보(인증이 성공한 경우에는 키정보를 포함 하는 정보)를 상위 장치의 어플리케이션으로 송신한다. 이에 의해, 상기 상위장치의 어플리케이션에서는 구어플리케이션과의 인증이 성공했는지의 여부를 인식한다. 또한, 인증이 성공한 경우, 상기 상위 어플리케이션에서는 인증이 성공한 취지의 통지와 함께 키 정보를 수취한다.
상기 인증처리에 의한 인증이 성공한 경우, 상기 상위 장치의 어플리케이션과 IC카드는 인증된 구어플리케이션에서 사용하는 정보(구어플리케이션의 어플리케이션 정보)를 퇴피 데이터(32c)로서 데이터 퇴피영역(40)에 일시적으로 퇴피시키는 퇴피처리를 실시한다(단계(S21~S23)). 상기 퇴피 처리에서 상기 상위 어플리케이션은 인증된 구어플리케이션의 어플리케이션 정보를 퇴피시키기 위한 퇴피 코맨드를 상기 IC카드(1)에 대하여 송신한다(단계(S21)).
상기 상위 어플리케이션으로부터의 퇴피 코맨드를 IC카드(1)가 수신하면, 상기 IC카드(1) 내의 구어플리케이션은 상기 퇴피 코맨드에 따른 어플리케이션 정보의 퇴피처리를 카드 OS(30)에 요구한다(단계(S22)). 구어플리케이션으로부터 어플리케이션 정보의 퇴피요구를 받은 카드 OS(30)에서는 상기 구어플리케이션의 인스턴스(32)의 데이터부(32b)에 존재하는 어플리케이션 정보를 퇴피 데이터(32c)로서 일시적으로 보존(퇴피)시키는 퇴피처리를 실시한다(단계(S23)). 즉, 상기 카드 OS는 상기 구어플리케이션으로부터의 퇴피처리의 요구에 따라서 상기 구어플리케이션의 로드파일(31)의 처리 코드부(31a)로부터 데이터 퇴피 API(31c)를 호출한다. 상기 데이터 퇴피 API(31c)를 호출하면 상기 카드 OS(30)는 상기 데이터 퇴피 API(31c)에 의한 어플리케이션 정보의 퇴피 처리를 실시한다.
상기 어플리케이션 정보의 퇴피처리에서, 상기 카드 OS(30)는 갱신되는 구어플리케이션의 인스턴스(32)의 데이터부(32b)로부터 갱신후의 어플리케이션(신어플리케이션)에서도 사용하는 어플리케이션 정보(구어플리케이션의 어플리케이션 정보)를 퇴피 데이터(32c)로서 추출한다. 구어플리케이션으로부터 퇴피 데이터(32c)로서의 어플리케이션 정보를 추출하면, 상기 카드 OS(30)는 추출한 어플리케이션 정보를 데이터 퇴피 영역(40)에 보존한다. 상기 데이터 퇴피 영역(40)은 상기 데이터 퇴피 API(32c)에서 지정되는 불휘발성 메모리(15) 내의 특정영역이다. 또한, 상기 데이터 퇴피영역(40)은 불휘발성 메모리(15)의 기억영역에서 각 어플리케이션의 로드파일(31, 41)의 기억영역 및 각 어플리케이션의 인스턴스(32, 42)의 기억영역과는 다른 영역으로 설정된다.
상기와 같은 어플리케이션 정보의 퇴피처리가 완료되면, 상기 카드 OS(30)는 구어플리케이션에 대해서 어플리케이션 정보의 퇴피처리가 종료된 것을 나타내는 정보를 통지한다. 또한, 어플리케이션 정보의 퇴피처리의 종료가 통지된 구어플리케이션에서는 상기 상위 어플리케이션에 대해서 어플리케이션 정보의 퇴피처리가 종료된 것을 나타내는 정보를 통지한다. 이에 의해, 상기 상위장치의 어플리케이션에서는 구어플리케이션의 어플리케이션 정보의 퇴피가 완료된 것을 인식한다.
구어플리케이션의 어플리케이션 정보의 퇴피가 완료되면, 상기 상위 어플리케이션과 IC카드(1)는 상기 구어플리케이션을 삭제하는 삭제 처리를 실시한다(단계(S31, S32)). 상기 삭제 처리에서 상기 상위 어플리케이션은 상기 구어플리케이션을 삭제하는 취지의 코맨드를 상기 IC 카드(1)의 카드 OS에 대해서 송신한다(단계 (S31)).
상기 상위 어플리케이션으로부터의 삭제 요구를 받은 IC 카드(1)의 카드 OS(30)는 상기 불휘발성 메모리(15)에 기억되어 있는 상기 구어플리케이션의 로드파일(31)과 어플리케이션 인스턴스(32)를 삭제하는 삭제 처리를 실시한다(단계(S32)). 또한, 제 1 갱신처리에서는 구어플리케이션의 삭제 처리에서 구어플리케이션의 로드파일(31)과 인스턴스(32)를 모두 삭제한다.
이와 같은 구어플리케이션의 삭제가 완료되면, 상기 카드 OS(30)는 구어플리케이션의 삭제가 종료된 것을 나타내는 정보를 상위 어플리케이션에 통지한다. 이에 의해, 상기 상위 장치의 어플리케이션에서는 구어플리케이션의 삭제가 완료된 것을 인식한다.
상기 구어플리케이션의 삭제가 완료되면, 상기 상위 어플리케이션과 IC카드(1)는 삭제한 구어플리케이션의 갱신용 어플리케이션(신어플리케이션)을 인스톨하는 로드 및 인스톨 처리를 실시한다(단계(S41~S43)). 이 처리에서, 상기 상위 어플리케이션은 로드 코맨드와 함께 상기 신어플리케이션의 로드파일을 송신하고 또한, 상기 신어플리케이션의 로드파일에 의한 인스톨 처리를 인스톨 코맨드에 의해 요구한다(단계(S41)).
상기 상위 어플리케이션으로부터 신어플리케이션의 로드파일이 송신되면, 상기 IC카드(1)의 카드 OS(30)는 상기 상위 어플리케이션으로부터 수신한 로드파일(41)을 상기 불휘발성 메모리(15)에 기억하는 로드 처리를 실시한다(단계(S42)). 상기 로드처리에서, 상기 카드 OS(30)는 상기 상위 어플리케이션으로부터 수신한 파일을 상기 신어플리케이션의 로드파일(41)로서 불휘발성 메모리(15)에 기억한다.
신어플리케이션의 로드파일(41)의 로드처리가 완료되면, 상기 카드 OS(30)는 상기 불휘발성 메모리(15)에 기억된 로드파일(41)에 의한 인스톨 처리를 실시한다(단계(S43)). 상기 인스톨 처리에서 카드 OS(30)는 상기 신어플리케이션의 로드파일(41)로부터 상기 신어플리케이션의 인스턴스(42)로서 데이터부(42b) 및 관리 테이블(42a)을 생성하고 불휘발성 메모리(15) 상에 기억한다.
이와 같은 신어플리케이션의 인스톨 처리를 완료화면, 상기 카드 OS(30)는 상기 상위 어플리케이션에 신어플리케이션의 인스톨이 완료된 취지를 통지한다. 이에 의해, 상기 상위 장치의 어플리케이션에서는 신어플리케이션의 인스톨이 완료된 것을 인식한다.
상기 신어플리케이션의 인스톨이 완료되면, 상기 상위 어플리케이션과 IC카드(1)는 인증처리(복원인증처리)를 실시한다(단계(S51~S53)). 상기 인증처리는 상기 신어플리케이션에 사용하는 정보를 상기 데이터 퇴피영역(40)에 보존하고 있는 구어플리케이션의 어플리케이션 정보에 기초하여 복원해도 좋은지의 여부를 확인하기 위한 인증처리이다. 또한, 상기 복원인증은 상기 단계(S11~S13)의 인증처리의 결과로서 얻어진 키정보를 사용하여 실행된다.
상기 복원인증처리에서 상기 상위 어플리케이션은 상기 리더 라이터(2)를 통하여 인증 코맨드와 함께 앞의 인증처리(단계(S11~S13))에서 얻어진 키정보를 상기 IC카드(1)로 송신한다(단계(S41)).
상기 상위 어플리케이션으로부터의 인증 코맨드와 키정보를 IC카드(1)가 수 신하면, 신어플리케이션은 상기 인증 코맨드와 함께 수신한 키정보에 의한 인증처리를 카드 OS(30)에 요구한다(단계(S42)). 상기 카드 OS(30)에서는 상기 신어플리케이션으로부터의 인증처리의 요구에 따라서 API군으로부터 인증용 API를 호출하고, 호출한 인증용 API를 사용하여 상기 키정보에 의한 인증을 실시한다(단계(S43)).
상기 키정보에 의한 인증처리가 종료되면, 상기 카드 OS(30)에서는 상기 복원인증처리의 결과를 나타내는 정보를 상기 신어플리케이션에 통지한다. 또한, 상기 신어플리케이션은 카드 OS(30)로부터의 복원 인증의 결과를 나타내는 정보를 상위 장치의 어플리케이션으로 송신한다. 이에 의해, 상기 상위 장치의 어플리케이션에서는 IC카드(1)와의 복원 인증이 성공했는지의 여부를 인식한다.
상기 복원인증처리에 의한 인증이 성공한 경우, 상기 상위장치의 어플리케이션과 IC카드(1)는 상기 데이터 퇴피영역(40)에 보존하고 있는 구어플리케이션의 어플리케이션 정보를 신어플리케이션의 어플리케이션 정보로서 복원하는 복원처리를 실시한다(단계(S61~S64)). 상기 복원처리에서 상기 상위 어플리케이션은 상기 데이터 퇴피 영역(40)에 보존하고 있는 구어플리케이션의 어플리케이션 정보를 복원시키기 위한 복원 코맨드를 상기 IC카드(1)에 대하여 송신한다(단계(S61)).
상기 상위 어플리케이션으로부터의 복원 코맨드를 IC카드(1)가 수신하면, 상기 신어플리케이션은 상기 복원 코맨드에 따른 어플리케이션 정보의 복원처리를 카드 OS(30)에 요구한다(단계(S62)). 신어플리케이션으로부터 어플리케이션 정보의 복원요구를 받은 카드 OS(30)에서는 상기 데이터 퇴피영역(40)에 보존하고 있는 구 어플리케이션의 어플리케이션 정보를 신어플리케이션의 어플리케이션 정보로서 복원시키는 복원 처리를 실시한다(단계(S63)).
즉, 상기 카드 OS(30)는 상기 신어플리케이션으로부터의 복원처리의 요구에 따라서 상기 신어플리케이션의 로드파일(41)에서의 처리 코드부(41a)로부터 데이터 복원 API(41c)를 호출한다. 상기 데이터 복원 API(41c)를 호출하면, 상기 카드 OS(30)는 호출한 데이터 복원 API(41c)에 의한 어플리케이션 정보의 복원처리를 실시한다.
상기 어플리케이션 정보의 복원 처리에서, 상기 카드 OS(30)는 상기 데이터 퇴피영역(40)으로부터 구어플리케이션의 어플리케이션 정보를 판독한다. 구어플리케이션의 어플리케이션 정보를 판독하면, 상기 카드 OS(30)는 판독한 정보를 상기 신어플리케이션에 대응하는 정보로 갱신하고, 상기 신어플리케이션의 인스턴스(42)의 데이터부(42b)에 보존한다. 이 때, 상기 카드 OS(30)는 신어플리케이션에서 사용하지 않는 데이터(변수)는 삭제하고, 또한 신어플리케이션에서 새롭게 추가된 데이터(변수)는 초기값으로 추기한다.
이에 의해, 신어플리케이션의 인스턴스(42)에는 구어플리케이션의 어플리케이션 정보에 기초하는 어플리케이션 정보가 적용된다. 또한, 상기 데이터 퇴피영역(40)에 보존하고 있는 구어플리케이션의 어플리케이션 정보로부터 신어플리케이션의 어플리케이션 정보를 복원하면, 상기 카드 OS(30)는 상기 데이터 퇴피 영역(40)에 보존하고 있는 정보를 삭제한다.
상기와 같은 복원처리가 완료되면, 상기 카드 OS(30)는 신어플리케이션에 대 하여 어플리케이션 정보의 복원처리가 종료된 것을 나타내는 정보를 통지한다. 또한, 어플리케이션 정보의 복원처리의 종료가 통지된 신어플리케이션에서는 상기 상위 어플리케이션에 대해서 어플리케이션 정보의 복원처리가 종료된 것을 나타내는 정보를 통지한다. 이에 의해, 상기 상위장치의 어플리케이션에서는 구어플리케이션이 신어플리케이션에 갱신된 것, 즉 어플리케이션의 갱신처리가 완료된 것을 인식한다.
상기와 같이, 제 1 갱신처리는 갱신되는 구어플리케이션을 삭제하기 전에, 상기 구어플리케이션의 어플리케이션 정보를 불휘발성 메모리(15) 내의 데이터 퇴피영역에 일시 퇴피하고, 상기 데이터 퇴피영역에 퇴피한 정보를 새롭게 인스톨하는 새로운 어플리케이션의 어플리케이션 정보로서 적용하도록 한 것이다.
이에 의해, 어플리케이션의 갱신처리에서 기존의 어플리케이션의 어플리케이션 정보를 사용하여 상기 어플리케이션을 갱신할 수 있다. 상기 결과로서, 상기 IC 카드에서는 어플리케이션의 갱신처리를 효율적으로 실시할 수 있다.
또한, 상기 어플리케이션 정보를 데이터 퇴피영역에 퇴피하는 처리는 어플리케이션의 로드파일의 처리코드부에 저장되어 있는 데이터 퇴피 API에 의해 실현되고, 또한 상기 데이터 퇴피영역에 퇴피한 정보를 새롭게 인스톨한 어플리케이션의 어플리케이션 정보로서 복원하는 처리는, 신어플리케이션의 로드파일의 처리 코드부에 저장되어 있는 데이터 복원 API에 의해 실현된다. 이에 의해, 독자의 API를 추가함으로써, 상기와 같은 처리를 실현할 수 있다.
또한, 상기 퇴피처리에서는 구어플리케이션의 어플리케이션 정보를 상기 IC 카드 내의 불휘발성 메모리(15)에 설치된 특정 영역으로서의 데이터 퇴피영역에 보존하도록 한 것이다. 이에 의해, 어플리케이션을 갱신하는 IC카드에서는 구어플리케이션의 어플리케이션 정보를 외부로 출력하지 않고 신어플리케이션에 적용하는 것이 가능해진다. 이 결과, 상기 IC카드에서는 어플리케이션 정보의 누출 등을 방지할 수 있고 보안을 유지할 수 있다.
또한, IC 카드 시스템에서는 복원인증처리에 의해 인증된 상위 어플리케이션만이 IC카드 내의 구어플리케이션의 어플리케이션 정보를 신어플리케이션의 어플리케이션 정보로서 복원할 수 있도록 한 것이다. 이에 의해, 다른 어플리케이션이 IC카드내의 구어플리케이션의 어플리케이션 정보에 액세스하는 것을 방지할 수 있다. 이 결과, 보안성이 높은 어플리케이션의 갱신처리를 실현할 수 있다.
다음에, 상기 IC카드(1)의 어플리케이션을 갱신하기 위한 제 2 갱신처리에 대해서 설명한다.
도 8은 제 2 갱신처리를 설명하기 위한 도면이다. 도 8에 도시한 예에서는 IC카드(1) 내의 불휘발성 메모리(15)에서의, 갱신되는 어플리케이션(구어플리케이션)과, 갱신하는 어플리케이션(신어플리케이션)을 개념적으로 도시하고 있다.
도 8에 도시한 바와 같이, 제 2 갱신처리에서는 구어플리케이션의 인스턴스(32)를 사용하여 신어플리케이션의 인스턴스(52)의 일부를 생성하게 되어 있다. 즉, 제 2 갱신처리에서는 적어도 신어플리케이션의 인스톨이 완료될 때까지 구어플리케이션의 인스턴스(32)를 유지해 둔다. 이 상태에서 불휘발성 메모리(15)에는 로드 처리에 의해 신어플리케이션의 로드파일(51)을 저장한다. 신어플리케이션의 로드파일(51)을 저장하면, 신어플리케이션의 인스턴스(52)는 상기 로드파일(51)에 기초하는 인스톨 처리에 의해 관리 테이블(52a)과 데이터부(52b)를 생성한다. 또한, 상기 신어플리케이션의 인스턴스(52)에는 상기 불휘발성 메모리(15) 내에 유지하고 있는 구어플리케이션의 인스턴스(52)에 기초하여 복원한 어플리케이션 정보 등의 정보가 적용된다.
이에 의해, 상기 IC카드의 불휘발성 메모리(15)에는 구어플리케이션의 어플리케이션 정보를 적용한 신어플리케이션이 완전한 상태에서 인스톨된다. 또한, 신어플리케이션의 인스톨이 완료되면, 상기 불휘발성 메모리(15)에 유지하고 있는 구어플리케이션의 인스턴스를 삭제한다. 이에 의해, 어플리케이션의 갱신이 완성된다.
다음에, 상기 제 2 갱신처리의 흐름에 대해서 설명한다.
도 9는 제 2 갱신처리의 처리 흐름을 설명하기 위한 플로우차트이다.
우선, 상기 상위 장치의 어플리케이션과 IC카드(1)는 우선 인증처리를 실시한다(단계(S111~S112)). 상기 인증처리는 상위 어플리케이션이 IC카드(1) 내의 기존 어플리케이션(구어플리케이션)을 갱신하는 권한이 있는지의 여부를 확인하는 처리이다. 상기 인증처리에서 상기 상위 어플리케이션은 상기 리더 라이터(2)를 통하여 구어플리케이션에 대한 인증 코맨드를 상기 IC카드(1)로 송신한다(단계(S111)).
상기 상위 어플리케이션으로부터의 인증 코맨드를 수신한 IC 카드(1)에서는 카드 OS(30)가 상기 구어플리케이션으로부터의 인증처리의 요구에 따라서 API군으 로부터 인증용 API를 호출하고, 호출한 인증용 API에 의한 인증처리를 실시한다(단계(S112)). 상기 카드 OS(30)에서는 상기 인증용 API에 의한 인증처리의 결과를 나타내는 정보를 상기 상위 어플리케이션에 통지한다. 이에 의해, 상기 상위 어플리케이션에서는 상기 IC카드(1)의 어플리케이션을 갱신하는 권한이 얻어졌는지의 여부를 인식한다.
상기 인증처리에 의한 인증이 성공한 경우, 상기 상위 어플리케이션과 IC카드(1)는 갱신되는 어플리케이션에 대한 이행 플래그를 설정하는 처리를 실시한다. 상기 이행 플래그는 구어플리케이션의 인스턴스(32)를 신어플리케이션의 인스톨이 완료될 때까지 유지하는 것을 나타내는 정보이다. 따라서, 후술하는 처리에서 이행 플래그가 설정되어 있는 어플리케이션에 대해서는 신어플리케이션의 인스톨이 완료될 때까지 구어플리케이션의 인스턴스(32)가 유지된다. 상기 이행 플래그를 설정하는 처리에서, 상기 상위 어플리케이션에서는 IC카드(1)에 구어플리케이션에 대한 이행 플래그의 설정을 요구한다(단계(S121)).
상기 상위 어플리케이션으로부터의 이행 플래그의 설정을 요구하는 코맨드를 IC카드(1)가 수신하면, 상기 IC카드(1) 내의 카드 OS(30)는 상기 구어플리케이션에 대한 이행 플래그를 설정한다(단계(S122)). 또한, 상기 이행 플래그는 예를 들어, 작업 메모리로서의 RAM(13) 또는 불휘발성 메모리(15)의 미사용 영역 등에 설정된다.
상기와 같은 어플리케이션에 대한 이행 플래그를 설정하면, 상기 카드 OS(30)는 상기 상위 어플리케이션에 갱신 대상이 되는 어플리케이션에 대한 이행 플래그를 설정한 것을 나타내는 정보를 통지한다. 이에 의해, 상기 상위 장치의 어플리케이션에서는 갱신 대상이 되는 어플리케이션의 이행 플래그가 설정된 것을 인식한다.
상기 이행 플래그가 설정되면, 상기 상위 어플리케이션과 IC카드(1)는 상기 구어플리케이션을 삭제하는 삭제 처리를 실시한다(단계(S131,S132)). 상기 삭제 처리에서, 상기 상위 어플리케이션은 상기 구어플리케이션을 삭제하는 취지의 코맨드를 상기 IC카드(1)의 카드 OS(30)에 대하여 송신한다(단계(S131)).
상기 상위 어플리케이션으로부터의 구어플리케이션의 삭제 요구를 받은 IC카드(1)의 카드 OS(30)는 상기 구어플리케이션에 대한 이행 플래그가 설정되어 있는지의 여부를 확인한다. 이에 의해, 구어플리케이션에 대한 이행 플래그가 설정되어 있는 것을 확인하면, 상기 카드 OS(30)는 상기 불휘발성 메모리(15)에 기억되어 있는 상기 구어플리케이션의 로드파일(31)을 삭제한다(단계(S32)). 이 때, 상기 카드 OS(30)는 상기 구어플리케이션의 인스턴스(32)를 삭제하지 않고 보존한 상태로 한다.
구어플리케이션의 로드파일(31)을 삭제하면, 상기 카드 OS(30)는 삭제하지 않았던 구어플리케이션의 인스턴스(32)에 액세스하기 위한 ID정보와 키정보를 생성한다(단계(S133)). 또한, 구어플리케이션의 인스턴스가 복수 존재하는 경우, 상기 ID 정보 및 키 정보도 복수 생성된다. 구어플리케이션의 인스턴스(32)에 대한 ID정보와 키정보를 생성하면, 상기 카드 OS(30)는 구어플리케이션의 로드파일(31)을 삭제한 취지의 통지와 함께, 상기 ID정보와 키정보를 구어플리케이션의 인스턴스 (32)에 액세스하기 위한 정보로서 상기 상위 어플리케이션에 송신한다(단계(S134)). 이에 의해, 상기 상위 장치의 어플리케이션에서는 구어플리케이션의 로드파일(31)이 삭제된 것을 인식하고 또한 상기 구어플리케이션의 인스턴스(32)에 액세스하기 위한 정보를 취득한다.
상기 구어플리케이션의 로드파일(31)을 삭제하면, 상기 상위 어플리케이션과 IC카드(1)는 신어플리케이션의 로드파일(51)의 로드처리를 실시한다(단계(S141~S142)). 상기 로드처리에서, 상기 상위 어플리케이션은 우선 IC카드(1)에 대하여 로드 코맨드와 함께 상기 신어플리케이션의 로드 파일(51)을 송신한다(단계(S141)).
상기 상위 어플리케이션으로부터 로드 코맨드와 함께 신어플리케이션의 로드파일이 송신되면, 상기 IC카드(1)의 카드 OS(30)는 상기 상위 어플리케이션으로부터 수신한 로드파일(51)을 상기 불휘발성 메모리(15)에 기억하는 로드 처리를 실시한다(단계(S142)). 상기 로드 처리에서, 상기 카드 OS(30)는 상기 상위 어플리케이션으로부터 수신한 파일을 상기 신어플리케이션의 로드 파일(51)로서 불휘발성 메모리(15)에 기억한다. 신어플리케이션의 로드파일(51)의 로드 처리가 완료되면, 상기 카드 OS(30)는 로드파일의 로드처리가 완료된 것을 상위 어플리케이션에 통지한다. 이에 의해, 상위 어플리케이션은 신어플리케이션의 로드파일(51)의 로드 처리가 완료된 것을 인식한다.
신어플리케이션의 로드파일(51)의 로드처리가 완료되면, 상기 상위 어플리케이션과 IC카드(1)는 상기 로드 파일(51)에 기초하는 인스톨 처리와 어플리케이션 정보의 복원 처리를 실시한다(단계(S143~S147)). 상기 처리에서 상기 상위 어플리케이션은 인스톨 코맨드와 함께, 구어플리케이션의 인스턴스(32)에 액세스하기 위한 정보로서의 ID정보와 키정보를 송신한다(단계(S143)).
상기 상위 어플리케이션으로부터 인스톨 코맨드를 수신하면, 카드 OS(30)는 상기 불휘발성 메모리(15)에 기억된 로드파일(51)에 기초하는 인스톨 처리를 실시한다(단계(S144)). 상기 로드파일(51)에 기초하는 인스톨 처리에서, 카드 OS(30)는 상기 신어플리케이션의 로드 파일(51)로부터 상기 신어플리케이션의 인스턴스(52)를 생성하여 불휘발성 메모리(15) 상에 기억한다.
신어플리케이션의 로드파일(51)에 기초하는 인스톨 처리가 종료되면, 상기 카드 OS(30)는 인증용 API를 호출하고, 호출한 인증용 API에 의해 상위 어플리케이션으로부터 수신한 상기 ID정보와 상기 키정보에 기초하는 인증처리를 실시한다(단계(S145)). 상기 인증처리는 상기 신어플리케이션에 사용하는 정보를 불휘발성 메모리(15) 내에 유지하고 있는 구어플리케이션의 인스턴스(32)에 기초하여 복원해도 좋은지의 여부를 확인하기 위한 인증처리이다.
상기 인증처리가 성공하면 상기 카드 OS(30)는 상기 불휘발성 메모리(15)에 유지하고 있는 구어플리케이션의 인스턴스(32)에 기초하여 신어플리케이션의 어플리케이션 정보 등을 복원하는 복원처리를 실시한다(단계(S146)). 상기 복원처리에서 상기 카드 OS(30)는 상기 ID 정보로 나타내는 구어플리케이션의 인스턴스(32)로부터 신어플리케이션의 인스턴스(52)에 적용하는 어플리케이션 정보를 복원한다. 이 때, 상기 카드 OS(30)는 신어플리케이션에서 사용하지 않는 데이터(변수)는 삭 제함과 동시에, 신어플리케이션에서 새롭게 추가된 데이터(변수)는 초기값으로 추기한다.
상기 구어플리케이션의 인스턴스(32)에 의해 신어플리케이션의 어플리케이션 정보를 복원하여 신어플리케이션의 인스턴스(52)에 적용하면, 상기 카드 OS(30)는 상기 이행 플래그를 삭제하고 또한 상기 불휘발성 메모리(15)에 유지하고 있는 구어플리케이션의 인스턴스(32)를 삭제한다(단계(S147)).
이상과 같은 처리에 의해, 상기 불휘발성 메모리(15)에는 신어플리케이션이 완전한 상태로 인스톨되고, 구어플리케이션의 인스턴스(32)가 삭제된다. 따라서, 상기 카드 OS(30)는, 구어플리케이션의 인스턴스(32)를 삭제하면, 상기 상위 어플리케이션에 신어플리케이션의 인스톨 완료를 통지한다. 이에 의해, 상기 상위장치의 어플리케이션에서는 구어플리케이션이 신어플리케이션에 갱신된 것, 즉 어플리케이션의 갱신처리가 완료된 것을 인식한다.
상기와 같이 제 2 갱신처리는 갱신되는 구어플리케이션의 인스턴스를 보존한 채로, 신어플리케이션의 로드파일을 로드하고, 신어플리케이션의 로드파일에 기초하여 인스톨된 신어플리케이션의 인스턴스에 보존되어 있는 구어플리케이션의 인스턴스에서의 어플리케이션 정보 등의 정보를 반영시키도록 한 것이다.
이에 의해, 어플리케이션의 갱신처리에서 기존의 어플리케이션의 인스턴스의 정보를 참조하고, 구어플리케이션의 어플리케이션 정보 등을 신어플리케이션의 인스턴스에 용이하게 적용할 수 있다. 그 결과, 상기 IC카드에서는 어플리케이션의 갱신처리를 효율적으로 실시할 수 있다. 또한, 상기 제 2 변경처리에 의하면, 불 휘발성 메모리 내에 구어플리케이션의 인스턴스를 유지해 두기 위해, 구어플리케이션의 인스턴스를 외부로 출력하지 않고 구어플리케이션의 어플리케이션 정보를 신어플리케이션에 적용하는 것이 가능해진다. 이 결과, 상기 IC카드에서는 어플리케이션 정보의 누출 등을 방지할 수 있고 보안을 유지할 수 있다.
또한, IC카드 시스템에서는 ID정보와 키정보에 의해 인증된 상위 어플리케이션만이 IC 카드 내의 구어플리케이션의 인스턴스를 참조하여 신어플리케이션의 인스턴스에 제공하는 정보를 복원하도록 하고 있다. 이 때문에, 인증되어 있지 않은 다른 어플리케이션이 IC카드 내의 구어플리케이션의 인스턴스에 액세스하는 것을 방지할 수 있다. 이 결과, 보안성이 높은 어플리케이션의 갱신처리를 실현할 수 있다.
다음에, 상기 IC 카드(1)의 어플리케이션을 갱신하기 위한 제 3 갱신처리에 대해서 설명한다.
도 10은 제 3 갱신처리를 설명하기 위한 도면이다. 도 10에 도시한 예에서는 IC카드(1) 내의 불휘발성 메모리(15)에서 갱신되는 어플리케이션(구어플리케이션)과, 갱신하는 어플리케이션(신어플리케이션)을 개념적으로 나타내고 있다.
도 10에 도시한 바와 같이, 제 3 갱신처리에서는 불휘발성 메모리(15)에서의 구어플리케이션의 인스턴스(32)의 기억영역 상에, 신어플리케이션의 인스턴스(62)를 기억하도록 이루어져 있다.
즉, 제 3 갱신처리에서는 구어플리케이션의 인스턴스(32)를 유지한 상태에서, 로드 처리에 의해 신어플리케이션의 로드파일(51)을 불휘발성 메모리(15)에 저 장한다. 신어플리케이션의 로드파일(51)을 저장하면, 신어플리케이션의 인스턴스(62)는 상기 불휘발성 메모리(15) 내에 유지하고 있는 구어플리케이션의 인스턴스(32) 상에 인스톨된다.
이 때, 신어플리케이션의 인스턴스(62)로서는 구어플리케이션의 인스턴스에 존재하는 어플리케이션 정보를 유용(流用)한다. 또한, 신어플리케이션의 인스턴스(62)의 관리 테이블(62a)은 구어플리케이션의 인스턴스에서의 관리 테이블(32a)의 링크 정보와 재기록에 의해 생성한다.
이에 의해, 상기 IC 카드의 불휘발성 메모리(15)에는 구어플리케이션의 인스턴스(32)에서의 어플리케이션 정보 등의 정보를 유용한 신어플리케이션의 인스턴스(62)가 저장된다. 그 결과, 어플리케이션의 갱신이 완성된다.
다음에, 상기 제 3 갱신처리의 흐름에 대해서 설명한다.
도 11은 제 3 갱신처리의 처리 흐름을 설명하기 위한 플로우차트이다.
도 11에 도시한 흐름에서 단계(S211~S242)는 제 2 갱신처리로서 설명한 도 9에 도시한 단계(S111~S142)와 동일한 처리이다. 이 때문에, 단계(S211~S242)에 대해서는 상세한 설명을 생략한다.
즉, 제 3 갱신처리에서는 제 2 갱신처리와 동일하게, 구어플리케이션의 인스턴스를 유지한 상태로, 신어플리케이션의 로드파일(61)이 불휘발성 메모리(15) 내에 저장된다(단계(S211~S242)). 신어플리케이션의 로드파일(61)이 불휘발성 메모리(15) 내에 저장된 상태에서는 구어플리케이션의 인스턴스(32)는 유지된 상태로 되어 있다.
신어플리케이션의 로드파일(61)의 로드처리가 완료되면, 상기 상위 어플리케이션과 IC카드(1)는 상기 로드파일(61)에 기초하는 인스톨 처리와 어플리케이션 정보의 복원 처리를 실시한다(단계(S243~S247)). 상기 처리에서 상기 상위 어플리케이션은 인스톨 코맨드와 함께, 구어플리케이션의 인스턴스(32)에 액세스하기 위한 인증정보로서의 ID 정보와 키정보를 송신한다(단계(S243)).
상기 상위 어플리케이션으로부터 인스톨 코맨드와 인증정보를 수신하면, 카드 OS(30)는 인증용 API를 호출하고, 호출한 인증용 API에 의해 상위 어플리케이션으로부터 수신한 상기 ID정보와 상기 키정보에 기초하는 인증처리를 실시한다(단계(S244)). 상기 인증처리는 구어플리케이션의 인스턴스(32)에 액세스해도 좋은지의 여부를 확인하기 위한 처리이다. 다시 말하면, 상기 단계(S244)에서는 상기 불휘발성 메모리(15) 내에 유지하고 있는 구어플리케이션의 인스턴스의 기억영역(32)에 신어플리케이션의 인스턴스를 인스톨해도 좋은지의 여부를 확인하기 위한 인증처리를 실시한다.
이와 같은 인증처리에 의한 인증이 성공한 경우, 상기 카드 OS(30)는 상위 어플리케이션으로부터의 요구에 따른 신어플리케이션의 인스톨 및 어플리케이션 정보의 복원을 실행한다. 즉, 상기 인증처리가 성공하면 카드 OS(30)는 상기 불휘발성 메모리(15)에 기억된 로드파일(61)과 상기 구어플리케이션의 인스턴스(32)에 기초하는 인스톨 처리를 실시한다(단계(S245)).
상기 로드파일(61)에 기초하는 인스톨 처리에서 카드 OS(30)는 불휘발성 메모리(15) 내에 기억되어 있는 구어플리케이션의 인스턴스(32)에 대해서 신어플리케 이션의 인스턴스(62)를 인스톨한다. 상기 인스톨 처리에서는 예를 들어 신어플리케이션의 인스턴스(62)에서의 관리 테이블은 구어플리케이션의 인스턴스(32)에서의 관리 테이블의 링크 정보를 재기록함으로써 생성된다. 또한, 구어플리케이션의 인스턴스(32)의 데이터부에서 구어플리케이션의 어플리케이션 정보는 유지된 상태로 이루어져 있다. 이와 같은 인스톨 처리의 결과로서, 상기 불휘발성 메모리(15)의 구어플리케이션의 인스턴스(32)의 기억영역에는 어플리케이션 정보를 유지한 채로, 신어플리케이션의 인스턴스(62)가 인스톨된다.
신어플리케이션의 로드파일(61)과 구어플리케이션의 인스턴스(32)에 기초하여 신어플리케이션의 인스턴스(62)가 인스톨되면, 카드 OS(30)는 구어플리케이션의 어플리케이션 정보를 신어플리케이션의 어플리케이션 정보로서 복원하는 복원처리를 실시한다(단계(S246)). 상기 복원 처리에서는 상기 불휘발성 메모리(15)의 신어플리케이션의 인스턴스(62) 내에 유지하고 있는 구어플리케이션의 어플리케이션 정보를 신어플리케이션의 어플리케이션 정보로 재기록한다. 상기 복원처리에서 상기 카드 OS(30)는 구어플리케이션의 어플리케이션에서 신어플리케이션에서 사용하지 않는 데이터(변수)를 삭제하고 또한 신어플리케이션에서 새롭게 추가된 데이터(변수)를 초기값으로서 추기한다.
신어플리케이션의 인스톨과 어플리케이션 정보의 복원이 종료하면, 상기 카드 OS(30)는 상기 이행 플래그를 삭제하고 또한 신어플리케이션의 인스톨 완료를 상위 장치의 어플리케이션에 통지한다.
이상과 같은 처리에 의해, 상기 불휘발성 메모리(15)에는 구어플리케이션 인 스턴스(32)의 기억영역에, 신어플리케이션이 완전한 상태에서 인스톨된다. 즉, 상기와 같은 처리에 의해, 상기 불휘발성 메모리(15)의 구어플리케이션은 신어플리케이션으로 갱신된다. 또한, 상기 상위 장치의 어플리케이션에서는 IC카드(1)로부터의 통지에 기초하여 구어플리케이션이 신어플리케이션에 갱신된 것, 즉 어플리케이션의 갱신처리가 완료된 것을 인식한다.
상기와 같이, 제 3 갱신처리에서 IC카드는 갱신되는 구어플리케이션의 인스턴스(32)를 유지한 채로, 신어플리케이션의 로드파일(61)을 로드한다. 신어플리케이션의 로드파일(61)이 불휘발성 메모리(15)를 저장하면, IC카드는 신어플리케이션의 로드파일(61)에 기초하여 구어플리케이션의 인스턴스(32)의 기억영역에 구어플리케이션의 어플리케이션 정보를 유지한 채 신어플리케이션을 인스톨한다. 또한, 구어플리케이션의 인스턴스(32)의 기억영역에 신어플리케이션을 인스톨한 IC카드에서는 신어플리케이션의 인스턴스(62)에 존재하는 구어플리케이션의 어플리케이션 정보를 신어플리케이션에 따라서 갱신하도록 한 것이다.
이에 의해, 어플리케이션의 갱신처리에서, IC카드에서는 구어플리케이션의 인스턴스의 정보를 신어플리케이션의 인스턴스의 정보로서 용이하게 적용할 수 있다. 그 결과, 상기 IC 카드에서는 어플리케이션의 갱신처리를 효율적으로 실시할 수 있다.
또한, 상기 제 3 갱신처리에 의하면 IC 카드는 불휘발성 메모리 내에 유지한 구어플리케이션의 인스턴스에 신어플리케이션을 인스톨한다. 이 때문에, 구어플리케이션의 어플리케이션 정보는 외부로 출력하지 않고 신어플리케이션의 어플리케이 션 정보로서 적용하는 것이 가능해진다. 이 결과, 상기 IC카드에서는 어플리케이션 정보의 누출 등을 방지할 수 있어 보안을 유지할 수 있다.
또한, IC 카드 시스템에서는 ID정보와 키정보에 의해 인증된 상위 어플리케이션만이 IC카드내의 구어플리케이션의 인스턴스의 정보를 신어플리케이션의 인스턴스에 적용하도록 해도 좋다. 이 때문에, 인증되어 있지 않은 외부의 어플리케이션이 IC카드 내의 구어플리케이션의 인스턴스에 액세스하는 것을 방지할 수 있다. 이 결과, 보안성이 높은 어플리케이션의 갱신처리를 실현할 수 있다.
추가적인 이점 및 수정은 당업자에게 쉽게 생각날 것이다. 그러므로, 넓은 측면에서의 본 발명은 여기에서 도시되고 설명된 특정한 상세한 설명과 대표적인 실시예에 한정되지 않는다. 따라서, 첨부된 청구범위와 그것의 등가물에 의해 정의되는 대로의 일반적인 발명의 개념의 사상과 범위를 벗어나지 않고서 다양한 변형이 만들어질 수 있다.
본 발명에 의한 IC카드에서는 불휘발성 메모리에 인스톨되어 있는 어플리케이션을 갱신하는 경우, 기존 어플리케이션의 어플리케이션 정보를 사용하여 어플리케이션을 갱신한다. 이에 의해, 효율적인 어플리케이션의 갱신처리를 실현할 수 있다.
또한, 본 발명에 의한 IC카드에서는 구어플리케이션의 어플리케이션 정보를 IC카드의 외부로 취출하지 않고 신어플리케이션으로 이행한다. 이에 의해, 상기 IC카드에서는 부정으로 어플리케이션 정보가 해석되거나, 남용되는 것을 방지할 수 있어 보안성이 우수한 것이 된다.
또한, 본 발명에 의한 IC카드에서는 ID정보 또는 키정보 등에 의한 인증이 성공한 경우에만, 구어플리케이션의 어플리케이션 정보를 신어플리케이션의 어플리케이션 정보로서 적용하는 복원 처리를 실시한다. 이에 의해, 상기 IC카드에서는 부정하게 어플리케이션 정보가 남용되는 것을 방지할 수 있고, 보안성을 높게 할 수 있다.

Claims (20)

  1. 재기록 가능한 불휘발성 메모리를 갖는 휴대 가능 전자장치에 있어서,
    상기 불휘발성 메모리의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채로, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리의 기억영역에 인스톨하는 인스톨 처리부와,
    상기 인스톨 처리부에 의해 인스톨된 상기 제 2 어플리케이션에 상기 유지하고 있는 제 1 어플리케이션에서 사용하는 정보를 제 2 어플리케이션에서 사용하는 정보로서 복원하는 복원 처리부를 갖는 것을 특징으로 하는 휴대 가능 전자장치.
  2. 제 1 항에 있어서,
    상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 상기 제 1 어플리케이션에서의 상기 제 1 어플리케이션에서 사용하는 정보를 상기 불휘발성 메모리내에 설치한 데이터 퇴피영역에 기억하는 데이터 퇴피 처리부를 구비하고,
    상기 인스톨 처리부는 상기 데이터 퇴피영역에 기억된 정보를 유지한 채, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리 내의 기억영역에 인스톨하는 것을 특징으로 하는 휴대 가능 전자장치.
  3. 제 2 항에 있어서,
    상기 복원 처리부는 상기 데이터 퇴피영역에 기억되어 있는 정보를 상기 인 스톨 처리부에 의해 상기 불휘발성 메모리 내의 기억영역에 인스톨된 제 2 어플리케이션에서 사용하는 정보로서 복원하는 것을 특징으로 하는 휴대 가능 전자장치.
  4. 제 2 항에 있어서,
    상기 제 2 어플리케이션의 인스톨을 요구하는 외부의 어플리케이션을 인증하는 인증 처리부를 추가로 구비하고,
    상기 복원 처리부는 상기 인증 처리부에 의한 인증이 성공한 외부의 어플리케이션으로부터의 요구에 따라서만, 상기 데이터 퇴피영역에 기억되어 있는 정보의 복원을 실시하는 것을 특징으로 하는 휴대 가능 전자장치.
  5. 제 1 항에 있어서,
    상기 인스톨 처리부는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채로, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리 내의 기억영역에 인스톨하고,
    상기 복원처리부는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보로부터, 상기 인스톨 처리부에 의해 상기 불휘발성 메모리 내의 기억영역에 인스톨된 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치.
  6. 제 5 항에 있어서,
    상기 복원처리부는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보로부터, 상기 제 2 어플리케이션에서는 사용하지 않는 정보를 삭제하고 상기 제 2 어플리케이션에서 추가된 정보를 추가함으로써 상기 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치.
  7. 제 5 항에 있어서,
    상기 제 2 어플리케이션의 인스톨을 요구하는 외부의 어플리케이션을 인증하는 인증 처리부를 추가로 구비하고,
    상기 복원처리부는 상기 인증 처리부에 의한 인증이 성공한 외부의 어플리케이션으로부터의 요구에 따라서만 상기 제 2 어플리케이션에서 사용하는 정보의 복원을 실시하는 것을 특징으로 하는 휴대 가능 전자장치.
  8. 제 1 항에 있어서,
    상기 인스톨 처리부는 상기 불휘발성 메모리 내의 기억영역에서의 상기 제 1 어플리케이션에서 사용하는 정보를 유지한 채 상기 불휘발성 메모리 내의 기억영역에 상기 제 2 어플리케이션을 인스톨하고,
    상기 복원 처리부는 상기 불휘발성 메모리 내의 기억영역에 존재하고 있는 제 1 어플리케이션에서 사용하는 정보를 재기록함으로써, 상기 제 2 어플리케이션 에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치.
  9. 제 8 항에 있어서,
    상기 복원처리부는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 상기 제 1 어플리케이션에서 사용하는 정보에 대해서, 상기 제 2 어플리케이션에서는 사용하지 않는 정보를 삭제하고, 상기 제 2 어플리케이션에서 추가된 정보를 추가함으로써 상기 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치.
  10. 제 8 항에 있어서,
    상기 제 2 어플리케이션의 인스톨을 요구하는 외부의 어플리케이션을 인증하는 인증 처리부를 추가로 구비하고,
    상기 인스톨 처리부 및 복원 처리부는 상기 인증 처리부에 의해 인증이 성공한 외부의 어플리케이션으로부터의 요구에 따라서만 상기 제 2 어플리케이션의 인스톨 및 상기 제 2 어플리케이션에서 사용하는 정보의 복원을 실시하는 것을 특징으로 하는 휴대 가능 전자장치.
  11. 재기록 가능한 불휘발성 메모리를 갖는 휴대가능 전자장치의 어플리케이션의 갱신방법에 있어서,
    상기 불휘발성 메모리의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리의 기억영역에 인스톨하는 단계, 및
    상기 유지하고 있는 제 1 어플리케이션에서 사용하는 정보를 상기 인스톨된 제 2 어플리케이션에서 사용하는 정보로서 복원하는 단계를 포함하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  12. 제 11 항에 있어서,
    상기 불휘발성 메모리내의 기억영역에 기억되어 있는 상기 제 1 어플리케이션에서의 상기 제 1 어플리케이션에서 사용하는 정보를 상기 불휘발성 메모리 내에 설치한 데이터 퇴피영역에 기억하는 단계를 추가로 포함하고,
    상기 인스톨 단계는 상기 데이터 퇴피영역에 기억된 정보를 유지한 채, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리 내의 기억영역에 인스톨하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  13. 제 12 항에 있어서,
    상기 복원 단계는 상기 데이터 퇴피영역에 기억되어 있는 정보를 상기 불휘발성 메모리 내의 기억영역에 인스톨된 제 2 어플리케이션에서 사용하는 정보로서 복원하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  14. 제 12 항에 있어서,
    상기 제 2 어플리케이션의 인스톨을 요구하는 외부의 어플리케이션을 인증하는 단계를 추가로 포함하고,
    상기 복원 단계는 상기 인증이 성공한 외부의 어플리케이션으로부터의 요요구에 따라서만, 상기 데이터 퇴피영역에 기억되어 있는 정보의 복원을 실시하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  15. 제 11 항에 있어서,
    상기 인스톨 단계는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보를 유지한 채, 상기 제 1 어플리케이션에 대한 갱신용 제 2 어플리케이션을 상기 불휘발성 메모리 내의 기억영역에 인스톨하고,
    상기 복원 단계는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보로부터, 상기 불휘발성 메모리 내의 기억영역에 인스톨된 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  16. 제 15 항에 있어서,
    상기 복원 단계는 상기 불휘발성 메모리 내의 기억영역에 기억되어 있는 제 1 어플리케이션에서 사용하는 정보로부터 상기 제 2 어플리케이션에서는 사용하지 않는 정보를 삭제하고, 상기 제 2 어플리케이션에서 추가된 정보를 추가함으로써 상기 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  17. 제 15 항에 있어서,
    상기 제 2 어플리케이션의 인스톨을 요구하는 외부의 어플리케이션을 인증하는 단계를 추가로 포함하고,
    상기 복원 단계는 상기 인증이 성공한 외부의 어플리케이션으로부터의 요구에 따라서만 상기 제 2 어플리케이션에서 사용하는 정보의 복원을 실시하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  18. 제 11 항에 있어서,
    상기 인스톨 단계는 상기 불휘발성 메모리 내의 기억영역에서의 상기 제 1 어플리케이션에서 사용하는 정보를 유지한 채 상기 불휘발성 메모리내의 기억영역에 상기 제 2 어플리케이션을 인스톨하고,
    상기 복원 단계는 상기 불휘발성 메모리내의 기억영역에 존재하고 있는 제 1 어플리케이션에서 사용하는 정보를 재기록함으로써, 상기 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  19. 제 18 항에 있어서,
    상기 복원 단계는 상기 불휘발성 메모리내의 기억영역에 기억되어 있는 상기 제 1 어플리케이션에서 사용하는 정보에 대해서, 상기 제 2 어플리케이션에서는 사용하지 않는 정보를 삭제하고, 상기 제 2 어플리케이션에서 추가된 정보를 추가함으로써 상기 제 2 어플리케이션에서 사용하는 정보를 복원하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
  20. 제 18 항에 있어서,
    상기 제 2 어플리케이션의 인스톨을 요구하는 외부의 어플리케이션을 인증하는 단계를 추가로 포함하고,
    상기 인스톨 및 복원 단계는 상기 인증이 성공한 외부의 어플리케이션으로부 터의 요구에 따라서만 상기 제 2 어플리케이션의 인스톨 및 상기 제 2 어플리케이션에서 사용하는 정보의 복원을 실시하는 것을 특징으로 하는 휴대 가능 전자장치의 어플리케이션의 갱신방법.
KR1020050082222A 2004-10-21 2005-09-05 휴대 가능 전자장치와 휴대 가능 전자장치의어플리케이션의 갱신방법 KR20060051023A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004307014A JP2006119901A (ja) 2004-10-21 2004-10-21 携帯可能電子装置および携帯可能電子装置のアプリケーション更新方法
JPJP-P-2004-00307014 2004-10-21

Publications (1)

Publication Number Publication Date
KR20060051023A true KR20060051023A (ko) 2006-05-19

Family

ID=35447795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050082222A KR20060051023A (ko) 2004-10-21 2005-09-05 휴대 가능 전자장치와 휴대 가능 전자장치의어플리케이션의 갱신방법

Country Status (6)

Country Link
US (1) US20060086785A1 (ko)
EP (1) EP1650717A1 (ko)
JP (1) JP2006119901A (ko)
KR (1) KR20060051023A (ko)
CN (1) CN1763716A (ko)
SG (1) SG121941A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180015647A (ko) * 2015-05-13 2018-02-13 제말토 에스에이 제2 애플리케이션에 의한 사용을 위해 제1 애플리케이션으로부터 제1 데이터를 전송하도록 구성된 집적 회로 카드
WO2024010177A1 (ko) * 2022-07-04 2024-01-11 삼성전자 주식회사 보안 회로의 애플릿을 갱신하기 위한 전자 장치 및 그의 동작 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913623B2 (ja) * 2007-02-20 2012-04-11 株式会社エヌ・ティ・ティ・ドコモ 端末装置およびプログラム
KR101474561B1 (ko) * 2007-11-27 2014-12-19 삼성전자주식회사 이동통신 단말기에서의 어플리케이션 실행방법 및 장치
ITMI20080536A1 (it) * 2008-03-28 2009-09-29 Incard Sa Metodo per proteggere un file cap per una carta a circuito integrato.
JP2012073694A (ja) * 2010-09-28 2012-04-12 Hitachi Ltd プログラムのアップデート処理支援方法およびプログラム
CN101984691A (zh) * 2010-10-25 2011-03-09 东莞宇龙通信科技有限公司 系统内置软件的升级方法和移动终端
EP2461613A1 (en) * 2010-12-06 2012-06-06 Gemalto SA Methods and system for handling UICC data
US9408066B2 (en) 2010-12-06 2016-08-02 Gemalto Inc. Method for transferring securely the subscription information and user data from a first terminal to a second terminal
CN102098675A (zh) * 2010-12-29 2011-06-15 大唐微电子技术有限公司 一种智能卡及其进行业务鉴权的方法
US8893116B2 (en) * 2012-01-15 2014-11-18 Microsoft Corporation Installation engine and package format for parallelizable, reliable installations
CN103309696B (zh) * 2012-03-15 2017-02-08 中国移动通信集团公司 一种Java卡扩展库更新方法、装置和Java卡
US8935689B2 (en) 2012-08-13 2015-01-13 International Business Machines Corporation Concurrent embedded application update and migration
KR101793664B1 (ko) 2012-09-18 2017-11-06 구글 엘엘씨 복수의 서비스 제공자 신뢰 서비스 관리기들과 보안 요소들을 인터페이싱하기 위한 시스템들, 방법들, 및 컴퓨터 프로그램 제품들
JP6013103B2 (ja) * 2012-09-20 2016-10-25 株式会社東芝 Icカード
JP6382521B2 (ja) * 2014-01-17 2018-08-29 株式会社東芝 携帯可能電子装置、および電子回路
CN106471481B (zh) * 2014-07-07 2020-10-30 三星电子株式会社 共享应用程序的方法及其电子装置
DE102014224278A1 (de) * 2014-11-27 2016-06-02 Bundesdruckerei Gmbh Verfahren zum Nachladen von Software auf eine Chipkarte durch einen Nachladeautomaten
DE102015214422A1 (de) * 2015-07-29 2017-02-02 Bundesdruckerei Gmbh Chipkarte mit Hauptapplikation und Persistenzapplikation
JP6570364B2 (ja) * 2015-08-05 2019-09-04 キヤノン株式会社 画像形成装置及びその制御方法
US9792101B2 (en) * 2015-11-10 2017-10-17 Wesley John Boudville Capacity and automated de-install of linket mobile apps with deep links
US10613849B2 (en) * 2016-09-23 2020-04-07 Visa International Service Association Update migration system and method
JP2019028602A (ja) * 2017-07-27 2019-02-21 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP6915437B2 (ja) * 2017-08-04 2021-08-04 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP7009844B2 (ja) * 2017-09-04 2022-01-26 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP7068603B2 (ja) * 2017-09-04 2022-05-17 大日本印刷株式会社 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2288824A1 (en) * 1997-03-24 1998-10-01 Marc B. Kekicheff A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
US6488211B1 (en) * 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
JP3640802B2 (ja) * 1998-06-08 2005-04-20 富士通株式会社 データバックアップ方式
AU770396B2 (en) * 1998-10-27 2004-02-19 Visa International Service Association Delegated management of smart card applications
US6845498B1 (en) * 1999-05-11 2005-01-18 Microsoft Corporation Method and apparatus for sharing data files among run time environment applets in an integrated circuit card
JP3808297B2 (ja) * 2000-08-11 2006-08-09 株式会社日立製作所 Icカードシステム及びicカード
US6865659B2 (en) * 2002-06-07 2005-03-08 Sun Microsystems, Inc. Using short references to access program elements in a large address space
FR2841997B1 (fr) * 2002-07-08 2005-11-11 Gemplus Card Int Securisation d'application telechargee notamment dans une carte a puce
EP1560172A1 (en) * 2004-02-02 2005-08-03 Matsushita Electric Industrial Co., Ltd. Secure device and mobile terminal which carry out data exchange between card applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180015647A (ko) * 2015-05-13 2018-02-13 제말토 에스에이 제2 애플리케이션에 의한 사용을 위해 제1 애플리케이션으로부터 제1 데이터를 전송하도록 구성된 집적 회로 카드
WO2024010177A1 (ko) * 2022-07-04 2024-01-11 삼성전자 주식회사 보안 회로의 애플릿을 갱신하기 위한 전자 장치 및 그의 동작 방법

Also Published As

Publication number Publication date
SG121941A1 (en) 2006-05-26
JP2006119901A (ja) 2006-05-11
CN1763716A (zh) 2006-04-26
EP1650717A1 (en) 2006-04-26
US20060086785A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
KR20060051023A (ko) 휴대 가능 전자장치와 휴대 가능 전자장치의어플리케이션의 갱신방법
JP4860619B2 (ja) メモリカード、アプリケーションプログラム保持方法、及び保持プログラム
JP4717381B2 (ja) 移動機、及び、アクセス制御方法
CN101965597B (zh) 用于安装和取回已链接的mifare应用的方法和设备
US20100043016A1 (en) Application management device and application management method
JP6585072B2 (ja) 不揮発性メモリ又はセキュア素子へのデータの読み込みを安全に行うこと
US20070040021A1 (en) User identification infrastructure system
JP2010182270A (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ管理方法
US9098711B2 (en) Information processing apparatus and method, recording medium, and program
JP6426411B2 (ja) Icカード及び携帯可能電子装置
JP2009181460A (ja) シンクライアントシステム
KR101601395B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
JP2003216511A (ja) 不揮発性メモリ装置、データ更新方法、データ更新プログラム及びそのプログラムが記録されたコンピュータ読み取り可能な記録媒体
CN111684445A (zh) 信息处理装置,信息处理方法和程序
JP2008152593A (ja) 情報端末装置
US10732955B2 (en) Electronic apparatus and information processing system
JP2001283160A (ja) Icカードおよびicカードの更新装置とその方法
JP7497777B1 (ja) 電子情報記憶媒体、icチップ、icカード、データ移行判定方法、及びプログラム
JP6915437B2 (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP7334566B2 (ja) 電子情報記憶媒体、及びプログラム
JP2019028602A (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP7068603B2 (ja) 電子情報記憶媒体、icカード、電子情報記憶媒体によるアップデート方法及びアップデートプログラム
JP4434428B2 (ja) 情報端末装置
US20240048554A1 (en) Remote issuance system and data generation server
JP4217148B2 (ja) 共同利用コンピュータおよび共同利用コンピュータ制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application