KR101769973B1 - 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체 - Google Patents

보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR101769973B1
KR101769973B1 KR1020167011237A KR20167011237A KR101769973B1 KR 101769973 B1 KR101769973 B1 KR 101769973B1 KR 1020167011237 A KR1020167011237 A KR 1020167011237A KR 20167011237 A KR20167011237 A KR 20167011237A KR 101769973 B1 KR101769973 B1 KR 101769973B1
Authority
KR
South Korea
Prior art keywords
applet
data
wcap
request
hardware processor
Prior art date
Application number
KR1020167011237A
Other languages
English (en)
Other versions
KR20160055280A (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 KR20160055280A publication Critical patent/KR20160055280A/ko
Application granted granted Critical
Publication of KR101769973B1 publication Critical patent/KR101769973B1/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/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
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3226Use of secure elements separate from M-devices
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3229Use of the SIM of a M-device as secure element
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3278RFID or NFC payments by means of M-devices
    • 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/356Aspects of software for card payments
    • G06Q20/3563Software being resident on card
    • 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/37Managing security policies for mobile devices or for controlling mobile applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Storage Device Security (AREA)

Abstract

시스템들, 방법들 및 컴퓨터 프로그램 물들은 애플릿들을 관리하기 위해 제공된다. 제1 애플릿을 개인화하기 위한 제1 요청이 통신 네트워크를 통해 수신된다. 상기 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하는 제2 요청이 제2 애플릿에 통신된다. 상기 제2 애플릿 데이터의 적어도 일부는 상기 제1 애플릿에 통신된다. 상기 제1 애플릿 데이터의 하나 이상의 값들은 상기 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체된다.

Description

보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체 {SYSTEMS, METHODS, AND NON-TRANSITORY COMPUTER-READABLE MEDIUM FOR SECURELY MANAGING DATA ON A SECURE ELEMENT}
본 발명은 일반적으로, 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)에 관한 것이다.
모바일 디바이스 상에 저장되고 상기 모바일 디바이스 상에서 기능하는 애플리케이션들은 매우 중요한 데이터(highly critical data)의 송신을 요구하는 보안 통신들(secure communications)을 수행하기 위해 점점 이용되고 있다. 그러한 애플리케이션들은 비접촉 거래들(contactless transactions)을 수행하기 위해 이용되는 모바일 지갑 애플리케이션들(mobile wallet applications)을 포함한다. 비접촉 거래들은 금융적 (예를 들어, 지불들, 상거래(commerce)) 또는 비-금융적 (예를 들어, 장소 입장들(venue admissions), 티켓팅 통과(transit ticketing))일 수 있다. 비접촉 거래들을 포함하는 이러한 보안 통신들은 모바일 디바이스들과, 예를 들어, 근접장 통신(NFC; near field communication) 기술을 이용한 판독기 단말들(reader terminals)과 같은 다른 시스템들 간의 중요한 데이터의 교환을 통상적으로 수반한다.
모바일 디바이스들은 비접촉 거래들을 시작하기 위해 이용되는 애플리케이션들 뿐만 아니라 그러한 애플리케이션들의 대응하는 중요하지 않은 데이터를 포함하거나, 상기 모바일 디바이스 메모리에 저장한다. 한편, 상기 애플리케이션들의 중요한 데이터 (예를 들어, 개인 데이터, 보안 키들, 패스코드들(passcodes), 식별자들)는 상기 모바일 디바이스와 관련된 보안 요소(SE; secure element)에 저장된다. 보안 요소들은 특정한 보안 요건들(security requirements)에 따라 데이터를 안전하게 저장하는 고도의 변경 방지 컴포넌트들(highly tamper resistant components)이다. 보안 요소들의 특수화된 보안 메커니즘들 때문에, 보안 요소 저장소는 종래의 메모리(예를 들어, 모바일 디바이스 메모리)에 비해 보다 비싸며, 그러므로, 보안 요소들 상의 저장은 종종 중요한 데이터에 배타적으로 한정된다(exclusively limited).
중요한 데이터는 예를 들어, 어떻게 데이터가 저장되는지, 언제 데이터가 배포될(distributed) 수 있는지 및 어떤 디바이스들, 애플릿들(applets) 및 애플리케이션들이 상기 데이터에 액세스(예를 들어, 판독(read), 기록(write))할 수 있는지를 제어하는 상기 보안 요소 상의 대응하는 애플릿들에 의해 관리된다. 보안 요소들 상에 중요한 데이터를 관리하는 상기 애플릿들은, 예를 들어, 유효 기간이 지난(out-of-date) 또는 지원되지 않는(unsupported) 애플릿 버전들을 업데이트하거나 손상된 애플릿 버전들을 수리하기 위해서 변경되거나 삭제될 필요가 있거나 변경되거나 삭제되기로 선택한다. 중요한 데이터를 관리하는 애플릿들의 그러한 변경 또는 삭제는 그러한 애플릿들의 대응하는 중요한 데이터로 하여금 그러한 관리 애플릿들이 아직 설치, 업데이트 또는 활성화되지 않은 기간 동안에 삭제되거나 상기 보안 요소 상에 관리되지 않은 채로 남겨지도록 할 수 있다. 중요한 데이터의 삭제로 인해 상기 중요한 데이터의 소스(source)로부터 그러한 중요한 데이터가 요청되고 획득되는 것을 필요로 하게 되거나, 보다 나쁘게는, 그러한 중요한 데이터가 손실(lost)될 수 있다.
전술한 사항을 고려하면, 데이터 손실 또는 상기 중요한 데이터의 보안의 축소(minimization)를 초래하지 않고도 관리 애플릿들이 변경(예를 들어, 업데이트, 삭제)되도록 하는 방식으로 보안 요소들 상에 중요한 데이터를 저장하는 것이 유리할 것이다.
하나의 기술적 과제(technical challenge)는 관리 애플릿들이 완전히 활성이 아닌(예를 들어, 계류중인 업데이트(pending update)) 시간 기간들 동안에 중요한 데이터를 안전하게 저장하는 것을 수반한다. 다른 기술적 과제는 그러한 관리 애플릿들이 완전히 활성이 될 때(예를 들어, 업데이트 후(post-update)) 관리 애플릿들이가장 최근의 중요한 데이터(most up-to-date critical data)를 수신하는 것을 수반한다.
본 명세서에 제시된 예시적인 실시예들은 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 컴퓨터 프로그램 물들을 제공함으로써 위에 식별된 요구들(needs)을 충족한다.
하나의 예시적인 실시예에 있어서, 애플릿들을 관리하기 위한 시스템은 제1 애플릿 데이터를 포함하는 제1 애플릿 및 제2 애플릿 데이터를 포함하는 제2 애플릿을 저장하도록 구성된 적어도 하나의 메모리 디바이스를 포함한다. 상기 시스템은 또한 상기 적어도 하나의 메모리에 결합된 프로세서를 포함한다. 통신 네트워크를 통해서, 상기 제1 애플릿을 개인화하기 위한 제1 요청이 수신된다. 상기 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하는 제2 요청이 상기 제2 애플릿에 통신된다. 상기 제2 애플릿 데이터의 적어도 일부가 상기 제1 애플릿에 통신된다. 상기 제1 애플릿 데이터의 하나 이상의 값들이 상기 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체된다.
다른 예시적인 실시예에 있어서, 애플릿들을 관리하기 위한 방법으로서, 상기 방법은: 통신 네트워크를 통해서, 제1 애플릿을 개인화하기 위한 제1 요청을 수신하는 단계와; 제2 애플릿에 제2 요청을 통신하는 단계와, 상기 제2 요청은 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하고; 상기 제2 애플릿 데이터의 적어도 일부를 상기 제1 애플릿에 통신하는 단계와; 그리고 제1 애플릿 데이터의 하나 이상의 값들을 상기 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체하는 단계를 포함한다.
다른 예시적인 실시예에 있어서, 명령어들의 시퀀스들을 수록한 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들의 시퀀스는 컴퓨터 프로세서에 의해 실행될 때 상기 프로세서로 하여금: 통신 네트워크를 통해서, 상기 제1 애플릿을 개인화하기 위한 제1 요청을 수신하고; 제2 애플릿에 제2 요청을 통신하고, 상기 제2 요청은 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하고; 상기 제2 애플릿 데이터의 적어도 일부를 상기 제1 애플릿에 통신하며; 그리고 제1 애플릿 데이터의 하나 이상의 값들을 상기 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체하도록 구성된다.
본 명세서에서 제시되는 예시적인 실시예들의 피처들(features) 및 장점들은 다음의 도면들과 함께 고려될 때 아래에 제시된 상세한 설명으로부터 보다 명백해질 것이다.
도 1은 대표적인 실시예에 따라 데이터를 안전하게 관리하기 위한 시스템의 도면이다.
도 2는 대표적인 실시예에 따라 애플릿들 간의 공유가능한 인터페이스 오브젝트(SIO; shareable interface object)를 설정(establish)하고 SIO 요청 애플릿의 인증을 제공하는 것에 대한 순서도이다.
도 3a 및 3b는 대표적인 실시예에 따라 보안 요소상의 WCAp를 대체하기 위한 순서도들이다.
도 4는 본 발명을 구현하기 위해 유용한 예시적인 시스템의 도면이다.
I. 개관
본 명세서에서 제시되는 예시적인 실시예들은 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 컴퓨터 프로그램 물들에 관한 것이며, 이들은 본 명세서에서 모바일 지갑 환경에서 비접촉 모바일 거래들(예를 들어, 상거래 및 지불)을 수행하기 위한 애플릿들 및 애플리케이션들의 면에서 설명된다. 본 상세한 설명은 본 명세서에서 제시된 예시적인 실시예들의 응용을 한정하려고 의도되지 않는다. 실제로, 다음의 상세한 설명을 읽은 후에는, 관련 기술분야(들)의 통상의 기술자에게 모바일 지갑 환경 내부 또는 외부의 모바일 디바이스들 상의 어떤 타입의 애플릿들 및/또는 애플리케이션들에 대한 다음의 예시적인 실시예들을 어떻게 구현할지가 명백할 것이다.
본 명세서에서 제시된 대표적인 실시예들에 있어서, 지갑 컴패니언 애플릿(WCAp; wallet companion applet)은 보안 요소 상에 저장된 애플릿이고 모바일 지갑 애플리케이션의 대표로서 동작한다. 상기 모바일 지갑 애플리케이션은, 다른 것들 중에서도 특히, 보안 요소 대신에 상기 보안 요소의 데이터(예를 들어, 중요한 데이터)를 안전하게 저장 및 관리하기 위해 상기 WCAp를 이용한다. 보안 보조 애플릿(ISAp; secure assistant applet)은 보안 요소 상에 저장되는 애플릿이며, 예를 들어, 상기 WCAp를 포함하는 다른 애플릿들의 (또는 상기 다른 애플릿들에 대응하는) 데이터에 대한 보안 저장 위치로서 동작한다.
상기 WCAp는 새로운 WCAp (또는 WCAp 인스턴스)로 대체된다. WCAp는 ISAp와 공유가능한 인터페이스 오브젝트(SIO)를 설정하고, 상기 공유가능한 인터페이스 오브젝트를 통해 데이터 및 통신들이 교환된다. 상기 WCAp는 상기 WCAp 대신에 저장 또는 백업될 데이터를 상기 SIO를 통해서 상기 ISAp에 송신한다. 상기 WCAp는 신뢰받는 서비스 관리자(TSM; trusted service manager)로부터 수신된 요청에 따라 상기 보안 요소로부터 삭제된다. 새로운 WCAp 패키지는 보안 요소 상에 로딩되고 새로운 WCAp 인스턴스가 새롭게 로딩된 WCAp 패키지를 이용하여 생성된다. 상기 새로운 WCAp (또는 WCAp 인스턴스)는 상기 TSM으로부터 수신된 중요하지 않은 데이터 및/또는 파라미터들을 이용하여 개인화된다. 상기 WCAp는 이전에 삭제 및/또는 대체되었던 상기 WCAp 대신에 저장된 중요한 파라미터들을 수신하기 위해 상기 ISAp에 요청을 송신한다. 상기 ISAp는 상기 WCAp에 중요한 파라미터들을 송신하고, 상기 중요한 파라미터들은 또한 상기 보안 요소 상의 WCAp에 저장되거나 상기 WCAp에 의해 저장된다. 상기 WCAp, ISAp 및 SIO는 적어도 도 1 내지 도 3을 참조로 하여 아래에 보다 상세히 설명된다.
II. 시스템
도 1은 본 명세서에서 제시되는 예시적인 실시예들에 따라 데이터를 안전하게 관리하기 위한 시스템(100)의 도면이다. 도 1에 도시된 바와 같이, 상기 시스템(100)은 프로세서(102), 메모리(103) 및 보안 요소(SE)(105)를 포함하는 모바일 디바이스(101)를 포함한다. 상기 모바일 디바이스(101)는, 예를 들어, 셀룰러 폰 또는 태블릿 등일 수 있다. 비록 도 1에서 도시되지 않았지만, 상기 모바일 디바이스(101)는 비접촉 프론트엔드(CLF), 기저대역 모뎀(baseband modem) 및 디스플레이 스크린과 같은 사용자 인터페이스를 포함한다. 기저대역 모뎀은 무선 통신들을 위해 이용되는 디지털 모뎀이다. CLF는 비접촉 또는 NFC의 아날로그 양상들 및 비접촉 통신 링크의 통신 프로토콜 레이어들을 처리(handle)하는 회로망이다.
상기 모바일 디바이스(101)는 상기 모바일 디바이스의 메모리(103)에 저장되는 모바일 지갑 애플리케이션(104)을 또한 포함한다. 상기 모바일 지갑 애플리케이션(104)은 상기 모바일 디바이스(101)의 프로세서(102)에 의해 실행될 때, 상기 모바일 디바이스(101)로 하여금 비접촉 거래들 등을 프로세싱하는 기구(instrument)로서 동작하도록 하는 명령어들을 포함한다. 상기 모바일 지갑 애플리케이션(104)은 상기 모바일 디바이스(101)의 메모리(103) 상에 저장되는 중요하지 않은 데이터를 또한 포함(예를 들어, 이용하거나, 동작하거나, 관련됨)한다. 중요하지 않은 데이터는 상기 모바일 지갑 애플리케이션(104)이 기능하는 동안 상기 모바일 지갑 애플리케이션(104)에 의해 이용되는, 이미지들, 시스템 정보, 선호들 등을 포함하는 정보를 포함한다. 애플리케이션 각각(예를 들어, 모바일 지갑 애플리케이션(104)) 또는 각각의 애플리케이션을 관리하는 엔터티/제공자(entity/provider)는 어떤 타입의 데이터가 (중요한 것과 반대로) 중요하지 않은지를 정의하는 대응하는 표준들을 구비한다. 상기 모바일 지갑 애플리케이션(104)은 또한 코드들(예를 들어, 패스코드들), 크레덴셜들(credentials), 보안 키들, 식별자들 등을 포함하는 중요한 데이터와 관련된다. 중요한 데이터는 통상적으로 보안 요소(105)와 같은 보안 요소에 저장된다.
보안 요소(105)는 보편적 집적 회로 카드(UICC; universal integrated circuit card), 임베드된 SE 카드, 보안 마이크로 디지털(microSD) 카드 등으로서 구현될 수 있다. 보안 요소(105)는 또한 예를 들어, 원격 서버 또는 컴퓨터, 클라우드 기반 아키텍처 등을 포함하나 이에 한정되지 않는 상기 모바일 디바이스(101)에 의해 액세스 가능한 메모리상에서 상기 모바일 디바이스(101)의 외부에서 유지되는 가상의 보안 요소로서 구현된다. 보안 요소(예를 들어, 보안 요소(105))는 전용 메모리를 포함하는 자족적 시스템(self-contained system)이기 때문에, 일반적으로 안전한 것으로 간주되고, 독립적인 테스팅에 의해 검증되는 하드웨어 및 소프트웨어 강화(hardening) 기법들에 의해 보호된다.
상기 보안 요소(105)는 자바 카드 런타임 환경(JCRE; java card runtime environment)(106)을 포함하고, 상기 자바 카드 런타임 환경은 이에 저장된 애플릿들로 하여금, 예를 들어, 입력/출력(I/O), 메시징 및 암호화(cryptography)에 대한 클래스들(classes)을 이용을 위해 제공함으로써 실행, 기능 및/또는 통신하도록 하는 보안 요소 카드 실행 환경이다. 그러한 애플릿들은, 예를 들어, 도 1에 도시된 바와 같이, 지갑 컴패니언 애플릿(WCAp)(107) 및 보안 보조 애플릿(ISAp)(108)을 포함한다.
상기 WCAp(107)는 상기 보안 요소(105) 상에 저장된 애플릿이고 상기 모바일 지갑 애플리케이션(104)의 대표로서 동작한다. 상기 모바일 지갑 애플리케이션(104)은 다른 것들 중에서도 특히, 보안 요소(104) 대신에 상기 보안 요소(104)의 데이터(예를 들어, 중요한 데이터)를 안전하게 저장 및 관리하기 위해 상기 WCAp(107)를 이용한다. ISAp(108)는 상기 보안 요소(105)에 저장된 애플릿이고, 예를 들어, WCAp(107)를 포함하는 다른 애플릿들의 (또는 상기 다른 애플릿들에 대응하는) 데이터에 대한 보안 저장 위치로서 동작한다.
하나의 예시적인 실시예에서, 상기 WCAp(107)는 상기 모바일 지갑 애플리케이션(104)에 의해 이용되거나 이용될 수 있는 데이터의 리스트(예를 들어, 데이터 오브젝트들, 데이터 요소들)를 유지 및/또는 저장한다. 아래의 표 1은 대표적인 실시예에 따라, WCAp(107)에 의해 저장되는 데이터 및 데이터 요소 각각에 대한 바이트 단위의 대응하는 최대 데이터 사이즈의 예시들을 나열한다.
데이터 요소 최대 사이즈(바이트 단위)
ICCID >0 및 <=16
IMEI/MEID/디바이스 ID >0 및 <=64
지갑 ID >0 및 <=64
지갑 패스코드 8
지갑 서버 키 16
지갑 서버 KVC 3
향상된 WS 키 24
향상된 WS KVC 3
향상된 WS HMAC 키 32
향상된 WS HMAC KVC 3
SIO 인증 비밀 32
위젯 인증 블롭 <=1K
지갑 고유 코드 16
집적 회로 카드 식별자(ICCID; integrated circuit card identifier)는 가입자 식별 모듈(SIM; subscriber identity module) 또는 기타 보안 요소에 대응하는 고유의 시리얼 번호 또는 식별자(ID; identifier)이다.
국제 모바일 장비 식별자(IMEI; international mobile equipment identifier)는 모바일 디바이스(예를 들어, 모바일 폰)에 대응하는 고유 번호 또는 식별자를 말한다. 모바일 장비 식별자(MEID; mobile equipment identifier) 또는 기타 디바이스 ID는 코드 분할 다중 액세스(CDMA; code division multiple access) 네트워크들 상에서 기능하는 것들과 같은 다른 타입의 모바일 디바이스들에 대응하는 유사한 고유 식별자 또는 번호이다.
지갑 ID는 지갑 클라이언트(예를 들어, 모바일 지갑 애플리케이션)에 대응하는 고유 번호 또는 식별자를 말한다.
지갑 패스코드는 지갑 클라이언트 사용자를 인증하기 위해 이용되는 고유한 패스코드 또는 패스워드를 말한다. 지갑 패스코드는 유니코드(unicode)의 4글자 코드일 수 있다.
지갑 서버 키는 지갑 클라이언트 (및/또는 관련된 애플릿들 (예를 들어, 지갑 컴패니언 애플릿(WCAp)))과 지갑 서버 간에 인증을 제공하기 위한 인증 키를 말한다. 상기 지갑 서버 키는, 예를 들어, 삼중 데이터 암호화 알고리즘(TDEA; triple data encryption algorithm) 또는 대칭적 키-블럭 숫자암호화(symmetric key-block cypher) 등에 따라 생성된다.
지갑 서버 키 검증 코드(KVC; key verification code)는 지갑 서버 키를 검증 또는 인증하기 위한 값을 말한다.
향상된 지갑 서버(WS; wallet server) 키는 지갑 클라이언트 (및/또는 관련된 애플릿들)와 지갑 서버 간에 인증을 제공하기 위한 키를 말한다. 향상된 WS 키는, 예를 들어, 삼중 데이터 암호화 알고리즘(TDEA) 또는 대칭적 키-블럭 숫자암호화 등에 따라 생성될 수 있다. 향상된 WS KVC는 향상된 WS 키를 검증 또는 인증하기 위한 값을 말한다.
향상된 WS HMAC 키 및 향상된 WS HMAC KVC는 각각 해쉬 메시지 인증 코드(HMAC; hash message authentication code) 암호화 기능들에 따라 개발된 키 및 키 검증 코드 또는 값을 말한다.
SIO 인증 비밀(SIO authentication secret)은 공유가능한 인터페이스 오브젝트(SIO)(예를 들어, JavaCard SIO)의 설정을 요청하는 애플릿 또는 시스템을 인증하기 위해 이용되는 값 또는 코드를 말한다. SIO의 설정은 도 2에 관해 아래에 보다 상세히 설명된다.
위젯 인증 블롭(widget authentication blob)은 보안 요소들 상의 애플릿들에 액세스를 요청하는 위젯들(예를 들어, 애플리케이션, 인터페이스의 컴포넌트)을 인증하기 위해 이용되는 저장된 데이터의 세트를 말한다. 예를 들어, 위젯 인증 블롭은 하나 이상의 위젯들에 대응하는 위젯 ID, 위젯 서명 및 위젯 버전을 저장하기 위해 이용된다. 위젯이 보안 요소 상의 애플릿에 액세스를 요청할 때, 상기 위젯 데이터는 상기 위젯 인증 블롭에 저장된 데이터와 비교되며, 액세스는 그러한 비교에 기초하여 상기 애플릿에 허여(granted)된다.
지갑 클라이언트 고유 코드(wallet client unique code)는 거래 동안의 인증을 위해 지갑 클라이언트에 의해 이용되는 값을 말한다.
하나의 예시적인 실시예에서, 상기 ISAp(108)는 상기 WCAp(107)를 위해서 또는 상기 WCAp(107) 대신에 데이터를 유지 및/또는 저장한다. 상기 ISAp(108)에 의해 유지되는 그러한 데이터는 상기 WCAp(107)가 아닌 곳에 저장되지 않은 데이터를 통상적으로 포함한다. 즉, 상기 ISAp(108)는 상기 보안 요소(105) 내의 상기 WCAp(107)에 대한 단독 백업(sole backup) 또는 재해 복구 저장소(disaster recovery storage)로서 동작하여서, 상기 WCAp(107)가 삭제, 업데이트 및/또는 수정되고 그러한 데이터가 상기 WCAp(107)(또는 WCAp의 다른 인스턴스)가 기능하도록 만드는데 필요하고 그리고/또는 이용되는 경우 그러한 데이터가 상기 WCAp(107)에 액세스 가능하도록 만든다.
아래의 표 2는 WCAp(107)에 의해 저장되는 데이터의 예시들 및 그러한 데이터가 WCAp(107)에만 저장되는지 또는 상기 WCAp(107) 및 상기 ISAp(108)에 저장되는지 여부의 지시(indication)를 나열한다.
데이터 요소 저장 위치
ICCID WCAp
IMEI/MEID/디바이스 ID WCAp
지갑 ID WCAp
지갑 패스코드 WCAp 및 ISAp
지갑 서버 키 WCAp 및 ISAp
지갑 서버 KVC WCAp
향상된 WS 키 WCAp 및 ISAp
향상된 WS KVC WCAp
향상된 WS HMAC 키 WCAp 및 ISAp
향상된 WS HMAC KVC WCAp
SIO 인증 비밀 WCAp
위젯 인증 블롭 WCAp
지갑 고유 코드 WCAp 및 ISAp
WCAp(107) 및 ISAp(108)와 같은 보안 요소(105)의 애플릿들은 정보를 교환하기 위해 서로와 통신하거나 서로 간에 통신할 수 있다. 예를 들어, WCAp(107)는 상기 WCAp(107)가 개인화되도록 하기 위해 요구되는 데이터를 획득 및/또는 검색하기 위하여 ISAp(108)와 통신할 수 있다. 하나의 예시적인 실시예에서, 애플릿들은 SIO 등을 이용하여 통신할 수 있다.
A. SIO 설정 및 애플릿 인증
도 2는 애플릿들 간에 SIO를 설정하고 SIO 요청 애플릿(SIO-requesting applet)의 인증을 제공하기 위한 순서도(200)이다. 구체적으로, 도 2에서, WCAp(201)(예를 들어, 도 1, WCAp(107))와 ISAp(202)(예를 들어, 도 1, ISAp(108)) 간에 SIO가 설정되고, 상기 요청 애플릿 WCAp(201)은 인증된다. 비록 도 2에 도시되지는 않았지만, 상기 WCAp(201) 및 ISAp(202)는 상기 애플릿들이 배치되는(deployed) 런타임 환경(runtime environment)(예를 들어, 도 1, JCRE(106))을 통해 통신한다. 이러한 프로세스는 임의의 2개의 애플릿들 간에 SIO를 설정하고 상기 임의의 2개의 애플릿들을 인증하기 위해 이용될 수 있음이 이해되어야 한다.
단계(250)에서, 상기 WCAp(201)는 상기 ISAp(202)에 "SIO 요청(request SIO)" 커맨드를 송신한다. 상기 "SIO 요청" 메시지는, 예를 들어, WCAp(201) 등의 송신 및/또는 요청 애플릿에 대응하는 애플리케이션 식별자(AID)를 포함한다. 단계(252)에서, 상기 ISAp(202)는 상기 수신된 AID가 추정 및/또는 인가된(authorized) 애플릿에 대응하는지 여부를 체크하고, 만약 대응한다면, 단계(254)에서, 상기 WCAp(201)에 "SIO 송신(send SIO)" 메시지를 송신한다. 상기 송신 SIO 메시지는 상기 설정된 SIO와 관련된 정보를 포함한다.
또한, 단계(256)에서, 상기 WCAp(201)는 상기 ISAp(202)에 챌린지가 상기 WCAp(201)에 반환될 것을 요청하는 "챌린지 획득(get challenge)" 커맨드를 송신한다. 상기 ISAp(202)는, 상기 챌린지 획득 커맨드를 수신함에 응답하여, 단계(258)에서 챌린지를 생성한다. 챌린지는 8바이트의 난수(random number)와 같은 난수일 수 있다. 단계(260)에서, 상기 ISAp(202)는 상기 생성된 챌린지를 상기 WCAp(201)에 송신한다.
단계(262)에서, 상기 WCAp(201)는 인증 메시지를 생성하기 위해서 상기 수신된 챌린지를 이용한다. 상기 인증 메시지는, 단계(258)에서 생성된 상기 챌린지, 공유된 인증 키들 및/또는 상기 WCAp(201)의 AID를 포함하는 상기 WCAp(201) 및 상기 ISAp(202)에 대해 이용가능하거나 상기 WCAp(201) 및 상기 ISAp(202)에 알려진 데이터의 전부 또는 일부의 조합으로 구성될 수 있다. 상기 인증 메시지는 데이터 암호화 표준(DES; data encryption standard)과 같은 대칭적 키 알고리즘들을 이용하여 생성될 수 있다.
또한, 상기 WCAp(201)는, 단계(264)에서, 상기 ISAp(202)에 상기 생성된 인증 메시지를 송신한다. 상기 ISAp(202)는, 단계(266)에서, (1) 단계(262)에서 상기 WCAp(201)에 의해 이용된 것으로 추정되는 것과 동일한 데이터 및 알고리즘을 이용하여 비교 인증 메시지를 생성하고, (2) 상기 비교 인증 메시지를 상기 WCAp(201)로부터 수신된 인증 메시지와 비교하며, 그리고 (3) 상기 비교 인증 메시지와 상기 WCAp(201)로부터 수신된 인증 메시지가 매칭되는지 여부를 결정함으로써 상기 수신된 인증 메시지를 체크한다.
단계(268)에서, 상기 ISAp(202)는 상기 WCAp(201)에 인증 응답을 송신한다. 예를 들어, 만약 2개의 인증 메시지들이 단계(266)에서 매칭되는 것으로 결정된다면, 상기 ISAp(202)는 상기 WCAp(201)에 의한 상기 ISAp(202)에 대한 액세스가 허여됨을 지시하는 인증 응답을 송신한다. 그렇지 않으면, 상기 ISAp(202)는 액세스가 허여되지 않음 및/또는 액세스가 허여되지 않는 이유를 지시하는 인증 응답을 송신한다.
도 1의 WCAp(107)에 의해 저장된 데이터는 개인화 단계(personalization phase) 동안의 커맨드들을 통해 상기 WCAp(107)에 송신 또는 제공된다. 예를 들어, 그러한 커맨드들은 신뢰받는 서비스 관리자(TSM)에 의해 발행되고 상기 WCAp(107)에 데이터를 저장하기 위해 이용되는 "데이터 저장(store data)" 커맨드와 같은 애플리케이션 프로토콜 데이터 유닛(APDU; application protocol data unit) 커맨드들일 수 있다.
일단 상기 WCAp(107)가 개인화되면(예를 들어, 데이터가 로딩됨), 상기 WCAp(107)는, 도 2를 참조로 하여 위에 논의된 바와 같이, 상기 ISAp(108)를 상기 ISAp(108)에 의해 통상적으로 저장되는(예를 들어, 추정되는) 데이터로 채운다(populate). 즉, 상기 WCAp(107)는, 개인화되었을 때, 상기 ISAp(108)에 데이터를 송신하고, 상기 ISAp(108)는 상기 WCAp(107) 대신에 데이터를 저장 또는 백업하도록 동작가능하다.
상기 ISAp(108)가 상기 WCAp(107)에 의해 채워졌는지 및/또는 채워질 필요가 있는지 여부를 결정하기 위해서, 상기 WCAp(107)는 방법(또는 기능)을 호출할 수 있으며, 상기 방법(또는 기능은): public abstract void ISAaToWCApReport (바이트 코드) 와 같다.
그러한 방법(예를 들어, ISAaToWCApReport)은 상기 ISAp(108)로 하여금 코드(예를 들어, 바이트 코드)를 반환함으로써 상기 WCAp(107)에 보고하도록 하며, 상기 코드는, 예를 들어, (1) 상기 ISAp(108)가 데이터 없이 설치되고 있거나(예를 들어, ISAp(108)가 비어 있음), (2) 상기 ISAp(108)가 삭제되고 있거나, 또는 (3) 상기 ISAp(108)에 데이터가 업로드, 송신 또는 제공될 필요가 있는지(예를 들어, 상기 ISAp(108)로부터 적어도 일부의 추정된 데이터가 누락됨) 여부를 지시한다.
III. 프로세스
도 3a 및 3b는 대표적인 실시예에 따른 모바일 디바이스(예를 들어, 도 1; 모바일 디바이스(101))의 보안 요소(예를 들어, 도 1; 보안 요소(105)) 상에 저장된 WCAp(예를 들어, 도 1, WCAp(107))를 대체하기 위한 프로세스들 각각의 순서도들(300a 및 300b)이다. 위의 프로세스는 모바일 디바이스 내부 또는 외부의 보안 요소들을 포함하는 어떤 형태 인자(form factor)의 보안 요소들 상의 다른 타입들의 애플릿들 (또는 애플릿 데이터)를 대체하기 위해 이용될 수 있음이 이해되어야 한다. 데이터의 대체가 다수의 방식들로 디바이스들 간의 전달들을 통해 수행될 수 있음이 또한 이해되어야 한다. 예를 들어, 그러한 데이터 전달은 무선(over-the-air)을 통해서 또는 사이드로딩(sideloading)에 의해서(예를 들어, USB, 블루투스 등을 통해서) 달성될 수 있다. 사이드로딩은 일반적으로 2개의 디바이스들(예를 들어, 모바일 디바이스, 보안 요소) 간의 업로드 또는 다운로드를 통한 데이터의 전달을 말한다.
도 1을 참조로 하여 위에 논의된 바와 같이, WCAp(예를 들어, WCAp(301))는 표 1에 도시된 라인들에 따라 데이터를 포함 및/또는 저장한다. 통상적으로, ISAp(302)(예를 들어, 도 1, ISAp(108))는 표 2에 도시된 라인들에 따라 WCAp(301) 대신에 데이터를 저장한다. WCAp(301)의 라이프사이클(lifecycle) 동안의 아무 때나, 상기 WCAp(301)는 ISAp(302)가 어떤 데이터를 누락하고 있는지 여부를 결정하기 위해 ISAp(302)로부터 보고를 획득한다. 예를 들어, 상기 WCAp(301)는 상기 WCAp(301)의 삭제 및/또는 대체 이전에 상기 ISAp(302)로부터 보고를 획득한다. 이는, 예를 들어, 위에 설명된 ISAaToWCApReport 기능을 호출함으로써 상기 WCAp(301)에 의해 달성될 수 있다. 만약 그 기능이 상기 ISAp(302)에 저장된 것으로 추정되는 적어도 일부 데이터가 누락되어 있음을 지시하는 코드를 반환한다면, 상기 WCAp(301)는 ISAp(302)가 (상기 WCAp(301)에 의해 필수적인 것으로 여겨지는) 적절한 중요한 데이터를 포함하도록 상기 ISAp(302)를 업데이트 및/또는 보충(replenish)한다.
도 3a는 대표적인 실시예에 따라 ISAp(예를 들어, ISAp(302))를 업데이트 (또는 보충)하기 위한 순서도(300a)이다. 상기 WCAp(301)는 도 2에 관해 위에 설명된 바와 같이 ISAp(302)와 SIO를 설정한다. 구체적으로, 단계(350)에서, 상기 WCAp(301)는 상기 WCAp(301)가 SIO를 통해 통신하기를 원함을 지시하는 "SIO 요청" 커맨드를 상기 ISAp(302)에 송신한다. 상기 "SIO 요청" 커맨드는 상기 WCAp(301)에 대응하는 AID를 포함한다. 상기 ISAp(302)는, 예를 들어, 신뢰받는 애플릿들 및/또는 대응하는 AID들의 리스트 또는 표와 같은 상기 ISAp(302)에 의해 저장된 정보에 기초하여, 그러한 커맨드에서 수신된 상기 AID 및/또는 어떤 데이터가 신뢰받는 또는 알려진 애플릿에 대응하는지 여부를 결정함으로써, 상기 SIO 요청을 승인(validate)한다.
만약 상기 ISAp(302)가 단계(350)에서 수신된 "SIO 요청" 커맨드를 승인한다면, 단계(352)에서, 상기 ISAp(302)는 (관련 정보를 포함하는) SIO를 반환하며, 상기 SIO를 통해서 상기 WCAp(301)와 상기 ISAp(302)가 통신한다. 상기 SIO 요청 커맨드는 요청하는 애플릿(예를 들어, WCAp(301))의 AID를 포함한다. 상기 ISAp(302)는 상기 커맨드에 포함된 상기 AID가 인가된 또는 추정된 AID와 매칭되는지 여부를 결정함으로써 상기 SIO 요청 커맨드를 승인한다.
단계(354)에서, 상기 WCAp(301)는 상기 ISAp(302)에 "챌린지 획득(get challenge)" 커맨드를 송신함으로써 챌린지(challenge)를 요청한다. 상기 ISAp(302)는 또한 단계(356)에서 상기 WCAp(301)에 챌린지를 반환한다. 또한, 상기 WCAp(301)는 상기 ISAp(302)에 인증 메시지를 송신한다. 상기 ISAp(302)는 단계(356)에서 송신된 인증 메시지를 분석하며, 그리고, 만약 인증이 성공적이라면(예를 들어, 인증 메시지가 추정값과 매칭됨), 상기 ISAp(302)는, 단계(360)에서, 인증이 통과되었고 상기 ISAp(302)에 대한 액세스가 허여됨을 지시하는 인증 응답을 상기 WCAp(301)에 송신한다.
단계(362)에서, 상기 WCAp(301)는 상기 ISAp(302)에 WCAp(301)가 상기 ISAp(302)에 업데이트 및/또는 보충되기를 원하는 정보를 포함하는 "데이터 입력(put data)" 커맨드(또는 커맨드 등)를 송신한다. 예를 들어, 상기 데이터 입력커맨드의 정보는 상기 ISAp(302)에 통상적으로 저장되는 패스코드, WC 고유 코드 또는 어떤 기타의 정보를 포함한다. 또한, 단계(364)에서, 상기 ISAp(302)는 상기 WCAp(301)에 의해 요청되면, 상기 데이터 입력 커맨드에 송신된 정보가 상기 ISAp(302)에 성공적으로 추가되거나 상기 ISAp(302)에 의해 성공적으로 저장되었는지 여부를 지시하는 응답을 상기 WCAp(301)에 송신한다.
도 3b는 대표적인 실시예에 따른 보안 요소(예를 들어, 보안 요소(303)) 상에 저장된 WCAp(예를 들어, WCAp(301))를 대체하기 위한 순서도(300b)이다. 상기 WCAp(301)를 대체할 때, 상기 WCAp(301)와 관련되고 상기 보안 요소(303) 상에 저장된 애플릿들(예를 들어, 지불 애플릿들)은 잠금 상태에 놓인다. 이는 상기 WCAp(301)의 대체 동안의 임의의 시점(point)에서 이루어질 수 있지만, 상기 WCAp(301)가 기능하지 않는 시간 동안(예를 들어, 상기 WCAp(301)가 새로운 WCAp 또는 WCAp 인스턴스로 대체되는 동안) 어떤 관련된 애플릿들도 오용(misused)되지 않는 것을 보장하기 위해서, WCAp 대체 프로세스를 시작하기 이전에 통상적으로 수행된다. 예를 들어, 각각의 애플릿의 상태는 이들의 사용을 방지하기 위해 활성 상태로부터 잠금 상태로 변경될 수 있다. 상기 WCAp(301)와 관련된(또는 임의의 대체되는 애플릿들과 관련된) 애플릿들은 그러한 권한(privileges)을 갖는 어떤 애플릿 또는 애플리케이션들에 의해 실행되는 어떤 프로세스를 이용하여서도 잠겨질 수 있음이 이해되어야 한다.
단계(380)에서, 신뢰받는 서비스 관리자(TSM)(305)(또는 상기 WCAp(301)에 대한 애플릿 관리 권한들을 갖는 어떤 시스템)는 상기 WCAp(301)를 삭제하기 위해 상기 보안 요소(303)에 삭제 커맨드를 송신한다. 상기 삭제 커맨드는 삭제될 상기 애플릿(예를 들어, WCAp(301))에 대응하는 AID를 포함한다. 또한, 단계(382)에서, 상기 보안 요소(303)는 상기 WCAp(301)를 삭제한다. 비록 도시되지는 않았지만, 상기 보안 요소(303)는 상기 WCAp(301)가 성공적으로 삭제되었는지 여부를 지시하는 통지를 상기 TSM(305)에 송신한다. 하나의 대표적인 실시예에서, 상기 TSM(305)은 상기 보안 요소(303) 상의 중앙 보안 도메인(central security domain)(미도시)을 통해 상기 보안 요소(303)에 통신들을 송신한다.
또한, 단계(384)에서, 상기 TSM(305)은 상기 보안 요소(303)에 로딩 커맨드(load command)를 송신한다. 상기 로딩 커맨드는 상기 보안 요소(303) 상에 WCAp 패키지를 로딩하기 위한 명령어들을 포함한다. 상기 로딩 커맨드는 상기 보안 요소(303) 상에 로딩될 WCAp 패키지를 포함한다. 단계(386)에서, 상기 패키지는 상기 보안 요소(303) 상에 로딩된다. 비록 도시되지는 않았지만, 상기 보안 요소(303)는 상기 WCAp 패키지가 상기 보안 요소(303) 상에 성공적으로 로딩되었는지 여부를 지시하는 통지를 상기 TSM(305)에 송신한다.
단계(384)에서 로딩되는 상기 WCAp 패키지는 단계(388)에서 상기 보안 요소(303) 상에 WCAp(304)를 생성하기 위해 상기 보안 요소(303) 상에 인스턴스화된다. 통상적으로, 인스턴스화는 로딩된 패키지로부터 애플릿 인스턴스를 생성하는 것을 포함하고, 만약 필요하다면, 상기 생성된 애플릿 인스턴스를 보안 요소 상의 저장 영역(예를 들어, 대응하는 보안 도메인)에 인도(extradite)하는 것을 포함한다. 단계(386)에서 로딩된 상기 패키지는 단계(390)에서 새로운 WCAp 인스턴스(예를 들어, WCAp(304))를 생성하기 위해 이용되고, 그러한 인스턴스는 상기 보안 요소(303) 상의 보안 도메인(security domain)에 인도된다. 비록 도시되지는 않았지만, 상기 보안 요소(303)는 새로운 WCAp 인스턴스가 상기 보안 요소(303) 상에 성공적으로 생성(그리고 만약 필요하다면 인도)되었는지 여부를 지시하는 통지를 상기 TSM(305)에 송신한다.
일단 상기 WCAp(304)가 생성되었으면, 상기 TSM(305)은, 단계(392)에서, 상기 WCAp(304)를 개인화하기 위해 상기 보안 요소(303)에 개인화 커맨드를 송신한다. 상기 개인화 커맨드는 상기 WCAp(304)에 저장되거나 상기 WCAp(304)에 의해 저장되는 데이터를 포함한다. 그러한 데이터는 표 1 및 표 2에 나타내진 바와 같이 상기 WCAp(304)에 의해 저장된 중요하지 않은 파라미터들을 포함한다. 중요하지 않은 파라미터들은 WCAp에 의해서 단독으로 저장되고 ISAp에 의해서 백업되지 않는 파라미터들이다. 구체적으로, 단계(392)에서 송신되는 개인화 커맨드는, 예를 들어, ICCID, IMEI 및 지갑 ID를 포함한다. 단계(394)에서, 상기 보안 요소(303)는 예를 들어, StoreData 커맨드를 호출함으로써 상기 WCAp(304)를 개인화하기 위한 개인화 커맨드에서 수신된 데이터(예를 들어, 중요하지 않은 파라미터들)를 이용한다. 구체적으로, 상기 개인화 커맨드에서 수신된 데이터는 상기 WCAp(304)에 저장되거나, 상기 WCAp(304)에 의해 저장되거나 또는 상기 WCAp(304)와 관련되어 저장된다.
또한, 단계(396)에서, 상기 보안 요소(303)의 WCAp(304)는 상기 ISAp(302)에 의해 저장된 중요한 파라미터들을 검색하기 위해서, 데이터 획득 커맨드 등을 관련된 ISAp(예를 들어, ISAp(302))에 송신한다. ISAp(예를 들어, ISAp(302))에 의해 저장되는 중요한 파라미터들의 예시들은 표 2를 참조로 하여 위에 설명된다. 하나의 대표적인 실시예에서, 상기 WCAp(304)는 중요한 파라미터들 및/또는 기타 데이터의 교환 이전에 상기 ISAp(302)와 SIO를 설정하고 그리고/또는 상기 ISAp(302)에 의해 인증된다. SIO를 설정하는 것 및/또는 ISAp(예를 들어, ISAp(302))를 인증하는 것은 도 2를 참조로 하여 위에 보다 상세히 설명된다. 단계(396)에서 송신된 데이터 획득 커맨드는 상기 WCAp(304)에 의해 요청되는 데이터 및/또는 파라미터들의 타입들의 지시를 포함할 수 있다.
만약 상기 ISAp(302)가 데이터 획득 커맨드에서 상기 WCAp(304)에 의해 요청된 데이터 중 일부 또는 전부를 수록하고 있음을 상기 ISAp(302)가 결정한다면, 상기 ISAp(302)는 단계(398)에서, 요청된 데이터(예를 들어, 중요한 파라미터들)의 일부 또는 전부를 검색 및 상기 WCAp(304)에 송신한다. 대안적으로, 그리고 비록 도 3에 도시되지는 않았지만, 상기 ISAp(302)는, 예를 들어, (1) 상기 ISAp(302)가 상기 WCAp(304)에 의해 요청되는 데이터를 포함 또는 수록하고 있는지 여부 또는 (2) 상기 단계(396)에서 송신된 데이터 획득 커맨드의 프로세싱이 성공적이었는지 여부를 지시하는 통지를 상기 WCAp(304)에 송신한다.
대표적인 실시예에서, 상기 WCAp(301)가 상기 WCAp(304)에 의해 대체되기 이전에 상기 WCAp(301)와 관련되었던 애플릿들은, 만약 상기 애플릿들이 잠금 상태에 있거나 상기 잠금 상태에 있었다면, 잠금 해제(unlocked)되고 이용가능 상태 또는 활성 상태에 놓인다. 구체적으로, WCAp(301)의 대체 동안 애플릿들의 기능을 금지하기 위해 잠겨졌던 상기 애플릿들은, 만약 존재한다면, 상기 애플릿들의 동작성(operability)이 재개(resume)되도록 잠금 해제된다. 애플릿들을 잠금 해제하는 것은 애플릿 소유자 또는 공급자가 원하는 어떤 방식으로든지 달성될 수 있음이 이해되어야 한다.
IV. 컴퓨터 판독가능 매체 구현
예를 들어, 도 1 내지 도 3 또는 이들의 어떤 일부 또는 기능에 묘사된 또는 이들과 함께 논의된 시스템들 및 절차들과 같은 위에 설명된 예시적인 실시예들은 하드웨어, 소프트웨어 또는 상기 하드웨어 및 소프트웨어의 조합을 이용함으로써 구현될 수 있다. 상기 구현은 하나 이상의 컴퓨터들 또는 기타 프로세싱 시스템들에 될 수 있다. 비록 이러한 예시적인 실시예들에 의해 수행되는 조작들(manipulations)이 휴먼 오퍼레이터(human operator)에 의해 수행되는 심적 동작들(mental operations)과 공통적으로 관련된 용어들로 언급되었지만, 본 명세서에서 설명된 동작들 중 어떤 것을 수행하기 위해서든 어떤 휴먼 오퍼레이터도 요구되지 않는다. 다시 말해서, 상기 동작들은 기계 동작들을 이용해서 완전히 구현될 수 있다. 본 명세서에서 제시된 예시적인 실시예들의 동작을 수행하기 위한 유용한 기계들은 일반 목적의 디지털 컴퓨터들 또는 유사한 디바이스들을 포함한다.
도 4는 본 발명의 예시적인 실시예들의 일부에 따른 일반 및/또는 특수 목적의 컴퓨터(400)의 블럭도이다. 상기 컴퓨터(400)는, 예를 들어, 다른 것들 중에서도 특히, 사용자 디바이스, 사용자 컴퓨터, 클라이언트 컴퓨터 및/또는 서버 컴퓨터일 수 있다.
상기 컴퓨터(400)는 프로세서 디바이스(410), 주 메모리(425) 및 상호연결 버스(405)를 한정 없이 포함한다. 상기 프로세서 디바이스(410)는 단일 마이크로프로세서를 한정 없이 포함하거나, 멀티프로세서 시스템으로서 상기 컴퓨터(400)를 구성하는 복수 개의 마이크로프로세서들을 포함한다. 상기 주 메모리(425)는, 다른 것들 중에서도 특히, 상기 프로세서 디바이스(410)에 의한 실행을 위한 명령어들 및/또는 데이터를 저장한다. 상기 주 메모리(425)는 캐시 메모리뿐만 아니라 동적 랜덤 액세스 메모리(DRAM)의 뱅크들(banks)을 포함한다.
상기 컴퓨터는 대량 저장 디바이스(430), 주변 디바이스(들)(440), 휴대용 저장 매체 디바이스(들)(450), 입력 제어 디바이스(들)(480), 그래픽 서브시스템(460) 및/또는 출력 디스플레이(470)를 더 포함한다. 설명적인 목적들을 위해서, 상기 컴퓨터(400)의 모든 컴포넌트들은 상기 버스(405)를 통해 결합되는 것으로서 도 4에 도시된다. 하지만, 상기 컴퓨터(400)는 그렇게 한정되지는 않는다. 상기 컴퓨터(400)의 디바이스들은 하나 이상의 데이터 수송 수단(data transport means)을 통해 결합될 수 있다. 예를 들어, 상기 프로세서 디바이스(410) 및/또는 상기 주 메모리(425)는 로컬 마이크로프로세서 버스를 통해 결합될 수 있다. 상기 대량 저장 디바이스(430), 주변 디바이스(들)(440), 휴대용 저장 매체 디바이스(들)(450) 및/또는 그래픽 서브시스템(460)은 하나 이상의 입력/출력(I/O) 버스들을 통해 결합될 수 있다. 상기 대량 저장 디바이스(430)는 상기 프로세서 디바이스(410)에 의한 이용을 위한 데이터 및/또는 명령어들을 저장하기 위한 비휘발성 저장 디바이스일 수 있다. 상기 대량 저장 디바이스(430)는, 예를 들어, 자기 디스크 드라이브 또는 광학 디스크 드라이브를 이용하여 구현될 수 있다. 소프트웨어 실시예에서, 상기 대량 저장 디바이스(430)는 상기 대량 저장 디바이스(430)의 컨텐츠들을 상기 주 메모리(425)에 로딩하도록 구성된다.
상기 휴대용 저장 매체 디바이스(450)는, 상기 컴퓨터(400)에 데이터 및 코드를 입력하거나 상기 컴퓨터(400)로부터 데이터 및 코드를 출력하기 위해서, 예를 들어, 컴팩트 디스크 판독 전용 메모리(CD-ROM)와 같은 비휘발성 휴대용 저장 매체와 함께 동작한다. 일부 실시예들에서, 메타데이터의 내부 식별자를 저장하기 위한 소프트웨어는 휴대용 저장 매체에 저장되고, 상기 휴대용 저장 매체 디바이스(450)를 통해 상기 컴퓨터(400)에 입력된다. 상기 주변 디바이스(들)(440)은, 예를 들어, 상기 컴퓨터(400)에 추가적 기능을 추가하도록 구성된 입력/출력(I/O) 인터페이스와 같은 어떤 타입의 컴퓨터 지원 디바이스를 포함한다. 예를 들어, 상기 주변 디바이스(들)(440)은 상기 컴퓨터(400)를 네트워크(420)와 인터페이싱(interfacing)하기 위한 네트워크 인터페이스 카드를 포함한다.
상기 입력 제어 디바이스(들)(480)은 상기 컴퓨터(400)의 사용자에게 사용자 인터페이스의 일부를 제공한다. 상기 입력 제어 디바이스(들)(480)은 키패드 및/또는 커서 제어 디바이스를 포함한다. 상기 키패드는 영숫자 글자들 및/또는 기타 키 정보를 입력하도록 구성된다. 상기 커서 제어 디바이스는, 예를 들어, 마우스, 트랙볼(trackball), 스타일러스(stylus) 및/또는 커서 방향 키들을 포함한다. 텍스트 및 그래픽 정보를 디스플레이하기 위해서, 상기 컴퓨터(400)는 그래픽 서브시스템(460) 및 출력 디스플레이(470)를 포함한다. 상기 출력 디스플레이(470)는 음극선관(CRT; cathode ray tube) 디스플레이 및/또는 액정 디스플레이(LCD)를 포함한다. 상기 그래픽 서브시스템(460)은 텍스트 및 그래픽 정보를 수신하며, 상기 정보를 상기 출력 디스플레이(470)에 출력하기 위해 프로세싱한다.
상기 컴퓨터(400)의 컴포넌트 각각은 일반 및/또는 특수 목적 컴퓨터의 컴퓨터 컴포넌트의 브랜드 카테고리를 나타낸다. 상기 컴퓨터(400)의 컴포넌트들은 본 명세서에서 제공되는 특정한 구현들에 한정되지 않는다.
본 발명의 예시적인 실시예들의 부분들은, 컴퓨터 기술분야의 통상의 기술자들에게 명백한 바와 같이, 본 발명의 개시내용에 따라 프로그래밍된 종래의 일반 목적 컴퓨터, 특수화된 디지털 컴퓨터 및/또는 마이크로프로세서를 이용함으로써 편리하게 구현된다. 적절한 소프트웨어 코딩은 본 발명의 개시내용들에 기초하여 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다.
일부 실시예들은 또한 애플리케이션별 집적 회로들, 필드 프로그래밍 가능한 게이트 어레이들의 준비에 의해서, 또는 종래의 컴포넌트 회로들의 적절한 네트워크를 상호연결함으로써 구현될 수 있다.
일부 실시예들은 컴퓨터 프로그램 물을 포함한다. 상기 컴퓨터 프로그램 물은 명령어들을 수록한 저장 매체 또는 저장 매체들일 수 있으며, 상기 명령어들은 컴퓨터로 하여금 본 발명의 예시적인 실시예들의 절차들 중 어떤 절차를 수행하도록 하거나 수행하도록 제어하기 위해 이용될 수 있다. 상기 저장 매체는 한정 없이 플로피 디스크, 미니 디스크, 광학 디스크, 블루-레이 디스크, DVD, CD-ROM, 마이크로 드라이브, 자기 광학 디스크, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, 플래시 메모리, 플래시 카드, 자기 카드, 광학 카드, 나노시스템들, 분자 메모리 집적 회로, RAID, 원격 데이터 저장소/아카이브/웨어하우징(storage/archive/warehousing) 및/또는 명령어들 및/또는 데이터를 저장하기 위해 적합한 기타 타입의 디바이스를 포함한다.
컴퓨터 판독 가능 매체 또는 매체들 중 어느 하나에 저장된 일부 구현들은 일반 컴퓨터 및/또는 특수 컴퓨터 또는 마이크로프로세서의 하드웨어 둘 모두를 제어하고, 상기 컴퓨터 또는 마이크로프로세서로 하여금 사람 사용자와 인터렉션하거나 본 발명의 예시적인 실시예들의 결과들을 활용하는 기타 메커니즘과 인터렉션하는 것을 인에이블(enable)하기 위한 소프트웨어를 포함한다. 그러한 소프트웨어는 한정 없이 디바이스 드라이버들, 운영 체제들 및 사용자 애플리케이션들을 포함한다. 궁극적으로, 그러한 컴퓨터 판독가능 매체는 위에 설명된 바와 같이 본 발명의 예시적인 양상들을 수행하기 위한 소프트웨어를 더 포함한다.
위에 설명된 절차들을 구현하기 위한 소프트웨어 모듈들은 일반 및/또는 특수 목적 컴퓨터 또는 마이크로프로세서의 프로그래밍 및/또는 소프트웨어에 포함된다.
비록 본 발명의 다양한 예시적인 실시예들이 위에 설명되었지만, 그러한 실시예들은 예시의 방식으로서 제시되는 것이고 한정의 방식으로서 제시되는 것은 아님이 이해되어야 한다. 관련된 기술분야(들)의 통상의 기술자들에게는 본 명세서에서 이뤄질 수 있는 형식 및 상세사항들의 다양한 변화들이 명백할 것이다. 그러므로, 본 발명은 위에 설명된 예시적인 실시예들 중 어느 것에도 한정되지 않아야 하며, 그보다는 다음의 특허청구범위 및 그 균등물들에 따라서만 정의되어야 한다.
이에 더하여, 상기 도면들은 예시적인 목적들을 위해서만 제시됨이 이해되어야 한다. 본 명세서에서 제시된 예시적인 실시예들의 아키텍처들(architectures)은 충분히 플렉서블(flexible) 및 구성가능(configurable)하여서, 첨부 도면들에서 도시된 것과는 다른 방식들로 활용 및 네비게이팅될 수 있다. 더욱이, 요약서의 목적은 미국 특허상표청 및 공중으로 하여금 일반적으로, 그리고 특수하게는 특허 또는 법률 용어들 혹은 어법(phraseology)에 익숙하지 않은 본 기술분야의 과학자들, 공학자들 및 실무자들로 하여금 본 출원의 기술적 개시내용의 본질(nature and essence)을 피상적인 검토(cursory inspection)로부터 빠르게 결정하는 것을 인에이블하기 위한 것이다. 요약서는 어떤 방식으로든지 본 명세서에서 제시된 예시적인 실시예들의 범위를 한정하는 것으로서 의도되지 않는다. 특허청구범위에 기재된 절차들은 제시된 순서로 수행되어야만 할 필요는 없음이 또한 이해되어야 한다.

Claims (21)

  1. 모바일 지갑 애플리케이션들(mobile wallet applications)의 애플릿들(applets)을 관리하기 위한 시스템으로서,
    상기 시스템은:
    제1 애플릿 데이터를 포함하는 제1 애플릿 및 제2 애플릿 데이터를 포함하는 제2 애플릿을 저장하도록 동작가능한 적어도 하나의 메모리와, 상기 제1 애플릿 데이터 및 상기 제2 애플릿 데이터는 각각 상기 제1 애플릿 및 상기 제2 애플릿에 의해 배타적으로(exclusively) 저장 및 관리되며; 그리고
    상기 적어도 하나의 메모리에 결합된 하드웨어 프로세서를 포함하며,
    상기 하드웨어 프로세서는:
    통신 네트워크를 통해서, 상기 제1 애플릿을 개인화(personalize)하기 위한 제1 요청을 수신하고;
    상기 제1 애플릿을 개인화하기 위한 제1 요청을 수신함에 응답하여, 상기 제2 애플릿에 제2 요청을 통신하고, 상기 제2 요청은 상기 제2 애플릿에 의한 이용을 위해 이전에 저장된 상기 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하고;
    상기 제2 애플릿이 상기 제1 애플릿에 대해 인증되면, 상기 제2 애플릿 데이터의 적어도 일부를 상기 제1 애플릿에 통신하며; 그리고
    상기 제1 애플릿의 제1 애플릿 데이터의 하나 이상의 값들을 상기 제2 애플릿의 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체하도록 동작가능한 것을 특징으로 하는 시스템.
  2. 제 1항에 있어서,
    상기 제1 애플릿 데이터 및 상기 제2 애플릿 데이터 각각은 (1) 패스코드(passcode) 및 (2) 모바일 지갑 클라이언트 고유 코드(mobile wallet client unique code) 중 적어도 하나를 포함하는 암호화 파라미터들(cryptographic parameters)을 포함하는 것을 특징으로 하는 시스템.
  3. 제 2항에 있어서,
    상기 제1 애플릿은 상기 적어도 하나의 메모리에 저장된 명령어들의 세트이고, 상기 명령어들의 세트는 상기 하드웨어 프로세서에 의해 실행될 때, 상기 하드웨어 프로세서로 하여금 상기 제1 애플릿 데이터를 관리하도록 하는 것을 특징으로 하는 시스템.
  4. 제 2항에 있어서,
    상기 제2 애플릿은 상기 적어도 하나의 메모리에 저장된 명령어들의 세트이고, 상기 명령어들의 세트는 상기 하드웨어 프로세서에 의해 실행될 때, 상기 하드웨어 프로세서로 하여금 상기 제2 애플릿 데이터를 관리하도록 하는 것을 특징으로 하는 시스템.
  5. 제 1항에 있어서,
    상기 시스템은 모바일 디바이스와 관련된 보안 요소에 포함되는 것을 특징으로 하는 시스템.
  6. 제 1항에 있어서,
    상기 하드웨어 프로세서는:
    상기 제2 애플릿 데이터가 불완전(incomplete)함을 지시하는 정보를 포함하는 통지를 상기 제1 애플릿에 통신하고;
    상기 제2 애플릿 데이터의 불완전 데이터를 결정하고;
    상기 제1 애플릿으로부터 상기 제2 애플릿에, 상기 제2 애플릿 데이터의 상기 불완전 데이터에 대응하는 제3 애플릿 데이터를 통신하며; 그리고
    상기 제2 애플릿 데이터의 값들을 상기 제3 애플릿 데이터의 값들로 대체하도록 더 동작가능한 것을 특징으로 하는 시스템.
  7. 삭제
  8. 모바일 지갑 애플리케이션들의 애플릿들을 관리하기 위한 컴퓨터에 의해 구현되는 방법으로서,
    상기 방법은:
    통신 네트워크를 통해, 제1 애플릿을 개인화하기 위한 제1 요청을 수신하는 단계와, 상기 제1 애플릿은 제1 애플릿 데이터를 포함하고;
    상기 제1 애플릿을 개인화하기 위한 상기 제1 요청을 수신함에 응답하여, 제2 애플릿에 제2 요청을 통신하는 단계와, 상기 제2 요청은 상기 제2 애플릿에 의한 이용을 위해 이전에 저장된 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하고, 상기 제1 애플릿 데이터 및 상기 제2 애플릿 데이터는 각각 상기 제1 애플릿 및 상기 제2 애플릿에 의해 배타적으로(exclusively) 저장 및 관리되며;
    상기 제2 애플릿이 상기 제1 애플릿에 대해 인증되면, 상기 제2 애플릿 데이터의 적어도 일부를 상기 제1 애플릿에 통신하는 단계와; 그리고
    상기 제1 애플릿의 제1 애플릿 데이터의 하나 이상의 값들을 상기 제2 애플릿의 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 8항에 있어서,
    상기 제1 애플릿 데이터 및 상기 제2 애플릿 데이터 각각은 (1) 패스코드 및 (2) 모바일 지갑 클라이언트 고유 코드 중 적어도 하나를 포함하는 암호화 파라미터들을 포함하는 것을 특징으로 하는 방법.
  10. 제 9항에 있어서,
    상기 제1 애플릿은 적어도 하나의 메모리에 저장된 명령어들의 세트이고, 상기 명령어들의 세트는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 상기 제1 애플릿 데이터를 관리하도록 하는 것을 특징으로 하는 방법.
  11. 제 9항에 있어서,
    상기 제2 애플릿은 적어도 하나의 메모리에 저장된 명령어들의 세트이고, 상기 명령어들의 세트는 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 상기 제2 애플릿 데이터를 관리하도록 하는 것을 특징으로 하는 방법.
  12. 제 8항에 있어서,
    상기 제1 애플릿 및 상기 제2 애플릿은 모바일 디바이스와 관련된 보안 요소에 저장되는 것을 특징으로 하는 방법.
  13. 제 8항에 있어서,
    상기 제2 애플릿 데이터가 불완전함을 지시하는 정보를 포함하는 통지를 상기 제1 애플릿에 통신하는 단계와;
    상기 제2 애플릿 데이터의 불완전 데이터를 결정하는 단계와;
    상기 제1 애플릿으로부터 상기 제2 애플릿에, 상기 제2 애플릿 데이터의 상기 불완전 데이터에 대응하는 제3 애플릿 데이터를 통신하는 단계와; 그리고
    상기 제2 애플릿 데이터의 값들을 상기 제3 애플릿 데이터의 값들로 대체하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 삭제
  15. 모바일 지갑 애플리케이션들의 애플릿들을 관리하기 위한 명령어들의 시퀀스들(sequences)을 수록한 비일시적 컴퓨터 판독가능 매체(non-transitory computer-readable medium)로서,
    상기 명령어들의 시퀀스들은 컴퓨터 하드웨어 프로세서에 의해 실행될 때, 상기 컴퓨터 하드웨어 프로세서로 하여금:
    통신 네트워크를 통해, 제1 애플릿을 개인화하기 위한 제1 요청을 수신하는 것과, 상기 제1 애플릿은 제1 애플릿 데이터를 포함하고;
    상기 제1 애플릿을 개인화하기 위한 상기 제1 요청을 수신함에 응답하여 제2 애플릿에 제2 요청을 통신하는 것과, 상기 제2 요청은 상기 제2 애플릿에 의한 이용을 위해 이전에 저장된 상기 제2 애플릿 데이터의 적어도 일부를 요청하는 커맨드를 포함하고, 상기 제1 애플릿 데이터 및 상기 제2 애플릿 데이터는 각각 상기 제1 애플릿 및 상기 제2 애플릿에 의해 배타적으로(exclusively) 저장 및 관리되며;
    상기 제2 애플릿이 상기 제1 애플릿에 대해 인증되면, 상기 제2 애플릿 데이터의 적어도 일부를 상기 제1 애플릿에 통신하는 것과; 그리고
    상기 제1 애플릿의 제1 애플릿 데이터의 하나 이상의 값들을 상기 제2 애플릿의 제2 애플릿 데이터의 적어도 일부의 하나 이상의 값들로 대체하는 것을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  16. 제 15항에 있어서,
    상기 제1 애플릿 데이터 및 상기 제2 애플릿 데이터 각각은 (1) 패스코드 및 (2) 모바일 지갑 클라이언트 고유 코드 중 적어도 하나를 포함하는 암호화 파라미터들을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  17. 제 16항에 있어서,
    상기 제1 애플릿은 메모리 상에 저장된 명령어들의 세트이며, 상기 명령어들의 세트는 상기 컴퓨터 하드웨어 프로세서에 의해 실행될 때 상기 컴퓨터 하드웨어 프로세서로 하여금 상기 제1 애플릿 데이터를 관리하도록 하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  18. 제 16항에 있어서,
    상기 제2 애플릿은 메모리 상에 저장된 명령어들의 세트이며, 상기 명령어들의 세트는 상기 컴퓨터 하드웨어 프로세서에 의해 실행될 때 상기 컴퓨터 하드웨어 프로세서로 하여금 상기 제2 애플릿 데이터를 관리하도록 하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  19. 제 15항에 있어서,
    상기 제1 애플릿 및 상기 제2 애플릿은 모바일 디바이스와 관련된 보안 요소에 포함되는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  20. 제 15항에 있어서,
    상기 명령어들의 시퀀스들은 상기 컴퓨터 하드웨어 프로세서에 의해 실행될 때 상기 컴퓨터 하드웨어 프로세서로 하여금:
    상기 제2 애플릿 데이터가 불완전함을 지시하는 정보를 포함하는 통지를 상기 제1 애플릿에 통신하고;
    상기 제2 애플릿 데이터의 불완전 데이터를 결정하고;
    상기 제1 애플릿으로부터 상기 제2 애플릿에, 상기 제2 애플릿 데이터의 상기 불완전 데이터에 대응하는 제3 애플릿 데이터를 통신하며; 그리고
    상기 제2 애플릿 데이터의 값들을 상기 제3 애플릿 데이터의 값들로 대체하도록 더 동작가능한 것을 특징으로 하는 비일시적 컴퓨터 판독가능 매체.
  21. 삭제
KR1020167011237A 2013-09-30 2014-09-17 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체 KR101769973B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361884719P 2013-09-30 2013-09-30
US61/884,719 2013-09-30
PCT/US2014/055983 WO2015047807A1 (en) 2013-09-30 2014-09-17 Systems, methods, and computer program products for securely managing data on a secure element

Publications (2)

Publication Number Publication Date
KR20160055280A KR20160055280A (ko) 2016-05-17
KR101769973B1 true KR101769973B1 (ko) 2017-08-21

Family

ID=52741570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167011237A KR101769973B1 (ko) 2013-09-30 2014-09-17 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체

Country Status (5)

Country Link
US (2) US9311491B2 (ko)
EP (1) EP3053081B1 (ko)
KR (1) KR101769973B1 (ko)
CN (1) CN105793861B (ko)
WO (1) WO2015047807A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311491B2 (en) 2013-09-30 2016-04-12 Google Inc. Systems, methods, and computer program products for securely managing data on a secure element
US9483249B2 (en) * 2014-01-06 2016-11-01 Apple Inc. On-board applet migration
US9436455B2 (en) 2014-01-06 2016-09-06 Apple Inc. Logging operating system updates of a secure element of an electronic device
DE102015214422A1 (de) * 2015-07-29 2017-02-02 Bundesdruckerei Gmbh Chipkarte mit Hauptapplikation und Persistenzapplikation
EP3270620A1 (en) * 2016-07-13 2018-01-17 Gemalto Sa Method and devices for managing a secure element
CN108229213B (zh) * 2016-12-15 2020-07-07 中国移动通信有限公司研究院 访问控制方法、系统及电子设备
CN109151777B (zh) * 2018-06-11 2020-11-24 中国银联股份有限公司 一种非接通信方法以及通信装置
CN111191213B (zh) * 2018-11-14 2023-11-10 华为终端有限公司 一种删除安全业务的方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030160134A1 (en) 2002-02-26 2003-08-28 Metra Electronics Corporation Mounting bracket for mounting a standardized ISO audio component within a DIN aperture
US20100318812A1 (en) 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
EP2003842B1 (en) 2007-06-15 2011-05-04 Research In Motion Limited A method and devices for providing secure data backup from a mobile communication device to an external computing device

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925439B1 (en) 1994-06-20 2005-08-02 C-Sam, Inc. Device, system and methods of conducting paperless transactions
US5590038A (en) 1994-06-20 1996-12-31 Pitroda; Satyan G. Universal electronic transaction card including receipt storage and system and methods of conducting electronic transactions
US5834747A (en) 1994-11-04 1998-11-10 Pixel Instruments Universal credit card apparatus and method
US5640002A (en) 1995-08-15 1997-06-17 Ruppert; Jonathan Paul Portable RF ID tag and barcode reader
US5748740A (en) 1995-09-29 1998-05-05 Dallas Semiconductor Corporation Method, apparatus, system and firmware for secure transactions
US5805702A (en) 1995-09-29 1998-09-08 Dallas Semiconductor Corporation Method, apparatus, and system for transferring units of value
US5940510A (en) 1996-01-31 1999-08-17 Dallas Semiconductor Corporation Transfer of valuable information between a secure module and another module
US6837436B2 (en) 1996-09-05 2005-01-04 Symbol Technologies, Inc. Consumer interactive shopping system
US5901303A (en) 1996-12-27 1999-05-04 Gemplus Card International Smart cards, systems using smart cards and methods of operating said cards in systems
DE69827405T2 (de) * 1997-03-24 2005-05-19 Visa International Service Association, Foster City System und verfahren für eine mehrzweckchipkarte die eine nachträgliche speicherung einer anwendung auf dieser karte ermöglicht
US6098879A (en) 1997-09-26 2000-08-08 Gilbarco, Inc. Fuel dispensing system providing customer preferences
US6810304B1 (en) 1997-09-26 2004-10-26 Gilbarco Inc. Multistage ordering system for a fueling and retail environment
US6073840A (en) 1997-09-26 2000-06-13 Gilbarco Inc. Fuel dispensing and retail system providing for transponder prepayment
US6131811A (en) 1998-05-29 2000-10-17 E-Micro Corporation Wallet consolidator
US6116505A (en) 1998-07-21 2000-09-12 Gilbarco Inc. Fuel transaction system for enabling the purchase of fuel and non-fuel items on a single authorization
US6332128B1 (en) 1998-07-23 2001-12-18 Autogas Systems, Inc. System and method of providing multiple level discounts on cross-marketed products and discounting a price-per-unit-volume of gasoline
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
US7571139B1 (en) 1999-02-19 2009-08-04 Giordano Joseph A System and method for processing financial transactions
US7308426B1 (en) 1999-08-11 2007-12-11 C-Sam, Inc. System and methods for servicing electronic transactions
US20020049631A1 (en) 1999-10-12 2002-04-25 Eric Williams Process, system and computer readable medium for providing purchasing incentives to a plurality of retail store environments
US6705520B1 (en) 1999-11-15 2004-03-16 Satyan G. Pitroda Point of sale adapter for electronic transaction device
US6587835B1 (en) 2000-02-09 2003-07-01 G. Victor Treyz Shopping assistance with handheld computing device
ATE355568T1 (de) 2000-02-11 2006-03-15 Internet Payments Ltd Ein netzwerk basierendes system
US20030083042A1 (en) 2000-02-11 2003-05-01 Maher Abuhamdeh Remote rechargeable prepaid cellular service peripheral device
US7194422B1 (en) 2000-03-08 2007-03-20 The Coca-Cola Company Disaggregated databases for tracking consumer purchasing data
US7529563B1 (en) 2000-07-10 2009-05-05 Pitroda Satyan G System for distribution and use of virtual stored value cards
US7216109B1 (en) 2000-07-24 2007-05-08 Donner Irah H System and method for reallocating and/or upgrading and/or selling tickets, other event admittance means, goods and/or services
AU2002211424A1 (en) 2000-10-04 2002-04-15 American Express Travel Related Services Company, Inc. System and method for providing feedback in an interactive payment system
US7398225B2 (en) 2001-03-29 2008-07-08 American Express Travel Related Services Company, Inc. System and method for networked loyalty program
SE518059C2 (sv) 2000-12-22 2002-08-20 Payment Security Sweden Ab Förfarande för att öka säkerheten vid betalning med kredit- och betalkort
GB0031607D0 (en) 2000-12-27 2001-02-07 Koninkl Philips Electronics Nv Credit system and method
US7856377B2 (en) 2001-03-29 2010-12-21 American Express Travel Related Services Company, Inc. Geographic loyalty system and method
US6671358B1 (en) 2001-04-25 2003-12-30 Universal Identity Technologies, Inc. Method and system for rewarding use of a universal identifier, and/or conducting a financial transaction
US6869013B2 (en) 2001-05-04 2005-03-22 Outsite Networks, Inc. Systems and methods for the identification and displaying of information
US20020174025A1 (en) 2001-05-17 2002-11-21 Hind John R. Method and system for providing targeted advertising and personalized customer services
WO2002101512A2 (en) 2001-06-12 2002-12-19 Paytronix Systems, Inc. Customer identification, loyalty and merchant payment gateway system
US7463133B2 (en) 2001-07-10 2008-12-09 American Express Travel Related Services Company, Inc. Systems and methods for providing a RF transaction device operable to store multiple distinct calling card accounts
US7249112B2 (en) 2002-07-09 2007-07-24 American Express Travel Related Services Company, Inc. System and method for assigning a funding source for a radio frequency identification device
US7996324B2 (en) 2001-07-10 2011-08-09 American Express Travel Related Services Company, Inc. Systems and methods for managing multiple accounts on a RF transaction device using secondary identification indicia
EP1412890A4 (en) 2001-07-30 2004-11-24 C Sam Inc SYSTEM FOR DISTRIBUTING AND USING VIRTUAL STORED VALUE CARDS
WO2003058391A2 (en) 2001-12-26 2003-07-17 Vivotech, Inc. Wireless network micropayment financial transaction processing
US20030200489A1 (en) 2002-04-18 2003-10-23 Laszlo Hars Secure method of and system for rewarding customers
US7494055B2 (en) 2002-09-17 2009-02-24 Vivotech, Inc. Collaborative negotiation techniques for mobile personal trusted device financial transactions
US7155405B2 (en) 2002-12-31 2006-12-26 Symbol Technologies, Inc. System for communicating product and service related information to a user based on direction of movement
US20040186768A1 (en) 2003-03-21 2004-09-23 Peter Wakim Apparatus and method for initiating remote content delivery by local user identification
WO2004105359A2 (en) 2003-05-19 2004-12-02 Einar Rosenberg An apparatus and method for increased security of wireless transactions
US20050222961A1 (en) 2004-04-05 2005-10-06 Philippe Staib System and method of facilitating contactless payment transactions across different payment systems using a common mobile device acting as a stored value device
US10318940B2 (en) 2004-04-14 2019-06-11 Capital One Services, Llc System and method for providing personalized customer assistance using a financial card having an RFID device
US7693752B2 (en) 2004-05-26 2010-04-06 Hothand, Inc. Mobile commerce framework
US20050283662A1 (en) 2004-06-21 2005-12-22 Li Yi Q Secure data backup and recovery
US7581678B2 (en) 2005-02-22 2009-09-01 Tyfone, Inc. Electronic transaction card
US20060287004A1 (en) 2005-06-17 2006-12-21 Fuqua Walter B SIM card cash transactions
US7775430B2 (en) 2005-06-23 2010-08-17 Xerox Corporation Smart and easy shopping using portable RF transceiver-enabled devices and fixed in-store RF transceivers
US8189788B2 (en) 2005-07-15 2012-05-29 Tyfone, Inc. Hybrid symmetric/asymmetric cryptography with user authentication
US8477940B2 (en) 2005-07-15 2013-07-02 Tyfone, Inc. Symmetric cryptography with user authentication
US7805615B2 (en) 2005-07-15 2010-09-28 Tyfone, Inc. Asymmetric cryptography with user authentication
US7298271B2 (en) 2005-09-19 2007-11-20 Peter Sprogis Method and apparatus for providing awards using transponders
WO2007044500A2 (en) 2005-10-06 2007-04-19 C-Sam, Inc. Transactional services
US7469151B2 (en) 2006-09-01 2008-12-23 Vivotech, Inc. Methods, systems and computer program products for over the air (OTA) provisioning of soft cards on devices with wireless communications capabilities
US8165635B2 (en) 2006-09-01 2012-04-24 Vivotech, Inc. Methods, systems, and computer readable media for over the air (OTA) provisioning of soft cards on devices with wireless communications capabilities
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US7822206B2 (en) * 2006-10-26 2010-10-26 International Business Machines Corporation Systems and methods for management and auto-generation of encryption keys
US7991158B2 (en) 2006-12-13 2011-08-02 Tyfone, Inc. Secure messaging
US7631810B2 (en) 2006-12-19 2009-12-15 Vivotech, Inc. Systems, methods, and computer program products for supporting multiple applications and multiple instances of the same application on a wireless smart device
US20110271044A1 (en) 2007-03-30 2011-11-03 Tyfone, Inc. Memory card having one or more secure elements accessed with hidden commands
US8116678B2 (en) 2007-06-08 2012-02-14 Vivotech, Inc. Methods, systems and computer program products for interacting with ISO 14443-4 and MIFARE® applications on the same wireless smart device during a common transaction
US8209540B2 (en) 2007-06-28 2012-06-26 Apple Inc. Incremental secure backup and restore of user settings and data
US20090070691A1 (en) 2007-09-12 2009-03-12 Devicefidelity, Inc. Presenting web pages through mobile host devices
US7967215B2 (en) 2008-04-18 2011-06-28 Vivotech Inc. Systems, methods, and computer program products for supporting multiple contactless applications using different security keys
US7961101B2 (en) 2008-08-08 2011-06-14 Tyfone, Inc. Small RFID card with integrated inductive element
US8451122B2 (en) 2008-08-08 2013-05-28 Tyfone, Inc. Smartcard performance enhancement circuits and systems
US8131645B2 (en) 2008-09-30 2012-03-06 Apple Inc. System and method for processing media gifts
US8140418B1 (en) 2009-01-09 2012-03-20 Apple Inc. Cardholder-not-present authorization
US10992817B2 (en) 2009-03-18 2021-04-27 Mastercard International Incorporated Methods, systems and computer readable media for selecting and delivering electronic value certificates using a mobile device
US8396808B2 (en) 2009-07-31 2013-03-12 Think Computer Corporation Method and system for transferring an electronic payment
US20110231238A1 (en) 2010-03-22 2011-09-22 Mohammad Khan Methods, systems, and computer readable media for tracking redeemed electronic certificate and consumer data associated with a mobile device
EP2556596B1 (en) 2010-04-05 2018-05-23 Mastercard International Incorporated Systems, methods, and computer readable media for performing multiple transactions through a single near field communication (nfc) tap
EP2617219B1 (en) 2010-09-14 2019-02-20 Mastercard International Incorporated Secure near field communication of a non-secure memory element payload
US20120095877A1 (en) * 2010-10-19 2012-04-19 Apple, Inc. Application usage policy enforcement
US8799087B2 (en) 2010-10-27 2014-08-05 Mastercard International Incorporated Systems, methods, and computer readable media for utilizing one or more preferred application lists in a wireless device reader
US8646059B1 (en) * 2010-12-17 2014-02-04 Google Inc. Wallet application for interacting with a secure element application without a trusted server for authentication
US9191813B2 (en) * 2010-12-30 2015-11-17 Mozido Corfire—Korea, Ltd. System and method for managing OTA provisioning applications through use of profiles and data preparation
US20120323664A1 (en) 2011-06-16 2012-12-20 Apple Inc. Integrated coupon storage, discovery, and redemption system
CA2788051C (en) 2011-12-15 2015-11-24 Research In Motion Limited Method and device for managing a secure element
US9185089B2 (en) * 2011-12-20 2015-11-10 Apple Inc. System and method for key management for issuer security domain using global platform specifications
KR101414932B1 (ko) 2011-12-30 2014-07-04 에스케이씨앤씨 주식회사 애플릿 액세스 제어 시스템 및 방법
US10147086B2 (en) * 2012-12-19 2018-12-04 Nxp B.V. Digital wallet device for virtual wallet
US9311491B2 (en) 2013-09-30 2016-04-12 Google Inc. Systems, methods, and computer program products for securely managing data on a secure element

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030160134A1 (en) 2002-02-26 2003-08-28 Metra Electronics Corporation Mounting bracket for mounting a standardized ISO audio component within a DIN aperture
EP2003842B1 (en) 2007-06-15 2011-05-04 Research In Motion Limited A method and devices for providing secure data backup from a mobile communication device to an external computing device
US20100318812A1 (en) 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services

Also Published As

Publication number Publication date
US9608979B2 (en) 2017-03-28
US20160212117A1 (en) 2016-07-21
KR20160055280A (ko) 2016-05-17
CN105793861B (zh) 2018-11-09
EP3053081B1 (en) 2019-11-06
US9311491B2 (en) 2016-04-12
EP3053081A4 (en) 2017-03-01
CN105793861A (zh) 2016-07-20
EP3053081A1 (en) 2016-08-10
WO2015047807A1 (en) 2015-04-02
US20150096045A1 (en) 2015-04-02

Similar Documents

Publication Publication Date Title
KR101769973B1 (ko) 보안 요소 상의 데이터를 안전하게 관리하기 위한 시스템들, 방법들 및 비일시적 컴퓨터 판독가능 매체
US11601273B2 (en) Systems, methods, and computer program products for interfacing multiple service provider trusted service managers and secure elements
AU2016201188B2 (en) Systems, methods, and computer program products for securing and managing applications on secure elements
US10114976B2 (en) Systems, methods, and computer program products for interfacing multiple service provider trusted service managers and secure elements
JP5443659B2 (ja) 非接触型スマートカードのためのローカルのトラステッドサービスマネージャ

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right