KR100489783B1 - 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법 - Google Patents

선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법 Download PDF

Info

Publication number
KR100489783B1
KR100489783B1 KR10-2003-0014108A KR20030014108A KR100489783B1 KR 100489783 B1 KR100489783 B1 KR 100489783B1 KR 20030014108 A KR20030014108 A KR 20030014108A KR 100489783 B1 KR100489783 B1 KR 100489783B1
Authority
KR
South Korea
Prior art keywords
applet
information
card
storage unit
smart card
Prior art date
Application number
KR10-2003-0014108A
Other languages
English (en)
Other versions
KR20040079166A (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 송대석
Priority to KR10-2003-0014108A priority Critical patent/KR100489783B1/ko
Publication of KR20040079166A publication Critical patent/KR20040079166A/ko
Application granted granted Critical
Publication of KR100489783B1 publication Critical patent/KR100489783B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • G06K17/0022Methods 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 arrangements or provisious for transferring data to distant stations, e.g. from a sensing device
    • 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/0013Methods or arrangements for sensing record carriers, e.g. for reading patterns by galvanic contacts, e.g. card connectors for ISO-7816 compliant smart cards or memory cards, e.g. SD card readers
    • 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/073Special arrangements for circuits, e.g. for protecting identification code in memory

Abstract

본 발명은 스마트카드에 관한 것으로서, 컴퓨터단말기와 연결되어 데이터통신을 수행하는 카드리더기를 이용하고, 카드리더기와 APDU 명령어 통신을 수행하고 스마트카드 내부의 시스템 운영을 위한 운영체계(OS)와; 다수의 CAP파일과; 상기 다수의 CAP파일을 저장하기 위한 CAP파일저장부와; 상기 CAP파일이 설치되는 공간으로서 설치되는 애플릿의 등록정보를 저장하기 위한 등록정보저장부를 구비한 애플릿설치부와; 상기 설치된 애플릿에 대한 실행환경을 제공하는 스마트카드 가상머신과; 상기 애플릿과 상기 운용체계간의 시스템 인터페이스를 제공하는 응용프로그램인터페이스부와; 전자서명을 저장하기 위한 전자서명저장부와; 스마트카드 사용에 따른 정보를 저장하기 위한 카드정보저장부와; 상기 카드정보저장부에 정보의 저장을 수행하기 위한 시스템 인터페이스를 제공하는 정보저장 응용프로그램인터페이스부와; 상기 카드정보저장부에 저장된 정보의 복구를 수행하기 위한 시스템 인터페이스를 제공하는 정보복구 응용프로그램인터페이스부를 포함하는 스마트카드를 제안하여 사용자의 요구에 부응되는 적절한 애플릿의 탑재와 삭제 및 관리를 'Install', 'Uninstall', 'Backup', 'Reinstall'과 같은 APDU 명령의 전송만으로도 용이하게 수행할 수 있도록 하고 있다.

Description

선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법{Smart-card and the management method for optional applet}
본 발명은 스마트카드에 관한 것으로서, 보다 상세하게는 기능별로 저장된 애플리케이션의 선택적 인스톨과 언인스톨 및 관리가 사용자의 필요와 선택에 의해 수행되도록 하여 사용자의 필요에 따른 기능성 스마트카드의 생성을 가능하도록 하는 솔루션을 제공한다.
스마트카드(Smart Card)란, ISO7816에 규정된 인터페이스 방식에 따라 데이터를 송수신하는 마이크로프로세서와 메모리 및 다양한 응용프로그램을 내장하여 전자지갑, 신용카드, 의료카드, SIM카드 등 보다 높은 보안성이 요구되는 분야에 있어서 휴대성, 편리성, 보안성 등의 기능을 제공하는 카드이다.
이러한 스마트카드는 도 1a 및 1b와 같은 일반적인 내부구조 및 내부 시스템구성을 가지는데, 상기 중앙제어장치(CPU)는 마이크로프로세서(Micro-Processer)이고, 상기 ROM(Read-Only Memory)은 운영체제(COS: Card Operating System)를 저장하고 있으며, 상기 RAM(Random Access Memory)은 전력이 공급되는 동안만 데이터를 보관하며 데이터의 임시저장을 위한 것이다.
상기 EEPROM(Electrically erasable programmable ROM)은 프로그램 및 응용프로그램을 저장하고 있으며, 키, 비밀번호 등을 저장하여 전력이 공급되지 않아도 데이터를 계속 보관할 수 있다.
상기 BUS는 상기 ROM, EEPROM, RAM 등과 같은 모든 내부 요소들을 상기 CPU와 ROM에 연결시켜주는 스마트카드의 골격이다. 모든 BUS는 정보의 위치를 찾아 주는 어드레스 BUS와 실질적인 데이터를 전송하는 데이터 BUS의 두 부분으로 구성된다.
상기한 종류와 구조를 가지는 스마트카드 중 자바카드는 자바 언어(JAVA)로 작성된 어플리케이션을 실행시킬 수 있는 자바 가상 머신(Java Virtual Machine)을 구비한 스마트카드로써, 카드사용에 따른 보안성, 개발비용과 시간의 절약, 다중 어플리케이션 등의 장점으로 인해 현재 널리 사용되고 있다.
도 2는 일반적인 자바카드의 내부 시스템구조를 도시한 도면으로서, 상기 운영체제(COS)(10)의 상부에는 상기 스마트카드(1)에 내장된 제한된 메모리 문제를 해결하기 위해 그 크기를 줄인 자바 카드 가상 머신(20)이 위치한다.
상기 스마트카드(100)의 하드웨어 플랫폼에 독립적인 환경을 구축하기 위해서는 자바 카드 가상 머신(20)의 구현이 필수적이며, 상기 자바 카드 가상 머신(20)은 일반적인 자바 언어 작동을 위한 자바 가상 머신 보다 훨씬 작은 크기를 가지며, 일반적인 자바 가상머신과는 달리 두 부분으로 나뉘어서 구현된다. 한 부분은 자바 카드에서 직접 실행되며, 다른 한 부분은 카드 외부에서 실행된다. 클래스 로딩, 바이트 코드 검증, 최적화와 같은 작업들은 반드시 어플리케이션이 실행될 당시에 수행될 필요 없는 작업들이다. 따라서 이러한 작업들을 자바카드에서 직접 실행시키기보다는 메모리 등 시스템 자원의 제약이 없는 자바 카드 외부의 워크스테이션 등에서 수행시킴으로써 자바 카드 자체의 제한적인 시스템 자원을 효율적으로 활용할 수 있게 된다.
상기 두 부분으로 나누어지는 자바카드 가상 머신(20)은 자바 카드 외부와 내부에서 각각 주어진 역할을 수행하게 된다. 먼저 카드 외부의 자바 카드 가상 머신은 개발 작업이 수행되는 PC 또는 워크스테이션에서 수행되게 된다. 이러한 부분을 주로 'Converter(이하 변환기)' 라고 부르며, 상기 '변환기'는 주로 클래스 파일들을 로드하고 CAP(Converted Application) 파일을 출력하는 역할을 담당한다. 이렇게 변화된 CAP 파일은 자바 카드 내부의 가상 머신인 'Interpreter(이하 실행기)'에게 전달되어 실제 어플리케이션의 수행이 일어나게 된다.
좀더 상세히 설명하면, 상기 '변환기'는 바이트 코드의 최적화 작업을 수행하고, 정적 변수의 초기화 작업을 수행하며, CAP 파일의 변환 과정에서 자바 카드에서 지원되지 않는 기능을 포함했는지, 악의적인 코드가 숨어 있지 않는지 등의 검사 과정을 수행함으로써, 자바 카드 어플리케이션의 신뢰성과 성능을 높여주게 된다. 상기 '실행기'는 실제로 바이트 코드 형태의 어플리케이션(애플릿)(40)을 실행시키며, 실행 도중 메모리의 할당, 객체 생성 등의 필수적인 작업들을 수행하게 되며, 어플리케이션 수행 도중의 안전성에 대해서 중요한 역할을 수행하게 된다.
상기 자바카드 어플리케이션(API:Application Program Interface, 응용프로그램 인터페이스)(30)은 일반적으로 프레임워크(Framework)를 통해 다양하게 제공되며, 상기 프레임워크는 스마트카드 어플리케이션을 개발하는데 좀 더 쉽고 편리한 환경을 제공한다. 상기 자바카드API(30)를 통해 제공되는 대표적인 패키지들은 java.lang, javacard.framwork, javacard.security, javacardx.crypto 등이 있으며 이하 상기 각 API(30) 들에 대한 설명은 생략하기로 한다.
상기와 같이 구성되는 일반적인 자바카드는 상기 애플릿(40)이라 불리우는 작은 응용프로그램을 가지는데, 상기 애플릿은 자바와 같은 객체지향 프로그래밍 언어를 써서 제작된 응용프로그램으로서 각각의 독립된 작업을 수행할 수 있도록 한다.
상기 애플릿(40)의 생성과정에 대해 도 3의 흐름도를 참조하여 살펴보면, 먼저 개발자는 몇 개의 자바 어플리케이션 소스 코드를 작성한 후에(S1) 자바 컴파일러를 통하여 몇 개의 자바 클래스(Class) 파일을 생성한다.(S2)
그리고 상기 생성된 어플리케이션은 모의환경에서 테스트되고, 오류가 있는 경우 디버거(Debugger)에 의한 디버깅 등의 과정을 거치게 된다. 이후 자바 패키지를 구성하는 어플리케이션(30)의 클래스 파일들을 상기 '변환기'에 의해 CAP 파일로 변환된다.(S3)
이렇게 생성된 CAP 파일은 APDU 통신을 통해 카드 내에 탑재된다.(S4)
탑재된 CAP파일은 번역기(Compiler)를 통해 자바카드에서 실행될 애플릿(Applet)(40)을 생성하고, 이러한 과정을 거친 자바 카드 애플릿(40)은 실제 자바 카드에 탑재되어 상기 '실행기'에 의해 실행된다.(S5)
상기와 같은 구성과 과정이 수행되어 제작되는 자바카드(이하 스마트카드)는 그 사용 용도에 따라 전자지갑, 신용카드, 의료카드, SIM카드, 교통카드 등의 서비스 이용을 위한 각종 애플릿(40)들을 저장하고 있는데, 통상 하나 또는 두 개 정도의 애플릿(40)이 스마트카드 제조 시에 일련의 교환체계(APDU : Application protocol Data Unit)의 인스톨명령(Install)을 통해 미리 설치되어 출시되는 경우가 일반적이고, 상기 스마트카드 내의 애플릿(40)의 교체는 불가능하거나 또는 기존의 애플릿을 삭제한 후 새로운 애플릿을 재인스톨 하는 방법을 이용하고 있다.
이러한 현재의 스마트카드 애플릿 운영방법으로는 사용자가 원하는 기능을 새로이 부가하고 싶을 경우 새로이 스마트카드를 재발급 받거나 또는 이미 인스톨된 애플릿 중 하나를 제거한 후 재인스톨 해야 하기 때문에 사용자가 삭제되는 애플릿에 따른 기능을 포기해야 하는 단점과 재발급에 따른 번거러움을 감수해야 하는 문제점이 있는 형편이다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 사용자가 원하는 가능의 추가를 위한 애플릿의 관리를 직접 수행함에 있어서, 다수의 애플릿을 저장하고 상기 저장된 애플릿 중 사용하기 원하는 애플릿이 있을 경우 인스톨 명령의 전송을 통해 필요한 기능의 교대 사용이 가능하도록 한다.
또한 스마트카드 내에 다수 기능을 수행할 수 있는 다수의 애플릿을 미리 저장해 둠으로써, 사용자가 원하는 기능을 인스톨 명령만 전송함으로써 간편하게 스마트카드의 기능을 추가할 수 있는 편리한 방법을 제시한다.
상기와 같은 목적을 달성하기 위해, 본 발명은 컴퓨터단말기와 연결되어 데이터통신을 수행하는 카드리더기를 이용해 애플릿관리를 수행하기 위한 스마트카드로서, 카드리더기와 APDU 명령어 통신을 수행하고 스마트카드 내부의 시스템 운영을 위한 운영체계와; 다수의 CAP파일과; 상기 다수의 CAP파일을 저장하기 위한 CAP파일저장부와; 상기 CAP파일이 설치되는 공간으로서 설치되는 애플릿의 등록정보를 저장하기 위한 등록정보저장부를 구비한 애플릿설치부와; 상기 설치된 애플릿에 대한 실행환경을 제공하는 스마트카드 가상머신과; 상기 애플릿과 상기 운용체계간의 시스템 인터페이스를 제공하는 응용프로그램인터페이스부와; 전자서명을 저장하기 위한 전자서명저장부와; 스마트카드 사용에 따른 정보를 저장하기 위한 카드정보저장부와; 상기 카드정보저장부에 정보의 저장을 수행하기 위한 시스템 인터페이스를 제공하는 정보저장 응용프로그램인터페이스부와; 상기 카드정보저장부에 저장된 정보의 복구를 수행하기 위한 시스템 인터페이스를 제공하는 정보복구 응용프로그램인터페이스부를 포함하는 스마트카드를 제시한다.
여기서 상기 카드정보저장부에 저장되는 정보는 스마트카드 업데이트정보, 사용자 개인정보 및 금융정보인 것을 특징으로 한다.
상기와 같은 구성을 가지는 본 발명에 따른 스마트카드는, 상기 CAP파일저장부에 다수의 CAP파일을 저장하는 단계와; 상기 컴퓨터단말기는 전자서명된 명령을 상기 카드리더를 통해 상기 스마트카드로 전송하는 단계와; 상기 전송받은 전자서명과 상기 전자서명저장부에 저장된 전자서명과의 비교를 수행하는 단계와; 상기 전자서명이 정당할 경우 상기 명령을 수행하고, 상기 전자서명이 정당하지 않을 경우 상기 명령을 수행하지 않는 단계를 포함하는 스마트카드 운용방법을 제시하고 있다.
여기서 상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 설치 명령일 경우, 상기 전자서명을 통해 상기 CAP파일저장부에 저장된 CAP파일 중 설치할 CAP파일을 검색하는 단계와; 상기 검색된 CAP파일을 애플릿파일로 변환하는 단계와; 상기 애플릿파일을 상기 애플릿설치부에 설치하여 저장하는 단계와; 상기 저장된 애플릿의 등록정보를 상기 등록정보저장부에 저장하는 단계와; 상기 설치된 애플릿파일에 해당하는 CAP파일을 삭제하는 단계를 더욱 포함한다.
또한 상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 갱신 명령일 경우, 상기 전자서명을 통해 설치된 애플릿 중 갱신할 애플릿을 선택하는 단계와; 상기 정보저장 응용프로그램인터페이스부의 정보저장 응용프로그램을 실행하는 단계와; 상기 선택된 애플릿에 관련된 정보를 상기 카드정보저장부에 저장하는 단계와; 상기 선택된 애플릿에 대한 기능을 갱신하는 단계와; 상기 정보복구 응용프로그램인터페이스부의 정보복구 응용프로그램을 실행하는 단계와; 상기 카드정보저장부에 저장된 애플릿 정보를 복구하는 단계와; 상기 카드정보저장부에 저장된 애플릿 정보를 삭제하는 단계를 더욱 포함한다.
또한 상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 백업 명령일 경우, 상기 전자서명을 통해 설치된 애플릿 중 백업할 애플릿을 선택하는 단계와; 상기 정보저장 응용프로그램인터페이스부의 정보저장 응용프로그램을 실행하는 단계와; 상기 카드정보저장부에 저장된 애플릿의 백업정보를 로드하는 단계와; 상기 로드된 백업정보의 백업을 원할 경우 상기 카드정보저장부에 백업정보를 갱신하고, 백업을 원하지 않을 경우 상기 카드정보저장부에 상기 애플릿의 백업정보를 저장하는 단계와; 상기 애플릿설치부에 설치된 애플릿의 등록정보를 상기 카드정보저장부에 등록하는 단계를 더욱 포함한다.
또한 상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 재설치 명령일 경우, 상기 전자서명을 통해 재설치할 애플릿의 등록정보를 확인하는 단계와; 상기 저장된 CAP파일로부터 재설치할 애플릿파일을 생성하는 단계와; 상기 애플릿설치부에 상기 재설치할 애플릿파일을 설치하고 상기 등록정보저장부에 등록정보를 등록하는 단계와; 상기 카드정보저장부에서 상기 재설치된 애플릿의 등록정보와 일치하는 등록정보를 검색하는 단계와; 상기 검색된 등록정보와 상기 정보복구 응용프로그램인터페이스부를 이용해 상기 재인스톨된 애플릿의 정보를 복구하는 단계와; 상기 카드정보저장부에서 상기 재설치된 애플릿의 정보를 삭제하는 단계를 더욱 포함한다.
또한 상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 제거 명령일 경우, 상기 전자서명을 통해 설치된 애플릿 중 제거할 애플릿을 선택하는 단계와; 상기 애플릿설치부에서 상기 선택된 애플릿을 제거하는 단계와; 상기 등록정보저장부에서 상기 제거된 애플릿 등록정보를 제거하는 단계를 더욱 포함한다.
이하 첨부된 도면을 참조하여 본 발명에 따른 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법에 대해 설명하기로 한다.
도 4는 본 발명에 따른 스마트카드(100)의 내부 시스템 구성을 도시한 도면으로서, 각각이 스마트카드에서 기능을 제공할 수 있도록 하는 일종의 바이트코드인 CAP파일(155)을 다수개 저장하고 있는 CAP파일저장부(150)를 구비하고 있다.
상기 운영체제(110)는 물론 카드 운영체제(COS)이다.
상기 CAP파일저장부(150)는 상기 스마트카드(100) 내에 구성되는 메모리 영역에 위치하고 상기 저장되는 CAP파일(155)의 개수는 상기 CAP파일저장부(150)에 할당된 메모리 크기에 따라 변화된다.
상기 언급되는 CAP파일(Converted Application, 파일 확장자가 "*.cap"인 파일)에 대해 간단히 설명하면, jar(Java Archive) 압축포맷을 따르는 파일로서 여러 개의 CAP파일을 압축하여 하나의 CAP파일로 만들어 스마트카드에 전송되고, 설치되는 중에 CAP파일 내에 들어있는 파일들의 압축이 풀리면서 설치가 된다.
상기 애플릿설치부(140)는 상기 CAP파일저장부(150)에 저장된 CAP파일(155) 중 사용자가 상기 스마트카드(100)를 통해 사용하기를 원하는 기능을 제공하는 CAP파일(155)이 설치되어 애플릿(145)으로 변환되어 설치되는 메모리영역으로서, 적어도 하나 이상의 상기 CAP파일(155)이 인스톨될 수 있는 영역을 제공한다. 또한 상기 등록정보저장부(142)에는 상기 각 애플릿(145)에 대한 등록정보(AID:Application Identifier)가 저장되어 있다.
상기 전자서명저장부(160)는 상기 각 애플릿(145)의 사용 확인을 위한 다수의 전자서명이 저장된다.
상기 카드정보저장부(190)에는 상기 애플릿의 관리와 사용에 관련된 업데이트정보, 금융정보, 스마트카드사용자정보 등이 저장된다.
이하 상기와 같은 구성을 가지는 본 발명에 따른 선택적 애플릿 관리가 가능한 스마트카드의 운용방법에 대해 설명하기로 한다.
도 5a와 5b는 각각 본 발명에 따른 스마트카드(100)의 운용방법을 설명하는 흐름도와 구성도로서, 먼저 상기 스마트카드(100) 내부의 메모리 영역에 다수개의 CAP파일(155)을 로딩하여 저장한다.(S11) 이는 물론 카드리더(미도시)와 로더(Loader)(미도시)가 구비된 단말기(미도시)를 통해 수행함은 당연하다.
이후 사용자는 스마트카드에서 원하는 기능에 대한 관리, 즉 애플릿의 설치, 제거, 업데이트, 백업 등의 작업을 수행하기 위해서는 상기 컴퓨터단말기(200)를 통해 전자서명된 APDU 명령을 상기 카드리더기(300)를 통해 상기 스마트카드(100)로 전송한다.(S12)
상기 스마트카드(100)는 상기 전자서명이 첨부된 APDU명령의 수행을 위해 상기 전자서명저장부(160)에 저장된 전자서명과 비교한 후(S13) 그 정당성을 판별하여 해당 명령을 수행하게 된다.(S14)
상기와 같은 기본 과정을 가지는 본 발명에 따른 스마트카드 운용방법에 대해 설치, 업데이트(갱신), 백업, 재설치, 제거 등의 과정으로 세분하여 보다 상세히 설명하기로 한다.
도 6a는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 설치할 경우에 대한 흐름을 설명한 흐름도로서, 먼저 상기 카드리더기(200)로부터 전송된 설치에 대한 APDU명령이 입력될 경우, 상기 첨부된 전자서명과 상기 전자서명저장부(160)에 저장된 전자서명과의 발급사 비교를 통해 설치할 CAP파일을 상기 CAP파일저장부(150)에서 검색한다.(S21)
다음으로 상기 검색된 CAP파일(155)을 애플릿파일로 변환한다.(S22) 여기서 CAP파일의 애플릿변환은 공지의 기술이므로 상세한 설명은 생략한다.
상기 변환된 애플릿을 상기 애플릿설치부(140)에 설치하여 저장한다.(S23)
이후 상기 저장된 애플릿(145)의 등록정보(AID)를 상기 등록정보저장부(142)에 저장한다.(S24)
다음으로 상기 설치된 애플릿파일에 해당하는 상기 CAP파일을 삭제한다.(S25)
도 6b는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 갱신할 경우에 대한 흐름을 설명한 흐름도로서, 먼저 상기 카드리더기(200)로부터 전송된 갱신에 대한 APDU명령이 입력될 경우, 상기 전송된 전자서명과 저장된 전자서명과의 비교를 통해 설치된 애플릿 중 갱신할 애플릿을 선택한다.(S31)
다음으로 상기 정보저장 응용프로그램인터페이스부(170)를 실행하고(S32), 상기 선택된 애플릿에 대한 정보를 상기 카드정보저장부(190)에 저장한다.(S33)
다음으로 상기 선택된 애플릿에 대한 기능을 변경하여 갱신하고(S34), 상기 정보복구 응용프로그램인터페이스부(180)의 정보복구 응용프로그램을 실행하고(S35), 상기 카드정보저장부(190)에 저장된 애플릿정보를 복구한다.(S36)
다음으로 상기 카드정보저장부(190)에 저장된 애플릿정보를 삭제한다.(S37)
도 6c는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 백업할 경우에 대한 흐름을 설명한 흐름도로서, 먼저 상기 카드리더기(200)로부터 전송된 백업에 대한 APDU명령이 입력될 경우, 상기 전송된 전자서명과 저장된 전자서명과의 비교를 통해 설치된 애플릿 중 백업을 수행할 애플릿을 선택하게 된다.(S41)
다음으로 상기 정보저장 응용프로그램인터페이스부(170)의 정보저장 응용프로그램을 실행하고(S42), 상기 카드정보저장부(190)에 저장된 애플릿 백업정보를 로드한다.(S43)
상기 로드된 백업정보의 백업을 원할 경우 상기 카드정보저장부(190)에 백업정보를 갱신하고(S44), 백업을 원하지 않을 경우 상기 카드정보저장부(190)에 상기 애플릿의 백업정보를 저장하고(S45), 상기 애플릿설치부(140)에 설치된 애플릿의 등록정보를 상기 카드정보저장부(190)에 등록한다(S46)
도 6d는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 재설치할 경우에 대한 흐름을 설명한 흐름도로서, 먼저 상기 카드리더기(200)로부터 전송된 재설치에 대한 APDU명령이 입력될 경우, 상기 전송된 전자서명과 저장된 전자서명과의 비교를 통해 상기 재설치할 애플릿의 등록정보를 확인한다.(S51)
다음으로 상기 저장된 CAP파일로부터 재설치할 애플릿파일을 생성한다.(S52)
상기 애플릿설치부(140)에 재설치할 애플릿파일의 재설치를 수행하고 상기 등록정보저장부(142)에 등록정보(AID)를 등록한다.(S53)
다음으로 상기 카드정보저장부(190)에 상기 재설치된 애플릿의 등록정보와 일치하는 등록정보를 검색한다.(S54)
상기 검색된 등록정보와 상기 정보복구 응용프로그램인터페이스부(180)를 이용해 상기 재인스톨된 애플릿의 정보를 복구한다.(S55)
다음으로 상기 카드정보저장부(190)에 저장된 재설치된 애플릿의 정보를 삭제한다.(S56)
도 6e는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 제거할 경우에 대한 흐름을 설명한 흐름도로서, 먼저 상기 카드리더기(200)로부터 전송된 제거에 대한 APDU명령이 입력될 경우, 상기 전송된 전자서명과 저장된 전자서명과의 비교를 통해 상기 제거할 애플릿을 선택한다.(S61)
다음으로 상기 애플릿설치부(140)에서 상기 선택된 애플릿을 제거한다.(S62)
또한 상기 등록정보저장부(142)에서 상기 제거된 애플릿에 대한 등록정보를 삭제한다.(S63)
상기와 같이 본 발명에서 제시하는 스마트카드 솔루션을 보면, 일반적으로 사용자는 카드사업자에 의해 미리 하나 또는 두 가지의 기능(애플릿)을 탑재하여 정형화된 스마트카드를 신청하여 사용하게 되는데, 이는 급변하는 현 사회에 적응하기 위한 사용자의 요구와 필요에 따른 신속하고 적절한 서비스 제공 방안이 될 수 없기 때문에, 현재의 기술로도 충분히 실현 가능한 방법을 적절히 응용하여 보다 편리한 스마트카드의 사용 환경을 제시하고 이로 인한 사용자의 편리함과 접근성을 용이하게 함으로써 스마트카드의 확대 보급에 기여할 수 있는 커다란 효과를 수반할 수 있음은 당연하다 할 것이다.
도 1a 및 1b는 각각 스마트카드의 일반적인 내부 구성 및 내부 시스템구성을 도시한 도면
도 2는 일반적인 자바카드의 내부 시스템구조를 도시한 도면
도 3은 일반적인 자바카드에 애플릿을 설치하는 과정을 설명하기 위한 흐름도
도 4는 본 발명에 따른 스마트카드(100)의 내부 시스템 구성을 도시한 도면
도 5a와 5b는 각각 본 발명에 따른 스마트카드(100)의 운용방법을 설명하는 흐름도와 구성도
도 6a는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 설치할 경우에 대한 흐름을 설명한 흐름도
도 6b는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 갱신할 경우에 대한 흐름을 설명한 흐름도
도 6c는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 백업할 경우에 대한 흐름을 설명한 흐름도
도 6d는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 재설치할 경우에 대한 흐름을 설명한 흐름도
도 6e는 상기 본 발명에 따른 스마트카드(100)에 애플릿을 제거할 경우에 대한 흐름을 설명한 흐름도
<도면의 주요부분에 대한 부호의 설명>
100 : 스마트카드 110 : 운영체제
120 : 스마트카드API 130 : 스마트카드VM
140 : 애플릿설치부 142 : 등록정보저장부
145 : 애플릿 150 : CAP파일저장부
155 : CAP파일 160 : 전자서명저장부
170 : 정보저장API 180 : 정보복구API
190 : 카드정보저장부

Claims (8)

  1. 컴퓨터단말기와 연결되어 데이터통신을 수행하는 카드리더기를 이용해 애플릿관리를 수행하기 위한 스마트카드로서,
    카드리더기와 APDU 명령어 통신을 수행하고 스마트카드 내부의 시스템 운영을 위한 운영체계(OS)와;
    다수의 CAP파일과;
    상기 다수의 CAP파일을 저장하기 위한 CAP파일저장부와;
    상기 CAP파일이 설치되는 공간으로서 설치되는 애플릿의 등록정보를 저장하기 위한 등록정보저장부를 구비한 애플릿설치부와;
    상기 설치된 애플릿에 대한 실행환경을 제공하는 스마트카드 가상머신과;
    상기 애플릿과 상기 운용체계간의 시스템 인터페이스를 제공하는 응용프로그램인터페이스부와;
    전자서명을 저장하기 위한 전자서명저장부와;
    스마트카드 사용에 따른 정보를 저장하기 위한 카드정보저장부와;
    상기 카드정보저장부에 정보의 저장을 수행하기 위한 시스템 인터페이스를 제공하는 정보저장 응용프로그램인터페이스부와;
    상기 카드정보저장부에 저장된 정보의 복구를 수행하기 위한 시스템 인터페이스를 제공하는 정보복구 응용프로그램인터페이스부
    를 포함하는 스마트카드
  2. 청구항 제 1 항에 있어서,
    상기 카드정보저장부에 저장되는 정보는 스마트카드 업데이트정보, 사용자 개인정보 및 금융정보인 것을 특징으로 하는 스마트카드
  3. 컴퓨터단말기와 연결되어 데이터통신을 수행하는 카드리더기를 이용해 애플릿관리를 수행하기 위한 스마트카드로서, 카드리더기와 APDU 명령어 통신을 수행하고 스마트카드 내부의 시스템 운영을 위한 운영체계(OS)와; 다수의 CAP파일과; 상기 다수의 CAP파일을 저장하기 위한 CAP파일저장부와; 상기 CAP파일이 설치되는 공간으로서 설치되는 애플릿의 등록정보를 저장하기 위한 등록정보저장부를 구비한 애플릿설치부와; 상기 설치된 애플릿에 대한 실행환경을 제공하는 스마트카드 가상머신과; 상기 애플릿과 상기 운용체계간의 시스템 인터페이스를 제공하는 응용프로그램인터페이스부와; 전자서명을 저장하기 위한 전자서명저장부와; 스마트카드 사용에 따른 정보를 저장하기 위한 카드정보저장부와; 상기 카드정보저장부에 정보의 저장을 수행하기 위한 시스템 인터페이스를 제공하는 정보저장 응용프로그램인터페이스부와; 상기 카드정보저장부에 저장된 정보의 복구를 수행하기 위한 시스템 인터페이스를 제공하는 정보복구 응용프로그램인터페이스부를 포함하는 스마트카드 운영방법으로서,
    상기 CAP파일저장부에 다수의 CAP파일을 저장하는 단계와;
    상기 컴퓨터단말기는 전자서명된 명령을 상기 카드리더를 통해 상기 스마트카드로 전송하는 단계와;
    상기 전송받은 전자서명과 상기 전자서명저장부에 저장된 전자서명과의 비교를 수행하는 단계와;
    상기 전자서명이 정당할 경우 상기 명령을 수행하고, 상기 전자서명이 정당하지 않을 경우 상기 명령을 수행하지 않는 단계
    를 포함하는 스마트카드 운용방법
  4. 청구항 제 3 항에 있어서,
    상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 설치 명령일 경우,
    상기 전자서명을 통해 상기 CAP파일저장부에 저장된 CAP파일 중 설치할 CAP파일을 검색하는 단계와;
    상기 검색된 CAP파일을 애플릿파일로 변환하는 단계와;
    상기 애플릿파일을 상기 애플릿설치부에 설치하여 저장하는 단계와;
    상기 저장된 애플릿의 등록정보를 상기 등록정보저장부에 저장하는 단계와;
    상기 설치된 애플릿파일에 해당하는 CAP파일을 삭제하는 단계
    를 더욱 포함하는 스마트카드 운용방법
  5. 청구항 제 3 항에 있어서,
    상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 갱신 명령일 경우,
    상기 전자서명을 통해 설치된 애플릿 중 갱신할 애플릿을 선택하는 단계와;
    상기 정보저장 응용프로그램인터페이스부의 정보저장 응용프로그램을 실행하는 단계와;
    상기 선택된 애플릿에 관련된 정보를 상기 카드정보저장부에 저장하는 단계와;
    상기 선택된 애플릿에 대한 기능을 갱신하는 단계와;
    상기 정보복구 응용프로그램인터페이스부의 정보복구 응용프로그램을 실행하는 단계와;
    상기 카드정보저장부에 저장된 애플릿 정보를 복구하는 단계와;
    상기 카드정보저장부에 저장된 애플릿 정보를 삭제하는 단계
    를 더욱 포함하는 스마트카드 운용방법
  6. 청구항 제 3 항에 있어서,
    상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 백업 명령일 경우,
    상기 전자서명을 통해 설치된 애플릿 중 백업할 애플릿을 선택하는 단계와;
    상기 정보저장 응용프로그램인터페이스부의 정보저장 응용프로그램을 실행하는 단계와;
    상기 카드정보저장부에 저장된 애플릿의 백업정보를 로드하는 단계와;
    상기 로드된 백업정보의 백업을 원할 경우 상기 카드정보저장부에 백업정보를 갱신하고, 백업을 원하지 않을 경우 상기 카드정보저장부에 상기 애플릿의 백업정보를 저장하는 단계와;
    상기 애플릿설치부에 설치된 애플릿의 등록정보를 상기 카드정보저장부에 등록하는 단계
    를 더욱 포함하는 스마트카드 운용방법
  7. 청구항 제 3 항에 있어서,
    상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 재설치 명령일 경우,
    상기 전자서명을 통해 재설치할 애플릿의 등록정보를 확인하는 단계와;
    상기 저장된 CAP파일로부터 재설치할 애플릿파일을 생성하는 단계와;
    상기 애플릿설치부에 상기 재설치할 애플릿파일을 설치하고 상기 등록정보저장부에 등록정보를 등록하는 단계와;
    상기 카드정보저장부에서 상기 재설치된 애플릿의 등록정보와 일치하는 등록정보를 검색하는 단계와;
    상기 검색된 등록정보와 상기 정보복구 응용프로그램인터페이스부를 이용해 상기 재인스톨된 애플릿의 정보를 복구하는 단계와;
    상기 카드정보저장부에서 상기 재설치된 애플릿의 정보를 삭제하는 단계
    를 더욱 포함하는 스마트카드 운용방법
  8. 청구항 제 3 항에 있어서,
    상기 스마트카드로 전송된 전자서명된 정당한 명령이 애플릿의 제거 명령일 경우,
    상기 전자서명을 통해 설치된 애플릿 중 제거할 애플릿을 선택하는 단계와;
    상기 애플릿설치부에서 상기 선택된 애플릿을 제거하는 단계와;
    상기 등록정보저장부에서 상기 제거된 애플릿 등록정보를 제거하는 단계
    를 더욱 포함하는 스마트카드 운용방법
KR10-2003-0014108A 2003-03-06 2003-03-06 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법 KR100489783B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0014108A KR100489783B1 (ko) 2003-03-06 2003-03-06 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0014108A KR100489783B1 (ko) 2003-03-06 2003-03-06 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법

Publications (2)

Publication Number Publication Date
KR20040079166A KR20040079166A (ko) 2004-09-14
KR100489783B1 true KR100489783B1 (ko) 2005-05-16

Family

ID=37364213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0014108A KR100489783B1 (ko) 2003-03-06 2003-03-06 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법

Country Status (1)

Country Link
KR (1) KR100489783B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101505763B1 (ko) * 2010-12-06 2015-03-24 제말토 에스에이 자바 카드 애플리케이션의 데이터를 내보내고 가져오기 위한 방법
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

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100651730B1 (ko) * 2004-11-20 2006-12-01 한국전자통신연구원 호환 usim 카드 및 호환 usim 카드의 api 제공 방법
KR100906002B1 (ko) * 2005-07-29 2009-07-06 김승호 스마트 칩에 기반한 유비쿼터스 보안/통합 시스템
KR100678609B1 (ko) * 2005-09-13 2007-02-06 주식회사 하이스마텍 스마트카드에서 명령어 호출 시스템 및 방법, 이를 위한패치 시스템 및 방법
KR100821155B1 (ko) * 2006-07-28 2008-04-11 주식회사 케이티프리텔 연결 파일 구조를 가진 ic 칩 및 그 어플리케이션 수행방법
KR100741847B1 (ko) * 2007-04-04 2007-07-24 주식회사 스마트카드연구소 Usim 카드에서의 애플릿 설치 및 관리 방법
KR101030489B1 (ko) * 2007-06-22 2011-04-25 주식회사 케이티 스마트 카드를 관리하기 위한 시스템 및 그 방법
KR100926364B1 (ko) * 2007-10-24 2009-11-10 주식회사 케이티 스마트 카드에서의 복수의 응용 인터페이스 동시 제공 방법및 장치
KR100879910B1 (ko) * 2008-09-09 2009-01-22 주식회사 스마트카드연구소 Scws를 이용한 서블릿 서비스 제공 시스템 및 제공 방법
KR100879909B1 (ko) * 2008-09-09 2009-01-22 주식회사 스마트카드연구소 Scws를 이용한 애플릿 서비스 제공 시스템 및 제공 방법
KR100890251B1 (ko) * 2008-10-01 2009-03-24 주식회사 스마트카드연구소 애플릿 패치 시스템 및 애플릿 패치 방법
KR101592461B1 (ko) * 2014-01-02 2016-02-11 주식회사 한국스마트카드 Ic카드상품 백업방법, 발급방법 및 이를 위한 장치
KR20160057732A (ko) * 2014-11-14 2016-05-24 주식회사 한국스마트카드 데이터 무손실을 보장하는 스마트카드 개방형 애플릿 갱신 방법
KR102495672B1 (ko) * 2017-09-20 2023-02-03 삼성전자주식회사 모바일 카드의 백업 및 재설치를 지원하는 전자 장치

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101505763B1 (ko) * 2010-12-06 2015-03-24 제말토 에스에이 자바 카드 애플리케이션의 데이터를 내보내고 가져오기 위한 방법
US9037193B2 (en) 2010-12-06 2015-05-19 Gemalto Sa Method for switching between a first and a second logical UICCS comprised in a same physical UICC
US9294919B2 (en) 2010-12-06 2016-03-22 Gemalto Sa Method for exporting on a secure server data comprised on a UICC comprised in a terminal
US9301145B2 (en) 2010-12-06 2016-03-29 Gemalto Sa UICCs embedded in terminals or removable therefrom
US9326146B2 (en) 2010-12-06 2016-04-26 Gemalto Inc. Method for downloading a subscription in an UICC embedded in a terminal
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
US9462475B2 (en) 2010-12-06 2016-10-04 Gemalto Sa UICCs embedded in terminals or removable therefrom
US9532223B2 (en) 2010-12-06 2016-12-27 Gemalto Sa Method for downloading a subscription from an operator to a UICC embedded in a terminal
US9690950B2 (en) 2010-12-06 2017-06-27 Gemalto Sa Method for exporting data of a Javacard application stored in a UICC to a host
US9760726B2 (en) 2010-12-06 2017-09-12 Gemalto Sa Method for remotely delivering a full subscription profile to a UICC over IP
US9817993B2 (en) 2010-12-06 2017-11-14 Gemalto Sa UICCs embedded in terminals or removable therefrom
US9946888B2 (en) 2010-12-06 2018-04-17 Gemalto Sa System for managing multiple subscriptions in a UICC
US10242210B2 (en) 2010-12-06 2019-03-26 Gemalto Sa Method for managing content on a secure element connected to an equipment

Also Published As

Publication number Publication date
KR20040079166A (ko) 2004-09-14

Similar Documents

Publication Publication Date Title
KR100489783B1 (ko) 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법
CN110572436B (zh) 多地跨集群的服务器部署方法及系统
US8392906B2 (en) Enabling parallel websphere runtime versions
EP3214545A1 (en) Embedded device and program updating method
US8418169B2 (en) Management method for managing software module and information processor
KR101143112B1 (ko) 페일세이프 방식으로 맞춤 소프트웨어 영상 갱신을불휘발성 저장 장치에 적용하는 시스템 및 방법
CN100399268C (zh) 一种不依赖操作系统更新软件数据的计算机系统及方法
CN107273148B (zh) 数据的更新驱动迁移
JPH10283189A (ja) 内蔵実行可能アプリケーション及びコンピュータ読み取り可能な記憶媒体並びに内蔵実行可能アプリケーションの作成方法及びその作成システム
CN106250124B (zh) 功能模块跨平台运行的实现方法和装置
KR20000052759A (ko) 마이크로컨트롤러를 이용한 고급 프로그래밍 언어 사용
KR20050087727A (ko) 코드 재기입
US20020093856A1 (en) File language verification
JP2006518499A (ja) 装置にロードするためのプログラムデータの順序付け
WO2021022713A1 (zh) 分布式的模块升级方法、装置及存储介质
CN110399159A (zh) 操作系统的部署方法、装置、计算机设备和存储介质
KR20180101545A (ko) 보안 요소에서의 객체들을 관리하기 위한 방법
CN115185550A (zh) 服务部署方法、装置、计算机设备及存储介质
CN110989986A (zh) 基于软件模板的软件生成方法、装置和计算机设备
US20070079279A1 (en) Embedded device with software registry
Boyer et al. A robust reconfiguration protocol for the dynamic update of component‐based software systems
CN110795113B (zh) 一种Redis集群服务的安装方法、服务器和介质
Moebius et al. Model-driven code generation for secure smart card applications
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
EP4307142A1 (en) Update agent for multiple operating systems in a secure element

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100608

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee