KR102304778B1 - 소프트웨어 애플리케이션에서 초기에 신뢰를 설정하고 주기적으로 확인하기 위한 시스템 및 방법 - Google Patents

소프트웨어 애플리케이션에서 초기에 신뢰를 설정하고 주기적으로 확인하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102304778B1
KR102304778B1 KR1020167000419A KR20167000419A KR102304778B1 KR 102304778 B1 KR102304778 B1 KR 102304778B1 KR 1020167000419 A KR1020167000419 A KR 1020167000419A KR 20167000419 A KR20167000419 A KR 20167000419A KR 102304778 B1 KR102304778 B1 KR 102304778B1
Authority
KR
South Korea
Prior art keywords
management server
token
software application
secure element
certificate
Prior art date
Application number
KR1020167000419A
Other languages
English (en)
Other versions
KR20160042865A (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 KR20160042865A publication Critical patent/KR20160042865A/ko
Application granted granted Critical
Publication of KR102304778B1 publication Critical patent/KR102304778B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • 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/33User authentication using certificates
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/3227Aspects of commerce using mobile devices [M-devices] using secure elements embedded in 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/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • 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
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/24Accounting or billing

Abstract

신뢰 프로비저닝(trust provisioning)을 제공하기 위한 시스템 및 방법이 개시된다. 디바이스와 연관된 보안 요소에 의해 저장된 데이터를 이용할 것을 요청하는 이용 요청이 소프트웨어 애플리케이션에 의해 처리될 수 있다. 이용 요청을 처리하는 것에 응답하여, 소프트웨어 애플리케이션을 등록하기 위한 등록 요청 메시지가 관리 서버에 전달될 수 있다. 등록 요청 메시지에 응답하여 관리 서버로부터 유효성확인 코드가 수신될 수 있다. 수신된 유효성확인 코드는 제2 유효성확인 코드와 일치하는 것으로 확인될 수 있다. 성공적 확인에 후속하여, 패스코드와 보안 요소의 식별자가 관리 서버에 전달될 수 있다. 패스코드와 보안 요소 식별자의 전달에 응답하여, 소프트웨어 애플리케이션의 등록이 성공적이었는지 여부를 명시하는 확인응답이 관리 서버로부터 수신될 수 있다.

Description

소프트웨어 애플리케이션에서 초기에 신뢰를 설정하고 주기적으로 확인하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR INITIALLY ESTABLISHING AND PERIODICALLY CONFIRMING TRUST IN A SOFTWARE APPLICATION}
관련 출원에 대한 상호참조
본 출원은, 참조에 의해 그 전체가 본 명세서에 포함되는 2013년 6월 12일 출원된 미국 특허 출원번호 제13/916,307호에 대한 우선권을 주장한다.
기술 분야
본 발명은 대체로 휴대 통신 디바이스 상의 소프트웨어 애플리케이션의 보안 동작을 보장하도록 휴대 통신 디바이스를 프로비저닝(provisioning)하는 것에 관한 것으로, 더 구체적으로는 소프트웨어 애플리케이션에서 초기에 신뢰를 설정하고 주기적으로 확인하기 위한 시스템 및 방법에 관한 것이다.
RFID-기반의 근접성 카드를 이용한 무선 트랜잭션(transaction)은 꽤 일반적이다. 예를 들어, 많은 근로자들은 그들의 근무지에 액세스하기 위해 RFID 키카드를 이용하고 운전자들은 고속도로 속도에서 통행료를 지불하기 위해 RFID 패스를 이용한다. 무선-주파수 식별을 상징하는 RFID는 식별의 목적을 위한 단말기와 어떤 물체간에 데이터를 교환하기 위해 전자기파를 이용한다. 보다 최근에는, 여러 회사들은 전자 결제 제품(즉, 신용 및/또는 직불 카드)을 구현하기 위해 셀룰러 전화에 의해 지원되는 RFID의 이용을 시도해 왔다. 그러나, 기본적인 RFID 기술은 기본 기술의 수정을 촉구해 왔던 다수의 보안 문제를 제기하고 있다. 여전히, 전자 결제용 메커니즘으로서 RFID의 광범위한 채용은 느리게 진행되어 왔다.
근접장 통신(NFC; Near Field Communication)은 데이터를 교환하기 위해 전자기파를 이용하는 또 다른 기술이다. NFC 파동은 오직 단거리를 (수 인치 정도) 고주파에서 전송된다. NFC 디바이스들은 매점 디바이스들에서 결제를 하기 위해 이미 이용되고 있다. NFC는, 변조 방식, 코딩, 전송 속도, 및 RF 인터페이스를 명시하는 개방형 표준(예를 들어, ISO/IEC 18092를 참조)이다. 통신 플랫폼으로서 NFC의 광범위한 채용이 있어왔는데, 이것은 NFC가 금융 거래 및 액세스 제어에 대해 더 양호한 보안을 제공하기 때문이다. 다른 단거리 통신 프로토콜들이 알려져 있고 금융 거래 및 액세스 제어의 지원에 이용하기 위한 허용을 얻을 수도 있다.
휴대 통신 디바이스들과 연관하여 사용하기 위한 많은 애플리케이션들이 개발되어 왔다. 이들 애플리케이션들 중 일부는, 전자적 자금에 액세스하여, 인터넷을 통한 상품 구매 등의, 이들 애플리케이션을 통한 소비자의 전자적 거래의 달성을 가능케 하는 것으로부터 혜택을 입을 것이다. 전자 지갑 등의 역시 다른 애플리케이션들은 휴대 통신 디바이스의 보안 데이터 서브시스템에 액세스할 수 없다면 그 용도가 없을 것이다.
카드 발행자들은 그들의 신용/직불 카드 제품을 이용하여 애플리케이션 이용 및 전자상거래에 대해 결제하기 위한 옵션을 가능케 하는데 관심이 있다. 제3자 애플리케이션이 그들의 금융 상품에 액세스할 수 있게 하는데 대한 그들 스스로의 관심에도 불구하고, 카드 발행자들은 보안 프로토콜의 광범위한 배포에 관한 심각한 보안 우려를 가질 수도 있다. 유사하게, 제3자 개발자들은 금융 상품 서브루틴을 개발하는데 관심을 갖지 않을 수도 있다. 따라서, 이들 프로그램들의 이용과 연관된 요금 결제를 가능케 하기 위해 제3자 프로그램에 의해 액세스가능한 전자 지갑에 대한 필요성이 업계에 존재하고 있다. 애플리케이션 액세스가능한 전자 지갑은, 소비자에 의한 모바일 애플리케이션으로의 직접적 액세스를 통해 이용될 수도 있다.
따라서, 본 발명은 상기 문제점 및 본 명세서를 접하는 본 분야의 통상의 기술자가 이해할 수 있는 관련된 문제점들에 대한 하나 이상의 솔루션을 제공하는 것을 추구한다. 본 개시의 이들 및 다른 목적 및 이점들은, 본 도면, 명세서, 및 청구항들을 접하는 본 분야의 통상의 기술자에게 명백할 것이다. 모든 이러한 추가적인 시스템, 방법, 피쳐, 및 이점들은 본 설명 내에 포함되고, 본 개시의 범위 내에 있으며, 첨부된 청구항들에 의해 보호되고자 한다.
이하에서는 본 개시의 일부 양태들의 기본적인 이해를 제공하기 위하여 본 개시의 간략화된 요약을 제공한다. 이 요약은 본 개시의 광범위한 개요는 아니다. 이것은 본 개시의 핵심 또는 중요한 요소를 식별하거나 본 개시의 범위를 정하기 위한 의도가 아니다. 이하의 요약은 이하에서 제공되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 본 개시의 몇 가지 개념을 제공한다.
휴대 통신 디바이스와 연관된 보안 요소와 소프트웨어 사이의 보안 연동을 보장하도록 휴대 통신 디바이스를 신뢰 프로비저닝(trust provisioning)하기 위한 방법, 시스템, 장치, 및 컴퓨터 판독가능한 매체가 개시된다. 한 예에서, 디바이스와 연관된 보안 요소에 의해 저장된 데이터를 이용할 것을 요청하는 이용 요청(utilization request)이 소프트웨어 애플리케이션에 의해 처리될 수 있다. 이용 요청을 처리하는 것에 응답하여, 소프트웨어 애플리케이션을 등록하기 위한 등록 요청 메시지가 관리 서버에 전달될 수 있다. 등록 요청 메시지에 응답하여 관리 서버로부터 유효성확인 코드가 수신될 수 있다. 수신된 유효성확인 코드는 제2 유효성확인 코드와 일치하는 것으로 확인될 수 있다. 성공적 확인에 후속하여, 패스코드와 보안 요소의 식별자가 관리 서버에 전달될 수 있다. 패스코드와 보안 요소 식별자의 전달에 응답하여, 제1 소프트웨어 애플리케이션의 등록이 성공적이었는지 여부를 명시하는 확인응답(acknowledgement)이 관리 서버로부터 수신될 수 있다.
본 개시의 더 양호한 이해를 위해, 비제한적이고 빠짐없이 열거되지는 않은 실시예들이 이하의 도면들을 참조하여 설명된다. 도면에서, 유사한 참조 번호는 달리 명시되지 않는 한 다양한 모든 도면들에 걸쳐 유사한 부분을 참조한다.
도 1a는 엔드 유저가 자신의 디바이스를 이용한 판매점에서의 보안 결제 거래 수행의 시도를 실패한 후에 진단이 수행되기를 원하는지 여부를 묻는 엔드 유저의 휴대 통신 디바이스에 설치된 진단 에이전트를 나타낸다.
도 1b는, 시스템 관리 백엔드(system management back end)를 포함한, 엔드 유저의 스마트폰과 다양한 서브시스템들 사이의 동작적 상호접속을 나타낸다.
도 2는 본 시스템과 관련될 수 있는 휴대 통신 디바이스 내의 로직 블록들 중 일부를 나타내는 블록도이다.
도 3은 시스템 관리 백엔드 내의 로직 블록들을 나타내는 블록도이다.
도 4는 본 시스템과 관련될 수 있는 도 2의 "오픈월렛(OpenWallet)" 블록의 추가 상세사항을 나타내는 블록도이다.
도 4a, 4b, 4c, 및 4d는 스마트폰에 배치될 수 있는 예시적 지갑 사용자 인터페이스로부터의 다양한 스크린의 예시이다.
도 5는, 엔드 유저의 스마트폰, 보안 요소 관리 서버, 및 인증서 발행자 어댑터 서버 사이의 동작적 상호접속을 나타내는 블록도이다.
도 6은 제3자 앱들 중 하나가 결제 서브시스템에 저장된 보안 데이터를 보고, 선택하고 및/또는 변경하기 위한 허가의 수여에 대한 기저 시스템의 한 잠재적 구현의 블록도이다.
도 7a 내지 도 7c는 실시예에 따른 카드 서비스 모듈(CSM; card services module)과 제3자 애플리케이션의 등록을 위한 예시적 통신 흐름을 나타낸다.
도 8a 내지 도 8i는 실시예에 따른 휴대 통신 디바이스에 의해 제시된 그래픽 사용자 인터페이스를 나타낸다.
본 발명이 본 발명의 일부를 형성하고 예시를 통해 본 발명이 실시될 수 있는 구체적인 실시예들을 도시하는 첨부된 도면들을 참조하여 이하에서 더 상세히 설명될 것이다. 그러나, 본 발명은 많은 상이한 형태로 구현될 수도 있고 여기서 제시된 실시예들로 제한되는 것으로 해석되어서는 안 된다; 오히려, 이들 실시예들은, 본 개시가 철저하고 완전해지며, 통상의 기술자에게 본 발명의 범위를 충분히 전달하도록 제공되는 것이다. 특히, 본 발명은 방법 또는 디바이스로서 구현될 수 있다. 따라서, 본 발명은, 완전히 하드웨어 실시예, 완전히 소프트웨어 실시예, 또는 소프트웨어와 하드웨어 양태들을 결합한 실시예의 형태를 취할 수도 있다. 따라서, 이하의 상세한 설명은 제한적 의미로 간주되어서는 안 된다.
휴대 통신 디바이스
본 발명은, PDA, 셀룰러 전화, 스마트폰, 랩탑, 태블릿 컴퓨터, 및 셀룰러 음성 및 데이터 서비스 뿐만 아니라 소비자 다운로드가능한 애플리케이션으로의 바람직한 액세스를 포함하는 기타의 모바일 디바이스들을 포함하지만 이것으로 제한되지 않는 다양한 상이한 휴대 통신 디바이스들에서 이용될 수 있는 시스템 및 방법을 제공한다. 하나의 이러한 휴대 통신 디바이스는, iPhone, Motorola RAZR 또는 DROID일 수 있다; 그러나, 본 발명은 바람직하게는 플랫폼 및 디바이스 독립적이다. 예를 들어, 휴대 통신 디바이스 기술 플랫폼은, Microsoft Windows Mobile, Microsoft Windows Phone 7, Palm OS, RIM Blackberry OS, Apple OS, Android OS, Symbian, Java 또는 기타 임의의 기술 플랫폼일 수 있다. 본 개시의 목적을 위해, 본 발명은 대체로, 일반화된 플랫폼을 이용하는 스마트폰에 최적화된 인터페이스와 피쳐들에 따라 설명되지만, 본 분야의 통상의 기술자라면 이러한 모든 피쳐들 및 인터페이스들도 역시 기타 임의의 플랫폼 및 디바이스들에 대해 이용 및 적합화될 수 있다는 것을 이해할 것이다.
휴대 통신 디바이스는, NFC, RFID, 또는 Bluetooth 트랜시버 등의, 하나 이상의 근접성 전자기 통신 디바이스를 포함한다. 피어-투-피어 데이터 교환, 리더-라이터 모드(RFID 태그들로부터의 정보의 수확), 및 휴대 통신 디바이스 상의 보안 요소와 쌍을 이루고 "무접촉 결제 리더"(이하의 판매점 참조)의 정면에 놓일 때의 (NFC IP 1 및 ISO 14443 표준에 따른) 무접촉 카드 에뮬레이션과 같은, 표준 기능들을 제공하는 NFC IP 1 표준(http://www.nfcforum.org)을 준수하는 NFC 베이스밴드를 이용하는 것이 현재 바람직하다. 본 명세서, 도면, 및 청구항들을 접한 통상의 기술자라면 이해하는 바와 같이, NFC IP 1 표준은, 기타 임의의 근접 통신 표준과 연계하여 이용하기 위해 ―전체적으로 또는 부분적으로― 엑스포트될 수 있는, 단순히 현재로서 바람직한 예일 뿐이다. 휴대 통신 디바이스는 근접장 통신을 가능케 하는 (NFC IP 1 및 ISO 14443 표준을 따르는) NFC/RFID 안테나를 포함하는 것이 더욱 바람직하다. 그러나, 본 분야에서 이해될 수 있는 바와 같이, 잠재적 판독 문제에도 불구하고 훨씬 더 짧은 거리에서 NFC/RFID 통신이 달성될 수도 있다.
휴대 통신 디바이스는 또한 모바일 네트워크 오퍼레이터와의 무선 통신을 확립하고 관리하는 모바일 네트워크 인터페이스를 포함한다. 모바일 네트워크 인터페이스는, GSM(global system for mobile communication), 3G, 4G, CDMA(code division multiple access), TDMA(time division multiple access), UDP(user datagram protocol), TCP/IP(transmission control protocol/Internet protocol), SMS, GPRS(general packet radio service), WAP, UWB(ultra wide band), WiMax(IEEE 802.16 Worldwide Interoperability for Microwave Access), SIP/RTP, 또는 모바일 네트워크 오퍼레이터의 모바일 네트워크와 통신하는 기타의 다양한 무선 통신 프로토콜들 중 임의의 것을 포함한 그러나 이것으로 제한되지 않는, 하나 이상의 통신 프로토콜 및 기술을 이용한다. 따라서, 모바일 네트워크 인터페이스는, 트랜시버, 트랜시빙 디바이스, 또는 네트워크 인터페이스 카드(NIC)를 포함할 수 있다. 본 명세서, 도면, 및 청구항들을 접한 본 분야의 통상의 기술자라면 이해할 수 있는 바와 같이, 모바일 네트워크 인터페이스와 단거리 전자기 통신 디바이스가 트랜시버 또는 트랜시빙 디바이스를 공유할 수 있는 것도 생각해 볼 수 있다.
휴대 통신 디바이스는, 소비자가 정보를 수신할 뿐만 아니라 정보를 입력하거나 기타의 방식으로 수신된 정보에 응답하기 위한 소정 수단을 제공하는 사용자 인터페이스를 더 포함한다. (본 개시를 제한하고자 하는 의도없이) 현재 이해되는 바와 같이, 이 사용자 인터페이스는, 마이크로폰, 오디오 스피커, 햅틱 인터페이스, 그래픽 디스플레이, 및 키패드, 키보드, 포인팅 디바이스 및/또는 터치 스크린을 포함할 수 있다. 본 명세서, 도면, 및 청구항들을 접한 본 분야의 통상의 기술자라면 이해할 수 있는 바와 같이, 휴대 통신 디바이스는, 전형적으로는 디바이스의 위도, 경도 및 고도의 함수로서, 지표에 관한 그 물리적 좌표를 판정할 수 있는 위치 트랜시버를 더 포함할 수 있다. 위치 트랜시버는 바람직하게는, GPS 기술을 이용하므로, 여기서는 GPS 트랜시버라고 부를 수 있다; 그러나, 위치 트랜시버는, 추가적으로(또는 대안으로서), 지표에 관한 휴대 통신 디바이스의 물리적 위치를 판정하기 위해, 삼각측량, 보조된 GPS(AGPS), E-OTD, CI, SAI, ETA, BSS를 포함한 그러나 이것으로 제한되지 않는 다른 지리-위치파악 메커니즘들을 채용할 수 있다는 것을 이해해야 한다.
휴대 통신 디바이스는 또한 마이크로프로세서와 대용량 메모리를 포함할 것이다. 대용량 메모리는 ROM, RAM 뿐만 아니라 하나 이상의 착탈식 메모리 카드를 포함할 수 있다. 대용량 메모리는, 휴대 통신 디바이스의 동작을 제어하기 위한 기본 입력/출력 시스템("BIOS") 및 운영 체제를 포함한, 컴퓨터 판독가능한 명령어 및 데이터용의 스토리지를 제공한다. 휴대 통신 디바이스는 또한, SIM 카드 등의 전용 메모리를 포함할 수 있는, 디바이스를 식별하는 디바이스 식별 메모리를 포함할 것이다. 일반적으로 이해되는 바와 같이, SIM 카드는, 디바이스의 고유 일련 번호(ESN), 모바일 사용자의 국제 고유 번호(IMSI), 보안 인증 및 암호화 정보, 로컬 네트워크에 관련된 임시 정보, 사용자가 액세스하는 서비스 목록과 2개의 패스워드(통상의 이용을 위한 PIN과 잠금해제를 위한 PUK)를 포함한다. 본 명세서, 도면, 및 청구항들을 접한 본 분야의 통상의 기술자라면 이해할 수 있는 바와 같이, 디바이스 식별 메모리에는, 디바이스의 유형, 그 주 네트워크 유형, 홈 모바일 네트워크 오퍼레이터 등에 따라, 다른 정보가 유지될 수도 있다.
본 발명에서 각 휴대 통신 디바이스는 2개의 서브시스템을 갖는다고 여겨진다 : (1) 오늘날 셀룰러 전화의 사용자들에게 흔하게 된 통신과 기타의 데이터 애플리케이션을 가능케 하는 "무선 서브시스템", 및 (2) "결제 서브시스템"이라고도 알려진 "보안 거래 서브시스템". 이 보안 거래 서브시스템이 바람직하게, 글로벌 플랫폼 2.1.X, 2.2 또는 2.2.X(http://www.globalplatform.org)의 일부로서 설명되는 것과 (동일하지는 않더라도) 유사한, 보안 요소를 포함하는 것을 고려해 볼 수 있다. 보안 요소는 업계의 흔한 판매점에서 이용되는 결제 카드 추적 데이터를 저장하는 업계의 흔한 관행에 이용되는 전문화된 별개의 물리적 메모리로서 구현될 수 있다; 추가적으로, 보안 요소에 저장될 수 있는 다른 보안 인증서로서는, 고용 뱃지 인증서(기업 액세스 제어), 호텔 및 기타의 카드-기반의 액세스 시스템 및 통과 인증서를 포함될 수 있다.
모바일 네트워크 오퍼레이터
휴대 통신 디바이스들 각각은 적어도 하나의 모바일 네트워크 오퍼레이터에 접속된다. 모바일 네트워크 오퍼레이터는 일반적으로, 각각의 셀 타워의 연관된 셀 내의 복수의 휴대 통신 디바이스와 통신하는 복수의 셀 타워를 통해, 무선 통신 서비스, 데이터 애플리케이션 및 보안 거래 서브시스템을 지원하는 물리적 인프라스트럭쳐를 제공한다. 결국, 셀 타워는, 모바일 네트워크 오퍼레이터 자신의 논리적 네트워크 내에서 뿐만 아니라 다른 모바일 네트워크 오퍼레이터들의 것들을 포함한 외부 네트워크로 통신신호와 데이터를 운반하기 위해, 모바일 네트워크 오퍼레이터의 논리적 네트워크, POTS, 및 인터넷과 동작적으로 통신할 수 있다. 모바일 네트워크 오퍼레이터는 일반적으로, GSM(global system for mobile communication), 3G, 4G, CDMA(code division multiple access), TDMA(time division multiple access), UDP(user datagram protocol), TCP/IP(transmission control protocol/Internet protocol), SMS, GPRS(general packet radio service), WAP, UWB(ultra wide band), WiMax(IEEE 802.16 Worldwide Interoperability for Microwave Access), SIP/RTP, 또는 휴대 통신 디바이스와 통신하는 기타의 다양한 무선 통신 프로토콜들 중 임의의 것을 포함한 그러나 이것으로 제한되지 않는, 하나 이상의 통신 프로토콜 및 기술을 제공한다.
소매점 서브시스템
오늘날 판매자측의 표준은, 은행 및 판매자 서비스 제공자의 직불, 신용, 선불 및 선물 제품의 거래 처리를 허용하는 인터넷 프로토콜 접속된 결제 시스템이다. 판매점 단말기의 자기 리더기에서 자기 스트라이프 가능형 카드를 스와이핑함으로써, 카드 데이터가 판매점 장비에 전송되어 발행 은행에 의해 자금을 확정하는데 이용된다. 이러한 판매점 장비는, 자기 리더기 대신에, RF 인터페이스를 통해 결제 카드 데이터가 제공되는 것을 허용하는 부속물로서 무접촉 카드 리더기를 포함하기 시작했다. 카드로부터 및 미래에는 결제 서브시스템을 포함하는 모바일 디바이스로부터 무접촉 카드 데이터를 전송하는, PayPass 및 Paywave와 같은 전용 결제 애플리케이션과 ISO 14443 표준에 의해 RF 인터페이스를 통해 데이터가 리더기에 전송된다.
소매 판매점 디바이스(75)는 무선 또는 유선 접속을 통해 네트워크에 접속될 수 있다. 이 판매점 네트워크는, 근거리 통신망(LAN), 광역 통신망(WAN), USB 포트를 통해서 등의 직접적인 접속, 기타 형태의 컴퓨터 판독-가능한 매체 또는 이들의 조합 외에도 인터넷을 포함할 수 있다. 상이한 아키텍쳐와 프로토콜에 기초한 것들을 포함한 상호접속된 세트의 LAN들 상에서, 라우터는 LAN들간의 링크로서 작용하여, 메시지들이 한 측으로서 다른 측으로 전송될 수 있게 한다. 또한, LAN들 내의 통신 링크들은 통상적으로 꼬인 쌍선 또는 동축 케이블을 포함하는 반면, 네트워크들 사이의 통신 링크들은, 아날로그 전화선, T1, T2, T3 및 T4를 포함한 완전히 또는 부분적으로 전용의 디지털 라인, ISDN(Integrated Services Digital Network), DSL(Digital Subscriber Line), 위성 링크를 포함한 무선 링크, 또는 본 분야의 통상의 기술자에게 공지된 기타의 통신 링크를 이용할 수 있다. 또한, 원격 컴퓨터 및 기타의 관련된 전자 디바이스들은, 모뎀 및 임시 전화 링크를 통해 LAN 또는 WAN에 원격 접속될 수 있다. 본질적으로, 판매점 네트워크는, 금융 서비스 제공자를 통한 결제를 위해 유효성확인, 인가 및 궁극적으로는 판매점에서의 금융 거래의 포착을 목적으로 판매점 디바이스와 금융 서비스 제공자 사이에서 정보가 이동되는 것을 허용하는 임의의 통신 방법을 이용할 수 있다.
보안 거래 서브시스템
이 시스템은 보안 거래 서브시스템을 포함한다. 보안 거래 서브시스템은, 보안 요소, 및 관리 및 프로비저닝 시스템뿐만 아니라 보안 요소에 저장된 보안 데이터의 이용과 관리를 위한 인터페이스와 접하는 고객에게 전달하기 위한 연관된 디바이스 소프트웨어를 포함한다. 바람직하게는 보안 거래 서브시스템은, 적절한 경우, 글로벌 플랫폼 2.1.X 또는 2.2에 정의된 표준 등의 국제 표준을 따를 것이다.
시스템 관리 백엔드
시스템은 시스템 관리 백엔드를 포함한다. 도 1b에 도시된 바와 같이, 시스템 관리 백엔드(300)는, 적어도 하나의 모바일 네트워크 오퍼레이터의 인프라스트럭쳐를 통해 소매점 서브시스템, 보안 거래 서브시스템 및 복수의 휴대 통신 디바이스에 접속된다. 시스템 관리 백엔드는 하나 이상의 클라이언트 디바이스와 동작적으로 통신하는 서버를 가진다. 서버는 또한, 소매점 서브시스템, 보안 거래 서브시스템, 및 하나 이상의 휴대 통신 디바이스와 동작적으로 동작한다. 서버는 또한, 소매점 서브시스템, 보안 거래 서브시스템, 및 하나 이상의 휴대 통신 디바이스와 동작적으로 동작한다. 통신은 데이터 및 음성 채널을 포함한다. 본 발명과 연관하여, VoIP를 포함한 그러나 이것으로 제한되지 않는 임의 유형의 음성 채널이 이용될 수 있다.
서버는 동일한 컴퓨터 상의 또는 복수의 컴퓨터들 상에 분산된 근거리 통신망 또는 광역 통신망에 걸쳐 있는 시스템 백 오피스를 직렬로 또는 병렬로 운용하는데 필요한 절차와 기능들을 구현하는 하나 이상의 범용 컴퓨터를 포함하거나, 심지어 (바람직하게는 충분한 보안의 제공에 따라) "클라우드 내에" 위치할 수도 있다. 서버를 포함하는 컴퓨터(들)은, 몇 가지 열거하자면, Linux, Windows®, Windows CE, Unix, 또는 Java® 기반의 운영 체제에 의해 제어될 수 있다. 시스템 관리 백엔드 서버는 프로그램 코드 및 데이터를 저장하는 대용량 메모리와 동작적으로 연관된다. 데이터는, 지식 베이스, 사용자 식별자(ESN, IMSI, PIN, 전화 번호, 전자메일/IM 주소, 결제 정보 등)를 유지 및 저장하도록 구성될 수 있는, 하나 이상의 데이터베이스, 텍스트, 스프레드쉬트, 폴더, 파일 등을 포함할 수 있다.
시스템 관리 백엔드 서버는 고객 케어 센터 내의 클라이언트 컴퓨터들에 걸쳐 콜 트래픽 접속 및 분배를 제공하는 케이스 관리 시스템(case management system)을 지원한다. VoIP 음성 채널 접속을 이용한 바람직한 접근법에서, 케이 관리 시스템은 Redwood Shores, Calif.의 Oracle Corp.에 의해 배포된 컨택트/케이스 관리 시스템이다. Redwood City, Calif.의 Contactual, Inc.에 의해 이용가능한 것들과 같은, 다른 컨택트/케이스 관리 시스템이 이용될 수도 있다. Oracle 케이스 관리 시스템은, 동시 결제에서의 케어 문제와 셀룰러-기반의 케어 사안의 처리에 융통성을 제공하는 VoIP-기반의 고객 케어 콜 센터를 위한 표준 CRM 시스템이다. 본 명세서, 도면, 및 청구항들을 접한 본 분야의 통상의 기술자라면 이해할 수 있는 바와 같이, 본 발명 내에서 Salesforce(San Francisco, Calif.의 Salesforce.com, Inc.) 및 Novo(Virginia Beach, Va.의 Novo Solutions, Inc.) 등의 다른 케이스 관리 시스템이 이용될 수도 있다.
시스템 관리 백엔드 서버와 연관된 각각의 클라이언트 컴퓨터는 바람직하게는, 네트워크 인터페이스 디바이스, 그래픽 사용자 인터페이스, 및 VoIP 등의 클라이언트 케어 센터 서버에 의해 지원되는 음성 채널(들)과 일치하는 음성 통신 능력을 가진다. 각각의 클라이언트 컴퓨터는, 휴대 통신 디바이스의 셀룰러 및 보안 거래 서브시스템들 양쪽 모두의 상태를 요청할 수 있다. 이 상태는, 휴대 통신 디바이스의 소프트 메모리 및 코어 성능의 내용, NFC 컴포넌트들: 베이스밴드, NFC 안테나, 보안 요소 상태 및 식별을 포함할 수 있다.
연합된 결제 서브시스템
도 2에 도시된 바와 같이, 각각의 휴대 통신 디바이스(50)는, (예를 들어, 고객에 의해 선택된) 하나 이상의 제3자 애플리케이션(200), (이하에서는 "오픈월렛"이라고 하는) "개방 아키텍쳐" 전자 지갑(100), 결제 라이브러리(110), 보안 요소(120), NFC 베이스밴드, 결제 서브시스템(150)(즉, 보안 데이터 스토어(115) 및 보안 요소(120)), 및 진단 에이전트(170)를 포함할 수 있다. 오픈월렛(100)은, 고객이 디바이스(50)에 (바람직하게는 결제 서브시스템(150)에) 저장된 모든 인증서(예를 들어, 카드, 쿠폰, 액세스 제어 및 티켓 데이터)를 보는 것을 허용하는 컴퓨터 애플리케이션이라 간주될 수 있다. 오픈월렛(100)은 또한 바람직하게는 휴대 통신 디바이스의 결제 서브시스템(150)에 저장된 모든 인증서의 발행자들을 추적하고 제3자 애플리케이션이 결제 서브시스템에 저장된 인증서들을 보고, 선택하고 및/또는 변경하는 허가를 가져야하는지 여부를 애플리케이션별 기반으로 판정할 것이다. 이런 방식으로, 오픈월렛(100)은 또한, 무허가 애플리케이션들이, 현재는 액세스 허가를 갖지 않는, 결제 서브시스템(150)에 저장된 데이터에 액세스하는 것을 방지한다.
결제 라이브러리(110)는 바람직하게는, 오픈월렛(100)에 의해, 보안 요소(120)를 관리(및 이에 관한 하우스키핑 작업을 수행), 시스템 관리 백엔드와 인터페이싱, 및 디바이스(50) 상의 데이터 통신 트랜시버(그 SMS 채널 포함)를 통한 OTA(over-the-air) 프로비저닝(provisioning)을 수행하기 위해 이용된다. OTA 데이터 통신이 소정 방식으로 암호화되고 암호화 키는 카드 서비스 모듈(420)에 배치되는 것을 고려해 볼 수 있다. 결제 서브시스템(150)은, 결제 카드, 쿠폰, 액세스 제어 및 티켓 데이터(예를 들어, 운송, 콘서트) 등의 인증서를 저장하는데 이용될 수 있다. 이들 결제 유형들 중 일부는 이들 애플리케이션들에 의한 이용을 위해 상이한 애플리케이션(200)에 의해 결제 서브시스템에 추가될 수 있다. 이런 방식으로, 다른 제3자 애플리케이션(미도시)이 결제 서브시스템(150)에 액세스하는 것이 배제될 수 있다.
보안 데이터 스토어(115)는 휴대 통신 디바이스(50) 상에 보안 스토리지를 제공한다. 보안 데이터 스토어(115) 내의 저장을 위한 데이터의 성질에 따라 다양한 보안 레벨이 제공될 수 있다. 예를 들어, 보안 데이터 스토어(115)는 디바이스(50)의 운영 체제 레벨에서 단순히 패스워드-보호될 수도 있다. 이들 운영 체제에서 공지된 바와 같이, 패스워드는 디바이스(50) 상의 어딘가에 저장되는 간단한 영숫자 또는 16진 코드일 수 있다. 대안으로서, 보안 데이터 스토어(115) 내의 데이터는 바람직하게는 암호화된다. 그러나, 더 가능성 높게는, 보안 데이터 스토어(115)는, 참조에 의해 그 전체가 본 명세서에 포함되는, 2011년 10월 21일 출원된 발명의 명칭이 "System and Method for Providing A Virtual Secure Element on a Portable Communication Device"인 (본 출원의 양수인이 소유하는) 동시-계류중인 미국 특허 출원 제13/279,147호에 개시된 방식으로 가상 보안 요소로서 셋업될 것이다.
오픈월렛(100)은 바람직하게는, 결제 서브시스템(150)과 연관된 하나 또는 복수의 소스 또는 발행자로부터, 카드, 쿠폰, 티켓, 액세스 제어 데이터와 같은 인증서의 저장, 유지관리 및 이용에 수반된 복잡성을 제거한다. 오픈월렛(100)은 또한 바람직하게는, 결제 서브시스템(150)에 저장된 데이터에 대한 액세스 제어와 각각의 애플리케이션에 의해 허용된 기능을 시행한다. 한 접근법에서, 오픈월렛(100)은 휴대 통신 디바이스(50)에 저장된 각각의 제3자 애플리케이션의 저자/발행자를 확인한다. 이 확인은 허용된(즉, 신뢰받는) 애플리케이션의 국지적 인가 데이터베이스에 액세스함으로써 달성될 수 있다(도 6 참조). 이 접근법 하에서, 알려진 발행자 ID 및 정확히 연관된 컴파일 ID로 서명된 애플리케이션만이 결제 서브시스템(150) 및/또는 (특히, 카드 이미지 데이터 및 임의의 엠보싱된 카드 데이터를 저장하는) 메타 데이터 저장소(125)에 저장된 데이터에 액세스 및/또는 조작하는 것이 카드 서비스 모듈(420)에 의해 허용된다.
즉, 애플리케이션(200) 또는 지갑 사용자 인터페이스(410)가 결제 서브시스템(150)과 상호작용할 필요가 있을 때, (그 발행자 ID 또는 앱 ID 등의) 디지털 식별자, 디지털 토큰(즉, 컴파일 ID 또는 비밀 토큰 ID), 원하는 동작, 및 동작에 필요한 임의의 연관된 인자들을 카드 서비스 모듈(420)에 전달함으로써 이렇게 할 수 있다. 카드 서비스 모듈(420)은, 디지털 식별자-디지털 토큰 쌍이 보안 데이터 테이블(도 6) 내의 신뢰받는 애플리케이션 데이터와 일치하는지를 확인한 다음, 원하는 동작을 실행하는데 필요한 하나 이상의 명령을 발행할 것이다. 애플리케이션(200) 또는 지갑 사용자 인터페이스(410)에 의해 이용될 수 있는 잠재적 동작들 중에는 하기와 연관된 것들이 있다:
a. 지갑 관리(예를 들어, 지갑 패스코드의 설정, 리셋 또는 인에이블; OTA 서버의 URL 취득; 오버-디-에어 레지스트리 프로비저닝; 결제 타이밍 설정; 결제 타이밍 증가; 디폴트 카드 설정; 발행자 열거, 지원되는 인증서 열거; 인증서 표시 순서 설정; 인증서 저장 우선순위 설정; 카테고리/폴더 생성; 인증서와 카테고리의 연관; 인증서의 저장을 위한 보안 요소(SE) 판정; 오퍼(Offer) 취득; 지갑 상태 업데이트);
b. 인증서 관리(예를 들어, 인증서 추가; 인증서 상세사항 보기; 인증서 삭제; (상환/결제를 위한) 인증서 활성화; 인증서 비활성화; 인증서 검색; 인증서 능력 열거; 디폴트 인증서 설정; 인증서 잠금/잠금해제; 패스코드 액세스 요구; 인증서 이미지 취득; 액세스 패스코드 설정);
c. 보안 요소(SE) 관리(예를 들어, 발행자를 위한 보안 영역 생성; 키 회전; 애플리케이션 로딩; 애플리케이션 업데이트; 지갑 잠금/잠금해제; SE 잠금/잠금해제);
d. 개인맞춤화(예를 들어, 인증서 추가; 인증서 삭제; 인증서 보류/보류해제; 발행자 메타데이터 업데이트에 대한 통보; 카드 메타데이터 업데이트에 대한 통보).
도 4는 도 2의 "오픈월렛" 블록의 추가 상세사항을 나타낸다. 도시된 바와 같이, "오픈월렛"(100)의 기능은 카드 서비스에 밀착 결합된 사용자 인터페이스를 제공하는 단일의 전용 모듈로 통합될 수 있다. 도 4에 나타낸 또 다른 실시예에서, 오픈월렛(100)의 능력 및 기능은 지갑 사용자 인터페이스(410)와 카드 서비스 모듈(420)간에 분배될 수 있다. 분배형 접근법은 애플리케이션이 지갑 사용자 인터페이스(410)에 의해 제공되는 사용자 인터페이스를 이용할 필요없이 카드 서비스 모듈(420)에 직접 액세스하는 것을 허용한다. 카드 서비스 모듈(420)은, 휴대 통신 디바이스(50)의 결제 서브시스템(150)에 저장된 모든 카드, 쿠폰, 액세스 및 티켓 데이터의 발행자를 추적하고 애플리케이션이 결제 서브시스템에 저장된 보안 데이터를 보고, 선택하고, 및/또는 변경하기 위한 허가를 가져야 하는지 여부를 애플리케이션별 기초로 판정하도록 구성될 수 있다. 지갑 사용자 인터페이스(410)는, 사용자가 사용자의 인증서에 관련된 카드 서비스 모듈(420)과 연관되어 보안 저장된 정보를 등록, 프로비저닝, 액세스 및/또는 이용할 수 있는 사용자 인터페이스를 제공한다.
지갑 사용자 인터페이스(410)는 카드 서비스 모듈(420)로부터 분리되기 때문에, 사용자는 카드 서비스 모듈(420) 내의 정보를 관리하기 위해 제3자 애플리케이션(200)들 중 하나를 이용할 것을 선택할 수 있다. 역시 도 4에 도시된 바와 같이, (인증서 로고(예를 들어, Amtrak®, MasterCard®, TicketMaster®, 및 Visa®) 및 제휴 이미지(예를 들어, AA Advantage® 및 United Mileage Plus®) 등의) 메타데이터는, 더욱 친숙한 사용자 경험을 렌더링하는데 있어서 제3자 앱(200) 또는 지갑 사용자 인터페이스(410)에 의한 이용을 위해 메모리(125)에 저장될 수 있다. 이 메타데이터는 애플리케이션들간에 공유될 수 있기 때문에, 보안 거래를 구현하는데 필요한 스토리지는 최소화될 수 있다.
스마트폰에 배치될 수 있는 한 예시적 지갑 사용자 인터페이스(410)의 다양한 스크린 샷이 도 4a, 4b, 4c, 및 4d에 도시되어 있다. 특히 이들 도면들은 카드 서비스 모듈(420)과 연관되어 보안 저장되는 정보를 등록, 프로비저닝, 액세스, 및/또는 이용하는 기능을 나타낸다. 도 4a는 지갑이 카드, 쿠폰, 티켓 등의 다양한 인증서를 보유할 수 있다는 것을 도시하고 있다. 도 4a는 복수의 카드가 지갑(100)에 저장될 수 있다는 것을 도시하고 있다. 도 4d에 도시된 바와 같이, 도 4a에 나타낸 스크린으로부터 Visa® 카드를 선택하면, 지갑 사용자 인터페이스는 사용자가 보안 NFC 결제 거래를 개시하기 위한 인터페이스를 제공하는 또 다른 스크린을 연다. 역시 도시된 바와 같이, 사용자 인터페이스는 잔고와 가용 신용 정보를 보여줄 수 있다.
인증서 프로비저닝
도 5는 시스템에서 인증서를 프로비저닝하는데 이용될 수 있는 한 예시적 시스템 아키텍쳐를 나타낸다. 도시된 바와 같이, 사용자의 휴대 통신 디바이스(50)는 보안 요소 관리 서버 및 인증서 발행자 어댑터 서버와 통신하도록 구성된다. (다르게는 카드 애플리케이션 관리 시스템이라고 알려진) 보안 요소 관리 서버는 사용자의 인증서를 유효성확인하도록 구성된다. 예를 들어, 사용자가 신용 카드에 관련된 정보를 디바이스(50)의 보안 요소(120)에 저장하기를 원한다면, 사용자는 디바이스(50)에 디스플레이된 사용자 인터페이스를 통해 자신의 신용 카드 정보를 입력할 것이다.
이 사용자 인터페이스는 지갑 사용자 인터페이스(410) 또는 오픈월렛(100)에 의해 지원되는 신뢰받는 제3자 애플리케이션(200)에 의해 생성될 수 있다. 예로서, 도 4a 및 도 4b는, 스마트폰에 배치될 수 있는 한 예시적 지갑 사용자 인터페이스(410)를 이용한 지갑 내로의 "결제 카드"의 프로비저닝을 나타낸다. 어느 사용자 인터페이스 하에서든, 카드 서비스 모듈(420)은 바람직하게는 식별된 신용 카드의 처음 6자릿수(보통 은행 식별 변호(Bank Identification Number) 또는 BIN이라고 함)를 보안 요소 관리 서버에 전송하고, 그러면, 보안 요소 관리 서버는 카드 발행자의 준수 규칙을 유효성확인하고 사용자 모바일 디바이스(50) 상의 오픈월렛(100)(또는 카드 서비스 모듈(420))과 적절한 인증서 발행자 어댑터 서버 간에 본 분야에 공지된 암호화된 방식으로 직접 키 교환을 가능케 한다.
Gemalto N.V. (Amsterdam, The Netherlands), Giesecke & Devrient (Munich, Germany), SK C&C (Korea) (Corefire), 또는 Santa Clara, Calif.의 VIVOtech Inc.(ViVoTech 인증서 발행자 어댑터 서버)을 포함한 그러나 이것으로 제한되지 않는 엔티티들에 의해 제공되는 다양한 오프-더-쉐프 솔루션(off-the-shelf solution)에 의해 직접 키 교환에 대한 다양한 접근법들이 가능하게 될 수 있다. 인증서 발행자 어댑터 서버는 사용자를 인증하고, 발행자 규칙을 실행한 다음 개인맞춤화 프로세스를 개시한다. 인증서 발행자 어댑터 서버는 바람직하게는 사용자가 프로비저닝하고자 하는 인증서의 발행자에 의해 운영되는 서버이다. 인증서 발행자 어댑터 서버는, 예를 들어, 발행자에게 이전에 제공된 사용자 정보에 기초하여 일련의 확인 질문을 제공함으로써 사용자를 확인할 수 있다(도 4b 참조). 일단 확인되고 나면, 인증서 발행자 어댑터 서버는 전체의 16 자릿수 신용 카드 번호를 카드 서비스 모듈(420)을 통해 보안 요소(120)에 전달한다. 인증서 발행자 어댑터 서버는 또한, 선택된 신용 카드의 외관 및 디자인에 관련된 정보 등의 메타데이터를 애플리케이션 메모리(125)에 전달할 수 있다. 완료시, 인증서 발행자 어댑터는 보안 요소 관리 서버에게 트랜잭션의 완료를 통보할 것이다. 도 4c에 도시된 바와 같이, 프로비저닝 이후에, 지갑 사용자 인터페이스(410)는, 스마트폰 사용자 인터페이스 분야에 공지되어 있는 사용자 인터페이스 기술을 이용하여 사용자가 선택할 수 있는 결제 카드를 포함할 것이다.
제3자 애플리케이션의 유효성확인
앞서 언급된 바와 같이, 오픈월렛(100)은, 애플리케이션이 휴대 통신 디바이스(50) 상의 보안 요소(120)(또는 보안 데이터 스토어(115) 및 더욱 바람직하게는 메타 데이터 보관소(125))에 액세스하여 결제 서브시스템(150)에 저장된 보안 데이터를 보고, 선택하고, 및/또는 변경하는 것이 허용되기 이전에, 그 제3자 애플리케이션(200)의 신뢰받는 상태를 확인한다. 앞서 언급된 한 접근법에서, 이 확인은 허용된 또는 신뢰받는 애플리케이션의 로컬 인가 데이터베이스에 액세스함으로써 달성될 수 있다. 바람직한 접근법에서, 로컬 인가 데이터베이스는 시스템 관리 백엔드(300)와 연관된 하나 이상의 서버와 연관된 원격 인가 데이터베이스와 협력한다.
도 6은 카드 서비스 모듈(420), 보안 요소(120), 및 결제 서브시스템(150)의 보안을 향상시키기 위한 로컬 및 원격 인가 데이터베이스의 한 잠재적 조합의 한 잠재적 구현의 블록도이다. 도 6에 도시된 바와 같이, 사용자 A/C 레지스트리(또는 사용자 계정 레지스트리)는 서버와 연관(또는 클라우드에 배치)될 수 있다. 사용자 A/C 레지스트리는 각 사용자의 휴대 디바이스(50)에 배치된 보안 요소(120)의 식별을 저장할 수 있다. 사용자 계정 레지스트리 내의 엔트리들은 프로세스의 임의의 지점에서 각 사용자에 대해 추가될 수 있다.
"발행자 레지스트리" 데이터베이스는 승인된 발행자들의 데이터베이스이다. 발행자 ID는 각 유형의 인증서에 대해 고유하다. 즉, 은행이 복수 유형의 인증서(예를 들어, 직불 카드, 신용 카드, 제휴 카드 등)를 가진다면, 각각의 인증서 유형은 그 자신의 발행자 ID(예를 들어, I-BofA-II)를 가질 것이다. 바람직한 접근법에서, 복수 유형의 인증서들 사이에서의 발행자 ID는, 인증서가 적어도 관련되어 있다는 것이 표시되도록, 어떤 공통 요소를 가질 것이다(예를 들어, I-BofA-I). 이런 방식으로 동일한 발행자로부터의 애플리케이션들은 동일한 "확장된" 발행자의 다른 애플리케이션과 데이터를 공유할 수 있다. 바람직한 접근법에서, 카드 서비스 모듈(420)은, ("시스템에 선적되는") 지갑 사용자 인터페이스(410)조차 발행자 ID(뿐만 아니라 애플리케이션 ID와 컴파일 토큰)를 가질 것을 요구함으로써 간소화될 수 있다.
"애플리케이션 레지스트리"는 운영 체제 제공자에 의해 미리-승인된 (대개 제3자) 애플리케이션들의 데이터베이스이다. 사용자 A/C 레지스트리처럼, "애플리케이션 레지스트리" 및 "발행자 레지스트리" 데이터베이스는 개방발행(OpenIssuance)과 동작적으로 연관되어 서버측에(또는 클라우드에) 유지된다(도 3 참조). 본 명세서를 접한 본 분야의 통상의 기술자라면 이해하는 바와 같이, 다양한 레지스트리들이 별개의 데이터베이스에 또는 하나의 통합된 데이터베이스에 구현될 수 있다. 지갑(100)의 시작시에 및 바람직하게는 그 후 실질적으로 규칙적인 시간-간격으로(예를 들어, 매일), 개방 발행(도 3 참조)의 애플리케이션 레지스트리에 저장된 데이터는 국지적으로 저장되는 지갑과 함께 디바이스들에게 배포된다.
도 6에 도시된 바와 같이, 애플리케이션 레지스트리는, 특히, 애플리케이션 ID("앱 ID"), 발행자 ID, 및 컴파일 ID 또는 토큰을 포함할 수 있다. 컴파일 ID는, 특정한 애플리케이션(200)에 대한 자격부여 프로세스 동안에 개방 발행(도 3)과 연관된 하나 이상의 프로세스에 의해 각 애플리케이션에 대해 생성된 전역 상수이다. 고유한 디바이스(50) 상의 특정한 카드 서비스 모듈(420)에 의해 생성된 후에, 컴파일 토큰은 애플리케이션에 포함되거나 기타의 방식으로 애플리케이션과 연관된다. 이 컴파일 토큰은 바람직하게는, 애플리케이션 ID, 컴파일 ID, 발행자 ID, 또는 이들의 소정 조합 등의, 미리결정된 씨드(seed)를 이용하는 디바이스에 국지적인 의사-난수 생성기에 의해 생성된다.
사용자가 디바이스(50) 상의 카드 서비스 모듈(420)로 제3자 애플리케이션을 자격부여하려고 할 때, 제3자 애플리케이션과 연관된 컴파일 ID(디지털 토큰) 및 애플리케이션 ID(디지털 식별자)가 디바이스(50)에 저장된 카드 서비스 레지스트리에 저장된 컴파일 ID 및 애플리케이션 ID쌍과 대조될 수 있다(도 6 참조). 본 명세서를 접한 본 분야의 통상의 기술자라면 이해하는 바와 같이, 동일한 컴파일 및 애플리케이션 ID 쌍이 역시, 시스템과 연관된 다른 디바이스(50)에 전송된다(또는 일부 경우에는 다른 디바이스(50) 내에 미리-저장된다). 컴파일 ID/애플리케이션 ID 쌍이 디바이스 상의 카드 서비스 레지스트리에 저장된 쌍 중 하나와 일치한다면, (보안 요소(120)와 연관된 것 등의) 비밀 토큰 ID가 바람직하게는 디바이스(50)에 생성된 다음, 디바이스(50)의 카드 서비스 레지스트리 내의 컴파일 ID/애플리케이션 ID 쌍과 연관되어 저장된다. 일부 경우에, 컴파일 ID는 난수 생성기를 씨딩(seed)하기 위해 미리선택되어 이용될 수도 있다. 대신에 카드 서비스 레지스트리와 연관된 다른 하나 이상의 미리결정된 데이터가 씨드로서 미리선택될 수 있다는 것을 이해해야 한다. 카드 서비스 레지스트리는 바람직하게는 (보안 요소(120)가 제한된 면적을 갖기 때문에 보안 요소(120)가 아니라) 보안 메모리에 저장되고 카드 서비스 레지스트리는 바람직하게는 표준 암호화 기술을 이용하여 더 암호화된다. 비밀 토큰 ID는 또한, 애플리케이션과 함께 배포된 컴파일 ID 대신에, 디바이스(50) 상의 애플리케이션(200)에 임베딩되거나 기타의 방식으로 연관된다.
제3자 애플리케이션이 카드 서비스 레지스트리 내에 로딩된(및 비밀 토큰이 애플리케이션에 임베딩된) 후에, 제3자 애플리케이션은 론칭되어 지금 유효성확인된(또는 신뢰받는) 애플리케이션에 대해 필요한(또는 애플리케이션에서 이용하기에 바람직한) 발행자-특유의 인증서(들)에 대한 액세스를 제공할 것을 사전동의할 것을 사용자에게 촉구할 수 있다. 제3자 신뢰받는 애플리케이션의 각각의 후속된 론칭에서, 임베딩된 비밀 토큰 및/또는 애플리케이션 ID가 디바이스 상의 카드 서비스 레지스트리 내의 데이터와 비교된다. 일치가 있다면, 그 애플리케이션은 신뢰받고 카드 서비스 모듈(420)을 통해 결제 서브시스템(150)에 액세스할 수 있다. 이런 방식으로, 임의의 애플리케이션(200) 또는 지갑 사용자 인터페이스(410)와 연관된 비밀 토큰 및/또는 애플리케이션 ID는 카드 서비스 레지스트리로부터 역시 제거될 수도 있고 그에 따라 결제 서브시스템 및 아마도 애플리케이션에 액세스하는 것이 완전히 디스에이블될 수 있다는 것을 알 수 있다. 유사하게, 임의의 애플리케이션(200) 또는 지갑 사용자 인터페이스(410)가 비밀 토큰에 의해 조작되고 및/또는 애플리케이션 ID가 무효화될 것이다. 발행자 레지스트리, 카드 서비스 레지스트리, 애플리케이션 레지스트리, 사용자 A/C 레지스트리, 및 이하에서 설명되는 것과 같은 허가 테이블이, 예를 들어, 입력으로서 하나 이상의 파라미터(예를 들어, 보안 요소 ID, 패스코드 등)로부터 생성된 해시인 키 값을 갖는 보안 알고리즘(예를 들어, AES(advance encryption standard) 알고리즘, SHA(secure hash algorithm) 알고리즘, MD 5(message digest 5) 알고리즘 등)을 이용하여 암호화된 테이블에 의해 보호될 수 있다. 악성 애플리케이션(rogue application)이 카드 서비스 레지스트리를 조작한다면, 예를 들어, 카드 서비스 모듈(420)은 변경을 검출하고 허가 테이블을 보안 요소 관리 서버로부터 회수된 것으로 대체할 것이다.
카드 서비스 모듈(420)은 또한 바람직하게는, 각각의 애플리케이션(200)에 대해 허용된 적절한 수준의 서브시스템 액세스를 판정하기 위해 신뢰받는 애플리케이션 확인 단계를 이용한다. 예를 들어, 한 실시예에서, 한 애플리케이션(200a)은 결제 서브시스템(150)에 포함된 모든 데이터를 액세스하여 디스플레이하는 것이 인가될 수 있고, 또 다른 제3자 애플리케이션(200x)은 결제 서브시스템(150)에 포함된 데이터의 서브셋을 액세스하여 디스플레이하는 것만이 인가될 수 있다. 역시 또 다른 실시예에서, 애플리케이션은 오픈월렛(100)에 결제 또는 거래 요청을 전송하는 것만이 허용될 수 있지만, 결제 서브시스템(150)에 포함된 어떠한 데이터에도 액세스하는 것이 허용되지 않을 수도 있다. 한 접근법에서, 애플리케이션에 대한 허가의 할당은 다음과 같이 간주될 수 있다:
Figure 112016001791795-pct00001
이들 허가는 최상위 숫자에서 최하위 숫자까지 도시된 순서의 4 16진 숫자를 형성하는데 이용될 수 있다. 도 6의 예시적 카드 서비스 레지스트리에 도시된 바와 같이, I-BofA-II 발행자는 허용 수준 11111을 가지고, 이것은 0001 0001 0001 0001 0001까지 확장되는 것으로 생각될 수 있다. 즉, I-BofA-II 애플리케이션은, 모든 인증서는 커녕, 그 자신의 인증서로서 확장된 발행자 인증서가 아닌 인증서를 판독, 기입, 삭제, 활성화/비활성화, 및 다운로드할 수 있다. BofA가 또 다른 발행자 코드(예를 들어, I-BofA-I)를 가졌다면, 이것은 확장된 발행자 애플리케이션일 것이다. 따라서, 발행자 ID "I-BofA-II"와 연관된 애플리케이션의 허용 수준이 0010 0001 0001 0010 0001 (또는 16진 21121)로 설정되었다면, 애플리케이션은 양쪽 발행자 ID들 모두와 연관된 인증서를 판독 및 활성화/비활성화할 수 있을 것이다. 역시 또 다른 예에서, 지갑 사용자 인터페이스(410)에는 44444(즉, 0100 0100 0100 0100 0100)의 허용 수준이 주어질 수 있다. 즉, 지갑 사용자 인터페이스(410)는, 모든 인증서를 판독, 기입, 삭제, 활성화/비활성화, 및 다운로드할 수 있다. 본 분야의 통상의 기술자라면 이해하는 바와 같이, 이들은 애플리케이션들에 부여될 수 있는 잠재적 허가의 예일 뿐이고, 다른 허가도 생각해 볼 수 있다. 예를 들어, 일부 애플리케이션은 확장된 발행자 인증서를 판독할 수 있는 능력을 가질 수 있지만, 애플리케이션 자신의 인증서만을 기입, 삭제, 활성화 및 다운로드할 수 있다(예를 들어, 0010 0001 0001 0001 0001로 확장되는 21111). 역시 또 다른 예에서, 애플리케이션은 활성화/비활성화 및 다운로드 권한만 주어질 수 있다(예를 들어, 16진 0000 0000 0000 0001 0001 또는 00011). 역시 또 다른 예에서, 애플리케이션은 모든 권한을 제로로 설정함으로써 ―신뢰받는 애플리케이션 데이터베이스 또는 카드 서비스 레지스트리로부터 삭제되지 않고― 디스에이블될 수 있다.
신뢰 프로비저닝(Trust Provisioning)
소정 간격으로, CSM(420)의 신뢰성이 확인될 필요가 있을 수 있다. CSM(420)은, 예를 들어, 비-일시적 컴퓨터 판독가능한 매체(예를 들어, 메모리, RAM, ROM 등)에 저장된 소프트웨어 프로그램 또는 기타의 컴퓨터 판독가능한 명령어일 수 있다. 명령어들은, 디바이스(50)의 적어도 하나의 프로세서에 의해 실행될 때, 디바이스(50)로 하여금 여기서 설명된 동작들을 수행하게 할 수 있다. 신뢰성은, 예를 들어, CSM(420)이 처음으로 휴대 디바이스(50)에 의해 이용될 때, CSM(420)의 소프트웨어가 업데이트될 때, CSM(420)의 신뢰성의 마지막 확인 이후 미리결정된 시간량이 경과했을 때, 디바이스(50)에 새로이 로딩된 제3자 애플리케이션(200x)이 보안 요소(120)에서 저장된 데이터를 이용하려고 시도할 때, 또는 제3자 애플리케이션이 보안 요소(120)에 저장된 데이터를 이용하려고 시도하는 때, 확인될 수 있다. 신뢰 프로비저닝은 또한, 악성 CSM 또는 애플리케이션이 보안 요소(120)에 저장된 기밀 데이터에 대한 액세스를 얻지 못하게 하는데 이용될 수 있다. 이하에서, 악성 CSM이 논의되지만, 동일한 보안 문제가 악성 애플리케이션에도 적용된다. 악성 CSM은, 온라인 시장으로부터 다운로드되는 것을 포함한, 임의 개수의 장소들로부터 얻어질 수 있다. 해커(hacker)는 또한, CSM(420)을 흉내내는 악성 CSM을 설계할 수 있다. 실시예들은, 이하에서 더 상세히 설명되는 바와 같이, 이러한 공격을 방지할 수 있다.
실시예에 따르면, CSM(420) 및 하나 이상의 제3자 애플리케이션 각각은 보안 요소(120)에 의해 저장된 데이터를 이용하기에 앞서 자신의 신뢰성을 설정하기 위해 등록 프로세스를 거칠 수 있다. 데이터를 이용하는 것은, 데이터를 판독하는 것, 새로운 데이터를 기입하는 것, 또는 보안 요소(120)에 의해 저장되거나 보안 거래 서브시스템과 기타의 방식으로 연관된 데이터를 기타의 방식으로 조작하는 것 중 하나 이상을 포함할 수 있다.
신뢰를 설정하기 위해, CSM(420)은 백엔드 관리 시스템(300)의 서버(예를 들어, 도 7b-7c에 도시된 "관리 서버(780)")에 등록을 시도할 수 있다. 예에서, 관리 서버(780)는 적어도 하나의 프로세서와 컴퓨터 판독가능한 명령어를 저장하는 적어도 하나의 메모리(또는 비-일시적 컴퓨터 판독가능한 매체)를 포함할 수 있다. 명령어는, 실행될 때, 관리 서버(780)로 하여금 여기서 설명된 기능을 수행하게 할 수 있다. CSM(420)의 관리 서버(780)에의 등록이 성공적이면, CSM(420)은 관리 서버(780)를 통해 하나 이상의 제3자 애플리케이션의 등록을 시도할 수 있다. 일단 제3자 애플리케이션이 CSM(420)에 의해 성공적으로 등록되고 나면, CSM은 그 제3자 애플리케이션이 전술된 보안 거래 서브시스템과 연관된 데이터를 이용하는 것을 허용할 수 있다.
도 7a 내지 도 7c는 실시예에 따른 CSM(420)의 등록과 후속된 하나 이상의 제3자 애플리케이션의 등록을 위한 예시적 통신 흐름을 나타낸다. 도 7a와 연관하여, 도 8a 내지 도 8i는 등록 동안 및 등록에 후속하여 디바이스(50)에 의해 사용자에게 제시되는 그래픽 사용자 인터페이스를 나타낸다. 요소(702)에서, 사용자는 자신의 휴대 통신 디바이스(50)가 제3자 애플리케이션(200x)을 론칭하게 할 수 있다. 일부 예에서, 제3자 애플리케이션은, 요소(704)에서, 디바이스(50)가 사용자에게 환영 스크린(welcome screen)을 제시하게 할 수 있다. 도 8a는 필드(802)의 환영 메시지와 필드(804)의 등록 명령어를 포함하는 제3자 지갑 애플리케이션의 등록 동안에 제시될 수 있는 예시적 환영 스크린을 나타낸다. 다른 예에서, CSM(420)은, 제3자 애플리케이션 대신에, 환영 스크린을 제시할 수 있다. 본 도면, 명세서, 및 청구항들을 접하는 본 분야의 통상의 기술자라면 이해하는 바와 같이, 도 8a 내지 도 8i에 제시된 특정한 언어는 본 발명의 동작을 위해 의도된 기능을 달성하는데 이용될 수 있는 기능 및/또는 언어의 유형의 한 예를 제공하고 있을 뿐이다.
요소(706)에서, 제3자 애플리케이션은 CSM(420)에의 등록 프로세스를 개시할 수 있다. 예를 들어, 제3자 애플리케이션은 등록을 개시하기 위해 이용 요청을 CSM(420)에 전달할 수 있다. (이 점에서, 제3자 애플리케이션은 CSM 서비스를 이용하기를 추구하는 애플리케이션일 필요는 없다. 사실상, 이 제3자 애플리케이션은 휴대 통신 디바이스의 운영 체제(또는 심지어 펌웨어)의 모듈일 수 있다. CSM이, 그 자신을, 어떤 미리결정된 이벤트 또는 시간에서 론칭하여 초기 신뢰 프로비저닝을 달성하는 것도 가능하다). 요소(708)에서, CSM(420)은, 사용자에 의한 이용 조건의 수락을 위해 디바이스(50)로 하여금 이용 조건("ToU"; terms of use)을 사용자에게 제시하게 할 수 있다. 도 8b는 필드(806)에서 제3자 애플리케이션에 대한 ToU를 제시하는 예시적 그래픽 사용자 인터페이스를 나타낸다. ToU가 사용자에 의해 수동으로 수락된다면, CSM(420)은 등록 프로세스를 계속할 수 있다. 수락 버턴이 예시되어 있지만, 본 도면, 명세서, 및 청구항들을 접하는 본 분야의 통상의 기술자라면 이해하는 바와 같이, 추가적인 보안층을 제공하거나 제공하지 않는 수락을 나타내기 위한 다른 방법들도 이용될 수 있다.
요소(710)에서, CSM(420)은 디바이스(50)의 디바이스 식별자를 포착할 수 있다. 예에서, 디바이스 식별자는, 전화 번호, 매체 액세스 제어(MAC) 주소, 또는 디바이스(50)를 어드레싱하는 기타의 정보(대개는 개별 디바이스에 고유하지만, 단일 디바이스들간에 잠재적으로 휴대성(예를 들어, 전화 번호, SIM 카드 등))일 수 있다. CSM(420)은 디바이스 식별자를 수동으로 입력할 것을 사용자에게 촉구하거나, 디바이스 식별자에 대한 디바이스(50)의 알려진 저장 위치를 질의하거나, 디바이스 식별자에 대해 관리 서버(780)에게 질의할 수도 있다.
요소(712)에서, CSM(420)은 디바이스(50)로 하여금 CSM 등록 요청 메시지를 관리 서버(780)에 전달하게 할 수 있다. 한 예에서, CSM 등록 요청 메시지는, 디바이스 식별자(예를 들어, 전화 번호)와, CSM(420), 및 아마도 심지어 CSM의 특정한 사례를 식별하는 고유 코드 또는 시퀀스일 수 있는 CSM 식별자를 포함하는 2진 단문 서비스(SMS) 메시지를 통해 관리 서버(780)에 전송될 수 있다.
요소(714)에서, 관리 서버(780)는 CSM 식별자의 유효성확인을 시도할 수 있다. 한 예로서, CSM 식별자는, 디바이스(50)의 전화 번호, CSM(420)의 초기 컴파일 ID, 국제 모바일 가입자 신원(IMSI), CPLC 데이터, 또는 사용자의 전자메일 주소일 수 있다. 또 다른 예에서, CSM 식별자는 2개 이상의 유형의 데이터의 조합일 수도 있다. 예를 들어, CSM(420)의 초기 컴파일 ID는, CPLC 데이터, 전화 번호 등을 포함하지만 이것으로 제한되지 않는, 디바이스(50)의 고유 식별자와 결합될 수 있다. CSM 식별자로서 전자메일 주소를 이용할 때, 디바이스(50)는, 예를 들어, 전자메일 주소 내의 문자들의 2진 또는 16진수로의 ASCII 변환을 수행할 수 있다. 유효성확인 프로세스는, 사용자에 의해 입력된, 또는 사용자에 의해 입력된 데이터로부터 유도된, 또는 디바이스(50)에 의해 기타의 방식으로 제공된 CSM 식별자가 관리 서버(780)에 의해 이전에 저장된 CSM 식별자와 일치하는 것을 보장(예를 들어, 입력된 전화 번호가 서버(780)에 의해 이전에 저장된 전화 번호와 일치한다는 것을 확인)할 수 있다. 유효성확인된다면, 관리 서버(780)는, 요소(716)에서, 디바이스 식별자에 어드레싱된 등록 응답 메시지를 전달할 수 있다. 한 예에서, 유효성확인 코드를 포함하는 등록 응답 메시지는 식별된 디바이스에 2진 SMS 메시지로서 (이러한 메시징을 위한 표준 통신 경로를 이용하여) 전송될 수 있다. 등록 응답 메시지를 디바이스(50)에 반환하기 위해 대안적 통신 경로가 이용될 수도 있다. 그러나, CSM에 의해 통상적으로 서버(300)과 통신하기 위해 이용되는 경로로부터 분리된 경로를 이용하여 신뢰 프로비저닝 프로세스에 추가적인 보안을 제공하는 것이 바람직하다. 전자메일, SMS, MMS, 및 음성 중 하나 이상은 등록 응답 메시지를 사용자에게 전송하기 위한 별개의 경로의 예이다. 수신된 메시지는 또한, 사용자에게 추가 정보를 제공하여 자신의 신원을 확정할 것을 촉구할 수 있다. 유효성확인 코드는, 코드가 유효한 기간을 나타내는 미리결정된 존속시간을 갖는 1회성 코드일 수 있고, 예를 들어, 카운터 또는 타임스탬프로서 구현될 수도 있다.
요소(718)에서, CSM(420)은 바람직하게는 수신된 유효성확인 코드를 사용자에게 제시하고, 요소(720)에서, 유효성확인 코드를 수동으로 입력할 것을 사용자에게 촉구한다. 도 8c에서 알 수 있는 바와 같이, 그래픽 사용자 인터페이스는 수신된 유효성확인 코드를 디스플레이하는 필드(808)와, 예를 들어, 사용자가 휴대 디바이스(50)의 키패드를 이용하여 유효성확인 코드를 수동으로 입력하는 필드(810)를 포함할 수 있다. 유효성확인 코드에 관해 설정된 미리결정된 존속시간이 사용자가 코드를 입력하기 전에 만료한다면, 요소(710-716)는 또 다른 유효성확인 코드를 얻기 위해 반복될 수 있다. (그렇지 않고, 살아있는 유효성확인 코드가 없다면 초기 신뢰 프로비저닝은 실패할 것이다). 요소(722)에서, CSM(420)은 수신된 유효성확인 코드가 수동으로 입력된 유효성확인 코드와 일치하는 것으로 확인할 수 있다. 성공적으로 확인된다면, CSM(420)은 제3자 애플리케이션을 이용하려는 후속된 시도 동안에 사용자를 인증하기 위한 정보에 대해 사용자에게 촉구하는 인증서발급 프로세스를 개시할 수 있다. 이 인증서발급 프로세스는 표준의 Know Your Customer 질문을 포함할 수 있지만, 이들 표준 질문에 대한 대안으로서 또는 이에 추가하여 다른 잠재적인 인증서발급 노력이 이용될 수 있다.
요소(724)에서, CSM(420)은 인증서 선택대상 요청을 관리 서버(780)에 전달할 수 있다. 관리 서버(780)는, 요소(726)에서, 사용자가 사용자 인증시에 이용하기 위해 선택할 수 있는 복수의 시각적 인증서를 포함하는 인증서 선택대상 응답 메시지로 응답할 수 있다. 다른 예에서, 시각적 인증서는 보안 요소(120)에 의해 및/또는 보안 데이터 스토어(115)에 의해 국지적으로 저장될 수 있다. 시각적 인증서는 사용자가 부주의로 기밀 정보를 악성 CSM에 입력하지 못하게 추가적인 신원 확인층을 제공하기 위한 것이다. 악성 CSM이 CSM(420)을 흉내내려고 시도하는 (심지어 사용자에게 인증 정보를 입력할 것을 촉구하는 사용자 인터페이스를 제시하는) 경우, 악성 CSM은 사용자가 이전에 선택한 시각적 인증서가 무엇인지를 명확하게 결정하지 못할 것이므로, CSM 등록 동안에 사용자의 특별히 선택된 시각적 인증서를 그 사용자에게 제시할 가능성이 거의 없다. 사용자는, CSM이 올바른 시각적 인증서를 제시하지 않는 것을 볼 때, 올바르지 않은 시각적 인증서가 제시되었다는 것을 인식하고 악성 CSM에 의해 제시된 사용자 인터페이스 내에 인증 정보를 입력하지 않으려고 결심할 수 있다.
요소(728)에서, CSM(420)은 복수의 시각적 인증서를 특정한 하나의 수동 선택을 위해 사용자에게 제시할 수 있다. 특정한 시각적 인증서의 사용자 선택은 디바이스(50) 상에서 국지적으로 보안 데이터 스토어(115)에 보관될 수 있고 나아가 인코딩될 수도 있다. 또 다른 접근법에서, 특별히 선택된 인증서는 인코딩된 방식으로 디바이스(50) 상에서 국지적으로 보관될 수도 있다. 도 8d에 도시된 바와 같이, 그래픽 사용자 인터페이스는, 예를 들어, 사용자가 인증서들 중 원하는 것을 선택하는 것을 허용하는 4개의 상이한 시각적 인증서 선택대상(811, 812, 814, 및 816)을 제시할 수 있다. 물론 본 명세서를 접한 본 분야의 통상의 기술자라면 이해할 수 있는 바와 같이, 4개보다 많은 시각적 인증서 선택대상이 제공되어 사용자에 의해 선택된 시각적 인증서를 무작위로 식별하는 것에 대한 더 높은 장벽을 제공할 수 있다. 사용자가 시각적 인증서의 (색상, 배향, 프레임, 이미지의 크롭핑 등의) 소정의 전체 양태를 변경하는 것을 허용함으로써 및/또는 텍스트 스트링을 시각적 인증서와 연관시킴으로써 다양성을 추가하는 또 다른 접근법이 제공될 수 있다. 본 명세서, 도면, 및 청구항을 접한 본 분야의 통상의 기술자라면, 대안적 또는 추가적 보안을 제공하기 위해 오디오 컴포넌트가 인증서 팩키지에 유사하게 추가될 수 있다는 것을 이해할 것이다. 이러한 추가된 다양성들 중 임의의 것 또는 모두에 의해, 악성 CSM이 사용자에 의해 선택된 시각적 인증서를 정확하게 추측하는 어려움이 상당히 증가될 수 있으므로, 보안을 더욱 향상시킨다.
요소(730)에서, 사용자는 패스코드를 생성할 수 있다(도 8e-f 참조). 패스코드는 사용자에 의해 생성된 숫자열, 코드열, 또는 기타의 영숫자열일 수 있다. 패스코드는 제3자 애플리케이션을 이용하려는 후속된 시도 동안에 사용자를 인증하는데 이용될 수 있다. 도 8e에서 볼 수 있는 바와 같이, 그래픽 사용자 인터페이스는 사용자에게 필드(818)에 패드코드를 입력하고 필드(820)에서 입력된 패스코드를 반복할 것을 촉구할 수 있다. CSM(420)은 필드(818 및 820)에 입력된 패스코드가 일치되지 않는다고 확인할 수 있다. 패스코드들이 일치하지 않는다면, CSM(420)은 일치가 확인될 때까지 또는 시도 횟수에 관한 제약에 도달할 때까지 사용자에게 패스코드를 재입력할 것을 촉구할 수 있다.
요소(732)에서, CSM(420)은 사용자의 선택된 시각적 인증서 및 패스코드를 사용자가 사용자 인증을 위해 제공할 인증서로서 등록할 수 있다. 패스코드를 보호하기 위해, CSM(420)은, 예를 들어, 디바이스(50)로 하여금, 패스코드를 보안 데이터 스토어(115)에 저장하게 할 수 있다. 바람직한 접근법에서, 패스코드는 CPLC(Card Production LifeCycle) 데이터에 기초하여 생성된 TDES(triple data encryption algorithm) 키에 의해 암호화된 휘발성 메모리에 저장될 수 있다. 다른 암호화 알고리즘과 이러한 알고리즘에 입력되는 데이터가 역시 이용될 수도 있다. CPLC 데이터는 고유하게 식별되고 바람직하게는 보안 요소(120) 내에 저장된다. CPLC 데이터는, 예를 들어, 보안 요소의 제작 일자, 제조사, 및 고유 일련 번호를 포함할 수 있다. 일부 예에서, CPLC 데이터의 조성과 포멧은 제조사들마다 또는 제품 유형마다 달라질 수 있다. 보안 요소(120)는, SHA, MD 5 알고리즘, AES 알고리즘 등을 이용하여 CPLC 데이터를 보호할 수 있다. 휘발성 메모리는, 절도범이 패스코드를 회수하려는 시도로 훔친 디바이스(50)의 폼팩터를 조작한다면 패스코드를 소거할 수 있다.
요소(734)에서, CSM(420)은, 선택된 시각적 인증서, 패스코드, 및 보안 요소(120)의 보안 요소 식별자를 포함하는 인증서 등록 메시지를 관리 서버(780)에 전달할 수 있다. 일부 예에서, CSM(420)은 보안 통신 프로토콜(예를 들어, 보안된 하이퍼텍스트 전송 프로토콜(HTTPS))을 이용하여 휴대 디바이스(50)와 관리 서버(780) 사이에서 통신 세션을 개시할 수 있다. 여기서 설명된 임의의 통신은 보안 통신 프로토콜을 이용하여 암호화될 수 있다는 점에 유의한다.
요소(736)에서, 관리 서버(780)는 보안 요소 식별자를 유효성확인하고, 선택된 시각적 인증서와 패스코드를 사용자의 후속 인증을 위해 등록 테이블에 저장할 수 있다. 한 예에서, 등록 테이블은 보안 요소(120)의 보안 요소 식별자(및/또는 다른 CPLC 데이터)로 씨딩된 AES(advanced encryption standard) 알고리즘에 의해 보호될 수 있다. 등록 테이블은 또한 CPLC 데이터 뿐만 아니라 보안 요소(120)에 대한 기타의 정보를 저장할 수 있다. 사용자가 제3자 애플리케이션을 이용하려고 시도할 때, 디바이스(50)는 사용자에게 제시하기 위해 선택된 시각적 인증서를 회수할 수 있다. 디바이스(50)는, 관리 서버(780)에 의한 사용자의 후속 인증을 위해 선택된 시각적 인증서와 패스코드를 전달할 수 있다.
보안 요소 식별자를 유효성확인하는 것의 일부로서, 관리 서버(780)는 예를 들어 유효성확인 코드 및 보안 요소 식별자에 기초하여 토큰을 생성할 수 있다. 토큰은 코드가 유효한 기간을 나타내는 미리결정된 존속시간을 가질 수 있다. 미리결정된 존속시간이 만료된 후에, 디바이스(50)는 추가 토큰을 요청할 수 있다.
일부 예에서, 토큰은, 참조에 의해 그 전체 내용이 본 명세서에 포함되는, OAuth 2.0 Authorization Framework 명세, IETF(Internet Engineering Task Force), RFC(Request for Comments) 6749, 2012년 10월에 따라 생성되거나 기타의 방식으로 발행된 액세스 토큰일 수 있다. 예를 들어, OAuth 2.0은, 엔드포인트(예를 들어, CSM(420) 및 백엔드 관리 시스템(300))를 인증하고, 예를 들어, 다양한 유형의 공격(예를 들어, 중간자 공격(man-in-the-middle attack), 인증서-추측 공격(credentials-guessing attack), 피싱 공격(phishing attack))을 방어하는데 이용될 수 있다. 애플릿 또는 제3자 애플리케이션은 관리 서버에 전달된 메시지를 암호화하기 위해 토큰을 이용할 수 있다.
토큰은, 원하는 보안 수준에 따라, 2-단 또는 3-단 접근법으로 생성될 수 있다. 3-단 접근법은, CSM(420)이, 2-단 접근법에서와 같이 단일의 서버와 통신하여 토큰을 얻는 것이 아니라, 별개의 서버와 통신하여 토큰을 얻는다는 사실로 인해 더욱 보안될 수 있다. 3-단 접근법은, 예를 들어, 중간자 공격을 실행하기 더욱 어렵게 만들 수 있다.
도 7b는, 실시예에 따른 토큰을 생성하기 위한 2-단 접근법의 한 예를 나타낸다. 도시된 바와 같이, 관리 서버(780)는, 토큰(예를 들어, OAuth 토큰)을 생성하는 하드웨어, 소프트웨어, 또는 이들의 조합일 수 있는 토큰 엔진(782)을 포함할 수 있다. 관리 서버(780)는, 토큰 엔진(782)을 이용하여 새로운 토큰을 생성해 네트워크 또는 직접 링크를 통해 CSM(420)에 전달할 수 있다. 관리 서버(780)는 또한 토큰 엔진(782)을 이용해 CSM(420)으로부터 수신된 이전에 생성된 토큰을 인증할 수 있다. 일부 예에서, 토큰은 바람직하게는, 코드가 유효한 기간을 나타내는 미리결정된 존속시간을 가질 것이다. 미리결정된 존속시간 이후에, 디바이스(50)는 추가 토큰을 요청할 수 있다.
3-단 접근법은 또한 토큰을 생성하는데 이용될 수 있다. 도 7c는, 실시예에 따른 토큰을 생성하기 위한 3-단 접근법의 한 예를 나타낸다. 도시된 바와 같이, 관리 서버(782), 토큰 서버(784), 및 CSM(420)은 링크 또는 네트워크를 통해 통신가능하게 결합될 수 있다. 토큰 서버(784)는, 전술된 바와 같이, 토큰 엔진(782)의 기능을 포함할 수 있고, 관리 서버(780)로부터 논리적 및/또는 물리적으로 분리될 수 있다. 예를 들어, 관리 서버(782)는 별개의 하드웨어일 수 있고 토큰 서버(784)와는 상이한 장소에 위치할 수 있다. 상이한 위치는 상이한 물리적 위치 및/또는 상이한 네트워크 위치일 수 있다. 예를 들어, 관리 서버(780)는 Foster City, CA에 위치할 수 있고, 토큰 서버(784)는 San Francisco, CA에 위치할 수 있다. 또 다른 예에서, 관리 서버(780)와 토큰 서버(784)는 공통의 지리적 위치에 위치할 수 있지만, 고유한 네트워크 주소(예를 들어, 고유한 IP 주소)를 가질 수도 있다.
3-단 접근법에서 토큰을 요청하기 위해, CSM(420)은 인증서 등록 메시지를 관리 서버(780)에 전달할 수 있고, 관리 서버(780)는 토큰 서버(784)의 네트워크 주소(예를 들어, 링크, URL(uniform resource locator) 등)로 CSM(420)에게 응답할 수 있다. CSM(420)은 인증서 등록 메시지를 토큰 서버(784)에 포워딩할 수 있고, 토큰 서버(784)는 인증서 등록 메시지에 기초하여 CSM(420)의 인증을 시도할 수 있다. 성공적이라면, 토큰 서버(784)는 토큰을 생성하여 CSM(420)에 전달할 수 있다.
토큰을 생성하기 위해 어떤 접근법이 이용되는지에 관계없이, CSM(420)은 인증 목적을 위한 관리 서버(780)으로의 후속 전달에서 토큰을 포함할 수 있다. 2-단 접근법에서, 관리 서버(780)는 CSM(420)으로부터 수신된 메시지를 인증하기 위해 토큰 엔진(782)에게 토큰을 처리할 것을 명령할 수 있다. 3-단 접근법에서, 관리 서버(780)는 토큰을 인증하기 위해 토큰을 토큰 서버(784)에 포워딩할 수 있다. 토큰 서버(784)는 토큰이 현재 유효한지 여부를 나타내도록 관리 서버(780)에게 응답할 수 있다.
다시 도 7a를 참조하면, 토큰의 성공적 생성은 CSM(420)의 등록을 완료할 수 있고, 관리 서버(780)는, 요소(738)에서, 등록이 성공적이었다는 것을 확인하는 CSM 등록 완료 메시지를 CSM(420)에 전송한다. 성공적이지 않다면, CSM 등록 메시지는 등록이 성공적이지 않았다는 것을 나타내는 확인 메시지일 수 있다. CSM(420)은 적어도 미리결정된 횟수의 추가 시도만큼 선행 요소들을 반복함으로써 등록을 시도할 수 있다. 요소(740)에서, CSM(420)은 보안 요소(120)를 초기화할 수 있다. 초기화 단계는 CSM(420)이 초기화 메시지를 관리 서버(780)에 전달하는 단계를 포함할 수 있다. 요소(742)에서, 관리 서버(780)는 보안 세션 초기화 메시지를 CSM(420)을 통해 보안 요소(120)에 전달할 수 있다. 한 예에서, 보안 세션은 Global Platform 기술 명세(예를 들어, 2.1.X, 2.2, 2.2.X 등)를 따를 수 있다.
본 분야의 통상의 기술자라면 이해하는 바와 같이, 보안 요소(120)는, 제조시에 저장되고 관리 서버(780)에게도 알려진 적어도 하나의 암호화 키를 포함한다. 암호화 키는 보안 요소(120)의 CPLC 데이터에 기초할 수 있으므로 보안 요소(120)에 대해 고유할 수 있다. 관리 서버(780)는 암호화 키로 보안 세션 메시지를 암호화할 수 있고, 보안 요소(120)는 암호화 키를 이용하여 보안 세션 초기화 메시지를 암호해독할 수 있다. 요소(744)에서, 관리 서버(780)는 CSM(420)을 통해 보안 요소(120)에게 하나 이상의 암호화 키를 회전시킬 것을 명령할 수 있다. 회전이란 데이터를 암호화하기 위해(예를 들어, RF 또는 NFC 베이스밴드를 통해 관리 서버(780) 및/또는 판매점이나 액세스 디바이스에 전송되는 통신을 암호화하기 위해) 보안 요소(120)에 의해 이용되는 암호화 키를 변경하는 프로세스를 말한다. 한 예에서, 보안 요소(120)는, 보안 요소 ID, CPLC 데이터, 및 보안 세션 초기화 메시지에서 관리 서버(780)에 의해 제공된 데이터의 함수인 새로운 암호화 키를 생성할 수 있다. 예를 들어, 보안 요소(120)는, 보안 요소 ID, CPLC 데이터, 및 수신된 데이터를 결합하여 난수 생성기를 위한 씨드를 형성할 수 있다. 씨드는 또한, 보안 요소 ID 대신에 또는 이에 추가하여, CSM(420)의 애플리케이션 ID, CSM(420)의 컴파일 ID, 디바이스(50)와 연관된 전화 번호, 특정한 디바이스(50)와 연관된 MAC 주소(또는 어떤 다른 고유 코드), 일일 시간 정보, 다항식 등 중 하나 이상의 함수일 수 있다.
보안 요소(120)는 씨드를 이용하여 난수 생성기에 의해 생성된 출력을 새로운 암호화 키로서 저장할 수 있다. 보안 요소(120)이 복수의 암호화 키를 갖는 경우, 각 키를 생성하기 위해 상이한 씨드들이 이용될 수 있다. 대안으로서, 상이한 의사-난수 생성기들에서 동일한 씨드가 이용될 수 있다. 후속된 의사 난사 생성을 위한 씨드로서 이전에 완료된 의사 난수 계산들 중 하나 이상의 결과를 이용하는 것도 가능할 것이다.
키를 회전시킴으로써, 관리 서버(780)는 CSM(420)을 통해 각각의 보안 요소(120)에 의해 이용되는 하나 이상의 암호화 키를 관리한다. 그러나, 유익하게도, 보안 요소(120)에 암호화 키(들)을 이용하고 저장함으로써, 디바이스(50)가 루팅(root)되더라도(즉, 디바이스 또는 운영 체제들 중 하나 이상에서 하이잭킹되더라도), 데이터를 암호화하는데 이용된 암호화 키(들)은 보안 요소(120) 내에서 여전히 보호된다. 대안으로서, 보안 데이터 스토어의 다른 영역들은 보안 요소(120)에 의해 제공되는 것보다 약간 낮은 보안을 제공할 수 있다는 것을 이해하면서 암호화 키들 중 하나 이상이 보안 데이터 스토어(115) 내의 보안 요소(120) 외부의 어떤 곳에 저장되는 것도 생각해 볼 수 있다.
또한, 각각의 생성된 암호화 키는 설정된 존속시간을 가질 수 있고 비활동 타이머(예를 들어, 와치독 타이머)와 연관될 수 있다. 비활동 타이머는 명시된 기간일 수 있고 사용자가 암호화 키의 이용을 요구하는 동작(예를 들어, 이하에서 더 상세히 설명되는 바와 같은, 관리 기능)을 수행할 때마다 리셋될 수 있다. 설정된 존속시간의 지속기간과 비활동 타이머는 비지니스 규칙에 기초할 수 있다. 설정된 존속시간 내에서 및 과도한 키 회전을 피하기 위해, CSM(420)은 비활동 타이머가 만료하지 않는 한 동일한 암호화 키를 이용할 수 있다. 설정된 존속시간 또는 비활동 타이머가 만료한다면, CSM(420)은 그들의 암호화 키의 회전을 요청할 수 있다. 일부 예에서, CSM(420)은, 비지니스 규칙에 의해 허용된 예외와 더불어, 키 회전 이전에 임의의 거래를 수행하는 것으로부터 사용자를 제약할 수 있다.
키 회전은 사용자에 의해 승인되지 않은 거래가 수행되지 못하도록 의사 암호화 키로 악성 CSM에 대한 방어를 높이기 위한 것이다. 의사 암호화 키는, 동일한 프로세스를 이용하여 생성되지 않기 (예를 들어, 악성 CSM은 보안 요소(120)의 CPLC 데이터를 모를 것이기) 때문에, 의사 난수 생성기에 의해 생성된 암호화 키와는 상이할 수 있다. 유익하게도, 악성 CSM은 보안 요소(120)과 동일한 방식으로 데이터를 암호화할 수 없을 것이므로 관리 서버(780)는 악성 CSM에 의해 요청된 거래를 승인하지 않을 것이다.
도 7로 돌아가면, 요소(746)에서, 관리 서버(780)는 CSM(420)을 통해 보안 요소(120)에 하나 이상의 애플릿을 로딩할 수 있다. 다른 프로그램들 중에서 특히, 이들 애플릿들은 카드 에뮬레이션 및 보안 요소를 관리하는 기타의 프로그램을 포함할 수 있다. 요소(748)에서, 관리 서버(780)는 예비-개인맞춤화 완료 메시지를 CSM(420)에 전달할 수 있다. 요소(750)에서, CSM(420)은 사용자에 의해 입력된 패스코드를 보안 요소(120)에 저장할 수 있고 보안 데이터 스토어(115)로부터 패스코드를 삭제할 수도 있다. 보안 요소(120) 내의 패스코드의 저장은, 참조에 의해 그 전체 내용이 본 명세서에 포함되는, 발명의 명칭이 "System and Method for Controlling Access to a Third-Party Application with Passwords Stored in a Secure Element"인 2012년 4월 16일 출원된 미국특허 제13/447,489호에 기술된 패스워드 관리 시스템에 의해 패스워드가 관리되는 방식을 따를 수 있다. CSM(420)은 패스코드가 보관되었다는 것을 사용자에게 통보하는 그래픽 사용자 인터페이스를 제시할 수 있다(도 8g 참조).
요소(752)에서, CSM(420)은 보안 요소 초기화의 거래 종료(EOT; end of transaction)를 수행하고 그 내부에 패스코드를 저장할 수 있다. CSM(420)은 시스템 내의 모든 당사자에게 거래가 완료되어 모든 당사자가 감사, 보고, 및 추적 목적을 위해 정보를 보관할 수 있다는 것을 통보할 수 있다. 요소(754)에서, CSM(420)은, 관리 서버(780)에게, 등록될 제3자 애플리케이션의 식별자를 포함하는 애플리케이션 등록 메시지를 전달할 수 있다. 요소(756)에서, 관리 서버(780)는 그 애플리케이션 ID 및 도 6을 참조하여 전술된 기타의 정보를 이용하여 제3자 애플리케이션을 유효성확인하려고 시도할 수 있다.
(도 7a의 요소(758)에 의해 예시된) 다양한 시간들에서, 관리 서버(780)는 보안 요소(120)에게 그 토큰(들) 중 하나 이상을 회전시킬 것을 지시할 수 있다. 앞서 논의된 바와 같이, 보안 요소(120)는 등록 동안에 토큰을 수신할 수 있고 애플릿/제3자 애플리케이션은 관리 서버(780)에 전달된 메시지들을 암호화하기 위해 이 토큰을 이용할 수 있다. 관리 서버(780)는 애플릿 및/또는 제3자 애플리케이션에 의한 이용을 위해 새로운 토큰을 CSM(420)에 전달함으로써 토큰을 회전시킬 수 있다. 일부 예에서, 회전된 토큰의 평문(clear text)을 저장하는 것과는 대조적으로 회전된 토큰의 해시가 저장될 수 있다. 회전된 토큰은 존속시간(예를 들어, 35초, 1분, 1일 등)을 가질 수 있다. 추가적으로, 회전된 토큰은 소정 시간(예를 들어, 사용자가 보안 요소 관리 기능을 수행할 때마다)에 교체될 수 있다. 예를 들어, 사용자는, (a) 카드 추가, (b) 카드 삭제, (c) 패스코드 변경, (d) 지갑 제거, 및 (e) 카드 관리를 포함한 소정의 보안 요소 관리 기능을 수행할 때 패스코드를 입력할 것을 촉구받을 수 있다. 일부 예에서, 패스코드를 관리하는 것은 새로운 토큰의 수신을 수반하지 않을 수도 있다. 요소(760)에서, 보안 요소(120)는 CSM(420)에게 토큰이 회전되었다는 것을 통보할 수 있다.
요소(762)에서, 관리 서버(780)는 보안 요소(120)에게 제3자 애플리케이션의 등록이 완료되었음을 통보할 수 있다. 도 8h는 등록 프로세스의 소정 단계들이 완료될 때 사용자에게 통보하는 예시적 그래픽 사용자 인터페이스를 나타낸다.
요소(764)에서, 보안 요소(120)는 CSM(420)에게 제3자 애플리케이션의 등록이 완료되었음을 통보할 수 있다. 도 8h에서 알 수 있는 바와 같이, 그래픽 사용자 인터페이스는 제3자 지갑 애플리케이션이 유효성확인되고 구성될 때 필드(822)에서 사용자에게 업데이트를 제공하고, 지갑 애플리케이션의 등록이 완료되었음을 제공할 수 있다. 일단 등록이 완료되고 나면, 사용자는 카드를 추가하는 필드(824) 또는 제의(offer)를 검사하는 필드(826)를 선택할 수 있다. 추가된 카드는, 예를 들어, 신용 카드, 고객 카드(charge card) 등일 수 있다. 제안은 제품, 서비스 등에 대한 제안일 수 있다.
등록 이후 제3자 애플리케이션을 이용하려는 후속된 시도에서, CSM(420)은 등록 프로세스 동안에 사용자에 의해 선택된 인증서를 관리 서버(780)로부터 회수하고 사용자에게 패스코드를 입력할 것을 촉구할 수 있다. 도 8i에서 볼 수 있는 바와 같이, 그래픽 사용자 인터페이스는 회수된 인증서를 필드(828)에 디스플레이하고 사용자에게 패스코드를 필드(830)에 입력할 것을 촉구할 수 있다. 사용자가 디스플레이된 인증서가 등록 동안에 사용자에 의해 선택된 것과 일치하지 않는다고 판단하면, 이것은 CSM(420)의 완전무결성이 저하되었다는 것을 사용자에게 나타낼 수 있다. 그러면, 사용자는 자신의 패스코드를 제공하지 않기로 선택할 수 있다. 디스플레이된 인증서가 등록 동안에 사용자에 의해 선택된 것과 일치한다면, 사용자는 등록 동안에 생성된 패스코드를 입력할 수 있다. 그러면 CSM(420)은, 요소들(752-764)을 참조하여 전술된 바와 같이, 제3자 애플리케이션의 등록을 계속한다. 그러면, 제3자 애플리케이션은 토큰을 이용하여 관리 서버(780)와 통신하여 거래를 수행할 수 있다. CSM(420)은 또한, 예를 들어, CSM(420)이 등록을 완료한 마지막 시간에 따라 상기 등록 프로세스를 겪어야만 할 수도 있다. 일부 예에서, 사용자는 각각의 제3자 애플리케이션을 유효성확인하기 위한 고유의 인증서/패스코드 쌍을 생성할 수 있다. 다른 예에서, 사용자는 모든 제3자 애플리케이션까지를 포함한, 2개 이상의 제3자 애플리케이션을 유효성확인하는데 이용될 수 있는 인증서/패스코드 쌍을 생성할 수도 있다.
유익하게도, 실시예들은 CSM(420)의 암호화 키가 약화된다면 시스템 위험을 회피할 수 있다. 어떠한 양의 보안도 극복할 수 없지만, 전술된 예들은, 적어도, 개별 디바이스(50), 보안 요소(120), CSM(420), 및 관리 서버(780)에서 보안을 제공한다. 암호화 키가 약화된다면, 그 암호화 키는 그 연관된 보안 요소(120m)에 대해 고유한 CPLC 데이터에 기초하여 생성되기 때문에 단일의 디바이스(50)에는 위험이 포함될 수 있다. 또 다른 방식에서, 악성 CSM(420)은 임의의 다른 보안 요소(120n)에서 약화된 암호화 키를 이용할 수 없는데, 그 이유는 그 다른 보안 요소(120n)에 대한 CPLC 데이터는 보안 요소(120m)에 대한 CPLC 데이터와는 정의(및 설계)에 의해 상이할 것이기 때문이다. 그러나, 각 경우에, 보안 요소(120m 및 120n) 양쪽 모두에 대한 CPLC 데이터는 관리 서버(780)에 저장된다. 따라서, 암호화 키는 연관된 보안 요소(120)에 의해서만 이용될 수 있고, 다른 요소들에 의해서는 이용될 수 없다. 이러한 암호화 키와 보안 요소(120) 사이의 1대1 대응관계는 유익하게도 암호화 키가 약화되더라도 시스템 위험을 회피한다.
상기 설명 및 도면은 본 발명의 설명하고 예시하는 것일 뿐이고 본 발명은 이것으로 제한되지 않는다. 명세서가 소정의 구현 또는 실시예와 관련하여 설명되었지만, 많은 상세사항들은 예시의 목적을 위해 제시된 것이다. 따라서, 상기사항은 본 발명의 원리를 예시할 뿐이다. 예를 들어, 본 발명은 그 사상 또는 본질적 특성으로부터 벗어나지 않고 다른 특정한 형태를 가질 수도 있다. 설명된 구조는 예시이며 제한이 아니다. 본 분야의 통상의 기술자에게는, 본 발명은 추가적인 구현 또는 실시예가 용이할 것이고, 본 출원에서 설명된 이들 상세사항들 중 소정의 부분은 본 발명의 기본 원리로부터 벗어나지 않고 상당히 달라질 수도 있을 것이다. 따라서, 본 분야의 통상의 기술자라면, 여기서 명시적으로 설명되거나 도시되지는 않았지만, 본 발명의 범위와 사상 내에서 본 발명의 원리를 구현하는 다양한 구조를 고안할 수 있을 것이라는 점을 이해할 것이다.

Claims (20)

  1. 방법으로서,
    디바이스에 의해 구현되는 제1 소프트웨어 애플리케이션에 의해, 상기 디바이스와 연관된 보안 요소에 의해 저장된 데이터를 이용할 것을 요청하는 이용 요청(utilization request)을 처리하는 단계;
    상기 이용 요청의 처리에 응답하여, 상기 디바이스에 의해, 상기 제1 소프트웨어 애플리케이션을 관리 서버에 등록하기 위한 등록 요청 메시지를 상기 관리 서버에 전달(communicating)하는 단계;
    상기 등록 요청 메시지에 응답하여 상기 관리 서버로부터 유효성확인 코드(validation code)를 수신하는 단계;
    상기 수신된 유효성확인 코드가 제2 유효성확인 코드와 일치하는 것으로 확인하는 단계;
    성공적 확인(successful verification)에 후속하여, 패스코드와 상기 보안 요소의 식별자를 상기 관리 서버에 전달하는 단계;
    상기 패스코드와 상기 보안 요소 식별자의 전달에 응답하여, 상기 제1 소프트웨어 애플리케이션의 등록이 성공적이었는지 여부를 명시하는 확인응답(acknowledgement)을 상기 관리 서버로부터 수신하는 단계;
    상기 제1 소프트웨어 애플리케이션의 성공적인 등록에 이어서, 상기 제1 소프트웨어 애플리케이션이 토큰 서버로부터 토큰을 요청하는 단계 - 상기 토큰 서버는 상기 관리 서버와 별개의 논리적 주소를 가지며, 상기 토큰은 상기 유효성확인 코드의 수신에 응답하여 상기 토큰 서버에 의해 생성되어, 상기 토큰은 상기 유효성확인 코드의 기능임 -; 및
    상기 제1 소프트웨어 애플리케이션과 상기 관리 서버 사이의 통신에서 상기 토큰을 사용하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 등록 요청 메시지는 상기 디바이스의 식별자를 포함하는, 방법.
  3. 제1항에 있어서, 상기 등록 요청 메시지는 2진 단문 서비스 메시지(binary short message service message)인, 방법.
  4. 제1항에 있어서, 상기 유효성확인 코드는 미리결정된 시간량 동안만 유효한, 방법.
  5. 제1항에 있어서,
    인증서 선택대상 요청(credential choices request)을 상기 관리 서버에 전달하는 단계;
    복수의 인증서 선택대상을 제시하는 단계; 및
    상기 인증서 선택대상들로부터 특정 인증서의 선택을 수신하는 단계
    를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 인증서 선택대상들 각각은 이미지(image)인, 방법.
  7. 제5항에 있어서, 상기 특정 인증서를 상기 관리 서버에 전달하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서,
    상기 패스코드를 암호화하는 단계; 및
    상기 암호화된 패스코드를 상기 디바이스의 휘발성 메모리에 저장하는 단계
    를 더 포함하는 방법.
  9. 제1항에 있어서, 상기 제1 소프트웨어 애플리케이션은 상기 보안 요소에 의해 저장된 데이터를 이용할 것을 요청하는 제3자 소프트웨어 애플리케이션인, 방법.
  10. 제9항에 있어서, 상기 제3자 소프트웨어 애플리케이션을 유효성확인하기 위해 상기 제3자 소프트웨어 애플리케이션의 식별자를 상기 관리 서버에 전달하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서, 상기 제1 소프트웨어 애플리케이션은 상기 보안 요소 내에 저장된 데이터에 대한 액세스 요청, 상기 보안 요소에 저장된 데이터의 수정, 및 상기 보안 요소의 스토리지(storage)에 대한 데이터의 기입 중 적어도 하나를 행하도록 구성된, 방법.
  12. 장치로서,
    적어도 하나의 프로세서; 및
    컴퓨터 판독가능한 명령어들을 저장하는 적어도 하나의 메모리를 포함하고,
    상기 컴퓨터 판독가능한 명령어들은, 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 장치로 하여금 적어도,
    제1 소프트웨어 애플리케이션에 의해, 상기 장치와 연관된 보안 요소에 의해 저장된 데이터를 이용할 것을 요청하는 이용 요청을 처리하는 것;
    상기 이용 요청의 처리에 응답하여, 상기 제1 소프트웨어 애플리케이션을 관리 서버에 등록하기 위한 등록 요청 메시지를 상기 관리 서버에 전달하는 것 - 상기 등록 요청은 상기 장치를 식별하는 숫자를 포함함 -;
    상기 등록 요청 메시지에 응답하여 상기 관리 서버로부터 유효성확인 코드를 수신하는 것;
    상기 수신된 유효성확인 코드가 제2 유효성확인 코드와 일치하는 것으로 확인하는 것;
    성공적 확인에 후속하여, 패스코드와 상기 보안 요소의 식별자를 상기 관리 서버에 전달하는 것;
    상기 패스코드와 상기 보안 요소 식별자의 전달에 응답하여, 상기 제1 소프트웨어 애플리케이션의 등록이 성공적이었는지 여부를 명시하는 확인응답을 상기 관리 서버로부터 수신하는 것;
    상기 제1 소프트웨어 애플리케이션의 성공적인 등록에 이어서, 상기 제1 소프트웨어 애플리케이션이 토큰 서버로부터 토큰을 요청하는 것 - 상기 토큰 서버는 상기 관리 서버와 별개의 논리적 주소를 가지며, 상기 토큰은 상기 유효성확인 코드의 수신에 응답하여 상기 토큰 서버에 의해 생성되어, 상기 토큰은 상기 유효성확인 코드의 기능임 -; 및
    상기 제1 소프트웨어 애플리케이션과 상기 관리 서버 사이의 통신에서 상기 토큰을 사용하는 것
    을 수행하게 하는, 장치.
  13. 제12항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 장치로 하여금
    인증서 선택대상 요청을 상기 관리 서버에 전달하는 것;
    복수의 인증서 선택대상을 제시하는 것; 및
    상기 인증서 선택대상들로부터 특정 인증서의 선택을 수신하는 것
    을 수행하게 하는, 장치.
  14. 제13항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 장치로 하여금 상기 특정 인증서를 상기 관리 서버에 전달하는 것을 수행하게 하는, 장치.
  15. 제12항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 장치로 하여금 상기 패스코드를 암호화하는 것 및 상기 암호화된 패스코드를 상기 장치의 휘발성 메모리에 저장하는 것을 수행하게 하는, 장치.
  16. 컴퓨터 판독가능한 명령어들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 판독가능한 명령어들은, 실행될 때, 디바이스로 하여금, 적어도:
    소프트웨어 애플리케이션에 의해, 상기 디바이스와 연관된 보안 요소에 의해 저장된 데이터를 이용할 것을 요청하는 이용 요청을 처리하는 것;
    상기 이용 요청의 처리에 응답하여, 상기 소프트웨어 애플리케이션을 관리 서버에 등록하기 위한 등록 요청 메시지를 상기 관리 서버에 전달하는 것 - 상기 등록 요청은 상기 디바이스를 식별하는 숫자를 포함함 -;
    상기 등록 요청 메시지에 응답하여 상기 관리 서버로부터 유효성확인 코드를 수신하는 것;
    상기 수신된 유효성확인 코드가 제2 유효성확인 코드와 일치하는 것으로 확인하는 것;
    성공적 확인에 후속하여, 패스코드와 상기 보안 요소의 식별자를 상기 관리 서버에 전달하는 것;
    상기 패스코드와 상기 보안 요소 식별자의 전달에 응답하여, 상기 소프트웨어 애플리케이션의 등록이 성공적이었는지 여부를 명시하는 확인응답을 상기 관리 서버로부터 수신하는 것;
    상기 소프트웨어 애플리케이션의 성공적인 등록에 이어서, 상기 소프트웨어 애플리케이션이 토큰 서버로부터 토큰을 요청하는 것 - 상기 토큰 서버는 상기 관리 서버와 별개의 논리적 주소를 가지며, 상기 토큰은 상기 유효성확인 코드의 수신에 응답하여 상기 토큰 서버에 의해 생성되어, 상기 토큰은 상기 유효성확인 코드의 기능임 -; 및
    상기 소프트웨어 애플리케이션과 상기 관리 서버 사이의 통신에서 상기 토큰을 사용하는 것
    을 수행하게 하는, 하나 이상의 비일시적 컴퓨터 판독가능한 매체.
  17. 제16항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 실행될 때, 상기 디바이스로 하여금:
    인증서 선택대상 요청을 상기 관리 서버에 전달하는 것;
    복수의 인증서 선택대상을 제시하는 것; 및
    상기 인증서 선택대상들로부터 특정 인증서의 선택을 수신하는 것
    을 수행하게 하는, 하나 이상의 비일시적 컴퓨터 판독가능한 매체.
  18. 제17항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 실행될 때, 상기 디바이스로 하여금 상기 특정 인증서를 상기 관리 서버에 전달하는 것을 수행하게 하는, 하나 이상의 비일시적 컴퓨터 판독가능한 매체.
  19. 제16항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 실행될 때, 상기 디바이스로 하여금 상기 패스코드를 암호화하는 것 및 상기 암호화된 패스코드를 휘발성 메모리에 저장하는 것을 수행하게 하는, 하나 이상의 비일시적 컴퓨터 판독가능한 매체.
  20. 제16항에 있어서, 상기 컴퓨터 판독가능한 명령어들은 또한, 실행될 때, 상기 디바이스로 하여금 상기 관리 서버로의 애플리케이션의 등록을 위해 상기 애플리케이션의 식별자를 전달하는 것을 수행하게 하고, 상기 애플리케이션은, 상기 보안 요소 내에 저장된 데이터에 대한 액세스 요청, 상기 보안 요소에 저장된 데이터의 수정, 및 상기 보안 요소의 스토리지에 대한 데이터의 기입 중 적어도 하나를 행하도록 구성된, 하나 이상의 비일시적 컴퓨터 판독가능한 매체.
KR1020167000419A 2013-06-12 2014-06-11 소프트웨어 애플리케이션에서 초기에 신뢰를 설정하고 주기적으로 확인하기 위한 시스템 및 방법 KR102304778B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/916,307 2013-06-12
US13/916,307 US9317704B2 (en) 2013-06-12 2013-06-12 System and method for initially establishing and periodically confirming trust in a software application
PCT/US2014/041962 WO2014201149A1 (en) 2013-06-12 2014-06-11 System and method for initially establishing and periodically confirming trust in a software application

Publications (2)

Publication Number Publication Date
KR20160042865A KR20160042865A (ko) 2016-04-20
KR102304778B1 true KR102304778B1 (ko) 2021-09-27

Family

ID=51032918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167000419A KR102304778B1 (ko) 2013-06-12 2014-06-11 소프트웨어 애플리케이션에서 초기에 신뢰를 설정하고 주기적으로 확인하기 위한 시스템 및 방법

Country Status (7)

Country Link
US (3) US9317704B2 (ko)
EP (1) EP2819083A1 (ko)
JP (3) JP6510504B2 (ko)
KR (1) KR102304778B1 (ko)
AU (1) AU2014278160A1 (ko)
CA (1) CA2853851A1 (ko)
WO (1) WO2014201149A1 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102005408B1 (ko) * 2013-08-08 2019-07-30 삼성전자주식회사 무선 통신 시스템에서 기기 등록 및 인증을 수행하는 방법 및 장치
US9384485B1 (en) * 2013-11-26 2016-07-05 American Express Travel Related Services Company, Inc. Systems and methods for rapidly provisioning functionality to one or more mobile communication devices
CN111160902B (zh) * 2013-12-02 2023-06-23 万事达卡国际股份有限公司 用于向不带有安全元件的移动设备安全传送远程通知服务消息的方法及系统
US10552830B2 (en) * 2013-12-23 2020-02-04 Apple Inc. Deletion of credentials from an electronic device
US9258294B2 (en) * 2013-12-31 2016-02-09 Cellco Partnership Remote authentication method with single sign on credentials
US20150326545A1 (en) * 2014-05-06 2015-11-12 Apple Inc. Secure key rotation for an issuer security domain of an electronic device
US9361476B2 (en) * 2014-05-16 2016-06-07 Safe Text Ltd. Messaging systems and methods
US10362010B2 (en) * 2014-05-29 2019-07-23 Apple Inc. Management of credentials on an electronic device using an online resource
US10154082B2 (en) * 2014-08-12 2018-12-11 Danal Inc. Providing customer information obtained from a carrier system to a client device
US10057240B2 (en) * 2014-08-25 2018-08-21 Sap Se Single sign-on to web applications from mobile devices
US11178124B2 (en) * 2014-09-02 2021-11-16 Apple Inc. Secure pairing of a processor and a secure element of an electronic device
WO2016106277A2 (en) 2014-12-22 2016-06-30 Capital One Services, LLC. A system, method and apparatus for reprogramming a transaction card
JP6394385B2 (ja) * 2014-12-26 2018-09-26 富士通株式会社 ログイン処理装置、ログイン処理方法及びログイン処理プログラム
US10826900B1 (en) * 2014-12-31 2020-11-03 Morphotrust Usa, Llc Machine-readable verification of digital identifications
US10116447B2 (en) 2015-02-17 2018-10-30 Visa International Service Association Secure authentication of user and mobile device
US10185949B2 (en) * 2015-03-05 2019-01-22 American Express Travel Related Services Company, Inc. System and method for authentication of a mobile device configured with payment capabilities
US10127375B2 (en) 2015-03-07 2018-11-13 Protegrity Corporation Enforcing trusted application settings for shared code libraries
US9824351B2 (en) 2015-05-27 2017-11-21 Bank Of America Corporation Providing access to account information using authentication tokens
US9830591B2 (en) 2015-05-27 2017-11-28 Bank Of America Corporation Providing access to account information using authentication tokens
EP3443462B8 (en) 2016-04-14 2022-05-18 Sequent Software Inc. System and method for generation, storage, administration and use of one or more digital secrets in association with a portable electronic device
US10902405B1 (en) * 2016-05-11 2021-01-26 Wells Fargo Bank, N.A. Transient mobile wallets
US20170357798A1 (en) * 2016-06-12 2017-12-14 Apple Inc. Removal of credentials from an electronic device
CN106875186B (zh) 2016-06-20 2020-07-24 阿里巴巴集团控股有限公司 一种离线支付方法和装置
US10755270B2 (en) * 2016-09-16 2020-08-25 Apple Inc. Inter-device credential transfer
AU2018210544B2 (en) * 2017-01-23 2023-03-09 Mastercard International Incorporated Method and system for authentication via a trusted execution environment
WO2018187596A1 (en) * 2017-04-06 2018-10-11 Walmart Apollo, Llc Authentication system using nfc tags
AU2018261800A1 (en) * 2017-05-04 2019-12-05 Monticello Enterprises LLC Providing cryptocurrency payments through a browser application programming interface
US11012441B2 (en) * 2017-06-30 2021-05-18 Open Text Corporation Hybrid authentication systems and methods
US20190114598A1 (en) * 2017-10-18 2019-04-18 Mastercard International Incorporated Payment network as a platform
CN109840998B (zh) * 2017-11-27 2021-10-22 北京聚利科技有限公司 车辆与油枪匹配的方法及第一集线器
US11483306B2 (en) * 2018-03-26 2022-10-25 Matrics2, Inc. Secure communication with random numbers
GB2576506B (en) * 2018-08-20 2021-06-30 Advanced Risc Mach Ltd An apparatus and method for controlling use of bounded pointers
WO2020150201A1 (en) 2019-01-15 2020-07-23 Visa International Service Association Method and system for authenticating digital transactions
GB2585010B (en) * 2019-06-24 2022-07-13 Blockstar Developments Ltd Cryptocurrency key management
US11356438B2 (en) * 2019-11-05 2022-06-07 Microsoft Technology Licensing, Llc Access management system with a secret isolation manager
TWI725623B (zh) * 2019-11-15 2021-04-21 倍加科技股份有限公司 基於管理者自發行票券的點對點權限管理方法
US20220051322A1 (en) * 2020-08-17 2022-02-17 Bonaire Software Solutions, Llc System and method for creating and managing a data attribute condition trigger matrix
JP7372493B1 (ja) 2023-02-22 2023-10-31 PayPay株式会社 決済管理装置、決済管理方法、およびアプリケーションプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206893A (ja) * 2006-01-31 2007-08-16 Dainippon Printing Co Ltd Icカード及びインストールシステム
US20120284195A1 (en) * 2011-05-04 2012-11-08 Mcmillen Glenn Curtiss Method and system for secure user registration

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000221881A (ja) * 1999-02-01 2000-08-11 Nec Corp 電子署名端末装置、電子署名管理装置および電子署名システム
JP4236641B2 (ja) 2003-01-20 2009-03-11 富士通株式会社 認証情報処理方法
JP4117550B2 (ja) * 2003-03-19 2008-07-16 ソニー株式会社 通信システム、決済管理装置および方法、携帯情報端末および情報処理方法、並びにプログラム
JP4454478B2 (ja) * 2004-11-22 2010-04-21 Necインフロンティア株式会社 情報処理装置および登録認証情報設定方法
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
JP4865445B2 (ja) * 2005-08-09 2012-02-01 学校法人 創価大学 情報管理方法及び情報管理システム
KR20070082179A (ko) * 2006-02-15 2007-08-21 삼성전자주식회사 상호 인증 장치 및 그 방법
JP2007328381A (ja) * 2006-05-09 2007-12-20 Ids:Kk ネットバンキングにおける認証システム及び方法
JP2008205816A (ja) * 2007-02-20 2008-09-04 Fujitsu Ltd 電話機能を有する端末装置、および通信サービス制御プログラム
JP2008250911A (ja) * 2007-03-30 2008-10-16 Kureo:Kk 認証システム、認証方法、およびコンピュータが実行するためのプログラム
WO2009039223A1 (en) * 2007-09-17 2009-03-26 Vidoop Llc Methods and systems for management of image-based password accounts
US8909931B2 (en) * 2008-02-29 2014-12-09 Nec Corporation Server authentication system, server authentication method, and program for server authentication
US8620299B2 (en) * 2008-08-12 2013-12-31 Mastercard International Incorporated Methods, systems and computer readable media for electronically delivering a prepaid card to a mobile device
JP5368044B2 (ja) * 2008-09-29 2013-12-18 富士フイルム株式会社 クライアント認証システム
JP5217890B2 (ja) * 2008-10-17 2013-06-19 大日本印刷株式会社 携帯端末のアプリケーションダウンロードシステム及び方法
EP2359526B1 (en) * 2008-11-04 2017-08-02 SecureKey Technologies Inc. System and methods for online authentication
JP5413048B2 (ja) * 2009-08-19 2014-02-12 日本電気株式会社 個人認証システム、個人認証方法
US20120095852A1 (en) * 2010-10-15 2012-04-19 John Bauer Method and system for electronic wallet access
US8745716B2 (en) * 2010-11-17 2014-06-03 Sequent Software Inc. System and method for providing secure data communication functionality to a variety of applications on a portable communication device
US20120124394A1 (en) 2010-11-17 2012-05-17 David Brudnicki System and Method for Providing a Virtual Secure Element on a Portable Communication Device
US20120266220A1 (en) 2010-11-17 2012-10-18 Sequent Software Inc. System and Method for Controlling Access to a Third-Party Application with Passwords Stored in a Secure Element
US20140337230A1 (en) 2011-12-01 2014-11-13 Sk C&C Co., Ltd. Method and system for secure mobile wallet transaction
US9154903B2 (en) * 2011-12-28 2015-10-06 Blackberry Limited Mobile communications device providing near field communication (NFC) card issuance features and related methods
US9767453B2 (en) * 2012-02-23 2017-09-19 XRomb Inc. System and method for processing payment during an electronic commerce transaction
US9064247B2 (en) * 2012-06-19 2015-06-23 Microsoft Technology Licensing, Llc User-configurable activation of card applets
MX355593B (es) * 2012-08-24 2018-04-24 Google Inc Sistemas, metodos y productos de programas informaticos para asegurar y gestionar aplicaciones en elementos de seguridad.
US20150101059A1 (en) * 2013-10-09 2015-04-09 Google Inc. Application License Verification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007206893A (ja) * 2006-01-31 2007-08-16 Dainippon Printing Co Ltd Icカード及びインストールシステム
US20120284195A1 (en) * 2011-05-04 2012-11-08 Mcmillen Glenn Curtiss Method and system for secure user registration

Also Published As

Publication number Publication date
US10496832B2 (en) 2019-12-03
JP2019145141A (ja) 2019-08-29
JP2016524244A (ja) 2016-08-12
AU2014278160A1 (en) 2016-01-07
US20160232509A1 (en) 2016-08-11
US9792598B2 (en) 2017-10-17
CA2853851A1 (en) 2014-12-12
JP6793216B2 (ja) 2020-12-02
KR20160042865A (ko) 2016-04-20
JP2021036453A (ja) 2021-03-04
US20180053170A1 (en) 2018-02-22
EP2819083A1 (en) 2014-12-31
US20140373170A1 (en) 2014-12-18
WO2014201149A1 (en) 2014-12-18
JP7043701B2 (ja) 2022-03-30
JP6510504B2 (ja) 2019-05-08
US9317704B2 (en) 2016-04-19

Similar Documents

Publication Publication Date Title
JP7043701B2 (ja) ソフトウェアアプリケーションの信頼を最初に確立し、かつ定期的に確認するシステム及び方法
JP6818679B2 (ja) セキュアホストカードエミュレーションクレデンシャル
US10515352B2 (en) System and method for providing diverse secure data communication permissions to trusted applications on a portable communication device
US11956230B2 (en) First factor contactless card authentication system and method
US20120159612A1 (en) System for Storing One or More Passwords in a Secure Element
US20120123868A1 (en) System and Method for Physical-World Based Dynamic Contactless Data Emulation in a Portable Communication Device
JP6704919B2 (ja) 支払いトークンのセキュリティを確保する方法
US20120266220A1 (en) System and Method for Controlling Access to a Third-Party Application with Passwords Stored in a Secure Element
CN112602104A (zh) 用于非接触卡的密码认证的系统和方法
Crowe et al. Mobile Phone Technology:“Smarter” Than We Thought
EP2991014A1 (en) Distributing tokens for token-based transactions
WO2013130651A2 (en) System for storing one or more passwords in a secure element
Moawad et al. New Mobile Digital Signature Solution Based on Micro SD

Legal Events

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