KR20000005081A - 명령을 스마트 카드에 안전하게 로딩하기 위한 방법 - Google Patents

명령을 스마트 카드에 안전하게 로딩하기 위한 방법 Download PDF

Info

Publication number
KR20000005081A
KR20000005081A KR1019980707711A KR19980707711A KR20000005081A KR 20000005081 A KR20000005081 A KR 20000005081A KR 1019980707711 A KR1019980707711 A KR 1019980707711A KR 19980707711 A KR19980707711 A KR 19980707711A KR 20000005081 A KR20000005081 A KR 20000005081A
Authority
KR
South Korea
Prior art keywords
command
card
mac2
key
confirmation
Prior art date
Application number
KR1019980707711A
Other languages
English (en)
Inventor
미첼 마르코 폴 드럽스틴
Original Assignee
프레드 더블유. 에이. 드 종
코닌클리즈케 피티티 네덜란드 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 프레드 더블유. 에이. 드 종, 코닌클리즈케 피티티 네덜란드 엔.브이. filed Critical 프레드 더블유. 에이. 드 종
Publication of KR20000005081A publication Critical patent/KR20000005081A/ko

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Electrotherapy Devices (AREA)
  • Credit Cards Or The Like (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 스마트 카드(SC)에 명령(COM)을 안전하게 로딩하고 확인하기 위한 방법을 제공한다. 특히, 카드 발행자(CI)에 대해 오프라인(off-line)된 어플리케이션 공급자(AP)에 의해 주문형 명령이 로드되는 경우에, 그 명령이 유효한 것이 보장된다. 본 발명은 확인코드에 의해 명령(COM)을 보호하는 방법을 제공하고, 이들 코드(MAC1,MAC2)가 2개의 다른 키를 이용하여 생성되는데, 그중 하나의 키(K1)는 카드 발행자(CI)로부터 저장되고, 나머지 키(K2)는 신뢰성 있는 제3관계자(TTP)로부터 저장된다. 더욱이, 키 세트(K3*)로부터 키를 이용하여 생성된 확인코드(MAC3)는 개별 어플리케이션(AP1,AP2)에 대한 명령을 선택적으로 확인하기 위해 이용된다.

Description

명령을 스마트 카드에 안전하게 로딩하기 위한 방법
현재의 지불시스템에 있어서, 전자지불수단의 이용이 점차 중요해지고 있다. 메모리 카드 및 스마트 카드와 같은 전자지불수단의 적용이 확대됨에 따라 이들의 사용이 점차 늘어나고 있다. 많은 나라에서 전자카드는 공중전화 등에 사용되고 있다. 발전된 카드는 다른 기능성과 함께 전자"화폐" 기능을 포함할 수 있다. 그와 같은 발전된 지불수단은 메모리와 더불어 적절한 프로그램을 수행할 수 있는 프로세서를 포함한다.
본 발명에 있어서, 프로세서와 메모리로 이루어지는 적어도 하나의 집적된 전자회로를 갖춘 전자 지불수단을 나타내는데, 용어 스마트 카드 또는 카드가 이용될 것이다. 소위, 스마트 카드의 실제 형태는 중요치 않다.
스마트 카드의 프로세서로 수행하는 프로그램은 카드에 의해 제공된 서비스, 즉 카드의 소프트웨어에 따른 스마트 카드의 기능 및 관련 데이터 구조(예컨대, 화폐, 사용자 신원확인, 로열티(loyalty) 프로그램)를 결정한다. 시간이 경과함에 따라, 새로운 기능을 추가하거나 현재 기능을 개선하기 위해 카드의 프로그램을 갱신해야할 필요성이 생긴다. 이를 위해, 카드는 다른 프로그램을 대체할 새로운 프로그램을 받아들일 수 있어야 한다. 그러나, 그것은 새롭게 로드(load)된 프로그램이 유효한 것인가 확인되어야만 한다.
카드 발행자(issuer)와 카드간 안전한 데이터 교환 프로토콜을 사용함으로써 프로그램의 확인이 비교적 쉽게 이루어질 수 있다. 그러나, 어플리케이션 공급자들(applications providers)과 같은 다른 관계자(party)들은 카드 발행자를 통해 이를 행하지 않고 새로운 어플리케이션(따라서, 새로운 명령)을 카드로 로드할 수 있기를 원한다.
본 발명은, 상술한 문제점과 또 다른 문제점을 해결하여 명령을 안전한 방법으로 스마트 카드에 로드시켜 편성(activate)할 수 있는 방법을 제공하는 것에 그 목적이 있다. 또한, 본 발명은 명령의 보전(integrity)을 보장하면서 주문형 명령을 어플리케이션 공급자에 의해 스마트 카드에 로드시킬 수 있는 방법을 제공하는 것에 그 목적이 있다.
본 발명은 명령을 스마트 카드에 로딩(loading)하기 위한 방법에 관한 것으로, 특히 주문형 (application specific) 명령을 스마트 카드에 오프라인(off-line) 로딩하기 위한 방법에 관한 것이다.
도 1은 본 발명의 방법에 이용된 스마트 카드를 나타낸 도면,
도 2는 도 1의 스마트 카드의 집적회로를 개략적으로 나타낸 도면,
도 3은 본 발명의 방법에 따른 데이터의 교환을 개략적으로 나타낸 도면,
도 4는 스마트 카드의 데이터 구조를 나타낸 도면,
도 5는 본 발명의 방법에 이용된 플래그 레지스터를 개략적으로 나타낸 도면,
도 6은 본 발명의 실시예를 개략적으로 나타낸 도면이다.
상기 목적을 달성하기 위한 본 발명은, 명령을 제1관계자(party)에 의해 스마트 카드에 안전하게 로딩하는 방법에 의해 달성되고, 상기 카드는 제2관계자에 의해 발행되며, 본 발명에 따른 상기 방법은:
- 제2관계자가 제1키를 이용하여 명령의 제1확인코드를 생성하는 단계와,
- 제3관계자가 제2키를 이용하여 명령의 제2확인코드를 생성하는 단계,
- 코드에 명령을 카드로 전달하는 단계 및,
- 각각의 제1 및 제2키를 이용하여 제1 및 제2확인코드를 재생성하여 전달된 코드와 재생성된 코드를 비교함으로써 카드가 명령을 확인하는 단계를 구비하여 이루어진다.
본 발명의 방법에 있어서, 확인코드를 생성하는 2개의 다른 그리고 보다 바람직한 독립 관계자를 가짐으로써 명령의 확실성이 보호된다: 보통, 카드 발행자인 제2관계자와 중앙은행과 같은 신뢰성 있는 독립 관계자인 제3관계자. 일단 양자의 확인코드가 생성되면, 사실상 확인코드에 의해 바로 명령을 변경할 수 있다. 어플리케이션 공급자인 제1관계자는 제1 및 제2관계자 모두가 "증명된" 명령을 갖는 증거를 갖는다. 바람직하게, 제3관계자는 카피(copy) 명령을 저장한다.
본 발명의 방법은, 단일 명령의 로딩과 명령세트의 로딩 모두에 적용한다.
확인이 실패할 경우, 카드로의 전달과 다음 확인이 반복되고, 확인이 성공할 때 까지 로드된 명령의 사용은 차단된다. 이것은 가치없는 명령, 즉 전송에러 또는 카드에 의해 실행되는 조작에 의해 영향받은 명령을 방지한다.
10번 이하의 확인이 실패할 경우, 로드된 명령은 영원히 불능상태가 된다. 제2관계자의 키를 변경함으로써 로드된 명령의 불능상태가 수행된다. 이러한 방식으로, 명확하지 않은 부정한 명령의 재로딩이 종결된다.
로드된 명령은 주문형 명령, 즉 카드의 어플리케이션에 직접적으로 영향을 주는 명령이 된다. 그와 같은 명령은 흔히 원칙적으로 카드 어플리케이션의 조작을 가능하게 하는 기계어 명령이다. 본 발명의 방법을 이용함으로써, 어플리케이션의 보전이 보장되어 그와 같은 명령의 사용이 제어된다.
바람직하게, 제1 및/또는 제2확인코드는 ANSI(American National Standardization Institute) X9.19 표준에 따라 생성된 메시지 확인코드이다.
유리하게, 추가적인 확인코드가 제1관계자에 의해 생성되고, 이 추가적인 코드는 제1 또는 제2키를 포함하지 않는다. 이것은 제1관계자가 그와 같은 방법에 영향받지 않고 확실성 검사를 가능하게 한다.
이하, 본 발명의 실시예를 도면을 참조하면서 상세히 설명한다.
도 1에 개략적으로 나타낸 스마트 카드 또는 IC카드(1)의 예는 집적회로(IC)가 매립된 기판(2)으로 이루어진다. IC는 카드 판독기 등을 접촉시키기 위한 콘택(contact)이 제공된다. 또한, 본 발명은 소위 무접촉(contactless) 스마트 카드의 경우에도 적용된다.
도 2에 개략적으로 나타낸 IC(10)의 예는 프로세서(11)와, 메모리(12) 및 입출력회로(13)로 이루어진다. 메모리는 데이터를 임시로 저장하기 위한 휘발성 메모리(RAM) 부분과 데이터를 영구적으로 또는 반영구적으로 저장하기 위한 불휘발성메모리(ROM) 부분으로 이루어진다. 후자는 EEPROM형 메모리이다. 불휘발성 부분에 저장된 데이터는 프로그래밍 데이터(명령, 프로그램)와 지불 데이터, 즉 금융처리와 관련된 데이터를 포함한다. 분리 메모리(도시하지 않았음)는 프로세서(11)의 명령세트를 저장하기 위해 제공된다. 입출력회로(13)는 도 1에 나타낸 콘택(3)과 같은 콘택(도 2에는 도시하지 않았음)을 통해 외부장치와 통신한다. 집적회로(10)는 도 1의 카드에 포함된다.
본 발명에 따른 방법의 실시예는 개략적으로 도 3에 일예로 나타냈다. 어플리케이션 공급자(AP)인 제1관계자는 고객에게 카드 기능을 제공한다. 스마트 카드(SC)는 카드 발행자(CI: Card Issuer)인 제2관계자에 의해 발행된다. 이하에 설명되어지는 바와 같이, 본 발명에 따른 신뢰성 있는 제3관계자(TTP: Trusted Third Party)는 명령의 확인에 영향을 미친다.
명령(COM)의 세트는 카드 발행자(CI)로부터 생성되거나 또는 어플리케이션 공급자(AP)의 명령에 의해 외부 소스로부터 생성된다. 명령(COM)의 세트는 다수의 명령으로 이루어진다. 즉, 여기에 기술한 방법이 개별 명령이나 명령세트에 적용된다. 이하의 설명에서 명령세트가 아니라 단일 명령을 일예로 하여 본 발명의 방법을 설명한다. 명령은 주문형 명령(ASC)이거나 범용 명령(GPC: General Purpose Commands)일 것이다.
도 3에 나타낸 바와 같이, 어플리케이션 공급자(AP)는 확인을 위하여 카드 발행자(CI)로 명령(COM)을 제공한다. 명령(COM)에 기초한 제1확인코드(MAC1)는 제1키(K1)를 이용하여 카드 발행자(CI)에 의해 생성된다. 코드(MAC1)에 덧붙여 명령세트는 적어도 키(K1)가 아닌 키의 사용을 포함하지 않는 추가적인 제4확인코드(MAC4)를 선택적으로 수신한다. 추가 확인코드(MAC4)는 명령의 추가적인 확인을 제공하기 위해 또 다른 확인코드에 사용된 독립 키를 제공한다. 추가 확인코드(MAC4)의 계산에는 제1확인코드(MAC1)를 포함한다. 그 경우, 추가 확인코드는 이하와 같이 기술된다:
MAC4 = Fk1(COM, MAC1)
여기서, F는 코드가 결정되는 함수를 나타낸다. 확인코드(MAC1)와 추가 확인코드(MAC4)는 임시로 저장되는 어플리케이션 공급자(AP)에 전달된다.
본 발명에 따른 명령(COM)은 또한 TTP에 제공된다. 제3관계자는 제2키(K2)를 이용하여 명령(COM)의 제2확인코드(MAC2)를 생성한다. 제2확인코드(MAC2)는 어플리케이션 공급자(AP)에 전달된다. 제3관계자는 카드 발행자 또는 서비스 공급자로부터 지정된 중앙은행 또는 공공기관이다.
어플리케이션 공급자(AP)는 제3키(K3*)를 이용하여 제3확인코드(MAC3)를 생성한다. 키(K3*)는 개별 카드 어플리케이션 및/또는 개별 카드 파일에 대응하는 각각의 개별 키 세트(별표(*)로 나타낸)로 이루어진다. 키(K3-1, K3-2, 등) 세트로 구성되는 키(K3*)는 명령을 특정 어플리케이션 및/또는 카드의 파일에 선택적으로 로드하기 위해 이용된다. 이것은 도 4 및 도 5를 참조하여 더 설명된다. 어플리케이션간 제3키(K3)가 변경된 것과 같이, 제3확인코드(MAC3)도 변경된다. 즉, 제3확인코드(MAC3)는 주문형 확인코드를 구성한다. 제3확인코드는 명령(COM)과 제1 및 제2확인코드 모두에 기초가 되고, 따라서 2중 확인을 제공한다. 그 경우에, 제3확인코드는 이하와 같이 기술된다:
MAC3 = Fk3(COM, MAC1, MAC2)
여기서, F는 코드가 결정되는 함수를 나타낸다.
보다 바람직하게, 확인코드 MAC3와 MAC4 뿐만 아니라, 확인코드 MAC1과 MAC2는 암호화를 포함하는 메시지 확인체계를 이용하여 생성된다. 그와 같은 체계는 ANSI X9.19 표준에 기술되어 있다. 메시지 확인코드를 생성하는데 이용된 실제 체계(또는 체계들)는 본 발명에 본질적인 요소가 아니다. 또한, 추가 확인코드도 암호화를 이용(예컨대, 공공 키를 이용)하여 생성되거나, 소위 해쉬함수(hash function)를 이용하여 생성된다.
확인코드 MAC3와 MAC4 뿐만 아니라, 확인코드 MAC1과 MAC2 모두는 명령에 추가되거나, 또 다른 방식의 명령과 관련된다. 도 3에 있어서, 명령 및 관련된 확인코드는 이하와 같이 나타낸다:
COM, MAC1, MAC2[,MAC3, MAC4]
괄호([ ])는 임의의 코드를 나타낸다. 명령 및 관련된 코드가 전달되는 실제 명령은 코스를 변경한다.
카드(SC)에 의해 명령을 받자마자 카드는 미리 카드에 저장되어 있는 키(K1,K2)를 이용하여 확인코드(MAC1,MAC2)를 생성한다. 생성된 코드(MAC1′,MAC2′)는 수신된 코드(MAC1,MAC2)와 비교된다. 만약 재생성되어 수신된 코드가 동일하면, 명령의 확인이 성공되어 명령이 편성된다. 이 편성은 소정 플래그(flag)를 설정(또는 재설정)함으로써 이루어진다. 만약 확인이 실패하면, 즉 대응하는 수신되어 재생성된 코드가 동일하지 않으면, 명령의 재전송을 요구한다. 재전송 카운터(counter)는 재전송 수의 트랙(track)을 유지하고 소정 수가 초과되면 재전송을 금지한다.
따라서, 보다 바람직하게는 카드에 로드된 명령이 편성될 때 까지 사용될 수 있는 방식으로 카드가 배열된다. 즉, 로드된 명령은 명확한 확인의 결과로서 해제될 때 까지 차단된다. 이것은 카드로부터 실행되는 가치없는 명령을 방지한다.
도 4는 본 발명의 다른 실시예에 따른 도 1의 카드(1)와 같은 스마트 카드의 데이터 구조를 개략적으로 나타낸다. 실제로, 데이터 구조는 도 2의 메모리(12)와 같은 메모리에 저장된다.
소위, 마스터 파일(MF: Master File)은 관련된 다른 파일을 포함한다. 다른 파일은 개별 어플리케이션과 관련된다. 도 4에, 소위 어플리케이션 파일(AP1, AP2, AP3)을 나타냈다. 각각의 어플리케이션(또는 어플리케이션 파일) AP1, AP2, ...,은 다수의 서브파일, 즉 프로그램 파일과 데이터 파일로 이루어진다.
도 4에 나타낸 바와 같이, 각각의 어플리케이션은 대응하는 키를 포함한다: 즉, 어플리케이션 1은 키 K3-1을 포함하고, 어플리케이션 2는 키 K3-2를 포함한다. 이 키들(K3-i)은 도 3의 키 세트(K3*)의 키(K3-i)와 대응한다(i는 ith어플리케이션을 나타낸다). 상술한 바와 같이, 카드는 다수의 키(즉, K1,K2)를 이용하여 명령의 확인코드(즉, MAC1,MAC2)를 재생시킬 수 있고, 수신된 명령을 확인하기 위해 수신된 코드와 재생된 코드(즉, MAC1,MAC2)를 비교할 수 있다. 즉, 수신되어 재생된 확인코드(즉, MAC2와 MAC2′)가 일치하지 않으면, 대응하는 명령이 카드에 로드되지 않거나, 또는 적어도 실행으로부터 제외된다. 유사하게, 세트 K3*의 키는 명령을 개별 어플리케이션으로 선택적으로 로드하기 위해 이용되고, 그 타겟 어플리케이션(즉, AP2)은 대응하는 키(K3-2)로 나타낸다. 만일의 경우를 생각하여 소정 명령은 다수의 어플리케이션으로 로드되어야만 하고, 키(K3)는 와일드카드를 포함한다.
도 4에 나타낸 바와 같이, 마스터 파일(MF)은 플래그 레지스터(FR)를 포함한다. 도 5에 플래그 레지스터(FR)를 보다 상세하게 나타냈다. 플래그 레지스터(FR)는 각각 1비트의 다수의 플래그(F-1,F-2, ...)로 이루어진다. 각각의 플래그는 카드의 프로세서(도 2의 11) 명령에 대응한다. 프로세서 및/또는 소프트웨어는 대응하는 플래그가 설정되면 명령의 실행이 금지되는 방식으로 배열된다. 메모리 위치를 갱신하는 갱신(UPDATE)명령은 오직 F-3이 설정되면 실행된다. 따라서, 추가적인 보호는 권한이 없거나 의도하지 않은 (어플리케이션 특정)명령의 실행에 반하여 제공된다.
플래그 레지스터는 적절한 명령, 즉 SET_FLAG-i에 의해 제어되고, 여기서 I는 플래그 넘버이다. 관련된 명령이 주문형 명령이면, 모든 플래그는 초기에 설정되고, 따라서 주문형 명령의 실행을 보호한다. 플래그는 명령의 확실성이 확인되고 명령의 실행이 허가되면, 명령-확인 명령(즉, VALIDATE)에 의해 재설정된다. 마스터 파일(MF)과 다수의 플래그 레지스터가 카드에 포함되는 다른 파일에 플래그 레지스터(FR)가 위치된다.
도 6의 순서도는 본 발명에 따른 방법의 실시예를 개략적으로 나타낸다. 단계 100에서 진행이 초기화 된다. 이것은 다수의 명령을 생성하는 단계와 어플리케이션 공급자(AP)에 명령을 제공하는 단계를 포함하는데, 그 어플리케이션 공급자(AP)는 차례로 명령을 카드 발행자(CI)와 제3관계자(TTP)로 전달한다.
단계 101에서 카드 발행자(CI)는 제1키(K1)를 이용하여 명령(도 3의 COM)의 제1확인코드(MAC1)를 생성한다. 코드(MAC1)는 어플리케이션 공급자(AP)로 전달된다. 명령은 단계 101 또는 미리 단계 100에서 카드 발행자(CI)로 전달된다.
유사하게, 단계 102에서 제3관계자(TTP)는 제2키(K2)를 이용하여 명령(도 3의 COM)의 제2확인코드(MAC2)를 생성한다. 코드(MAC2)는 어플리케이션 공급자(AP)로 전달된다. 명령은 단계 102에서 또는 미리 단계 100에서 제3관계자로 전달된다.
단계 103에서 어플리케이션 공급자(AP)는 관련된 확인코드(MAC1과 MAC2)에 명령(COM)을 스마트 카드(SC)로 전달한다(cf. 도 3). 단계 104에서 스마트 카드(SC)는 키 K1과 K2를 각각 이용하여 명령(COM)의 확인코드(MAC1′, MAC2′)를 생성함으로써 코드(MAC1, MAC2)를 재생성한다. 단계 105에서 재생성된 코드(MAC1′)는 수신된 코드(MAC1)와 비교된다. 만약 코드가 동일하면, 제어가 단계 106으로 넘어가고, 그렇지 않으면 진행이 퇴거된다.
만약 진행이 퇴거되면, 명령을 삭제하거나 플래그 레지스터의 플래그를 설정함으로써 카드에 의해 수신된 명령(COM)이 효과적으로 억제된다. 명령(COM) 및 관련된 확인코드의 재전송이 요구된다. 바람직하게는, 재전송의 수가 모니터 되어 재전송 회수가 3회 또는 5회를 초과하면 재전송이 종결된다.
단계 106에서 재생성된 코드(MAC2′)는 수신된 코드(MAC2)와 비교된다. 만약 코드가 동일하면, 제어가 단계 107로 넘어가고, 그렇지 않으면 진행이 퇴거된다.
단계 107에서 스마트 카드(SC)는 플래그 레지스터(FR)에 대응하는 플래그를 재설정함으로써 명령(COM)을 가능하게 한다(cf. 도 5). 이제 명령(COM)이 실시되어 실행된다. 단계 108에서 진행이 종결된다.
도 6의 순서도에는 보다 바람직한 실시예의 기본 단계만을 나타냈다. 제3 및 제4확인코드(MAC3,MAC4)의 결정 및 평가와 같은 추가적인 단계는 명료성을 위해 생략되었다. 따라서, 상술한 실시예는 본 발명의 목적으로부터 이탈하지 않는 범위 내에서 다양하게 변경 및 추가하여 실시할 수 있다.

Claims (12)

  1. 제1관계자(AP)에 의해 명령(COM)을, 제2관계자(CI)로부터 발행되는 스마트 카드(SC)에 안전하게 로딩하기 위한 방법에 있어서,
    상기 제2관계자(CI)가 제1키(K1)를 이용하여 명령의 제1확인코드(MAC1)를 생성하는 단계와,
    제3관계자(TTP)가 제2키(K2)를 이용하여 명령의 제2확인코드(MAC2)를 생성하는 단계,
    상기 코드(MAC1,MAC2)에 명령을 상기 카드(SC)로 전달하는 단계 및,
    상기 각각의 제1 및 제2키(K1,K2)를 이용하여 상기 제1 및 제2확인코드(MAC1,MAC2)를 재생성하여 상기 전달된 코드(MAC1,MAC2)와 재생성된 코드(MAC1′,MAC2′)를 비교함으로써 상기 카드(SC)가 상기 명령(COM)을 확인하는 단계를 구비하여 이루어진 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  2. 제1항에 있어서, 상기 확인이 실패할 경우, 상기 카드(SC)로의 전달과 다음 확인이 반복되고, 상기 확인이 성공할 때 까지 상기 로드된 명령(COM)의 사용이 차단되는 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  3. 제2항에 있어서, 소정 회수(N), 즉 10번 이하의 확인이 실패할 경우 상기 로드된 명령(COM)은 영원히 불능상태인 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  4. 제3항에 있어서, 상기 불능상태는 카드에 저장된 상기 제2관계자(CI)의 키(K1)를 변경하는 카드(1)에 의해 수행되는 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  5. 제1항 내지 제4항중 어느 한항에 있어서, 상기 명령(COM)은 주문형 명령(ASC)인 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  6. 제1항 내지 제5항중 어느 한항에 있어서, 상기 제1 및 제2확인코드(MAC1,MAC2)는 ANSI X9.19 표준에 따라 생성된 메시지 확인코드인 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  7. 제1항 내지 제6항중 어느 한항에 있어서, 상기 카드는 몇 개의 어플리케이션(AP1,AP2)을 포함하고, 이 각각의 어플리케이션(AP1,AP2)은 제3확인코드(MAC3)에 제공된 명령을 확인하기 위한 개별 제3키(K3-2)에 제공되며, 상기 제3확인코드(MAC3)는 상기 개별 제3키(K3-2)를 이용하여 생성되는 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  8. 제1항 내지 제7항중 어느 한항에 있어서, 상기 제2관계자(CI)는 명령(COM)의 제4확인코드(MAC4)를 생성하고, 이 제4확인코드(MAC4)는 상기 제1키(K1) 또는 제2키(K2)를 포함하지 않는 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  9. 제1항 내지 제8항중 어느 한항에 있어서, 상기 카드(SC)는 플래그 레지스터(FR)로 이루어지고, 상기 각각의 플래그(F-1,F-2,...)는 프로세서(11)의 명령에 대응하며, 상기 플래그(F-2)가 설정되면 상기 명령의 실행이 금지되는 것을 특징으로 하는 명령을 스마트 카드에 안전하게 로딩하기 위한 방법.
  10. 기판(2)과, 프로세서(11)와 키(K1,K2)를 포함하는 메모리(12)를 갖춘 집적회로(10)를 구비하여 구성된 카드(1)에 있어서,
    상기 집적회로는(10) 적어도 2개의 키(K1,K2)를 이용하여 수신된 명령(COM)의 확인코드(MAC1,MAC2)를 재생하여 수신된 확인코드(MAC1,MAC2)와 재생된 확인코드(MAC1′,MAC2′)를 비교하도록 배열된 것을 특징으로 하는 카드.
  11. 제10항에 있어서, 상기 메모리(12)는 개별 어플리케이션(AP1,AP2)을 갖춘 데이터 구조로 이루어지며, 상기 각각의 어플리케이션은 확인코드를 재생하고 이 확인코드와 관련된 명령을 선택적으로 로딩하기 위한 개별 키(K3-1,K3-2)를 포함하는 것을 특징으로 하는 카드.
  12. 제10항 또는 제11항에 있어서, 상기 메모리(12)는 플래그 레지스터(FR)로 이루어지고, 상기 각각의 플래그(F-1,F-2,...)는 상기 프로세서(11)의 명령에 대응하며, 상기 플래그(F-2)가 설정되면 상기 명령의 실행이 금지되는 것을 특징으로 하는 카드.
KR1019980707711A 1996-03-09 1997-03-25 명령을 스마트 카드에 안전하게 로딩하기 위한 방법 KR20000005081A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP96200867.8 1996-03-09
EP96200867A EP0798673A1 (en) 1996-03-29 1996-03-29 Method of securely loading commands in a smart card

Publications (1)

Publication Number Publication Date
KR20000005081A true KR20000005081A (ko) 2000-01-25

Family

ID=8223834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980707711A KR20000005081A (ko) 1996-03-09 1997-03-25 명령을 스마트 카드에 안전하게 로딩하기 위한 방법

Country Status (12)

Country Link
US (1) US6073238A (ko)
EP (2) EP0798673A1 (ko)
JP (1) JPH11506560A (ko)
KR (1) KR20000005081A (ko)
CN (1) CN1215489A (ko)
AU (1) AU712353B2 (ko)
BR (1) BR9708455A (ko)
CA (1) CA2245921A1 (ko)
CZ (1) CZ295698A3 (ko)
NO (1) NO984535L (ko)
NZ (1) NZ331258A (ko)
WO (1) WO1997037331A1 (ko)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10361802B1 (en) 1999-02-01 2019-07-23 Blanding Hovenweep, Llc Adaptive pattern recognition based control system and method
DE19626339A1 (de) * 1996-07-01 1998-01-08 Ibm Sicheres Laden von Anwendungen und Daten auf Chipkarten
WO1998043212A1 (en) 1997-03-24 1998-10-01 Visa International Service Association A system and method for a multi-application smart card which can facilitate a post-issuance download of an application onto the smart card
DE19823532C2 (de) * 1998-05-26 2003-08-21 T Mobile Deutschland Gmbh Verfahren zur Steuerung eines Teilnehmeridentitätsmoduls (SIM) in Mobilfunksystemen
CA2347684A1 (en) 1998-10-27 2000-05-04 Visa International Service Association Delegated management of smart card applications
FR2787221B1 (fr) * 1998-12-09 2003-12-05 Inside Technologies Circuit integre a acces securise
JP3545627B2 (ja) 1999-02-08 2004-07-21 株式会社東芝 携帯可能電子装置
GB9903124D0 (en) * 1999-02-11 1999-04-07 Nokia Telecommunications Oy An authentication method
DE19911221B4 (de) * 1999-03-12 2005-10-27 T-Mobile Deutschland Gmbh Verfahren zur Verteilung von Schlüsseln an Teilnehmer von Kommunikationsnetzen
FI112315B (fi) * 1999-05-11 2003-11-14 Nokia Corp Integriteetin suojausmenetelmä radioverkkosignalointia varten
JP2001056848A (ja) * 1999-08-19 2001-02-27 Nec Corp Icコードのコマンド実行制御方法、icカード、icカードプログラムを記録した記録媒体
FR2797968B1 (fr) 1999-08-24 2001-10-12 Schlumberger Systems & Service Dispositif et procede de chargement de commandes dans une carte a circuit integre
JP3793377B2 (ja) * 1999-08-30 2006-07-05 日本電信電話株式会社 データ格納システム及びデータ格納プログラムを格納した記憶媒体
AUPQ487399A0 (en) * 1999-12-24 2000-02-03 Vfj Technology Pty Limited Method and system for secure contactless card applications
JP4501197B2 (ja) 2000-01-07 2010-07-14 ソニー株式会社 情報携帯処理システム、情報携帯装置のアクセス装置及び情報携帯装置
JP3609003B2 (ja) * 2000-05-02 2005-01-12 シャープ株式会社 Cmos半導体集積回路
US7043642B1 (en) * 2000-05-22 2006-05-09 Gemplus Process to manage data in a chip card
SE0002416L (sv) * 2000-06-27 2001-12-28 Tds Todos Data System Ab Förfarande och anordning för kommunikation
FR2816731B1 (fr) * 2000-11-14 2003-01-03 Gemplus Card Int Procede de chargement et de personnalisation des informations et programmes charges dans une carte a puce
JP2002305250A (ja) * 2001-02-02 2002-10-18 Matsushita Electric Ind Co Ltd 半導体集積回路および半導体集積回路に関するビジネス方法
DE10107373A1 (de) * 2001-02-16 2002-08-29 Infineon Technologies Ag Sicherheitsmodul mit flüchtigem Speicher zur Speicherung eines Algorithmuscodes
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7418344B2 (en) * 2001-08-02 2008-08-26 Sandisk Corporation Removable computer with mass storage
JP2003168093A (ja) * 2001-11-30 2003-06-13 Hitachi Ltd カードシステム、カードへのアプリケーション搭載方法及びアプリケーション実行確認方法
US7243853B1 (en) 2001-12-04 2007-07-17 Visa U.S.A. Inc. Method and system for facilitating memory and application management on a secured token
JP2003187190A (ja) * 2001-12-19 2003-07-04 Hitachi Ltd Icカード管理システム
US8010405B1 (en) 2002-07-26 2011-08-30 Visa Usa Inc. Multi-application smart card device software solution for smart cardholder reward selection and redemption
US8626577B2 (en) 2002-09-13 2014-01-07 Visa U.S.A Network centric loyalty system
US9852437B2 (en) 2002-09-13 2017-12-26 Visa U.S.A. Inc. Opt-in/opt-out in loyalty system
US8015060B2 (en) 2002-09-13 2011-09-06 Visa Usa, Inc. Method and system for managing limited use coupon and coupon prioritization
US7121456B2 (en) 2002-09-13 2006-10-17 Visa U.S.A. Inc. Method and system for managing token image replacement
US20040139021A1 (en) 2002-10-07 2004-07-15 Visa International Service Association Method and system for facilitating data access and management on a secure token
GB2397678A (en) * 2003-01-23 2004-07-28 Sema Uk Ltd A secure terminal for use with a smart card based loyalty scheme
US9818136B1 (en) 2003-02-05 2017-11-14 Steven M. Hoffberg System and method for determining contingent relevance
US7827077B2 (en) 2003-05-02 2010-11-02 Visa U.S.A. Inc. Method and apparatus for management of electronic receipts on portable devices
US8554610B1 (en) 2003-08-29 2013-10-08 Visa U.S.A. Inc. Method and system for providing reward status
US7104446B2 (en) * 2003-09-03 2006-09-12 Visa U.S.A., Inc. Method, system and portable consumer device using wildcard values
US7051923B2 (en) 2003-09-12 2006-05-30 Visa U.S.A., Inc. Method and system for providing interactive cardholder rewards image replacement
US8407083B2 (en) 2003-09-30 2013-03-26 Visa U.S.A., Inc. Method and system for managing reward reversal after posting
US8005763B2 (en) 2003-09-30 2011-08-23 Visa U.S.A. Inc. Method and system for providing a distributed adaptive rules based dynamic pricing system
US7653602B2 (en) 2003-11-06 2010-01-26 Visa U.S.A. Inc. Centralized electronic commerce card transactions
CN1954345B (zh) 2004-05-28 2012-11-21 国际商业机器公司 智能卡数据事务***以及用于提供存储和传输安全的方法
US7853799B1 (en) * 2004-06-24 2010-12-14 Xilinx, Inc. Microcontroller-configurable programmable device with downloadable decryption
JP4875618B2 (ja) * 2004-08-13 2012-02-15 テレコム・イタリア・エッセ・ピー・アー 電子タグに記憶されたデータを安全に管理する方法およびシステム
DE102004039828A1 (de) * 2004-08-17 2006-02-23 Giesecke & Devrient Gmbh Verifizierung eines nativen Datenträgers
EP1839282A1 (en) 2004-12-07 2007-10-03 Philips Intellectual Property & Standards GmbH System and method for application management on multi-application smart cards
WO2007006798A1 (fr) * 2005-07-13 2007-01-18 Gemplus Procede et systeme d'authentification de puces electroniques
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20080005567A1 (en) * 2006-01-24 2008-01-03 Stepnexus, Inc. Method and system for personalizing smart cards using asymmetric key cryptography
CN1889432B (zh) * 2006-07-13 2010-09-22 上海交通大学 基于智能卡的口令远程认证方法、智能卡、服务器和***
JP4702628B2 (ja) * 2006-07-27 2011-06-15 ソニー株式会社 電子機器、情報処理方法、およびプログラム
EP2106191B1 (en) 2008-03-28 2012-12-26 Vodafone Holding GmbH A method for updating a smartcard and a smartcard having update capability
US8567670B2 (en) * 2009-03-27 2013-10-29 Intersections Inc. Dynamic card verification values and credit transactions
US7992781B2 (en) 2009-12-16 2011-08-09 Visa International Service Association Merchant alerts incorporating receipt data
US8429048B2 (en) 2009-12-28 2013-04-23 Visa International Service Association System and method for processing payment transaction receipts

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3682476D1 (de) * 1985-10-07 1991-12-19 Toshiba Kawasaki Kk Tragbares elektronisches geraet.
US4879747A (en) * 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
US5120939A (en) * 1989-11-09 1992-06-09 At&T Bell Laboratories Databaseless security system
US5719560A (en) * 1989-12-08 1998-02-17 Watkins; Christopher John Cornish Hellaby Method of automatic verification of personal identity
US5007089A (en) * 1990-04-09 1991-04-09 International Business Machines Corporation Secure key management using programable control vector checking
DE4119924C3 (de) * 1991-06-17 1996-06-20 Siemens Ag Verfahren zur Sicherung von ladbaren Guthaben in Chipkarten
EP0525895B1 (en) * 1991-08-01 1995-10-04 Koninklijke Philips Electronics N.V. Security system for an apparatus
US5508691A (en) * 1992-06-22 1996-04-16 Lynx Systems, Inc. Self-contained electronic lock with changeable master and slave codes
US5313639A (en) * 1992-06-26 1994-05-17 George Chao Computer with security device for controlling access thereto
US5644354A (en) * 1992-10-09 1997-07-01 Prevue Interactive, Inc. Interactive video system
US5544246A (en) * 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
US5343529A (en) * 1993-09-28 1994-08-30 Milton Goldfine Transaction authentication using a centrally generated transaction identifier
AU1265195A (en) * 1993-12-06 1995-06-27 Telequip Corporation Secure computer memory card
US5461217A (en) * 1994-02-08 1995-10-24 At&T Ipm Corp. Secure money transfer techniques using smart cards
US5537474A (en) * 1994-07-29 1996-07-16 Motorola, Inc. Method and apparatus for authentication in a communication system
NL9401406A (nl) * 1994-08-31 1996-04-01 Nederland Ptt Betaalsysteem met verbeterde integriteit.
FR2731536B1 (fr) * 1995-03-10 1997-04-18 Schlumberger Ind Sa Procede d'inscription securisee d'informations dans un support portable
US5671283A (en) * 1995-06-08 1997-09-23 Wave Systems Corp. Secure communication system with cross linked cryptographic codes

Also Published As

Publication number Publication date
WO1997037331A1 (en) 1997-10-09
NO984535D0 (no) 1998-09-28
CA2245921A1 (en) 1997-10-09
AU712353B2 (en) 1999-11-04
EP0798673A1 (en) 1997-10-01
JPH11506560A (ja) 1999-06-08
EP0960404A1 (en) 1999-12-01
AU2506297A (en) 1997-10-22
CN1215489A (zh) 1999-04-28
NO984535L (no) 1998-09-28
BR9708455A (pt) 2000-01-04
US6073238A (en) 2000-06-06
NZ331258A (en) 1999-10-28
CZ295698A3 (cs) 1999-02-17

Similar Documents

Publication Publication Date Title
KR20000005081A (ko) 명령을 스마트 카드에 안전하게 로딩하기 위한 방법
US5856659A (en) Method of securely modifying data on a smart card
JP2710754B2 (ja) チップ・カードのキーを保護する装置
US7512802B2 (en) Application authentication system, secure device, and terminal device
EP2350982A1 (en) Physical access control system with smartcard and methods of operating
US7500605B2 (en) Tamper resistant device and file generation method
WO2006024903A1 (en) Application code integrity check during virtual machine runtime
CN108496323B (zh) 一种证书导入方法及终端
JP3504952B2 (ja) ターミナルおよび携帯可能なデータキャリア装置を有するデータ伝送システムおよびターミナルにより携帯可能なデータキャリア装置の再チャージ方法
CN116226942A (zh) 一种ic卡的权限验证方法、装置、读卡设备及存储介质
WO2022118358A1 (ja) 通貨管理システム及び電子署名装置
JP7064219B1 (ja) 秘密鍵方式の電子署名装置
KR100562090B1 (ko) 마이크로회로 카드, 특히 비접촉형 카드에서 다수의 비휘발성 메모리 위치를 불가분적으로 수정하는 방법
US20100287442A1 (en) Method for secure data transfer
CN116880884B (zh) 电子设备的更新方法、更新设备以及可读存储介质
MXPA98007968A (en) Method of safe loading of commands on an intelligent card
JP5131327B2 (ja) 認証機能を備えた情報処理装置の発行方法
JPH11203439A (ja) Icカード及びicカードの動作方法
JP2006031416A (ja) 認証機能を備えた情報処理装置およびその発行方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee