KR101903709B1 - 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 - Google Patents
보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 Download PDFInfo
- Publication number
- KR101903709B1 KR101903709B1 KR1020167028484A KR20167028484A KR101903709B1 KR 101903709 B1 KR101903709 B1 KR 101903709B1 KR 1020167028484 A KR1020167028484 A KR 1020167028484A KR 20167028484 A KR20167028484 A KR 20167028484A KR 101903709 B1 KR101903709 B1 KR 101903709B1
- Authority
- KR
- South Korea
- Prior art keywords
- application program
- payment
- key
- mobile device
- program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/322—Aspects of commerce using mobile devices [M-devices]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/32—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
- G06Q20/326—Payment applications installed on the mobile devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Cash Registers Or Receiving Machines (AREA)
Abstract
어드밴스트 저장 키를 구축하는 방법은, 모바일 기기의 메모리에, 적어도 (i) 상기 모바일 기기에 연관된 기기 정보, (ii) 제1 프로그램에 연관된 프로그램 코드로서, 인스턴스 식별자를 포함하는, 제1 프로그램에 연관된 프로그램 코드, 및 (iii) 제2 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 프로그램에 연관된 프로그램 코드를 저장하는 단계; 상기 제1 프로그램에 연관된 코드의 실행을 통해 상기 기기 정보를 기반으로 하여 상기 모바일 기기에 연관된 기기 핑거프린트를 생성하는 단계; 상기 제1 프로그램에 연관된 코드의 실행을 통해 랜덤 값을 생성하는 단계; 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 프로그램에 연관된 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계; 및 상기 제2 프로그램에 연관된 코드의 실행을 통해 상기 제2 프로그램에 연관된 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;를 포함한다.
Description
관련 출원들
본원은 미국 특허법 35 U.S.C.§119(e)에 따라 이전에 출원된 임시출원들, 2013년 12월 2일자 출원된 임시출원 제61/910,819호; 2014년 3월 12일자 출원된 임시출원 제61/951,842호; 2014년 3월 19일자 출원된 임시출원 제61/955,716호; 2014년 4월 14일자 출원된 임시출원 제61/979,132호; 2014년 4월 17일자 출원된 임시출원 제61/980,784호; 2014년 4월 14일자 출원된 임시출원 제61/979,122호; 및 2014년 5월 14일자 출원된 임시출원 제61/996,665호; 특히 2014년 4월 14일자 출원된 임시출원 제61/979,113호를 기초로 하여 우선권을 주장한 것이고, 이들 각각의 임시출원의 전체 내용이 본원 명세서에 참조병합된다.
기술분야
본 개시내용은 필요한 보안 요소가 구비되어 있지 않은 모바일 기기에서 사용하기 위한 어드밴스트 저장 키의 생성에 관한 것이며, 더 구체적으로 기술하면 모바일 기기에서 데이터를 안전하게 저장하는데 사용하기 위한 보안 요소가 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 구축하도록 하기 위한 여러 값의 사용에 관한 것이다.
모바일 및 통신 기술들이 진보됨에 따라 상당한 기회들이 생겼는데, 그 중 하나는 모바일 컴퓨팅 기기의 사용자에게 자신의 모바일 기기를 사용하여 지불결제 트랜잭션들을 개시하고 지불결제 트랜잭션들에 대해 지불결제할 수 있는 능력을 제공하는 것이다. 모바일 기기를 통한 그러한 동작들을 가능하게 하는 그러한 수법 중 하나는 상기 모바일 기기로부터 지불결제 세부들을 인접한 비접촉 판매 시점 정보 관리(point of sale; POS) 단말기로 안전하게 전송하도록 하는 근접장 통신(near field communication; NFC) 기술의 사용이었다. 이를 달성하기 위해서는, 보안 요소(secure element; SE) 칩과 같은 보안 요소 하드웨어가 구비되어 있는 모바일폰들이 지불결제 크리덴셜들을 안전하게 저장하는데 사용된다. 보안 요소는 애플리케이션들 및 애플리케이션들의 기밀 데이터를 안전하게 호스트할 수 있는 변조 방지 플랫폼인 몇몇 NFC-지원 기기들에 포함될 수 있는 전용 보안 요소이다.
그러나 모든 모바일 기기들이 보안 요소들이 구비되어 있는 것은 아니다. 그 외에도, 몇몇 금융 기관들은 비록 모바일 기기에 보안 요소가 구비되어 있더라도 모바일 기기들 상의 보안 요소들에 액세스할 수 없었다. 그 결과로, 비접촉 또는 다른 타입의 원격 지불결제 트랜잭션들을 수행하기 위한 필요한 하드웨어가 구비되어 있는 모바일 기기들을 지니는 많은 소비자는 이러한 기능을 실제로 사용하는 것이 가능하지 않을 수 있다. 그러한 어려움 때문에, 모바일 컴퓨팅 기기들이 보안 요소들의 사용 없이 지불결제 트랜잭션들을 개시 및 수행할 수 있게 하는 기술적 문제 해결 수법이 필요하다.
보안 요소들이 구비되어 있지 않거나 보안 요소들이 구비되어 있는 모바일 기기들에서 보안 요소들을 사용하지 않는 모바일 기기들을 사용하여 지불결제 트랜잭션들을 수행하는 몇몇 방법 및 시스템은 발명의 명칭이 "보안 요소들이 구비되어 있지 않은 모바일 기기들에 크리덴셜들을 프로비저닝함으로써 모바일 지불결제들을 처리하는 시스템 및 방법(Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elements)"이고 2013년 3월 14일자 출원된 Mehdi Collinge와 그의 동료 명의의 미국 특허출원 제13/827,042호에서 찾아 볼 수 있으며, 상기 미국 특허출원 제13/827,042호의 전체 내용은 본원 명세서에 참조병합된다. 그러한 방법들 및 시스템들이 보안 요소를 사용하지 않는 모바일 기기를 통해 지불결제 트랜잭션들을 수행하기에 적합할 수 있지만, 여러 소비자, 상인, 및 금융 기관은 더 큰 보안에 대한 요구 때문에 그러한 트랜잭션들에 참가하기를 경계할 수 있다.
그 결과로, 보안 요소가 구비되어 있지 않은 모바일 기기에서의 지불결제 크리덴셜들의 수신 및 저장을 위한 더 큰 보안을 제공함과 아울러, 금융 트랜잭션의 수행 동안 상기 모바일 기기로부터 판매 시점 정보 관리 단말기로의 지불결제 크리덴셜들의 전송에 대해 높아진 보안을 제공하는 기술적 문제 해결 수법들이 필요하다. 이러한 프로세스들에서 높아진 보안은 연루된 모든 엔티티들에 대한 안심도(peace of mind)를 높이는 결과를 초래할 수 있고, 이는 비접촉 또는 원격 지불결제 트랜잭션들에 대한 모바일 기기들의 사용을 증가시키는 결과를 초래할 수 있는데, 이는 전통적인 지불결제 방법들을 통해 소비자들에게 많은 급부를 제공할 수 있다.
본 개시내용은 어드밴스트 저장 키(advanced storage key)들을 구축하는 시스템 및 방법의 설명을 제공한다.
어드밴스트 저장 키를 구축하는 방법은, 모바일 통신 기기의 메모리에, 적어도 (i) 상기 모바일 통신 기기에 연관된 기기 정보, (ii) 제1 애플리케이션 프로그램에 연관된 프로그램 코드로서, 적어도 하나의 인스턴스 식별자를 포함하는, 제1 애플리케이션 프로그램에 연관된 프로그램 코드, 및 (iii) 제2 애플리케이션 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 애플리케이션 프로그램에 연관된 프로그램 코드를 저장하는 단계; 처리 기기에 의해, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트(fingerprint)를 생성하는 단계; 상기 처리 기기에 의해, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 랜덤 값을 생성하는 단계; 상기 처리 기기에 의해, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계; 및 상기 처리 기기에 의해, 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;를 포함한다.
어드밴스트 저장 키를 구축하는 시스템은 모바일 통신 기기의 메모리 및 처리 기기를 포함한다. 상기 모바일 통신 기기의 메모리는, 적어도 상기 모바일 통신 기기에 연관된 기기 정보, 제1 애플리케이션 프로그램에 연관된 프로그램 코드로서, 적어도 하나의 인스턴스 식별자를 포함하는, 제1 애플리케이션 프로그램에 연관된 프로그램 코드, 및 제2 애플리케이션 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 애플리케이션 프로그램에 연관된 프로그램 코드를 저장하도록 구성된다. 상기 처리 기기는, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트를 생성하도록 구성되고, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 랜덤 값을 생성하도록 구성되며, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하도록 구성되고, 그리고 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하도록 구성된다.
본 개시내용의 범위는 첨부도면들과 연관지어 고려된 이하 전형적인 실시 예들의 상세한 설명으로부터 가장 양호하게 이해될 것이다. 첨부도면들에는 이하의 도면들이 포함되어 있다.
도 1은 전형적인 실시 예들에 따른 지불결제 크리덴셜들의 프로비저닝 및 저장에서 어드밴스트 보안이 구비된 지불결제 트랜잭션들을 처리하기 위한 고수준 시스템 아키텍처를 예시하는 블록도이다.
도 2는 전형적인 실시 예들에 따른 지불결제 크리덴셜들의 안전한 수신 및 저장 그리고 보안 요소가 구비되어 있지 않은 지불결제 트랜잭션들을 처리하기 위한 도 1의 모바일 기기를 예시하는 블록도이다.
도 3은 전형적인 실시 예들에 따른 지불결제 크리덴션들을 저장하기 위한 도 2의 모바일 기기의 카드 데이터베이스를 예시하는 블록도이다.
도 4는 전형적인 실시 예들에 따른 애플리케이션 암호들의 생성 및 어드밴스트 저장 키들의 생성에 사용되는 데이터를 저장하기 위한 도 2의 모바일 기기의 메모리를 예시하는 블록도이다.
도 5는 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기를 가지고 지불결제 트랜잭션들을 처리하기 위한 도 1의 트랜잭션 관리 서버를 예시하는 블록도이다.
도 6은 전형적인 실시 예들에 따른 계정 세부들 및 지불결제 크리덴셜들의 저장을 위한 도 5의 처리용 서버의 계정 데이터베이스를 예시하는 블록도이다.
도 7은 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기를 포함하는 지불결제 트랜잭션들의 처리를 위한 듀얼 애플리케이션 암호의 전송 및 확인을 위한 프로세스를 예시하는 흐름도이다.
도 8은 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기를 포함하는 지불결제 트랜잭션들의 처리를 위한 듀얼 애플리케이션 암호들의 전송 및 확인을 위한 변형적인 프로세스를 예시하는 흐름도이다.
도 9는 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기에 프로비저닝되는 원격 통지 서비스 또는 다른 데이터 메시지를 생성, 전송, 및 확인하는 프로세스를 예시하는 흐름도이다.
도 10a 및 도 10b는 전형적인 실시 예에 따른 보안 요소가 구비되어 있지 않은 모바일 기기에 의해 반송(返送)되는 메시지의 생성, 전송, 및 확인을 위한 프로세스를 예시하는 흐름도이다.
도 11은 전형적인 실시 예들에 따른 도 2의 모바일 기기를 사용하여 원격 통지 서비스 메시지를 확인하기 위한 프로세스를 예시하는 흐름도이다.
도 12는 전형적인 실시 예들에 따른 도 2의 모바일 기기를 사용한 어드밴스트 저장 키의 생성을 예시하는 도면이다.
도 13 및 도 14는 전형적인 실시 예들에 따른 지불결제 트랜잭션에서 생성된 지불결제 크리덴셜들을 위한 전형적인 방법들을 예시하는 흐름도들이다.
도 15는 전형적인 실시 예들에 따른 원격 통지 서비스 메시지를 수신 및 처리하기 위한 전형적인 방법을 예시하는 흐름도이다.
도 16은 전형적인 실시 예들에 따른 어드밴스트 저장 키를 구축하기 위한 전형적인 방법을 예시하는 흐름도이다.
도 17은 전형적인 실시 예들에 따른 컴퓨터 시스템 아키텍쳐를 예시하는 블록도이다.
도 2는 전형적인 실시 예들에 따른 지불결제 크리덴셜들의 안전한 수신 및 저장 그리고 보안 요소가 구비되어 있지 않은 지불결제 트랜잭션들을 처리하기 위한 도 1의 모바일 기기를 예시하는 블록도이다.
도 3은 전형적인 실시 예들에 따른 지불결제 크리덴션들을 저장하기 위한 도 2의 모바일 기기의 카드 데이터베이스를 예시하는 블록도이다.
도 4는 전형적인 실시 예들에 따른 애플리케이션 암호들의 생성 및 어드밴스트 저장 키들의 생성에 사용되는 데이터를 저장하기 위한 도 2의 모바일 기기의 메모리를 예시하는 블록도이다.
도 5는 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기를 가지고 지불결제 트랜잭션들을 처리하기 위한 도 1의 트랜잭션 관리 서버를 예시하는 블록도이다.
도 6은 전형적인 실시 예들에 따른 계정 세부들 및 지불결제 크리덴셜들의 저장을 위한 도 5의 처리용 서버의 계정 데이터베이스를 예시하는 블록도이다.
도 7은 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기를 포함하는 지불결제 트랜잭션들의 처리를 위한 듀얼 애플리케이션 암호의 전송 및 확인을 위한 프로세스를 예시하는 흐름도이다.
도 8은 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기를 포함하는 지불결제 트랜잭션들의 처리를 위한 듀얼 애플리케이션 암호들의 전송 및 확인을 위한 변형적인 프로세스를 예시하는 흐름도이다.
도 9는 전형적인 실시 예들에 따른 보안 요소가 구비되어 있지 않은 모바일 기기에 프로비저닝되는 원격 통지 서비스 또는 다른 데이터 메시지를 생성, 전송, 및 확인하는 프로세스를 예시하는 흐름도이다.
도 10a 및 도 10b는 전형적인 실시 예에 따른 보안 요소가 구비되어 있지 않은 모바일 기기에 의해 반송(返送)되는 메시지의 생성, 전송, 및 확인을 위한 프로세스를 예시하는 흐름도이다.
도 11은 전형적인 실시 예들에 따른 도 2의 모바일 기기를 사용하여 원격 통지 서비스 메시지를 확인하기 위한 프로세스를 예시하는 흐름도이다.
도 12는 전형적인 실시 예들에 따른 도 2의 모바일 기기를 사용한 어드밴스트 저장 키의 생성을 예시하는 도면이다.
도 13 및 도 14는 전형적인 실시 예들에 따른 지불결제 트랜잭션에서 생성된 지불결제 크리덴셜들을 위한 전형적인 방법들을 예시하는 흐름도들이다.
도 15는 전형적인 실시 예들에 따른 원격 통지 서비스 메시지를 수신 및 처리하기 위한 전형적인 방법을 예시하는 흐름도이다.
도 16은 전형적인 실시 예들에 따른 어드밴스트 저장 키를 구축하기 위한 전형적인 방법을 예시하는 흐름도이다.
도 17은 전형적인 실시 예들에 따른 컴퓨터 시스템 아키텍쳐를 예시하는 블록도이다.
본 개시내용의 부가적인 이용가능 분야들은 이하에 제공되어 있는 상세한 설명으로부터 자명해질 것이다. 여기서 이해하여야 할 점은 전형적인 실시 예들의 구체적인 설명이 단지 예시만을 위한 것으로 의도된 것이므로 본 개시내용의 범위를 반드시 한정하는 것으로 의도된 것이 아니라는 점이다.
용어 해설
지불결제 네트워크 - 현금-대체들의 사용을 통한 송금에 사용된 시스템 또는 네트워크. 지불결제 네트워크들은 여러 타입의 트랜잭션을 위한 송금을 처리하기 위해 다른 여러 프로토콜 및 절차를 사용할 수 있다. 지불결제 네트워크를 통해 수행될 수 있는 트랜잭션들은 제품 또는 서비스 구매들, 신용 구매들, 직불 트랜잭션들, 자금 이체들, 계정 인출들 등등을 포함할 수 있다. 지불결제 네트워크들은 지불결제 카드들, 신용장들, 수표들, 트랜잭션 계정들 등등을 포함할 수 있는 현금-대체들을 통한 트랜잭션들을 수행하도록 구성될 수 있다. 지불결제 네트워크들로서 수행하도록 구성된 네트워크들 또는 시스템들의 예들에는 MasterCard®, VISA®, Discover®, American Express®, PayPal® 등등에 의해 운영되는 것들이 포함된다. 본원 명세서에서 사용된 용어 "지불결제 네트워크"는 엔티티(entity)로서의 지불결제 네트워크, 및 지불결제 네트워크를 포함하는 장비, 하드웨어, 및 소프트웨어와 같은 물리적 지불결제 네트워크 양자 모두를 언급할 수 있다.
트랜잭션 계정 - 당좌 계정, 저축 계정, 신용 계정, 가상 지불결제 계정 등등과 같은 트랜잭션의 자금을 조달하는데 사용될 수 있는 금융 계정. 트랜잭션 계정은, 개인, 가족, 회사, 기업, 정부 기관 등등을 포함할 수 있는, 지불결제 계정에 연관된 임의의 적합한 타입의 엔티티일 수 있는 소비자에 연관되어 있을 수 있다. 경우에 따라서는, 트랜잭션 계정이 PayPal® 등등에 의해 운영되는 그러한 계정들과 같이 가상 트랜잭션 계정일 수 있다.
지불결제 카드 - 관련 트랜잭션 계정을 통해 금융 트랜잭션의 자금을 조달하기 위해 상인에게 제공될 수 있는 트랜잭션 계정에 연관된 카드 또는 데이터. 지불결제 카드들에는 신용 카드들, 직불 카드들, 충전 카드들, 저장값 카드들, 선불 카드들, 차량 카드들, 가상 지불결제 번호들, 가상 카드 번호들, 제어 지불결제 번호들 등등이 포함될 수 있다. 지불결제 카드는 상인에게 제공될 수 있는 물리적 카드일 수도 있고, 관련 트랜잭션 계정(예컨대, 스마트폰 또는 컴퓨터와 같은 통신 기기에 저장된 바와 같은 관련 트랜잭션 계정)을 나타내는 데이터일 수도 있다. 예를 들면, 경우에 따라서는, 지불결제 계정 번호를 포함하는 데이터가 상기 관련 트랜잭션 계정에 의해 자금이 조달되는 트랜잭션의 처리를 위한 지불결제 카드로 간주할 수 있다. 경우에 따라서는, 수표가 적용 가능할 경우에 지불결제 카드로 간주할 수 있다.
지불결제 트랜잭션 - 금전 또는 다른 금융 급부가 한 엔티티로부터 나머지 엔티티로 교환되는 두 엔티티 간의 트랜잭션. 상기 지불결제 트랜잭션은 관련 기술에 숙련된 자들에게 자명해지겠지만 상품들 또는 서비스들의 구매를 위한, 부채 상환을 위한, 또는 금융 급부의 다른 어떤 교환을 위한, 자금 이체일 수 있다. 경우에 따라서는, 지불결제 트랜잭션이 신용 카드 트랜잭션들과 같은 지불결제 카드 및/또는 지불결제 계정을 통해 자금이 조달되는 트랜잭션들을 언급할 수 있다. 그러한 지불결제 트랜잭션들은 발행자, 지불결제 네트워크, 및 수취자를 통해 처리될 수 있다. 그러한 지불결제 트랜잭션을 처리하기 위한 프로세스는 승인, 배칭(batching), 청산, 결제, 및 자금 조달 중 적어도 하나를 포함할 수 있다. 승인에는 소비자에 의한 지불결제 세부들을 상인에게 제공하는 것, 상인으로부터 상인의 수취자로 트랜잭션 세부들(예컨대, 지불결제 세부들을 포함하는 트랜잭션 세부들)을 제출하는 것, 그리고 상기 트랜잭션의 자금을 조달하는데 사용되는 소비자의 지불결제 계정의 발행자에게 지불결제 세부들을 검증하는 것이 포함될 수 있다. 배칭은 수취자로의 배포를 위해 하나의 승인된 트랜잭션을 다른 승인된 트랜잭션들과 함께 배치(batch)를 이루어 저장하는 것을 언급할 수 있다. 청산(clearing)은 처리를 위해 수취자로부터 지불결제 네트워크로 배칭된 트랜잭션들을 발송하는 것을 포함할 수 있다. 결제(settlement)에는 발행자의 수취자(beneficiary)들이 연루된 트랜잭션들을 위한 지불결제 네트워크에 의한 발행자의 출금이 포함될 수 있다. 경우에 따라서는, 발행자가 지불결제 네트워크를 통해 수취자에게 입금할 수 있다. 다른 경우에는, 발행자가 수취자에게 직접 입금할 수 있다. 자금 조달에는 청산 및 결제된 지불결제 트랜잭션들을 위한 수취자로부터 상인으로의 입금이 포함될 수 있다. 관련 기술에 숙련된 자들에게는 자명해지겠지만 위에서 검토한 단계들의 순서 및/또는 분류가 지불결제 트랜잭션 처리의 일부로서 수행된다.
판매 시점 정보 관리 시스템 - 트랜잭션 데이터, 지불결제 데이터, 및/또는 상품들 및/또는 서비스들의 구매 및/또는 상품들 및/또는 서비스들에 대한 지불결제를 위한 다른 적합한 타입의 데이터를 입력하기 위해 사용자(예컨대, 소비자, 사용인 등등)와의 상호작용을 수취하도록 구성된 컴퓨팅 기기 또는 컴퓨팅 시스템. 상기 판매 시점 정보 관리 시스템은 "브릭 앤 모타르(brick and mortar)" 점포와 같은, 고객이 상기 트랜잭션의 일부로서 방문하는 물리적 위치에 있는 물리적 기기(예컨대, 금전 등록기, 키오스크(kiosk), 데스크톱 컴퓨터, 스마트폰, 태블릿 컴퓨터 등등)일 수도 있고, 인터넷과 같은 네트워크를 통해 고객들로부터의 통신들을 수신하는 온라인 소매상인들과 같은 전자 상거래 환경들에 있는 가상적 기기일 수도 있다. 상기 판매 시점 정보 관리 시스템이 가상적 기기일 수 있는 경우에서는, 상기 트랜잭션을 개시하도록 사용자에 의해 작동되는 컴퓨팅 기기 또는 상기 트랜잭션의 결과로서 데이터를 수신하는 컴퓨팅 기기가 적용 가능할 경우에 상기 판매 시점 정보 관리 시스템으로 간주할 수 있다.
보안 요소들이 구비되어 있지 않은 모바일 기기를 사용하여
지불결제
트랜잭션들을 처리하는 시스템
도 1에는 보안 요소들의 사용을 필요로 하지 않은 모바일 기기를 사용하여 지불결제 트랜잭션들을 처리하기 위한 시스템(100)이 예시되어 있는데, 여기서 보안 요소들의 사용에는 모바일 기기에 지불결제 크리덴셜들을 안전하게 프로비저닝하는 것, 모바일 기기의 안전한 저장, 및 상기 지불결제 트랜잭션을 확인 및 처리하는데 사용하기 위한 다수의 애플리케이션 암호를 생성하는 데 있어서의 사용이 포함될 수 있다.
상기 시스템(100)은 트랜잭션 관리 서버(102)를 포함할 수 있다. 상기 트랜잭션 관리 서버(102)는 이하에서 더 구체적으로 검토되겠지만, 안전하게 전송된 원격 통지 메시지를 사용하여 지불결제 크리덴셜들을 모바일 기기(104)에 프로비저닝하기 위해, 그리고 지불결제 트랜잭션의 일부로서 상기 모바일 기기(104)에 의해 생성된 지불결제 크리덴셜들을 확인하기 위해 본원 명세서에서 검토되는 기능들을 수행하도록 특정하게 프로그램된 하나 이상의 컴퓨팅 기기들일 수 있다. 본원 명세서에서는 상기 트랜잭션 관리 서버(102)가 여러 기능을 수행하는 것으로 예시 및 검토되겠지만, 관련 기술에 숙련된 자들에게는 상기 트랜잭션 관리 서버(102)가 본원 명세서에서 검토되는 기능들을 수행하도록 구성된 다수의 컴퓨팅 기기, 서버, 및/또는 컴퓨팅 네트워크로 이루어질 수 있음이 자명할 것이다. 상기 모바일 기기(104)는 이하에서 더 구체적으로 검토되겠지만 본원 명세서에서 검토되는 기능들을 수행하는데 적합하며 셀룰러폰, 스마트폰, 스마트워치, 다른 착용 가능하거나 내장된 컴퓨팅 기기, 태블릿 컴퓨터, 랩톱 컴퓨터 등등을 포함할 수 있는, 임의 타입의 모바일 컴퓨팅 기기일 수 있다. 몇몇 실시 예들에서는, 상기 모바일 기기(104)에는 보안 요소가 구비되어 있지 않을 수 있다. 다른 실시 예들에서는, 상기 모바일 기기(104)가 보안 요소를 포함할 수 있지만, 그러한 보안 요소가 본원 명세서에서 검토되는 방법 및 시스템과 함께 사용되지 않을 수도 있고, 예컨대 부가적인 보안을 제공하기 위해 본원 명세서에서 검토되는 방법 및 시스템과 함께 사용될 수도 있다.
상기 모바일 기기(104)는 다수의 통신 채널, 예컨대 듀얼 채널 통신을 이용하는 다수의 통신 채널을 사용하여 상기 트랜잭션 관리 서버(102)와 통신할 수 있다. 듀얼 채널 통신은 예컨대 검증 및 인증을 위해 데이터를 전송 및 수신하는 2개의 통신 채널을 사용하여 데이터 전송에 있어서의 더 높은 보안을 보장하는 것을 포함할 수 있다. 상기 모바일 기기(104)는 본원 명세서에서 검토되는 상기 모바일 기기(104)의 기능들을 수행하기 위해 상기 모바일 기기(104)에 의해 실행되도록 구성된 모바일 지불결제 애플리케이션(mobile payment application; MPA)을 포함할 수 있다. 상기 MPA는 이하에서 더 구체적으로 검토되겠지만, 상기 모바일 기기(104) 상에 설치될 수 있으며 또한 상기 MPA는 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102)가 공유 데이터를 사용하여 하나 이상의 통신 채널들을 거쳐 통신들을 안전하게 전송 및 수신할 수 있게 하는 관련 기술에 숙련된 자들에게는 자명한 방법 및 시스템을 사용하여 활성화될 수 있다.
상기 시스템(100)은 또한 발행자(106)를 포함할 수 있다. 상기 발행자(106)는 트랜잭션 계정에 연관된 소비자(108)에 지불결제 카드 또는 지불결제 크리덴셜들을 발행하는 발행 은행과 같은 금융 기관일 수 있다. 상기 발행자(106)는 상기 트랜잭션 계정 및/또는 지불결제 카드에 연관된 지불결제 세부들을 상기 트랜잭션 관리 서버(102)에 제공할 수 있다. 상기 지불결제 세부들에는 예를 들면 트랜잭션 계정 번호, 계정 보유자 이름, 만료 일자, 보안 코드 등등이 포함될 수 있다. 상기 트랜잭션 관리 서버(102)는 이하에서 더 구체적으로 검토되겠지만 계정 데이터베이스에 상기 데이터를 저장할 수 있다. 상기 트랜잭션 관리 서버(102)는 상기 모바일 기기(104)에 상기 지불결제 크리덴셜들을 프로비저닝할 수 있다. 본원 명세서에서 사용되는 용어 "지불결제 크리덴셜들"은 지불결제 세부들, 지불결제 크리덴셜들, 단일 사용 키들, 세션 키들, 애플리케이션 암호들, 카드 마스터 키들 등등을 포함하지만 이들에 국한되지 않는 본원 명세서에 검토되는 방법 및 시스템을 사용하여 지불결제 트랜잭션에서 사용되는 지불결제 정보의 전송 및 확인에서 상기 모바일 기기(104) 및/또는 트랜잭션 관리 서버(102)에 의해 사용되는 임의의 데이터를 언급할 수 있다.
몇몇 실시 예들에서는, 상기 지불결제 크리덴셜들이 원격 통지 서비스 메시지들을 통해 상기 모바일 기기(104)에 프로비저닝될 수 있다. 이하에서 더 구체적으로 검토되겠지만, 상기 원격 통지 서비스(RNS) 메시지는 상기 모바일 기기(104)에 전송된 다음에 상기 모바일 기기(104)에 의해 확인되는 보안 메시지로서 내부에 포함된 데이터가 다른 기기들 및 사용자들로부터 안전할 수 있게 하는 보안 메시지일 수 있다. 상기 모바일 기기(104)의 MPA는 수신된 RNS 메시지의 진정성(眞正性; authenticity)을 검증할 수 있고 상기 수신된 RNS 메시지를 복호화하여 내부에 포함된 데이터를 획득할 수 있다. 그리고 나서, 상기 모바일 기기(104)는 (예컨대, 상기 데이터 내에 포함되어 있는 명령어들을 실행함으로써와 같이) 상기 데이터를 기반으로 하여 임의의 필요한 기능들을 수행할 수 있고, 적용 가능한 경우에, 상기 트랜잭션 관리 서버(102)로 다시 발송될 반송 메시지를 생성할 수 있다. 경우에 따라서는, 상기 반송 메시지가 상기 트랜잭션 관리 서버(102)에 의해 확인될 수 있다.
경우에 따라서는, 상기 모바일 기기(104)에서의 RNS 메시지들의 확인, 또는 상기 트랜잭션 관리 서버(102)에서의 반송 메시지들의 확인이 적어도 메시지 카운터들 및 인증 코드를 이용할 수 있다. 카운터들 및 인증 코드들의 사용은 단지 의도되는 모바일 기기(104)만이 RNS 메시지에 포함되어 있는 데이터를 확인 및 복호화하는 것이 가능할 수 있다. 그 외에도, 상기 인증 코드들의 생성에서 사용되는 규칙들 및/또는 알고리즘들이 상기 MPA에 포함되어 있는 경우에, 단지 상기 애플리케이션 프로그램의 특정 인스턴스를 또한 포함하는 모바일 기기(104)만이 RNS 메시지를 확인하는 것이 가능할 수 있음으로써, 보안이 추가로 높아지게 되는 결과를 초래한다. 상기 RNS 메시지가 지불결제 크리덴셜들을 포함할 수 있는 경우에, 이는 상기 지불결제 크리덴셜들이 단지 적합한 모바일 기기(104) 상에서만 그리고 단지 상기 지불결제 크리덴셜들에 액세스하는데 사용된 MPA가 적합하고 승인된 애플리케이션인 경우에만 이용 가능함을 보장할 수 있다.
상기 모바일 기기(104)에 프로비저닝되는 지불결제 크리덴셜들은 이하에서 더 구체적으로 검토되겠지만 카드 데이터베이스와 같은 상기 모바일 기기(104) 내의 저장소에 안전하게 저장될 수 있다. 몇몇 실시 예들에서는, 상기 모바일 기기(104)가 상기 모바일 기기(104) 내의 데이터베이스 또는 메모리 내에 지불결제 크리덴셜들과 같은 데이터를 안전하게 저장하는데 사용하기 위한 어드밴스트 저장 키(advanced storage key)를 생성하도록 구성될 수 있다. 어드밴스트 저장 키의 생성은 이하에서 더 구체적으로 검토되겠지만 고유 기기 정보, 고유 MPA 정보, 및 램덤하게 생성된 정보를 이용하여 상기 모바일 기기(104)에 데이터를 안전하게 저장하는데 사용될 수 있는 보안 저장 키를 식별할 수 있다. 그 결과로, 상기 지불결제 크리덴셜들 또는 다른 민감한 데이터는 보안 요소의 사용 없이 상기 모바일 기기(104)에 안전하게 저장될 수 있는데, 이는 상기 모바일 기기(104)가 보안 요소의 사용 없이 지불결제 트랜잭션을 개시 및 수행하는 결과를 초래하여, 고수준의 보안을 유지하면서 발행자들(106) 및 소비자들(108)에 대한 가용성을 증가시킬 수 있다.
일단 상기 모바일 기기(104)가 수신되고, 확인되며, 그리고 내부에 안전하게 저장된 트랜잭션 계정에 대한 지불결제 크리덴셜들을 지니는 경우에, 소비자(108)는 상기 모바일 기기(104)를 상인측 판매 시점 정보 관리 단말기(110)로 이동시켜 지불결제 트랜잭션을 수행할 수 있다. 상기 소비자(108)는 구매하기 위한 상품들 또는 서비스들을 선택할 수 있고, 상기 상품들 또는 서비스들의 구매를 위한 상인과의 지불결제 트랜잭션을 개시할 수 있으며, 상기 모바일 기기(104)를 사용하여 상기 지불결제 트랜잭션의 자금을 조달하는데 사용하기 위한 지불결제 크리덴셜들을 전달할 수 있다. 상기 판매 시점 정보 관리 단말기(110)로 지불결제 크리덴셜들을 전달하는 것은 2개 이상의 애플리케이션 암호의 전달을 포함할 수 있다. 2개 이상의 애플리케이션 암호의 사용은 보안 요소가 구비되어 있는 모바일 기기(104)를 사용하여 수행되는 트랜잭션들을 포함하는, 전통적인 비접촉 및 원격 트랜잭션들에서 이용 가능한 것보다 본원 명세서에서 검토되는 방법 및 시스템을 사용하여 처리되는 트랜잭션들에 대한 보안 수준이 높게 되는 결과를 초래할 수 있다.
상기 애플리케이션 암호들은 각각 이하에서 검토되는 개별 세션 키들 및 추가 데이터를 사용하여 상기 모바일 기기(104)에 의해 생성될 수 있다. 상기 어드밴스트 저장 키를 통해 보증되고 상기 MPA에 연관된 저장소에서와 같이 상기 모바일 기기(104)에서 저장된 데이터를 사용하여 생성된 애플리케이션 암호들은 상기 애플리케이션 암호들이 상기 모바일 기기(104) 및 상기 MPA의 특정 인스턴스를 인증하는 것을 보장할 수 있다. 경우에 따라서는, 상기 암호들 및/또는 상기 암호들을 생성하는데 사용되는 세션 키들 중의 하나는 개인 식별 번호(personal identification number; PIN)와 같은, 상기 소비자(108)에 의해 제공되는 정보를 사용할 수 있다. 상기 PIN 또는 다른 소비자 인증 정보의 사용은 암호가 상기 소비자(108) 및 상기 모바일 기기(104) 양자 모두를 인증하는 것을 허용할 수 있다. 그러한 경우에, 상기 모바일 기기(104)에 의해 생성된 암호들은 상기 모바일 기기(104)를 인증하는 제1 암호, 및 상기 모바일 기기(104) 및 상기 소비자(108) 양자 모두를 인증하는 제2 암호를 포함할 수 있다.
상기 암호들은 근접장(near field) 통신을 통해서와 같은 지불결제 트랜잭션의 수행의 일부로서 상기 판매 시점 정보 관리 단말기(110)에 의해 수신될 수 있다. 상기 애플리케이션 암호들은 비접촉 트랜잭션, 원격 트랜잭션, 보안 원격 지불결제 트랜잭션, 자기 스트라이프 트랜잭션, 및 M/Chip EMV 트랜잭션과 같은 임의의 적합한 타입의 지불결제 트랜잭션이라는 문맥에서 필요할 수 있고, 관련 기술에 숙련된 자들에게는 자명하겠지만 그에 따른 임의의 적합한 방법을 사용하여 상기 판매 시점 정보 관리 단말기(110)에 전송될 수 있는 것과 같은 추가 지불결제 정보를 동반할 수 있다. 상기 암호들은 상인에 연관된, 수취 은행과 같은 금융 기관일 수 있는, 수취자(112)에 전송될 수 있다. 상기 수취자(112)는 예를 들어 지불결제 트랜잭션을 위해 소비자(108)로부터의 자금들의 지불결제를 수취하는데 사용되는 트랜잭션 계정을 상인에게 발행할 수 있다. 상기 수취자(112)는 관련 기술에 숙련된 자들에게는 자명한 방법 및 시스템을 사용하여 지불결제 네트워크(114)에 상기 암호들 및 추가 트랜잭션 세부들을 제출할 수 있다. 예를 들어, 상기 트랜잭션 세부들 및 애플리케이션 암호들은 지불결제 레일들 상에서 상기 지불결제 네트워크(114)에 제출되는 승인 요구에 포함될 수 있다.
몇몇 실시 예들에서는, 양자 모두의 애플리케이션 암호들이 단일의 트랜잭션 메시시지 내에 포함될 수 있다. 예를 들면, 상기 모바일 기기(104) 및/또는 판매 시점 정보 관리 시스템(110)은 기존의 지불결제 시스템들 및 하드웨어를 사용하여 양자 모두의 애플리케이션 암호들을 전송하도록 전통적인 트랜잭션 메시지의 레거시 데이터 필드들 내에 양자 모두의 애플리케이션 암호들을 포함시킬 수 있다. 경우에 따라서는, 상기 트랜잭션 관리 서버(102)가 자기 스트라이프 트랜잭션에서와 같이 상기 애플리케이션 암호들의 유효화를 위한 트랙 2 데이터를 사용하도록 구성될 수 있다. 그러한 경우에서는, 상기 트랜잭션 메시지가 트랙 1 데이터를 포함하고 있는 경우에, 상기 트랜잭션 관리 서버(102)는 트랙 1 데이터를 트랙 2 데이터로 변환하도록 구성될 수 있으며, 이는 또한 수정된 트랙 1 또는 트랙 2 데이터를 각각 수정되지 않은 (예컨대, 원래의, 재구성된 등등의) 트랙 1 또는 트랙 2 데이터로 변환하는 것을 포함할 수 있다. 이러한 기능들을 수행함으로써, 그리고 레거시 데이터 필드들 내에 상기 애플리케이션 암호들을 포함시킴으로써, 상기 트랜잭션 관리 서버(102)는 상기 모바일 기기(104) 상에서의 보안 요소(104)의 사용을 필요로 하지 않고, 그리고 레거시 지불결제 시스템들에 대한 수정 없이, 높은 보안 수준을 갖는 모바일 기기(104)를 사용하여 원격 및 비접촉 지불결제 트랜잭션들을 처리 및 유효화하는데 사용될 수 있다.
상기 지불결제 네트워크(114)는 관련 기술에 숙련된 자들에게 자명하게 되는 방법들 및 시스템들을 사용하여 상기 지불결제 트랜잭션을 처리할 수 있다. 상기 처리의 일부로서, 상기 지불결제 네트워크(114)는 검증을 위해 상기 애플리케이션 암호들을 상기 발행자(106)에 전송할 수 있다. 몇몇 실시 예들에서는, 상기 검증이 상기 지불결제 네트워크(114)에 의해 수행될 수 있다. 상기 발행자(106) 또는 지불결제 네트워크(114)는 상기 트랜잭션 관리 서버(102)와 통신할 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 암호들이 상기 트랜잭션 관리 서버(102)에 전송될 수 있으며, 상기 트랜잭션 관리 서버(102)를 사용하여 검증용 애플리케이션 암호들의 생성을 통해 검증될 수 있고, 상기 검증용 애플리케이션 암호들은 국부적으로 저장된 지불결제 크리덴션들을 사용하여 생성될 수 있다. 다른 실시 예들에서는, 상기 발행자(106) 또는 지불결제 네트워크(114)가 상기 트랜잭션 관리 서버(102)로부터 애플리케이션 암호들을 요구할 수 있으며, 상기 트랜잭션 관리 서버(102)는 애플리케이션 암호들을 생성하고 상기 모바일 기기(104)에 의해 생성된 암호들에 대한 유효화를 위해 상기 발행자(106) 또는 지불결제 네트워크(114)로 상기 암호들을 복귀시킬 수 있다.
상기 트랜잭션 관리 서버(102)가 상기 모바일 기기(104)에 의해 사용된 지불결제 크리덴셜들 및 다른 데이터를 처리하여 상기 애플리케이션 암호들을 생성하기 때문에, 상기 지불결제 트랜잭션의 자금을 조달하도록 상기 모바일 기기(104)에 의해 생성되는 지불결제 크리덴셜들의 유효화는 상기 모바일 기기(104)에 의해 생성된 애플리케이션 암호들 및 상기 트랜잭션 관리 서버(102)에 의해 생성된 암호들의 비교를 통해 수행될 수 있다. 몇몇 실시 예들에서는, 상기 트랜잭션 관리 서버(102)가 상기 발행자(106) 또는 지불결제 네트워크(114)의 일부일 수 있다. 상기 트랜잭션 관리 서버(102)가 상기 지불결제 네트워크(114)의 일부일 수 있는 예들에서는, (예컨대, 상기 발행자(106)와의 소비자(108)의 트랜잭션 계정을 사용한 자금 조달의 승인을 위한) 지불결제 트랜잭션의 전통적인 처리의 일부로서 상기 발행자(106)와 접촉하기 전에 상기 유효화가 수행될 수 있다.
다수의 애플리케이션 암호를 사용함으로써, 상기 지불결제 트랜잭션들의 보안이 높아질 수 있다. 그 외에도, 하나의 암호가 상기 모바일 기기(104)를 인증하고 나머지 암호가 상기 모바일 기기(104) 및 상기 소비자(108) 양자 모두를 (예컨대, 소비자의 PIN을 통해) 인증하는 예들과 같이, 각각의 암호가 별도의 데이터를 인증할 수 있는 예들에 있어서, 이는 또한 트랜잭션을 승인해야 할지 또는 거부해야 할지를 결정하는데 사용하기 위한 추가 데이터 및 고려사항들을 상기 발행자(106)에게 제공할 수 있다. 예를 들면, 양자 모두의 암호들이 부정확한 경우에(예컨대, 상기 모바일 기기(104)에 의해 생성된 암호들이 상기 트랜잭션 관리 서버(102)에 의해 생성된 암호들과 매치하지 않는 경우에), 상기 트랜잭션이 거부될 수 있다. 하나의 암호가 정확하고 나머지 암호가 부정확한 경우에, 상기 트랜잭션은 보안상의 이유들 때문에 거부될 수도 있고 상기 발행자(106)의 결정을 기반으로 하는 바와 같이 승인될 수도 있다. 예를 들면, 상기 발행자(106)는 소비자 인증이 실패되었지만 모바일 인증이 통과된 트랜잭션을 승인할 수 있는데, 그 이유는 다른 이용 가능한 데이터가 승인된 사용자가 트랜잭션을 위해 상기 모바일 기기(104)를 사용하지만, 소비자(108)가 트랜잭션을 위해 상기 모바일 기기(104)를 사용하지 못함을 나타낼 수 있기 때문이다.
결과적으로, 양자 모두의 암호들의 사용은 지불결제 트랜잭션들의 처리에서 발행자들(106) 및 지불결제 네트워크들(114)에 의해 사용될 수 있는 가치 있는 데이터를 제공할 수 있다. 그 외에도, 2개 이상의 암호들의 사용은 전통적인 비접촉 또는 원격 지불결제 방법들에서보다는 높아진 보안을 제공할 수 있는데, 이는 소비자들(108), 발행자들(106), 및 상인들에 대한 사기가 줄어들고 소비자들(108), 발행자들(106), 및 상인들에 대한 수락이 높아지는 결과를 초래할 수 있다. 2개 이상의 애플리케이션 암호들의 사용이 본원 명세서에서 검토한 RNS 메시징 방법들 및 시스템들을 사용하여 안전하게 프로비저닝되고, 본원 명세서에서 검토한 방법들 및 시스템들을 사용하여 생성된 어드밴스트 저장 키들을 통해 안전하게 저장된 지불결제 크리덴셜들로부터 생성되는 것인 예들에서는, 상기 시스템(100)의 전반적인 보안이 비접촉 지불결제들 및 트랜잭션 처리를 위한 전통적인 시스템들에 비해 대단히 높아질 수 있다. 결과적으로, 상기 시스템(100)은 전통적인 비접촉 지불결제 시스템들에서 제공된 것보다 여러 데이터 전송, 저장, 및 처리 실시형태에서 높아진 보안을 제공할 수 있고, 본원 명세서에 검토한 방법들 및 시스템들을 사용할 수 있는 일반적인 원격 지불결제 트랜잭션들 및 지불결제 트랜잭션들을 제공할 수 있다.
모바일 기기
도 2에는 상기 시스템의 모바일 기기(104)의 한 실시 예가 예시되어 있다. 관련 기술에 숙련된 자들에게는 자명하겠지만, 도 2에 예시된 모바일 기기(104)의 실시 예가 단지 예시만으로 제공된 것이며 본원 명세서에서 검토한 바와 같은 기능들을 수행하기에 적합한 모바일 기기(104)의 가능한 모든 구성들에 대해 완전한 것이 아닐 수 있다. 예를 들면, 도 17에 예시되고 이하에서 더 구체적으로 검토되는 컴퓨터 시스템(1700)은 상기 모바일 기기(104)의 적합한 구성일 수 있다.
상기 모바일 기기(104)는 수신 유닛(202)을 포함할 수 있다. 상기 수신 유닛(202)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 수신하도록 구성될 수 있다. 상기 수신 유닛(202)은 예를 들어 이하에서 더 구체적으로 검토되는 모바일 지불결제 애플리케이션(mobile payment application; MPA)과 같은, 상기 모바일 기기(104) 상에 설치되고 상기 모바일 기기(104)에 의해 실행되될 하나 이상의 애플리케이션 프로그램들에 대한 프로그램 데이터를 수신할 수 있다. 상기 수신 유닛(202)은 또한 지불결제 크리덴셜들을 포함하는 RNS 메시지들을 포함하는 트랜잭션 관리 서버(102)에 의해 전송되는 메시지들과 같은 원격 통지 서비스(remote notification service; RNS) 메시지들을 수신할 수 있다. 상기 수신 유닛(202)은 또한 전화 통신들, 셀룰러 통신들 등등과 같은 모바일 기기(104)의 전통적인 기능들을 수행하기 위해 적합한 추가 데이터를 수신할 수 있다. 몇몇 예들에서는, 상기 모바일 기기(104)가 적합한 프로토콜들을 통해 하나 이상의 별도의 네트워크들과 통신하도록 각각 구성된 별도의 수신 유닛들(202)과 같은 복수 개의 수신 유닛들(202)을 포함할 수 있다. 예를 들면, 상기 모바일 기기(104)는 NFC 트랜잭션들을 위한 데이터를 수신하는 제1 수신 유닛(202), 및 모바일 통신 네트워크를 통한 통신들을 수신하는 제2 수신 유닛(202)을 포함할 수 있다.
상기 모바일 기기(104)는 또한 입력 유닛(214)을 포함할 수 있다. 상기 입력 유닛(214)은 키보드, 마우스, 클릭 휠, 스크롤 휠, 터치 스크린, 마이크로폰, 카메라, 수신기 등등과 같은 소비자(108)로부터의 입력을 수신하기 위한 상기 모바일 기기(104)에 내부적으로나 외부적으로 접속되는 하나 이상의 입력 기기들과 통신하도록 구성될 수 있다. 상기 입력 유닛(214)은 처리 유닛(204)에 의해 처리될 수 있는, 소비자(108)로부터의 입력을 수신할 수 있다.
상기 처리 유닛(204)은 본원 명세서에서 검토한 모바일 기기(104)의 기능들을 수행하도록 구성될 수 있다. 상기 처리 유닛(204)은 상기 MPA에 대한 것과 같은, 상기 모바일 기기에 저장된 프로그램 코드를 실행할 수 있으며, 각각의 애플리케이션 프로그램에 연관된 복수 개의 기능들과 아울러, 상기 모바일 기기(104)의 다른 기능들을 수행하도록 구성될 수 있다. 상기 처리 유닛(204)은 소비자(108)로부터의 입력을 상기 입력 유닛(214)을 통해 수신하고 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 애플리케이션 프로그램들을 실행하고, 프로그램들의 기능들을 수행하며, 데이터를 수신하고, 데이터를 전송하며, 데이터를 디스플레이하는 등등에 의해서와 같은 기능들을 그에 따라 수행할 수 있다. 예를 들면, 상기 처리 유닛(204)은 이하에서 더 구체적으로 검토되겠지만 RNS 메시지들을 유효화하고, 어드밴스트 저장 키들을 생성하며, 애플리케이션 암호들을 생성하도록 구성될 수 있다.
상기 모바일 기기(104)는 또한 디스플레이 유닛(210)을 포함할 수 있다. 상기 디스플레이 유닛(210)은 데이터, 예컨대 상기 처리 유닛(204)에 의한 디스플레이용으로 상기 디스플레이 유닛(210)에 전송된 데이터를 디스플레이하기 위해 상기 모바일 기기(104)에 내부적으로나 또는 외부적으로 접속되는 하나 이상의 디스플레이 기기들과 통신하도록 구성될 수 있다. 디스플레이 기기들에는 액정 디스플레이들, 발광 다이오드 디스플레이들, 박막 트랜지스터 디스플레이들, 터치 스크린 디스플레이들 등등이 포함될 수 있다.
상기 모바일 기기(104)는 또한 전송 유닛(206)을 포함할 수 있다. 상기 전송 유닛(206)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 전송하도록 구성될 수 있다. 상기 전송 유닛(206)은 RNS 응답 메시지들을 상기 트랜잭션 관리 서버(102)에 전송할 수 있다. 상기 전송 유닛(206)은 또한, 지불결제 트랜잭션에서의 사용을 위해 예컨대 판매 시점 정보 관리 시스템(110)으로 애플리케이션 암호들 및/또는 지불결제 크리덴셜들을 전송하도록 구성될 수 있다. 상기 전송 유닛(206)은 관련 기술에 숙련된 자들에게 자명하게 되겠지만 셀룰러 통신들 등등을 전송하기 위한 이동 통신 기기의 전통적인 기능들과 같은 상기 모바일 기기(104)의 추가 기능들을 수행하도록 더 구성될 수 있다. 몇몇 예들에서는, 상기 모바일 기기(104)가 NFC를 통해 지불결제 크리덴셜들 및 지불결제 암호들을 전송하도록 구성된 한 전송 유닛(206) 및 모바일 통신 네트워크를 통해 데이터를 전송하도록 구성된 다른 한 전송 유닛(206)과 같은, 하나 이상의 별도의 네트워크들과 통신하도록 별도로 구성될 수 있는 복수 개의 전송 유닛들(206)을 포함할 수 있다.
상기 모바일 기기(104)는 또한 카드 데이터베이스(208)를 포함할 수 있다. 이하에서 더 구체적으로 검토되는 카드 데이터베이스(208)는 하나 이상의 트랜잭션 계정들 및/또는 지불결제 카드들에 연관된 데이터를 저장하도록 구성된 모바일 기기(104) 상의 데이터 저장소일 수 있다. 상기 카드 데이터베이스(208)는 이하에서 더 구체적으로 검토되겠지만 보안 RNS 메시지 내에 상기 트랜잭션 관리 서버(102)에 의해 상기 모바일 기기(104)에 프로비저닝되는 바와 같은 트랜잭션 계정에 연관된 지불결제 크리덴셜들, 및 애플리케이션 암호들의 생성에서 사용될 수 있는 추가 데이터를 저장할 수 있다. 몇몇 예들에서는, 상기 카드 데이터베이스(208)가 모바일 지불결제 애플리케이션의 일부로서 저장될 수 있다.
상기 모바일 기기(104)는 메모리(212)를 더 포함할 수 있다. 이하에서 더 구체적으로 검토되는 메모리(212)는 본원 명세서에서 검토되는 모바일 기기(104)의 기능들을 수행하기 위해 적합한 모바일 기기(104)에 대한 데이터를 저장하도록 구성될 수 있다. 예를 들면, 상기 메모리(212)는 이하에서 더 구체적으로 검토되겠지만, 상기 카드 데이터베이스(208)와 같은 모바일 기기(104)에서의 추가 데이터의 암호화를 위한 어드밴스트 저장 키들의 생성에 적합한 데이터를 저장할 수 있다. 상기 메모리(212)는 또한, 운영 체계와 같은 상기 처리 유닛(204)에 의해 실행되는 애플리케이션 프로그램들을 위한 프로그램 코드, 상기 입력 유닛(214)을 통해 데이터를 수신하고 상기 디스플레이 유닛(210)을 통해 데이터를 디스플레이하기 위한 프로그램 코드, 본원 명세서에서 검토되는 기능들을 수행하기 위한 규칙들 및/또는 알고리즘들 등등을 저장하도록 구성될 수 있다. 상기 메모리(212)는 또한, 모바일 네트워크를 통해 셀룰러 통신들을 전송 및 수신하기 위한 규칙들 및/또는 알고리즘들과 같은 모바일 기기(104)의 전통적인 기능들을 수행하기 위해 적합한 데이터를 저장할 수 있다. 상기 메모리(212)에 저장된 추가 데이터는 관련 기술에 숙련된 자들에게 자명하게 될 것이다.
모바일 기기 카드 데이터베이스
도 3에는 상기 모바일 기기(104)를 가지고 수행되는 지불결제 트랜잭션들의 자금 조달에 사용하기 위한 트랜잭션 계정들에 연관된 지불결제 크리덴셜들 및 다른 데이터를 저장하기 위한 상기 모바일 기기(104)의 카드 데이터베이스(208)의 한 실시 예가 예시되어 있다.
상기 카드 데이터베이스(208)는 지불결제 프로파일들(302a, 302b, 302c)로서 도 3에 예시된 하나 이상의 지불결제 프로파일들(302)을 포함할 수 있다. 각각의 지불결제 프로파일(302)은 지불결제 트랜잭션의 자금 조달에 사용될 수 있는 트랜잭션 계정에 연관될 수 있으며 적어도 하나의 지불결제 크리덴셜들(304), 하나 이상의 단일 사용 키들(306), 제1 세션 키(308), 제2 세션 키(310), 및 애플리케이션 트랜잭션 카운터(312)를 포함할 수 있다.
상기 지불결제 크리덴셜들(304)은 관련 트랜잭션 계정을 사용한 지불결제 트랜잭션의 처리에서의 발행자(106) 및/또는 지불결제 네트워크(114)에 의한 식별 및 유효성을 위해 사용되는 관련 트랜잭션 계정에 연관된 데이터를 포함할 수 있다. 상기 지불결제 크리덴셜들(304)에는 예를 들면 트랜잭션 계정 번호, 보안 코드, 만료 일자, 카드보유자 이름, 승인된 사용자 이름, 추적 데이터, 카드 레이아웃 기술 데이터, 자리수(digit count)들, 비트맵들 등등이 포함될 수 있다.
단일 사용 키들(306)은 상기 지불결제 트랜잭션에서 사용된 애플리케이션 암호들 중 하나 이상을 생성하는데 상기 모바일 기기(104)의 처리 유닛(204)에 의해 사용될 수 있는 단일의 지불결제 트랜잭션에 대해 유효한 지불결제 토큰들일 수 있다. 몇몇 실시 예들에서는, 단일 사용 키(306)가 지불결제 프로파일(302)에 포함된 다른 데이터 요소들 중 하나 이상을 포함할 수 있다. 예를 들면, 각각의 단일 사용 키(306)는 상기 지불결제 프로파일(302)에 별도로 포함되지 않을 수 있는, 개별 애플리케이션 트랜잭션 카운터(312)를 포함할 수 있다. 본원 명세서에서 검토되는 기능들을 수행하는데 사용하기 위한 지불결제 프로파일(302)에 저장되는 데이터의 서로 다른 구성들은 관련 기술에 숙련된 자들에게 자명하게 될 것이다. 몇몇 예들에서는, 상기 단일 사용 키(306)가 상기 하나 이상의 애플리케이션 암호들을 생성하는데 사용되는 키를 포함할 수도 있고 상기 하나 이상의 애플리케이션 암호들을 생성하는데 사용되는 키로 이루어질 수도 있다. 몇몇 실시 예들에서는, 상기 제1 세션 키(308) 및 제2 세션 키(310)가 상기 모바일 기기(104)에 프로비저닝된 단일 사용 키(306)에 포함될 수 있고 그리고/또는 상기 단일 사용 키(306)에 포함된 데이터를 사용하여 생성될 수 있다.
상기 제1 세션 키(308) 및 제2 세션 키(310)는 상기 모바일 기기(104)를 사용한 지불결제 트랜잭션 수행의 일부로서 상기 판매 시점 정보 관리 시스템(110)으로 전송되는 애플리케이션 암호들의 생성에서 상기 처리 유닛(204)에 의해 사용되는 추가 키들일 수 있다. 몇몇 실시 예들에서는, 상기 제1 세션 키(308)가 예컨대 상기 모바일 기기(104)의 메모리(212)에 저장된 프로그램 코드, 규칙들, 또는 알고리즘들을 사용한 상기 처리 유닛(204)에 의한 제1 애플리케이션 암호의 생성에서 사용될 수 있다. 제2 세션 키(310)는 제2 애플리케이션 암호의 생성에 사용될 수 있다.
몇몇 실시 예들에서는, 상기 제2 세션 키(310)가 상기 처리 유닛(204)에 의해 생성될 수 있다. 그러한 실시 예에서는, 상기 제2 세션 키(310)가 소비자(108)에 의해 (예컨대, 입력 유닛(214)을 통해) 제공되는 PIN과 같은 사용자 인증 데이터 및 단일 사용 키(306)를 사용하여 생성될 수 있다. 그러한 실시 예에서는, 상기 제2 세션 키(310)가 상기 지불결제 프로파일(302)에 저장되어 있지 않을 수 있고, 그 대신에 지불결제 트랜잭션 프로세스의 일부로서 생성, 사용, 및 폐기될 수 있다. 그러므로 상기 제2 애플리케이션 암호는 상기 단일 사용 키(306) 및 상기 소비자 PIN을 사용하여 생성되는 제2 세션 키(310)로부터 생성될 경우에, 상기 모바일 기기(104) 및 상기 소비자(108) 양자 모두를 인증하는데 도움이 될 수 있다.
개인 식별 번호(personal identification number; PIN)는 소비자(108)를 인증하는데 사용될 수 있는, (예컨대, 상기 모바일 기기(104) 상에의 MPA의 등록 또는 상기 발행자(106) 및/또는 트랜잭션 관리 서버(102)를 통한 트랜잭션 계정의 등록시) 상기 소비자(108)에 의해 공급되는 번호일 수 있다. 지불결제 트랜잭션을 수행할 때, 상기 소비자(108) 또는 상기 모바일 기기(104)의 다른 사용자는 상기 입력 유닛(214)을 통해 PIN을 공급할 수 있다. 몇몇 실시 예들에서는, 상기 공급된 PIN이 부정확한(예컨대 등록시 상기 소비자(108)에 의해 공급된 PIN과 매치하지 않는) 경우에, 상기 처리 유닛(204)은 계속해서 제2 세션 키(310)를 생성하고 그 다음으로, 제2 애플리케이션 암호를 생성할 수 있다. 상기 공급된 PIN이 부정확한 경우에, 그럼으로써 상기 제2 애플리케이션 암호가 부정확하게 되고, 이는 상기 트랜잭션 관리 서버(102), 발행자(106), 및/또는 지불결제 네트워크(114)에 의한 제2 애플리케이션 암호의 유효화가 실패되는 결과를 초래하게 되며, 상기 트랜잭션 관리 서버(102), 발행자(106), 및/또는 지불결제 네트워크(114)에 의한 제2 애플리케이션 암호의 유효화의 실패는 그에 따라 상기 트랜잭션을 거절할 기회를 상기 발행자(106)에게 제공할 수도 있고 여전히 상기 트랜잭션을 승인할 수도 있다.
모바일 기기 메모리
도 4에는 상기 모바일 기기(104) 상에서의 데이터의 보안 저장 및 상기 모바일 기기(104)를 사용한 지불결제 트랜잭션들의 수행에 사용될 애플리케이션 프로그램들 및 다른 데이터를 저장하기 위한 상기 모바일 기기(104)의 상기 메모리(212)의 한 실시 예가 예시되어 있다. 한 대표적인 실시 예에서는, 상기 메모리(212)가 보안 요소가 아닐 수 있다.
상기 메모리(212)에는 기기 정보(402)가 포함될 수 있다. 상기 기기 정보(402)에는 몇몇 예들에서 상기 모바일 기기(104)에 고유할 수 있는 상기 모바일 기기(104)에 연관된 하나 이상의 데이터 부분들이 포함될 수 있다. 예를 들면, 상기 기기 정보(402)에는 미디어 액세스 제어 주소, 참조 번호, 일련 번호, 식별 번호 등등이 포함될 수 있다. 모바일 기기(104)의 기기 정보(402)로 고려할 수 있는 추가 정보는 관련 기술에 숙련된 자들에게 자명하게 될 것이다.
상기 메모리(212)에는 모바일 지불결제 애플리케이션(mobile payment application; MPA)(404)이 또한 포함될 수 있다. 상기 MPA(404)는 지불결제 크리덴셜들의 수신 및 저장, RNS 메시지들의 유효화, 및 지불결제 트랜잭션들을 수행하는데 사용하기 위한 애플리케이션 암호들의 생성과 같은 본원 명세서에서 검토되는 모바일 기기(104)의 기능들을 수행하도록 구성된 애플리케이션 프로그램일 수 있다. 상기 MPA(404)의 추가 특징들에는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 디지털 월렛 또는 다른 유사한 애플리케이션 프로그램의 전통적인 특징들이 포함될 수 있다.
상기 MPA(404)에는 프로그램 코드(406)가 포함될 수 있다. 상기 프로그램 코드(406)는 상기 모바일 기기(104)의 처리 유닛(204)에 의해 실행되는 코드로서, 상기 모바일 기기(104)의 처리 유닛(204) 및 다른 구성요소들로 하여금 본원 명세서에서 검토한 바와 같은 MPA(404)의 기능들을 수행하게 하는 코드일 수 있다. 예를 들면, 상기 프로그램 코드(406)는 애플리케이션 암호들을 생성하고, RNS 메시지들을 유효화하는 등등에 적합한 코드를 포함할 수 있다. 상기 프로그램 코드(406)는 또한, 어드밴스트 저장 키의 생성에 사용될 수 있는, 랜덤 값을 생성하기 위해 적합한 프로그램 코드를 포함할 수 있다. 상기 랜덤 값은 난수(random number) 또는 의사-난수(pseudo-random number)일 수 있으며, 이는 관련 기술에 숙련된 자들에게 자명하게 되는 방법들 및 시스템들을 사용하여 생성될 수 있다.
상기 MPA(404)에는 인스턴스 식별자(408)가 또한 포함될 수 있다. 상기 인스턴스 식별자(408)는 특정 MPA(404)에 고유한 값일 수 있으며, 이는 상기 카드 데이터베이스(208)와 같은 모바일 기기(104)에서 데이터를 안전하게 하는데 사용되는 어드밴스트 저장 키의 생성에 사용될 수 있다. 상기 인스턴스 식별자(408)를 상기 MPA(404)에 고유하게 함으로써, 다수의 MPA(404)는 어떤 MPA(404)가 다른 어떤 MPA(404)에 의해 안전하게 저장되어 있는 데이터에 액세스하지 않아도 상기 모바일 기기(104) 상에 설치될 수 있고, 그럼으로써 이는 특정 트랜잭션 계정들에 대한 지불결제 프로파일들(302)이 다른 프로그램들에 의해 액세스 가능하지 않게 한다. 상기 인스턴스 식별자(408)는 숫자, 영숫자 값, 16진수 값, 또는 MPA(404)에 고유할 수 있는 임의의 적합한 값일 수 있다.
이하에서 더 구체적으로 검토되겠지만, 상기 모바일 기기(104)의 처리 유닛(204)은 상기 기기 정보(402)를 사용하여 다원화 값(diversifier value)을 생성하도록 구성될 수 있으며, 상기 랜덤 값은 상기 MPA(404)의 프로그램 코드(406)를 사용하여 생성되고, 상기 인스턴스 식별자(408)는 상기 MPA(404)에 저장된다. 상기 다원화 값은 상기 메모리(212)에 또한 저장된 암호화 애플리케이션(410)에 의해 사용될 수 있다. 상기 암호화 애플리케이션(410)은 관련 기술에 숙련된 자들에게 자명하게 되는 화이트 박스 암호화 및/또는 다른 어떤 적합한 암호화 기능을 수행하도록 구성된 애플리케이션 프로그램일 수 있다.
상기 암호화 애플리케이션(410)에는 프로그램 코드(412)가 포함될 수 있다. 상기 프로그램 코드(412)는 상기 모바일 기기(104)의 처리 유닛(204) 및 다른 구성요소들로 하여금 본원 명세서에서 검토되는 암호화 애플리케이션(410)의 암호화 기능들을 수행할 수 있게 하도록 상기 모바일 기기(104)의 처리 유닛(204)에 의해 실행될 수 있다. 상기 기능들은 어드밴스트 저장 키의 생성을 포함할 수 있다. 상기 어드밴스트 저장 키는 상기 암호화 애플리케이션(410)에 포함된 암호화 키(414) 및 상기 모바일 지불결제 애플리케이션(404)에 의해 생성되는 다원화 값을 사용하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 다원화 값이 상기 암호화 키(414)를 사용하여 상기 어드밴스트 저장 키를 획득하도록 복호화될 수 있다.
상기 암호화 애플리케이션(410)은 또한, 상기 어드밴스트 저장 키를 사용하여 상기 모바일 기기(104) 내의 저장소를 암호화하도록 구성될 수 있다. 몇몇 실시 예들에서는, 상기 암호화가 하나 이상의 박스 암호화 기법들을 사용하여 수행될 수 있다. 상기 암호화된 저장소는 상기 MPA(404)에 저장된 데이터와 같은, 카드 데이터베이스(208) 및/또는 다른 어떤 적합한 저장소일 수 있다. 몇몇 실시 예들에서는, 상기 암호화 애플리케이션(410)이 상기 MPA(404)의 일부로서 포함될 수 있다. 상기 어드밴스트 저장 키는 암호화 애플리케이션(410) 또는 MPA(404)에 포함될 수도 있고, 필요할 때 상기 MPA(404) 및 암호화 애플리케이션(410)에 의해 재생성될 수도 있다.
상기 메모리(212)에는 또한 본원 명세서에서 검토한 기능들을 수행하기 위해 적합한 상기 모바일 기기(104)에 저장된 임의의 추가 데이터와 아울러, 모바일 기기들의 임의의 추가 기능들이 포함될 수 있다. 예를 들어, 상기 메모리(212)에는 전화 호출들 등등과 같은 모바일 통신들을 수신 및 전송하기 위한 운영 시스템, 코드, 규칙들, 또는 알고리즘들을 위한 프로그램 코드가 포함될 수 있다.
몇몇 실시 예들에서는, 상기 모바일 기기(104)가 또한, 상기 메모리(212), 상기 카드 데이터베이스(208), 또는 다른 적합한 저장소에서와 같은 상기 모바일 기기(104)에 내재하는 암호화된 국부 저장소에서 저장될 수 있는 추가 저장 키를 사용하여 이미 암호화된 데이터를 수신하도록 구성될 수 있다. 그러한 실시 예에서는, 상기 모바일 기기(104)가 상기 생성된 랜덤 값을 사용하여 동일한 방법들 및 시스템들을 사용하여 상기 어드밴스트 저장 키를 생성할 수 있으며 상기 모바일 기기(104)에 프로비저닝되는 데이터를 암호화할 수 있는, 트랜잭션 관리 서버(102) 또는 다른 신뢰 가능한 실체에 상기 생성된 랜덤 값을 전송하도록 구성될 수 있다. 따라서, 상기 모바일 기기(104)는 상기 모바일 기기(104)에서의 국부 저장을 위해 상기 어드밴스트 저장 키를 사용하여 이미 암호화된 데이터를 수신할 수 있다.
트랜잭션 관리 서버
도 5에는 상기 시스템(100)의 트랜잭션 관리 서버(102)의 한 실시 예가 예시되어 있다. 관련 기술에 숙련된 자들에게는 자명하게 되겠지만, 도 5에 예시된 트랜잭션 관리 서버(102)의 실시 예가 단지 예시만으로써 제공된 것이며 본원 명세서에서 검토한 바와 같은 기능들을 수행하기에 적합한 트랜잭션 관리 서버(102)의 가능한 모든 구성들에 대해 완전한 것이 아닐 수 있다. 예를 들면, 도 17에 예시되어 있으며 이하에서 더 구체적으로 검토되는 컴퓨터 시스템(1700)이 상기 트랜잭션 관리 서버(102)의 적합한 구성일 수 있다.
상기 트랜잭션 관리 서버(102)는 수신 유닛(502)을 포함할 수 있다. 상기 수신 유닛(502)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 수신하도록 구성될 수 있다. 상기 수신 유닛(502)은 수신 또는 복귀 메시지들, 확인 메시지들, 트랜잭션 통지들 등등과 같은 모바일 기기(104)로부터의 데이터, 지불결제 네트워크(114), 발행자(106), 또는 다른 적합한 실체로부터의 데이터를 수신하도록 구성될 수 있다. 상기 수신 유닛(502)은 예컨대 지불결제 트랜잭션에서의 지불결제 크리덴션들의 유효화에서 사용하기 위한 애플리케이션 암호들의 생성을 개시하도록 트랜잭션 통지들 또는 암호 요구들을 수신할 수 있다. 상기 수신 유닛(502)은 또한, 상기 모바일 기기(104)로의 프로비저닝을 위해 지불결제 크리덴셜들을 생성하는데 사용하기 위해 예컨대 상기 발행자(106)로부터의 트랜잭션 계정 데이터를 수신할 수 있다.
상기 트랜잭션 관리 서버(102)는 또한 처리 유닛(504)을 포함할 수 있다. 상기 처리 유닛(504)은 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 본원 명세서에서 검토한 트랜잭션 관리 서버(102)의 기능들을 수행하도록 구성될 수 있다. 따라서, 상기 처리 유닛(504)은 이하에서 더 구체적으로 검토되겠지만 본원 명세서에 포함된 RNS 메시지들 및 데이터를 생성 및 암호화하고, 상기 모바일 기기(104)로부터의 복귀 메시지들을 유효화하며, 지불결제 크리덴셜들을 생성하고, 애플리케이션 암호들을 생성하며, 애플리케이션 암호들을 유효화하는 등등을 수행하도록 구성될 수 있다.
상기 트랜잭션 관리 서버(102)는 전송 유닛(506)을 부가적으로 포함할 수 있다. 상기 전송 유닛(506)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 전송하도록 구성될 수 있다. 상기 전송 유닛(506)은 관련 기술에 숙련된 자들에게 자명하게 되는 RNS 메시지들, 지불결제 크리덴셜들, 애플리케이션 암호들, 유효화 통지들, 및 다른 데이터를 전송할 수 있다. 상기 전송 유닛(506)은 예컨대 모바일 통신 네트워크 또는 인터넷, 지불결제 네트워크(114), 발행자(106), 및 다른 어떤 적합한 실체를 통해 데이터를 상기 모바일 기기(104)로 전송하도록 구성될 수 있다.
상기 트랜잭션 관리 서버(102)는 또한 계정 데이터베이스(508)를 포함할 수 있다. 이하에서 더 구체적으로 검토되는 계정 데이터베이스(508)는 복수 개의 트랜잭션 계정들에 대한 계정 정보를 저장하도록 구성될 수 있다. 상기 계정 정보에는 상기 모바일 기기(104)를 사용하여 수행되는 지불결제 트랜잭션들 동안 수신된 지불결제 크리덴셜들의 유효화에 사용되는 애플리케이션 암호들의 생성을 위해 사용되는 데이터 및 키들이 포함될 수 있다. 상기 계정 데이터베이스(508)는 또한, 관련 트랜잭션 계정의 소비자(108) 또는 다른 승인된 사용자들에 연관된 데이터와 같은, 상기 모바일 기기(104)를 수반하여 수행되는 지불결제 트랜잭션들에 대한 트랜잭션 데이터 및 다른 데이터를 저장하도록 구성될 수 있다.
상기 트랜잭션 관리 서버(102)는 또한 메모리(510)를 포함할 수 있다. 상기 메모리(510)는 본원 명세서에서 개시한 기능들을 수행하는데 상기 트랜잭션 관리 서버(102)에 의해 사용되기 위한 추가 데이터를 저장하도록 구성될 수 있다. 예를 들면, 상기 메모리(510)는 애플리케이션 암호들의 유효화를 위한 규칙들 또는 알고리즘들, 유효화 통지들의 생성을 위한 규칙들 또는 알고리즘들, 세션 키들 및 애플리케이션 암호들의 생성을 위한 알고리즘들, 데이터 및 RNS 메시지들의 암호화 및 복호화를 위한 암호화 키들 등등을 저장할 수 있다. 상기 메모리(510)에 저장될 수 있는 추가 데이터는 관련 기술에 숙련된 자들에게 자명하게 된다.
트랜잭션 관리 서버 계정 데이터베이스
도 6에는 상기 모바일 기기(104)를 포함하는 지불결제 트랜잭션들의 수행에서 제공되는 지불결제 크리덴셜들 및 다른 트랜잭션 데이터를 유효화하는데 사용하기 위한 트랜잭션 계정들에 관련된 데이터를 저장하기 위한 상기 트랜잭션 관리 서버(102)의 계정 데이터베이스(508)의 한 실시 예가 예시되어 있다.
상기 계정 데이터베이스(508)에는 계정 프로파일들(602a, 602b, 602c)로서 도 6에 예시되어 있는 복수 개의 계정 프로파일들(602)이 포함될 수 있다. 각각의 계정 프로파일(602)에는 하나 이상의 단일 사용 키들(604), 제1 세션 키(606), 제2 세션 키(608), 애플리케이션 트랜잭션 카운터(610), 및 제1 카드 마스터 키(612)가 포함될 수 있다. 몇몇 실시 예들에서는, 계정 프로파일(602)이 제2 카드 마스터 키(612)가 부가적으로 포함될 수 있다.
각각의 계정 프로파일(602)은 모바일 기기(104)로 프로비저닝되는 지불결제 프로파일(302)에 상응할 수 있다. 이 때문에, 계정 프로파일(602)에 저장된 단일 사용 키들(604)은 동일한 트랜잭션 계정에 관련된 상응하는 지불결제 프로파일(302)에 저장된 단일 사용 키들(306)에 상응할 수 있다. 상기 데이터는 애플리케이션 암호가 상기 트랜잭션 관리 서버(102) 또는 상기 모바일 기기(104)에 의해 생성될 경우에, 상기 데이터가 정확하고 변조되지 않았다면 상기 애플리케이션 암호들이 매치하여야 하는데, 이는 상기 모바일 기기(104)에 의해 제시된 지불결제 크리덴셜들의 유효화를 가능하게 할 수 있다.
몇몇 실시 예들에서는, 계정 프로파일(602)에는 상응하는 지불결제 프로파일(302) 내에 저장되어 있는 PIN(314)에 상응하는 개인 식별 번호(personal identification number; PIN)가 포함될 수 있다. 그러한 실시 예에서는, 상기 PIN(314)이 이하에서 더 구체적으로 검토되는 상기 모바일 기기(104)에 의해 제공되는 수신 메시지와 같은 보안 메시지를 통해 트랜잭션 관리 서버(102)의 수신 유닛(202)으로 제공될 수 있다. 다른 실시 예들에서는, 카드 마스터 키는 상기 제1 카드 마스터 키(612)와 같이 상기 PIN 대신에 사용될 수 있다. 그러한 실시 예에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 상기 단일 사용 키(306) 및 상기 PIN(314)을 사용하여 상기 모바일 기기(104)에 의해 생성된 제2 세션 키(310)에 상응하는 제2 세션 키(608)를 상기 제2 카드 마스터 키(614)를 기반으로 하여 생성하도록 구성될 수 있다. 몇몇 예들에서는, 상기 제2 세션 키(608)가 또한 상기 상응하는 단일 사용 키(604)를 기반으로 하여 이루어질 수 있다. 그러한 실시 예들에서는, 세션 키들 및/또는 애플리케이션 암호들의 생성을 위한 알고리즘들이 상기 모바일 기기(104) 및 상기 트랜잭션 관리 서버(102)에 의해 생성된 암호들이 본원 명세서에서 사용된 데이터를 기반으로 하여 이루어지게 할 수 있다.
상기 제1 세션 키(606)는 제1 애플리케이션 암호를 생성하는데 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)에 의해 사용될 수 있으며, 상기 제2 세션 키(608)는 제2 애플리케이션 암호를 생성하는데 사용될 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 트랜잭션 카운터(610)가 상기 세션 키들 및/또는 애플리케이션 암호들 중 하나 이상의 생성에 사용될 수 있다. 상기 애플리케이션 트랜잭션 카운터(610)는 각각의 트랜잭션 동안 증분되거나 이와는 달리 수정되는 수행될 지불결제 트랜잭션에 상응하는 값일 수 있다. 상기 애플리케이션 트랜잭션 카운터(610)는 상기 모바일 기기(104)에서 상응하는 지불결제 프로파일(302)에 저장된 애플리케이션 트랜잭션 카운터(312)에 상응할 수 있고, 그럼으로써 그의 사용이 단지 유효한 MPA(404)가 유효한 세션 키들 및/또는 애플리케이션 암호들을 생성하도록 정확한 애플리케이션 트랜잭션 카운터(312)를 소유할 수 있게 해준다. 관련 기술에 숙련된 자들에게 자명하게 되는 예측 불가능한 수들 및 다른 기법들과 같은 상기 세션 키 및/또는 애플리케이션 암호 생성의 보안을 더 강화시키기 위한 추가 기법들이 사용될 수 있다.
모바일 기기를 사용한
지불결제
트랜잭션들의 처리
도 7에는 보안 요소를 지니지 않는 모바일 기기(104)를 사용하여 그리고 2개 이상의 애플리케이션 암호들의 생성 및 유효화를 사용하여 수행되는 지불결제 트랜잭션들의 처리를 위한 프로세스가 예시되어 있다.
단계 702에는, 상기 트랜잭션 관리 서버(102)가 예컨대 이하에서 더 구체적으로 검토되는 RNS 메시지를 통해 상기 모바일 기기(104)로 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 (예컨대 상기 전송 유닛(506)을 통해) 프로비저닝할 수 있다. 단계 704에서는, 상기 모바일 기기(104)의 수신 유닛(202)이 상기 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 수신할 수 있다. 단계 706에서는, 상기 모바일 기기(104)의 처리 유닛(204)이 상기 카드 데이터베이스(208)의 지불결제 프로파일(302) 내에 상기 데이터를 저장할 수 있다. 상기 계정 데이터에는 상기 지불결제 크리덴셜들(304), 하나 이상의 단일 사용 키들(308), 및 상기 세션 키들(308, 310) 중 하나 이상과 같은 다른 어떤 적합한 데이터가 포함될 수 있다.
단계 708에서는, 상기 처리 유닛(204)이 지불결제 트랜잭션을 수행하는데 사용하기 위한 2개의 애플리케이션 암호를 생성할 수 있다. 몇몇 실시 예들에서는, 단계 708이 상기 입력 유닛(214)을 통해 나타내는 방법, 근접장 통신을 통한 트랜잭션을 개시하도록 판매 시점 정보 관리 시스템(110) 부근에 상기 모바일 기기(104)를 배치하는 방법, 또는 다른 적합한 방법에 의해서와 같이 상기 소비자(108)에 의해 개시될 수 있다. 상기 애플리케이션 암호들의 생성은 상기 지불결제 프로파일(302)에 저장된 제1 세션 키(308)를 사용하여 제1 애플리케이션 암호를 생성하는 것을 포함할 수 있다. 상기 제2 애플리케이션 암호는 제2 세션 키(310)를 사용하여 생성될 수 있으며, 상기 제2 세션 키(310)는 단일 사용 키(306) 및 PIN(314)을 사용하여 생성될 수 있다. 몇몇 예들에서는, 상기 소비자(108)가 단계 708 또는 단계 708의 개시 동안 PIN을 (예컨대, 상기 입력 유닛(214)을 통해) 상기 모바일 기기(104) 내에 입력할 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 암호들 중 하나 또는 양자 모두가 또한 상기 애플리케이션 트랜잭션 카운터(312)를 사용하여 생성될 수 있다.
일단 상기 애플리케이션 암호들이 생성되면, 상기 애플리케이션 암호들은 상기 지불결제 크리덴셜들(304)과 함께 상기 판매 시점 정보 관리 시스템(110), 수취자(112), 및 지불결제 네트워크(114)를 통해 상기 발행자(106)에게로 전송될 수 있다. 상기 지불결제 크리덴셜들(304) 및 애플리케이션 암호들은 단계 710에서 상기 발행자(106)에 의해 수신될 수 있다. 단계 712에서, 상기 모바일 기기(104)의 전송 유닛(206)은 트랜잭션 통지를 상기 트랜잭션 관리 서버(102)로 전송할 수 있다. 단계 714에서는, 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)이 상기 트랜잭션 통지를 수신할 수 있다. 상기 트랜잭션 통지는 상기 모바일 기기(104)가 상기 지불결제 프로파일(302)을 사용하여 지불결제 트랜잭션을 개시했음을 상기 트랜잭션 관리 서버(102)에 알려줄 수 있다. 몇몇 예들에서는, 상기 트랜잭션 통지에 식별 정보가 포함될 수 있다.
단계 716에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 상기 지불결제 프로파일(302)에 상응하는 계정 프로파일(602)을 식별할 수 있으며 내부에 포함된 데이터를 사용하여 2개의 애플리케이션 암호들을 생성할 수 있다. 상기 제1 애플리케이션 암호는 상기 제1 세션 키(606)를 사용하여 생성될 수 있으며, 상기 제1 세션 키(606)는 상기 제1 카드 마스터 키(612)를 사용하여 생성될 수 있다. 상기 제2 애플리케이션 암호는 상기 제2 세션 키(608)를 사용하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 암호들 및/또는 세션 키들 중 하나 또는 양자 모두가 상기 단일 사용 키들(604), 애플리케이션 트랜잭션 카운터(610), 또는 다른 어떤 적합한 데이터를 기반으로 하여 부가적으로 이루어질 수 있다.
단계 718에서는, 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)이 상기 생성된 애플리케이션 암호들을 상기 발행자(106)에게로 전송할 수 있으며, 상기 발행자(106)는 단계 718에서 상기 암호들을 수신할 수 있다. 단계 720에서는, 상기 발행자(106)가 상기 지불결제 크리덴션들(304)을 수반하여 상기 모바일 기기(104)에 의해 제공되는 애플리케이션 암호들을 유효화할 수 있다. 상기 애플리케이션 암호들의 유효화는 상기 트랜잭션 관리 서버(102)에 의해 생성 및 공급된 애플리케이션 암호들과 상기 모바일 기기(104)에 의해 공급된 암호들을 비교하는 것을 포함할 수 있다. 일단 유효화가 수행되면, 단계 722에서는, 상기 발행자(106)가 그에 따라 상기 트랜잭션을 처리할 수 있다. 트랜잭션 처리는, 예컨대 상기 암호들 중 하나 또는 양자 모두가 유효화되는 경우에 지불결제 트랜잭션의 승인을 포함할 수도 있고 예컨대 상기 암호들 중 하나 또는 양자 모두가 유효하지 않은 것으로 결정되는 경우에 지불결제 트랜잭션의 거부를 포함할 수도 있다.
단계 724에서는, 트랜잭션 통지가 상기 지불결제 트랜잭션 처리의 일부로서 상기 발행자(106), 또는 다른 실체(예컨대, 상기 지불결제 네트워크(114), 수취자(112) 등등)에 의해 전송될 수 있다. 상기 트랜잭션 통지는 단계 726에서 상기 트랜잭션 관리 서버(102)로 전송되고 상기 수신 유닛(502)에 의해 수신될 수 있다. 상기 트랜잭션 통지는 또한 단계 728에서 상기 모바일 기기(104)의 수신 유닛(202)에 의해 수신될 수 있다. 상기 트랜잭션 통지는 상기 지불결제 트랜잭션의 승인 또는 거부의 표시일 수 있다. 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102) 각각의 처리 유닛들(204, 504)은 각각 수신된 트랜잭션 통지의 결과로서 하나 이상의 기능들을 수행할 수 있다. 예를 들어, 상기 트랜잭션이 승인되어 성공적으로 처리된 경우에, 상기 애플리케이션 트랜잭션 카운터들(310, 610)은 대응하는 프로파일들에서 그에 따라 업데이트될 수 있다.
도 8에는 상기 모바일 기기(104)를 사용하여 지불결제 트랜잭션을 처리하기 위한 변형적인 프로세스가 예시되어 있다.
단계 802에서는, 상기 지불결제 크리덴셜들(304) 및 다른 계정 데이터가 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)에 의해 상기 모바일 기기(104)에 전송될 수 있다. 단계 804에서는, 상기 모바일 기기(104)의 수신 유닛(202)이 단계 806에서 지불결제 프로파일(302) 내에 저장될 수 있는, 지불결제 크리덴션들(304) 및 다른 계정 데이터를 수신할 수 있다. 단계 808에서는, 상기 모바일 기기(104)의 처리 유닛(204)이 위에서 검토한 바와 같이 상기 2개의 애플리케이션 암호들을 생성할 수 있으며, 상기 암호들, 지불결제 크리덴셜들(304), 및 다른 적합한 데이터를 (예컨대, 판매 시점 정보 관리 시스템(110)을 통해) 상기 발행자(106)에게로 전송할 수 있다.
단계 810에서는, 상기 발행자(106)가 상기 트랜잭션 데이터를 유효화하고 그리고/또는 상기 트랜잭션의 승인 또는 거부를 처리하는데 상기 발행자(106)에 의해 사용될 수 있는 애플리케이션 암호들 및 다른 어떤 적합한 데이터를 수신할 수 있다. 단계 812에서는, 상기 발행자(106)가 유효화 암호들에 대한 요구를 상기 트랜잭션 관리 서버(102)로 제출할 수 있다. 몇몇 실시 예들에서는, 상기 요구에는 상기 유효화 암호들을 생성하는데 사용될 계정 프로파일(602)을 식별함에 있어서의 상기 트랜잭션 관리 서버(102)에 의한 사용에 적합한 지불결제 크리덴셜들(304) 또는 다른 데이터가 포함될 수 있다. 한 실시 예에서는, 상기 요구에는 유효화를 위해 상기 모바일 기기(104)에 의해 생성된 2개의 애플리케이션 암호들이 부가적으로 포함될 수 있다.
단계 814에서는, 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)이 암호 요구를 수신할 수 있다. 단계 816에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 위에서 검토한 바와 같이 유효화를 위해 사용될 2개의 애플리케이션 암호들을 생성할 수 있다. 상기 암호 요구에는 상기 모바일 기기(104)에 의해 생성된 2개의 애플리케이션 암호들이 또한 포함되는 실시 예들에서는, 단계 816이 또한 2개의 새롭게 생성된 애플리케이션 암호들을 사용한 상기 처리 유닛(504)에 의한 2개의 암호들의 유효화를 포함할 수 있다. 적용 가능한 실시 예들에서의 유효화 암호들, 또는 유효화 결과는 상기 전송 유닛(506)에 의해 상기 발행자(106)에 전송될 수 있다. 단계 818에서는, 상기 발행자(106)가 유효화 암호들 및/또는 유효화 결과를 수신할 수 있다.
단계 820에서는, 상기 발행자(106)가 상기 트랜잭션 관리 서버(102)에 의해 생성된 애플리케이션 암호들을 사용하여 상기 모바일 기기(104)에 의해 제공된 애플리케이션 암호들을 유효화할 수 있다. 상기 트랜잭션 관리 서버(102)가 유효화 결과를 상기 발행자(106)에 제공하는 실시 예들에서는, 단계 820이 2개의 애플리케이션 암호들 각각의 유효화의 결과를 식별하는 것을 포함할 수 있다. 단계 822에서는, 상기 발행자(106)가 그에 따라 상기 유효화의 결과를 기반으로 하여 상기 지불결제 트랜잭션을 처리할 수 있다. 단계 824에서는, 트랜잭션 통지들이 단계들 826 및 828 각각에서 상기 트랜잭션 관리 서버(102)로 전송될 수 있고 대응하는 수신 유닛들(502, 202)에 의해 수신될 수 있다.
원격 통지 서비스 및 데이터
메시징
도 9에는 상기 트랜잭션 관리 서버(102)로부터 상기 모바일 기기(104)로 전송되는 원격 통지 서비스(remote notification service; RNS) 메시지들 및 다른 데이터 메시지들의 전송 및 유효화를 위한 프로세스가 예시되어 있다. RNS 메시지들은 상기 모바일 기기(104)에 연관된 모바일 통신 네트워크를 이용하는 것과 같은 원격 통지 서비스를 통해 전송될 수 있다. RNS 메시지들은 위에서 검토한 바와 같이 지불결제 트랜잭션들의 처리에서 사용되는 계정 데이터, 및 상기 모바일 기기(104) 및 상기 트랜잭션 관리 서버(102) 간의 보안 접속의 확립에서 사용될 수 있는 다른 정보와 같이, 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 프로비저닝하는데 사용될 수 있다.
단계 902에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 메시지를 생성할 수 있다. 상호 인증이 상기 모바일 기기(104)를 가지고 확립되는 예들에서는, 상기 메시지에 세션 식별자와 같은, 상기 상호 인증을 확립하기 위해 적합한 정보가 포함될 수 있다. 상호 인증이 도 9에 예시되고 본원 명세서에서 검토한 프로세스를 사용하여 상기 트랜잭션 관리 서버(102) 및 모바일 기기(104) 간에 확립된 경우와 같은 다른 예들에서는, 상기 생성된 메시지에 지불결제 크리덴셜들(304) 및 계정 데이터가 포함될 수도 있고, 상기 모바일 기기(104)의 MPA(404)에 의해 실행될 하나 이상의 커맨드들(예컨대, 단일 사용 키들(306) 또는 지불결제 크리덴셜들(304) 등등의 제거)가 포함될 수도 있으며, 소비자(108)에 제시될 통지들(예컨대, 계정 밸런스들, 지불결제 통지들 등등)이 있을 수도 있고, 다른 적합한 데이터가 포함될 수도 있다.
단계 904에서는, 상기 처리 유닛(504)이 상기 생성된 메시지를 암호화할 수 있다. 상기 메시지는 개인/공개 키 쌍의 개인 키를 사용하여 암호화될 수 있으며, 이 경우에 상기 모바일 기기(104)는 상응하는 공개 키를 소유할 수 있다. 몇몇 예들에서는, 상기 메시지가 상기 암호화 키(414)와 같은 상기 MPA 또는 상기 모바일 기기(104)에 연관된 암호화 키를 사용하여 암호화될 수 있다. 단계 906에서는, 상기 처리 유닛(504)이 메시지 인증 코드를 생성할 수 있다. 상기 메시지 인증 코드는 상기 암호화된 메시지를 사용하여 생성될 수 있으며 하나 이상의 특별히 구성된 규칙들 및/또는 알고리즘들을 사용하여 생성되는 키일 수 있다. 예를 들어, 상기 메시지 인증 코드는 패딩(padding)과 같은 하나 이상의 암호화 및 난독화(obfuscation) 방법들을 사용하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 메시지 인증 코드가 상기 암호화 키를 사용하여 생성될 수 있다.
단계 908에서는, 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)이 조합된 데이터 메시지를 상기 모바일 기기(104)에 전송할 수 있다. 상기 상호 인증이 수행될 수 있게 되는 실시 예들에서는, 상기 조합된 데이터 메시지가 상기 원격 통지 서비스를 통해 상기 모바일 기기(104)로 전송되는 원격 통지 서비스 메시지일 수 있다. 상기 조합된 데이터 메시지는 단계 910에서 상기 모바일 기기(104)의 수신 유닛(202)에 의해 수신될 수 있으며, 상기 조합된 데이터 메시지에는 상기 메시지 인증 코드 및 상기 암호화된 메시지가 포함될 수 있다. 몇몇 예들에서는, 상기 조합된 데이터 메시지에 상기 조합된 데이터 메시지의 검증을 위해 상기 MPA(404)를 대상으로 하여 공지된 방법들을 사용하여 생성된 것과 같은 추가 식별자가 또한 포함될 수 있다. 상호 인증이 이미 수행된 경우와 같은 어떤 경우에는, 상기 조합된 데이터 메시지에 메시지 카운터가 또한 포함될 수 있다.
단계 912에서는, 상기 처리 유닛(204)이 참조 인증 코드를 생성할 수 있다. 상기 참조 인증 코드는 상기 수신된 암호화된 메시지를 사용하여 생성될 수 있으며 상기 메시지 인증 코드를 생성하는데 사용되는 트랜잭션 관리 서버(102)와 같은 규칙들 및 알고리즘들을 사용하여 생성될 수 있고, 그럼으로써 상기 메시지 인증 코드가 신뢰할 수 있는 소스(예컨대, 상기 트랜잭션 관리 서버(102))에 의해 생성되는 경우에 상기 생성된 참조 인증 코드가 상기 메시지 인증 코드에 상응하게 된다. 상기 메시지 인증 코드가 상기 암호화 키를 사용하여 생성될 수 있는 실시 예들에서는, 상기 처리 유닛(204)이 상기 메모리(212)에 저장된 암호화 키(414) 또는 다른 적합한 암호화 키를 사용하여 상기 참조 인증 코드를 생성할 수 있다.
단계 914에서는, 상기 처리 유닛(204)이 상기 수신된 조합된 데이터 메시지 내에 포함된 메시지 인증 코드를 상기 생성된 참조 인증 코드에 대해 비교함으로써 상기 수신된 조합된 데이터 메시지 내에 포함된 메시지 인증 코드를 유효화할 수 있다. 상기 메시지 카운터 및 메시지 인증 코드 모두가 유효화되는 경우에, 상기 조합된 데이터 메시지는 상기 트랜잭션 관리 서버(102)로부터 비롯된 것으로 신뢰할 수 있는 것으로(예컨대, 진정한 것으로) 결정될 수 있다. 상기 조합된 데이터 메시지에 메시지 식별자가 포함될 수 있는 예들에서는, 상기 처리 유닛(204)이 또한, 상기 조합된 데이터 메시지의 생성 및 비교를 위해 상기 MPA(404)에 의해 알려진 프로세스를 사용하여 메시지 식별자를 생성함으로써 상기 메시지 식별자를 유효화할 수 있다. 상기 조합된 데이터 메시지에 메시지 카운터가 포함될 수 있는 실시 예들에서는, 상기 처리 유닛(204)이 상기 모바일 기기(104)에, 예컨대 상기 MPA(404)에나 또는 지불결제 프로파일(502)에 저장된 참조 카운터와 함께 상기 수시된 조합된 데이터 메시지에 포함된 메시지 카운터를 유효화할 수 있다.
단계 916에서는, 상기 처리 유닛(204)이 상기 수신된 조합된 데이터 메시지에 포함되어 있는 암호화된 메시지를 복호화할 수 있다. 상기 암호화된 메시지는 상기 메모리(212)에(예컨대, 상기 암호화 애플리케이션(410) 또는 MPA(404)에) 저장되거나 암호화된(예컨대, 어드밴스트 저장 키를 사용하여 암호화된) 국부 데이터베이스에 저장된 키, 또는 다른 적합한 복호화 방법을 사용하여 복호화될 수 있다. 단계 918에서는, 상기 처리 유닛(204)에서는, 상기 처리 유닛(204)이 상기 암호화된 메시지로부터 복호화된 데이터를 기반으로 하여 하나 이상의 적합한 액션들을 수행할 수 있다. 도 9에 예시된 예에서는, 상기 모바일 기기(104)가 예컨대 상기 암호화된 메시지 내에 포함되어 있고 상기 처리 유닛(204)에 의해 복호화되는 세션 식별자를 사용하여, 상기 트랜잭션 관리 서버(102)와의 상호 인증을 수행할 수 있다. 단계 920에서는, 상기 트랜잭션 관리 서버(102)가 상기 세션 식별자를 수신할 수 있으며 상기 모바일 기기(104)와의 상호 인증을 위해 필요한 임의의 추가 액션들을 수행할 수 있다. 상호 인증이 이미 수행된 경우들에서는, 상기 메시지에 지불결제 크리덴셜들(404), 단일 사용 키들(406), 및 상기 MPA(404)를 위한 프로그램 명령어들 등등과 같은, 본원 명세서에 개시되어 있는 기능들을 수행하기 위해 적합한 다른 정보가 포함될 수 있다.
몇몇 실시 예들에서는, 상기 모바일 기기(104)가 복귀 메시지를 생성하고 이를 상기 트랜잭션 관리 서버(102)에 제출하도록 (예컨대, 상기 MPA(404)를 통해) 구성될 수 있다. 몇몇 예들에서는, 상기 복귀 메시지에, 위에서 검토한 바와 같이 상기 복호화된 메시지를 통해 명령을 받은 바와 같이 수행되는 액션들에 응답하여 생성된 데이터가 포함될 수 있다. 예를 들면, 복귀 메시지는 단일 사용 키들(306) 또는 지불결제 크리덴션들(304)의 유효한 수신 및 저장을 나타낼 수 있다. 다른 예들에서는, 상기 복귀 메시지가 상기 조합된 데이터 메시지의 수신 및 유효화의 통지일 수 있다. 상기 인증이 먼저 수행되는 예들에서는, 상기 복귀 메시지에, 상기 상호 인증을 수행하는데 사용되는 세션 식별자가 포함될 수 있다.
도 10a 및 도 10b에는 상기 모바일 기기(104)에 의한 복귀 메시지의 생성 및 전송 및 상기 트랜잭션 관리 서버(102)에 의한 상기 복귀 메시지의 유효화를 위한 프로세스가 예시되어 있다.
단계 1002에서는, 상기 모바일 기기(104)의 처리 유닛(204)이 수신 메시지를 생성할 수 있다. 상기 수신 메시지는 상기 MPA(404)에 저장된 프로그램 코드(406)를 기반으로 하여 생성될 수 있으며, 상기 트랜잭션 관리 서버(102)로부터 수신된 복호화된 조합된 데이터 메시지에 나타나 있는 바와 같이 수행되는 액션들을 기반으로 하여 부가적으로 이루어질 수 있다. 예를 들어, 상기 수신 메시지에는 지불결제 크리덴셜들(304)의 성공적인 수신 및 저장의 통지가 포함될 수 있다. 단계 1004에서는, 상기 처리 유닛(204)이 수신 카운터를 증분시킬 수 있다. 상기 수신 카운터는 상기 트랜잭션 관리 서버(102)에 전송되는 수신 메시지들의 개수를 나타내는 카운터일 수 있다. 상기 수신 카운터는 상기 메모리(212)에, 예컨대 상기 MPA(404)에나 또는 상기 어드밴스트 저장 키를 사용하여 암호화된 데이터베이스에 저장될 수 있다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계(1004)는 옵션 단계일 수 있으며, 단지 카운터가 데이터 메시지의 유효화를 위해 사용되는 예들에서만 사용될 수 있다.
단계 1006에서는, 상기 처리 유닛(204)이 상기 수신 메시지를 암호화할 수 있다. 상기 수신 메시지는 상기 암호화 애플리케이션(410)에 저장된 암호화 키(414)를 사용하여 암호화될 수도 있고 이와는 달리 상기 MPA(404) 또는 국부적으로 암호화된 데이터베이스에 저장될 수도 있다. 상기 수신 메시지를 암호화하는데 사용되는 암호화 키는 키 쌍의 일부로서 개인 키일 수 있으며, 상기 트랜잭션 관리 서버(102)는 상응하는 공개키를 소유한다. 단계 1008에서는, 상기 처리 유닛(204)이 상기 암호화된 수신 메시지를 기반으로 하여 수신 인증 코드를 생성할 수 있다. 몇몇 실시 예들에서는, 상기 수신 인증 코드가 위에서 검토한, 도 9의 단계 912에 예시된 참조 인증 코드를 생성하는데 사용된 바와 같은 규칙들, 알고리즘들, 및/또는 프로세스들을 사용하여 생성될 수 있다.
단계 1010에서는, 상기 모바일 기기(104)의 전송 유닛(206)이 상기 전송 관리 서버(102)에 수신 통지 메시지를 전송할 수 있다. 상기 수신 통지 메시지는 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)에 의해 수신될 수 있으며 상기 수신 통지 메시지에는 적어도 상기 수신 인증 코드, 상기 암호화된 수신 메시지, 및 상기 수신 카운터가 포함될 수 있다. 몇몇 실시 예들에서는, 상기 수신 통지 메시지는 상기 모바일 기기(104)에 연관된, 셀룰러 네트워크와 같은 모바일 통신 네트워크를 사용하여 상기 트랜잭션 관리 서버(102)에 전송될 수 있다.
단계 1014에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 확인 카운터를 증분시킬 수 있다. 상기 확인 카운터는 상기 모바일 기기(104)로부터 수신된 메시지들의 유효화를 위해 사용된, 상기 모바일 기기(104)로부터 수신된 메시지들의 개수를 나타낼 수 있다. 상기 확인 카운터는 상기 트랜잭션 관리 서버(102)의 메모리(510) 또는 다른 적합한 데이터 저장소에 저장될 수 있다. 예를 들어, 몇몇 실시 예들에서는, 상기 확인 카운터가 상기 모바일 기기(104)에 연관된 계정 프로파일(602)에 저장될 수 있다. 일 예에서는, 각각의 계정 프로파일(602)에, 상응하는 트랜잭션 계정에 관련된 상기 트랜잭션 관리 서버(102) 및 모바일 기기(104)로/로부터 전송되는 메시지들을 위해 사용될 확인 카운터(예컨대, 및/또는 메시지 카운터)가 포함될 수 있다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계 1014는 옵션 단계일 수 있으며 카운터가 복귀 메시지들의 유효화를 위해 사용되지 않게 되는 예들에서 사용되지 않을 수 있다.
단계 1016에서는, 상기 처리 유닛(504)이 확인 인증 코드를 생성할 수 있다. 상기 확인 인증 코드는 상기 수신 통지 메시지 내에 포함되어 있는 암호화된 수신 메시지를 기반으로 하여 생성될 수 있으며, 상기 메시지 인증 코드를 생성하는데 사용되는 동일한 규칙들, 알고리즘들, 및/또는 프로세스들을 사용하여 생성될 수 있다. 단계 1018에서는, 상기 처리 유닛(504)이 상기 수신 통지 메시지 내에 포함되어 있는 수신 카운터를 상기 확인 카운터와 비교함으로써 상기 수신 통지 메시지 내에 포함되어 있는 수신 카운터를 유효화할 수 있다. 단계 1020에서는, 상기 처리 유닛(504)이 상기 수신 인증 코드를 상기 메시지 인증 코드와 비교함으로써 상기 수신 인증 코드를 유효화하여, 상기 메시지가 승인된 모바일 기기(104)로부터 유래된 것임을 보장할 수 있다.
일단 상기 카운터(예컨대 적용되는 경우) 및 인증 코드가 유효화되면, 단계 1022에서는, 상기 처리 유닛(504)이 상기 수신된 수신 통지 메시지 내에 포함되어 있는 암호화된 메시지를 복호화할 수 있다. 상기 암호화된 메시지는 저장된 암호화 키 또는 다른 적합한 복호화 방법을 사용하여 복호화될 수 있다. 상기 암호화된 메시지는 상기 모바일 기기(104)에 의해 생성된 수신 메시지를 획득하도록 복호화될 수 있다. 단계 1024에서는, 상기 처리 유닛(504)이 상기 수신 메시지 내에 포함되어 있는 데이터를 기반으로 하여 필요에 따라 임의의 적합한 액션들을 수행할 수 있다. 예를 들면 상기 수신 메시지 내에 단일 사용 키들(306)의 성공적인 수신 및 저장의 표시가 포함되어 있는 경우에, 상기 처리 유닛(204)은 상응하는 계정 프로파일(602) 내의 상응하는 단일 사용 키들(604)을 활성화시킬 수 있다.
데이터 메시지들의 유효화
도 11에는 상기 트랜잭션 관리 서버(102)로부터 상기 모바일 기기(104)에 의해 수신된 데이터 메시지들의 유효화를 위한 프로세스(1100)가 예시되어 있다.
단계 1102에서는, 상기 모바일 기기기(104)의 처리 유닛(204)이 국부 저장소, 예컨대 상기 메모리(212) 또는 어드밴스트 저장 키를 사용하여 암호화된 국부적으로 암호화된 저장소에 암호화 키들, 인증 생성 키들, 및 이들의 사용 및 적용을 위한 규칙들 및/또는 알고리즘들을 저장할 수 있다. 단계 1104에서는, 상기 모바일 기기(104)의 수신 유닛(202)이 상기 트랜잭션 관리 서버(102)로부터의 데이터 메시지를 수신할 수 있다. 몇몇 실시 예들에서는, 상기 데이터 메시지가 예컨대 도 9에 예시되어 있으며 위에서 검토한 프로세스를 사용한 2개의 기기 간의 상호 인증의 확립에 이어 상기 트랜잭션 관리 서버(102)로부터 수신될 수 있다. 상기 데이터 메시지에는 적어도 메시지 카운터, 메시지 인증 코드, 및 암호화된 메시지가 포함될 수 있다.
단계 1106에서는, 상기 처리 유닛(204)이 참조 카운터를 증분시킬 수 있다. 상기 참조 카운터는 상기 메모리(212) 또는 다른 국부 저장소 내에 저장될 수 있으며, 상기 트랜잭션 관리 서버(102)로부터 수신된 메시지들의 개수를 나타내는데 사용될 수 있다. 몇몇 예들에서는, 상기 참조 카운터가 알고리즘을 사용하여 증분될 수 있으며, 그 때문에 상기 참조 카운터가 일련번호를 사용하지만, 상기 모바일 기기(104)를 대상으로 하여(예컨대, 상기 MPA(404)를 통해) 그리고 상기 트랜잭션 관리 서버(102)를 대상으로 하여 알려진 알고리즘을 통해서 증분되지 않게 될 수 있다.
단계 1108에서는, 상기 처리 유닛(204)이 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 카운터를 유효화할 수 있다. 상기 메시지 카운터의 유효화에는 증분된 이후의 참조 카운터의 값에 대한 상기 메시지 카운터의 비교가 포함될 수 있다. 실패된 유효화는 상기 데이터 메시지의 소스가 상기 트랜잭션 관리 서버(102)가 아니거나 이와는 달리 신뢰할 수 없음을 나타낼 수 있다. 상기 유효화가 실패되는 경우에, 단계 1110에서는, 상기 처리 유닛(204)이 실패된 데이터 메시지 수신 및/또는 유효화에 연관된 하나 이상의 적합한 액션들을 수행할 수 있다. 예를 들면, 상기 처리 유닛(204)은 상기 데이터 메시지를 폐기할 수도 있고, 상기 트랜잭션 관리 서버(102)에 통지할 수도 있으며, 연관된 지불결제 프로파일(302)을 잠글 수도 있고, 관련 기술에 숙련된 자들에게 자명하게 되는 다른 액션들을 수행할 수도 있다.
상기 메시지의 유효화가 통과되는 경우에, 상기 프로세스(1100)는 단계 1112로 진행할 수 있으며, 상기 단계 1112에서는 상기 암호화된 메시지가 패딩될 수 있다. 상기 암호화된 메시지의 패딩에는 상기 암호화된 메시지 또는 이에 연관된 데이터에 대한 값들의 추가가 포함될 수 있다. 패딩은 상기 메시지 유효화 프로세스의 보안을 높여주는데 사용될 수 있는데, 그 이유는 상기 패딩이 승인없이 데이터 메시지를 성공적으로 전송 또는 수신하기 위해 승인되지 않은 엔티티에 의해 복제되어야 하는, 서로에 대해 알려진 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102)에 의해 수행되어야 하는 다른 한 기능일 수 있기 때문이다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계 1112는 옵션 단계일 수 있다. 몇몇 실시 예들에서는, 단계 1112가 상기 프로세스(1110)의 몇몇 예들에 적용될 수 있다. 예를 들면, 상기 암호화된 메시지가 상기 참조 카운터의 소정 증분들로 패딩될 수 있다.
단계 1114에서는, 상기 처리 유닛(204)이 참조 인증 코드를 생성할 수 있다. 상기 참조 인증 코드는 예컨대 단계 1102에서 저장된 하나 이상의 규칙들 또는 알고리즘들을 사용하여 (예컨대, 적용 가능한 경우에 패딩으로서) 상기 암호화된 메시지를 기반으로 하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 참조 인증 코드가 키일 수도 있고 상기 암호화된 메시지에 대한 키의 적용에 의해 생성된 값일 수도 있다. 단계 1116에서는, 상기 처리 유닛(204)이 상기 RNS 메시지에서 수신된 메시지 인증 코드를 유효화할 수 있다. 상기 메시지 인증 코드의 유효화에는 상기 수신된 데이터 메시지가 승인된 소스(예컨대, 상기 트랜잭션 관리 서버(102))로부터 유래된 경우에 다른 한 식별 방법으로서 상기 생성된 참조 인증 코드에 대한 상기 코드의 비교가 포함될 수 있다.
상기 메시지 인증 코드의 유효화가 실패되는 경우에, 상기 프로세스(1100)는 단계 1110으로 진행할 수 있으며 상기 단계 1110에서는 실패 처리가 수행된다. 상기 메시지 인증 코드의 유효화가 통과되는 경우에, 단계 1118에서는, 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지가 상기 처리 유닛(204)에 의해 복호화될 수 있다. 상기 메시지는 예컨대 단계 1102에서 상기 모바일 기기(104)에 저장된 하나 이상의 암호화/복호화 키들, 규칙들, 및/또는 알고리즘들을 사용하여 복호화될 수 있다. 예를 들면, 상기 메모리(212)의 암호화 애플리케이션(410) 내에 저장되어 있는 암호화 키(414)는 상기 암호화된 메시지를 복호화하는데 사용될 수 있다. 단계 1120에서는, 상기 처리 유닛(204)이 상기 복호화된 메시지의 내용을 기반으로 하여 적절한 경우 하나 이상의 액션들을 수행할 수 있다. 예를 들면, 상기 복호화된 메시지에 단일 사용 키들(306)이 포함되어 있는 경우에, 상기 단일 사용 키들(306)은 상기 카드 데이터베이스(208)의 적합한 지불결제 프로파일(302) 내에 저장될 수 있고, 이는 그럼으로써 상기 어드밴스트 저장 키를 사용하여 암호화될 수 있다.
어드밴스트
저장 키
도 12에는 보안 요소의 사용 없이 상기 모바일 기기(104)에서 안전하게 저장되고 액세스될 수 있는 지불결제 프로파일들(302) 및 다른 데이터와 같은, 상기 모바일 기기(104)에서의 데이터의 보안 저장을 위한 상기 모바일 기기(104)에 의한 어드밴스트 저장 키의 생성 및 사용이 예시되어 있다.
상기 모바일 기기(104)의 메모리(212)에 저장된 기기 정보(402)에는 기기 정보(1202a, 1202b, 1202c)로서 도 12에 예시되어 있는, 기기 정보(1202)의 3개 또는 그 이상의 부분이 포함될 수 있다. 기기 정보(1202)의 각각의 부분은 상기 모바일 기기(104)에 연관되어 있을 수 있다. 몇몇 예들에서는, 기기 정보(1202)의 각각의 부분이 상기 모바일 기기(104)에 고유한 것일 수 있다. 다른 예들에서는, 기기 정보(1202)의 부분들 중 하나 이상이 상기 모바일 기기(104)에 고유하지 않은 것(예컨대 모델 번호)일 수 있지만, 기기 정보(1202)의 3개의 부분이 함께 취해질 경우에 상기 모바일 기기(104)에 고유한 것(예컨대, 고유 조합)일 수 있다. 기기 정보(1202)의 부분들이 상기 모바일 기기(104)의 수명 동안 변경되지 않게 되는 데이터일 수 있다.
상기 모바일 기기(104)의 처리 유닛(204)은 기기 정보의 3개의 부분(1202a, 1202b, 1202c)을 기반으로 하여 모바일 기기 핑거프린트(fingerprint; 1204)를 생성할 수 있다. 상기 모바일 기기 핑거프린트(1204)는 상기 모바일 기기(104)에 고유한 값일 수 있으며 상기 메모리(212)에 저장된, 예컨대 상기 MPA(404)의 프로그램 코드(406)에 포함된 하나 이상의 규칙들 또는 알고리즘들을 사용하여 생성될 수 있다. 상기 모바일 기기 핑거프린트(1204)는 예를 들면 수치, 16진수 값, 문자열 등등일 수 있다.
상기 처리 유닛(204)은 또한 상기 모바일 기기 핑거프린트(1204)를 사용하여 다원화 값(diversifier value)(1208)을 생성하도록 구성될 수 있다. 상기 다원화 값은 램덤 값(1206)과 아울러, 상기 MPA(404)의 인스턴스 식별자(408)와 상기 모바일 기기 핑거프린트(1204)를 조합함으로써 생성될 수 있다. 상기 랜덤 값(1206)은 상기 처리 유닛(204)에 의해 생성된 난수 또는 의사-난수일 수 있다. 몇몇 예들에서는, 상기 랜덤 값(1206)이 상기 메모리(212)에 저장된 하나 이상의 규칙들 또는 알고리즘들에 따라 생성될 수 있다. 상기 모바일 기기 핑거프린트(1204), 인스턴스 식별자(408), 및 랜덤 값(1206)의 조합은 또한 예컨대 상기 MPA(404)의 프로그램 코드(406)에 저장된 하나 이상의 규칙들 또는 알고리즘들을 사용하여 수행될 수 있다. 상기 다원화 값을 생성하도록 하는 상기 인스턴스 식별자(408)의 사용은 상기 MPA(404)의 다수의 설치로 상기 MPA(404)의 다른 인스턴스들에 의해 저장된 데이터가 액세스될 수 없게 하도록 상기 MPA(404)의 인스턴스에 연관된 데이터를 안전하게 저장 가능한 능력을 초래할 수 있다.
상기 처리 유닛(204)은 그 후에 상기 다원화 값(1208)에 대한 상기 암호화 애플리케이션(410)에 저장된 암호화 값(414)의 적용을 통해 어드밴스트 저장 키(1210)를 생성할 수 있다. 몇몇 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 암호화 키(414)를 사용한 상기 다원화 값(1208)의 복호화에 의해 생성될 수 있다. 다른 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 암호화 키(414)를 사용한 상기 다원화 값(1208)의 암호화로부터 초래되는 값일 수 있다. 몇몇 실시 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 다원화 값(1208) 및 상기 암호화 키(414)를 사용하여 화이트 박스 암호화를 수행한 결과로 생성될 수 있다.
일단 상기 어드밴스트 저장 키(1210)가 생성되면, 상기 처리 유닛(204)은 상기 어드밴스트 저장 키(1210)를 사용하여 국부 데이터베이스(1210)를 암호화할 수 있다. 상기 국부 데이터베이스(1210)는 예를 들면 상기 카드 데이터베이스(208), 하나 이상의 지불결제 프로파일(302), 상기 메모리(212)의 일부, 또는 다른 적합한 데이터 소스로 이루어질 수 있다. 몇몇 예들에서는, 상기 국부 데이터베이스(1210)가 상기 카드 데이터베이스(208)와 같은, 상기 모바일 기기(104) 내의 다른 한 데이터베이스의 일부일 수 있다. 예를 들면, 상기 카드 데이터베이스(208)는 상기 MPA(404)의 각각의 인스턴스에 연관된 지불결제 프로파일들(302)을 저장하기 위한 상기 MPA(404)의 각각의 인스턴스를 위한 별도의 국부 데이터베이스(1212)와 같은 복수 개의 국부 데이터베이스들(1212)을 포함할 수 있다. 결과적으로 획득되는 암호화된 국부 데이터베이스(1214)는 그럼으로써 상기 인스턴스 식별자(408)를 포함하는 상기 MPA(404)의 특정 인스턴스를 제외하고 상기 모바일 기기(104) 내부 또는 외부의 다른 어떤 애플리케이션 프로그램에 의해 액세스 가능하지 않은 데이터를 안전하게 저장할 수 있다. 따라서, 상기 암호화된 국부 데이터베이스(1214)는 지불결제 크리덴셜들(304), 단일 사용 키들(306), 및 다른 계정 데이터를 저장하는데 이상적일 수 있으며, 보안 요소들의 사용 없이 민감한 계정 정보의 보안 저장 기능을 제공할 수 있다.
몇몇 실시 예들에서는, 상기 저장 키가 또한, 상기 암호화된 국부 데이터베이스(1214) 내의 저장을 위해 상기 모바일 기기(104)에 암호화된 데이터를 제공하는데 상기 트랜잭션 관리 서버(102)에 의해 사용될 수 있다. 예를 들면, 상기 모바일 기기(104)의 전송 유닛(206)은 상기 생성된 랜덤 값(1206)을 상기 트랜잭션 관리 서버(102)에 전송할 수 있다. 몇몇 예들에서는, 상기 인스턴스 식별자(408)가 또한 상기 트랜잭션 관리 서버(102)에 전송될 수도 있고 상기 인스턴스 식별자(408)가 예컨대 상기 MPA(404)의 등록 동안 상기 트랜잭션 관리 서버(102)에 의해 사전에 소유되어 있을 수도 있다. 상기 트랜잭션 관리 서버(102)는 그 후에 상기 어드밴스트 저장 키(1210) 자체를 생성할 수 있고, 상기 어드밴스트 저장 키(1210)를 사용하여 상기 모바일 기기(104)에 프로비저닝될 데이터, 예컨대 지불결제 크리덴셜들(304), 단일 사용 키들(306) 등등을 암호화할 수 있으며, 그리고 나서 상기 암호화된 데이터를 상기 모바일 기기(104)에 전송할 수 있다. 상기 모바일 기기(104)는 그 후에 상기 암호화된 국부 데이터베이스(1214) 내에 상기 사전에 암호화된 데이터를 저장할 수 있다.
지불결제
트랜잭션에서
지불결제
크리덴셜들을
생성하기 위한 첫 번째의 대표적인 방법
도 13에는 보안 요소 없이 모바일 기기(104)에서 지불결제 크리덴셜들을 안전하게 사용하기 위한 2개의 애플리케이션 암호의 사용을 포함하는, 지불결제 트랜잭션에서의 지불결제 크리덴셜들의 생성을 위한 방법(1300)이 예시되어 있다.
단계 1302에서는, 적어도 단일 사용 키(예컨대, 단일 사용 키(306))는 트랜잭션 계정에 연관된 메모리(예컨대, 지불결제 프로파일(302))에 저장될 수 있다. 몇몇 실시 예들에서는, 상기 메모리(302)가 모바일 통신 기기(예컨대, 상기 모바일 기기(104))의 비-보안 요소 메모리일 수 있다. 단계 1304에서는, 개인 식별 번호(personal identification number; PIN)가 수신 기기(예컨대, 상기 수신 유닛(202) 및/또는 입력 유닛(214))에 의해 수신될 수 있다.
단계 1306에서는, 제1 세션 키(예컨대, 제1 세션 키(308))가 처리 기기(예컨대, 상기 처리 유닛(204))에 의해 식별될 수 있다. 단계 1308에서는, 제2 세션 키(예컨대, 제2 세션 키(310))가 적어도 상기 저장된 단일 사용 키(306) 및 상기 수신된 PIN을 기반으로 하여 상기 처리 기기(204)에 의해 생성될 수 있다.
단계 1310에서는, 제1 애플리케이션 암호가 적어도 상기 제1 세션 키(308)를 기반으로 하여 상기 처리 기기(204)에 의해 생성될 수 있다. 단계 1312에서는, 제2 애플리케이션 암호가 적어도 상기 제2 세션 키(310)를 기반으로 하여 상기 처리 기기(204)에 의해 생성될 수 있다.
단계 1314에서는, 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 지불결제 트랜잭션에서의 사용을 위해 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 전송될 수 있다. 몇몇 실시 예들에서는, 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 판매 시점 정보 관리 기기(예컨대, 상기 판매 시점 정보 관리 시스템(110))에 전송될 수 있다. 한 실시 예에서는, 상기 방법(1300)이 상기 메모리(302) 내에 상기 트랜잭션 계정에 연관된 카드 마스터 키를 저장하는 것을 부가적으로 포함할 수 있으며, 이 경우에 상기 제1 세션 키(308)의 식별은 상기 처리 기기(204)에 의해 적어도 상기 저장된 카드 마스터 키를 기반으로 하여 상기 제1 세션 키(308)를 생성하는 것을 포함한다.
몇몇 실시 예들에서는, 상기 방법(1300)이 또한 상기 메모리 내에 애플리케이션 트랜잭션 카운터(예컨대, 상기 애플리케이션 트랜잭션 카운터(312))를 저장하는 것을 포함할 수 있으며, 이 경우에 상기 제1 세션 키(308)의 식별은 상기 처리 기기(204)에 의해 적어도 상기 저장된 애플리케이션 트랜잭션 카운터(312)를 기반으로 하여 상기 제1 세션 키(308)를 생성하는 것을 포함한다. 한 실시 예에서는, 상기 방법(1300)이 상기 처리 기기(204)에 의해 상기 제2 세션 키(310)의 생성 이전에 상기 수신된 PIN을 유효화하는 것을 부가적으로 포함할 수 있다. 부가적인 실시 예에서는, 상기 수신된 PIN이 실패된 경우에 상기 처리 기기(204)가 유효하지 않은 제2 세션 키(310)를 생성하도록 구성될 수 있다.
지불결제
트랜잭션에서
지불결제
크리덴셜들을
생성하기 위한 두 번째의 대표적인 방법
도 14에는 보안 요소의 사용 없이 모바일 기기(104)에 의해 생성되는 지불결제 크리덴셜들의 2개의 애플리케이션 암호 유효화의 사용을 포함하는, 지불결제 트랜잭션에서의 지불결제 크리덴셜의 생성을 위한 방법(1400)이 예시되어 있다.
단계 1402에서는, 적어도 카드 마스터 키(예컨대, 제1 카드 마스터 키(612)가 트랜잭션 계정에 연관된 메모리(예컨대, 계정 프로파일(602)) 내에 저장될 수 있다. 단계 1404에서는, 제1 세션 키(예컨대, 제1 세션 키(606))가 적어도 상기 저장된 카드 마스터 키(612)를 기반으로 하여 처리 기기(예컨대, 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1406에서는, 제2 세션 키(예컨대, 제2 세션 키(608))가 상기 처리 기기(504)에 의해 생성될 수 있다.
단계 1408에서는, 제1 애플리케이션 암호가 적어도 상기 제1 세션 키(606)를 기반으로 하여 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1410에서는, 제2 애플리케이션 암호가 적어도 상기 제2 세션 키(608)를 기반으로 하여 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1412에서는, 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 지불결제 트랜잭션에서 사용하기 위해 전송 기기(예컨대, 상기 전송 유닛(506))에 의해 전송될 수 있다.
한 실시 예에서는, 상기 방법(1400)이 상기 메모리(602) 내에 상기 트랜잭션 계정에 연관된 트랜잭션 계정 시퀀스 번호를 저장하는 단계를 부가적으로 포함할 수 있으며, 이 경우에 상기 제1 세션 키는 상기 저장된 트랜잭션 계정 시퀀스 번호를 기반으로 하여 부가적으로 이루어진다. 몇몇 실시 예들에서는, 상기 방법(1400)이 또한, 상기 메모리(602) 내에 상기 트랜잭션 계정에 연관된 제2 카드 마스터 키(예컨대, 상기 제2 카드 마스터 키(614))를 저장하는 단계를 포함할 수 있으며, 이 경우에 상기 제2 세션 키(608)는 적어도 상기 저장된 제2 카드 마스터 키(614)를 기반으로 하여 이루어진다.
한 실시 예에서는, 상기 방법(1400)이 수신 기기(예컨대, 상기 수신 유닛(502))에 의해 제1의 상응하는 애플리케이션 암호 및 제2의 상응하는 애플리케이션 암호를 수신하는 단계; 상기 처리 유닛에 의해, (i) 상기 생성된 제1 애플리케이션 암호를 기반으로 하여 이루어지는 상기 수신된 제1의 상응하는 애플리케이션 암호, 및 (ii) 상기 생성된 제2 애플리케이션 암호를 기반으로 하여 이루어진 상기 수신된 제2의 상응하는 애플리케이션 암호를 유효화하는 단계; 및 상기 전송 기기(506)에 의해, 상기 지불결제 트랜잭션에서 사용하기 위해 상기 유효화의 결과를 전송하는 단계;를 부가적으로 포함할 수 있다. 한 부가적인 실시 예에서는, 상기 제1의 상응하는 애플리케이션 암호 및 상기 제2의 상응하는 애플리케이션 암호가 판매 시점 정보 관리 기기(예컨대, 상기 판매 시점 정보 관리 시스템(110))로부터 수신될 수 있다. 다른 한 부가적인 실시 예에서는, 상기 유효화의 결과가 상기 트랜잭션 계정에 연관된 금융 기관(예컨대, 상기 발행자(106))에 전송될 수 있다.
데이터 메시지를 처리하는 대표적인 방법
도 15에는 보안 요소를 사용하지 않는 모바일 기기(104)에 의한, 원격 통지 서비스를 통해 수신된 원격 통지 메시지와 같은 데이터 메시지의 수신 및 유효화를 포함하는, 원격 통지 서비스를 통해 수신된 원격 통지 메시지와 같은 데이터 메시지를 처리하는 방법(1500)이 예시되어 있다.
단계 1502에서는, 적어도 암호화 키가 메모리(예컨대, 상기 메모리(212))에 저장될 수 있다. 몇몇 실시 예들에서는, 상기 메모리(212)가 모바일 통신 기기(예컨대, 상기 모바일 기기(104)) 내의 비-보안 요소 메모리일 수 있다. 단계 1504에서는, 데이터 메시지가 수신 기기(예컨대, 상기 수신 유닛(202))에 의해 수신될 수 있으며, 이 경우에 상기 데이터 메시지에는 적어도 암호화된 메시지 및 메시지 인증 코드가 포함될 수 있고, 상기 메시지 인증 코드는 상기 암호화된 메시지의 적어도 일부를 사용하여 생성된다. 몇몇 실시 예들에서는, 상기 데이터 메시지가 원격 통지 서비스를 통해 수신된 원격 통지 서비스 메시지일 수 있다.
단계 1506에서는, 참조 인증 코드가 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지의 적어도 일부를 사용하여 처리 기기(예컨대, 상기 처리 유닛(204))에 의해 생성될 수 있다. 한 실시 예에서는, 상기 메모리(212)가 하나 이상의 인증 코드 생성 규칙들을 부가적으로 포함할 수 있으며, 상기 참조 인증 코드는 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화 메시지의 부분에 대한 상기 저장된 하나 이상의 인증 코드 생성 규칙들의 적용을 기반으로 하여 생성될 수 있다. 단계 1508에서는, 상기 수신된 데이터 메시지가 상기 생성된 참조 인증 코드에 대한 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 인증 코드의 체크를 기반으로 하여 상기 처리 기기(204)에 의해 유효화될 수 있다. 몇몇 실시 예들에서는, 상기 메모리에 참조 카운터가 부가적으로 포함될 수 있으며, 상기 수신된 데이터 메시지에는 메시지 카운터가 부가적으로 포함될 수 있으며, 상기 수신된 데이터 메시지는 상기 저장된 참조 카운터에 대한 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 카운터의 체크를 기반으로 하여 상기 처리 기기(204)에 의해 부가적으로 유효화될 수 있다.
단계 1510에서는, 상기 데이터 메시지 내에 포함되어 있는 암호화된 메시지가 복호화된 메시지를 획득하도록 상기 저장된 암호화 키를 사용하여 상기 처리 기기(204)에 의해 복호화될 수 있다. 한 실시 예에서는, 상기 복호화된 메시지에는 지불결제 트랜잭션에서 사용하기 위해 디지털화된 카드 프로파일(예컨대, 지불결제 크리덴셜들(304)) 및 단일 사용 키(예컨대, 상기 단일 사용 키(306)) 중의 적어도 하나가 포함될 수 있다. 몇몇 실시 예들에서는, 상기 방법(1500)이 또한 상기 처리 기기(204)에 의해 하나 이상의 데이터 포매팅 규칙들을 기반으로 하여 상기 복호화된 메시지의 데이터 포맷을 체크하는 단계를 포함할 수 있다.
한 실시 예에서는, 상기 방법(1500)이 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 상기 수신된 데이터 메시지에 응답하여 수신 통지를 전송하는 단계를 부가적으로 포함할 수 있다. 한 부가적인 실시 예에서는, 상기 방법(1500)이 상기 처리 기기(204)에 의해 상기 복호화된 메시지를 기반으로 하여 하나 이상의 액션들을 수행하는 단계; 상기 처리 기기(204)에 의해 상기 수행된 하나 이상의 액션들의 결과로 또는 상기 수행된 하나 이상의 액션들을 기반으로 하여 복귀 메시지를 생성하는 단계; 상기 처리 기기(204)에 의해 상기 저장된 암호화 키를 사용하여 상기 생성된 복귀 메시지를 암호화하여 암호화된 복귀 메시지를 획득하는 단계; 및 상기 암호화된 복귀 메시지의 적어도 일부를 사용하여 복귀 인증 코드를 생성하는 단계를 더 부가적으로 포함할 수 있으며, 이 경우에 상기 전송된 수신 통지에는 상기 암호화된 복귀 메시지, 및 상기 복귀 인증 코드가 포함된다. 더 부가적인 실시 예에서는, 상기 메모리(212)에 복귀 카운터가 부가적으로 포함될 수 있으며, 상기 전송된 수신 통지에는 상기 복구 카운터가 부가적으로 포함될 수 있다.
몇몇 실시 예들에서는, 상기 방법(1500)이 또한 상기 처리 기기(204)에 의해 패딩 키를 사용하여 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지를 패딩하는 단계를 포함하며, 이 경우에 상기 참조 인증 코드를 생성하는데 사용되는 암호화된 메시지의 일부는 상기 패딩된 암호화된 메시지이다. 부가적인 실시 예에서는, 상기 패딩 키가 상기 암호화 키일 수 있다. 다른 한 부가적인 실시 예에서는, 상기 메모리(212)에는 인증 코드 패딩 알고리즘이 부가적으로 포함될 수 있으며, 상기 패딩 키를 사용하여 상기 암호화된 메시지를 패딩하는 것은 상기 인증 코드 패딩 알고리즘에 대한 상기 패딩 키의 적용을 기반으로 하여 상기 암호화된 메시지를 패딩하는 것을 포함할 수 있다.
어드밴스트
저장 키를 구축하기 위한 대표적인 방법
도 16에는 보안 요소를 사용하지 않는 모바일 기기에서의 국부 데이터의 보안 암호화 및 저장을 위한 어드밴스트 저장 키의 구축 방법(600)이 예시되어 있다.
단계 1602에서는, 적어도 모바일 통신 기기(예컨대, 상기 모바일 기기(104))에 연관된 기기 정보(예컨대, 기기 정보(402)), 제1 애플리케이션 프로그램(예컨대, 상기 모바일 지불결제 애플리케이션(404))에 연관된 프로그램 코드(예컨대, 프로그램 코드(406)), 및 제2 애플리케이션 프로그램(예컨대, 상기 암호화 애플리케이션(410))에 연관된 프로그램 코드(예컨대, 프로그램 코드(412))가 상기 모바일 통신 기기(104)의 메모리(예컨대, 상기 메모리(212) 내에 저장될 수 있으며, 이 경우에 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)에는 적어도 인스턴스 식별자(예컨대, 인스턴스 식별자(408))가 포함되고, 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412)에는 적어도 제1 키(예컨대, 상기 암호화 키(414))가 포함된다.
몇몇 실시 예들에서는, 상기 기기 정보(402)에 상기 모바일 통신 기기(104)에 연관된 하나 이상의 고유 식별자가 포함될 수 있다. 한 실시 예에서는, 상기 인스턴스 식별자(408)가 상기 제1 애플리케이션 프로그램(404)의 인스턴스에 고유한 것일 수 있다. 몇몇 실시 예들에서는, 상기 제2 애플리케이션 프로그램(410)이 상기 제1 키를 사용하여 화이트 박스 암호화를 수행하도록 구성될 수 있다. 한 실시 예에서는, 상기 제1 키가 동적 키일 수 있다. 몇몇 실시 예들에서는, 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412)가 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)에 포함될 수 있다. 부가적인 실시 예들에서는, 상기 제2 애플리케이션 프로그램(410)이 상기 제1 애플리케이션 프로그램(404)의 실행 가능한 기능일 수 있다.
단계 1604에서는, 상기 모바일 통신 기기(104)에 연관된 기기 핑거프린트(예컨대, 모바일 기기 핑거프린트(1204))가 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)의 실행을 통해 상기 저장된 기기 정보(402)를 기반으로 하여 처리 기기(예컨대, 상기 처리 유닛(204))에 의해 생성될 수 있다. 단계 1606에서는, 랜덤 값(예컨대, 랜덤 값(1206))이 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)의 실행을 통해 상기 처리 기기(204)에 의해 생성될 수 있다. 몇몇 실시 예들에서는, 상기 랜덤 값(1206)이 난수(random number) 또는 의사-난수(pseudo-random number)일 수 있다.
단계 1608에서는, 다원화 값(예컨대, 다원화 값(1208))이 적어도 상기 생성된 기기 핑거프린트(1204), 상기 생성된 랜덤 값(1206), 및 상기 제1 애플리케이션(404)에 연관된 프로그램 코드(406) 내에 포함되어 있는 인스턴스 식별자(408)를 기반으로 하여 상기 처리 기기(204)에 의해 구축될 수 있다. 단계 1610에서는, 상기 구축된 다원화 값(1208)이 저장 키(예컨대, 어드밴스트 저장 키(1210))를 획득하도록 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412)의 실행을 통해 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412) 내에 저장된 제1 키를 사용하여 상기 처리 기기(204)에 의해 복호화될 수 있다.
몇몇 실시 예들에서는, 상기 방법(1600)이 상기 모바일 통신 기기(104)의 국부 데이터베이스(예컨대, 상기 국부 데이터베이스(1212)) 내에 보호 데이터를 저장하는 단계; 및 상기 처리 기기(204)에 의해 상기 저장 키(1210)를 사용하여 상기 국부 데이터베이스(1212) 내에 저장되어 있는 보호 데이터를 암호화하는 단계를 부가적으로 포함할 수 있다. 한 실시 예에서는, 상기 방법이 또한 상기 메모리(212) 내에 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 데이터를 저장하는 단계; 및 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 데이터 내에 상기 생성된 랜덤 데이터(1206)를 저장하는 단계를 포함할 수 있다.
한 실시 예에서는, 상기 방법(1600)이 또한, 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 적어도 상기 랜덤 값(1206)을 전송하는 단계; 수신 기기(예컨대, 상기 수신 기기(202))에 의해 하나 이상의 암호화된 매개변수들을 수신하는 단계로서, 상기 하나 이상의 암호화된 매개변수들은 상기 저장 키(1210)를 사용하여 각각 암호화되는, 단계; 및 상기 모바일 통신 기기(104)의 국부 데이터베이스(1212) 내에 상기 수신된 하나 이상의 암호화된 매개변수들을 저장하는 단계를 포함할 수 있다. 부가적인 실시 예에서는, 상기 저장 키(1210)가 제3자(예컨대, 상기 트랜잭션 관리 서버(102))에 전송될 수 있으며 상기 하나 이상의 암호화된 매개변수들이 상기 제3자(102)로부터 수신될 수 있다. 몇몇 부가적인 실시 예들에서는, 상기 인스턴스 식별자(408)가 또한 상기 전송 기기(206)에 의해 전송될 수 있다.
컴퓨터 시스템 아키텍처
도 17에는 본 개시내용의 실시 예들, 또는 그의 일부들이 컴퓨터-판독가능 코드로서 구현될 수 있게 하는 컴퓨터 시스템(1700)이 예시되어 있다. 예를 들면, 도 1의 트랜잭션 관리 서버(102) 및 모바일 기기(104)는 하드웨어, 소프트웨어, 펌웨어, 명령어들이 저장되어 있는 비-일시적인 컴퓨터 판독가능 매체, 또는 이들의 조합을 사용하여 상기 컴퓨터 시스템(1700)에서 구현될 수 있으며, 하나 이상의 컴퓨터 시스템들 또는 다른 처리 시스템들에서 구현될 수 있다. 하드웨어, 소프트웨어, 또는 이들의 임의의 조합은 도 7, 도 8, 도 9a, 도 9b, 도 10a, 도 10b, 도 11, 및 도 13 - 도 16의 방법들을 구현하는데 사용되는 모듈들 및 구성요소들을 구체화할 수 있다.
프로그램 가능한 로직이 사용되는 경우에, 그러한 로직은 시판되고 있는 처리 플랫폼 또는 전용 기기상에서 실행할 수 있다. 당 업계에서 통상의 기술을 가진 자라면 개시된 주제의 실시 예들이 멀티-코어 멀티프로세서 시스템들, 미니컴퓨터들, 메인프레임 컴퓨터들, 분산 기능들을 가지고 링크 또는 클러스터링된 컴퓨터들과 아울러, 사실상 임의의 기기 내에 임베드될 수 있는 보급형 또는 소형 컴퓨터들을 포함하는 여러 컴퓨터 시스템 구성들을 가지고 실시될 수 있음을 알 수 있을 것이다. 예를 들어, 적어도 하나의 프로세서 기기 및 메모리가 위에서 언급한 실시 예들을 구현하는데 사용될 수 있다.
본원 명세서에서 검토한 바와 같은 프로세서 기기는 단일의 프로세서, 복수의 프로세서들, 또는 이들의 조합들일 수 있다. 프로세서 기기들이 하나 이상의 프로세서 "코어들"을 지닐 수 있다. 본원 명세서에서 검토한 바와 같은 용어들, 즉 "컴퓨터 프로그램 매체", "비-일시적인 컴퓨터 판독가능 매체", 및 "컴퓨터 이용가능 매체"는 일반적으로 제거 가능한 저장 유닛(1718), 제거 가능한 저장 유닛(1722), 및 하드 디스크 드라이브(1712)에 설치된 하드 디스크와 같은 유형 매체를 언급하는데 사용된다.
본 개시내용의 여러 실시 예가 이러한 대표적인 컴퓨터 시스템(1700)에 대해 기재되어 있다. 이러한 기재를 숙지하면, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍처들을 사용하여 본 개시내용을 어떻게 구현해야 하는가가 관련 기술에 숙련된 자에게 자명하게 될 것이다. 비록 동작들이 순차적인 프로세스로서 기재되어 있을 수 있지만, 상기 동작들 중 몇몇 동작들은 사실상 병렬로, 동시에, 그리고/또는 분산 환경에서, 그리고 단일 또는 다중-프로세서 머신에 의한 액세스를 위해 국부적으로나 원격에 저장된 된 프로그램 코드를 가지고 수행될 수 있다. 그 외에도, 몇몇 실시 예들에서는, 동작들의 순서가 개시된 주제의 정신으로부터 벗어나지 않고서 재배열될 수 있다.
프로세서 기기(1704)는 전용 또는 범용 프로세서 기기일 수 있다. 상기 프로세서 기기(1704)는 버스, 메시지 대기행렬, 네트워크, 다중-코어 메시지 전달 스킴 등등과 같은 통신 기반구조(1706)에 접속될 수 있다. 상기 네트워크는 본원 명세서에 개시되어 있는 바와 같은 기능들을 수행하기 위해 적합한 임의의 네트워크일 수 있으며 근거리 통신 네트워크(local area network; LAN), 광역 통신 네트워크(wide area network; WAN), 무선 통신 네트워크(예컨대, WiFi), 모바일 통신 네트워크, 위성 통신 네트워크, 인터넷, 광섬유, 동축 케이블, 적외선, 무선 주파수(radio frequency; RF), 또는 이들의 임의 조합을 포함할 수 있다. 다른 적합한 네트워크 타입들 및 구성들은 관련 기술에 숙련된 자들에게 자명하게 될 것이다. 상기 컴퓨터 시스템(1700)은 또한 주 메모리(1708)(예컨대, 랜덤 액세스 메모리, 판독 전용 메모리 등등)를 포함할 수 있으며 보조 메모리(1710)를 또한 포함할 수 있다. 상기 보조 메모리(1710)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 메모리 등등과 같은 제거 가능한 저장 드라이브(1714) 및 하드 디스크 드라이브(1712)를 포함할 수 있다.
상기 제거 가능한 저장 드라이브(1714)는 공지된 방식으로 상기 제거 가능한 저장 유닛(1718)으로부터 판독되고 그리고/또는 상기 제거 가능한 저장 유닛(1718)에 기록할 수 있다. 상기 제거 가능한 저장 유닛(1718)은 상기 제거 가능한 저장 드라이브(1714)에 의해 판독 및 기록될 수 있는 제거 가능한 저장 매체를 포함할 수 있다. 예를 들면, 상기 제거 가능한 저장 드라이브(1714)가 플로피 디스크 드라이브 또는 유니버설 시리얼 버스(universal serial bus) 포트인 경우에, 상기 제거 가능한 저장 유닛(1718)은 각각 플로피 디스크 또는 포터블 플래시 드라이브일 수 있다. 한 실시 예에서는, 상기 제거 가능한 저장 유닛(1718)이 비-일시적인 컴퓨터 판독가능 기록 매체일 수 있다.
몇몇 실시 예들에서는, 상기 보조 메모리(1710)가 컴퓨터 프로그램들 또는 다른 명령어들이 상기 컴퓨터 시스템(1700) 내로 로드되는 것을 허용하는 변형 수단, 예를 들면 상기 제거 가능한 저장 유닛(1722) 및 인터페이스(1720)를 포함할 수 있다. 그러한 수단의 예들에는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 (예컨대, 비디오 게임 시스템들에서 찾아 볼 수 있는 바와 같은) 프로그램 카트리지 및 카트리지 인터페이스, 제거 가능한 메모리 칩(예컨대, EEPROM, PROM 등등) 및 관련 소켓, 및 다른 제거 가능한 저장 유닛들(1722) 및 인터페이스들(1720)이 있을 수 있다.
상기 컴퓨터 시스템(1700)에(예컨대, 상기 주 메모리(1708) 및/또는 상기 보조 메모리(1710)에) 저장된 데이터는 광학 저장소(예컨대, 컴팩트 디스크, 디지털 다용도 디스크, 블루-레이 디스크 등등) 또는 자기 테이프 저장소(예컨대, 하드 디스크 드라이브)와 같은 임의 타입의 적합한 컴퓨터 판독가능 매체상에 저장될 수 있다. 상기 데이터는 관계형 데이터베이스, 구조화 질의어(structured query language; SQL) 데이터베이스, 분산 데이터베이스, 객체 데이터베이스 등등과 같은 임의 타입의 적합한 데이터베이스 컨피규레이션으로 구성될 수 있다. 적합한 컨피규레이션들 및 저장 타입들은 관련 기술에 숙련된 자들에게 자명하게 될 것이다.
상기 컴퓨터 시스템(1700)은 또한 통신 인터페이스(1724)를 포함할 수 있다. 상기 통신 인터페이스(1724)는 소프트웨어 및 데이터가 상기 컴퓨터 시스템(1700) 및 외부 기기들 사이에 전달되는 것을 허용하도록 구성될 수 있다. 대표적인 통신 인터페이스들(1724)은 모뎀, 네트워크 인터페이스(예컨대, 이더넷 카드), 통신 포트, PCMCIA 슬롯 및 카드 등등을 포함할 수 있다. 상기 통신 인터페이스(1724)를 통해 전달되는 소프트웨어 및 데이터는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 전자, 전기자기, 광학, 또는 다른 신호들일 수 있는 신호들의 형태로 이루어질 수 있다. 상기 신호들은 상기 신호들을 반송(搬送)하도록 구성될 수 있으며 와이어, 케이블, 광섬유, 전화선, 셀룰러폰 링크, 무선 주파수 링크 등등을 사용하여 구현될 수 있는 통신 경로(1726)를 통해 이동될 수 있다.
상기 컴퓨터 시스템(1700)은 디스플레이 인터페이스(1702)를 부가적으로 포함할 수 있다. 상기 디스플레이 인터페이스(1702)는 데이터가 상기 컴퓨터 시스템(1700) 및 외부 디스플레이(1730) 사이에 전달되는 것을 허용하도록 구성될 수 있다. 대표적인 디스플레이 인터페이스들(1702)에는 고화질 멀티미디어 인터페이스(high-definition multimedia interface; HDMI), 디지털 비주얼 인터페이스(digital visual interface; DVI), 비디오 그래픽스 어레이(video graphics array; VGA) 등등이 포함될 수 있다. 상기 디스플레이(1730)는 음극선관(cathode ray tube; CRT) 디스플레이, 액정 디스플레이(liquid crystal display; LCD), 발광 다이오드(light-emitting diode; LED) 디스플레이, 정전용량 터치 디스플레이, 박막 트랜지스터(thin-film transistor; TFT) 디스플레이 등등을 포함하는, 상기 컴퓨터 시스템(1700)의 디스플레이 인터페이스(1702)를 통해 전송되는 데이터를 디스플레이하기 위한 임의의 적합한 타입의 디스플레일 수 있다.
컴퓨터 프로그램 매체 및 컴퓨터 사용가능 매체는, 메모리 반도체들(예컨대, DRAM들 등등)일 수 있는 주 메모리(1708) 및 보조 메모리(1710)와 같은 메모리들을 언급할 수 있다. 이러한 컴퓨터 프로그램 제품들은 상기 컴퓨터 시스템(1700)에 소프트웨어를 제공하는 수단일 수 있다. 컴퓨터 프로그램들(예컨대, 컴퓨터 제어 로직)은 상기 주 메모리(1708) 및/또는 상기 보조 메모리(1710)에 저장될 수 있다. 컴퓨터 프로그램들은 또한 상기 통신 인터페이스(1724)를 통해 수신될 수 있다. 그러한 컴퓨터 프로그램들은 실행시 컴퓨터 시스템(1700)으로 하여금 본원 명세서에서 검토한 바와 같은 본 발명의 방법들을 구현할 수 있게 한다. 특히, 상기 컴퓨터 프로그램들은 실행시 프로세서 기기(1704)로 하여금 본원 명세서에서 검토한 바와 같은 도 7, 도 8, 도 9a, 도 9b, 도 10a, 도 10b, 도 11, 및 도 13 - 도 16에 예시되어 있는 방법들을 구현할 수 있게 한다. 따라서, 그러한 컴퓨터 프로그램들은 상기 컴퓨터 시스템(1700)의 제어기들을 나타낼 수 있다. 본 개시내용이 소프트웨어를 사용하여 구현되는 경우에, 상기 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있으며 상기 제거 가능한 저장 드라이브(1714), 인터페이스(1720), 및 하드 디스크 드라이브(1712), 또는 통신 인터페이스(1724)를 사용하여 상기 컴퓨터 시스템(1700) 내에 로드될 수 있다.
본 개시내용과 일치하는 기법들은 다른 특징들 중에서, 어드밴스트 저장 키를 사용한 데이터의 보안 저장 및 원격 통지 서비스 메시지들의 전송 및 유효화를 포함하는, 보안 요소를 사용하지 않는 모바일 기기를 사용한 지불결제 트랜잭션의 처리 시스템들 및 방법들을 제공한다. 개시된 시스템 및 방법의 여러 대표적인 실시 예가 위에 기재되어 있지만, 관련 기술에 숙련된 자들이라면 개시된 시스템 및 방법의 여러 전형적인 실시 예가 제한하려고 한 것이 아니라 단지 예시하기 위해서만 제시된 것임을 이해할 것이다. 개시된 시스템 및 방법의 여러 전형적인 실시 예는 총 망라된 것이 아니고 상기 개시내용을 개시된 정확한 형태로 제한하는 것이 아니다. 수정들 및 변형들이 위의 교시들에 비추어 가능할 수도 있고 폭 또는 범위로부터 벗어나지 않고 본 개시내용의 실시로부터 획득될 수도 있다.
Claims (24)
- 어드밴스트 저장 키를 구축하는 방법에 있어서,
상기 방법은,
모바일 통신 기기의 메모리에, 적어도
상기 모바일 통신 기기에 연관된 기기 정보,
제1 애플리케이션 프로그램에 연관된 프로그램 코드로서, 적어도 하나의 인스턴스 식별자를 포함하는, 제1 애플리케이션 프로그램에 연관된 프로그램 코드, 및
제2 애플리케이션 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 애플리케이션 프로그램에 연관된 프로그램 코드
를 저장하는 단계;
처리 기기에 의해, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트를 생성하는 단계;
상기 처리 기기에 의해, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 랜덤 값을 생성하는 단계;
상기 처리 기기에 의해, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계; 및
상기 처리 기기에 의해, 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;
를 포함하는, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 어드밴스트 저장 키의 구축 방법은,
상기 모바일 통신 기기의 국부 데이터베이스에, 보호 데이터를 저장하는 단계; 및
상기 처리 기기에 의해, 상기 저장 키를 사용하여 상기 국부 데이터베이스에 저장된 보호 데이터를 암호화하는 단계;
를 더 포함하는, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 기기 정보에는 상기 모바일 통신 기기에 연관된 하나 이상의 고유 식별자들이 포함되어 있는, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 랜덤 값은 난수 또는 의사-난수인, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 인스턴스 식별자는 상기 제1 애플리케이션 프로그램의 인스턴스에 고유한, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 제2 애플리케이션 프로그램은 상기 제1 키를 사용하여 화이트 박스 암호를 수행하도록 구성되는, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 제1 키는 동적 키인, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 어드밴스트 저장 키의 구축 방법은,
상기 메모리에, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 데이터를 저장하는 단계; 및
상기 제1 애플리케이션 프로그램에 연관된 프로그램 데이터에, 상기 생성된 랜덤 값을 저장하는 단계;
를 더 포함하는, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드는 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는, 어드밴스트 저장 키의 구축 방법. - 제9항에 있어서,
상기 제2 애플리케이션 프로그램은 상기 제1 애플리케이션 프로그램의 실행 가능한 기능인, 어드밴스트 저장 키의 구축 방법. - 제1항에 있어서,
상기 어드밴스트 저장 키의 구축 방법은,
전송 기기에 의해, 적어도 상기 생성된 램덤 값을 전송하는 단계;
수신 기기에 의해, 하나 이상의 암호화된 매개변수들을 수신하는 단계로서, 상기 하나 이상의 암호화된 매개변수들은 각각 상기 저장 키를 사용하여 암호화되는, 단계; 및
상기 모바일 통신 기기의 국부 데이터베이스에, 상기 수신된 하나 이상의 암호화된 매개변수들을 저장하는 단계;
를 더 포함하는, 어드밴스트 저장 키의 구축 방법. - 제11항에 있어서,
적어도 상기 생성된 랜덤 값을 전송하는 단계는 상기 인스턴스 식별자를 전송하는 단계를 더 포함하는, 어드밴스트 저장 키의 구축 방법. - 어드밴스트 저장 키를 구축하는 시스템에 있어서,
상기 시스템은,
모바일 통신 기기의 메모리로서, 적어도
상기 모바일 통신 기기에 연관된 기기 정보,
제1 애플리케이션 프로그램에 연관된 프로그램 코드로서, 적어도 하나의 인스턴스 식별자를 포함하는, 제1 애플리케이션 프로그램에 연관된 프로그램 코드, 및
제2 애플리케이션 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 애플리케이션 프로그램에 연관된 프로그램 코드
를 저장하도록 구성된, 모바일 통신 기기의 메모리; 및
처리 기기로서,
상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트를 생성하도록 구성되고,
상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 랜덤 값을 생성하도록 구성되며,
적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하도록 구성되고, 그리고
상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하도록 구성된, 처리 기기;
포함하는, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 어드밴스트 저장 키의 구축 시스템은,
보호 데이터를 저장하도록 구성된 상기 모바일 통신 기기의 국부 데이터베이스;
를 더 포함하고,
상기 처리 기기는 상기 저장 키를 사용하여 상기 국부 데이터베이스에 저장되어 있는 보호 데이터를 암호화하도록 더 구성되는, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 기기 정보에는 상기 모바일 통신 기기에 연관된 하나 이상의 고유 식별자들이 포함되어 있는, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 랜덤 값은 난수 또는 의사-난수인, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 인스턴스 식별자는 상기 제1 애플리케이션 프로그램의 인스턴스에 고유한, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 제2 애플리케이션 프로그램은 상기 제1 키를 사용하여 화이트 박스 암호를 수행하도록 구성되는, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 제1 키는 동적 키인, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 메모리는 상기 제1 애플리케이션 프로그램에 연관된 프로그램 데이터를 저장하도록 더 구성되고, 그리고
상기 처리 기기는 상기 제1 애플리케이션 프로그램에 연관된 프로그램 데이터에 상기 생성된 랜덤 값을 저장하도록 더 구성되는, 어드밴스트 저장 키의 구축 시스템. - 제13항에 있어서,
상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드는 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는, 어드밴스트 저장 키의 구축 시스템. - 제21항에 있어서, 상기 제2 애플리케이션 프로그램은 상기 제1 애플리케이션 프로그램의 실행 가능한 기능인, 어드밴스트 저장 키의 구축 시스템.
- 제13항에 있어서,
상기 어드밴스트 저장 키의 구축 시스템은,
상기 생성된 랜덤 값을 전송하도록 구성된 전송 기기; 및
하나 이상의 암호화된 매개변수들을 수신하도록 구성된 수신 기기로서, 상기 하나 이상의 암호화된 매개변수들은 각각 상기 저장 키를 사용하여 암호화되는, 수신 기기;
를 더 포함하고,
상기 처리 기기는 상기 모바일 통신 기기의 국부 데이터베이스에 상기 수신된 하나 이상의 암호화된 매개변수들을 저장하도록 더 구성되는, 어드밴스트 저장 키의 구축 시스템. - 제23항에 있어서,
상기 생성된 랜덤 값의 전송은 상기 인스턴스 식별자의 전송을 더 포함하는, 어드밴스트 저장 키의 구축 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461979113P | 2014-04-14 | 2014-04-14 | |
US61/979,113 | 2014-04-14 | ||
PCT/US2014/068000 WO2015160385A1 (en) | 2014-04-14 | 2014-12-02 | Method and system for generating an advanced storage key in a mobile device without secure elements |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187027712A Division KR102150722B1 (ko) | 2014-04-14 | 2014-12-02 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160132105A KR20160132105A (ko) | 2016-11-16 |
KR101903709B1 true KR101903709B1 (ko) | 2018-10-04 |
Family
ID=54324415
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207004059A KR102151579B1 (ko) | 2014-04-14 | 2014-12-02 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
KR1020187027712A KR102150722B1 (ko) | 2014-04-14 | 2014-12-02 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
KR1020167028484A KR101903709B1 (ko) | 2014-04-14 | 2014-12-02 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207004059A KR102151579B1 (ko) | 2014-04-14 | 2014-12-02 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
KR1020187027712A KR102150722B1 (ko) | 2014-04-14 | 2014-12-02 | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 |
Country Status (14)
Country | Link |
---|---|
EP (1) | EP3132406A4 (ko) |
JP (3) | JP6224254B2 (ko) |
KR (3) | KR102151579B1 (ko) |
CN (2) | CN111523884B (ko) |
AU (3) | AU2014391256B2 (ko) |
CA (1) | CA2933336C (ko) |
IL (1) | IL246109B (ko) |
MX (1) | MX356939B (ko) |
NZ (1) | NZ721223A (ko) |
RU (2) | RU2682840C2 (ko) |
SG (2) | SG11201604876YA (ko) |
UA (1) | UA117951C2 (ko) |
WO (1) | WO2015160385A1 (ko) |
ZA (1) | ZA201603938B (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270748B2 (en) | 2013-03-22 | 2019-04-23 | Nok Nok Labs, Inc. | Advanced authentication techniques and applications |
US11521203B2 (en) * | 2015-07-09 | 2022-12-06 | Cryptography Research, Inc. | Generating a cryptographic key based on transaction data of mobile payments |
JP2017175226A (ja) * | 2016-03-18 | 2017-09-28 | 株式会社インテック | 公開鍵証明書を発行するためのプログラム、方法およびシステム |
US10769635B2 (en) | 2016-08-05 | 2020-09-08 | Nok Nok Labs, Inc. | Authentication techniques including speech and/or lip movement analysis |
EP3340094B1 (en) * | 2016-12-22 | 2021-04-28 | Mastercard International Incorporated | Method for renewal of cryptographic whiteboxes under binding of new public key and old identifier |
EP3364329B1 (en) * | 2017-02-21 | 2023-07-26 | Mastercard International Incorporated | Security architecture for device applications |
CN108804908B (zh) * | 2017-05-04 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 一种设备指纹生成方法、装置及计算设备 |
CN107908948B (zh) * | 2017-11-01 | 2019-11-19 | 中国移动通信集团江苏有限公司 | 一种应用于安全风险控制的安卓app设备指纹生成方法 |
US11868995B2 (en) | 2017-11-27 | 2024-01-09 | Nok Nok Labs, Inc. | Extending a secure key storage for transaction confirmation and cryptocurrency |
US11831409B2 (en) | 2018-01-12 | 2023-11-28 | Nok Nok Labs, Inc. | System and method for binding verifiable claims |
CN109068304A (zh) * | 2018-08-07 | 2018-12-21 | 佛山市苔藓云链科技有限公司 | 一种使用近场通信验证物联网设备真实的方法 |
US11258604B2 (en) * | 2018-10-19 | 2022-02-22 | Oracle International Corporation | Rewiring cryptographic key management system service instances |
US12041039B2 (en) * | 2019-02-28 | 2024-07-16 | Nok Nok Labs, Inc. | System and method for endorsing a new authenticator |
JP7127585B2 (ja) * | 2019-03-12 | 2022-08-30 | オムロン株式会社 | セーフティシステムおよびメンテナンス方法 |
US11792024B2 (en) | 2019-03-29 | 2023-10-17 | Nok Nok Labs, Inc. | System and method for efficient challenge-response authentication |
US11783332B2 (en) | 2020-02-14 | 2023-10-10 | Mastercard International Incorporated | Method and system for facilitating secure card-based transactions |
EP3933731A1 (en) * | 2020-06-30 | 2022-01-05 | Mastercard International Incorporated | Authorization data processing for multiple issuers |
US11784798B2 (en) | 2021-03-30 | 2023-10-10 | Visa International Service Association | System, method, and computer program product for data security |
CN115396103B (zh) * | 2022-10-26 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 基于白盒密钥的ai数据共享方法、系统和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262317A1 (en) * | 2012-04-02 | 2013-10-03 | Mastercard International Incorporated | Systems and methods for processing mobile payments by provisoning credentials to mobile devices without secure elements |
US20130282589A1 (en) * | 2012-04-20 | 2013-10-24 | Conductiv Software, Inc. | Multi-factor mobile transaction authentication |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606771B2 (en) * | 2001-01-11 | 2009-10-20 | Cardinalcommerce Corporation | Dynamic number authentication for credit/debit cards |
JP4808733B2 (ja) * | 2005-01-07 | 2011-11-02 | リモ パテントフェルヴァルトゥング ゲーエムベーハー ウント コー.カーゲー | 光均質化装置 |
KR100842267B1 (ko) * | 2006-12-01 | 2008-06-30 | 한국전자통신연구원 | 다중 인증 수단을 가지는 시스템의 통합 사용자 인증 서버,클라이언트 및 방법 |
JP2009284231A (ja) * | 2008-05-22 | 2009-12-03 | Panasonic Corp | 鍵生成装置、鍵生成方法及び鍵生成プログラム、並びに、電子機器 |
US8555089B2 (en) * | 2009-01-08 | 2013-10-08 | Panasonic Corporation | Program execution apparatus, control method, control program, and integrated circuit |
US8893967B2 (en) * | 2009-05-15 | 2014-11-25 | Visa International Service Association | Secure Communication of payment information to merchants using a verification token |
CA2792555C (en) * | 2010-04-09 | 2019-06-18 | Visa International Service Association | System and method for securely validating transactions |
US8380177B2 (en) * | 2010-04-09 | 2013-02-19 | Paydiant, Inc. | Mobile phone payment processing methods and systems |
SG187832A1 (en) * | 2010-08-12 | 2013-03-28 | Mastercard International Inc | Multi-commerce channel wallet for authenticated transactions |
US20120151223A1 (en) * | 2010-09-20 | 2012-06-14 | Conde Marques Ricardo Nuno De Pinho Coelho | Method for securing a computing device with a trusted platform module-tpm |
US8746553B2 (en) * | 2010-09-27 | 2014-06-10 | Mastercard International Incorporated Purchase | Payment device updates using an authentication process |
CN103201758A (zh) * | 2010-11-10 | 2013-07-10 | 斯玛特哈伯私人有限公司 | 经由未受保全公共电信基础设施执行金融交易的方法及装置 |
GB201105765D0 (en) * | 2011-04-05 | 2011-05-18 | Visa Europe Ltd | Payment system |
US20120317628A1 (en) * | 2011-06-09 | 2012-12-13 | Yeager C Douglas | Systems and methods for authorizing a transaction |
US9473295B2 (en) * | 2011-09-26 | 2016-10-18 | Cubic Corporation | Virtual transportation point of sale |
JP5795453B2 (ja) * | 2012-04-18 | 2015-10-14 | グーグル・インコーポレーテッド | セキュア要素を用いない支払取引処理 |
KR20130140948A (ko) * | 2012-05-17 | 2013-12-26 | 삼성전자주식회사 | 저장 장치의 식별자에 기반한 컨텐츠의 암복호화 장치 및 방법 |
US8738454B2 (en) * | 2012-07-23 | 2014-05-27 | Wal-Mart Stores, Inc. | Transferring digital receipt data to mobile devices |
KR102552606B1 (ko) * | 2013-08-15 | 2023-07-06 | 비자 인터네셔널 서비스 어소시에이션 | 보안 요소를 이용한 보안 원격 지불 거래 처리 |
NZ720688A (en) * | 2013-12-02 | 2017-09-29 | Mastercard International Inc | Method and system for secure authentication of user and mobile device without secure elements |
-
2014
- 2014-12-02 SG SG11201604876YA patent/SG11201604876YA/en unknown
- 2014-12-02 SG SG10201801008SA patent/SG10201801008SA/en unknown
- 2014-12-02 WO PCT/US2014/068000 patent/WO2015160385A1/en active Application Filing
- 2014-12-02 CA CA2933336A patent/CA2933336C/en active Active
- 2014-12-02 MX MX2016010086A patent/MX356939B/es active IP Right Grant
- 2014-12-02 KR KR1020207004059A patent/KR102151579B1/ko active IP Right Grant
- 2014-12-02 RU RU2018113732A patent/RU2682840C2/ru not_active IP Right Cessation
- 2014-12-02 UA UAA201609401A patent/UA117951C2/uk unknown
- 2014-12-02 KR KR1020187027712A patent/KR102150722B1/ko active IP Right Grant
- 2014-12-02 NZ NZ721223A patent/NZ721223A/en not_active IP Right Cessation
- 2014-12-02 EP EP14889340.7A patent/EP3132406A4/en not_active Ceased
- 2014-12-02 RU RU2016136503A patent/RU2653290C1/ru not_active IP Right Cessation
- 2014-12-02 CN CN202010102477.6A patent/CN111523884B/zh active Active
- 2014-12-02 KR KR1020167028484A patent/KR101903709B1/ko active IP Right Grant
- 2014-12-02 AU AU2014391256A patent/AU2014391256B2/en active Active
- 2014-12-02 JP JP2016541581A patent/JP6224254B2/ja active Active
- 2014-12-02 CN CN201480074686.7A patent/CN106104605B/zh active Active
-
2016
- 2016-06-08 IL IL246109A patent/IL246109B/en active IP Right Grant
- 2016-06-09 ZA ZA2016/03938A patent/ZA201603938B/en unknown
-
2017
- 2017-10-04 JP JP2017194490A patent/JP6703510B2/ja active Active
- 2017-10-12 AU AU2017245412A patent/AU2017245412A1/en not_active Abandoned
-
2019
- 2019-10-18 AU AU2019250276A patent/AU2019250276B2/en active Active
-
2020
- 2020-01-15 JP JP2020004636A patent/JP6889967B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130262317A1 (en) * | 2012-04-02 | 2013-10-03 | Mastercard International Incorporated | Systems and methods for processing mobile payments by provisoning credentials to mobile devices without secure elements |
US20130282589A1 (en) * | 2012-04-20 | 2013-10-24 | Conductiv Software, Inc. | Multi-factor mobile transaction authentication |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12100003B2 (en) | Method and system for generating an advanced storage key in a mobile device without secure elements | |
KR101903709B1 (ko) | 보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템 | |
KR101809221B1 (ko) | 보안 요소 없이 사용자 및 모바일 장치를 보안 인증하는 방법 및 시스템 |
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 | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |