KR20040045495A - 스마트 카드에서의 바이트 전송 관리 - Google Patents

스마트 카드에서의 바이트 전송 관리 Download PDF

Info

Publication number
KR20040045495A
KR20040045495A KR10-2004-7005126A KR20047005126A KR20040045495A KR 20040045495 A KR20040045495 A KR 20040045495A KR 20047005126 A KR20047005126 A KR 20047005126A KR 20040045495 A KR20040045495 A KR 20040045495A
Authority
KR
South Korea
Prior art keywords
module
operating system
smart card
bytes
card
Prior art date
Application number
KR10-2004-7005126A
Other languages
English (en)
Other versions
KR100960859B1 (ko
Inventor
멘느까르조제
지앙크리스또프
Original Assignee
슐럼버거 시스템즈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 슐럼버거 시스템즈 filed Critical 슐럼버거 시스템즈
Publication of KR20040045495A publication Critical patent/KR20040045495A/ko
Application granted granted Critical
Publication of KR100960859B1 publication Critical patent/KR100960859B1/ko

Links

Classifications

    • 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/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10009Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves
    • G06K7/10297Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation sensing by radiation using wavelengths larger than 0.1 mm, e.g. radio-waves or microwaves arrangements for handling protocols designed for non-contact record carriers such as RFIDs NFCs, e.g. ISO/IEC 14443 and 18092
    • 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
    • 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/0008General problems related to the reading of electronic memory record carriers, independent of its reading method, e.g. power transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Lock And Its Accessories (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

본 발명은 스마트 카드(CAR)에 관한 것이다. 상기 스마트 카드(CAR)는 바이트 전송의 트리거를 관리하기 위한 운영 체계 외부의 적어도 하나의 모듈(TIM)을 포함한다. 상기 외부 모듈(TIM)은 상기 운영 체계를 감시하는 보조 수단으로서 동작한다. 보조 수단으로서 역할하는 경우, 상기 외부 모듈은 운영 체계가 바이트 전송을 강제로 트리거하게 할 수 있다. 따라서, 바이트 간 시간 간격이 판독기가 스마트 카드와 통신할 수 있도록 더 잘 지켜진다. 이 시간 간격이 지켜지지 않는 경우, 판독기는 카드 인식을 실패한다. 따라서 본 발명은 카드의 배출을 방지한다.

Description

스마트 카드에서의 바이트 전송 관리{Management of byte transmission in a smartcard}
일반적으로, 스마트 카드를 파워업(power up)하는 것은 마이크로프로세서에 의한 인터럽트로서 수신된 동작을 인가하는 것을 포함한다. 이 동작은 일반적으로 "리셋(RESET)"으로 지칭된다. 메모리의 어떤 어드레스에 있는 인터럽트 벡터 또는코드 시퀀스를 갖는다. 이 어드레스는 또한 일반적으로 시작 시퀀스로의 점프 명령어를 포함한다.
스마트 카드와의 통신은 판독기를 통해 수행된다. 표준인 ISO 7816-3은 카드가 외부와 통신하는데 사용되어야 하는 통신 프로토콜을 정의한다는 것을 유념한다. 본 명세서는 모든 통신 중에 교환되는 정보 및 전기 신호를 기술한다. 카드와 카드 판독기 사이에서 통신하는 동안 교환되는 데이터의 형식 뿐 아니라 전류, 전압 및 신호 주파수가 표준화되어 있다.
스마트 카드가 파워업되는 경우, 상기 스마트 카드는 판독기에 메시지를 전송한다. 스타트 업(start-up)에서의 카드로부터의 상기 메시지는 일반적으로 표준(OSI 7816-3 및 7816-4)에 따라 리셋 응답(ATR; Answer-To-Reset)으로 지칭된다. 상기 메시지는 특히 통신 프로토콜에 관한 스마트 카드의 능력을 판독기에 나타내는 정보를 포함한다. 예를 들어, 상기 카드는 판독기에 다음을 나타낸다.
- 프로토콜 유형(T=0, T=1, 등)
- 전송 속도(예를 들어: 9600 보드(baud), 38400 보드 등)
- 명령 실행 타임 아웃
- 등
상기 ATR 메시지는 또한 기록 정보(historical information)를 포함한다. 이 정보는 제품 식별 정보, 버전, 사용된 칩의 유형, 카드 상태 등을 포함한다.
상기 ATR 메시지는 다수의 바이트들로 구성된다. 마이크로 제어기를 갖는 대부분의 스마트 카드들에 있어서, 이 메시지의 바이트들은 순차적으로 전송된다. 일반적으로, 카드 운영 체계가 점점 더 복잡해지고 있기 때문에 그리고 보안이 점점 중요해지기 때문에, ATR 메시지를 전송하는 동안 운영 체계는 사용자가 제어하도록 허용하기 전에 어떤 수의 처리 동작을 수행해야 한다. 구체적으로, 운영 체계는 ATR의 제1 바이트를 전송하고 그 다음 제1 처리 동작을 수행한다. 이 처리 동작 이후에, 상기 운영 체계는 제2 바이트를 전송하고 그 다음 제2 처리 동작을 수행한다. 이 제2 처리 동작 이후에, 상기 운영 체계는 제3 바이트를 전송하는 등의 동작을 수행한다. 상기 처리 동작은 가변적인 실행 시간을 가지면서 다소 복잡할 수 있다. 이러한 가변적인 실행 시간으로 인하여, ATR 메시지에서의 각 바이트 전송 간의 시간 간격을 결정하는 것은 매우 어렵다.
하지만, 특히 다음을 정의하는 표준이 있다.
- ATR 메시지의 2 바이트의 전송간에 초과되지 않아야 하는 최대 시간 간격,
- 초과되지 않아야 하는 ATR 메시지의 최대 전체 전송 기간.
판독기가 스마트 카드와 통신할 수 있도록 상기 표준들이 지켜져야 한다. 이 시간 간격이 지켜지지 않는 경우, 판독기는 카드 인식을 실패하고 대개 판독기에 포함된 메커니즘은 하우징(housing)에서 상기 카드를 배출시킨다. 상기 카드가 배출되는 것은 상기 카드 사용자에게 불편을 준다.
본 발명은 스마트 카드에서의 바이트 전송 관리에 관한 것이다. 본 발명을 설명하기 위해 선택된 예는 국제 표준화 기구(ISO; international standardisation organisation) 표준 7816-3 및 7816-4에 정의된 리셋 응답(ATR; Answer-To-Reset) 메시지로 알려진 응답 메시지의 전송의 예이다. 상기 메시지는 스마트 카드가 카드 판독기에 의해 파워업(power up)되는 경우 상기 스마트 카드가 접속되는 카드 판독기에 상기 스마트 카드에 의해 전송된다. 본 발명은 스마트 카드 뿐 아니라 스마트 카드 및 관련된 카드 판독기를 포함하는 시스템에 관한 것이다.
본 발명에 있어서, 판독기(reader)는 스마트 카드와 정보를 교환할 수 있는 장치라는 것을 유념한다.
본 발명은 또한 스마트 카드에 의한 바이트 전송의 관리 방법 및 결과적인 컴퓨터 프로그램에 관한 것이다.
도 1은 본 발명이 적용될 수 있는 구조의 개략도이다.
도 2는 스마트 카드, 특히 운영 체계 외부의 모듈을 나타내는 구조의 개략도이다.
도 3a 및 도 3b는 제1 실시예의 다수의 단계들을 나타내는 알고리즘이다.
도 4는 카드 판독기, 운영 체계 및 이 해결책에 따른 외부 모듈간의 정보의 교환을 나타내는 제1 실시예에 따른 정보 흐름의 개략도이다.
도 5는 제1 실시예의 변형을 나타내는 알고리즘이다.
도 6은 카드 판독기, 운영 체계 및 외부 모듈간의 정보의 교환을 나타내는 제1 실시예의 변형에 따른 정보 흐름의 개략도이다.
도 7은 외부 모듈이 소프트웨어 에이전트인 본 발명의 제2 실시예를 나타내는 알고리즘이다.
따라서 본 발명의 일 목적은 카드 사용자의 만족을 증진시키는 것이다.
상기 목적을 달성하기 위하여, 본 발명에 따라, 운영 체계 외부의 모듈로서 바이트 전송을 트리거하는 모듈이 안출된다.
상기 외부 모듈은 상기 운영 체계를 감시하는 보조 수단으로서 동작한다. 보조 수단으로서 역할하는 경우, 상기 외부 모듈은 운영 체계가 바이트 전송을 강제로 트리거하게 할 수 있다. 따라서, 바이트 간 시간 간격이 더 잘 지켜진다. 따라서 본 발명은 카드의 배출을 방지하므로 카드 사용자의 만족을 증진시킨다.
첨부된 도면들을 참조하고 예로서 제공되는 이하 설명을 읽음으로써 본 발명을 더 용이하게 이해할 것이다.
설명을 단순화하기 위하여, 도면에 도시된 동일한 구성요소는 동일한 참조번호를 갖는다.
도 1은 본 발명이 적용될 수 있는 시스템(SYS)을 나타낸다. 상기 시스템(SYS)은 스마트 카드(CAR) 및 통신 링크(LIA)를 통해 접속되는 스마트 카드 판독기(LEC)를 포함한다. 통신 메시지는 바람직하기로는 표준(ISO 7186-4)에 따른 형식을 사용하는 링크를 통해 전송된다.
도 2는 스마트 카드(CAR)의 구조의 개략도를 나타낸다. 상기 스마트 카드(CAR)는 전자 모듈(MOD)을 포함한다. 상기 모듈(MOD)은 마이크로 제어기(MIC)를 포함하고 외부와 통신하기 위한 접점(contact)을 포함한다. 일반적으로, 마이크로 제어기는 다음을 포함한다.
- 명령을 실행하기 위한 마이크로프로세서(CPU).
- 비휘발성 메모리인 읽기 전용 메모리(ROM; Read Only Memory). 상기 ROM의 내용은 공장에서 구워지고(burn) 따라서 수정될 수 없다. 암호화 알고리즘, 운영 체계(SE), 응용 프로그램 인터페이스(API; application programming interface) 등이 상기 ROM에 기록될 수 있다.
- 비휘발성 메모리, 예를 들어 전기적 소거 및 프로그램 가능 읽기 전용 메모리(EEPROM; electrically erasable programmable read only memory). EEPROM은 일반적으로 각 카드에 특유한 데이터, 예를 들어 카드홀더(cardholder) 아이덴티티, 서비스로의 액세스 권한, 파일 시스템, 카드의 모든 응용 프로그램 등을 저장하는데 사용된다.
- 휘발성 메모리인 램(RAM)으로서, 카드 명령을 실행하기 위한 작업 공간인램.
- 데이터 암호화를 위한 보안 유닛(CRYP).
- 전원 전압, 클록 속도 등을 고려하는 유닛.
- 예를 들어 당업자에게 공지된, 카드(CAR) 및 판독기(LEC)간의 통신을 위한, 범용 비동기화 송수신기(UART; Universal Asynchronous Receiver Transmitter) 유형의 입력/출력 포트.
- 데이터, 어드레스 및 명령 교환을 위해 다양한 부분들을 접속시키는 일련의 버스들(BUS).
또한 상기 모듈은 판독기, 특히 다음과 통신하기 위한 접점들을 포함한다.
- 입력 출력(I/O) 접점.
- 전기적 접점(VCC 및 VPP), 및 그라운드(GND)(전기적 접점(VPP)은 일반적으로 프로그래밍을 위해 전압을 공급하는데 사용되고, 접점(VCC)은 카드에 전원을 공급하는데 사용된다).
- 카드를 리셋하거나 파워업하기 위한 접점(RES).
운영 체계는 요청시에 실행할 수 있는 명령 세트를 구비한다. 상기 운영 시스템은 표준화되고 보안된 통신 프로토콜을 사용하여 외부와의 통신을 관리한다. 제공된 명령들은 실행되기 전에 운영 체계에 의해 확인된다.
카드(CAR)가 파워업되는 경우, 상기 카드는 메시지를 판독기(LEC)에 전송한다. 상기 메시지는 일반적으로 리셋 응답(ATR; Answer-To-Reset) 메시지로 지칭된다. 상기 ATR 메시지는 일반적으로 다수의 바이트들로 구성된다.
상술된 바와 같은 문제점은 ATR 메시지에서의 2 바이트 전송간의 시간 간격에 관한 것이다.
제1 실시예에 따라, 해결책은 프로그램 가능 클록(TIM)(타이머)과 같은 타이머 장치의 사용을 포함한다. 프로그램 가능 클록은 "n" 클록 사이클마다 인터럽트 신호를 발생시키는 클록을 사용하는 회로이다. 이 클록은 상기 클록의 주파수가 변경될 수 있기 때문에 프로그램 가능하다고 말해진다.
상기 프로그램 가능 클록(TIM)은 카드(CAR)에 위치하거나 상기 카드에 직접적으로 또는 간접적으로 접속되는 외부 장치에 위치할 수 있다. 예를 들어, 이 클록(TIM)은 판독기 장치의 구성요소일 수 있다. 간접적으로 접속되는 장치의 예는 판독기(LEC)가 접속되는 컴퓨터이다.
본 실시예에 있어서, 프로그램 가능 클록(TIM)은 스마트 카드(CAR)에 포함된다.
본 발명을 더 용이하게 이해하도록 본 발명을 예시하기 위하여 각각 도 3a 및 도 3b에 도시된 알고리즘(ALG1 및 ALG2)의 단계들을 참조할 것이다.
상기 2개의 알고리즘(ALG1 및 ALG2)은 상호 작용한다. 다시 말하면, 운영 체계가 처리 동작(processing operation)을 수행하는 경우, ATR 바이트들이 전송될 수 있도록 프로그램 가능 클록에 의해 트리거되는 인터럽트에 의해 알고리즘(ALG1)이 언제라도 인터럽트될 수 있다.
본 실시예에 있어서, 제1 알고리즘(ALG1)은 다음의 주 단계들을 포함한다.
- 제1 단계(ET11)는 카드를 파워업하는 단계로 구성된다.
- 제2 단계(ET21)에서, 운영 체계는 프로그램 가능 클록(TIM)이 ATR 바이트들의 전송을 위한 인터럽트를 트리거하도록 상기 프로그램 가능 클록(TIM)을 활성화시킨다.
- 제3 단계(ET31)에서, 운영 체계는 일련의 처리 동작(T1 - Tn)을 수행한다. 상기 예에 있어서, 매개변수 "n"은 수행될 처리 동작들의 수이다.
단계들(ET21 및 ET31)은 어떤 순서로도 실행될 수 있다. 분명히, 다른 단계들이 수행될 수 있다. 예를 들어, 파워업 이후에 즉시 활성화가 일어나지 않을 수 있다. 처리 단계들이 단계들(ET11 및 ET31) 사이에 예정될 수 있다.
제2 알고리즘(ALG2)은 ATR 바이트들(Oj(j=1,..., m))의 전송 단계들을 예시한다. 상기 알고리즘(ALG2)은 제1 알고리즘의 제2 단계(ET21)에서 활성화된 이후에 수행된다. 상기 알고리즘(ALG2)은 다음 단계들을 포함하는 프로그래밍 루프(loop)이다.
- 제1 단계(ET12)에서, 프로그램 가능 클록은 운영 체계를 인터럽트할 수 있는 인터럽트(I1)를 트리거한다. 상기 운영 체계는 현재 작업, 예를 들어 이미 시작한 경우 진행 중인 처리 동작(T1 - Tn)을 인터럽트한다.
- 단계(ET22)에서, 인터럽트(I1)를 수신한 후에, 운영 체계는 ATR 바이트의 전송을 위해 계획된 코드 시퀀스로 점프하여 제1 ATR 바이트(O1)의 전송을 시작한다.
- 그 다음, 단계(ET42)는 ATR 메시지가 전송될 다른 바이트들을 포함하는지 여부를 결정하는 것으로 구성된다. 본 실시예에 있어서, 이 단계는 ATR 메시지의아직도 전송될 바이트들의 수(L(ATR))를 결정하는 단계 및 하나의 바이트를 전송한 후에 상기 수를 1 단위만큼 감소(L(ATR)-1)시키는 단계로 구성된다.
- 단계(ET52)에서, 아직도 전송될 바이트들의 수가 검사된다. 여기서 2가지 가능성이 있다.
제1 가능성:
아직도 전송될 바이트들의 수(L(ATR))가 1보다 큰 경우, 단계(ET12)가 반복된다. 단계(E12)에서, 프로그램 가능 클록은 알고리즘(ALG1)의 실행을 다시 인터럽트할 수 있는 신규 인터럽트(I2)를 자동적으로 트리거한다. 이 신규 인터럽트(I2)에 이어서, 운영 체계는 제2 바이트(O2)를 전송한다. 처리가 계속되고, 아직 전송되지 않은 바이트들의 수(L(ATR))의 값이 1 단위만큼 감소되고 인덱스(j)는 또한 1 단위만큼 증가된다. 모든 바이트들이 전송된 경우, 바람직하기로는 ATR 메시지의 바이트들의 전송이 완료되었다는 메시지가 운영 체계에 통보된다.
제2 가능성:
단계(ET52)에서 수행된 검사가 전송될 바이트가 더 이상 없다라는 것을 나타내는 경우, 처리 동작이 완료될 때까지 계속될 수 있다.
바람직하기로는, 한 바이트(On)를 전송한 후에, 운영 체계는 단계(ET32)에서 처리 동작을 시작하거나, 운영 체계가 인터럽트(I1) 이전에 시작한 처리 동작을 계속한다. 예를 들어, 단계(ET52)에서의 아직도 전송될 바이트들의 수를 결정하기 위한 검사 동안, 운영 체계는 신규 인터럽트가 트리거될 때까지 이전에 인터럽트된 처리를 계속할 수 있다.
도 4는 판독기(LEC), 운영 체계 및 프로그램 가능 클록(TIM)간의 시간에 따른 정보의 교환을 나타낸다. 도 4는 ATR 메시지의 바이트들의 전송이 트리거될 때를 보다 명백하게 나타낸다. 도 4에 있어서, 인터럽트 또는 바이트(ΔOn)의 전송을 위한 지연은 실제와 멀리 떨어져있다. 도 3a, 도 3b 및 도 4간의 대응을 보다 잘 이해하기 위하여, 이하 설명에서, 도 3a 및 도 3b의 단계들이 괄호안에 표시된다.
파워업(ET11) 이후에, 운영 체계는 프로그램 가능 클록을 활성화하기 위해 제1 메시지를 전송한다(ET21).
일단 활성화된 경우, 프로그램 가능 클록은 상기 운영 체계가 현재 처리 동작을 인터럽트하도록 인터럽트(I1)를 운영 체계에 전송한다(ET12).
인터럽트를 수신한 후에, 운영 체계는 제1 바이트(O1)를 카드 판독기에 전송한다(ET22). 전송 시간은 예를 들어 ΔO1이다.
처리가 계속되고, 제2 인터럽트(I2)가 운영 체계에 전송되고, 인터럽트의 수신 이후에 운영 체계는 제2 바이트(O2)를 카드 판독기에 전송한다. 전송 시간은 예를 들어 ΔO2이다.
도 4는 바이트(O(m-1))의 전송 종료와 다음 바이트(O(m))의 전송이 트리거된 시간 사이의 시간 간격(ΔRm)을 나타낸다. 이 간격은 인터럽트를 전송하는데 필요한 시간으로 거의 줄어든다.
본 발명의 다른 변형은 각 인터럽트 이후에 적어도 2개의 바이트를 전송하는 것으로 구성될 수 있다. 인터럽트 이후에 하나의 바이트를 전송하는 것 대신에, 각 인터럽트 이후에 k개의 바이트의 전송을 허용하도록 프로그램 가능 클록이 프로그램될 수 있다. 이 변형을 위해 프로그램 가능 클록은 상기 k 바이트를 전송하기 위해 2개의 인터럽트 간에 충분한 시간이 있도록 프로그램되어야 한다. 도 5는 상기 변형을 나타내는 알고리즘(ALG3)의 도면이다. 도 2에 도시된 알고리즘(ALG2)에 비해 단계(ET72)가 도 5에 추가되었다. 이 단계(ET72)는 인터럽트 이후에 연속해서 전송되는 바이트의 수를 검사하는 단계를 포함한다. 2가지 가능성이 있다.
제1 가능성
전송될 바이트의 수가 k와 동일하지 않은 경우, 운영 체계는 단계(ET22)에서 다른 하나의 바이트를 전송한다. 그 다음, 수(k)는 1 단위만큼 증가되고 인덱스(j)가 1 단위만큼 증가된다.
제2 가능성
전송된 바이트의 수가 k와 동일한 경우, 운영 체계는 인터럽트를 전송하고 단계(ET12)가 수행된다. 이때, 매개변수(k)는 단계(ET72)에서 검사가 수행될 수 있도록 리셋된다.
도 6은 판독기(LEC), 운영 체계 및 프로그램 가능 클록(TIM)간의 시간(t)에 따른 정보의 흐름을 나타낸다. 도 6은 각 인터럽트 이후에 3개의 바이트가 전송된 예이다(k=3). 도 6은 2개의 인터럽트 사이에 바이트들이 중단되지 않고 연속해서 전송되는 것을 분명히 나타낸다. 분명히, 도 4에 도시된 바와 같이, 인터럽트 또는 바이트의 전송을 위한 지연은 실제와는 멀리 떨어져 있다.
도 7은 운영 체계 외부의 에이전트가 생성되는 제2 실시예를 나타내는 알고리즘(ALG4)이다. 제1 실시예에 있었던 운영 체계를 인터럽트할 필요가 이 실시예에있어서는 더이상 없다. 이 에이전트는 소프트웨어 프로그램이고, 상기 소프트웨어 프로그램의 기능은 ATR 메시지의 바이트들의 전송을 트리거하는 것 뿐 아니라 상기 바이트들을 전송하는 것이다.
상기 에이전트는 예를 들어 상술된 UART 구성 요소일 수 있다. 상기 에이전트는 어떤 수의 바이트들을 주기적으로 전송하도록 프로그램될 것이다. 또한, 에이전트는 바이트 전송을 트리거하고 바이트를 전송하는 것에 대한 의무를 이행할 능력을 갖는 제2 마이크로프로세서를 포함하는 모듈일 수 있다.
제2 실시예를 나타내는 알고리즘(ALG4)은 다음 단계들을 포함한다.
알고리즘(ALG4)의 단계(ET13)에서, 스마트 카드는 파워업된다.
단계(ET23)에서, 마이크로프로세서는 명령(RESET)을 수신하고 에이전트를 활성화시킨다. 활성화는 상기 에이전트를 시작하는 것으로 구성된다.
단계(ET33)에서, 운영 체계는 ATR 메시지의 모든 바이트들을 상기 에이전트로 전송한다.
단계(ET43)에서, ATR 메시지의 바이트들이 메모리, 예를 들어 상기 에이전트와 관련된 버퍼 메모리에 저장된다.
활성화 및 ATR 메시지의 바이트의 수신 이후에, 상기 에이전트는 바이트 전송의 트리거 및 상기 바이트들의 전송을 책임지게 된다. 이때, 운영 체계는 가능하게는 병렬로 처리 동작(T1 - Tn)과 같은 다른 태스크에 집중할 수 있다(단계 ET53). 전송 방법은 도 3b에서 설명된 것일 수 있다. 단계(ET63)에서, 바이트 전송은 도 3b의 단계(ET22)에서와 같이 바이트를 전송하는 것으로 구성된다.단계(ET73)는 도 3b의 단계(ET42)에서와 같이 ATR 메시지가 전송될 다른 바이트들을 포함하는지 여부를 결정하는 단계로 구성된다. 본 실시예에 있어서, 상기 단계는 ATR 메시지에서 아직도 전송될 바이트들의 수(L(ATR))를 결정하고 하나의 바이트를 전송한 이후에 상기 수를 1 단위만큼 감소시키는 단계로 구성된다. 도 3b의 단계(ET52)와 동일한 단계(ET83)는 아직도 전송될 바이트들의 수를 검사하는 단계로 구성된다. 여기서 2가지 가능성이 있다.
제1 가능성:
아직도 전송될 바이트들의 수(L(ATR))가 1보다 큰 경우, 단계(ET63)가 반복된다. 에이전트는 제2 바이트(O2)를 전송한다. 처리가 계속되고, 아직 전송되지 않은 바이트들의 수의 값이 1 단위만큼 감소된다. 모든 바이트들이 전송된 경우, 바람직하기로는 ATR 메시지의 바이트들의 전송이 완료되었다는 메시지가 운영 체계에 통보된다.
제2 가능성:
단계(ET83)에서 수행된 검사가 전송될 바이트가 더 이상 없다라는 것을 나타내는 경우, 단계(ET93)에서 ATR 메시지의 바이트 전송이 완료되었다는 메시지가 운영 체계에 통보된다.
이 제2 실시예를 예시하기 위해 선택된 전송 과정이 도 3b의 알고리즘(ALG2)에 대응하지만 도 5의 알고리즘(ALG3)이 더 용이하게 될 수 있다는 것을 유념한다.
또한, 상술된 단계(ET33)에서, 운영 체계는 버퍼 메모리의 크기 및 전송될 ATR 메시지의 바이트들의 수에 따라 ATR 메시지의 모든 바이트를 따로 따로 상기에이전트에 전송할 수 있다는 것을 유념한다.
상술된 에이전트는 카드에, 판독기에 또는 버스를 통해 상기 카드에 직접적으로 또는 간접적으로 접속되는 어떤 다른 장치에 위치할 수 있다는 것을 유념한다. 본 예에서, 판독기는 카드에 직접 접속되는 것을 고려한다. 간접적으로 접속되는 장치의 예는 카드 판독기를 관리하는 컴퓨터이다.
일반적으로, 본 발명은 바이트 전송의 트리거를 관리하기 위한 운영 체계 외부의 모듈(TIM)을 포함하는 스마트 카드(CAR)에 관한 것이다. 본 실시예에 있어서, 상기 모듈은 ATR 메시지를 형성하는 일련의 바이트들에서의 각 바이트의 전송을 트리거한다. 분명히, 본 발명은 하나의 모듈을 포함하는 카드에 제한되지 않고, 적어도 하나의 모듈을 포함하는 어떤 카드에 적용된다. 상기 모듈(TIM)은 사용전에 운영 체계에 의해 활성화되는 프로그램을 포함한다는 것이 상술되었다.
제1 실시예에 있어서, 상기 모듈(TIM)은 활성화 이후에 운영 체계의 진행 중에 있는 어떤 처리 동작을 인터럽트할 수 있고 상기 운영 체계가 바이트 전송을 강제로 트리거하게 할 수 있는 인터럽트를 발생시키는 프로그램 가능 클록이라는 것이 상술되었다.
제1 실시예에 있어서, 상기 프로그램 가능 클록은 다음 중 하나에 위치할 수 있는 것으로 상술되었다.
- 스마트 카드(CAR)에,
- 또는 상기 스마트 카드(CAR)에 직접적으로 또는 간접적으로 접속되는 장치에.
직접적으로 접속되는 장치의 예는 카드 판독기(LEC)이다.
또한 상기 모듈(TIM)은 활성화 이후에 바이트 전송을 트리거하고 바이트를 전송하는 것에 대한 의무를 이행할 능력을 갖는 프로그램을 포함하는 에이전트(agent)일 수 있다는 것이 상술되었다. 이 예를 구현하기 위하여, 상기 에이전트는 메모리, 예를 들어 버퍼 메모리를 필요로 한다. 상기 에이전트는 운영 체계에 의해 전송되는 모든 또는 몇몇 바이트들을 상기 메모리에 저장한다. 바람직하기로는, 상기 메모리는 ATR 메시지의 모든 바이트들을 포함할 수 있도록 충분히 크다.
상술된 바와 같이, 본 발명은 특히 당업자에 의해 리셋 응답(ATR; Answer-To-Reset) 바이트들로 알려진 리셋 바이트들에 적용된다. 상기 ATR 바이트들은 카드가 파워업된 후 상기 카드에 의해 전송된다.
또한, 상기 해결책은 스마트 카드 및 스마트 카드 판독기를 포함하는 스마트 카드 시스템에 관한 것이다. 상기 시스템은 바이트 전송의 트리거를 관리하기 위한 카드의 운영 체계 외부의 하나 (또는 몇 개의) 모듈(들)을 포함하는 것으로 상술되었다. 이 모듈의 위치는 상기 모듈이 카드에, 판독기에 또는 적어도 하나의 명령 라인을 통해 상기 카드에 직접적으로 또는 간접적으로 접속되는 어떤 다른 장치에 있을 수 있다는 점에서 중요하지 않다.
또한 상기 해결책은 스마트 카드(CAR)의 판독기(LEC)에 관한 것이다. 상기 판독기는 운영 체계에 의한 바이트 전송의 트리거를 관리하기 위한 모듈(TIM)을 포함한다. 상기 모듈(TIM)은 활성화 이후에 운영 체계의 진행 중에 어떤 처리 동작을인터럽트할 수 있고 상기 운영 체계가 바이트를 전송하게 할 수 있는 인터럽트를 발생시키는 프로그램 가능 클록이다.
본 발명은 또한 마이크로 제어기를 포함하는 스마트 카드(CAR) 및 스마트 카드 판독기(LEC)를 포함하는 시스템에서의 통신 방법에 관한 것이다. 상기 시스템은 바이트 전송의 트리거를 관리하기 위한, 운영 체계 외부의 모듈(TIM)을 포함한다. 상기 방법은 상기 모듈이 상기 카드로부터 상기 판독기(LEC)로의 적어도 하나의 바이트의 전송을 트리거하도록 상기 모듈을 활성화하는 단계를 포함한다.
상기 트리거 단계를 수행하기 위하여, 상기 제1 실시예에 있어서, 상기 모듈(TIM)은 카드에 포함되어 있는 운영 체계의 진행 중에 어떤 처리 동작을 인터럽트할 수 있고 상기 운영 체계에 의한 상기 판독기로의 적어도 하나의 바이트(ATR)의 전송을 트리거할 수 있는 인터럽트를 발생시킨다.
제2 실시예에 있어서, 상기 모듈은 "지능형(intelligent)" 소프트웨어 에이전트일 수 있다는 것이 상술되었다. 상기 에이전트의 활성화 이후에, 상기 방법은 모든 또는 몇몇 바이트들을 상기 에이전트와 관련된 메모리에 로딩하고, 상기 에이전트는 메모리에 로딩된 바이트들의 판독기로의 전송을 트리거하는 단계를 포함한다.
상기 트리거는 프로그램에 의해 수행된다. 이 프로그램은 모듈이 카드로부터 판독기(LEC)로의 바이트의 전송을 트리거하도록 상기 모듈을 활성화시키는 단계를 실행하기 위한 프로그램 코드 명령어를 포함한다. 데이터 처리 장치는 상술된 바와 같이 스마트 카드 또는 상기 스마트 카드(CAR)에 직접적으로 또는 간접적으로 접속된 장치일 수 있다.
마지막으로, 본 발명은 운영 체계를 포함하는 마이크로 제어기에 관한 것으로, 상기 마이크로 제어기는 바이트 전송을 트리거하기 위한 상기 운영 체계 외부의 모듈(TIM)을 포함한다.
이제, 본 발명이 다른 명백한 장점들을 제공한다는 것을 기술할 것이다. ATR 메시지의 바이트들이 트리거되는 때의 완벽한 제어를 제공할 뿐 아니라, 인터럽트가 몇몇 스마트 카드에 제공된 모듈, 즉 프로그램 가능 클록에 의해 트리거될 수 있다는 것이 상술되었다. 따라서 제1 실시예에 따른 본 발명의 방법을 구현하는 비용을 감소시킨다. 제2 실시예는 또한 운영 체계 외부의 소프트웨어 에이전트를 생성함으로써 인터럽트의 개념이 회피될 수 있다는 것을 나타내었다. 상기 소프트웨어에 의해 제공되는 장점은 운영 체계에 의한 활성화 이후에, 바이트 전송의 트리거 뿐 아니라 바이트의 전송을 관리한다는 것이다.
더욱이, 본 발명은 다른 무시할 수 없는 장점들을 제공한다. 트리거 시간을 충분히 제어함으로써, 또한 ATR 메시지에 있는 모든 바이트들의 전송에 필요한 전체 기간의 제어가 제공된다. 본 발명의 방법을 통해, ATR 메시지를 전송하는데 필요한 전체 기간이 제어되고, 따라서 ATR 메시지의 전송의 끝이 운영 체계가 판독기로부터 APDU 명령을 수신할 준비가 된 때와 동기화될 수 있도록 조정될 수 있다.

Claims (13)

  1. 운영 체계를 포함하는 스마트 카드(CAR)에 있어서,
    바이트 전송을 트리거하기 위한 상기 운영 체계 외부의 모듈(TIM)을 포함하는 것을 특징으로 하는 스마트 카드.
  2. 제1항에 있어서, 상기 모듈(TIM)은 상기 모듈을 사용하기 전에 상기 운영 체계가 활성화하는 프로그램을 포함하는 것을 특징으로 하는 스마트 카드.
  3. 제1항 또는 제2항에 있어서, 상기 모듈(TIM)은 활성화 이후에, 상기 운영 체계의 진행 중에 어떤 처리 동작을 인터럽트할 수 있고 상기 운영 체계가 바이트 전송을 강제로 트리거하게 할 수 있는 인터럽트를 발생시키는 프로그램 가능 클록(programmable clock)인 것을 특징으로 하는 스마트 카드.
  4. 제1항 또는 제2항에 있어서, 상기 모듈(TIM)은 활성화 이후에, 바이트 전송의 트리거 및 바이트들의 전송 양자에 대한 의무를 이행할 능력을 갖는 프로그램을 포함하는 에이전트(agent)인 것을 특징으로 하는 스마트 카드.
  5. 제4항에 있어서, 바이트들을 전송하기 위하여, 상기 에이전트는 상기 운영 체계에 의해 전송되는 모든 또는 몇몇 바이트들을 저장할 수 있는 메모리를 포함하는 것을 특징으로 하는 스마트 카드.
  6. 제1항 내지 제5항 중의 어느 한 항에 있어서, 상기 바이트들은 상기 스마트 카드가 파워업(power up)된 이후에 상기 스마트 카드에 의해 전송되는 리셋 응답(ATR; Answer-To-Reset) 바이트들인 것을 특징으로 하는 스마트 카드.
  7. 스마트 카드 및 스마트 카드 판독기를 포함하는 스마트 카드 시스템에 있어서,
    바이트 전송의 트리거를 관리하기 위한 상기 스마트 카드의 운영 체계 외부의 모듈(TIM)을 포함하는 것을 특징으로 하는 스마트 카드 시스템.
  8. 제7항에 있어서, 상기 모듈은 상기 카드에, 상기 판독기에, 또는 적어도 하나의 명령 라인을 통해 상기 카드에 직접적으로 또는 간접적으로 접속되는 어떤 다른 장치에 위치하는 것을 특징으로 하는 스마트 카드 시스템.
  9. 마이크로 제어기를 포함하는 스마트 카드(CAR) 및 스마트 카드 판독기(LEC)를 포함하는 시스템에서의 통신 방법으로서, 상기 시스템은 바이트 전송의 트리거를 관리하기 위한 운영 체계 외부의 모듈(TIM)을 포함하는 방법에 있어서,
    상기 모듈이 상기 카드로부터 상기 판독기(LEC)로의 적어도 한 바이트의 전송을 트리거하도록 상기 모듈을 활성화하는 단계를 포함하는 것을 특징으로 하는방법.
  10. 제9항에 있어서, 상기 트리거 단계를 수행하기 위하여, 상기 모듈(TIM)은 상기 카드에 포함되어 있는 운영 체계의 진행 중에 어떤 처리 동작을 인터럽트할 수 있고, 상기 운영 체계에 의한 상기 판독기로의 적어도 하나의 바이트(ATR)의 전송을 트리거할 수 있는 인터럽트를 발생시키는 것을 특징으로 하는 방법.
  11. 제9항에 있어서, 상기 모듈(TIM)은 소프트웨어 에이전트(software agent)이고, 상기 모듈의 활성화 이후에, 상기 방법은 상기 에이전트와 관련된 메모리에 모든 또는 몇몇 바이트들을 로딩하는 단계를 포함하며, 상기 에이전트는 바이트 전송을 트리거하는 단계 및 메모리에 로딩된 바이트들을 상기 판독기(LEC)에 전송하는 단계를 수행하는 것을 특징으로 하는 방법.
  12. 마이크로 제어기를 포함하는 스마트 카드(CAR) 및 스마트 카드 판독기(LEC)를 포함하는 시스템을 위한 컴퓨터 프로그램으로서, 상기 시스템은 운영 체계 외부의 모듈(TIM)을 포함하는 컴퓨터 프로그램에 있어서,
    상기 모듈이 상기 카드로부터 상기 판독기(LEC)로의 바이트의 전송을 트리거하도록 상기 모듈을 활성화하는 단계를 실행하는 코드 명령어를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
  13. 운영 체계를 포함하는 마이크로 제어기에 있어서,
    바이트 전송을 트리거하기 위한 상기 운영 체계 외부의 모듈(TIM)을 포함하는 것을 특징으로 하는 마이크로 제어기.
KR1020047005126A 2001-10-10 2002-10-10 스마트 카드에서의 바이트 전송 관리 KR100960859B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR01/13068 2001-10-10
FR0113068 2001-10-10
PCT/IB2002/004159 WO2003032244A1 (en) 2001-10-10 2002-10-10 Management of byte transmission in a smartcard

Publications (2)

Publication Number Publication Date
KR20040045495A true KR20040045495A (ko) 2004-06-01
KR100960859B1 KR100960859B1 (ko) 2010-06-08

Family

ID=8868149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047005126A KR100960859B1 (ko) 2001-10-10 2002-10-10 스마트 카드에서의 바이트 전송 관리

Country Status (8)

Country Link
US (1) US20040238646A1 (ko)
EP (1) EP1435066B1 (ko)
JP (1) JP2005525615A (ko)
KR (1) KR100960859B1 (ko)
CN (1) CN100423025C (ko)
AT (1) ATE335252T1 (ko)
DE (1) DE60213632T2 (ko)
WO (1) WO2003032244A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100562505B1 (ko) * 2003-10-09 2006-03-21 삼성전자주식회사 중앙 처리 장치의 개입없이 널 바이트 정보를 자동적으로전송할 수 있는 집적회로 카드
US20060095598A1 (en) * 2004-10-30 2006-05-04 Axalto Inc. Method and apparatus of extending answer to reset and subsequent communications between a smart card and a chip card interface device
US20080265023A1 (en) * 2007-04-25 2008-10-30 Shary Nassimi Wireless Access Control Reader

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4794236A (en) * 1985-10-29 1988-12-27 Casio Computer Co., Ltd. IC card system
JPS62237592A (ja) * 1986-04-08 1987-10-17 Casio Comput Co Ltd Icカ−ドにおけるクロツク切換方式
JP3421378B2 (ja) * 1993-03-23 2003-06-30 株式会社東芝 伝送制御方式
GB9306805D0 (en) * 1993-04-01 1993-05-26 Jonhig Ltd Smart card reader
EP0765501B1 (en) * 1994-06-15 1999-03-03 Thomson Consumer Electronics, Inc. Smart card message transfer without microprocessor intervention
FR2764073B1 (fr) 1997-05-30 1999-07-16 Sgs Thomson Microelectronics Protocole de communication pour carte a memoire asynchrone
US6578768B1 (en) * 1998-03-20 2003-06-17 Mastercard International Incorporated Method and device for selecting a reconfigurable communications protocol between and IC card and a terminal
US6390374B1 (en) * 1999-01-15 2002-05-21 Todd Carper System and method for installing/de-installing an application on a smart card
DE19928939A1 (de) * 1999-06-24 2001-01-11 Giesecke & Devrient Gmbh Datenträger sowie Verfahren zur Datenübertragung und zur Speicherverwaltung
WO2001016865A1 (en) * 1999-08-31 2001-03-08 Cryptec Systems, Inc. System and method for installing/de-installing an application on a smart card
JP3590338B2 (ja) * 1999-12-13 2004-11-17 株式会社東芝 携帯可能電子装置
FR2806505A1 (fr) * 2000-03-15 2001-09-21 Schlumberger Systems & Service Procede de communication entre une carte a puce et une station hote

Also Published As

Publication number Publication date
JP2005525615A (ja) 2005-08-25
CN1568482A (zh) 2005-01-19
DE60213632D1 (de) 2006-09-14
ATE335252T1 (de) 2006-08-15
EP1435066B1 (en) 2006-08-02
EP1435066A1 (en) 2004-07-07
CN100423025C (zh) 2008-10-01
KR100960859B1 (ko) 2010-06-08
DE60213632T2 (de) 2007-10-18
WO2003032244A1 (en) 2003-04-17
US20040238646A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
JP3900536B2 (ja) スマートicカードシステム
US20090144556A1 (en) Generic electronic key provided with a customized smart card
US6820208B2 (en) IC card, IC chip, data assuring method and power supply monitor method
EP1358639A1 (en) Smart card reader
JP4072503B2 (ja) 補助演算用コプロセッサ内蔵型icカード及びその制御方法
US20100251261A1 (en) Method and Device for Automatically Selecting an Application That Can Be Implemented by Said Device
US10396861B2 (en) Circuit for a transponder and method for testing the circuit
EP1708128A1 (en) Rfid
KR100960859B1 (ko) 스마트 카드에서의 바이트 전송 관리
JP2003030596A (ja) 論理チャネル管理機能付き記憶装置
US7975057B2 (en) Time management at communication protocol layer for a smart card-type device
JP2003168092A (ja) コンビネーション型icカード、及びその制御方法、並びにそのシステムプログラム
JP2003044801A (ja) 複数の情報伝達手段を備えた可搬情報処理装置
JP2011022841A (ja) 携帯可能電子装置の処理システム、携帯可能電子装置、及び携帯可能電子装置の処理装置
JP4904966B2 (ja) モード変更機能を備えたicカード、および、icカードプログラム
JP2008152525A (ja) 監視している状態を出力する機能を備えたデバイス、及び、コンピュータ機器
US6676019B2 (en) Electronic chip for a portable object
WO2008104601A2 (en) Method of managing command execution in an electronic token
JP4840012B2 (ja) モード変更機能を備えたicカード、および、icカードプログラム
JP6092342B2 (ja) 非接触式携帯可能電子装置、及び非接触式携帯可能電子装置の発行方法
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
KR100576967B1 (ko) 자바 스마트 카드
JP2008003811A (ja) 情報通信媒体及び通信条件制御方法
US6714999B2 (en) Portable electronic apparatus and communication method for protocol selection processing of a portable electronic apparatus
EP2299414B1 (en) Portable electronic apparatus, control method for portable electronic apparatus, and IC card

Legal Events

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

Payment date: 20130513

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140512

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150511

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180510

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190430

Year of fee payment: 10