KR20100137354A - 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치 - Google Patents

가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치 Download PDF

Info

Publication number
KR20100137354A
KR20100137354A KR1020100034456A KR20100034456A KR20100137354A KR 20100137354 A KR20100137354 A KR 20100137354A KR 1020100034456 A KR1020100034456 A KR 1020100034456A KR 20100034456 A KR20100034456 A KR 20100034456A KR 20100137354 A KR20100137354 A KR 20100137354A
Authority
KR
South Korea
Prior art keywords
virtual terminal
smart card
data processing
application
data
Prior art date
Application number
KR1020100034456A
Other languages
English (en)
Inventor
김현승
Original Assignee
(주)한국기술비젼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)한국기술비젼 filed Critical (주)한국기술비젼
Priority to KR1020100034456A priority Critical patent/KR20100137354A/ko
Publication of KR20100137354A publication Critical patent/KR20100137354A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

가상화 스마트 카드 시스템, 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치가 개시된다. 상기 가상화 스마트 카드 시스템은 데이터 프로세싱 장치에 저장되며, 소프트웨어로 구현되어 스마트 카드기능을 수행할 수 있는 적어도 하나의 버추얼 터미널, 상기 데이터 프로세싱 장치에 저장된 상기 적어도 하나의 버추얼 터미널을 로딩하기 위한 버추얼 터미널 매니저 및 상기 데이터 프로세싱 장치의 운영체제에 설치되어 상기 데이터 프로세싱 장치와 상기 적어도 하나의 버추얼 터미널과 통신을 수행하는 버추얼 터미널 드라이버를 포함하며, 로딩된 상기 버추얼 터미널은 스마트 카드 장치로 인식된다.

Description

가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치{System for vitualized smart card, method for providing the system, and data processing apparatus}
본 발명은 스마트 카드 기능을 수행할 수 있는 소프트웨어에 관한 것으로, 보다 상세하게는 장치(device)에 독립적이며 보안성과 사용의 동시성을 제공할 수 있는 가상화된 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 이를 포함하는 데이터 프로세싱 장치에 관한 것이다.
스마트 카드는 데이터의 저장, 스마트 카드 고유의 기능 또는 펑션(function, 예컨대, 결제기능, 인증기능, 금융기능 등), 및 보안기능을 가지고 있으며, 교통카드, 전자화폐, 신용카드 등 사회 전반에 걸쳐 다양하게 사용되고 있다.
상기 스마트 카드는 IC 칩과 별도의 플라스틱 내지는 기타 부재와 결합되어 하나의 장치로서 사용되고 있다. 이러한 스마트 카드의 설계 및 제작은 비교적으로 고가의 비용이 소요된다. 이를 위해 선행기술(한국등록특허 10-0720374)에서는 USB 장치를 이용하여 소프트 스마트 카드 시스템을 구현하는 기술적 사상을 제공한다. 하지만, 종래의 스마트 카드 및 선행기술에 개시된 스마트 카드(또는 시스템)에서는 반드시 스마트 카드를 구비하여야만 그 기능을 할 수 있으며, 동시에 다른 장소에서 같이 사용할 수 없다. 예컨대, 공인인증 기능을 갖는 스마트 카드가 존재한다면, 사용자는 반드시 상기 스마트 카드를 구비하여야만 상기 공인인증 기능을 이용할 수 있으므로, 스마트 카드는 사용의 동시성이 존재하지 않는다.
또한, 스마트 카드는 상기 스마트 카드가 사용되는 호스트 장치 또는 리더 등과는 별도의 하드웨어를 갖는 장치로 구현되어서, 스마트 카드와 호스트 장치 또는 리더와의 통신에 대한 인터럽트 공격, 전자파 분석과 같은 하드웨어적 공격에 취약한 약점이 있다.
따라서, 디바이스(device)에 디펜던트(dependent) 하지 않은 순수한 소프트웨어적으로 스마트 카드를 구현함으로써, 하드웨어적 공격에 안전하면서도 이중의 보안성을 제공하고, 동시성과 이식성 및 호환성을 갖는 가상화된 스마트 카드 시스템이 요구된다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 소프트웨어적으로 스마트 카드 장치를 제공하고, 하드웨어에 독립적으로 구동이 가능하여 동시성과 이식성을 가지면서도 보안성을 높일 수 있는 스마트 카드 시스템을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 가상화 스마트 카드 시스템은 데이터 프로세싱 장치에 저장되며, 소프트웨어로 구현되어 스마트 카드기능을 수행할 수 있는 적어도 하나의 버추얼 터미널, 상기 데이터 프로세싱 장치에 저장된 상기 적어도 하나의 버추얼 터미널을 로딩하기 위한 버추얼 터미널 매니저 및 상기 데이터 프로세싱 장치의 운영체제에 설치되어 상기 데이터 프로세싱 장치와 상기 적어도 하나의 버추얼 터미널과 통신을 수행하는 버추얼 터미널 드라이버를 포함하며, 로딩된 상기 버추얼 터미널은 스마트 카드 장치로 인식된다.
상기 버추얼 터미널은 상기 스마트 카드기능을 수행하는 적어도 하나의 애플리케이션을 포함하는 애플리케이션 모듈, 상기 애플리케이션 모듈에 포함된 상기 적어도 하나의 애플리케이션을 상기 데이터 프로세싱 장치의 메모리 상에 로딩하기 위한 프로그램 로더 및 로딩된 상기 적어도 하나의 애플리케이션에 의해 접근되는 데이터가 저장된 파일 시스템을 포함할 수 있다.
상기 버추얼 터미널은 로딩된 상기 적어도 하나의 애플리케이션에 의해 상기 파일 시스템으로 출력되는 데이터를 암호화하고, 상기 파일 시스템으로부터 상기 적어도 하나의 애플리케이션으로 출력되는 데이터를 복호화하기 위한 보안 모듈을 더 포함할 수 있다.
상기 적어도 하나의 버추얼 터미널과 통신을 수행하는 버추얼 터미널 드라이버는, APDU(application protocol data unit)를 통하여 통신을 수행하는 것을 특징으로 할 수 있다.
상기 버추얼 터미널 매니저는 상기 데이터 프로세싱 장치에 저장된 버추얼 터미널이 존재하지 않거나 사용자의 버추얼 터미널 생성요청이 있는 경우, 사용자로부터 스마트 카드기능을 수행할 적어도 하나의 애플리케이션의 선택정보 또는 상기 버추얼 터미널의 용량정보 중 적어도 하나를 입력받고, 입력받은 상기 선택정보 또는 상기 용량정보 중 적어도 하나에 상응하는 버추얼 터미널을 생성하는 것을 특징으로 할 수 있다.
상기 버추얼 터미널은 소정의 기법으로 암호화된 파일일 수 있다.
상기 버추얼 터미널 매니저는 소정의 사용자 인증 또는 프로세스 인증을 수행하며, 인증이 성공한 경우 상기 버추얼 터미널을 로딩하거나 상기 버추얼 터미널에 접근하도록 제어하는 것을 특징으로 할 수 있다.
상기 기술적 과제를 달성하기 위한 가상화 스마트 카드 시스템 제공방법은 데이터 프로세싱 장치에 설치된 버추얼 터미널 매니저가 실행되는 단계 및 상기 버추얼 터미널 매니저가 상기 데이터 프로세싱 장치에 저장된 적어도 하나의 버추얼 터미널 중 어느 하나의 버추얼 터미널이 자동으로 로딩하거나 사용자로부터 선택된 버추얼 터미널을 로딩하는 단계를 포함하며, 로딩된 상기 버추얼 터미널은 스마트 카드 장치로 인식될 수 있다.
상기 버추얼 터미널 매니저가 상기 데이터 프로세싱 장치에 저장된 적어도 하나의 버추얼 터미널 중 어느 하나의 버추얼 터미널이 자동으로 로딩하거나 사용자로부터 선택된 버추얼 터미널을 로딩하는 단계는, 상기 버추얼 터미널 매니저가 사용자로부터 스마트 카드기능을 수행할 적어도 하나의 애플리케이션의 선택정보 또는 상기 버추얼 터미널의 용량정보 중 적어도 하나를 입력받는 단계, 입력받은 상기 선택정보 또는 상기 용량정보 중 적어도 하나에 상응하는 버추얼 터미널을 생성하는 단계 및 생성된 상기 버추얼 터미널을 로딩하는 단계를 포함하는 것을 특징으로 할 수 있다.
상기 가상화 스마트 카드 시스템 제공방법은 사용자 인증과정 또는 프로세스 인증과정 중 적어도 하나를 수행하는 단계를 더 포함하며, 수행된 인증이 성공되는 경우, 상기 선택된 버추얼 터미널을 로딩하는 것을 특징으로 할 수 있다.
상기 가상화 스마트 카드 시스템 제공방법은 상기 데이터 프로세싱 장치가 버추얼 터미널 드라이버로 리퀘스트(request)를 전송하는 단계, 상기 버추얼 터미널 드라이버가 상기 리퀘스트를 상기 버추얼 터미널 매니저를 통하여 상기 버추얼 터미널로 전송하는 단계, 상기 버추얼 터미널에 포함된 상기 리퀘스트에 상응하는 애플리케이션이 로딩되거나 상기 버추얼 터미널 매니저에 의해 자동으로 로딩된 애플리케이션이 상기 버추얼 터미널에 포함된 파일 시스템으로부터 상기 리퀘스트에 상응하는 데이터를 획득하는 단계, 획득된 상기 데이터를 상기 버추얼 터미널 매니저를 통해 상기 버추얼 터미널 드라이버로 전송하는 단계, 및 전송된 상기 데이터가 상기 데이터 프로세싱 장치로 출력되는 단계를 포함할 수 있다.
상기 버추얼 터미널과 상기 버추얼 터미널 드라이버와의 통신은 APDU를 통해 수행되는 것을 특징으로 할 수 있다.
상기 로딩된 애플리케이션이 상기 버추얼 터미널에 포함된 파일 시스템으로부터 상기 리퀘스트에 상응하는 데이터를 획득하는 단계는 상기 파일 시스템이 상기 리퀘스트에 상응하는 암호화된 데이터를 추출하는 단계, 추출된 상기 암호화된 데이터가 상기 버추얼 터미널에 포함된 보안 모듈로 출력되는 단계, 및 출력된 상기 암호화된 데이터가 상기 보안모듈에 의해 복호화된 후, 복호화된 상기 데이터가 상기 애플리케이션으로 출력되는 단계를 포함할 수 있다. 상기 가상화 스마트 카드 시스템 제공방법은 프로그램을 기록한 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
본 발명에 따른 가상화 스마트 카드 시스템, 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치에 의하면, 스마트 카드의 하드웨어적인 제약사항이 없으면서도 독립적인 프로세싱과 데이터 통신이 가능하다. 또한, 소프트웨어적으로 구현되므로 하드웨어적으로 구현하는데에 비해 비용이 절감되는 효과가 있으며, 별도의 하드웨어적인 인터페이스와 단말기 또는 카드를 구현하지 않아도 되는 장점이 있다.
또한, 소프트웨어의 형태로 동작하므로, 전자파 분석이나, 통신에 대한 인터럽트 공격, 데이터 변조나 입력 등과 같은 하드웨어적 공격에 안전적인 효과가 있으며, 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템이 설치 가능한 모든 데이터 프로세싱 장치에 적용 가능하다. 즉, 스마트 카드 리더나 스마트 카드를 인터페이스할 수 있는 장치가 없는 모든 시스템에서도 사용이 가능하다.
또한, 스마트 카드 기능의 처리 속도가 가상화 스마트 카드 시스템이 설치된 데이터 프로세싱 장치의 연산 처리속도에 의존하므로, 기존 독립 칩 기반의 저속 스마트 카드에 비해 처리 속도가 향상될 수 있는 효과가 있다.
또한, 버추얼 터미널이라는 인스턴스가 데이터 프로세싱 장치의 OS와는 완전히 분리되어 있고, 암호학적으로 보호될 수 있어서 데이터에 대한 보장이 확보되며, 동시에 여러 개의 버추얼 터미널 인스턴스를 로딩할 수 있으므로, 데이터 프로세싱 장치에 구비되는 인터페이싱 장치의 개수에 관계 없이 여러 개의 스마트 카드를 동시에 처리할 수 있는 효과가 있다.
또한, 하드웨어에 독립적이므로, 동시에 하나의 스마트카드를 여러 군데에 설치하여두고 사용할 수 있으므로 사용의 동시성이 제공될 수 있는 효과가 있다.
또한, 암호화된 버추얼 터미널 인스턴스를 이동형 장치에 저장하여 이동성을 제공하며, 필요한 컴퓨터 등의 데이터 프로세싱 장치에 연결하여 이동형 장치에 저장된 버추얼 터미널 인스턴스를 설치할 수 있어서 이식성 및 호환성을 제공할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템이 설치된 데이터 프로세싱 장치의 일 예를 나타낸다.
도 2는 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템을 위한 버추얼 터미널의 일 예를 나타낸다.
도 3은 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템의 보안기법을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템에서 버추얼 터미널이 로딩되는 과정을 설명하기 위한 플로우 챠트이다.
도 5는 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템의 데이터 흐름을 설명하기 위한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1구성요소는 제2구성요소로 명명될 수 있고, 유사하게 제2구성요소는 제1구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템이 설치된 데이터 프로세싱 장치의 일 예를 나타낸다.
도 1을 참조하면, 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템은 버추얼 터미널 드라이버(110), 버추얼 터미널 매니저(120), 및 적어도 하나의 버추얼 터미널(130, 130-1)을 포함한다. 상기 데이터 프로세싱 장치(100)는 본 발명의 기술적 사상을 구현하기 위해 상기 가상화 스마트 카드 시스템이 설치될 수 있으며, 소정의 운영체제(OS, Operating System)을 구동시킬 수 있는 모든 종류의 장치를 포함하는 의미로 사용될 수 있다. 예컨대, 상기 데이터 프로세싱 장치(100)는 컴퓨터, 모바일 단말기, IPTV, 셋탑박스, 캠코더, 카메라 등과 같이 데이터 프로세싱을 위한 소정의 프로세서를 포함하는 모든 사용자 장치를 포함할 수 있다.
상기 버추얼 터미널 드라이버(110)는 상기 데이터 프로세싱 장치(100) 고유의 OS(150)에 설치되어 상기 버추얼 터미널 매니저(120) 및/또는 상기 버추얼 터미널(예컨대, VT1, 130)을 상기 데이터 프로세싱 장치(100)와는 독립적인 장치로 인식하도록 한다. 또한, 상기 버추얼 터미널 드라이버(110)는 상기 버추얼 터미널 매니저(120)와 데이터 통신을 통해 상기 버추얼 터미널(130, 130-1)과 필요한 소정의 정보를 송수신할 수 있다. 즉, 상기 버추얼 터미널(130)은 상기 데이터 프로세싱 장치(100)와는 독립적인 장치로 인식되므로, 상기 버추얼 터미널 드라이버(110)는 반드시 데이터 통신을 통해 상기 버추얼 터미널(130)에 억세스 할 수 있으며, 일반적인 상기 OS(150)의 콜이나 메시지 요청으로는 접근할 수 없는 것이 바람직하다. 또한, 상기 버추얼 터미널 드라이버(110)는 상기 버추얼 터미널 매니저(120)를 통해 상기 버추얼 터미널(130)과 데이터 통신을 수행하는데, 이때 상기 데이터 통신은 APDU(application protocol data unit)를 통해 수행될 수 있다. APDU는 응용 계층에서 대등한 응용 실체 간에 주고받는 데이터의 단위로 응용 프로토콜 제어 정보와 응용 계층 사용자 데이터를 포함하는 데이터 통신 프로토콜의 일종을 의미할 수 있으며, 자체적으로 통신되는 데이터의 암호화 및 복호화에 대한 정의를 가지고 있다. 따라서, 상기 APDU를 통해 데이터 통신에서의 보안성을 제공할 수 있는 효과가 있다.
상기 버추얼 터미널 매니저(120)는 상기 버추얼 터미널(130)을 소프트웨어적으로 로딩할 수 있으며, 상기 버추얼 터미널 드라이버(110)와 통신을 수행할 수 있다. 소프트웨어적으로 로딩된다고 함은, 물리적인 장치의 접속 또는 접촉에 의해 로딩되는 것이 아니라, 소정의 UI를 통해 사용자가 상기 버추얼 터미널(130)의 로딩을 위한 요청을 수신하고, 그에 응답하여 상기 버추얼 터미널(130)을 로딩하는 것을 의미하거나 상기 OS(150)의 비사용자 프로세스에 의해 상기 버추얼 터미널(130)이 로딩되는 경우를 의미할 수 있다. 상기 버추얼 터미널 매니저(120)는 로딩된 상기 버추얼 터미널(130)을 상기 OS(150)에 의해 동작 또는 운영되는 어떠한 소프트웨어 또는 프로세스도 소프트웨어적인 영향을 줄 수 없도록 차단하는 기능을 수행할 수 있다. 즉, 상기 버추얼 터미널 매니저(120)는 상기 데이터 프로세싱 장치(100)에 포함된 프로세서(예컨대, CPU)나 메모리 등과 같은 하드웨어의 인터럽트 또는 리소스(resource) 분배 등의 하드웨어적인 영향을 제외한 상기 OS(150)에서 구동되는 애플리케이션 및/또는 프로세스의 직접적인 접근을 차단할 수 있다. 사용자는 상기 버추얼 터미널 매니저(120)를 실행할 수 있으며, 실행된 상기 버추얼 터미널 매니저(120)에서 제공되는 소정의 UI를 통해 상기 데이터 프로세싱 장치(100)에 저장된 적어도 하나의 버추얼 터미널(130, 130-1 등) 중 로딩할 버추얼 터미널(예컨대, 130)을 선택할 수 있다. 물론, 도 1에 도시된 바와 같이 복수의 버추얼 터미널(130, 130-1)을 로딩할 수도 있다. 따라서, 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템에 의하면, 스마트 카드를 인식할 수 있는 인터페이싱 장치의 숫자에 제약을 받지 않고 동시에 여러 스마트 카드를 사용할 수 있는 효과가 있다.
또한, 상기 버추얼 터미널 매니저(120)는 복수의 버추얼 터미널(예컨대, 130, 130-1)을 로딩하는 경우, 각각의 버추얼 터미널에 대한 로딩 및 데이터 접근을 위한 제어를 독립적으로 수행할 수 있다.
한편, 상기 버추얼 터미널(130)은 종래의 스마트 카드기능을 수행하며, 상기 데이터 프로세싱 장치(100)에 저장된 적어도 하나의 파일로 구현된 가상화된 스마트카드 장치를 의미할 수 있다. 예컨대, 상기 버추얼 터미널(130)은 후술할 스마트 카드기능(즉, 데이터의 저장, 스마트 카드의 고유한 펑션, 및 보안기능)을 위한 소정의 모듈 및/또는 펑션을 수행할 코드의 단위들이 패키징 되어 하나의 패키징 된 파일(예컨대, 1.vts, 2.vts 등)로 구현될 수 있다. 상기 버추얼 터미널(130)은 상기 버추얼 터미널 매니저(120)에 의해 구동되며, 자체적인 OS를 포함할 수 있다. 또한, 상기 버추얼 터미널(130)은 ISO 7816-4에 정의된 스마트 카드의 기능 및, 시스템간의 통신을 위한 기본 명령어의 표준을 준수하도록 구현될 수 있다.
도 2는 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템을 위한 버추얼 터미널의 일 예를 나타낸다.
도 2를 참조하면, 상기 버추얼 터미널(130)은 프로그램 로더(131), 애플리케이션 모듈(132), 및 파일 시스템(134)을 포함한다. 상기 버추얼 터미널(130)은 보안모듈(Security module, 133)을 더 포함할 수 있다.
상기 프로그램 로더(131)는 상기 버추얼 터미널(130)의 OS 역할을 수행하며, 상기 데이터 프로세싱 장치(100)와 데이터 통신을 통해 수신되는 소정의 요청(리퀘스트)에 상응하는 애플리케이션을 상기 데이터 프로세싱 장치(100)의 메모리 상에 로딩하는 기능을 수행할 수 있다. 상기 애플리케이션은 상기 애플리케이션 모듈(132)에 포함된 애플리케이션 중 어느 하나일 수 있다. 상기 프로그램 로더(131)는 상기 버추얼 터미널(130)이 상기 버추얼 터미널 매니저(120)에 의해 로딩될 때, 스마트 카드의 정의에 의해 요구되는 ISO 7816-3에 정의된 운용절차를 준수하며, 기능적으로 요구되는 소프트웨어, 데이터, 및 파일시스템의 처리절차를 준수할 수 있다.
상기 애플리케이션 모듈(132)은 상기 버추얼 터미널(130)의 스마트 카드기능을 수행하기 위한 적어도 하나의 애플리케이션을 포함할 수 있다. 상기 스마트 카드기능은 예컨대, 공인인증 기능, 사용자 인증기능, 결제기능 등 구현 예에 따라 다양한 기능이 포함될 수 있으며, 상기 애플리케이션 모듈(132)에 포함된 각각의 애플리케이션은 상기 기능들 각각을 수행할 수 있다.
상기 파일 시스템(134)은 상기 버추얼 터미널(130) 고유의 파일 시스템 구조를 가지도록 정의될 수 있으며, 상기 OS(150)에서 구동되는 애플리케이션 또는 프로세스는 상기 버추얼 터미널 드라이버(110)를 통한 데이터 통신 이외에는 상기 파일 시스템(134)에 접근할 수 없다. 또한, 상기 파일 시스템(134)은 상기 프로그램 로더(131)에 의해 로딩된 애플리케이션에 의해 접근될 수 있다. 상기 파일 시스템(134)은 소정의 암호화 기법에 의해 자체적으로 암호화된 시스템일 수 있다. 이러한 암호화는 상기 보안 모듈(133)에 의해 제공된다.
또한, 상기 버추얼 터미널(130)은 보안성을 제공하기 위한 소정의 보안 모듈(133)을 포함할 수 있다. 상기 보안 모듈(133)은 상기 프로그램 로더(131)에 의해 로딩된 상기 애플리케이션에 의해 상기 파일 시스템(134)으로 출력되는 데이터를 암호화하고, 상기 파일 시스템(134)으로부터 상기 적어도 하나의 애플리케이션으로 출력되는 데이터를 복호화할 수 있다.
도 3은 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템의 보안기법을 설명하기 위한 도면이다.
도 3을 참조하면, 상기 버추얼 터미널(130)은 상기 버추얼 터미널 매니저(120)를 통해 상기 버추얼 터미널 드라이버(110)와 통신을 수행하는데, 이때에는 전술한 바와 같이 APDU를 이용하여 APDU에 정의된 암복호화 프로토콜을 이용하여 보안성을 제공할 수 있다. 한편, 상기 버추얼 터미널(130)은 그 자체로 암호화되어 제공될 수 있는데, 이에 대해서는 후술하며 상기 버추얼 터미널 매니저(120)는 암호화된 상기 버추얼 터미널(130)을 소정의 사용자 인증 또는 프로세스 인증을 통하여 접근하도록 할 수 있다. 또한, 접근이 인증되는 경우에, 상기 버추얼 터미널 드라이버(110)로부터 출력된 리퀘스트에 상응하는 애플리케이션이 상기 데이터 프로세싱 장치(100)의 메모리 상에 로딩되며, 로딩된 애플리케이션은 상기 버추얼 터미널(130)의 파일 시스템(134)에 접근할 수 있다. 이때 상기 애플리케이션과 상기 파일 시스템(134)은 상기 보안 모듈(133)이 제공하는 소정의 암호화 프로토콜에 의해 상기 리퀘스트에 상응하는 데이터를 송수신하게 된다. 상기 보안 모듈(133)에 의해 제공되는 암호화 기법은 구현 예에 따라 다양할 수 있다. 예컨대, 상기 보안 모듈(133)은 RSA, DSA, AES, TDES, MD5, MD4, 또는 SHA-1 등의 암호화 알고리즘 중 적어도 하나에 의해 암복호화 기능을 제공할 수 있다.
한편, 상기 버추얼 터미널(130)은 상기 프로그램 로더(131), 상기 애플리케이션 모듈(132), 상기 보안 모듈(133), 및/또는 상기 파일 시스템(134)이 패키징 된 하나의 파일(예컨대, 1.vts, 2.vts 등)로 구현될 수 있으며, 상기 파일은 전술한 바와 같이 별도로 암호화되어 제공될 수 있다. 상기 버추얼 터미널(130)의 암호화는 상기 버추얼 터미널 매니저(120)에 의해 상기 버추얼 터미널(130)이 생성될 때 수행될 수 있으며, 상기 버추얼 터미널 매니저(120)는 소정의 사용자 인증 또는 프로세스 인증이 성공되는 경우에만, 상기 버추얼 터미널(130)로의 접근을 가능토록 하거나 상기 버추얼 터미널(130)이 로딩되도록 제어할 수 있다. 상기 사용자 인증이라 함은, 소정의 아이디(Id), 패스워드(pswd)를 통한 사용자의 인증, 또는 소정의 인증서를 통한 사용자의 인증, 공개키를 이용한 인증 및/또는 소정의 PIN 정보를 이용한 사용자의 인증 중 적어도 하나를 통해 수행되는 사용자의 인증을 의미할 수 있으며, 프로세스 인증이라 함은, 상기 OS(150)로부터 상기 버추얼 터미널(130)로 접근하고자 하는 프로세스의 ID 또는 코드넘버 등에 의한 인증을 의미할 수 있다. 따라서, 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템에 의하면, 버추얼 터미널(130) 자체의 암호화 및 상기 버추얼 터미널(130)에 포함된 보안 모듈(133)에 의한 상기 파일 시스템(134)의 암호화가 각각 제공되어 이중의 보안성을 제공하여, 뛰어난 보안성을 제공할 수 있는 효과가 있다.
상기 버추얼 터미널(130)은 상기 데이터 프로세싱 장치(100)에 유/무선 네트워크를 통하여 다운로드 되거나, 상기 데이터 프로세싱 장치(100)에 연결될 수 있는 소정의 외장형 장치(예컨대, 외장형 메모리, 모바일 단말기 등)로부터 전송되어 상기 데이터 프로세싱 장치(100)에 저장될 수 있다. 또한, 상기 데이터 프로세싱 장치(100)에 저장된 버추얼 터미널(130)이 없거나, 있어도 사용자의 필요에 의한 경우, 상기 버추얼 터미널(130)은 상기 버추얼 터미널 매니저(120)에 의해 생성될 수도 있다.
도 4는 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템에서 버추얼 터미널이 로딩되는 과정을 설명하기 위한 플로우 챠트이다.
도 4를 참조하면, 사용자는 상기 버추얼 터미널 매니저(120)를 실행하고(S10), 로딩할 버추얼 터미널(예컨대, 130, 130-1 등)을 선택할 수 있는 소정의 UI를 상기 버추얼 터미널 매니저(120)로부터 제공받을 수 있다. 사용자는 상기 UI를 통해 로딩하고자 하는 버추얼 터미널을 선택할 수 있으며(S30), 선택된 버추얼 터미널은 로딩될 수 있다(S60). 만약 상기 데이터 프로세싱 장치(100)에 저장되어 있는 버추얼 터미널이 없거나 사용자가 새로운 스마트 카드를 위한 버추얼 터미널을 생성하고자 하는 경우(S20), 사용자는 상기 버추얼 터미널 매니저(120)가 제공하는 소정의 인터페이스를 선택함으로써 사용자는 새로운 버추얼 터미널을 생성할 수도 있다.
이때, 상기 버추얼 터미널 매니저(120)는 소정의 인터페이스를 통하여 사용자가 새롭게 생성하려는 버추얼 터미널 즉, 스마트 카드의 기능(예컨대, 공인인증, 결제, 사용자 인증 등)을 정의하도록 할 수 있다(S40). 사용자는 상기 버추얼 터미널 매니저(120)가 제공하는 기능들 중 어느 하나를 선택할 수 있으며, 선택된 기능 각각에 대응되는 애플리케이션이 상기 애플리케이션 모듈(132)에 포함될 수 있다. 또한, 상기 버추얼 터미널 매니저(120)는 소정의 인터페이스를 통하여 사용자가 생성하려는 버추얼 터미널 즉, 스마트 카드의 용량을 설정하도록 할 수 있다(S40). 사용자는 미리 결정된 스마트 카드의 용량 중 적어도 하나를 선택하거나, 직접 입력을 통해 생성하고자 하는 버추얼 터미널의 용량을 결정할 수 있다. 그러면, 결정된 용량에 따라 상기 파일 시스템(134)의 용량이 결정될 수 있다. 그러면, 상기 버추얼 터미널 매니저(120)는 설정된 애플리케이션 및 설정된 용량정보에 상응하도록 버추얼 터미널을 생성할 수 있다(S50). 즉, 버추얼 터미널(130)에 포함되는 프로그램 로더(131) 및 보안 모듈(133)은 디폴트(default)로 결정되며, 상기 애플리케이션 모듈(132) 및 상기 파일 시스템(134)은 사용자의 선택에 의해 다르게 설정될 수 있다. 생성된 상기 버추얼 터미널은 상기 버추얼 터미널 매니저(120)에 의해 로딩될 수 있다(S60).
도 5는 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템의 데이터 흐름을 설명하기 위한 도면이다.
도 5를 참조하여 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템의 구동방법을 설명하면, 먼저 데이터 프로세싱 장치(100)의 OS(150)에 설치된 버추얼 터미널 드라이버(110)는 상기 OS(150)의 구동시에 같이 구동될 수 있다. 또한, 상기 버추얼 터미널 매니저(120) 역시 사용자에 의해 실행되거나 비사용자 프로세스에 의해 실행될 수 있다. 실행된 버추얼 터미널 매니저(120)는 미리 저장된 설정에 맞는 버추얼 터미널을 자동으로 로딩하거나, 사용자의 선택에 의해 선택되는 버추얼 터미널을 로딩할 수 있다. 이때, 상기 버추얼 터미널 매니저(120)는 사용자 인증을 수행하거나, 비사용자 프로세스에 의해 상기 버추얼 터미널 매니저(120)가 실행되는 경우에는 프로세스 인증을 수행할 수 있다(S100). 복수의 버추얼 터미널이 로딩되는 경우에는 각각의 버추얼 터미널별로 인증절차가 요구될 수도 있다. 인증이 실패한 경우는, 상기 버추얼 터미널의 로딩 및 접근이 실패될 수 있다. 인증이 성공한 경우, 상기 버추얼 터미널 매니저(120)는 버추얼 터미널을 로딩할 수 있다(S11). 로딩된 버추얼 터미널의 프로그램 로더(131)는 애플리케이션 모듈(132)에 포함된 소정의 애플리케이션을 자동으로 메모리 상에 로딩하거나(S130), 상기 OS(150)로부터 소정의 리퀘스트가 출력된 경우(S120), 출력된 리퀘스트에 상응하는 애플리케이션이 로딩될 수 있다(S130). 상기 리퀘스트는 APDU를 이용한 리퀘스트일 수 있으며, 상기 OS(150)상에서 구동되는 소정의 프로세스로부터 상기 버추얼 터미널 드라이버(110)로 출력될 수 있다. 그러면, 상기 버추얼 터미널 드라이버(110)는 상기 버추얼 터미널 매니저(120) 및 상기 버추얼 터미널의 통신 가용성을 점검한 후 상기 버추얼 터미널 매니저(120)를 통해 상기 버추얼 터미널로 상기 리퀘스트를 출력할 수 있다. 상기 리퀘스트가 상기 버추얼 터미널 매니저(120)로 수신되는 경우, 상기 버추얼 터미널 매니저(120)는 다시 소정의 사용자 인증 또는 프로세스 인증을 수행할 수도 있다. 로딩된 애플리케이션은 상기 리퀘스트에 상응하는 데이터를 획득하기 위해 상기 파일 시스템(134)에 접근할 수 있으며(S140), 이때는 전술한 바와 같이 상기 보안 모듈(133)이 제공하는 암호학적 접근방법에 의해 접근이 가능하다. 상기 애플리케이션이 상기 리퀘스트에 상응하는 데이터에 접근하여 데이터를 획득한 경우, 상기 애플리케이션은 상기 애플리케이션에 의해 규정된 대로 데이터를 처리할 수 있다(S150).
이처럼 본 발명의 실시 예에 따른 가상화 스마트 카드 시스템은 하드웨어에 의존적이지 않으므로, 서로 다른 복수의 장치에 동일한 스마트 카드 시스템이 설치되어 동시에 사용될 수도 있는 효과가 있다. 또한, 상기 버추얼 터미널에 포함된 애플리케이션이 로딩되면, 기존 OS(150)에서 구동되는 프로세스와 상기 애플리케이션을 수행하는 프로세스는 프로세스 간의 통신을 통해 스마트 카드기능을 수행하므로 별도의 스마트 카드 리더를 구비하지 않아도 되는 효과가 있다.
또한, APDU를 통한 보안, 버추얼 터미널 자체의 암호화를 통한 보안, 및 버추얼 터미널에 포함된 파일 시스템의 암호화를 제공함으로써, 복수의 단계를 거치는 암호학적 접근방법이 제공되어 뛰어난 보안성을 제공할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 가상화 스마트 카드 시스템 제공방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100; 데이터 프로세싱 장치
110; 버추얼 터미널 드라이버
120; 버추얼 터미널 매니저
130, 130-1; 버추얼 터미널
150; OS
131; 프로그램 로더
132; 애플리케이션 모듈
134; 파일 시스템
133; 보안모듈

Claims (15)

  1. 데이터 프로세싱 장치에 저장되며, 소프트웨어로 구현되어 스마트 카드기능을 수행할 수 있는 적어도 하나의 버추얼 터미널;
    상기 데이터 프로세싱 장치에 저장된 상기 적어도 하나의 버추얼 터미널을 로딩하기 위한 버추얼 터미널 매니저; 및
    상기 데이터 프로세싱 장치의 운영체제에 설치되어 상기 데이터 프로세싱 장치와 상기 적어도 하나의 버추얼 터미널과 통신을 수행하는 버추얼 터미널 드라이버를 포함하며,
    로딩된 상기 버추얼 터미널은 스마트 카드 장치로 인식되는 가상화 스마트 카드 시스템.
  2. 제 1항에 있어서, 상기 버추얼 터미널은,
    상기 스마트 카드기능을 수행하는 적어도 하나의 애플리케이션을 포함하는 애플리케이션 모듈;
    상기 애플리케이션 모듈에 포함된 상기 적어도 하나의 애플리케이션을 상기 데이터 프로세싱 장치의 메모리 상에 로딩하기 위한 프로그램 로더; 및
    로딩된 상기 적어도 하나의 애플리케이션에 의해 접근되는 데이터가 저장된 파일 시스템을 포함하는 가상화 스마트 카드 시스템.
  3. 제 2항에 있어서, 상기 버추얼 터미널은,
    로딩된 상기 적어도 하나의 애플리케이션에 의해 상기 파일 시스템으로 출력되는 데이터를 암호화하고, 상기 파일 시스템으로부터 상기 적어도 하나의 애플리케이션으로 출력되는 데이터를 복호화하기 위한 보안 모듈을 더 포함하는 가상화 스마트 카드 시스템.
  4. 제 1항에 있어서, 상기 적어도 하나의 버추얼 터미널과 통신을 수행하는 버추얼 터미널 드라이버는,
    APDU(application protocol data unit)를 통하여 통신을 수행하는 것을 특징으로 하는 가상화 스마트 카드 시스템.
  5. 제 1항에 있어서, 상기 버추얼 터미널 매니저는,
    상기 데이터 프로세싱 장치에 저장된 버추얼 터미널이 존재하지 않거나 사용자의 버추얼 터미널 생성요청이 있는 경우,
    사용자로부터 스마트 카드기능을 수행할 적어도 하나의 애플리케이션의 선택정보 또는 상기 버추얼 터미널의 용량정보 중 적어도 하나를 입력받고,
    입력받은 상기 선택정보 또는 상기 용량정보 중 적어도 하나에 상응하는 버추얼 터미널을 생성하는 것을 특징으로 하는 가상화 스마트 카드 시스템.
  6. 제 1항에 있어서, 상기 버추얼 터미널은,
    소정의 기법으로 암호화된 파일인 가상화 스마트 카드 시스템.
  7. 제 6항에 있어서, 상기 버추얼 터미널 매니저는,
    소정의 사용자 인증 또는 프로세스 인증을 수행하며, 인증이 성공한 경우 상기 버추얼 터미널을 로딩하거나 상기 버추얼 터미널에 접근하도록 제어하는 것을 특징으로 하는 가상화 스마트 카드 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 기재된 가상화 스마트 카드 시스템이 설치된 데이터 프로세싱 장치.
  9. 데이터 프로세싱 장치에 설치된 버추얼 터미널 매니저가 실행되는 단계; 및
    상기 버추얼 터미널 매니저가 상기 데이터 프로세싱 장치에 저장된 적어도 하나의 버추얼 터미널 중 어느 하나의 버추얼 터미널이 자동으로 로딩하거나 사용자로부터 선택된 버추얼 터미널을 로딩하는 단계를 포함하며,
    로딩된 상기 버추얼 터미널은 스마트 카드 장치로 인식되는 것을 특징으로 하는 가상화 스마트 카드 시스템 제공방법.
  10. 제9항에 있어서, 상기 버추얼 터미널 매니저가 상기 데이터 프로세싱 장치에 저장된 적어도 하나의 버추얼 터미널 중 어느 하나의 버추얼 터미널이 자동으로 로딩하거나 사용자로부터 선택된 버추얼 터미널을 로딩하는 단계는,
    상기 버추얼 터미널 매니저가 사용자로부터 스마트 카드기능을 수행할 적어도 하나의 애플리케이션의 선택정보 또는 상기 버추얼 터미널의 용량정보 중 적어도 하나를 입력받는 단계;
    입력받은 상기 선택정보 또는 상기 용량정보 중 적어도 하나에 상응하는 버추얼 터미널을 생성하는 단계; 및
    생성된 상기 버추얼 터미널을 로딩하는 단계를 포함하는 것을 특징으로 하는 가상화 스마트 카드 시스템 제공방법.
  11. 제 9항에 있어서, 상기 가상화 스마트 카드 시스템 제공방법은,
    사용자 인증과정 또는 프로세스 인증과정 중 적어도 하나를 수행하는 단계를 더 포함하며,
    수행된 인증이 성공되는 경우, 상기 선택된 버추얼 터미널을 로딩하는 것을 특징으로 하는 가상화 스마트 카드 시스템 제공방법.
  12. 제 11항에 있어서, 상기 가상화 스마트 카드 시스템 제공방법은,
    상기 데이터 프로세싱 장치가 버추얼 터미널 드라이버로 리퀘스트(request)를 전송하는 단계;
    상기 버추얼 터미널 드라이버가 상기 리퀘스트를 상기 버추얼 터미널 매니저를 통하여 상기 버추얼 터미널로 전송하는 단계;
    상기 버추얼 터미널에 포함된 상기 리퀘스트에 상응하는 애플리케이션이 로딩되거나 상기 버추얼 터미널 매니저에 의해 자동으로 로딩된 애플리케이션이 상기 버추얼 터미널에 포함된 파일 시스템으로부터 상기 리퀘스트에 상응하는 데이터를 획득하는 단계;
    획득된 상기 데이터를 상기 버추얼 터미널 매니저를 통해 상기 버추얼 터미널 드라이버로 전송하는 단계; 및
    전송된 상기 데이터가 상기 데이터 프로세싱 장치로 출력되는 단계를 포함하는 가상화 스마트 카드 시스템 제공방법.
  13. 제 12항에 있어서, 상기 버추얼 터미널과 상기 버추얼 터미널 드라이버와의 통신은 APDU를 통해 수행되는 것을 특징으로 하는 가상화 스마트 카드 시스템 제공방법.
  14. 제 12항에 있어서, 상기 로딩된 애플리케이션이 상기 버추얼 터미널에 포함된 파일 시스템으로부터 상기 리퀘스트에 상응하는 데이터를 획득하는 단계는,
    상기 파일 시스템이 상기 리퀘스트에 상응하는 암호화된 데이터를 추출하는 단계;
    추출된 상기 암호화된 데이터가 상기 버추얼 터미널에 포함된 보안 모듈로 출력되는 단계; 및
    출력된 상기 암호화된 데이터가 상기 보안모듈에 의해 복호화된 후, 복호화된 상기 데이터가 상기 애플리케이션으로 출력되는 단계를 포함하는 가상화 스마트 카드 시스템 제공방법.
  15. 제 9항 내지 제 14항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020100034456A 2010-04-14 2010-04-14 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치 KR20100137354A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100034456A KR20100137354A (ko) 2010-04-14 2010-04-14 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100034456A KR20100137354A (ko) 2010-04-14 2010-04-14 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020090055611 Division 2009-06-22

Publications (1)

Publication Number Publication Date
KR20100137354A true KR20100137354A (ko) 2010-12-30

Family

ID=43511122

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100034456A KR20100137354A (ko) 2010-04-14 2010-04-14 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치

Country Status (1)

Country Link
KR (1) KR20100137354A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246035B1 (ko) * 2011-06-28 2013-03-26 윤기수 앱신용카드를 이용한 상거래 시스템과 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101246035B1 (ko) * 2011-06-28 2013-03-26 윤기수 앱신용카드를 이용한 상거래 시스템과 방법

Similar Documents

Publication Publication Date Title
US8935746B2 (en) System with a trusted execution environment component executed on a secure element
TWI524275B (zh) 儲存裝置及操作一儲存裝置之方法
US7503064B2 (en) Framework for providing a security context and configurable firewall for computing systems
EP2443584B1 (en) Remote access control of storage devices
US9015848B2 (en) Method for virtualizing a personal working environment and device for the same
US20150172255A1 (en) Updating software on a secure element
KR102295960B1 (ko) 가상화 기반의 보안 서비스 제공 장치 및 제공 방법
US20110145592A1 (en) Virtual Token for Transparently Self-Installing Security Environment
TW200928740A (en) Intelligent controller system and method for smart card memory modules
US9977890B2 (en) Method and device for controlling access from the device to a card via a NFC interface
EP3224758B1 (en) Key derivation in smart card operating system
US10747885B2 (en) Technologies for pre-boot biometric authentication
US20190327093A1 (en) Cloud-implemented physical token based security
CN105678192A (zh) 一种基于智能卡的密钥应用方法及应用装置
KR20160081255A (ko) Otp 제공을 위한 모바일 단말 및 그 동작 방법
US20180260816A1 (en) Payment authentication method and apparatus for mobile terminal and mobile terminal
CN103823692B (zh) 一种计算机操作系统启动方法
KR102537788B1 (ko) 서버 및 이를 이용한 어플리케이션의 무결성 판단 방법
CN116868195A (zh) 数据处理方法及系统
JP6517435B2 (ja) アプリケーションを管理する方法
KR101630462B1 (ko) 키보드 보안 장치 및 방법
CN111783120A (zh) 一种数据的交互方法、计算设备、bmc芯片及电子设备
CN103699853B (zh) 一种智能sd卡及其控制系统及方法
KR20100137354A (ko) 가상화 스마트 카드 시스템, 상기 가상화 스마트 카드 시스템 제공방법, 및 데이터 프로세싱 장치
KR20220052007A (ko) 전자 장치 및 그 제어 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Withdrawal due to no request for examination