KR20200104885A - 스마트카드의 안전한 단대단 개인화 - Google Patents

스마트카드의 안전한 단대단 개인화 Download PDF

Info

Publication number
KR20200104885A
KR20200104885A KR1020207021286A KR20207021286A KR20200104885A KR 20200104885 A KR20200104885 A KR 20200104885A KR 1020207021286 A KR1020207021286 A KR 1020207021286A KR 20207021286 A KR20207021286 A KR 20207021286A KR 20200104885 A KR20200104885 A KR 20200104885A
Authority
KR
South Korea
Prior art keywords
smart card
card
personalization
issuing device
customized
Prior art date
Application number
KR1020207021286A
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 KR20200104885A publication Critical patent/KR20200104885A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/351Virtual cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

안전한 단대단 스마트카드 개인화 시스템 및 동작 방법이 개시된다. 개인화 시스템은 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성한다. 개인화 시스템은 개인화 시스템과는 분리되어 있는 카드 발급 디바이스에 고유한 암호화 키를 사용하여 맞춤형 데이터세트의 적어도 일부를 암호화하며, 암호화 키는 스마트카드에 저장될 때 맞춤형 데이터세트를 보안하는데 사용되는 임의의 암호화 키와는 상이하다. 개인화 시스템은 스마트카드의 개인화를 위해 맞춤형 데이터세트를 카드 발급 디바이스에 전송한다.

Description

스마트카드의 안전한 단대단 개인화
본 출원은 2018년 12월 21일자로 PCT 국제 특허 출원으로 출원된 것으로, 2017년 12월 21일자로 출원된 미국 특허 출원 번호 15/851,326에 대해 우선권을 주장하며, 그 개시 내용은 그 내용의 전체가 본 명세서에서 참조로서 포함된다.
본 개시는 일반적으로 스마트카드 프로그래밍에 관한 것이다. 특히, 본 개시는 스마트카드의 안전한 개인화(personalization)에 관한 것이다.
스마트카드 프린터와 같은 개인화 시스템은, 보통의 "프린팅"(예를 들어, 이미지 프린팅) 동작을 수행하는 것 외에, 멀티 애플리케이션 IC 카드와 같은 스마트카드의 개인화를 지원할 수 있다. 스마트카드 애플리케이션의 개인화는, 많은 경우에, 스마트카드 리더를 통해, 외부 개인화 시스템(소프트웨어 애플리케이션)과 IC 카드 간에 애플리케이션 프로토콜 데이터 유닛(APDUs: Application Protocol Data Units)의 순차적 교환에 의해 달성된다. 개인화 시스템이 인터넷/네트워크를 통해 IC 카드를 개인화할 때, 개인화 시스템은 많은 어려움에 직면한다. 예를 들어, 네트워크 및 시스템 성능, 네트워크 안정성 및 단대단(end-to-end) 보안은 이러한 스마트카드가 정확하고 빠르게 개인화되는 것을 보장하는 것이 고려되어야만 한다.
예를 들어, 많은 경우, 스마트카드 개인화는 예를 들어, 인증 및 암호화 키의 획득을 위하여, 스마트카드와의 반복적 통신과, 이어서 APDU를 교환하고, 때때로 스마트카드 상의 애플리케이션 로드 유닛(ALUs: Application Load Units)을 프로그램하기 위한, 개인화 시스템과 스마트카드 간의 통신 시퀸스를 필요로 한다. 많은 스마트카드가 동시 또는 순차적으로 발급되는 경우 또는 개인화 시스템이 스마트카드 프린터와 떨어져 위치되어 있는 경우, 네트워크 트래픽은 개인화 시스템과 스마트카드 간의 데이터 통신에 지연을 야기할 수 있다. 또한, 발급 시스템은 ALU를 형성하거나 또는 프로그래밍을 위해 필요한 APDU 교환을 완료하기 위해 스마트카드의 암호화 키를 필요로 하기 때문에, 스마트카드가 개인화되는 속도는 데이터 교환 속도/대역폭 문제뿐만 아니라, 일반적으로 스카트 카드의 개인화와 동시에 발생하는, 개인화 시스템이 카드에 저장될 데이터를 생성할 수 있는 속도에 의해서도 제한된다. 또한, 키 교환이 APDU의 형성을 위해 필요하기 때문에, 원격 개인화 시스템의 경우에는, 스마트카드 키가 인터넷을 통해 전송될 수 있는데, 이는 추가적인 보안 문제를 야기시킨다. 추가적으로, 네트워크 통신이 어떤 이유로 중단되면, 스마트카드의 프로그래밍이 실패할 것이다.
이러한 이유와 그 밖의 이유로 인하여, 스마트카드의 개인화를 위한 메커니즘의 개선이 바람직하다.
일반적으로, 본 개시는 스마트카드의 안전한 개인화에 관한 것이다. 일부 양태에서, 스마트카드를 프로그래밍하기 위해 사용되는 맞춤형 데이터세트(customized dataset)는 가상 스마트카드를 사용하여 생성될 수 있고, 디바이스-특정 암호화 키를 사용하여 카드 발급 디바이스와의 통신을 위해 보안될 수 있다. 카드 발급 디바이스에서, 맞춤형 데이터세트는 복호화되어 실제 스마트카드를 개인화하는데 사용될 수 있다.
제1 양태에서는, 스마트카드를 개인화하는 방법이 개시된다. 이 방법은 개인화 시스템에서, 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성하는 단계―맞춤형 데이터세트는 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 오퍼레이팅 시스템에 기초하여 생성됨―, 및 개인화 시스템에서, 개인화 시스템과 분리되어 있는 카드 발급 디바이스와 연관된 암호화 키를 사용하여, 맞춤형 데이터세트의 적어도 일부를 암호화하는 단계―암호화 키는 스마트카드에 저장되었을 때 맞춤형 데이터세트를 보안하는데 사용되는 임의의 암호화 키와는 상이한 것임―를 포함한다. 이 방법은 맞춤형 데이터세트를 카드 발급 디바이스에 전송하는 단계를 더 포함한다.
제2 양태에서는, 안전한 단대단 스마트카드 발급 시스템이 개시된다. 이 시스템은 컴퓨터-실행가능 명령을 저장하는 메모리에 통신 가능하게 연결된 프로그래머블 회로를 포함하는 개인화 시스템을 포함한다. 명령들은 실행되었을 때, 개인화 시스템이, 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성하고―맞춤형 데이터세트는 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 오퍼레이팅 시스템에 기초하여 생성됨―; 개인화 시스템에서, 개인화 시스템과 분리되어 있는 카드 발급 디바이스와 연관된 암호화 키를 사용하여, 맞춤형 데이터세트의 적어도 일부를 암호화하고―암호화 키는 스마트카드에 저장되었을 때 맞춤형 데이터세트를 보안하는데 사용되는 임의의 암호화 키와는 상이한 것임―; 및 맞춤형 데이터세트를 카드 발급 디바이스에 전송하게 한다.
제3 양태에서는, 안전한 단대단 스마트카드 개인화 시스템이 개시된다. 이 시스템은 카드 발급 디바이스에 통신 가능하게 연결된 개인화 시스템을 포함한다. 이 개인화 시스템은 실제 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 개인화된 가상 스마트카드를 생성하고, 맞춤형 데이터세트는 실제 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 오퍼레이팅 시스템에 기초하여 생성된다. 개인화 시스템은 또한 실제 스마트카드의 공개 키와는 상이하고, 프린터에 대해 고유한 공개-개인 키 쌍의 공개 키를 사용하여, 맞춤형 데이터세트의 적어도 일부를 암호화하도록 구성된다. 개인화 시스템은 맞춤형 데이터세트를 카드 발급 디바이스에 전송하도록 더 구성된다.
다른 양태에서, 스마트카드를 개인화하는 방법이 개시된다. 이 방법은 개인화 시스템에서, 개인화될 스마트카드의 오퍼레이팅 시스템 유형을 수신하는 단계, 및 카드 발급 디바이스에 대해 동시 보안 연결을 요구하지 않고, 오퍼레이팅 시스템에 따라서 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 개인화될 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성하는 단계를 포함한다. 이 방법은 맞춤형 데이터세트가 생성된 후에, 맞춤형 데이터를 카드 발급 디바이스에 전송하는 단계를 더 포함한다.
또 다른 양태에서, 스마트카드를 개인화하는 방법은 개인화될 스마트카드의 오퍼레이팅 시스템 유형을 개인화 시스템에 전송하는 단계; 카드 발급 디바이스에서, 개인화될 스마트카드에 설치하기 위한 개인화된 데이터를 포함하는 맞춤형 데이터세트를 수신하는 단계―맞춤형 데이터세트는 오퍼레이팅 시스템에 따라서 포맷된 개인화된 가상 스마트카드를 포함함―; 및 맞춤형 데이터세트를 사용하여 실제 스마트카드를 개인화하는 단계를 포함한다.
이 요약은 간략화된 형태로 개념들의 선택을 제공하는 것으로서, 개념들은 아래의 상세한 설명에서 더 설명된다. 이 요약은 청구된 주제의 주요 특징 또는 필수 특징을 식별하도록 의도되지 않고, 또는 청구된 주제의 범위를 제한하기 위해 사용되도록 의도되지 않는다.
도 1은 스마트카드 상의 애플리케이션에 대해 안전한 개인화가 달성될 수 있는 예시적인 네트워크를 나타낸다.
도 2a는 예시적인 실시예에 따른, 개인화 시스템에서 개인화 데이터를 생성하는 방법에 대한 순서도를 나타낸다.
도 2b는 도 2a에 따라 설명된 것처럼, 개인화 시스템에서 생성된 개인화 데이터를 사용하여 스마트카드를 프린팅하는 방법에 대한 순서도를 나타낸다.
도 3은 본 개시의 양태가 구현될 수 있는 컴퓨팅 디바이스를 나타낸다.
도 4는 예시적인 실시예에 따른, 개인화 시스템을 나타낸다.
도 5는 본 개시의 예시적인 실시예에 따른, 스마트카드를 개인화하기 위해 사용되는 예시적인 통신 시퀀스를 나타낸다.
도 6은 제1 예시적인 실시예에 따른, 스마트카드의 안전한 개인화를 위한 시스템을 나타낸다.
도 7은 제2 예시적인 실시예에 따른, 스마트카드의 안전한 개인화를 위한 시스템을 나타낸다.
도 8은 스마트카드를 인증하는데 이용되는 예시적인 통신 시퀀스를 나타낸다.
도 9는 제3 실시예에 따른, 스마트카드의 안전한 개인화를 위한 시스템을 나타낸다.
위에서 간략하게 설명된 바와 같이, 본 발명의 실시예는 스마트카드의 안전한 개인화를 위한 시스템 및 방법에 관한 것이다. 예시적인 양태에서, 스마트카드의 안전한 개인화는 APDU와 ALU의 생성을 스마트카드 자체의 프로그램으로부터 분리하여, 그로 인해 개인화 프로세스 동안에, 스마트카드 상에 설치되는 것으로 의도된 애플리케이션 데이터의 생성이, 시간 및 위치 중 하나 또는 모두에 대해, 해당 스마트카드로부터 연결해제될 수 있게 한다. 이것은 스마트카드에 대한 애플리케이션 프로그래밍 및 개인화 데이터의 사전-생성 및 스마트카드에 직접 인터페이스된 프린팅 시스템 외의 위치에서의 개인화 데이터의 생성을 허용한다. 또한, 스마트카드에 의해 사용된 것과 다른 보안 키를 사용하여 스마트카드 프린터로 전송되는 개인화 데이터의 보안을 허용하는데; 이는 스마트카드의 개인화가 개인화 시스템으로부터 프린터로 이동되어, 프린터로 전송되는 개인화 데이터의 보안에 관한 우려가 감소되기 때문이다.
일부 양태에서, 스마트카드를 프로그래밍하기 위해 사용되는 맞춤형 데이터세트가 스마트카드로의 전송을 위해 준비되어, 해당 스마트카드를 개인화하는데 사용될 수 있다. 맞춤형 데이터세트는, 예를 들어, 개인화되어야 하는 "실제" 스마트카드의 로컬에 있는 위치로 전송되는 개인화된 "가상" 스마트카드일 수 있다. 가상 스마트카드는 예를 들어 스마트카드가 있는 카드 발급 디바이스(예를 들어, 프린터)와 연관된 암호화 키로 암호화될 수 있다. 암호화 키는 비대칭 또는 대칭 키일 수 있으며, 선택적으로 해당 카드 발급 디바이스에 대해 고유한 키일 수 있다. 이러한 키의 사용은 맞춤형 데이터세트(예를 들어, 개인화된 "가상" 스마트카드)를 전송하는 동안 안전성(security)을 보장한다.
단말 디바이스에서, 가상 스마트카드에 반영되는 개인화는 실제 스마트카드에 전달될 수 있으며, 이로 인해 실제 스마트카드가 정확하게 개인화될 수 있다. 또한, 카드 발급 디바이스는 가상 스마트카드에 반영된 개인화 데이터를 사용하여 스마트카드를 프로그래밍을 하는 것을 처리할 수 있다. 이와 같이, 개인화 시스템은 복수의 상이한 카드 발급 디바이스에서 개인화를 수용하도록 구성될 필요가 없으며, 오히려 상이한 스마트카드 오퍼레이팅 시스템을 위한 데이터의 구성이 카드 발급 디바이스에 의해 처리될 수 있어, 개인화 시스템의 요건을 단순화시킨다. 추가적으로, 개인화 시스템과 카드 발급 디바이스 간의 보안 연결은 실제 스마트카드를 개인화하는 동안은 필요 없으므로, 이러한 분산된 카드 발급 시스템의 보안성 및 통신 요건을 단순화시킨다. 또한, 카드 발급 디바이스와 연관되거나, 또는 일부 경우에 카드 발급 디바이스에 대해 고유한 암호화 키의 사용은, 해당 카드 발급 디바이스를 검증할 수 있게 한다. 이것은 잘못된 카드 발급 디바이스에서의, 개인화 데이터의 배포 또는 해당 데이터의 복호화를 방지함으로써 보안성을 향상시킨다.
본 명세서에 기재된 안전한 개인화 기능은 복수의 서로 다른 유형의 스마트카드 플랫폼과 함께 사용할 수 있다. 예를 들어 배경은. 다수의 상이한 유형의 플랫폼이 존재하고 있으며, 각 플랫폼은 온카드 저장소, 인증 및 암호에 보안 접속을 제공하는데 사용할 수 있는 하드웨어-특정 펌웨어를 포함하는 오퍼레이팅 시스템을 갖는다. 일반적으로 스마트카드 오퍼레이팅 시스템은 스마트카드의 통신 프로토콜을 제어하고, 메모리에 저장된 파일과 데이터를 관리하며, 스마트카드에 대한 액세스 제어 및 카드 보안 특징을 제공한다. 오퍼레이팅 시스템의 예로는 MULTOS, GlobalPlatform 및 다양한 독점 또는 네이티브 오퍼레이팅 시스템이 있다. 개인화 시스템이 일반적으로 카드 유형 또는 오퍼레이팅 시스템을 식별하고, 해당 카드 상의 애플리케이션을 개인화하는데 사용되는 APDU를 생성하는 적절한 방법 또는 프로세스를 선택해야 한다는 점에서, 오퍼레이팅 시스템의 각각은 카드에 따라 상이한 개인화 프로세스를 갖는다. 본 개시에 따르면, 여기에 설명된 방법 및 시스템은 다양한 스마트카드 플랫폼을 사용하는 스마트카드의 안전한 개인화를 제공한다.
또한, 이하에서 더 상세하게 언급되는 것처럼, 용어 " 스마트카드"는 물리적 스마트카드(접촉식 스마트카드와 비접촉식 카드 모두)뿐만 아니라, 은행 카드 또는 민감한 개인화 데이터를 저장하고 신뢰할 수 있는 트랜잭션(예를 들어, 액세스 또는 금융 거래)과 함께 사용될 수 있는 다른 카드의 전자 표현과 같은 전자 스마트카드를 포함하는 것으로 의도된다. 예를 들어, 전자 스마트카드는 스마트폰 또는 다른 모바일 디바이스 상의 전자 지갑에 저장될 수 있다.
도 1을 참조하면, 예시적 네트워크(100)에서 스마트카드 상의 애플리케이션의 안전한 개인화가 달성될 수 있다. 네트워크(100)는 다양한 유형의 네트워크 위치를 포함하며, 그 중 일부만이 (아래에서 더 설명되는 것처럼) 임의의 특정 개인화 시나리오의 맥락에서 존재할 수 있다.
도시된 예시에서, 네트워크(100)는 프린터(106)로 도시된, 하나 이상의 카드 발급 디바이스와 통신 가능하게 연결된 카드 발급 컴퓨팅 시스템(104)을 가지는 카드 발급 장소(102)를 포함할 수 있다. 도시된 예시에서, 개인화 시스템(108) 및 개인화 데이터 서버(109)는 네트워크(110)를 통해 카드 발급 컴퓨팅 시스템(104)과 통신 가능하게 연결된다. 네트워크(110)는 인터넷과 같은 공공 네트워크에 대응할 수 있다.
카드 발급 장소(102)는 일반적으로 스마트카드가 "개인화" 되어질 위치에 대응한다. 구체적으로, 카드 발급 장소(102)는 스마트카드가 프린트되고, 스마트카드가 스마트카드 프린터(106)를 통해 특정 애플리케이션의 프로그래밍 및/또는 해당 스마트카드에 대해 고유한 데이터를 수신할 장소이다. 예시적인 스마트카드 애플리케이션 및/또는 데이터는 스마트카드의 의도된 사용자와 연관된 정보, 액세스 권한에 관한 정보, 보안 액세스 및/또는 금융 계정 액세스를 규정하는 프로그래밍 로직, 소매점 충성도 및/또는 다른 유형의 애플리케이션을 포함할 수 있다. 따라서, 카드 발급 장소(102)는 벌크 카드 발급 시설일 수 있거나, 또는 금융 기관 또는 보안 시설과 같은 "온 디맨드" 방식으로 스마트카드가 사용자에게 발급될 수 있는 장소일 수 있다.
예시적 실시예에서, 카드 발급 컴퓨팅 시스템(104)은 맞춤형 데이터세트를 스마트카드의 프로그래밍을 위해 카드 발급 디바이스(예를 들어, 프린터(106))에 제공할 수 있는 프린팅 데이터 조정 시스템과 같은 프린팅 시스템에 대응할 수 있다. 예시적 실시예에서, 카드 발급 컴퓨팅 시스템(104)은 단일 프린터(106) 또는 도 1에 도시된 바와 같이 복수의 프린터(106)에 인터페이스될 수 있다. 이러한 구성에서, 카드 발급 컴퓨팅 시스템(104)은 각 프린터가 이용 가능해지고 새로운 스마트카드를 개인화할 준비가 되었을 때, 해당 프린터들에 대해 적절한 처리량을 보장하기 위해 다양한 프린터(106)로의 데이터 전송을 조정할 수 있다. 프린터들(106)은 일반적으로 스마트카드 상에 개인화 데이터를 프로그램하는 개인화 프로세스를 수행하도록 구성될 수 있으며, 선택적으로 스마트카드가 텍스트, 그래픽 또는 다른 라벨링으로 임프린트되는 물리적 프린팅 프로세스를 수행하도록 구성될 수도 있다.
그러나, 본 개시의 일부 응용예에서는, 카드 발급 컴퓨팅 시스템(104)이 존재하지 않는다. 예를 들어, 도 1에 더 도시되어 있는 것처럼, 프린터(107)와 같은 카드 발급 디바이스는 네트워크(110)에 직접 연결될 수 있다. 이러한 구성에서, 프린터(107)는 스마트카드를 발급할 수 있는 독립형 발급 시스템으로서 동작할 수 있다. 프린터(107)는 예를 들어, 더 적은 양의 스마트카드를 발급하는 것이 요구되는 금융 기관의 지점에 위치될 수 있으며, 복수의 프린터(106)가 필요하지 않는다.
프린터(106, 107)에 의해 개인화될 수 있는 스마트카드의 예시적인 유형은, 예를 들면, 마그네틱 선과 집적 회로 카드(ICC: integrated circuit card) 칩을 갖는 금융 카드(예를 들어, 직불 카드 또는 신용 카드)를 포함하는 물리적 스마트카드를 포함할 수 있다. 따라서, 이러한 경우에, 스마트카드의 개인화는 마그네틱 선에 데이터를 인코딩하는 것뿐만 아니라, 물리적 카드 상에 텍스트 및/또는 그래픽을 프린팅 또는 엠보싱하는 것을 포함할 수 있다.
또 다른 예시에서는, 프린터(106, 107)와 같은 카드 발급 디바이스의 사용 보다는, 소프트웨어-기반 카드 발급 디바이스가 사용자에게 스마트카드를 발급하는데 사용될 수 있다. 도 1에 도시되어 있는 것처럼, 모바일 지갑 소프트웨어가 설치된 스마트폰(112)과 같은 모바일 디바이스는, 실제 개인화된 소프트웨어-구현 스마트카드를 생성할 수 있는 카드 발급 소프트웨어를 포함함으로써 카드 발급 디바이스로서 동작할 수 있다.
개인화 시스템(108)은 일반적으로 설치된 소프트웨어 툴을 가지는 컴퓨팅 시스템에 대응하고, 소프트웨어 툴은 스마트카드에 저장 및 실행을 위한 프로그래밍을 생성할 수 있다. 일부 경우에, 개인화 시스템(108)은 예를 들어 카드 발급 컴퓨팅 시스템(104)과 동일한 로컬 네트워크 내 또는 동일한 컴퓨팅 시스템에 통합된 프린터(106)에 근접하여 위치된다. 그러나, 본 개시의 보안 측면에 따르면, 개인화 시스템(108)은 보다 쉽게 프린터(106)로부터 멀리 위치될 수 있는데, 이는 개인화 시스템(108)이 카드가 개인화되는 시간 이외에 시간에 개인화된 카드 데이터를 생성하는데 사용될 수 있기 때문이다. 일부 양태에서, 개인화 시스템(108)은 개별(discrete) 컴퓨팅 시스템으로서 또는 브라우저가 설치된 원격 컴퓨팅 시스템을 통해 액세스 가능한 클라우드 기반 시스템으로서 사용자에게 이용 가능할 수 있다. 이러한 상황에서, 개인화 시스템(108)은 카드 발급을 요청한 사용자와 프린터 또는 다른 카드 발급 디바이스 모두로부터 멀리 있을 수 있지만, 카드 발급을 요청한 사용자는 카드 발급 디바이스와 근거리에 있을 수 있다. 이러한 구성은 예를 들어, 제한된 카드 발급량이 필요한 금융 기관의 지점 또는 시설에서 시작되는 클라우드-기반 카드 발급의 경우에 사용될 수 있다.
예시적인 실시예에서, 개인화 시스템(108)은 스마트카드의 개인화를 위하여, "가상" 스마트카드의 포맷에 따른 개인화 데이터를 준비하고, 그 개인화 데이터를 카드 발급 컴퓨팅 시스템(104) 및 프린터(106), 프린터(107), 또는 소프트웨어-기반 카드 발급 디바이스(모바일 디바이스(112))와 같은 카드 발급 디바이스에 전송한다.
개인화 데이터 서버(109)는 프린터(106)를 사용하여 스마트카드의 프로그래밍을 위한 개인화, 또는 맞춤형, 데이터세트를 형성하는데 사용될 데이터를 저장한다. 예시적인 실시예에서, 개인화 데이터 서버(109)는 애플리케이션 데이터 및/또는 스마트카드로 전송 가능한 사용자 데이터의 데이터베이스를 포함할 수 있다.
이러한 구성에서, 개인화 시스템(108)은 카드 발급 디바이스에서 스마트카드의 개인화를 위해 사용될 수 있는 맞춤형 데이터세트를 카드 발급 디바이스에 전송할 수 있다. 예를 들어, 맞춤형 데이터세트는 개인화 시스템(108)에 로컬적이거나 또는 개인화 데이터 서버(109)로부터 획득된 개인화 데이터를 사용하여 생성될 수 있는 개인화된 가상 스마트카드일 수 있다.
예시적인 실시예에서, 카드 발급 컴퓨팅 시스템(104), 개인화 시스템(108) 및 개인화 데이터 서버(109)를 포함하는 다양한 컴퓨팅 시스템은, 만약 개인화가 카드 발급 장소(102)에서 국부적으로 수행되었을 경우와 같이, 공통 장소 또는 공통 컴퓨팅 시스템에 위치될 수 있다. 도시된 것과 같은 다른 실시예에서, 하나 이상의 이러한 시스템은 앞에서 언급한 것처럼, 프린터(106, 107) 또는 모바일 디바이스(112)로부터 멀리 떨어져 위치될 수 있다.
여기에서 언급된 것처럼, 프린터(106, 107)는 일반적으로 카드 발급 디바이스의 일 예시에 대응한다. 프린터는 일반적으로 카드 프로그래밍 및 물리적 프린팅 구성요소를 포함하여, 각 프린터가 스마트카드 상에 이미지 또는 문자를 임프린트하고 그에 대응하여 특정 애플리케이션을 위해 스마트카드를 프로그램할 수 있게 한다. 예시적인 프린터는, 각각이 미네소타의 Shakopee의 Entrust Datacard Corporation으로부터 상업적으로 이용 가능한, 예를 들어 MX-시리즈 카드 발급 시스템, 또는 CD- 및/또는 CR-시리즈 프린팅 시스템을 포함할 수 있다. 대안적 구현예에서, 추가적인 기능을 포함하거나 또는 프린터(106)의 물리적 문자/그래픽적 프린팅 특성이 결여된 카드 발급 디바이스가 사용될 수 있음에 유의한다. 예를 들어, 카드 발급 디바이스는 소프트웨어-기반 스마트카드의 즉각적인 발급을 위한 소프트웨어를 포함하는 모바일 디바이스(112)를 포함할 수 있다. 간략화를 위해, 본 명세서에서, 용어 "프린터"는 일반적으로 카드 발급 디바이스를 위해 사용될 수 있지만, 이러한 카드 발급 디바이스가 반드시 프린터로 제한되는 것은 아니다.
도 1을 참조하면, 일반적으로 다양한 카드 발급 디바이스(예를 들어, 카드 발급 장소(102), 네트워크 프린터(107) 및 모바일 디바이스(112))를 검토하면, 네트워크(100)의 이러한 서브시스템 중 하나 이상이 카드 발급을 위한 전체 시스템에 포함될 수 있고, 이러한 서브시스템의 모두가 본 개시의 양태를 구현하기 위해 있을 필요는 없다는 점에 유의한다. 일반적으로, 본 개시에 따라서, 적어도 하나의 카드 발급 디바이스는 스마트카드와 연관될 것이며, (예를 들어, 근거리, 원거리,클라우드-기반) 개인화 시스템에 통신 가능하게 연결되어, 개인화된 가상 스마트카드 또는 (하드웨어 또는 소프트웨어-기반) "실제" 스마트카드의 개인화에 사용되기 위해 준비된 개인화된 데이터의 다른 포맷을 제공함으로써 스마트카드의 개인화를 위한 개인화 데이터를 개인화 시스템에 제공할 수 있다.
이제 도 2a-도 2b를 참조하면, 개인화 데이터(예를 들어, APDU와 같은 해당 스마트카드에 프로그래밍을 위하여 특정 스마트카드에 대해 맞춤된 데이터)를 생성하고 개인화 데이터를 사용하여 스마트카드를 프린팅하는 방법의 순서가 도시되어 있다. 여기서 설명된 방법들은 개인화 시스템(108)과 프린터(106, 107)에서 각각 수행될 수 있다. 먼저 도 2a를 참조하면, 스마트카드 상에 설치를 위해 맞춤형 데이터세트를 생성하는 방법(200)이 설명된다. 맞춤형 데이터세트는 예를 들면, ALU로서 형성된 개인화 데이터일 수 있으며, 이는 결국 APDU 교환을 통해 스마트카드 상에 프로그램될 수 있다. 개인화 데이터는 예를 들면, 특정 종단 사용자의 개인화 데이터로, 개인화되는 가상 스마트카드에 포함될 수 있으며, "실제" 스마트카드의 개인화를 위하여 프린터로 가상 스마트카드가 전송된다.
도시된 실시예에서, 이 방법은 카드 발급 디바이스로부터 개인화될 스마트카드의 포맷을 획득하는 단계(단계 202)를 포함한다. 이것은, 예를 들어, 개인화될 스마트카드의 유형을 식별하는 입력을 사용자로부터 획득하는 단계, 또는 개인화될 스마트카드의 유형을 결정하기 위해 카드 발급 디바이스를 질의하는 단계를 포함할 수 있다. 유형 또는 형식에 따라, 일반적으로 스마트카드의 오퍼레이팅 시스템 또는 플랫폼 아키텍처가 결정되는 것이 의도되는데, 이는 다른 스마트카드는 상이한 데이터 포맷을 사용하여 상이하게 개인화되기 때문이다.
도시된 실시예에서, 방법(200)은 스마트카드에 설치하기 위한 맞춤형 데이터세트를 생성하는 단계(단계 204)를 더 포함한다. 맞춤형 데이터세트는 스마트카드의 결정된 오퍼레이팅 시스템과 함께 사용하기 위해 구성된다. 위에서 언급된 것처럼, 복수의 상이한 스마트카드 오퍼레이팅 시스템의 각각은 보안된 프로그래밍 시퀀스 관점에서 스마트카드를 프로그래밍하고 프로그램될 데이터의 포맷팅에 대해서 상이한 요건을 가진다. 예시적인 실시예에서, 맞춤형 데이터세트는 개인화 데이터를 포함하고, 선택적으로 스마트카드에 저장될 개인화 데이터를 사용하는 하나 이상의 애플리케이션을 포함할 수 있다. 개인화 데이터는, 예를 들어, 카드에 의해 사용될 특정 암호화 키의 세트, 카드를 발급받을 사람에 대한 정보(예를 들어, 카드 소유자의 이름) 또는 카드를 사용하기 위한 액세스 또는 계정 세부정보에 대한 정보를 포함할 수 있다. 맞춤형 데이터세트는 개인화 데이터의 포맷팅을 나타내는 것으로, 개인화 데이터는 스마트카드와 함께 개인화 시퀀스 후에 발생한다. 일부 경우에, 맞춤형 데이터세트는 궁극적으로 개인화될 "실제" 스마트카드와 동일한 오퍼레이팅 시스템을 갖도록 선택되는 개인화된 버전의 "가상" 스마트카드에 대응한다. 다른 실시예에서, 개인화된 "가상" 스마트카드는 "실제" 스마트카드의 오퍼레이팅 시스템에 기반하고 및/또는 그것과 호환되는 오퍼레이팅 시스템을 갖도록 선택된다.
도시된 실시예에서, 방법(200)은 카드 발급 디바이스에 특정한 암호화 키를 획득하는 단계(단계 206)를 더 포함한다. 암호화 키는 카드 프린터에 대해 고유한 공개-개인 키 쌍의 공개 키이거나, 또는 아래에서 더 설명하는 것처럼, 암호화된 개인화 데이터를 랩핑하는데 사용되는 대칭 키일 수 있다. 특히, 사용되는 암호화 키는 실제 스마트카드의 키와는 다른 키이며, 이것은 일반적으로 맞춤형 데이터세트를 형성하는데 사용된다. 암호화 키는 카드 발급 디바이스, 또는 카드 발급 디바이스의 키를 관리하는데 사용되는 키 저장소로부터 검색될 수 있다. 다양한 키 유형이 사용될 수 있지만, 프린터-특정 공개-개인 키 쌍은 카드 발급 디바이스를 검증할 수 있게 하는데, 이는 카드 발급 디바이스만이 개인 키에 액세스할 것이며, 키 저장소는 단지 공개 키 액세스를 관리하기 때문이다. 이러한 경우, 개인화되는 특정 카드와 함께 사용되기 위한 맞춤형 데이터세트를 암호화하기 위해 프로그래밍을 하는 시점에서 그 맞춤형 데이터세트를 카드 발급 디바이스(예를 들어, 프린터)가 처리할 수 있게 하도록, 암호화 키는 스카트 카드의 프로그래밍을 수행하는 디바이스(예를 들어, 프린터(106, 107) 또는 모바일 디바이스(112))에 대해 특정된 것이다. 예를 들어 (및 아래에서 설명되는 것처럼), 프린터는 그것의 공개-개인 키 쌍의 개인 키를 사용하여 맞춤형 데이터세트를 복호화하고 스마트카드의 공개 개인 키 쌍의 공개 키를 사용하여 맞춤형 데이터세트를 다시 암호화할 수 있고, 이로써 스마트카드에 저장하기 위한 맞춤형 데이터세트를 준비한다. 물론, 다른 실시예들에서, 사용되는 암호화 키는 디바이스-특정적이지 않을 수 있지만, 해당 디바이스와 연관될 수 있다. 예를 들어, 대칭 키는 인증 시스템에 의해 카드 발급 디바이스 및 개인화 시스템 모두에 발급될 수 있으며, 대칭 키는 카드 발급 디바이스의 식별자와 연관되어 키 저장소에 유지된다. 카드 발급 디바이스와 개인화 시스템 간에 키 또는 보완 키(complementary keys)를 공유할 수 있는, 다른 구성도 가능하다.
이 방법은 프린터와 같은, 카드 발급 디바이스에 대해 고유한 암호화 키를 사용하여 개인화 시스템에서 맞춤형 데이터세트를 암호화하는 단계(단계 208)를 더 포함한다. 이 방법은 상술한, 단계 206에서 획득된 프린터-특정 암호화 키의 사용을 포함할 수 있다. 일부 경우, 암호화 키는 스마트카드의 공개-개인 키 쌍의 공개 기와 같은 방식으로 사용될 수 있고; 암호화 키는 또한 대칭 키일 수 있다. 어느 경우든, 암호화 키는 개인화 디바이스(108)와 의도된 카드 발급 디바이스(예를 들어, 프린터(106, 107) 또는 모바일 디바이스(112)) 간의 통신을 위해 사용되는 별도의 키일 수 있거나 또는 사실상 실제 스마트카드의 개인화를 위해 카드 발급 디바이스에 전송될 수 있는 개인화된 가상 스마트카드를 생성하도록, 개인화 디바이스에 의해 사용되는 "가상" 스마트카드의 키로서 처리될 수 있다. 어느 경우든, 개인화 디바이스(108)는 대체로 개인화될 실제 스마트카드와 통신 세션을 열어 유지하지 않고 개인화된 가상 스마트카드를 생성하기 때문에, 별도의 개인화 시스템이 전송을 위한 맞춤형 데이터세트를 프린터에서 생성할 수 있도록, 실제 스마트카드가 프린터에서 동시에 존재할 필요는 없다.
도 2a에 도시되어 있는 것처럼, 맞춤형 데이터세트가 카드 발급 디바이스에 대해 특정한 암호화 키를 사용하여 암호화된 후에, 암호화된 맞춤형 데이터세트가 카드 발급 디바이스에 전송될 수 있다(단계 210). 개인화 시스템 및 카드 발급 디바이스의 특정 네트워크 구성에 따라, 암호화된 맞춤형 데이터세트를 전송하는 것은 예를 들어, 인터넷을 통해 이루어질 수 있다.
도 2b는 도 2a를 따라서 설명된 것처럼 개인화 시스템에서 생성된 개인화 데이터를 사용하여 스마트카드를 프린팅하는 방법(220)의 순서도를 나타낸다. 방법(220)은 예를 들어 도 1의 프린터(106, 107) 또는 모바일 디바이스(112)와 같은 카드 발급 디바이스에서 수행될 수 있다. 도시된 예시에서, 방법(220)은 프린터-특정 키를 개인화 시스템에 전송하는 단계뿐만 아니라 개인화될 스마트카드의 타입(예를 들어, 오퍼레이팅 시스템)을 식별하는 단계(단계 222)를 포함한다. 프린터-특정 키는 프린터에 대해 고유하게 알려져 있는 키이거나 또는 프린터의 공개-개인 키의 공개 키와 같은, 프린터의 키에 대해 상보적인 키일 수 있으며, 프린터 또는 다른 카드 발행 디바이스, 또는 키 저장소로부터 전송될 수 있다. 방법(220)은 또한 암호화된 데이터세트를 수신하는 단계(단계 224)를 포함한다. 암호화된 데이터세트는 예를 들어, 개인화된 시스템으로부터 수신된 개인화된 데이터(예를 들어, 암호화되고, 개인화된 가상 스마트카드)를 포함하는 맞춤형 데이터세트일 수 있다. 암호화 키를 개인화 시스템에 전송하는 것은 일반적으로 개인화 시스템으로부터 암호화된 데이터세트를 수신하기 이전에 발생하는데, 이는 암호화된 데이터세트가 다른 키 중에서, 프린터 또는 키 저장소에 의해 제공된 암호화 키를 사용하여 암호화될 것이기 때문이라는 점에 유의한다.
도시된 예시에서, 방법(200)은 고유 카드 키를 획득하는 단계(단계 226)를 포함한다. 고유 카드 키는 예를 들어, 개인화될 실제 스마트카드의 공개-개인 키 쌍일 수 있다. 고유 카드 키는 다양한 방식으로 획득될 수 있다. 예시적 실시예에서, 고유 카드 키는 스마트카드에 저장될 수 있고, 고유 카드 키를 획득하는 단계는 스마트카드의 공개-개인 키 쌍의 공개 키를 프린터에서 수신하는 단계를 포함한다. 이것은 예를 들어, 전통적인 스마트카드 개인화 시퀀스 동안 발생할 수 있는 것처럼, 프린터와 스마트카드 간의 APDU 교환 시퀀스 동안에, 발생할 수 있다. (예를 들어, 스마트카드가 그 내부에 암호화 키가 없거나, 또는 스마트카드가 다시 프로그래밍되어야 하는) 다른 예시에서, 고유 카드 키를 획득하는 단계는 (예를 들어, 프린터와 근거리에 있는 암호화 엔진으로부터) 프린터에서 공개-개인 키 쌍을 생성하는 단계 또는 그 키 쌍을 특정 스마트카드에 할당하는 컴퓨팅 시스템으로부터 공개-개인 키 페어를 수신하는 단계를 포함할 수 있다.
방법(220)은 스마트카드에 저장하기 위해 맞춤형 데이터세트를 변환하는 단계(단계 228)를 더 포함한다. 도 2b에서 도시된 것과 같은 예시에서, 맞춤형 데이터세트를 변환하는 단계는 프린터에 대해 고유한 공개-개인 키 쌍의 개인 키를 사용하여 (또는 암호화를 위해 사용된다면 대칭 키를 사용하여) 수신된 암호화된 데이터세트를 복호화하는 단계, 및 프린터에서, 스마트카드에 저장하기 위한 하나 이상의 프로그래밍 데이터세트를 형성하는 단계를 포함할 수 있다. 맞춤형 데이터세트를 스마트카드에 전송하는 단계는 프린터에서, 프린터로부터 스마트카드로의 보안 채널을 확립하는 단계, 및 스마트카드의 공개 키를 획득하기 위해 일련의 APDU 교환을 수행하고 스마트카드에 저장하기 위해 개인화 데이터를 암호화하는 단계를 포함할 수 있다는 점에 유의한다. APDU 교환은 개인화 데이터를 가상 스마트카드에서 실제 스마트카드로 전송할 수 있고, 이로써 이제 "실제" 스마트카드의 암호화 키로 암호화된 개인화 데이터를, 스마트카드의 오퍼레이팅 시스템에 따라 저장 및 사용하기 위해 스마트카드로 전송하게 할 수 있다(단계 230). 따라서, 실제 스마트카드는 개인화 시스템(108)으로부터 수신된 가상 스마트카드에 포함된 개인화 데이터를 사용하여 개인화된다. 일부 경우에, "실제" 카드 개인화 데이터를 생성하고 해당 데이터를 전송하기 위한 카드로의 보안 채널을 형성하는데 모두 사용되는 카드-특정 암호화 키(들)를 획득하기 위해 필요한 스마트카드와의 일부 통신이 있을 수 있다는 점에서, 스마트카드에 저장하기 위한 개인화 데이터의 변환 및 스마트카드로의 전송 중 적어도 일부가 동시에 일어날 수 있다는 점에 유의한다.
도 2a 내지 도 2b를 참조하면, 일반적으로 개인화 데이터가 스마트카드에 저장하기 위해 준비되는 전형적인 경우에, 개인화 시스템과 스마트카드 간에 다수의 메시지 교환을 포함하는 통신 시퀀스가 발생하고, 그 동안 스마트카드를 프로그램하거나 또는 개인화하는데 사용되는 데이터를 생성하는데 사용되는 키들이 교환된다는 점에 유의한다. 그러나,도 2a-2b에 반영된 것처럼, (예를 들어,도 2a의 단계 208에서와 같이) 단일 전송 발생이 스마트카드 개인화를 위하여, 암호화된 맞춤형 데이터세트를 프린터로 전송하는데 사용될 수 있다. 이는 개인화 프로세스의 실패를 야기하는 네트워크 중단의 가능성을 완화시킨다. 또한, "가상" 스마트카드와 프린터-특정 키가 암호화된 맞춤형 데이터세트를 생성하는데 사용될 수 있기 때문에, 프린터에 전송되는 맞춤형 데이터세트는 프린터의 암호화 키에 의해 보안되고, 따라서 프린터에 전송될 때 데이터세트의 인터셉트(interception)가 일반적으로 스마트카드에서 데이터세트를 위태롭게 하지 않을 것이다. 또한, 방법(200)은 방법(220)에서와 같이, 스마트카드 개인화 자체와는 다른 시간에 수행될 수 있다. 이와 같이, 맞춤형 데이터세트의 생성은 스마트카드의 프로그래밍과 일시적으로 분리될 수도 있고, 이로써 (예를 들어, 카드 프로세싱 시설에서의 대량 개인화 프로세스의 경우에) 스마트카드를 개인화하는 이러한 맞춤형 데이터세트의 생성은 속도를 제한하는 정도를 완화시킬 수 있다. 이는 개인화 시스템이 저비용, 저성능 컴퓨팅 시스템을 사용하여 구현될 수 있게 한다.
이제 도 3을 참조하면, 본 개시의 양태를 구현할 수 있는 컴퓨팅 디바이스가 도시되어 있다. 컴퓨팅 디바이스(300)는 예를 들어, 상술한 도 1의 개인화 시스템(108), 개인화 데이터 서버(109), 또는 카드 발급 컴퓨팅 시스템(104)을 구현하기 위해 사용될 수 있다.
도 3의 예시에서, 컴퓨팅 디바이스(300)는 메모리(302), 프로세싱 시템(304), 보조 저장 디바이스(306), 네트워크 인터페이스 카드(308), 비디오 인터페이스(310), 디스플레이 유닛(312), 외부 구성요소 인터페이스(314), 및 통신 매체(316)를 포함한다. 메모리(302)는 데이터 및/또는 명령을 저장할 수 있는 하나 이상의 컴퓨터 저장 매체를 포함한다. 다른 실시예에서, 메모리(302)는 다른 방식으로 구현된다. 예를 들어, 메모리(302)는 다양한 유형의 컴퓨터 저장 매체를 사용하여 구현될 수 있고, 일반적으로 적어도 일부 유형의 매체를 포함한다. 일부 실시예에서, 메모리(302)는 전부 비-일시적 매체를 사용하여 구현된다.
프로세싱 시스템(304)은 하나 이상의 프로세싱 유닛, 또는 프로그래머블 회로를 포함한다. 프로세싱 유닛은 소프트웨어 명령을 선택적으로 실행하는 하나 이상의 집적 회로를 포함하는 물리적 디바이스 또는 제조 물품이다. 다양한 실시예에서, 프로세싱 시스템(304)은 다양한 방식으로 구현된다. 예를 들어, 프로세싱 시스템(304)은 하나 이상의 물리적 또는 논리적 프로세싱 코어로서 구현될 수 있다. 다른 예시에서, 프로세싱 시스템(304)은 하나 이상의 개별 마이크로 프로세서를 포함할 수 있다. 또 다른 예시적인 실시예에서, 프로세싱 시스템(304)은 특정 기능을 제공하는 ASIC(application-specific integrated circuit)을 포함할 수 있다. 또 다른 예시에서, 프로세싱 시스템(304)은 ASIC을 사용하고 컴퓨터-실행가능 명령을 실행함으로써 특정 기능을 제공한다.
보조 저장 디바이스(306)는 하나 이상의 컴퓨터 저장 매체를 포함한다. 보조 저장 디바이스(306)는 프로세싱 시스템(304)에 의해 직접 액세스할 수 없는 데이터 및 소프트웨어 명령을 저장한다. 다시 말해서, 프로세싱 시스템(304)은 보조 저장 디바이스(306)로부터 데이터 및/또는 소프트웨어 명령을 검색하기 위해 I/O 동작을 수행한다. 다양한 실시예에서, 보조 저장 디바이스(306)는 다양한 유형의 컴퓨터 저장 매체를 포함한다. 예를 들어, 보조 저장 디바이스(306)는 하나 이상의 자기 디스크, 자기 테이프 드라이브, 광 디스크, 솔리드-스테이트 메모리 디바이스 및/또는 다른 유형의 유형의 컴퓨터 저장 매체를 포함할 수 있다.
네트워크 인터페이스 카드(308)는 컴퓨팅 디바이스(300)가 통신 네트워크로 데이터를 송신하고 통신 네트워크로부터 데이터를 수신할 수 있게 한다. 다른 실시예에서, 네트워크 인터페이스 카드(308)는 다른 방식으로 구현된다. 예를 들어, 네트워크 인터페이스 카드(308)는 이더넷 인터페이스, 토큰-링 네트워크 인터페이스, 광섬유 네트워크 인터페이스, 무선 네트워크 인터페이스(예를 들어, WiFi, WiMax 등), 또는 다른 유형의 네트워크 인터페이스로서 구현될 수 있다.
비디오 인터페이스(310)는 컴퓨팅 디바이스(300)가 비디오 정보를 디스플레이 유닛(312)에 출력할 수 있게 한다. 디스플레이 유닛(312)은 LCD 디스플레이 패널, 플라즈마 스크린 디스플레이 패널, 터치-감지 디스플레이 패널, LED 스크린, 음극선 관 디스플레이 또는 프로젝터와 같은, 비디오 정보를 디스플레이하기 위한 다양한 유형의 디바이스일 수 있다. 비디오 인터페이스(310)는 예를 들어, USB(Universal Serial Bus) 커넥터, VGA 커넥터, DVI(digital visual interface) 커넥터, S-비디오 커넥터, HDMI(High-Definition Multimedia Interface) 인터페이스 또는 DisplayPort 커넥터를 통하는 것처럼, 디스플레이 유닛(312)과 다양한 방식으로 통신할 수 있다.
외부 구성요소 인터페이스(314)는 컴퓨팅 디바이스(300)가 외부 디바이스와 통신할 수 있게 한다. 예를 들어, 외부 컴포넌트 인터페이스(314)는 USB 인터페이스, FireWire 인터페이스, 직렬 포트 인터페이스, 병렬 포트 인터페이스, PS/2 인터페이스 및/또는 컴퓨팅 디바이스(300)가 외부 디바이스와 통신할 수 있게 하는 다른 유형의 인터페이스일 수 있다. 다양한 실시예들에서, 외부 컴포넌트 인터페이스(314)는 컴퓨팅 디바이스(300)가 외부 저장 디바이스, 입력 디바이스, 스피커, 모뎀, 미디어 플레이어 도크, 다른 컴퓨팅 디바이스, 스캐너, 디지털 카메라 및 지문 판독기와 같은 다양한 외부 컴포넌트와 통신할 수 있게 한다.
통신 매체(316)는 컴퓨팅 디바이스(300)의 하드웨어 구성요소 간에 통신을 용이하게 한다. 통신 매체(316)는 메모리(302), 프로세싱 시스템(304), 보조 저장 디바이스(306), 네트워크 인터페이스 카드(308), 비디오 인터페이스(310), 및 외부 구성요소 인터페이스(314) 간에 통신을 용이하게 한다. 통신 매체(316)는 다양한 방식으로 구현될 수 있다. 예를 들어, 통신 매체(316)는 PCI 버스, PCI 익스프레스 버스, AGP(accelerated graphics port) 버스, 직렬 ATA(Advanced Technology Attachment) 인터커넥트, 병렬 ATA 인터커넥트, 파이버 채널 인터커넥트, USB 버스, SCSI(Small Computing System Interface) 인터페이스, 및 다른 유형의 통신 매체를 포함할 수 있다.
메모리(302)는 다양한 유형의 데이터 및/또는 소프트웨어 명령을 저장한다. 메모리(302)는 BIOS(Basic Input/Output System)(318) 및 오퍼레이팅 시스템(320)을 저장한다. BIOS(318)는 프로세싱 시스템(304)에 의해 실행될 때, 컴퓨팅 디바이스(300)를 부팅되게 하는 컴퓨터-실행가능 명령들의 세트를 포함한다. 오퍼레이팅 시스템(320)은 프로세싱 시스템(304)에 의해 실행될 때, 컴퓨팅 디바이스(300)가 컴퓨팅 디바이스(300)의 리소스의 활동 및 공유를 조정하는 오퍼레이팅 시스템을 제공하게 하는 컴퓨터-실행가능 명령들의 세트를 포함한다. 또한, 메모리(302)는 애플리케이션 소프트웨어(322)를 저장한다. 애플리케이션 소프트웨어(322)는 프로세싱 시스템(304)에 의해 실행될 때, 컴퓨팅 디바이스(300)가 하나 이상의 애플리케이션을 제공하게 하는 컴퓨터-실행가능 명령들을 포함한다. 메모리(302)는 또한 프로그램 데이터(324)를 저장한다. 프로그램 데이터(324)는 컴퓨팅 디바이스(300) 상에서 실행되는 프로그램에 의해 사용되는 데이터이다.
특정 특징이 전자 컴퓨팅 디바이스(300) 내에 포함되는 것처럼 여기에 설명되어 있지만, 특정 실시예에서는, 이러한 구성요소 또는 특징 모두가 본 개시의 방법 및 시스템에 따라서 실행하는 컴퓨팅 디바이스 내에 포함되지 않아도 된다는 것을 알 수 있다. 또한, 상이한 유형의 하드웨어 및/또는 소프트웨어 시스템이 이러한 전자 컴퓨팅 디바이스에 통합될 수 있다.
본 개시에 따르면, 여기서 사용되는 것과 같이 용어 "컴퓨터 판독가능 매체"는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 이 문서에서 사용되는 것처럼, 컴퓨터 저장 매체는 데이터 및/또는 컴퓨터-실행가능 명령을 저장하는 디바이스 또는 제조 물품이다. 컴퓨터 저장 매체는 휘발성 및 비휘발성, 리무머블 및 비리무머블 디바이스 또는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은, 정보를 저장하기 위한 임의의 방법 또는 기술로 구현된 제조 물품을 포함할 수 있다. 예로서, 컴퓨터 저장 매체는 DRAM(dynamic random access memory), DDR SDRAM(double data rate synchronous dynamic random access memory), 감소된 레이턴시 DRAM, DDR2 SDRAM, DDR3 SDRAM, 솔리드 스테이트 메모리, ROM(read-only memory), 전기적-소거가능 프로그래머블 ROM, 광 디스크(예를 들어, CD-ROM, DVD 등), 자기 디스크(예를 들어, 하드 디스크, 플로피 디스크 등), 자기 테이프 및 데이터를 저장하는 기타 유형의 디바이스 및/또는 제조 제품을 포함할 수 있지만, 이것으로 제한되지 않는다. 통신 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘과 같은 변조된 데이터 신호로 된 다른 데이터로 구현될 수 있으며, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호"는 정보를 신호에 인코딩하는 방식으로 설정되거나 변경된 하나 이상의 특성을 갖는 신호를 설명할 수 있다. 예로서, 통신 매체는 유선 네트워크 또는 직접-유선 연결과 같은 유선 매체, 및 음향, 무선 주파수(RF), 적외선 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있지만, 이것으로 제한되지 않는다.
이제 도 4를 참조하면, 예시적인 실시예에 따라서, 개인화 시스템을 구현하는데 사용될 수 있는 특정 컴퓨터 시스템(400)을 도시하고 있다. 일반적으로, 컴퓨팅 시스템(400)은 도 3과 관련하여 위에서 설명된 것과 같은 디바이스를 사용하여 구현될 수 있다. 그러나, 도시된 예시에서, 컴퓨팅 시스템(400)은 메모리(302) 및/또는 보조 저장 디바이스(306)와 같은 하나 이상의 메모리 또는 저장 디바이스 상에 구현될 수 있는 메모리(404)를 포함한다. 메모리(404)는 프로그래밍 소프트웨어 툴(402) 및 데이터베이스(406)를 포함한다.
프로그래밍 소프트웨어 툴(402)은 일반적으로 스마트카드에 프로그램되어야 하는 맞춤형 데이터세트에 포함되어야 하는 개인화 데이터를 획득하고, 하나 이상의 스마트카드 오퍼레이팅 시스템 포맷에 따라서 개인화 데이터를 구성한다.
데이터베이스(406)는 암호화 키(408), 가상 카드(410) 및 가상 카드 데이터세트(412)를 저장한다. 암호화 키(408)는 예를 들면, 개인화 시스템에서 생성되는 개인화된 가상 스마트카드의 안전한 전송을 위해 사용될 수 있는 카드 발급 디바이스의 키일 수 있다. 가상 카드(410)는 특정한 스마트카드를 나타내고, 오퍼레이팅 시스템 그리고 선택적으로 공지된 스마트카드 오퍼레이팅 시스템 아키텍처에 따라 구성되는 하나 이상의 애플리케이션을 포함할 수 있다. 가상 카드(410)는 가상 카드(410)와 프로그래밍 소프트웨어 툴(402) 간의 가상 보안 연결을 확립하고, 가상 카드(410)와 연관된 임의의 가상 카드 키를 프로그래밍 소프트웨어 툴(402)에 제공하고, 프로그래밍 소프트웨어 툴이 가상 카드(410)를 개인화하기 위한 맞춤형 데이터세트(412)를 생성할 수 있도록, APDU 교환의 순차적 프로세스를 수행하기 위해 프로그래밍 소프트웨어 툴(402)과 함께 동작할 수 있고, 이로써 맞춤형 데이터세트(412)로 나타내지는, 개인화된 가상 스마트카드를 생성한다. 이와 같이, 개인화 시스템(400)에서 국부적으로, 프로그래밍 소프트웨어 툴(402) 및 가상 카드(410)가 개인화 프로세스와 상당하는 것을 수행한다. ("가상 카드 데이터세트"(412)로 도시된) 맞춤형 데이터세트(412)가 생성되면, (예를 들어, 도 2b와 관련하여 위에서 설명된 것처럼) 실제 스마트카드에 저장하기 위하여 가상 카드 맞춤형 데이터세트로부터 실제 카드 맞춤형 데이터세트로 변환하도록, 생성된 맞춤형 데이터세트가 프린터로 전송될 수 있음에 유의한다.
단일 가상 스마트카드(410)가 도시되어 있지만, 개인화 시스템(400)은 포함될 수 있는 둘 이상의 가상 스마트카드를 포함할 수 있음에 유의한다. 예를 들어, 개별 가상 스마트카드(410)가 해당 개인화 시스템에 의해 지원될 수 있는 각각의 오퍼레이팅 시스템에 대한 개인화 시스템에 유지될 수 있다. 개인화 시스템이 개인화될 실제 스마트카드의 특정 오퍼레이팅 시스템의 표시를 수신하면, 개인화 시스템은 호환가능한 오퍼레이팅 시스템을 갖는 적절한 가상 스마트카드를 선택할 수 있고, 개인화된 가상 스마트카드의 형태로 맞춤형 데이터세트를 생성하기 위해 해당 가상 스마트카드의 복사본에 대해 개인화 프로세스를 수행할 수 있다. 그런 다음, 해당 개인화된 가상 스마트카드는 카드 발급 디바이스로의 보안된 전송을 위해 디바이스-특정 암호화 키(408)로 암호화될 수 있으며, 이는 이어 개인화된 가상 카드를 복호화하고, 수신 시점 또는 카드 발급 디바이스에 편리한 조금 이후의 시간에, 해당 카드 발급 디바이스에서 실제 (하드웨어 또는 소프트웨어-기반) 스마트카드를 개인화하기 위해 가상 카드로부터의 개인화 데이터를 사용할 수 있다.
전체적으로, 보안된 스마트카드 개인화를 달성하기 위한 데이터 전송의 일반화된 시퀀스(500)가 도 5와 관련하여 설명되어 있다. 전송의 시퀀스가 예를 들어, 개인화 시스템(108), (예를 들어, 프린터(106), 프린터(107) 또는 모바일 디바이스(112)와 같은) 카드 발급 디바이스(404), 및 카드 발급 디바이스(404)와 인터페이스된 스마트카드(402) 간에 수행된다.
도시되어 있는 것처럼, 예시적인 시퀀스(500)에서, 개인화 시스템(108)은 카드 발급 디바이스(404)에 인증 요청을 전송할 수 있다. 카드 발급 시스템 디바이스(404)는 이어 개인화 시스템(108)과 카드 발급 디바이스(404) 간의 전송을 보안하는데 사용될 수 있는 프린터-특정 키(예를 들어, 프린터/카드 발급 디바이스의 공개 키)를 개인화 시스템(108)에 제공함으로써 보안 프로세싱 통신 시퀀스에 응답할 수 있다. 카드 발급 디바이스(404)는 예를 들어 해당 키를 개인화 시스템(108)에 직접 전송하거나, 또는 개인화 시스템(108)이 키 레퍼런스로 식별된 키를 검색할 수 있는 키 저장소에 키 레퍼런스를 제공함으로써, 프린터-특정 키를 제공 할 수 있다. 카드 발급 디바이스(404)는 또한 개인화될 스마트카드의 유형(예를 들어, 스마트카드의 OS 유형)을 개인화 시스템(108)에 선택적으로 전송할 수 있다.
개인화 시스템(108)은 이어, 스마트카드의 유형에 기초하여, 개인화 시스템에서 이용할 수 있는 가상 스마트카드를 선택하고, 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성함으로써, 개인화된 가상 스마트카드를 형성한다. 가상 스마트카드는 또한 예를 들어, 프린터-특정 키를 사용하여 보안될 수 있다. 이것은 개인화 데이터를 포함하는 맞춤형 데이터세트를 프린터-특정 키로 암호화하는 것을 포함한다. 선택적으로, 가상 스마트카드는 가상 스마트카드의 공개 키로서 프린터-특정 키를 사용함으로써 보안될 수 있으므로, 해당 프린터만이 개인화 데이터를 복호화하고 액세스할 수 있는 것을 보장한다.
도시된 예시에서, 개인화 시스템(108)은 이어 암호화된 개인화 데이터를 카드 발급 디바이스(404)에 전송한다. 위에서 언급된 것처럼, 이것은 실제 스마트카드 개인화 프로세스 전체에 걸쳐 개인화 시스템(108)과 카드 발급 디바이스(404) 간에 보안 채널을 형성하고 유지하는데 일반적으로 필요한 통신 시퀀스 또는 긴 핸드쉐이킹(hand shaking)을 회피하는 단일 전송 또는 짧은 전송 시퀀스에서 발생할 수 있다. 이것은 맞춤형 데이터세트가 실제 스마트카드에 저장될 형태와 다른 형태(다른 카드에 개인화된)로 암호화 및 포맷되어 있기 때문이다. 카드 발급 디바이스(404)는 그것의 개인 키(또는 그렇지 않으면, 개인화 시스템(108)에 제공되는 키와 상보적인 그것의 키)를 사용하여 맞춤형 데이터세트를 복호화할 수 있고, 실제 스마트카드에 저장하기 위해 맞춤형 데이터세트를 (필요에 따라) 재구성할 수 있다. 이 재구성은 다양한 형태를 취할 수 있다. 적어도, 개인화 시스템(108)과 카드 발급 디바이스(404) 간에 전송되는 맞춤형 데이터세트를 포맷하는 것이 스마트카드에 저장하는 포맷과 동일한 경우, 프린터는 개인화 시스템과 공유되는 공개-개인 키 쌍의 개인 키를 사용하여 맞춤형 데이터세트를 복호화하고, 맞춤형 데이터세트(개인화된 가상 스마트카드)로부터 개인화 데이터를 추출하여, 카드 발급 디바이스(404)와 실제 스마트카드(402) 간의 로컬 통신 세션을 사용하여 개인화 프로세스를 수행할 수 있다. 다른 상황에서, 스마트카드의 오퍼레이팅 시스템 또는 포맷을 프린터에서 알고 있고, 수신된 맞춤형 데이터세트의 포맷과 다른 경우(예를 들어, 개인화된 가상 스마트카드가 다른 오퍼레이팅 시스템을 사용하여 포맷되었거나 또는 포맷팅에 있어서 다른 변경이 요구되면), 재구성은 다른 오퍼레이팅 시스템으로 사용하기 위해 맞춤형 데이터세트를 다시 포맷팅하는 것을 포함할 수 있다. APDU 교환 시퀀스는 카드 발급 디바이스(404)가 스마트카드(402)의 암호화 키를 획득하고, 스마트카드의 암호화 키(예를 들어, 맞춤형 데이터세트가 생성된 스마트카드의 공개 키)를 사용하여 스마트카드에 대한 보안 통신 터널을 확립하고, 그리고 스마트카드의 개인화를 완료하기 위해 보안 터널을 통해 암호화된 데이터를 스마트카드(402)에 전송할 수 있게 한다.
선택적으로, 완료 상태 메시지가 특정 스마트카드에 대한 상기 개인화 프로세스의 성공/실패를 나타내기 위해 카드 발급 디바이스(404)로부터 개인화 시스템(108)으로 반환될 수 있다. 이 정보는 특정 스마트카드의 아이덴티티와 예를 들어 개인화 프로세스의 완료 시간 및/또는 단순 통과/실패 상태와 같은 상태 메시지를 포함할 수 있다. 다른 정보도 이러한 완료 상태 메시지에 포함될 수 있다.
이제 도 6 내지 도 9를 참조하면, 본 개시의 방법 및 시스템을 사용하여 구현되는 스마트카드 개인화 시스템의 특정 예시들이 도시되어 있으며, 여기서 상이한 스마트카드 오퍼레이팅 시스템이 개인화될 목표 스마트카드에 의해 이용된다.
먼저 도 6을 참조하면, MULTOS 오퍼레이팅 시스템과 같은 제1 오퍼레이팅 시스템을 사용하여 스마트카드의 보안 개인화를 위한 시스템(600)이 도시되어 있다. 이 예시에서, 프린터(602)는 프린팅 시스템(604)에 통신 가능하게 연결되고, 프린팅 시스템(604)은 데이터 준비 시스템(606)에 통신 가능하게 연결된다. 프린터(602)는 도 1의 프린터(106) 중 하나 이상을 사용하여 구현될 수 있으며, 데이터 준비 시스템(606)은 예들 들어, 개인화 시스테(108)에 대응할 수 있다. 프린팅 시스템(604)은 예를 들어 카드 발급 컴퓨팅 시스템(104)으로서 프린팅 및 개인화 활동을 조정하는 것을 지원할 수 있다. 물론, 다른 예시적인 구현예에서, 시스템(604)과 같은 프린팅 시스템이 완전히 배제될 수 있으며, 프린터(602)는 원격 데이터 준비 시스템(606)에 직접 연결될 수 있다.
도시된 실시예에서, 데이터 준비 시스템(606)은 내부에 저장될 수 있는 ALU(Application Load Unit)를 생성하도록 구성되고 MULTOS 오퍼레이팅 시스템을 호스팅하는 스마트카드로부터 실행되는 소프트웨어 툴인 ALU 생성기(630)를 포함한다. ALU 생성기(630)는 프린터(602)의 디바이스 암호화 키(DEK)를 사용하여 데이터 준비 시스템(606)에서 암호화되는 ALU(620)를 생성할 것이다. ALC(Application Load Certificate)(632)도 사용될 수 있으며, 애플리케이션 헤더뿐만 아니라, 애플리케이션 공급자의 공개 키의 인증된 사본(certified copy)에 대응한다. ALC(634)는 MULTOS 카드 기관의 개인 키 인증 키(KCK)를 사용하여 서명될 수 있는데, 적절하게 구현된 모든 MULTOS 카드는 인증서(certificate)의 진위를 검증할 수 있다. 따라서 ALU(620)는 그것이 지시하는 스마트카드에 대해 인증될 수 있다.
암호화된 ALU(620)는 프린팅 시스템(604)을 통해 프린터(602)로 전달될 수 있다. 프린터(602)는 암호화 엔진(610), 프로세싱 엔진(612), 프린팅 구성요소(614), 및 스마트카드 개인화 및 프로그래밍 디바이스(616)를 포함한다.
암호화 엔진(610)은 프린터와 연관된 암호화 키를 생성하고, 스마트카드 개인화 및 프로그래밍 디바이스(616)에 대해 인터페이스된 스마트카드와 같은 다른 디바이스로부터 수신된 암호화 키의 저장을 관리하도록 구성된다. 일부 실시예에서, 암호화 엔진(610)은 보안을 보장하기 위해 프린터(602)의 메모리에 있을 수 있으며, 일부 실시예에서는, 하드웨어 암호화 회로를 포함할 수 있다. 그러나, 다른 실시예에서는, 암호화 엔진(610)은 프린터와 분리되어 통신적으로 프린터에 액세스할 수 있다(예를 들어, 프린팅 시스템(604) 또는 그것과 통신 가능하게 연결된 다른 컴퓨팅 시스템에). 도시된 예시에서, 암호화 엔진(610)은 프린터(602)에 대해 고유한 공개-개인 키 쌍의 공개 키에 대응하는 디바이스 암호화 키를 생성한다. 따라서 프린터(602)는 ALU를 프린터로 보내기 전에 ALU(620)를 암호화하기 위해 디바이스 암호화 키를 데이터 준비 시스템(606)에 제공할 수 있다.
프로세싱 엔진(612)은 스마트카드 개인화 및 프로그래밍 디바이스(616)에 의해 수신된 스마트카드를 개인화하도록 구성되는 복수의 실행가능 구성요소를 포함한다. 도시된 예시에서, 프로세싱 엔진(612)은 암호화된 ALU(620)를 수신한다. 프로세싱 엔진은 오퍼레이팅 시스템 로더(622)와 KTU(Key Transformation Unit)변환기(624)를 포함한다. 오퍼레이팅 시스템 로더(622)는 해당 디바이스에 대해 인터페이스된 스마트카드를 프로그램하기 위해 스마트카드 개인화 및 프로그래밍 디바이스(616)를 통해 스마트카드와 교환될 수 있는 (예를 들어, APDU의 형태로 된) 코멘트를 생성한다. KTU 변환기는 ALU의 암호화의 세부 정보를 저장하고, 목표 스마트카드의 공개 키를 사용하여 암호화된다.
프린팅 구성요소(614)는 물리적 스마트카드 상에 이미지와 문자를 임프린트할 수 있는 물리적 프린팅 디바이스에 일반적으로 대응한다. 스마트카드 개인화 및 프로그래밍 디바이스(616)는 스마트카드와 통신할 수 있는 전기 인터페이스를 갖는 디바이스이며; 예시적인 실시예에서, 전기 인터페이스는 전기 접점을 포함하거나 또는 카드 프로그래밍 프로세스를 달성하기 위해 카드와 APDU를 교환할 수 있는 무선(예를 들어, 근거리) 인터페이스에 대응할 수 있다. 예시적인 개인화 프로세스에서, 프린팅 구성요소(614)와 스마트카드 개인화 및 프로그래밍 디바이스(616)는 개인화된 스마트카드를 생성하기 위해 순차적으로 또는 동시에 이용된다. 추가적으로, 카드 발급 디바이스가 프린터가 아닌 모바일 디바이스인 경우, 프린팅 구성요소(614)는 선택적으로 배제될 수 있으며, 이 경우 스마트카드 개인화 및 프로그래밍 디바이스(616)가 소프트웨어-기반 실시간 스마트카드에 대한 보안 소프트웨어 인터페이스에 대응할 수 있다.
전형적인 MULTOS 프로그래밍 구성에서, ALU 생성 시스템은 MULTOS 카드 공개 키 또는 대칭 키 암호화를 사용하여 암호화된 KTU를 사용하여 ALU를 생성할 것이다; 로딩 및 삭제에 대한 MULTS 가이드 [GLDA]에 따라, ALU는 이어 스마트카드에 프로그래밍된다. 이 시나리오에서, 프린터(602)와 데이터 준비 시스템(606)이 서로 떨어져 있는 경우, MULTOS 카드 공개 키 또는 대칭 키 암호화 키 중 하나가 인터넷을 통해 전송되는데, 이는 보안 리스크를 나타낸다.
그에 반해서, 시스템(600)이 사용될 때, 프린터(602)는 대칭 키 또는 비대칭 키(예를 들어, 공개-개인 키 쌍) 중 하나일 수 있는, DEK(device encryption key)를 수신 또는 생성한다. 시스템(600)이 프린터(602)를 사용하여 스마트카드를 개인화할 때, 데이터 준비 시스템(606)은 예를 들어, 프린터를 쿼리하거나 중앙 키 저장소로부터 키를 요청함으로써, 프린터(602)로부터 디바이스 암호화 키를 검색할 것이다. 선택적으로, 데이터 준비 시스템(606)은 인증서를 사용하여 디바이스 암호화 키를 검증할 수 있다. 데이터 준비 시스템(606)은 이어서 디바이스 암호화 키로 KTU를 보호함으로써 ALU(620)를 생성한다. 이 단계에서, 데이터 준비 시스템(606)은 스마트카드의 MULTOS 카드 공개 키와 같은 특정 카드 암호화 키에 대한 어떠한 지식도 필요하지 않으며, 바람직하게는 가지고 있지 않다. 데이터 준비 시스템(606)은 도 2a-도 2b 및 도 5와 관련하여 위에서 언급된 것처럼, 단일 명령 시퀀스로 ALU(620)를 프린터(602)에 전송한다. 따라서, 단지 자신의 디바이스 암호화 키를 제공한 특정 프린터(602) 만이 수신된 ALU(620)를 복호화할 수 있다.
프린터(602)에서, 프로세싱 엔진(612)은 카드 공개 키를 획득하기 위해, 스마트카드 개인화 및 프로그래밍 디바이스(616)에서 프린터에 사용 가능한 스마트카드를 쿼리할 것이다. 프린터(602)가 ALU(620)를 수신하면, 프로세싱 엔진(612)은 KTU 변환기(624)를 사용하여 카드 공개 키로 암호화된 ALU(626)를 생성할 것이다. 특히, 프로세싱 엔진(612)은 수신된 암호화된 ALU(620)를 복호화하기 위해 암호화 엔진(610)을 사용하여, 해당 ALU를 실제 카드 ALU(626)로 변환한다. OS 로더(622)는 이어 스마트카드 개인화 및 프로그래밍 디바이스(616)를 통해 실제 카드 ALU(626)를 스마트카드로 전송한다. 다른 공개 정보(예를 들어, ALC 및/또는 MULTOS 해시)가 요구될 수 있다는 점에 유의하고; 이러한 추가 정보는 OS 로더(622)에 의해 스마트카드에도 제공될 수 있다. 완료되면, 선택적으로 프린터(602)는 특정 스마트카드를 프로그래밍하는 것의 성공(예를 들어, 성공 또는 실패)을 나타낼 수 있는 상태 표시자를 데이터 준비 시스템(606)에 전송할 수 있다.
도 7은 제2 가능한 오퍼레이팅 시퀀스를 사용하는 스마트카드의 안전한 개인화를 위한 시스템(700)을 나타내며, 이 경우 EMV 애플리케이션은 스마트카드에서 개인화된다. 일반적으로, EMV 애플리케이션은 임의 개수의 상이한 스마트카드 오퍼레이션 시스템을 사용하는 스마트카드에서 개인화될 수 있으며, 스마트카드 오러페이션 시스템은 도 6에 도시된 MULTOS 오퍼레이팅 시스템뿐만 아니라 GlobalPlatform 오퍼레이팅 시스템 또는 기타 독점 오퍼레이팅 시스템을 포함한다. 개인화 시스템은 카드 유형과 오퍼레이팅 시스템을 식별한 다음 스마트카드에서 EMV 애플리케이션을 개인화하기 위해 APDU를 생성하는 적절한 방법을 선택해야 한다는 점에서, EMV 애플리케이션의 개인화는 특정 카드-의존형이다. 또한, EMV 애플리케이션은 종종 개인화 시스템과 카드 간의 랜덤 챌린지/응답 스킴을 사용하여, 스마트카드 상의 개인화에 대해 상호 인증을 요구한다. 이와 같이, 도 5와 관련하여 상술된 일반화된 방법은 EMV 애플리케이션을 위해서는 필요하지만, 불완전한 메시징 시퀀스이다.
도 7에 도시된 예시에서, EMV 애플리케이션을 사용하여 스마트카드를 개인화할 수 있는 프린터(702)는 프린팅 시스템(704)에 통신 가능하게 연결되며, 프린팅 시스템(704)은 발급 시스템과 통신 가능하게 연결된다. 도 6에서와 같이, 프린터(702)는 도 1의 하나 이상의 프린터(106)를 사용하여 구현될 수 있고, 발급 시스템(706)은 예를 들어 개인화 시스템(108)에 대응할 수 있다. 프린팅 시스템(704)은 예를 들어 카드 발급 컴퓨팅 시스템(104)과 같이 프린팅 및 개인화 활동을 조정하는 것을 지원할 수 있다.
도시된 예시에서, 발급 시스템(706)은 가상 CPS 카드(742)를 사용하는 데이터 준비 및 개인화 구성요소(740)를 포함한다. 가상 CPS 카드(742)는 스마트 카드의 프로그래밍을 위해 필요한 모든 APDU(720)를 사전 계산하기 위해 데이터 준비 및 개인화 구성요소(740)에 의해 사용된다. 이들 APDU는 애플리케이션이 요구하는 임의의 EMV 데이터의 준비뿐만 아니라, 가상 CPS 카드(742)와의 상호 인증에 기초하여 생성된다.
발급 시스템(706)에서 보안 채널 키(744)는 발급 시스템(706)과 프린터(702) 간의 보안 통신 채널을 확립하는데 사용된다. 보안 채널 키(744)는 프린터(702)와 발급 시스템(706) 간에 미리 공유되거나 또는 가상 CPS 카드(742)에 의해 발급 시스템(706)에서 랜덤하게 생성될 수 있다. 보안 채널 키(744)가 프린터로부터 획득되면, 이는 장치-특정 암호화 키로서 구성될 수 있다. 보안 채널 키(744)가 가상 CPS 카드(742)에 의해 생성되면, 프린터(702)(예를 들어, 일반적으로 상술한 암호화 엔진(610)에 대응하는 암호화 엔진(710))으로부터 획득된 디바이스 암호화 키를 사용하여 암호화될 수 있다. 따라서, 어느 경우이든, 발급 시스템(706)과 프린터(702) 간에 전송된 데이터는 디바이스 암호화 키에 의해 암호화된다―가능한 경우, (디바이스 암호화 키가 APDU 생성 전에 프린터로부터 획득되면) 해당 데이터는 APDU 자체이며, 이 경우, 보안 채널 키(744)는 디바이스 암호화 키에 대응한다. 다른 경우에는, 보안 채널 키가 가상 CPS 카드(742)로부터 생성되지만, 보안 채널 키(744)는 그 자체가 디바이스 암호화 키에 의해 암호화되고, APDU와 함께 암호화된 형태로 프린터로 전송됨에 따라 프린터가 APDU를 처리할 수 있다. APDU는 발급 시스템(706)에서 생성된 후, 단일 트랜잭션으로 프린터(702)에 전송된다. 디바이스 암호화 키가 보안 채널 키를 암호화하기 위해 사용되었으면, 단일 트랜잭션은 또한 보안 채널 키(744)뿐만 아니라 가상 CPS 카드(742)의 전송을 포함할 수 있다.
프린터(702)에서, 프로세싱 엔진(712)은 카드를 식별하기 위해 스마트카드 개인화 및 프로그래밍 디바이스(716)를 통해 인터페이스된 사용 가능한 스마트카드를 쿼리한다. 프로세싱 엔진(712)은 복수의 카드 프로파일(730a-n) 중에서 하나의 카드 프로파일을 선택하고, APDU 파서(724)를 사용하여 사전-계산된 APDU(720)를 실제 카드 APDU(726)로 변환하기 위해 카드 프로파일 APDU 변환기(728)를 트리거할 것이다. 이것은 예를 들어, 하나 이상의 암호화 계산을 수행하는 것을 포함할 수 있다. 예시적인 실시예들에서, 특정 정보를 요구하는 선택된 카드 프로파일에 기초하여, 실제 카드 APDU(726)는 APDU(720)에 포함된 모든 정보보다 적게 포함할 수 있고; 부가적으로, APDU(720)는 일부 경우에 실제 카드 APDU(726)의 2개 이상의 세트를 생성하는데 사용될 수 있다.
프로세싱 엔진(712)이 특정 스마트카드를 위한 실제 카드 APDU(726)를 성공적으로 생성하면, https://www.emvco.com에서 사용 가능한 EMV 카드 개인화 사양에 따라서, 스마트카드 개인화 및 프로그래밍 디바이스(716)를 사용하여 이들 APDU를 발행할 수 있다. 스마트카드 개인화 및 프로그래밍 디바이스(716)는 도 6 내 유사한 구성요소와 관련하여 위에서 설명된 것과 유사한 방식으로 프린팅 구성요소(714)와 순차적으로 동작할 수 있다. 부가적으로, 완료되면, 선택적으로 프린터(702)는 특정 스마트카드를 프로그래밍한 것에 대한 성공(예를 들어, 성공 또는 실패)을 나타낼 수 있는 상태 표시자를 발급 시스템(706)에 반환 전송한다.
이제 도 8 내지 도 9를 참조하면, 제3 가능한 실시예에 따른 스마트카드를 개인화하기 위한 예시적인 통신 시퀀스 및 시스템이 도시되어 있다. 특정 예시에서, 통신 시퀀스 및 시스템은 보안 방식으로 GlobalPlatform 카드 사양을 사용하여 스마트카드를 개인화하는데 특히 적용 가능하며, 여기에 설명된 개념에 따라 원격에 대해 안전한 개인화를 가능하게 한다. 배경의 예로서, GlobalPlatform 카드 사양을 사용하는 스마트카드는 카드 컨텐츠 관리 및 개인화를 수행하기 위해 보안 도메인을 사용한다. 각 보안 도메인은 오프-카드 엔티티(예를 들어, 개인화 시스템(108)과 같은 개인화 시스템)와 스마트카드 간에 보안 통신을 제공하기 위해, GlobalPlatform 카드 사양으로 정의된 SCP(Secure Channel Protocol)를 사용한다. 일반적으로, SCP는 오프-카드 챌린지, 카드 챌린지 및 세션 키에 기초하는 인증 암호화를 사용하여 카드를 인증하는 제1 단계를 정의한다. 카드 챌린지는 (SCP로 정의 된 옵션에 기초하여) 스마트카드에 의해 생성된 랜덤 또는 의사-랜덤 값이다. 의사-랜덤 생성이 지원되지 않으면, 오프-카드 애플리케이션이 가장 먼저 인증 암호화를 계산하기 위하여 카드 챌린지를 획득하고, 순차적으로 개인화에 필요한 APDU를 생성한다. 따라서, 개인화 시스템과 같은 오프-카드 엔티티는 개인화를 위해 사전에 APDU를 준비할 수 없으므로, 배치 데이터 준비를 방지하고 신뢰할 수 없거나 또는 느린 네트워크를 통해 GlobalPlatform 카드를 원격으로 개인화하는 능력을 제한한다.
GlobalPlatform-호환 스마트카드는 런타임 환경과 애플리케이션 간의 API 계층을 통해 실행하는 애플리케이션(예를 들어, 카드 발급 애플리케이션, 애플리케이션 제공자 애플리케이션 등)과 분리된 보안 도메인을 호스트하는 런타임 환경을 갖는다.
GlobalPlatform 스마트카드의 인증을 위해 사용할 수 있는 통신 시퀀스(800)의 예시가 도 8에 도시되어 있다. 해당 통신 시퀀스(800)에서, (애플리케이션(804)과 보안 영역(802)을 포함하는) 스마트카드 및 오프-카드 엔티티(806)(예를 들어, 개인화 시스템(108)) 모두는 인증 암호화(각각, 호스트 챌린지 및 카드 챌린지)를 생성한다. 오프-카드 엔티티는 카드 암호화를 검증하고 스마트카드는 보안 도메인(802)에서 호스트 암호화를 검증한다. 세션 키가 오프-키 엔티티(806)와 스마트카드 간의 통신을 보안하기 위해 사용된다. 카드 및 호스트 암호화는 예를 들어, 시퀀스 카운터, 호스트 챌린지 및 카드 챌린지를 블록으로 모음으로써 생성될 수 있으며; 카드 챌린지는 특정 보안 채널 세션에 대해 고유한 랜덤 또는 의사-랜덤 수로 생성될 수 있다.
도 8에 반영된 GlobalPlatform 카드의 상호 인증 요건으로 인하여, 안전한 GlobalPlatform-호환 개인화를 위해 구축된 시스템은 스마트카드와 개인화 애플리케이션의 긴밀한 협조가 필요하다. 따라서 이러한 카드의 안전한 개인화를 위한 시스템(900)이 도 9에 도시되어 있으며, 도 6-7의 시스템에 대해 약간의 변형예를 나타낸다. 시스템(900)은 프린터(902), 프린팅 시스템(904), 및 데이터 준비 시스템(906)을 포함한다. 도 6에서와 같이, 프린터(902)는 도 1의 프린터(106) 중 하나 이상을 사용하여 구현될 수 있고, 데이터 준비 시스템(906)은 예를 들어, 개인화 시스템(108)과 대응할 수 있다. 프린팅 시스템(904)은 예를 들어, 카드 발급 컴퓨팅 시스템(104)으로서, 프린팅 및 개인화 활동의 조정을 지원할 수 있다.
도시된 예시에서, 스마트카드 개인화 애플리케이션(940) 및 가상 GlobalPlatform 스마트카드(942)는 데이터 준비 시스템(906)에 저장된다. 가상 GlobalPlatform 스마트카드(942)는 GlobalPlatform SCP를 구현하고, 선택적으로 의사-랜덤 카드 챌린지 생성을 지원한다. 가상 GlobalPlatform 스마트카드(942)는 프린터(902)와 마스터 키(944)의 세트를 공유하고; 이와 같이, 가상 GlobalPlatform 스마트카드(942)의 마스터 키(944)는 이들이 프린터(902)에 고유하도록 선택되지만, 개인화된 애플리케이션이 저장될 실제 GlobalPlatform 스마트카드에 의해 사용될 것과 동일한 마스터 키는 아니다. 예시적인 실시예에서, 마스터 키(944)는 예를 들어 키가 도출되는 데이터로서 디바이스 ID를 사용하는 도출된 키의 세트를 포함할 수 있다. 대안적으로, SCP 키의 랜덤 세트는 공통 카드 시퀀스 카운터를 사용하여 생성(공유 또는 미리 정의)될 수 있고, 이러한 키들은 프린터(902)에 특정된 디바이스 암호화 키를 사용하여 암호화될 수 있다. 이와 같이, 도 7 내 EMV 애플리케이션을 위한 구성과 유사하게, 마스터 키는 프린터-특정이거나 또는 프린터-특정 키를 사용하여 암호화된 것이다.
개인화 시스템(906)에서, 스마트카드 개인화 애플리케이션(940)은 APDU들(920)을 형성하기 위해, 가상 GlobalPlatform 스마트카드(942)를 사용하여 개인화에 필요할 수 있는 모든 APDU를 생성한다. 가상 GlobalPlatform 스마트카드(942)는 생성되는 모든 APDU들(920)을 저장하며, 이는 이어서 프린터(902)로 전송된다. 이 전송은 구성된 APDU에 반영된 다양한 개인화 정보를 포함할 수 있다. 이러한 APDU들은 디바이스 암호화 키 또는 보안 채널 키 중 하나를 사용하여 암호화될 수 있다; 보안 채널 키를 사용하여 암호화되었으면, 그 키들은 또한 프린터(902)로 전송될 수 있고, 디바이스 암호화 키를 사용하여 암호화된다. 이와 같이, 프린터(902)로 전송될 맞춤형 데이터세트의 적어도 일부는 프린터의 디바이스-특정 키를 사용하여 암호화된다.
프린터에서, APDU들(920)이 수신된 후, APDU들(920) 각각은 프로세싱 엔진(912)에 의해 처리된다. APDU들(920) 내의 하나의 APDU가 보안 채널 인증을 위해 정의된 보안 채널 프로토콜(SCP: secure channel protocol) APDU와 매치하면, GlobalPlatform SCP 인증기(922)는 스마트카드 개인화 및 프로그래밍 디바이스(916)로 불리며, 스마트카드 개인화 및 프로그래밍 디바이스(916)를 통해, "실제" 보안 채널 세션 키를 생성하고 실제 카드로 도 8의 인증 시퀀스를 수행한다. 해당 카드가 성공적으로 인증되면, GlobalPlatform SCP 변환기(924)는 예를 들어, 디바이스 암호화 키 및/또는 보안 채널 키를 사용하여 해당 APDU를 복호화함으로써 APDU를 재포맷하고, 그리고 스마트카드로의 전송 및 스마트카드에 저장하기 위해 "실제" 보안 채널 세션 키를 사용하여 APDU를 재-암호화함으로써, APDU를 가상 카드 APDU로부터 실제 카드 APDU로 변환한다. 이전에 설명된 구성과 같이, 선택적으로 프린터(902)는 특정 스마트카드를 프로그래밍한 것의 성공(예를 들어, 성공 또는 실패)를 나타낼 수 있는 상태 표시자를 데이터 준비 시스템(906)에 전송할 수 있다.
도 9를 참조하면 일반적으로, APDU의 형성 및 GlobalPlatform-호환 스마트카드에 필요한 키 교환 프로세스는 일반적으로, 도 8과 관련하여 설명된 것과 같은―하나는 데이터 준비 시스템(906)과 가상 GlobalPlatform 스마트카드(942) 사이, 및 두 번째는 스마트카드 개인화 및 프로그래밍 디바이스(916)에서 프린터(902)와 실제 GlobalPlatform 스마트카드 사이에서의― 2개의 인증 프로세스를 포함한다는 점에 유의한다. 이것은 단일 인스턴스에서, 완전한 데이터세트가 데이터 준비 시스템(906)으로부터 프린터에 전송될 수 있게 하고, APDU를 생성하는 시점을 이러한 APDU가 실제 GlobalPlatform 스마트카드에 전송되는 시점과 분리시킨다. 따라서, 여기에서 설명된 것과 유사한 이점들이 실현될 수 있다.
본 개시는 가능한 양태의 일부만이 개시되어 있는 첨부 도면을 참조하여 현재 기술의 일부 양태를 설명하였다. 그러나, 다른 양태들이 많은 다른 형태들로 구현될 수 있으며, 여기에서 설명된 양태들로 제한되는 것으로 해석되어서는 안 된다. 오히려, 본 개시가 철저하고 완전하며, 당업자에게 가능한 양태들의 범위를 충분히 전달하기 위해서, 이러한 양태들이 제공되었다.
이해되어야 하는 것처럼, 여기에서 도면과 관련하여 설명된 다양한 양태(예를 들어, 부분, 구성요소 등)는 설명된 특정 양태로 시스템 및 방법을 제한하는 것을 의도하지 않는다. 따라서, 추가 구성요소가 여기에서 개시된 방법 및 시스템을 행하기 위해 사용될 수 있고 및/또는 설명된 일부 양태는 여기에서 개시된 방법 및 시스템을 벗어나지 않고 제외될 수 있다.
마찬가지로, 프로세스의 단계들이 개시되어 있는 경우, 이 단계들은 본 방법 및 시스템을 예시하는 목적으로 설명된 것이며, 단계들의 특정 시퀀스에 대한 개시를 제한하는 것을 의도하지 않는다. 예들 들어, 이 단계들은 상이한 순서로 수행될 수 있고, 2개 이상의 단계들이 동시에 수행될 수 있으며, 추가적 단계들이 수행될 수 있으며, 개시된 단계들이 본 명세서를 벗어나지 않으면서 제외될 수 있다.
여기에 특정 양태들이 개시되어 있지만, 기술의 범위는 그것들의 특정 양태로 제한되지 않는다. 당업자는 본 기술의 범위 내에 있는 다른 양태 또는 개선예들을 인식할 것이다. 따라서, 특정 구조, 행위 또는 매체가 단지 예시적인 양태로서 개시되어 있다. 본 기술의 범위는 후술되는 청구 범위 및 그것의 임의의 등가물에 의해 정의된다.

Claims (25)

  1. 개인화 시스템(personalization system)에서, 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트(customized dataset)를 생성하는 단계―상기 맞춤형 데이터세트는 상기 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 상기 오퍼레이팅 시스템에 기초하여 생성됨―;
    상기 개인화 시스템에서, 상기 개인화 시스템과 분리되어 있는 카드 발급 디바이스와 연관된 암호화 키(encryption key)를 사용하여, 상기 맞춤형 데이터세트의 적어도 일부를 암호화하는 단계―상기 암호화 키는 상기 스마트카드에 저장되었을 때 상기 맞춤형 데이터세트를 보안(secure)하는데 사용되는 임의의 암호화 키와는 상이한 것임―; 및
    상기 맞춤형 데이터세트를 상기 카드 발급 디바이스에 전송하는 단계를 포함하는
    스마트카드를 개인화하는 방법.
  2. 청구항 1에 있어서,
    상기 암호화 키는 공개-개인 키 쌍(public-private key pair)의 공개 키를 포함하고, 상기 공개-개인 키 쌍의 개인 키는 상기 카드 발급 디바이스 또는 키 저장소에 유지되는
    스마트카드를 개인화하는 방법.
  3. 청구항 1에 있어서,
    상기 암호화 키는 상기 카드 발급 디바이스에 대해 고유한 것인
    스마트카드를 개인화하는 방법.
  4. 청구항 1에 있어서,
    상기 맞춤형 데이터세트는 개인화된 가상 스마트카드를 포함하는
    스마트카드를 개인화하는 방법.
  5. 청구항 1에 있어서,
    상기 카드 발급 디바이스는 물리적 스마트카드와 연관된 카드 프린터 또는 전자 스마트카드가 설치되는 모바일 디바이스 중 적어도 하나를 포함하는
    스마트카드를 개인화하는 방법.
  6. 청구항 2에 있어서,
    상기 맞춤형 데이터세트는 복수의 APDU(Application Protocol Data Units)를 포함하고, 상기 맞춤형 데이터세트의 적어도 일부를 암호화하는 단계는 상기 맞춤형 데이터세트를 생성하는데 사용되는 적어도 하나 이상의 보안 채널 키를 암호화하는 단계를 포함하는
    스마트카드를 개인화하는 방법.
  7. 청구항 1에 있어서,
    상기 맞춤형 데이터세트는 상기 맞춤형 데이터세트의 임의의 부분을 상기 카드 발급 디바이스에 전송하기 전에 완전하게 생성되는
    스마트카드를 개인화하는 방법.
  8. 청구항 1에 있어서,
    상기 카드 발급 디바이스에서:
    상기 카드 발급 디바이스에 특정된 키를 사용하여 상기 카드 발급 디바이스에서 수신된 상기 암호화된 상기 맞춤형 데이터세트의 적어도 일부를 복호화하는 단계; 및
    상기 맞춤형 데이터세트에 기초하여, 상기 스마트카드의 하나 이상의 암호화 키를 사용하여 확립된 보안 통신 세션을 사용하여 상기 스마트카드를 개인화하는 단계를 더 포함하는
    스마트카드를 개인화하는 방법.
  9. 청구항 1에 있어서,
    상기 개인화 시스템은 인터넷을 통해 상기 카드 발급 디바이스에 통신 가능하게 연결되어 있는
    스마트카드를 개인화하는 방법.
  10. 청구항 1에 있어서,
    상기 암호화된 상기 맞춤형 데이터세트의 적어도 일부는 가상 스마트카드 의 암호화 키를 사용하여 생성된 하나 이상의 가상 APDU에 포함되고, 상기 맞춤형 데이터세트의 생성은 상기 가상 스마트카드와의 상호 인증 수행하는 것을 포함하는
    스마트카드를 개인화하는 방법.
  11. 컴퓨터 실행가능 명령들을 저장하는 메모리에 통신 가능하게 연결된 프로그래머블 회로를 포함하는 개인화 시스템을 포함하고,
    상기 명령들은 실행되었을 때, 상기 개인화 시스템이
    스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성하고―상기 맞춤형 데이터세트는 상기 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 상기 오퍼레이팅 시스템에 기초하여 생성됨―;
    개인화 시스템에서, 상기 개인화 시스템과 분리되어 있는 카드 발급 디바이스와 연관된 암호화 키를 사용하여, 상기 맞춤형 데이터세트의 적어도 일부를 암호화하고―상기 암호화 키는 상기 스마트카드에 저장되었을 때 상기 맞춤형 데이터세트를 보안하는데 사용되는 임의의 암호화 키와는 상이한 것임―; 및
    상기 맞춤형 데이터세트를 상기 카드 발급 디바이스에 전송하게 하는
    안전한 단대단(end-to-end) 스마트카드 개인화 시스템.
  12. 청구항 11에 있어서,
    상기 맞춤형 데이터세트는 애플리케이션 로드 유닛을 포함하는
    안전한 단대단 스마트카드 개인화 시스템.
  13. 청구항 11에 있어서,
    상기 맞춤형 데이터세트는 복수의 APDU를 포함하는
    안전한 단대단 스마트카드 개인화 시스템.
  14. 청구항 13에 있어서,
    상기 맞춤형 데이터세트는 하나 이상의 세션 키를 포함하고, 상기 맞춤형 데이터세트의 상기 적어도 일부는 상기 하나 이상의 세션 키를 포함하는
    안전한 단대단 스마트카드 개인화 시스템.
  15. 청구항 13에 있어서,
    상기 개인화 시스템에 통신 가능하게 연결된 카드 발급 디바이스를 더 포함하는
    안전한 단대단 스마트카드 개인화 시스템.
  16. 청구항 15에 있어서,
    상기 카드 발급 디바이스와 상기 개인화 시스템 간에 통신 가능하게 연결된 카드 발급 컴퓨팅 시스템을 더 포함하고, 상기 카드 발급 컴퓨팅 시스템은 상기 카드 발급 디바이스의 로컬에 존재하고, 인터넷을 통해 상기 개인화 시스템에 통신 가능하게 연결되어 있는
    안전한 단대단 스마트카드 개인화 시스템.
  17. 청구항 15에 있어서,
    상기 카드 발급 디바이스는 스마트카드 프린터를 포함하는
    안전한 단대단 스마트카드 개인화 시스템.
  18. 청구항 13에 있어서,
    상기 개인화 시스템은 상기 카드 발급 디바이스로부터 떨어져 위치되어 있는
    안전한 단대단 스마트카드 개인화 시스템.
  19. 청구항 18에 있어서,
    상기 개인화 시스템은 인터넷을 통해 상기 카드 발급 디바이스와 통신 가능하게 연결되어 있는
    안전한 단대단 스마트카드 개인화 시스템.
  20. 카드 발급 디바이스에 통신 가능하게 연결된 개인화 시스템을 포함하고,
    상기 개인화 시스템은:
    실제 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 개인화된 가상 스마트카드를 생성하고―상기 실제 스마트카드의 오퍼레이팅 시스템에 따라 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 상기 오퍼레이팅 시스템에 기초하여 맞춤형 데이터세트가 생성됨―;
    상기 개인화 시스템에서, 상기 실제 스마트카드의 공개 키와는 상이하고, 프린터에 대해 고유한 공개-개인 키 쌍의 공개 키를 사용하여, 상기 맞춤형 데이터세트의 적어도 일부를 암호화하고; 및
    상기 맞춤형 데이터세트를 상기 카드 발급 디바이스에 전송하도록 구성된 것인
    안전한 단대단 스마트카드 개인화 시스템.
  21. 청구항 20에 있어서,
    카드 발급 디바이스를 더 포함하고,
    상기 카드 발급 디바이스는:
    상기 카드 발급 디바이스에 대해 고유한 상기 공개-개인 키 쌍의 개인 키를 사용하여 상기 프린터에서 수신된 상기 맞춤형 데이터세트의 상기 암호화된 적어도 일부를 복호화하고;
    상기 맞춤형 데이터세트의 상기 복호화된 적어도 일부를 사용하여 상기 스마트카드를 개인화하도록 구성된
    안전한 단대단 스마트카드 개인화 시스템.
  22. 개인화 시스템에서, 개인화될 스마트카드의 오퍼레이팅 시스템 유형을 수신하는 단계;
    카드 발급 디바이스에 대해 동시 보안 연결을 요구하지 않고, 상기 오퍼레이팅 시스템에 따라서 포맷된 가상 스마트카드를 사용하여 개인화 프로세스를 수행함으로써 개인화될 상기 스마트카드에 설치하기 위한 개인화 데이터를 포함하는 맞춤형 데이터세트를 생성하는 단계; 및
    상기 맞춤형 데이터세트가 생성된 후에, 상기 맞춤형 데이터를 상기 카드 발급 디바이스에 전송하는 단계를 포함하는
    스마트카드를 개인화하는 방법.
  23. 청구항 22에 있어서,
    상기 카드 발급 디바이스의 암호화 키를 수신하는 단계와,
    상기 개인화 시스템에서, 상기 맞춤형 데이터세트를 상기 카드 발급 디바이스에 전송하기 전에, 상기 암호화 키를 사용하여 상기 맞춤형 데이터세트의 적어도 일부를 암호화하는 단계를 더 포함하는
    스마트카드를 개인화하는 방법.
  24. 개인화될 스마트카드의 오퍼레이팅 시스템 유형을 개인화 시스템에 전송하는 단계;
    카드 발급 디바이스에서, 개인화될 상기 스마트카드에 설치하기 위한 개인화된 데이터를 포함하는 맞춤형 데이터세트를 수신하는 단계―상기 맞춤형 데이터세트는 상기 오퍼레이팅 시스템에 따라서 포맷된 개인화된 가상 스마트카드를 포함함―; 및
    상기 맞춤형 데이터세트를 사용하여 실제 스마트카드를 개인화하는 단계를 포함하는
    스마트카드를 개인화하는 방법.
  25. 청구항 24에 있어서,
    상기 맞춤형 데이터세트는 상기 카드 발급 디바이스의 암호화 키로 암호화된고,
    상기 방법은
    상기 카드 발급 디바이스의 복호화 키를 사용하여 상기 맞춤형 데이터세트를 복호화하는 단계를 더 포함하는
    스마트카드를 개인화하는 방법.


KR1020207021286A 2017-12-21 2018-12-21 스마트카드의 안전한 단대단 개인화 KR20200104885A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/851,326 2017-12-21
US15/851,326 US20190197525A1 (en) 2017-12-21 2017-12-21 Secure end-to-end personalization of smart cards
PCT/US2018/067305 WO2019126760A1 (en) 2017-12-21 2018-12-21 Secure end-to-end personalization of smart cards

Publications (1)

Publication Number Publication Date
KR20200104885A true KR20200104885A (ko) 2020-09-04

Family

ID=66950358

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207021286A KR20200104885A (ko) 2017-12-21 2018-12-21 스마트카드의 안전한 단대단 개인화

Country Status (6)

Country Link
US (1) US20190197525A1 (ko)
EP (1) EP3729321A4 (ko)
KR (1) KR20200104885A (ko)
CN (1) CN111801671A (ko)
CA (1) CA3085437A1 (ko)
WO (1) WO2019126760A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022039440A1 (ko) 2020-08-20 2022-02-24 주식회사 엘지에너지솔루션 다중 슬롯 다이 코터

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111027082B (zh) * 2019-12-04 2022-05-13 楚天龙股份有限公司 一种应用于ic卡的个人化数据的提取方法、装置及介质
FR3125902A1 (fr) * 2021-07-30 2023-02-03 Idemia France Element securise pre-personalise et personnalisation embarquee
EP4178245A1 (en) * 2021-11-03 2023-05-10 Thales Dis France SAS A method for personalizing a secure element and corresponding secure element

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE36310E (en) * 1990-06-07 1999-09-21 Kommunedata I/S Method of transferring data, between computer systems using electronic cards
US5889941A (en) * 1996-04-15 1999-03-30 Ubiq Inc. System and apparatus for smart card personalization
US6367011B1 (en) * 1997-10-14 2002-04-02 Visa International Service Association Personalization of smart cards
JP2003187190A (ja) * 2001-12-19 2003-07-04 Hitachi Ltd Icカード管理システム
US20140019352A1 (en) * 2011-02-22 2014-01-16 Visa International Service Association Multi-purpose virtual card transaction apparatuses, methods and systems
EP1941469A1 (fr) * 2005-10-14 2008-07-09 Gemplus SA. Personnalisation de carte a puce
EP1977552B1 (en) * 2006-01-24 2012-08-01 Stepnexus, Inc. Method and system for personalizing smart cards using asymmetric key cryptography
US8464938B2 (en) * 2007-06-22 2013-06-18 Intelispend Prepaid Solutions, Llc Client customized virtual or physical card for use with selected merchants
CN101918964A (zh) * 2007-12-11 2010-12-15 Xs创新控股有限公司 用于向接收者发送货币的系统和方法
US8255688B2 (en) * 2008-01-23 2012-08-28 Mastercard International Incorporated Systems and methods for mutual authentication using one time codes
CN102088349B (zh) * 2010-12-27 2013-07-10 深圳市国民电子商务有限公司 一种智能卡个人化的方法及系统
CN102711101B (zh) * 2012-04-28 2015-01-14 大唐微电子技术有限公司 一种实现智能卡发行的方法及系统
EP2704466A1 (en) * 2012-09-03 2014-03-05 Alcatel Lucent Smart card personnalization with local generation of keys
EP2720167A1 (en) * 2012-10-11 2014-04-16 Nagravision S.A. Method and system for smart card chip personalization
DE102016208040A1 (de) * 2016-05-10 2017-11-16 Bundesdruckerei Gmbh Verfahren zum Lesen von Attributen aus einem ID-Token

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022039440A1 (ko) 2020-08-20 2022-02-24 주식회사 엘지에너지솔루션 다중 슬롯 다이 코터

Also Published As

Publication number Publication date
CN111801671A (zh) 2020-10-20
CA3085437A1 (en) 2019-06-27
WO2019126760A1 (en) 2019-06-27
EP3729321A4 (en) 2021-07-28
US20190197525A1 (en) 2019-06-27
EP3729321A1 (en) 2020-10-28

Similar Documents

Publication Publication Date Title
CN112602300B (zh) 用于非接触式卡的密码认证的系统和方法
CN113475035A (zh) 轻击以通过nfc将数据复制到剪贴板
KR20200104885A (ko) 스마트카드의 안전한 단대단 개인화
KR20210069055A (ko) 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
EP2874421A1 (en) System and method for securing communications between a card reader device and a remote server
US11770254B2 (en) Systems and methods for cryptographic authentication of contactless cards
US10074085B2 (en) Virtual POS system and method
KR20210065088A (ko) 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
SG177349A1 (en) Method for safely and automatically downloading terminal master key in bank card payment system and the system thereof
US20140289129A1 (en) Method for secure contactless communication of a smart card and a point of sale terminal
US20130066786A1 (en) Method and system for providing an internet based transaction
KR20210065937A (ko) 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
CN113168631A (zh) 用于非接触卡的密码认证的系统和方法
KR20210065961A (ko) 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
KR20210065091A (ko) 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
CA3197109A1 (en) Web-based activation of contactless cards
KR20210065109A (ko) 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법
GB2514142A (en) System and method for mobile PIN synchronisation
US11315113B1 (en) Systems and methods for authorizing a transaction conventionally incompatible with a technical protocol
US20220300923A1 (en) Systems and methods for secondary merchant card delivery
US20230419300A1 (en) Integrated digital and physical card issuance processes