KR101663852B1 - 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법 - Google Patents

전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법 Download PDF

Info

Publication number
KR101663852B1
KR101663852B1 KR1020120017323A KR20120017323A KR101663852B1 KR 101663852 B1 KR101663852 B1 KR 101663852B1 KR 1020120017323 A KR1020120017323 A KR 1020120017323A KR 20120017323 A KR20120017323 A KR 20120017323A KR 101663852 B1 KR101663852 B1 KR 101663852B1
Authority
KR
South Korea
Prior art keywords
data unit
smart card
card
sam
command
Prior art date
Application number
KR1020120017323A
Other languages
English (en)
Other versions
KR20130095919A (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 KR1020120017323A priority Critical patent/KR101663852B1/ko
Publication of KR20130095919A publication Critical patent/KR20130095919A/ko
Application granted granted Critical
Publication of KR101663852B1 publication Critical patent/KR101663852B1/ko

Links

Images

Classifications

    • 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/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • 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
    • 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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 일실시예에 따른 스마트카드와 통신을 수행하는 단말은 스마트카드의 인증을 수행하고, 상기 스마트카드와의 전자 거래를 위하여 거래 내역 처리를 직접 수행하는 샘카드; 및 상기 인증 및 상기 거래 내역 처리를 위하여 상기 스마트카드 및 상기 샘카드 사이의 데이터 통신을 제어하는 제어부를 포함한다.

Description

전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법{DEVICE OF CONDUCTING ELECTRIC TRANSACTION USING SAM CARD DIRECTLY PERFORMING ELECTRIC TRANSACTION PROCESS AND METHOD THEREOF}
아래의 실시예들은 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법에 관한 것이다.
스마트카드와 통신을 수행하기 위하여 스마트카드 및 샘카드를 제어하는 단말 소프트웨어를 도 1을 참조하여 설명한다.
도 1을 참조하면, 일반적으로 스마트카드를 이용한 거래를 위하여 사용자의 스마트카드(120) 및 스마트카드와 통신하는 단말(110)이 요구된다. 단말은 거래 로직을 담당하는 단말 소프트웨어(111) 및 인증을 담당하는 샘카드(112)로 구성된다. 단말 소프트웨어(111)는 인증 절차 또는 거래 절차에 따라 샘카드와 스마트카드를 제어하기 위한 명령어들을 전송한다.
보다 구체적으로, 단말 소프트웨어(111)는 거래 절차를 시작하기에 앞서 초기화 작업을 수행하기 위하여 사용자의 스마트카드(120)에 카드 초기화(initialize card) 명령을 전송한다. 사용자의 스마트카드(120)는 카드 초기화 명령을 처리하고, 처리에 대한 응답 데이터와 함께 스마트카드의 인증을 위한 사인(sign) 값을 단말 소프트웨어(111)에 전송한다.
단말 소프트웨어(111)는 샘카드(112)를 초기화 하기 위하여 사용자의 스마트카드(120)로부터 전송 받은 데이터를 샘 초기화(initialize SAM) 명령을 통하여 샘카드(112)에 전송한다. 샘카드(112)는 샘 초기화 명령을 처리하고, 사용자의 스마트카드(120)의 사인 값을 검증함으로써 사용자의 스마트카드(120)를 인증한다. 인증이 성공하는 경우, 샘카드의 인증을 위한 사인 값과 함께 응답 데이터를 단말 소프트웨어(111)에 전송한다.
단말 소프트웨어(111)는 초기화 작업이 끝났음을 인지하고, 거래 작업을 수행하기 위한 명령을 샘카드(112)로부터 받은 응답 데이터와 함께 사용자의 스마트카드(120)에 전송한다. 사용자의 스마트카드(120)는 거래 명령을 처리하기 전, 샘카드(112)의 사인 값을 검증하여 샘카드(112)를 인증한다. 인증이 성공하는 경우, 거래 명령을 처리하고, 거래 처리에 대한 사인 값을 단말 소프트웨어(111)에 전송한다.
단말 소프트웨어(111)는 거래 처리에 대한 사인 값을 샘카드(112)에 전송한다. 샘카드(112)는 거래 처리에 대한 사인 값을 검증하고, 거래 상태, 거래 내역, 및 거래 내역에 대한 서명 등의 거래 처리 데이터를 생성하여 거래를 완료한다.
전술한 바와 같이 종래 기술은 단말 소프트웨어에서 정보 처리가 이루어지므로, 단말 소프트웨어를 구현하기 어렵고, 외부로부터 비인가자의 공격을 받는 경우 주요 데이터가 유출될 우려가 있다.
본 발명의 실시예들은 단말 소프트웨어가 아닌 샘카드에서 스마트카드를 이용한 전자 거래를 위한 정보 처리가 이루어짐으로써, 단말 소프트웨어의 구현을 용이하게 하고, 외부의 비인가자의 공격으로부터 주요 데이터를 보호하는 기술을 제공한다.
이 때, 본 발명의 실시예들은 보호된 APDU를 이용하여 스마트카드 및 샘카드에서 실행될 명령을 전송하도록 함으로써, 단말 소프트웨어의 거래 시작 명령 및 푸쉬 명령만을 이용하여 스마트카드를 이용한 전자 거래를 수행하는 기술을 제공한다.
즉, 본 발명의 실시예들은 단말 소프트웨어가 직접 정보화 처리를 하거나 중요 데이터를 저장하지 않고, 암호화된 데이터를 전달하는 방식을 이용함으로써 스마트카드 통신의 보안성을 향상시키는 기술을 제공한다.
또한, 본 발명의 실시예들은 단말 소프트웨어를 시작 및 종료를 제외한 모든 명령에 있어서, 명령어의 처리, 암호화 계산, 및 키 관리 등을 고려하지 않는 간단한 프로그램으로 구성함으로써, 알고리즘의 변화에도 유연한 기술을 제공한다.
본 발명의 일실시예에 따른 스마트카드와 통신을 수행하는 단말은 상기 스마트카드의 인증을 수행하고, 상기 스마트카드와의 전자 거래를 위하여 거래 내역 처리를 직접 수행하는 샘카드; 및 상기 인증 및 상기 거래 내역 처리를 위하여 상기 스마트카드와 상기 샘카드 사이의 데이터 통신을 제어하는 제어부를 포함하고, 상기 제어부는 미리 설정된 복수의 신호들 중 적어도 푸쉬(push) 명령을 이용하여 상기 샘카드와 상기 스마트카드 사이의 데이터 통신을 제어한다.
이 때, 상기 푸쉬 명령은 상기 스마트카드에 의해 생성된 데이터 유닛(data unit)을 상기 샘카드로 전달하거나, 상기 샘카드에 의해 생성된 데이터 유닛을 상기 스마트카드로 전달하는 것일 수 있다.
또한, 상기 샘카드는 상기 제어부에 의해 전송된 신호가 상기 전자 거래의 처리와 관련된 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈; 상기 판단 결과 및 상기 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 동작 명령 생성 모듈; 상기 동작 명령에 따라 상기 데이터 유닛에서 추출된 거래 상태 확인 또는 거래 내역 처리를 수행하는 처리 모듈; 및 상기 처리 결과를 기초로 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 데이터 유닛을 생성하는 데이터 유닛 생성 모듈을 포함할 수 있다.
또한, 상기 샘카드는 상기 데이터 유닛의 해독 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키(key)를 포함하는 암호 모듈을 더 포함하고, 상기 동작 명령 생성 모듈은 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛의 유효성을 검증하는 검증부; 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및 상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 추출부를 포함할 수 있다.
또한, 상기 샘카드는 상기 데이터 유닛의 암호화 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함하고, 상기 데이터 유닛 생성 모듈은 상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 결정부; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 변환부; 상기 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 암호화부; 및 상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 데이터 유닛을 생성하는 데이터 유닛 생성 수행부를 포함할 수 있다.
또한, 상기 샘카드는 상기 제어부에 의해 전송된 신호가 초기화 명령인지 여부를 판단하는 판단 모듈; 상기 판단 결과에 따라 상기 샘카드를 초기화하는 초기화 모듈; 및 상기 초기화 결과를 기초로 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 데이터 유닛을 생성하는 데이터 유닛 생성 모듈을 포함할 수 있다.
본 발명의 일실시예에 따른 스마트카드와 샘카드 사이의 데이터 통신을 제어하며, 전자 거래를 수행하는 전자 거래 시스템은 인증 정보 및 거래 내역 정보가 포함된 데이터 유닛을 생성하는 스마트카드; 및 상기 데이터 유닛을 전달 받아 스마트카드의 인증을 수행하고, 상기 스마트카드와의 전자 거래를 위하여 거래 내역 처리를 직접 수행하는 샘카드를 포함한다.
이 때, 상기 샘카드는 스마트카드에 의해 전송된 신호가 상기 전자 거래의 처리와 관련된 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈; 상기 판단 결과 및 상기 데이터 유닛을 기초로 상기 스마트카드의 동작 명령을 생성하는 동작 명령 생성 모듈; 상기 동작 명령에 따라 상기 데이터 유닛에서 추출된 거래 상태 확인 또는거래 내역 처리를 수행하는 처리 모듈; 및 상기 처리 결과를 기초로 상기 단말의 다음 동작과 관련된 명령을 포함하는 데이터 유닛을 생성하는 데이터 유닛 생성 모듈을 포함할 수 있다.
또한, 상기 전자 거래 시스템은 상기 데이터 유닛의 해독 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키(key)를 포함하는 암호 모듈을 더 포함하고, 상기 동작 명령 생성 모듈은 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛의 유효성을 검증하는 검증부; 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및 상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 추출부를 포함할 수 있다.
또한, 상기 스마트카드는 상기 샘카드와의 통신에 의해 전송된 신호가 상기 거래 내역 처리와 관련된 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈; 상기 판단 결과를 기초로 상기 스마트카드의 동작 명령을 생성하는 동작 명령 생성 모듈; 상기 동작 명령에 따라 상기 인증 정보 및 거래 내역 정보를 처리하는 처리 모듈; 및 상기 처리 결과를 기초로 상기 인증 정보 및 거래 내역 정보가 포함된 데이터 유닛을 생성하는 데이터 유닛 생성 모듈을 포함할 수 있다.
또한, 상기 스마트카드는 상기 데이터 유닛의 해독 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함하고, 상기 동작 명령 생성 모듈은 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛의 유효성을 검증하는 검증부; 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및 상기 해독부로부터 해독된 데이터를 기초로 상기 스마트카드의 동작 명령을 추출하는 추출부를 포함할 수 있다.
또한, 상기 스마트카드는 상기 데이터 유닛의 암호화 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함하고, 상기 데이터 유닛 생성 모듈은 상기 단말의 다음 동작과 관련된 명령을 결정하는 결정부; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 변환부; 상기 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 암호화부; 및 상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 샘카드로 전송하기 위한 데이터 유닛을 생성하는 데이터 유닛 생성 수행부를 포함할 수 있다.
본 발명의 일실시예에 따른 스마트카드와 통신을 수행하는 단말의 동작 방법은 (a) 상기 스마트카드를 인식하는 단계; (b) 인증 정보가 포함된 데이터 유닛을 통해 상기 스마트카드의 인증을 수행하는 단계; 및 (c) 거래 내역 정보가 포함된 데이터 유닛을 통해 거래 내역을 처리하는 단계를 포함하고, 상기 단말에 내장된 샘카드가 거래 내역 처리를 직접 수행할 수 있도록 상기 단말은 푸쉬 명령을 이용하여 상기 스마트카드와 상기 샘카드 사이의 데이터 통신을 제어하는 것을 특징으로 한다.
이 때, 상기 단계 (c)는 상기 데이터 유닛이 상기 거래 내역 정보가 포함된 데이터 유닛인지 여부를 판단하는 단계; 상기 판단 결과 및 상기 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 단계; 상기 동작 명령에 따라 상기 거래 내역 처리를 수행하는 단계; 및 상기 처리된 거래 내역을 포함한 데이터 유닛을 생성하는 단계를 포함할 수 있다.
또한, 상기 샘카드의 동작 명령을 생성하는 단계는 상기 샘카드로 전달된 데이터 유닛의 유효성을 검증하는 단계; 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 단계; 및 상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 단계를 더 포함할 수 있다.
또한, 상기 처리된 거래 내역을 포함한 데이터 유닛을 생성하는 단계는 상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 단계; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 단계; 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 단계; 및 상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 데이터 유닛을 생성하는 단계를 포함할 수 있다.
또한, 상기 암호 모듈은 상기 데이터 유닛의 해독 또는 생가 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키(key)를 포함하는 것일 수 있다.
본 발명의 일실시예에 따른 스마트카드와 샘카드가 상호 통신하여 전자 거래를 수행하는 방법은 (a) 상기 스마트카드가 거래 내역 정보를 포함하는 데이터 유닛을 생성하는 단계; (b) 상기 데이터 유닛을 상기 샘카드에 전송하는 단계; (c) 상기 샘카드가 상기 거래 내역 정보를 통해 상기 거래 내역을 직접 처리하고 데이터 유닛을 생성하는 단계; 및 (d) 상기 거래 내역 처리 결과를 상기 스마트카드에 전송하는 단계를 포함하고, 상기 단계 (b) 및 상기 단계 (d)는 푸쉬 명령을 이용하여 데이터가 전송되는 것을 특징으로 한다.
이 때, 상기 전자 거래를 수행하는 방법은 상기 단계 (c) 이전에 상기 샘카드에 전송된 데이터 유닛을 통해 상기 스마트카드의 인증을 수행하는 단계를 더 포함할 수 있다.
또한, 상기 단계 (c)는 상기 샘카드에 전송된 데이터 유닛이 상기 거래 내역 정보가 포함된 데이터 유닛인지 여부를 판단하는 단계; 상기 판단 결과 및 상기 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 단계; 상기 동작 명령에 따라 상기 데이터 유닛에서 거래 내역 정보를 추출하여 거래 내역을 처리하는 단계; 및 상기 처리된 거래 내역을 기초로 상기 스마트카드에 전송하기 위한 데이터 유닛을 생성하는 단계를 포함할 수 있다.
또한, 상기 샘카드의 동작 명령을 생성하는 단계는 상기 샘카드로 전달된 데이터 유닛의 유효성을 검증하는 단계; 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 단계; 및 상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 단계를 포함할 수 있다.
또한, 상기 스마트카드에 전송하기 위한 데이터 유닛을 생성하는 단계는 상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 단계; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 단계; 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 단계; 및 상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 데이터 유닛의 생성하는 단계를 포함할 수 있다.
또한, 상기 단계 (a)는 상기 샘카드와의 통신에 의해 상기 스마트카드가 인식되었는지 여부를 판단하는 단계; 상기 판단 결과를 기초로 상기 스마트카드의 동작 명령을 생성하는 단계; 및 상기 동작 명령에 따라 상기 스마트카드의 인증 정보 및 거래 내역 정보를 포함하는 데이터 유닛을 생성하는 단계를 포함할 수 있다.
또한, 상기 데이터 유닛을 생성하는 단계는 상기 샘카드의 다음 동작과 관련된 명령을 결정하는 단계; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 단계; 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 단계; 및 상기 암호화된 데이터를 기초로 상기 샘카드로 전송하기 위한 데이터 유닛의 생성하는 단계를 포함할 수 있다.
또한, 상기 암호 모듈은 상기 데이터 유닛의 해독 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 것일 수 있다.
본 발명의 실시예들은 단말 소프트웨어가 아닌 샘카드에서 스마트카드를 이용한 전자 거래를 위한 정보 처리가 이루어짐으로써, 단말 소프트웨어의 구현을 용이하게 하고, 외부의 비인가자의 공격으로부터 주요 데이터를 보호하는 기술을 제공할 수 있다.
이 때, 본 발명의 실시예들은 보호된 APDU를 이용하여 스마트카드 및 샘카드에서 실행될 명령을 전송하도록 함으로써, 단말 소프트웨어의 거래 시작 명령 및 푸쉬 명령만을 이용하여 스마트카드를 이용한 전자 거래를 수행하는 기술을 제공할 수 있다.
즉, 본 발명의 실시예들은 단말 소프트웨어가 직접 정보화 처리를 하거나 중요 데이터를 저장하지 않고, 암호화된 데이터를 전달하는 방식을 이용함으로써 스마트카드 통신의 보안성을 향상시키는 기술을 제공할 수 있다.
또한, 본 발명의 실시예들은 단말 소프트웨어를 시작 및 종료를 제외한 모든 명령에 있어서, 명령어의 처리, 암호화 계산, 및 키 관리 등을 고려하지 않는 간단한 프로그램으로 구성함으로써, 알고리즘의 변화에도 유연한 기술을 제공할 수 있다.
도 1은 스마트카드와 통신을 수행하기 위하여 스마트카드 및 샘카드를 제어하는 단말 소프트웨어를 설명한 도면이다.
도 2는 본 발명의 일실시예에 따른 적어도 푸쉬 명령을 이용하여 스마트카드 및 샘카드 사이의 데이터 통신을 제어하는 방법을 설명한 도면이다.
도 3은 본 발명의 일실시예에 따른 적어도 푸쉬 명령을 이용하여 스마트카드 및 샘카드를 제어함으로써 스마트카드와 통신하는 단말을 나타낸 블록도이다.
도 4는 본 발명의 일실시예에 따른 스마트카드와 통신하기 위한 데이터 유닛을 생성하는 방법을 설명한 도면이다.
도 5는 본 발명의 일실시예에 따른 데이터 유닛으로부터 동작 명령을 생성하는 방법을 설명한 도면이다.
도 6은 본 발명의 일실시예에 따른 스마트카드와 통신하는 단말의 동작 방법을 나타낸 동작 흐름도이다.
도 7은 본 발명의 일실시예에 따른 스마트카드 및 샘카드의 동작 방법을 나타낸 동작 흐름도이다.
도 8은 본 발명의 일실시예에 따른 스마트카드를 이용한 전기 자동차의 충전 시스템을 설명한 도면이다.
이하, 본 발명의 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 적어도 푸쉬 명령을 이용하여 스마트카드 및 샘카드 사이의 데이터 통신을 제어하는 방법을 설명한 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 단말(210)은 제어부(211) 및 샘카드(212)를 포함한다.
여기서, 제어부(211)는 스마트카드와의 전자 거래를 위한 단말(210)의 동작을 제어하는 단말 소프트웨어를 포함한다. 본 발명의 실시예들에 따른 상기 제어부(211)는 스마트카드와의 전자 거래를 위한 핵심 기능들(예를 들면, 거래 내역 처리)을 수행하지 아니한다. 대신, 본 발명의 실시예들에 따른 샘카드(212)가 스마트카드와의 전자 거래를 위한 핵심 기능들(예를 들면, 거래 내역 처리)을 수행한다. 본 발명의 실시예들에 따른 상기 샘카드(212)의 구성에 대하여는 도 3을 참조하여 후술한다.
본 발명의 실시예들에 따른 상기 제어부(211)는 상기 샘카드(212)가 스마트카드(220)와의 전자 거래를 위한 핵심 기능들(예를 들면, 거래 내역 처리)을 수행하는 동안 상기 샘카드(212) 및 상기 스마트카드(220) 사이의 데이터 통신을 중재하는 역할을 수행한다.
이 때, 상기 샘카드(212) 및 상기 스마트카드(220) 사이에서 전송되는 데이터는 보호된 APDU의 포맷으로 전송될 수 있다(상기 데이터의 포맷에 대한 보다 구체적인 사항들은 후술한다). 즉, 본 발명의 실시예들에 따르면, 단말 소프트웨어가 아닌 샘카드에서 스마트카드를 이용한 전자 거래를 위한 정보 처리가 이루어지고 상기 전자 거래를 위해 전송되는 데이터는 보안이 강화된 포맷으로 전송되는 바, 본 발명은 외부의 비인가자의 공격으로부터 주요 데이터를 보호하는 기술을 제공할 수 있다.
또한, 본 발명의 실시예들에 따른 단말 소프트웨어는 전자 거래를 위한 핵심 기능들(예를 들면, 거래 내역 처리)을 수행하지 아니하므로, 시작 및 종료를 제외한 모든 명령에 있어서, 명령어의 처리, 암호화 계산, 및 키 관리 등을 고려하지 않는 간단한 프로그램으로 단말 소프트웨어를 구성할 수 있는 바, 단말 소프트웨어의 구현이 용이하고, 차후 알고리즘의 변화에도 유연하게 대응할 수 있다.
이하, 도 2를 참조하여 본 발명의 일실시예에 따른 전자 거래 수행 방법을 설명한다.
제어부(211)는 사용자의 스마트카드(220)를 인식하면 샘카드(212)로 거래의 시작을 알리는 명령(초기화 명령)을 전송한다. 샘카드(212)는 초기화 명령에 대한 처리를 하고, 사용자의 스마트카드(220)를 초기화하기 위한 스마트카드(220)의 명령인 카드 초기화(initialize card) 명령을 TLV(Type-Length-Value) 구조로 재구성한다. 이 때, 본 발명의 일실시예에 따르면, 스마트카드(220)의 명령은 APDU(Application Protocol Data Unit) 구조일 수 있다. APDU 구조는 ISO/IEC 7816-4에 규정되어 있다.
샘카드(212)는 TLV 구조를 암호화하고, 데이터 전송을 위한 MAC을 생성할 수 있다. 샘카드(212)는 생성된 MAC을 제어부(211)로 전송함으로써 제어부(211)의 초기화 명령에 응답할 수 있다. 이 때, 상기 응답을 위하여 생성된 MAC은 프로텍티드(protected) APDU라 지칭될 수 있다.
제어부(211)는 전송 받은 보호된 APDU를 푸쉬 명령을 사용하여 사용자의 스마트카드(220)로 전송한다.
사용자의 스마트카드(220)는 전송 받은 보호된 APDU를 검증 및 복호화할 수 있다. 본 발명의 일실시예에 따른 스마트카드(220)는 보호된 APDU를 복호화함으로써, ISO7816에서 규정하는 일반적인 APDU 구조를 생성할 수 있다.
스마트카드(220)는 APDU 구조로부터 카드 초기화 명령을 추출할 수 있고, 추출된 카드 초기화 명령을 처리할 수 있다. 스마트카드(220)는 카드 초기화 명령에 대한 응답 데이터, 상기 초기화 명령의 처리에 의해 생성된 스마트카드(220)의 인증을 위한 사인 값, 및 샘카드(212)의 다음 명령인 샘 초기화(initialize SAM) 명령을 기초로 보호된 APDU를 생성하고, 이를 제어부(211)에 전송할 수 있다.
제어부(211)는 전송 받은 보호된 APDU를 푸쉬 명령을 사용하여 샘카드(212)로 전송한다.
샘카드(212)는 전송 받은 보호된 APDU를 검증 및 복호화함으로써, 일반적인 APDU 구조를 생성할 수 있다. 샘카드(212)는 APDU 구조로부터 샘 초기화 명령을 추출할 수 있고, 추출된 샘 초기화 명령을 처리할 수 있다. 더 나아가, 샘카드(212)는 스마트카드(200)의 인증을 위한 사인 값을 검증함으로써 사용자의 스마트카드(212)를 인증할 수 있다.
샘카드(212)는 샘 초기화 명령에 대한 응답 데이터, 상기 초기화 명령의 처리에 의해 생성된 샘카드(212)의 인증을 위한 사인 값, 및 스마트카드(220)의 다음 명령인 거래 명령을 기초로 보호된 APDU를 생성하고, 이를 제어부(211)에 전송할 수 있다.
제어부(211)는 전송 받은 보호된 APDU를 푸쉬 명령을 사용하여 스마트카드(220)로 전송한다.
사용자의 스마트카드(220)는 전송 받은 보호된 APDU를 일반적인 APDU로 변환할 수 있고, APDU 구조로부터 거래 명령을 추출할 수 있다. 스마트카드(220)는 추출된 거래 명령을 처리하기에 앞서, 샘카드(212)의 사인 값을 검증함으로써, 샘카드(212)를 인증할 수 있다. 스마트카드(220)는 인증에 성공 시, 추출된 거래 명령을 처리하고, 거래 처리에 대한 사인 값 및 샘카드(212)의 다음 명령인 거래 내역 생성 명령을 기초로 보호된 APDU를 생성할 수 있다. 샘카드(212)는 생성된 보호된 APDU를 제어부(211)에 전송할 수 있다.
제어부(211)는 전송 받은 보호된 APDU를 푸쉬 명령을 사용하여 샘카드(212)로 전송한다.
샘카드(212)는 전송 받은 보호된 APDU를 일반적인 APDU로 변환할 수 있고, APDU 구조로부터 거래 내역 생성 명령을 추출할 수 있다. 샘카드(212)는 추출된 거래 내역 생성 명령을 처리하기에 앞서, 거래 처리에 대한 사인 값을 검증할 수 있다. 샘카드(212)는 검증에 성공 시, 추출된 거래 내역 생성 명령에 따라 거래 상태, 거래 내역, 및 거래 내역에 대한 서명을 생성할 수 있다. 이로써 본 발명의 일실시예에 따른 스마트카드(220)를 이용한 거래가 완료된다.
전술한 바와 같이, 본 발명의 실시예들은 보호된 APDU를 이용하여 스마트카드(220) 및 샘카드(212)에서 실행될 명령을 전송하도록 함으로써, 제어부(211)는 스마트카드(220) 거래의 시작을 알리는 명령 및 푸쉬 명령만을 이용하여 스마트카드(220)를 이용한 거래 시스템을 동작시킬 수 있다.
도 3은 본 발명의 일실시예에 따른 적어도 푸쉬 명령을 이용하여 스마트카드 및 샘카드를 제어함으로써 스마트카드와 통신하는 단말을 나타낸 블록도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 스마트카드와 통신을 수행하는 단말(310)는 제어부(311) 및 샘카드(312)를 포함한다.
샘카드(312)는 스마트카드(320)의 인증을 수행하고, 스마트카드(320)와의 전자 거래를 위하여 거래 내역 처리를 직접 수행한다. 제어부(311)는 상기 인증 및 상기 거래 내역 처리를 위하여 스마트카드(320) 및 샘카드(312) 사이의 데이터 통신을 제어한다.
이 때, 샘카드(312)는 상기 제어부에 의해 전송된 신호가 상기 전자 거래의 처리와 관련된 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈; 상기 판단 결과 및 상기 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 동작 명령 생성 모듈; 상기 동작 명령에 따라 상기 데이터 유닛에서 추출된 거래 상태 확인 또는 거래 내역 처리를 수행하는 처리 모듈; 및 상기 처리 결과를 기초로 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 데이터 유닛을 생성하는 데이터 유닛 생성 모듈을 포함할 수 있다. 뿐만 아니라, 상기 샘카드는 상기 데이터 유닛의 해독 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함할 수 있다.
여기서, 상기 동작 명령 생성 모듈은 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛의 유효성을 검증하는 검증부; 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및 상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 추출부를 포함할 수 있다.
또한, 상기 데이터 유닛 생성 모듈은 상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 결정부; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 변환부; 상기 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 암호화부; 및 상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 데이터 유닛을 생성하는 데이터 유닛 생성 수행부를 포함할 수 있다.
또한, 제어부(311)는 미리 설정된 복수의 신호들 중 적어도 푸쉬 명령을 이용하여 상기 샘카드와 상기 스마트카드 사이의 데이터 통신을 제어한다. 이 때, 상기 미리 설정된 복수의 신호들은 초기화 명령을 포함할 수 있다.
여기서, 푸쉬 명령은 상기 스마트카드에 의해 생성된 데이터 유닛(data unit)을 상기 샘카드로 전달하거나, 상기 샘카드에 의해 생성된 데이터 유닛을 상기 스마트카드로 전달하는 명령이다.
또한, 스마트카드(320)는 상기 샘카드(312)와의 통신에 의해 전송된 신호가 상기 거래 내역 처리와 관련된 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈; 상기 판단 결과를 기초로 상기 스마트카드(320)의 동작 명령을 생성하는 동작 명령 생성 모듈; 상기 동작 명령에 따라 상기 인증 정보 및 상기 거래 내역 정보를 처리하는 처리 모듈; 및 상기 처리 결과를 기초로 상기 인증 정보 및 상기 거래 내역 정보가 포함된 데이터 유닛을 생성하는 데이터 유닛 생성 모듈을 포함한다. 뿐만 아니라, 상기 스마트카드(320)는 상기 데이터 유닛의 해독 또는 상기 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함할 수 있다.
여기서, 상기 동작 명령 생성 모듈은 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛의 유효성을 검증하는 검증부; 상기 암호 모듈을 이용하여 상기 전달된 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및 상기 해독된 데이터를 기초로 상기 스마트카드의 동작 명령을 추출하는 추출부를 포함할 수 있다.
또한, 상기 데이터 유닛 생성 모듈은 상기 단말의 다음 동작과 관련된 명령을 결정하는 결정부; 상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 변환부; 상기 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 암호화부; 및 상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 샘카드로 전송하기 위한 데이터 유닛을 생성하는 데이터 유닛 생성 수행부를 포함할 수 있다.
도 3에 도시된 모듈들 각각의 동작에 대한 보다 상세한 설명은 도 4 및 도 7을 통하여 후술한다.
도 4는 본 발명의 일실시예에 따른 스마트카드와 통신하기 위한 데이터 유닛을 생성하는 방법을 설명한 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 데이터 유닛 생성 모듈은 일반적인 APDU(410, 420, 430)로부터 보호된 APDU(480)를 생성한다.
본 발명의 일실시예에 따른 스마트카드 또는 샘카드에 대한 명령은 ISO/IEC 7816-4에 규정된 일반적인 APDU를 기초로 할 수 있다. 이 때, APDU는 명령 APDU 및 응답 APDU로 구분될 수 있다.
보다 구체적으로, 명령 APDU(410)는 255 바이트 이하의 데이터뿐 아니라, 필수적으로 4 바이트 크기의 헤더를 포함한다. 상기 헤더는 명령의 타입(CLA), 명령의 종류(INS), 및 파라미터(P1, P2)로 구성된다.
응답 APDU는 256 바이트 이하의 응답 데이터(420)뿐 아니라, 필수적으로 2 바이트 크기의 CSW 필드(430)를 포함한다. CSW 필드(430)는 스마트카드에서 확인해야 하는 워드 사이즈의 상태 값이다.
본 발명의 일실시예에 따른 데이터 유닛 생성 모듈은 수행된 명령에 대한 응답 데이터(420) 및 반대편 스마트카드(예를 들면, 샘카드에 포함된 데이터 유닛 생성 모듈의 경우 사용자의 스마트카드, 혹은 사용자의 스마트카드에 포함된 데이터 유닛 생성 모듈의 경우 샘카드)가 다음으로 수행할 명령에 대응하는 APDU(410)를 기초로 TLV 구조(440)를 생성할 수 있다.
더 나아가, 데이터 유닛 생성 모듈은 암호 모듈에 포함된 ENC_KEY를 이용하여 상기 TLV 구조(440)를 암호화할 수 있고, 암호화된 TLV 구조(450)를 MAC 생성을 위한 구조(460)로 재구성할 수 있다. 데이터 유닛 생성 모듈은 암호 모듈에 포함된 MAC_KEY를 이용하여 상기 재구성된 MAC 생성을 위한 구조(460)를 기초로 체크썸(checksum, 470)을 계산하고, 상기 계산된 체크썸(470)을 기초로 MAC을 생성함으로써, 보호된 APDU(480)을 생성할 수 있다.
여기서, ENC_KEY는 세션 키(session key)의 한 종류로서 데이터를 암호화하는 키이고, MAC_KEY는 세션 키의 한 종류로서 데이터의 무결성을 검증하는 키이다. 본 발명의 일실시예에 따른 상기 세션 키는 하나의 통신 세션에서 암호화 등을 위하여 단일적으로 사용되는 대칭적인(symmetric) 키일 수 있다. 또한, 본 발명의 다른 실시예에 따른 상기 세션 키는 공개키 암호 시스템을 이용하는 비대칭적인 키일 수 있다.
보다 구체적으로, 대칭 키 암호 시스템은 암호문을 생성(암호화)할 때 사용하는 키와 암호문으로부터 평문을 복원(복호화)할 때 사용하는 키가 동일한 암호 시스템이다. 암호 시스템의 안전성은 키의 길이, 키의 안전한 관리에 상대적으로 의존성이 높다. 암호문의 작성자와 이의 수신자가 동일한 키를 비밀리에 관리해야 하므로 폐쇄적인 특성을 갖는 사용자 그룹에 적합한 암호 시스템이다. 이 때, 암호학을 이용하여 보호해야 할 메시지를 평문(plaintext)이라고 하며, 평문을 암호학적 방법으로 변환한 것을 암호문(ciphertext)이라고 한다. 또한, 평문을 암호문으로 변환하는 과정을 암호화(encryption)라고 하며, 암호문을 다시 평문으로 변환하는 과정을 복호화(decryption) 라고 한다.
대칭키 암호 시스템은 알고리즘이 상대적으로 단순한 장점이 있지만 키 관리에 어려움이 많다. 시스템에 가입한 사용자들 사이에 매 두 사용자 마다 하나의 서로 다른 키를 공유해야 하기 때문에 n명이 가입한 시스템에는 nC2 개의 키가 필요하다. 또한, 각 사용자는 n-1개의 키를 관리해야 하는 부담이 있다.
반면, 공개키 암호 시스템에서 각 사용자는 두 개의 키를 부여 받는다. 그 하나는 공개되고(공개키, public key), 다른 하나는 사용자에 의해 비밀리에 관리 되어야 한다(비밀키, private key). 공개키 암호 시스템에서 각 사용자는 자신의 비밀키만 관리하면 되므로 키 관리의 어려움을 줄일 수 있다. 공개키 암호 시스템에서는 각 사용자의 공개키를 관리하는 공개키 관리 시스템(공개키 디렉터리)이 필요하며 각 사용자는 이 시스템에 자유롭게 접근하여 다른 사용자의 공개키를 열람할 수 있어야 한다.
공개키 암호 시스템은 두 키의 수학적 특성에 기반하기 때문에, 메시지를 암호화 및 복호화 하는 과정에 여러 단계의 산술 연산이 들어간다. 따라서 대칭키 암호 시스템에 비하여 속도가 매우 느리다는 단점을 지니고 있다.
예를 들면, A가 B에게 암호문을 보내고 복호화하는 가장 기본적인 과정을 기술한다. 두 사용자에게는 각각 공개키와 비밀키가 부여되었고, 이들의 공개키는 공개키 디렉터리에 저장되어 있다. A는 공개키 디렉터리에서 B의 공개키를 찾아 이를 이용하여 문서를 암호화하여 B에게 보낸다. B는 수신한 비밀 문서를 자신만이 알고 있는 자신의 비밀키로 복호화하여 A가 보낸 문서의 내용을 알 수 있다. 공개키 만으로는 복호화가 불가능하기 때문에, A 역시 암호화 하고 나서 복원할 수 없다는 특징이 있다.
공개키 암호 시스템에서 암호화-복호화 시스템은 두 키가 짝으로 동작하기 때문에, 비밀키로 암호화 하고 공개키로 복호화 할 수도 있다. 이 방법을 이용하면 해당 공개키에 맞는 비밀키 보유자를 확인할 수 있으며, 전자서명에서는 이런 성질을 이용한다. 이와 같이 공개키 암호 시스템에서는 암호화할 때 사용되는 키와 복호화할 때 사용되는 키가 다르기 때문에 비대칭 암호 시스템이라고 부르기도 한다.
또한, 본 발명의 일실시예에 따르면, APDU로부터 생성된 TLV 구조(440)뿐 아니라, MAC 생성을 위한 구조(460) 및 보호된 APDU(480)도 TLV(Type-Length-Value) 구조로 구성될 수 있다. 다만, 보호된 APDU의 경우, 마지막에 SW(Status Word) 필드를 더 포함할 수 있다. SW 필드는 스마트카드 또는 샘카드에 의해 실행된 명령이 성공하였는지 여부를 단말이 확인할 수 있도록 하는 상태 값이다.
도 5는 본 발명의 일실시예에 따른 데이터 유닛으로부터 동작 명령을 생성하는 방법을 설명한 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 동작 명령 생성 모듈은 보호된 APDU를 포함하는 푸쉬 명령(510)으로부터 동작 명령에 대응하는 APDU(530)를 추출한다.
보다 구체적으로, 동작 명령 생성 모듈이 단말의 제어부로부터 전송 받은 푸쉬 명령(510)은 보호된 APDU를 포함한다. 이 경우, 푸쉬 명령(510)은 TLV 구조로 구성될 수 있다. 예를 들면, 푸쉬 명령(510)은 타입(Type) 값으로 푸쉬 명령 타입을 가지고, 길이(Length) 값으로 보호된 APDU 전체의 길이(Lc)를 가지며, 밸류(Value) 값으로 보호된 APDU 전체를 가질 수 있다.
이 때, 동작 명령 생성 모듈은 암호 모듈에 포함된 MAC_KEY를 이용하여 보호된 APDU의 무결성을 검증할 수 있다. 예를 들면, 본 발명의 일실시예에 따른 동작 명령 생성 모듈은 MAC_KEY를 이용하여 보호된 APDU에 포함된 체크썸(CC) 값이 보호된 APDU의 무결성을 검증할 수 있는 값인지 여부를 판단할 수 있다.
더 나아가, 동작 명령 생성 모듈은 암호 모듈에 포함된 ENC_KEY를 이용하여 보호된 APDU에 포함된 암호화된 데이터(encdata)를 복호화할 수 있고, 복호화된 데이터(520)로부터 동작 명령에 대응하는 APDU(530)를 추출할 수 있다. 예를 들면, 동작 명령 생성 모듈에서 추출한 APDU(530)는 도 4의 반대편 스마트카드가 다음으로 수행할 명령에 대응하는 APDU(410)에 대응되는 값으로서, 동작 명령 생성 모듈은 상기 추출한 APDU(530)를 처리 모듈에 전달할 수 있다.
도 6은 본 발명의 일실시예에 따른 스마트카드와 통신하는 단말의 동작 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 단말은 스마트카드를 인식하는 단계(610), 상기 스마트카드의 인증을 수행하는 단계(620), 및 거래 내역을 처리하는 단계(630)를 포함한다.
본 발명의 일실시예에 따른 상기 단말은 제어부 및 샘카드를 포함하고, 상기 스마트카드를 인식할 수 있는 인식 모듈을 더 포함할 수 있다. 즉, 본 발명의 일실시예에 따른 상기 단말은 상기 인식 모듈을 이용하여 스마트카드를 인식하고, 상기 제어부를 이용하여 상기 인식된 스마트카드와 상기 샘카드 사이의 데이터 통신을 제어할 수 있다.
여기서, 상기 스마트카드와 상기 샘카드 사이에서 전송되는 데이터는 인증 정보가 포함된 데이터 유닛 또는 거래 내역 정보가 포함된 데이터 유닛을 포함한다. 보다 구체적으로, 상기 스마트카드의 인증을 수행하는 단계(620)에서 상기 샘카드는 상기 인증 정보가 포함된 데이터 유닛을 이용하여 상기 스마트카드의 인증을 수행한다. 또한, 상기 거래 내역을 처리하는 단계(630)에서 상기 샘카드는 상기 거래 내역 정보가 포함된 데이터 유닛을 이용하여 상기 거래 내역을 처리한다.
전술한 바와 같이 본 발명의 실시예들에 따르면, 제어부(예를 들면, 단말 소프트웨어)는 스마트카드와 샘카드 사이의 데이터 통신에 관여할 뿐 전자 거래를 위한 거래 내역 처리를 수행하지 아니한다. 대신, 샘카드가 상기 거래 내역 처리를 직접 수행함으로써, 보안 수준을 향상시키고 단말 소프트웨어의 개발을 용이하게 할 수 있다.
이하, 본 발명의 일실시예에 따른 단말이 스마트카드를 인식한 경우의 동작과정을 구체적인 예를 들어 설명한다.
본 발명의 일실시예에 따른 단말은 인식 모듈을 이용하여 사용자의 스마트카드가 인식되는지 여부를 판단할 수 있고, 사용자의 스마트카드가 인식되었다는 판단에 따라 샘카드에 초기화 명령을 전송할 수 있다.
본 발명의 일실시예에 따르면, 샘카드는 전송 받은 초기화 명령에 반응하여 사용자의 스마트카드에서 실행되어야 할 명령(예를 들면, 카드 초기화 명령)을 기초로 보호된 APDU를 생성하여 제어부로 전송할 수 있다. 제어부는 보호된 APDU에 포함된 SW를 확인함으로써, 샘카드에 의한 동작이 성공하였는지 여부를 판단할 수 있다.
이 때, 제어부는 샘카드에 의하여 어떠한 동작이 수행되었는지 여부를 알 필요가 없고, 단지 샘카드에 의한 동작이 성공하였는지 여부만을 판단하면 족하다. 제어부는 샘카드에 의한 동작이 성공한 경우, 푸쉬 명령을 이용하여 전송 받은 보호된 APDU를 사용자의 스마트카드로 전송한다.
여기서, 상기 푸쉬 명령은 상기 스마트카드에 의해 생성된 데이터 유닛을 상기 단말에 포함된 샘카드로 전달하거나, 상기 샘카드에 의해 생성된 데이터 유닛을 상기 스마트카드로 전달하는 명령이다.
이후의 거래 과정은 도 1 내지 도 5를 참조하여 기술한 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 7은 본 발명의 일실시예에 따른 스마트카드 및 샘카드의 동작 방법을 나타낸 동작 흐름도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 스마트카드와 통신을 수행하는 단말에 포함된 샘카드의 동작 방법은 상기 단말에 의해 전송된 데이터 유닛이 상기 스마트카드와의 전자 거래를 위한 거래 내역 정보가 포함된 데이터 유닛인지 여부를 판단하는 단계(710); 상기 판단 결과 및 상기 푸쉬 명령에 의해 전달된 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 단계(720); 상기 동작 명령에 따라 상기 거래 내역 처리를 수행하는 단계(730); 및 상기 처리된 거래 내역을 포함한 데이터 유닛을 생성하는 단계(740)를 포함한다.
뿐만 아니라, 본 발명의 일실시예에 따른 스마트카드와 통신을 수행하는 단말에 포함된 샘카드의 동작 방법은 상기 단말에 의해 전송된 신호가 초기화 명령인지 여부를 판단하는 단계(710); 상기 판단 결과에 따라 상기 샘카드를 초기화하는 단계(750); 및 상기 초기화 결과를 기초로 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 데이터 유닛을 생성하는 단계(740)를 더 포함할 수 있다. 다만, 상기 단말에 의해 전송된 신호가 초기화 명령인 경우, 반대편 스마트카드에서 다음으로 실행될 명령은 카드 초기화 명령으로 미리 설정될 수 있으므로, 데이터 유닛을 생성하는 단계(740)에서 다음 명령 APDU를 추출하는 단계가 생략될 수 있다.
보다 구체적으로, 단말에 포함된 제어부는 최초 거래의 시작을 알리는 초기화 명령을 샘카드로 전송한다. 샘카드는 판단 모듈을 이용하여 제어부로부터 전송 받은 명령의 종류를 판단한다(710). 샘카드는 전송 받은 명령의 종류가 초기화 명령이라는 판단에 따라 초기화 모듈을 이용하여 난수 생성 등 초기화를 수행한다(750). 전술한 바와 같이 샘카드가 제어부로부터 전송 받은 명령이 초기화 명령인 경우, 사용자의 스마트카드에서 다음으로 실행될 명령은 카드 초기화 명령이므로, 샘카드는 데이터 유닛 생성 모듈을 이용하여 카드 초기화 명령에 대응하는 APDU를 TLV 구조로 재구성하고, 상기 TLV 구조를 암호화하며, MAC 생성을 위한 구조로 재구성한다. 샘카드는 데이터 유닛 생성 모듈을 이용하여 MAC 생성을 위한 구조를 기초로 MAC을 생성함으로써, 보호된 APDU를 생성하고, 이를 제어부에 전송할 수 있다. 데이터 유닛 생성 모듈의 동작들 각각은 도 4를 참조하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
샘카드로부터 응답을 받은 제어부는 SW가 성공 값인 0x9000(여기서, 0x는 이하의 숫자들이 16진수 값임을 나타냄)이 아닌 경우 거래를 중지시키고, 0x9000인 경우 푸쉬 명령을 이용하여 응답 받은 보호된 APDU를 사용자의 스마트카드로 전송한다.
사용자의 스마트카드는 판단 모듈을 이용하여 제어부로부터 전송 받은 명령의 종류를 판단한다(710). 스마트카드는 제어부로부터 전송 받은 명령의 종류가 푸쉬 명령이라는 판단에 따라 동작 명령 생성 모듈을 이용하여 스마트카드가 실행할 동작 명령을 추출하고(720), 이를 처리 모듈을 이용하여 처리한다(730).
보다 구체적으로, 스마트카드는 동작 명령 생성 모듈을 이용하여 전송 받은 보호된 APDU의 무결성을 검증하고, 보호된 APDU 내 포함된 암호화된 데이터를 복호화하며, 복호화된 데이터로부터 동작 명령에 대응하는 APDU를 추출한다. 동작 명령 생성 모듈의 동작들 각각은 도 5를 참조하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
처리 모듈에 의하여 동작 명령이 처리되면, 스마트카드는 데이터 유닛 생성 모듈을 이용하여 샘카드에 의해 다음으로 실행될 명령이 무엇인지 여부를 판단한다. 스마트카드는 데이터 유닛 생성 모듈을 이용하여 상기 판단된 명령에 대응하는 APDU를 TLV 구조로 재구성하고, 상기 TLV 구조를 암호화하며, MAC 생성을 위한 구조로 재구성한다. 스마트카드는 데이터 유닛 생성 모듈을 이용하여 MAC 생성을 위한 구조를 기초로 MAC을 생성함으로써, 보호된 APDU를 생성하고, 이를 제어부에 전송할 수 있다. 데이터 유닛 생성 모듈의 동작들 각각은 도 4를 참조하여 기술된 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
상술한 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
도 8은 본 발명의 일실시예에 따른 스마트카드를 이용한 전기 자동차의 충전 시스템을 설명한 도면이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 전기 자동차의 충전 시스템은 충전 시스템(810), 사용자의 스마트카드(820), 온-보드 충전기(On-Board Charger, 831), 및 운영 시스템을 포함한다.
충전 시스템(810)은 단말에 해당하고, 샘카드(812)를 포함한다. 온-보드 충전기(831)는 전기 자동차(830)에 장착된 보드로서, 전기 충전과 관련된 일련의 처리를 담당한다. 온-보드 충전기(831)도 샘카드(832)를 포함한다.
충전 시스템(810)은 사용자의 스마트카드(820)를 무선으로 인식할 수 있다. 이 때, 충전 시스템(810)에 포함된 메인 보드(811)는 사용자의 스마트카드(820)와 ISO14443 규격으로 무선 통신할 수 있다.
메인 보드(811)는 스마트카드(820)를 인식하면, 샘카드(812)에 인증 시작 명령을 전송한다. 샘카드(812)는 인증 요청 명령을 TLV 구조로 병합하여 보호된 APDU로 응답하며, 메인 보드(811)는 전송 받은 응답 데이터를 푸쉬 명령을 이용하여 사용자의 스마트카드(820)로 전송한다.
사용자의 스마트카드(820)는 복호화를 통해 TLV 구조를 획득하고, 이로부터 인증 요청 명령을 추출하여 인증 요청 명령을 처리한다. 또한, 스마트카드(820)는 샘카드(812)가 수행해야 할 명령인 세션 키 생성 명령을 TLV 구조로 병합하여 보호된 APDU로 응답한다. 메인 보드(811)는 전송 받은 응답 데이터를 푸쉬 명령을 이용하여 샘카드(812)로 전송한다.
샘카드(812)는 복호화를 통해 TLV 구조를 획득하고, 이로부터 세션 키 생성 명령을 추출하여 세션 키를 생성한다. 또한, 샘카드(812)는 샘 크립토그램(cryptogram) 및 샘 인증 명령을 TLV 구조로 병합하여 보호된 APDU로 응답한다. 메인 보드(811)는 전송 받은 응답 데이터를 푸쉬 명령을 이용하여 사용자의 스마트카드(820)로 전송한다.
사용자의 스마트카드(820)는 복호화를 통해 TLV 구조를 획득하고, 이로부터 샘 인증 명령을 추출하여 인증을 수행한다. 또한, 스마트카드(820)는 인증 수행의 성공 여부에 대한 상태 값인 SW(Status Word)를 메인 보드(811)에 전송한다. 메인 보드(811)는 SW가 0x9000이면 인증이 완료된 것으로 판단하고 사용자의 스마트카드(820)와의 통신을 종료한다.
또한, 메인 보드(811)는 사용자의 스마트카드(820)의 ID가 운영 시스템으로부터 인가된 ID인지 여부를 확인하기 위하여 샘카드(812)에 사용자의 스마트카드(820)의 ID를 구하는 명령을 전송할 수 있다. 메인 보드(811)는 샘카드(812)로부터 응답 받은 사용자의 스마트카드(820)의 ID가 운영 시스템시스부터 인가된 ID인지 여부를 확인하고, 충전에 대한 최종 허가를 줄 수 있다.
이 때, 샘카드(812)는 인증이 완료되었는지 여부를 확인하고, 인증이 완료되지 않은 경우 에러 코드 값을 나타내는 SW를 응답한다. 메인 보드(811)는 샘카드(812)로부터 에러 코드 값을 나타내는 SW를 전송 받은 경우 거래를 중지시킨다.
전술한 실시예에서 충전 시스템(810)에 포함된 메인 보드(811)는 샘카드(812)와 사용자의 스마트카드(820) 사이의 명령이 어떠한 명령인지 여부를 인지하지 않는다. 메인 보드(811)는 시작(인증 시작 명령) 및 종료(사용자의 스마트카드의 ID 요청 명령)를 제외한 모든 명령에 있어서, 명령어의 처리, 암호화 계산, 및 키 관리 등을 고려하지 않는 간단한 프로그램으로 구성된다. 이에 따라, 충전 시스템(810)의 구현이 쉬워지고, 프로그램의 논리나 알고리즘 등이 변경되더라도 호스트 시스템인 충전 시스템(810)을 변경할 필요 없이 각 스마트카드(예를 들면, 자바 카드와 같은 개방형 스마트카드)의 애플릿을 삭제하고 다시 설치하는 것으로 시스템이 수정될 수 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
310: 단말
311: 제어부
312: 샘카드
320: 스마트카드

Claims (26)

  1. 스마트카드와 통신을 수행하는 단말에 있어서,
    상기 스마트카드의 인증을 수행하고, 상기 스마트카드와의 전자 거래를 위하여 거래 내역 처리를 수행하는 샘카드; 및
    상기 인증 및 상기 거래 내역 처리를 위하여 상기 스마트카드와 상기 샘카드 사이의 데이터 통신을 제어하는 제어부
    를 포함하고,
    상기 제어부는,
    상기 스마트카드 또는 샘카드에 의해 생성된 데이터 유닛에 포함된 명령의 실행 결과를 나타내는 SW(Status Word) 필드의 성공 값에 따라 푸쉬(push) 명령을 이용하여 상기 샘카드와 상기 스마트카드 사이의 데이터 통신을 제어하고,
    상기 푸쉬 명령은,
    상기 SW 필드의 성공 값에 따라 스마트카드와 샘카드 간의 거래를 중지시키거나 또는 상기 스마트카드와 샘카드 간의 거래를 허용하는 명령을 포함하는 단말.
  2. 제1항에 있어서,
    상기 푸쉬 명령은
    상기 스마트카드에 의해 생성된 데이터 유닛(data unit)을 상기 샘카드로 전달하거나, 상기 샘카드에 의해 생성된 데이터 유닛을 상기 스마트카드로 전달하는 것인 단말.
  3. 제1항에 있어서,
    상기 샘카드는
    상기 제어부에 의해 전송된 신호가 상기 전자 거래의 처리와 관련된 제1 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈;
    상기 판단 결과 및 상기 제1 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 동작 명령 생성 모듈;
    상기 동작 명령에 따라 상기 제1 데이터 유닛에서 추출된 거래 상태 확인 또는거래 내역 처리를 수행하는 처리 모듈; 및
    상기 처리 결과를 기초로 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 제2 데이터 유닛을 생성하는 데이터 유닛 생성 모듈
    을 포함하는 단말.
  4. 제3항에 있어서,
    상기 샘카드는
    상기 제1 데이터 유닛의 해독 또는 상기 제1 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키(key)를 포함하는 암호 모듈을 더 포함하고,
    상기 동작 명령 생성 모듈은
    상기 암호 모듈을 이용하여 상기 제1 데이터 유닛의 유효성을 검증하는 검증부;
    상기 암호 모듈을 이용하여 상기 제1 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및
    상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 추출부
    를 포함하는 단말.
  5. 제3항에 있어서,
    상기 샘카드는
    상기 제2 데이터 유닛의 암호화 또는 상기 제2 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함하고,
    상기 데이터 유닛 생성 모듈은
    상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 결정부;
    상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 변환부;
    상기 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 암호화부; 및
    상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 상기 제2 데이터 유닛을 생성하는 데이터 유닛 생성 수행부
    를 포함하는 단말.
  6. 제1항에 있어서,
    상기 샘카드는
    상기 제어부에 의해 전송된 신호가 초기화 명령인지 여부를 판단하는 판단 모듈;
    상기 판단 결과에 따라 상기 샘카드를 초기화하는 초기화 모듈; 및
    상기 초기화 결과를 기초로 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 데이터 유닛을 생성하는 데이터 유닛 생성 모듈
    을 포함하는 단말.
  7. 스마트카드와 샘카드 사이의 데이터 통신을 제어하며, 전자 거래를 수행하는 전자 거래 시스템에 있어서,
    인증 정보 및 거래 내역 정보가 포함된 제1 데이터 유닛을 생성하는 스마트카드; 및
    상기 제1 데이터 유닛을 전달 받아 스마트카드의 인증을 수행하고, 상기 스마트카드와의 전자 거래를 위하여 거래 내역 처리를 수행하며, 상기 스마트카드의 다음 동작과 관련된 명령을 포함하는 제2 데이터 유닛을 생성하는 샘카드
    를 포함하고,
    상기 스마트카드와 샘카드는,
    상기 스마트카드 또는 샘카드에 의해 생성된 제1 데이터 유닛 또는 제2 데이터 유닛에 포함된 명령의 실행 결과를 나타내는 SW(Status Word) 필드의 성공 값에 따른 푸쉬 명령에 따라 샘카드와 상기 스마트카드 사이의 데이터 통신을 제어되고,
    상기 푸쉬 명령은
    상기 SW 필드의 성공 값에 따라 스마트카드와 샘카드 간의 거래를 중지시키거나 또는 상기 스마트카드와 샘카드 간의 거래를 허용하는 명령을 포함하는 전자 거래 시스템.
  8. 제7항에 있어서,
    상기 샘카드는
    상기 스마트카드에 의해 전송된 신호가 상기 제1 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈;
    상기 판단 모듈의 출력 및 상기 제1 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 동작 명령 생성 모듈;
    상기 동작 명령에 따라 상기 제1 데이터 유닛에서 추출된 거래 상태 확인 또는 거래 내역 처리를 수행하는 처리 모듈; 및
    상기 처리 모듈의 출력을 기초로 상기 제2 데이터 유닛을 생성하는 데이터 유닛 생성 모듈
    을 포함하는 전자 거래 시스템.
  9. 제8항에 있어서,
    상기 샘카드는
    상기 제1 데이터 유닛의 해독 또는 상기 제1 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키(key)를 포함하는 암호 모듈을 더 포함하고,
    상기 동작 명령 생성 모듈은
    상기 암호 모듈을 이용하여 상기 제1 데이터 유닛의 유효성을 검증하는 검증부;
    상기 암호 모듈을 이용하여 상기 제1 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및
    상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 추출부
    를 포함하는 전자 거래 시스템.
  10. 제7항에 있어서,
    상기 스마트카드는
    상기 샘카드와의 통신에 의해 전송된 신호가 상기 제2 데이터 유닛을 포함한 명령인지 여부를 판단하는 판단 모듈;
    상기 판단 모듈의 출력을 기초로 상기 스마트카드의 동작 명령을 생성하는 동작 명령 생성 모듈;
    상기 동작 명령에 따라 상기 제2 데이터 유닛에서 추출된 거래 내역 정보를 처리하는 처리 모듈; 및
    상기 처리 모듈의 출력을 기초로 상기 샘카드의 다음 동작과 관련된 명령을 포함하는 제3 데이터 유닛을 생성하는 데이터 유닛 생성 모듈
    을 포함하는 전자 거래 시스템.
  11. 제10항에 있어서,
    상기 스마트카드는
    상기 제2 데이터 유닛의 해독 또는 상기 제2 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함하고,
    상기 동작 명령 생성 모듈은
    상기 암호 모듈을 이용하여 상기 제2 데이터 유닛의 유효성을 검증하는 검증부;
    상기 암호 모듈을 이용하여 상기 제2 데이터 유닛에 포함된 암호화된 데이터를 해독하는 해독부; 및
    상기 해독부로부터 해독된 데이터를 기초로 상기 스마트카드의 동작 명령을 추출하는 추출부
    를 포함하는 전자 거래 시스템.
  12. 제10항에 있어서,
    상기 스마트카드는
    상기 제3 데이터 유닛의 암호화 또는 상기 제3 데이터 유닛의 유효성을 검증하기 위한 적어도 하나의 키를 포함하는 암호 모듈을 더 포함하고,
    상기 데이터 유닛 생성 모듈은
    상기 샘카드의 다음 동작과 관련된 명령을 결정하는 결정부;
    상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 변환부;
    상기 암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 암호화부; 및
    상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 샘카드로 전송하기 위한 상기 제3 데이터 유닛을 생성하는 데이터 유닛 생성 수행부
    를 포함하는 전자 거래 시스템.
  13. 스마트카드와 통신을 수행하는 단말의 동작 방법에 있어서,
    (a) 상기 스마트카드를 인식하는 단계;
    (b) 인증 정보가 포함된 데이터 유닛을 통해 상기 스마트카드의 인증을 수행하는 단계; 및
    (c) 거래 내역 정보가 포함된 제1 데이터 유닛을 통해 거래 내역을 처리하는 단계
    를 포함하고,
    상기 단말에 내장된 샘카드에 의해 거래 내역 처리가 수행되도록 상기 단말은 푸쉬 명령을 이용하여 상기 스마트카드와 상기 샘카드 사이의 데이터 통신을 제어하고,
    상기 푸쉬 명령은,
    상기 스마트카드 또는 샘카드에 의해 생성된 데이터 유닛에 포함된 명령의 실행 결과를 나타내는 SW(Status Word) 필드의 성공 값에 따라 스마트카드와 샘카드 간의 거래를 중지시키거나 또는 상기 스마트카드와 샘카드 간의 거래를 허용하는 명령을 포함하는 것을 특징으로 하는
    단말의 동작 방법.
  14. 제13항에 있어서,
    상기 단계 (c)는
    상기 단말에 의해 상기 스마트카드로부터 상기 샘카드로 전달된 데이터 유닛이 상기 거래 내역 정보가 포함된 상기 제1 데이터 유닛인지 여부를 판단하는 단계;
    상기 판단 결과 및 상기 제1 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 단계;
    상기 동작 명령에 따라 상기 거래 내역 처리를 수행하는 단계; 및
    상기 처리된 거래 내역을 포함한 제2 데이터 유닛을 생성하는 단계
    를 포함하는 단말의 동작 방법.
  15. 제14항에 있어서,
    상기 샘카드의 동작 명령을 생성하는 단계는
    상기 제1 데이터 유닛의 유효성을 검증하는 단계;
    암호 모듈을 이용하여 상기 제1 데이터 유닛에 포함된 암호화된 데이터를 해독하는 단계; 및
    상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 단계
    를 더 포함하는 단말의 동작 방법.
  16. 제14항에 있어서,
    상기 제2 데이터 유닛을 생성하는 단계는
    상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 단계;
    상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 단계;
    암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 단계; 및
    상기 암호 모듈 및 상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 상기 제2 데이터 유닛을 생성하는 단계
    를 포함하는 단말의 동작 방법.
  17. 삭제
  18. 스마트카드와 샘카드가 상호 통신하여 전자 거래를 수행하는 방법에 있어서,
    (a) 상기 스마트카드가 거래 내역 정보를 포함하는 데이터 유닛을 생성하는 단계;
    (b) 상기 데이터 유닛을 상기 샘카드에 전송하는 단계;
    (c) 상기 샘카드가 상기 거래 내역 정보를 통해 상기 거래 내역을 처리하고 데이터 유닛을 생성하는 단계; 및
    (d) 상기 거래 내역 처리 결과를 상기 스마트카드에 전송하는 단계
    를 포함하고,
    상기 단계 (b) 및 상기 단계 (d)는
    푸쉬 명령을 이용하여 데이터가 전송되며,
    상기 스마트카드와 샘카드는,
    상기 스마트카드 또는 샘카드에 의해 생성된 데이터 유닛에 포함된 명령의 실행 결과를 나타내는 SW(Status Word) 필드의 성공 값에 따라 샘카드와 상기 스마트카드 사이의 데이터 통신을 제어되고,
    상기 푸쉬 명령은
    상기 SW 필드의 성공 값에 따라 스마트카드와 샘카드 간의 거래를 중지시키거나 또는 상기 스마트카드와 샘카드 간의 거래를 허용하는 명령을 포함하는 것을 특징으로 하는
    전자 거래 수행 방법.
  19. 제18항에 있어서,
    상기 단계 (c) 이전에
    상기 샘카드에 전송된 데이터 유닛을 통해 상기 스마트카드의 인증을 수행하는 단계를 더 포함하는 전자 거래 수행 방법.
  20. 제18항에 있어서,
    상기 단계 (c)는
    상기 샘카드에 전송된 데이터 유닛이 상기 거래 내역 정보가 포함된 제1 데이터 유닛인지 여부를 판단하는 단계;
    상기 판단 결과 및 상기 제1 데이터 유닛을 기초로 상기 샘카드의 동작 명령을 생성하는 단계;
    상기 동작 명령에 따라 상기 제1 데이터 유닛에서 거래 내역 정보를 추출하여 거래 내역을 처리하는 단계; 및
    상기 처리된 거래 내역을 기초로 상기 스마트카드에 전송하기 위한 제2 데이터 유닛을 생성하는 단계
    를 포함하는 전자 거래 수행 방법.
  21. 제20항에 있어서,
    상기 샘카드의 동작 명령을 생성하는 단계는
    상기 제1 데이터 유닛의 유효성을 검증하는 단계;
    암호 모듈을 이용하여 상기 제1 데이터 유닛에 포함된 암호화된 데이터를 해독하는 단계; 및
    상기 해독된 데이터를 기초로 상기 샘카드의 동작 명령을 추출하는 단계
    를 포함하는 전자 거래 수행 방법.
  22. 제20항에 있어서,
    상기 제2 데이터 유닛을 생성하는 단계는
    상기 스마트카드의 다음 동작과 관련된 명령을 결정하는 단계;
    상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 단계;
    암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 단계; 및
    상기 암호화된 데이터를 기초로 상기 스마트카드로 전송하기 위한 상기 제2 데이터 유닛을 생성하는 단계
    를 포함하는 전자 거래 수행 방법.
  23. 제18항에 있어서,
    상기 단계 (a)는
    상기 샘카드와의 통신에 의해 상기 스마트카드가 인식되었는지 여부를 판단하는 단계;
    상기 판단 결과를 기초로 상기 스마트카드의 동작 명령을 생성하는 단계; 및
    상기 동작 명령에 따라 상기 스마트카드의 인증 정보 및 거래 내역 정보를 포함하는 데이터 유닛을 생성하는 단계
    를 포함하는 전자 거래 수행 방법.
  24. 제23항에 있어서,
    상기 스마트카드의 인증 정보 및 거래 내역 정보를 포함하는 데이터 유닛을 생성하는 단계는
    상기 샘카드의 다음 동작과 관련된 명령을 결정하는 단계;
    상기 결정된 동작 명령을 미리 정해진 구조로 변환하는 단계;
    암호 모듈 및 상기 변환된 구조를 이용하여 암호화된 데이터를 생성하는 단계; 및
    상기 암호화된 데이터를 기초로 상기 샘카드로 전송하기 위한 데이터 유닛을 생성하는 단계
    를 포함하는 전자 거래 수행 방법.
  25. 삭제
  26. 제13항 내지 제16항, 및 제18항 내지 제24항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
KR1020120017323A 2012-02-21 2012-02-21 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법 KR101663852B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120017323A KR101663852B1 (ko) 2012-02-21 2012-02-21 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120017323A KR101663852B1 (ko) 2012-02-21 2012-02-21 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR20150035169A Division KR20150037787A (ko) 2015-03-13 2015-03-13 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130095919A KR20130095919A (ko) 2013-08-29
KR101663852B1 true KR101663852B1 (ko) 2016-10-07

Family

ID=49219013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120017323A KR101663852B1 (ko) 2012-02-21 2012-02-21 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101663852B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107229958A (zh) * 2017-07-21 2017-10-03 金邦达有限公司 一种智能ic卡数据检测方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020082847A1 (en) 2000-12-21 2002-06-27 Jean-Jacques Vandewalle Automatic client proxy configuration for portable services
KR100815148B1 (ko) 2007-10-01 2008-03-19 주식회사 스마트카드연구소 근거리 무선통신을 이용한 결제보안 시스템 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070098175A (ko) * 2006-03-31 2007-10-05 박성종 이종 체계의 지불처리가 가능한 교통카드 및 그 처리방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020082847A1 (en) 2000-12-21 2002-06-27 Jean-Jacques Vandewalle Automatic client proxy configuration for portable services
KR100815148B1 (ko) 2007-10-01 2008-03-19 주식회사 스마트카드연구소 근거리 무선통신을 이용한 결제보안 시스템 및 방법

Also Published As

Publication number Publication date
KR20130095919A (ko) 2013-08-29

Similar Documents

Publication Publication Date Title
US11218323B2 (en) Method and system for producing a secure communication channel for terminals
ES2632795T3 (es) Sistema de pago
CN107358441B (zh) 支付验证的方法、系统及移动设备和安全认证设备
CN106464498B (zh) 由第二电子实体认证第一电子实体的方法以及电子实体
EP1977552B1 (en) Method and system for personalizing smart cards using asymmetric key cryptography
EP4081921B1 (en) Contactless card personal identification system
CN101828357B (zh) 用于证书提供的方法和装置
CN108768963B (zh) 可信应用与安全元件的通信方法和系统
US20230368194A1 (en) Encryption method and decryption method for payment key, payment authentication method, and terminal device
JP2004104539A (ja) メモリカード
EP1733504A1 (en) Authentication between device and portable storage
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
WO2005091149A1 (ja) バックアップ装置、被バックアップ装置、バックアップ媒介装置、バックアップシステム、バックアップ方法、データ復元方法、プログラム及び記録媒体
CN101771680B (zh) 一种向智能卡写入数据的方法、系统以及远程写卡终端
JPH1032570A (ja) 電子署名システム
WO2015061354A1 (en) Facilitating secure transactions using a contactless interface
JP2003143131A (ja) 電子情報管理装置、携帯情報端末装置、管理サーバ装置及びプログラム
KR101583514B1 (ko) 지문센서와 장착식 스마트 카드와 메모리 카드를 구비한 유에스비 보안장치 및 그 보안 방법
CN113545021B (zh) 预先授权设备的注册
CN113316915B (zh) 解锁数据存储设备
KR102415628B1 (ko) Dim을 이용한 드론 인증 방법 및 장치
KR101663852B1 (ko) 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법
CN111246480A (zh) 基于sim卡的应用通信方法、系统、设备及存储介质
KR20150037787A (ko) 전자 거래 내역 처리를 직접 수행하는 샘카드를 이용한 전자 거래 수행 장치 및 방법
CN113010908B (zh) 一种适用于大容量sim卡的安全存储方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
A107 Divisional application of patent
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20150313

Effective date: 20160608

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
FPAY Annual fee payment

Payment date: 20190708

Year of fee payment: 4