KR20180108907A - Method and system for generating an advanced storage key in a mobile device without secure elements - Google Patents

Method and system for generating an advanced storage key in a mobile device without secure elements Download PDF

Info

Publication number
KR20180108907A
KR20180108907A KR1020187027712A KR20187027712A KR20180108907A KR 20180108907 A KR20180108907 A KR 20180108907A KR 1020187027712 A KR1020187027712 A KR 1020187027712A KR 20187027712 A KR20187027712 A KR 20187027712A KR 20180108907 A KR20180108907 A KR 20180108907A
Authority
KR
South Korea
Prior art keywords
payment
mobile device
key
transaction
message
Prior art date
Application number
KR1020187027712A
Other languages
Korean (ko)
Other versions
KR102150722B1 (en
Inventor
메흐디 콜린지
크리스티안 라두
Original Assignee
마스터카드 인터내셔날, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마스터카드 인터내셔날, 인코포레이티드 filed Critical 마스터카드 인터내셔날, 인코포레이티드
Publication of KR20180108907A publication Critical patent/KR20180108907A/en
Application granted granted Critical
Publication of KR102150722B1 publication Critical patent/KR102150722B1/en

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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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
    • 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]
    • 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/326Payment applications installed on the mobile 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • 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/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment 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 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;를 포함한다.A method for constructing an advanced storage key comprises the steps of storing in a memory of a mobile device a first program comprising at least (i) device information associated with the mobile device, (ii) program code associated with the first program, Associated program code, and (iii) program code associated with the second program, the program code associated with the second program comprising a first key; Generating a device fingerprint associated with the mobile device based on the device information through execution of code associated with the first program; Generating a random value through execution of code associated with the first program; Constructing a diversifier value based on the generated device fingerprint, the generated random value, and an instance identifier included in a code associated with the first program; And decrypting the constructed multivalued value using a first key stored in a code associated with the second program through execution of a code associated with the second program to obtain a storage key.

Figure P1020187027712
Figure P1020187027712

Description

보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템{Method and system for generating an advanced storage key in a mobile device without secure elements}FIELD OF THE INVENTION [0001] The present invention relates to a method and system for generating an advanced storage key in a mobile device having no security elements,

관련 출원들Related Applications

본원은 미국 특허법 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호를 기초로 하여 우선권을 주장한 것이고, 이들 각각의 임시출원의 전체 내용이 본원 명세서에 참조병합된다.This application claims priority from U.S. Patent No. 35 USC §119 (e), provisional applications filed December 2, 2013, 61 / 910,819; Provisional application 61 / 951,842, filed March 12, 2014; Provisional application 61 / 955,716, filed March 19, 2014; Provisional application 61 / 979,132, filed April 14, 2014; Provisional application 61 / 980,784, filed April 17, 2014; Provisional application 61 / 979,122, filed April 14, 2014; And Provisional Application No. 61 / 996,665, filed May 14, 2014; In particular, provisional application 61 / 979,113, filed April 14, 2014, the entire contents of each of which are incorporated herein by reference.

기술분야Technical field

본 개시내용은 필요한 보안 요소가 구비되어 있지 않은 모바일 기기에서 사용하기 위한 어드밴스트 저장 키의 생성에 관한 것이며, 더 구체적으로 기술하면 모바일 기기에서 데이터를 안전하게 저장하는데 사용하기 위한 보안 요소가 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 구축하도록 하기 위한 여러 값의 사용에 관한 것이다.This disclosure relates to the generation of advanced storage keys for use in mobile devices that do not have the necessary security elements and, more specifically, security features for securely storing data in mobile devices are provided And to use the various values to build an advanced storage key on a non-mobile device.

모바일 및 통신 기술들이 진보됨에 따라 상당한 기회들이 생겼는데, 그 중 하나는 모바일 컴퓨팅 기기의 사용자에게 자신의 모바일 기기를 사용하여 지불결제 트랜잭션들을 개시하고 지불결제 트랜잭션들에 대해 지불결제할 수 있는 능력을 제공하는 것이다. 모바일 기기를 통한 그러한 동작들을 가능하게 하는 그러한 수법 중 하나는 상기 모바일 기기로부터 지불결제 세부들을 인접한 비접촉 판매 시점 정보 관리(point of sale; POS) 단말기로 안전하게 전송하도록 하는 근접장 통신(near field communication; NFC) 기술의 사용이었다. 이를 달성하기 위해서는, 보안 요소(secure element; SE) 칩과 같은 보안 요소 하드웨어가 구비되어 있는 모바일폰들이 지불결제 크리덴셜들을 안전하게 저장하는데 사용된다. 보안 요소는 애플리케이션들 및 애플리케이션들의 기밀 데이터를 안전하게 호스트할 수 있는 변조 방지 플랫폼인 몇몇 NFC-지원 기기들에 포함될 수 있는 전용 보안 요소이다.As mobile and communications technologies advance, significant opportunities have arisen, including the ability to initiate payment transactions using their mobile device to a user of a mobile computing device and to pay for payment transactions . One such method of enabling such operations through a mobile device is to provide near field communication (NFC) to securely transfer payment details from the mobile device to a non-contact point of sale (POS) ) Technology. To achieve this, mobile phones with secure element hardware such as secure element (SE) chips are used to securely store payment credentials. The security element is a dedicated security element that can be included in some NFC-enabled devices, an anti-tamper platform that can securely host sensitive data for applications and applications.

그러나 모든 모바일 기기들이 보안 요소들이 구비되어 있는 것은 아니다. 그 외에도, 몇몇 금융 기관들은 비록 모바일 기기에 보안 요소가 구비되어 있더라도 모바일 기기들 상의 보안 요소들에 액세스할 수 없었다. 그 결과로, 비접촉 또는 다른 타입의 원격 지불결제 트랜잭션들을 수행하기 위한 필요한 하드웨어가 구비되어 있는 모바일 기기들을 지니는 많은 소비자는 이러한 기능을 실제로 사용하는 것이 가능하지 않을 수 있다. 그러한 어려움 때문에, 모바일 컴퓨팅 기기들이 보안 요소들의 사용 없이 지불결제 트랜잭션들을 개시 및 수행할 수 있게 하는 기술적 문제 해결 수법이 필요하다.However, not all mobile devices are equipped with security elements. In addition, some financial institutions have not been able to access the security elements on mobile devices, even if they are equipped with security elements. As a result, many consumers who have mobile devices with the necessary hardware to perform contactless or other types of remote payment transactions may not be able to actually use this functionality. Because of such difficulties, there is a need for a technical problem solving technique that allows mobile computing devices to initiate and perform payment settlement transactions without the use of security elements.

보안 요소들이 구비되어 있지 않거나 보안 요소들이 구비되어 있는 모바일 기기들에서 보안 요소들을 사용하지 않는 모바일 기기들을 사용하여 지불결제 트랜잭션들을 수행하는 몇몇 방법 및 시스템은 발명의 명칭이 "보안 요소들이 구비되어 있지 않은 모바일 기기들에 크리덴셜들을 프로비저닝함으로써 모바일 지불결제들을 처리하는 시스템 및 방법(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호의 전체 내용은 본원 명세서에 참조병합된다. 그러한 방법들 및 시스템들이 보안 요소를 사용하지 않는 모바일 기기를 통해 지불결제 트랜잭션들을 수행하기에 적합할 수 있지만, 여러 소비자, 상인, 및 금융 기관은 더 큰 보안에 대한 요구 때문에 그러한 트랜잭션들에 참가하기를 경계할 수 있다.Some methods and systems for performing payment transactions using mobile devices that do not use security elements in mobile devices that do not have security elements or are equipped with security elements are described in " &Quot; Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elements "by Mehdi Collinge, filed March 14, < RTI ID = 0.0 & U.S. Patent Application No. 13 / 827,042, the entire content of which is incorporated herein by reference. While such methods and systems may be well suited to perform payment transactions via mobile devices that do not use the security element, many consumers, merchants, and financial institutions may be required to participate in such transactions . ≪ / RTI >

그 결과로, 보안 요소가 구비되어 있지 않은 모바일 기기에서의 지불결제 크리덴셜들의 수신 및 저장을 위한 더 큰 보안을 제공함과 아울러, 금융 트랜잭션의 수행 동안 상기 모바일 기기로부터 판매 시점 정보 관리 단말기로의 지불결제 크리덴셜들의 전송에 대해 높아진 보안을 제공하는 기술적 문제 해결 수법들이 필요하다. 이러한 프로세스들에서 높아진 보안은 연루된 모든 엔티티들에 대한 안심도(peace of mind)를 높이는 결과를 초래할 수 있고, 이는 비접촉 또는 원격 지불결제 트랜잭션들에 대한 모바일 기기들의 사용을 증가시키는 결과를 초래할 수 있는데, 이는 전통적인 지불결제 방법들을 통해 소비자들에게 많은 급부를 제공할 수 있다.As a result, it is possible to provide greater security for receipt and storage of payment credentials in mobile devices for which there is no security element, and to provide greater security for payment from the mobile device to the point- Technical troubleshooting techniques are needed that provide increased security for the transmission of payment credentials. Increased security in these processes can result in increased peace of mind for all involved entities, which can result in increased use of mobile devices for contactless or remote payment transactions , Which can provide many benefits to consumers through traditional payment methods.

본 개시내용은 어드밴스트 저장 키(advanced storage key)들을 구축하는 시스템 및 방법의 설명을 제공한다.The present disclosure provides a description of a system and method for constructing advanced storage keys.

어드밴스트 저장 키를 구축하는 방법은, 모바일 통신 기기의 메모리에, 적어도 (i) 상기 모바일 통신 기기에 연관된 기기 정보, (ii) 제1 애플리케이션 프로그램에 연관된 프로그램 코드로서, 적어도 하나의 인스턴스 식별자를 포함하는, 제1 애플리케이션 프로그램에 연관된 프로그램 코드, 및 (iii) 제2 애플리케이션 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 애플리케이션 프로그램에 연관된 프로그램 코드를 저장하는 단계; 처리 기기에 의해, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트(fingerprint)를 생성하는 단계; 상기 처리 기기에 의해, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 랜덤 값을 생성하는 단계; 상기 처리 기기에 의해, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계; 및 상기 처리 기기에 의해, 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;를 포함한다.A method for constructing an advanced storage key includes storing at least one instance identifier in the memory of the mobile communication device as at least (i) device information associated with the mobile communication device, and (ii) program code associated with the first application program (Iii) a program code associated with a second application program, the program code comprising a first key, the program code being associated with a second application program; Generating, by the processing device, a device fingerprint associated with the mobile communication device based on the stored device information through execution of the program code associated with the first application program; Generating, by the processing device, a random value through execution of a program code associated with the first application program; Constructing a diversifier value by the processing device based on at least the instance identifier included in the generated device fingerprint, the generated random value, and the program code associated with the first application program ; And decrypting the constructed multivalued value by the processing device using a first key stored in a program code associated with the second application program through execution of the program code associated with the second application program, And acquiring the acquired information.

어드밴스트 저장 키를 구축하는 시스템은 모바일 통신 기기의 메모리 및 처리 기기를 포함한다. 상기 모바일 통신 기기의 메모리는, 적어도 상기 모바일 통신 기기에 연관된 기기 정보, 제1 애플리케이션 프로그램에 연관된 프로그램 코드로서, 적어도 하나의 인스턴스 식별자를 포함하는, 제1 애플리케이션 프로그램에 연관된 프로그램 코드, 및 제2 애플리케이션 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 애플리케이션 프로그램에 연관된 프로그램 코드를 저장하도록 구성된다. 상기 처리 기기는, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트를 생성하도록 구성되고, 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 랜덤 값을 생성하도록 구성되며, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 애플리케이션 프로그램에 연관된 프로그램 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하도록 구성되고, 그리고 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드의 실행을 통해 상기 제2 애플리케이션 프로그램에 연관된 프로그램 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하도록 구성된다.A system for building an advanced storage key includes a memory and a processing device of a mobile communication device. Wherein the memory of the mobile communication device comprises: at least a device information associated with the mobile communication device; program code associated with the first application program, the program code associated with the first application program including at least one instance identifier; Program code associated with the program, the program code being associated with the second application program, the key code including a first key. Wherein the processing device is configured to generate a device fingerprint associated with the mobile communication device based on the stored device information through execution of the program code associated with the first application program, And generating a random value based on at least an instance identifier included in the generated device fingerprint, the generated random value, and the program code associated with the first application program, value and decrypting the constructed multivalued value using a first key stored in the program code associated with the second application program through execution of the program code associated with the second application program Section is configured to obtain the key.

본 개시내용의 범위는 첨부도면들과 연관지어 고려된 이하 전형적인 실시 예들의 상세한 설명으로부터 가장 양호하게 이해될 것이다. 첨부도면들에는 이하의 도면들이 포함되어 있다.The scope of the present disclosure will be best understood from the following detailed description of exemplary embodiments taken in conjunction with the accompanying drawings. The accompanying drawings contain the following drawings.

도 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은 전형적인 실시 예들에 따른 컴퓨터 시스템 아키텍쳐를 예시하는 블록도이다.
1 is a block diagram illustrating a high-level system architecture for processing payment transactions with advanced security in provisioning and storing payment settlement credentials in accordance with exemplary embodiments.
FIG. 2 is a block diagram illustrating the mobile device of FIG. 1 for secure receipt and storage of payment settlement credentials in accordance with exemplary embodiments and for processing payment transactions for which there is no security element.
FIG. 3 is a block diagram illustrating a card database of the mobile device of FIG. 2 for storing payment settlement credentials in accordance with exemplary embodiments.
4 is a block diagram illustrating the memory of the mobile device of FIG. 2 for storing data used for generation of application passwords and generation of advanced storage keys in accordance with exemplary embodiments.
FIG. 5 is a block diagram illustrating the transaction management server of FIG. 1 for processing payment transactions with a mobile device without a security element according to exemplary embodiments.
FIG. 6 is a block diagram illustrating an account database of the processing server of FIG. 5 for storage of account details and payment settlement credentials in accordance with exemplary embodiments.
FIG. 7 is a flow chart illustrating a process for transmitting and verifying a dual application password for processing of payment transactions, including a mobile device without a security element according to exemplary embodiments.
Figure 8 is a flow chart illustrating an alternative process for transmission and identification of dual application ciphers for processing of payment transactions, including mobile devices without a security element according to exemplary embodiments.
FIG. 9 is a flow chart illustrating a process for creating, transmitting, and verifying remote notification services or other data messages provisioned to a mobile device without a security element in accordance with exemplary embodiments.
10A and 10B are flow charts illustrating a process for generating, transmitting, and verifying a message returned by a mobile device without a security element according to an exemplary embodiment.
FIG. 11 is a flow chart illustrating a process for identifying a remote notification service message using the mobile device of FIG. 2 in accordance with exemplary embodiments.
12 is a diagram illustrating generation of an advanced storage key using the mobile device of FIG. 2 in accordance with exemplary embodiments.
Figures 13 and 14 are flow charts illustrating exemplary methods for payment settlement credentials generated in a payment transaction in accordance with exemplary embodiments.
15 is a flow chart illustrating an exemplary method for receiving and processing a remote notification service message in accordance with exemplary embodiments.
16 is a flow chart illustrating an exemplary method for building an advanced storage key in accordance with exemplary embodiments.
17 is a block diagram illustrating a computer system architecture in accordance with exemplary embodiments.

본 개시내용의 부가적인 이용가능 분야들은 이하에 제공되어 있는 상세한 설명으로부터 자명해질 것이다. 여기서 이해하여야 할 점은 전형적인 실시 예들의 구체적인 설명이 단지 예시만을 위한 것으로 의도된 것이므로 본 개시내용의 범위를 반드시 한정하는 것으로 의도된 것이 아니라는 점이다.Additional feasible fields of the present disclosure will become apparent from the detailed description provided hereinafter. It is to be understood that the specific description of exemplary embodiments is intended to be illustrative only and is not intended to necessarily limit the scope of the present disclosure.

용어 해설Glossary of terms

지불결제 네트워크 - 현금-대체들의 사용을 통한 송금에 사용된 시스템 또는 네트워크. 지불결제 네트워크들은 여러 타입의 트랜잭션을 위한 송금을 처리하기 위해 다른 여러 프로토콜 및 절차를 사용할 수 있다. 지불결제 네트워크를 통해 수행될 수 있는 트랜잭션들은 제품 또는 서비스 구매들, 신용 구매들, 직불 트랜잭션들, 자금 이체들, 계정 인출들 등등을 포함할 수 있다. 지불결제 네트워크들은 지불결제 카드들, 신용장들, 수표들, 트랜잭션 계정들 등등을 포함할 수 있는 현금-대체들을 통한 트랜잭션들을 수행하도록 구성될 수 있다. 지불결제 네트워크들로서 수행하도록 구성된 네트워크들 또는 시스템들의 예들에는 MasterCard®, VISA®, Discover®, American Express®, PayPal® 등등에 의해 운영되는 것들이 포함된다. 본원 명세서에서 사용된 용어 "지불결제 네트워크"는 엔티티(entity)로서의 지불결제 네트워크, 및 지불결제 네트워크를 포함하는 장비, 하드웨어, 및 소프트웨어와 같은 물리적 지불결제 네트워크 양자 모두를 언급할 수 있다.Payment Network - Cash - A system or network used for remittance through the use of substitutes. Payment networks can use different protocols and procedures to handle remittances for different types of transactions. Transactions that may be performed through the payment network may include product or service purchases, credit purchases, debit transactions, funds transfers, account withdrawals, and the like. The payment networks may be configured to perform transactions via cash-in replacements, which may include payment cards, letters of credit, checks, transaction accounts, and the like. Examples of networks or systems configured to perform as payment networks include those operated by MasterCard ® , VISA ® , Discover ® , American Express ® , PayPal ®, and the like. The term "payment network" as used herein may refer to both a payment network as an entity, and a physical payment network such as equipment, hardware, and software, including a payment network.

트랜잭션 계정 - 당좌 계정, 저축 계정, 신용 계정, 가상 지불결제 계정 등등과 같은 트랜잭션의 자금을 조달하는데 사용될 수 있는 금융 계정. 트랜잭션 계정은, 개인, 가족, 회사, 기업, 정부 기관 등등을 포함할 수 있는, 지불결제 계정에 연관된 임의의 적합한 타입의 엔티티일 수 있는 소비자에 연관되어 있을 수 있다. 경우에 따라서는, 트랜잭션 계정이 PayPal® 등등에 의해 운영되는 그러한 계정들과 같이 가상 트랜잭션 계정일 수 있다.Transaction Account - A financial account that can be used to fund transactions such as current accounts, savings accounts, credit accounts, virtual payment accounts, and so on. A transactional account may be associated with a consumer, which may be any suitable type of entity associated with a payment settlement account, which may include individuals, families, companies, businesses, government agencies, and the like. In some cases, the transaction account may be a synthetic transaction account, such as those accounts operated by PayPal ® and so on.

지불결제 카드 - 관련 트랜잭션 계정을 통해 금융 트랜잭션의 자금을 조달하기 위해 상인에게 제공될 수 있는 트랜잭션 계정에 연관된 카드 또는 데이터. 지불결제 카드들에는 신용 카드들, 직불 카드들, 충전 카드들, 저장값 카드들, 선불 카드들, 차량 카드들, 가상 지불결제 번호들, 가상 카드 번호들, 제어 지불결제 번호들 등등이 포함될 수 있다. 지불결제 카드는 상인에게 제공될 수 있는 물리적 카드일 수도 있고, 관련 트랜잭션 계정(예컨대, 스마트폰 또는 컴퓨터와 같은 통신 기기에 저장된 바와 같은 관련 트랜잭션 계정)을 나타내는 데이터일 수도 있다. 예를 들면, 경우에 따라서는, 지불결제 계정 번호를 포함하는 데이터가 상기 관련 트랜잭션 계정에 의해 자금이 조달되는 트랜잭션의 처리를 위한 지불결제 카드로 간주할 수 있다. 경우에 따라서는, 수표가 적용 가능할 경우에 지불결제 카드로 간주할 수 있다.Payment Card - A card or data associated with a transaction account that can be provided to a merchant to finance a financial transaction through an associated transaction account. Payment cards may include credit cards, debit cards, recharge cards, storage value cards, prepaid cards, vehicle cards, virtual payment numbers, virtual card numbers, control payment numbers, etc. have. The payment card may be a physical card that may be provided to the merchant or may be data representing an associated transaction account (e.g., a related transaction account as stored in a communication device such as a smart phone or a computer). For example, in some cases, data including a payment account number can be considered a payment card for processing transactions in which the relevant transaction account is financed. In some cases, a check may be considered a payment card if the check is applicable.

지불결제 트랜잭션 - 금전 또는 다른 금융 급부가 한 엔티티로부터 나머지 엔티티로 교환되는 두 엔티티 간의 트랜잭션. 상기 지불결제 트랜잭션은 관련 기술에 숙련된 자들에게 자명해지겠지만 상품들 또는 서비스들의 구매를 위한, 부채 상환을 위한, 또는 금융 급부의 다른 어떤 교환을 위한, 자금 이체일 수 있다. 경우에 따라서는, 지불결제 트랜잭션이 신용 카드 트랜잭션들과 같은 지불결제 카드 및/또는 지불결제 계정을 통해 자금이 조달되는 트랜잭션들을 언급할 수 있다. 그러한 지불결제 트랜잭션들은 발행자, 지불결제 네트워크, 및 수취자를 통해 처리될 수 있다. 그러한 지불결제 트랜잭션을 처리하기 위한 프로세스는 승인, 배칭(batching), 청산, 결제, 및 자금 조달 중 적어도 하나를 포함할 수 있다. 승인에는 소비자에 의한 지불결제 세부들을 상인에게 제공하는 것, 상인으로부터 상인의 수취자로 트랜잭션 세부들(예컨대, 지불결제 세부들을 포함하는 트랜잭션 세부들)을 제출하는 것, 그리고 상기 트랜잭션의 자금을 조달하는데 사용되는 소비자의 지불결제 계정의 발행자에게 지불결제 세부들을 검증하는 것이 포함될 수 있다. 배칭은 수취자로의 배포를 위해 하나의 승인된 트랜잭션을 다른 승인된 트랜잭션들과 함께 배치(batch)를 이루어 저장하는 것을 언급할 수 있다. 청산(clearing)은 처리를 위해 수취자로부터 지불결제 네트워크로 배칭된 트랜잭션들을 발송하는 것을 포함할 수 있다. 결제(settlement)에는 발행자의 수취자(beneficiary)들이 연루된 트랜잭션들을 위한 지불결제 네트워크에 의한 발행자의 출금이 포함될 수 있다. 경우에 따라서는, 발행자가 지불결제 네트워크를 통해 수취자에게 입금할 수 있다. 다른 경우에는, 발행자가 수취자에게 직접 입금할 수 있다. 자금 조달에는 청산 및 결제된 지불결제 트랜잭션들을 위한 수취자로부터 상인으로의 입금이 포함될 수 있다. 관련 기술에 숙련된 자들에게는 자명해지겠지만 위에서 검토한 단계들의 순서 및/또는 분류가 지불결제 트랜잭션 처리의 일부로서 수행된다.Payment Transactions - Transactions between two entities whose money or other financial benefits are exchanged from one entity to the other. The payment transaction may be a money transfer for the purchase of goods or services, for debt repayment, or for any other exchange of financial benefits, as will be apparent to those skilled in the relevant arts. In some cases, payment transactions may refer to transactions that are funded through payment payment cards, such as credit card transactions, and / or payment settlement accounts. Such payment transactions may be processed through the issuer, the payment network, and the recipient. The process for processing such payment transactions may include at least one of approval, batching, settlement, settlement, and financing. The authorization includes providing the merchant with payment details by the consumer, submitting transaction details (e.g., transaction details including payment details) from the merchant to the merchant's recipient, and funding the transaction And verifying the payment details to the issuer of the consumer's payment account being used. Batching may refer to storing an approved transaction in batches with other authorized transactions for distribution to the recipient. Clearing may include dispatching transactions from the recipient to the payment network for processing. The settlement may include the issuer's withdrawal by the payment network for transactions involving issuer beneficiaries. In some cases, the issuer can deposit money to the recipient through the payment payment network. In other cases, the issuer can directly deposit money to the recipient. Funding may include depositing money from the receiver to the merchant for clearing and settlement payment transactions. As will be apparent to those skilled in the relevant arts, the order and / or classification of the steps discussed above is performed as part of the payment transaction processing.

판매 시점 정보 관리 시스템 - 트랜잭션 데이터, 지불결제 데이터, 및/또는 상품들 및/또는 서비스들의 구매 및/또는 상품들 및/또는 서비스들에 대한 지불결제를 위한 다른 적합한 타입의 데이터를 입력하기 위해 사용자(예컨대, 소비자, 사용인 등등)와의 상호작용을 수취하도록 구성된 컴퓨팅 기기 또는 컴퓨팅 시스템. 상기 판매 시점 정보 관리 시스템은 "브릭 앤 모타르(brick and mortar)" 점포와 같은, 고객이 상기 트랜잭션의 일부로서 방문하는 물리적 위치에 있는 물리적 기기(예컨대, 금전 등록기, 키오스크(kiosk), 데스크톱 컴퓨터, 스마트폰, 태블릿 컴퓨터 등등)일 수도 있고, 인터넷과 같은 네트워크를 통해 고객들로부터의 통신들을 수신하는 온라인 소매상인들과 같은 전자 상거래 환경들에 있는 가상적 기기일 수도 있다. 상기 판매 시점 정보 관리 시스템이 가상적 기기일 수 있는 경우에서는, 상기 트랜잭션을 개시하도록 사용자에 의해 작동되는 컴퓨팅 기기 또는 상기 트랜잭션의 결과로서 데이터를 수신하는 컴퓨팅 기기가 적용 가능할 경우에 상기 판매 시점 정보 관리 시스템으로 간주할 수 있다.Point-of-sale information management system - a system and method for entering transaction data, payment payment data, and / or other suitable types of data for the purchase of goods and / or services and / or payment for goods and / (E. G., A consumer, a user, etc.). ≪ / RTI > The point-of-sale information management system may be a physical device (e.g., a cash register, a kiosk, a desktop computer, etc.) at a physical location that a customer visits as part of the transaction, such as a "brick and mortar & , A smart phone, a tablet computer, etc.), or it may be a virtual device in an electronic commerce environment, such as an online retailer receiving communications from customers over a network such as the Internet. In the case where the point-of-sale information management system may be a virtual device, when a computing device operated by a user to start the transaction or a computing device receiving data as a result of the transaction is applicable, .

보안 요소들이 구비되어 있지 않은 모바일 기기를 사용하여 Using mobile devices without security elements 지불결제Payment 트랜잭션들을 처리하는 시스템 Systems that process transactions

도 1에는 보안 요소들의 사용을 필요로 하지 않은 모바일 기기를 사용하여 지불결제 트랜잭션들을 처리하기 위한 시스템(100)이 예시되어 있는데, 여기서 보안 요소들의 사용에는 모바일 기기에 지불결제 크리덴셜들을 안전하게 프로비저닝하는 것, 모바일 기기의 안전한 저장, 및 상기 지불결제 트랜잭션을 확인 및 처리하는데 사용하기 위한 다수의 애플리케이션 암호를 생성하는 데 있어서의 사용이 포함될 수 있다.1 illustrates a system 100 for processing payment transactions using a mobile device that does not require the use of security elements, wherein the use of security elements includes securely provisioning payment credentials to the mobile device , Secure storage of the mobile device, and use in generating a plurality of application passwords for use in identifying and processing the payment transaction.

상기 시스템(100)은 트랜잭션 관리 서버(102)를 포함할 수 있다. 상기 트랜잭션 관리 서버(102)는 이하에서 더 구체적으로 검토되겠지만, 안전하게 전송된 원격 통지 메시지를 사용하여 지불결제 크리덴셜들을 모바일 기기(104)에 프로비저닝하기 위해, 그리고 지불결제 트랜잭션의 일부로서 상기 모바일 기기(104)에 의해 생성된 지불결제 크리덴셜들을 확인하기 위해 본원 명세서에서 검토되는 기능들을 수행하도록 특정하게 프로그램된 하나 이상의 컴퓨팅 기기들일 수 있다. 본원 명세서에서는 상기 트랜잭션 관리 서버(102)가 여러 기능을 수행하는 것으로 예시 및 검토되겠지만, 관련 기술에 숙련된 자들에게는 상기 트랜잭션 관리 서버(102)가 본원 명세서에서 검토되는 기능들을 수행하도록 구성된 다수의 컴퓨팅 기기, 서버, 및/또는 컴퓨팅 네트워크로 이루어질 수 있음이 자명할 것이다. 상기 모바일 기기(104)는 이하에서 더 구체적으로 검토되겠지만 본원 명세서에서 검토되는 기능들을 수행하는데 적합하며 셀룰러폰, 스마트폰, 스마트워치, 다른 착용 가능하거나 내장된 컴퓨팅 기기, 태블릿 컴퓨터, 랩톱 컴퓨터 등등을 포함할 수 있는, 임의 타입의 모바일 컴퓨팅 기기일 수 있다. 몇몇 실시 예들에서는, 상기 모바일 기기(104)에는 보안 요소가 구비되어 있지 않을 수 있다. 다른 실시 예들에서는, 상기 모바일 기기(104)가 보안 요소를 포함할 수 있지만, 그러한 보안 요소가 본원 명세서에서 검토되는 방법 및 시스템과 함께 사용되지 않을 수도 있고, 예컨대 부가적인 보안을 제공하기 위해 본원 명세서에서 검토되는 방법 및 시스템과 함께 사용될 수도 있다.The system 100 may include a transaction management server 102. The transaction management server 102 may be configured to provision payment credentials to the mobile device 104 using a securely transmitted remote notification message, as will be discussed in greater detail below, May be one or more computing devices that are specifically programmed to perform the functions discussed herein to identify payment settlement credentials generated by the computing device 104. It will be appreciated by those skilled in the relevant art that the transaction management server 102 may be configured to perform a number of functions configured to perform the functions discussed herein, A device, a server, and / or a computing network. The mobile device 104 is suitable for performing the functions discussed herein, as will be discussed in greater detail below, and may be a cellular phone, smart phone, smart watch, other wearable or embedded computing device, tablet computer, And may be any type of mobile computing device. In some embodiments, the mobile device 104 may not be provided with a security element. In other embodiments, the mobile device 104 may include a security element, but such a security element may not be used with the methods and systems discussed herein and may be used, for example, ≪ / RTI >

상기 모바일 기기(104)는 다수의 통신 채널, 예컨대 듀얼 채널 통신을 이용하는 다수의 통신 채널을 사용하여 상기 트랜잭션 관리 서버(102)와 통신할 수 있다. 듀얼 채널 통신은 예컨대 검증 및 인증을 위해 데이터를 전송 및 수신하는 2개의 통신 채널을 사용하여 데이터 전송에 있어서의 더 높은 보안을 보장하는 것을 포함할 수 있다. 상기 모바일 기기(104)는 본원 명세서에서 검토되는 상기 모바일 기기(104)의 기능들을 수행하기 위해 상기 모바일 기기(104)에 의해 실행되도록 구성된 모바일 지불결제 애플리케이션(mobile payment application; MPA)을 포함할 수 있다. 상기 MPA는 이하에서 더 구체적으로 검토되겠지만, 상기 모바일 기기(104) 상에 설치될 수 있으며 또한 상기 MPA는 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102)가 공유 데이터를 사용하여 하나 이상의 통신 채널들을 거쳐 통신들을 안전하게 전송 및 수신할 수 있게 하는 관련 기술에 숙련된 자들에게는 자명한 방법 및 시스템을 사용하여 활성화될 수 있다.The mobile device 104 may communicate with the transaction management server 102 using multiple communication channels, e.g., multiple communication channels using dual channel communication. Dual channel communications may include ensuring higher security in data transmission using, for example, two communication channels for transmitting and receiving data for verification and authentication. The mobile device 104 may include a mobile payment application (MPA) configured to be executed by the mobile device 104 to perform the functions of the mobile device 104 discussed herein have. The MPA may be installed on the mobile device 104 and the MPA may be configured to allow the mobile device 104 and the transaction management server 102 to use one or more communication channels And may be enabled using methods and systems that are well known to those skilled in the relevant arts which are capable of securely transmitting and receiving communications over the Internet.

상기 시스템(100)은 또한 발행자(106)를 포함할 수 있다. 상기 발행자(106)는 트랜잭션 계정에 연관된 소비자(108)에 지불결제 카드 또는 지불결제 크리덴셜들을 발행하는 발행 은행과 같은 금융 기관일 수 있다. 상기 발행자(106)는 상기 트랜잭션 계정 및/또는 지불결제 카드에 연관된 지불결제 세부들을 상기 트랜잭션 관리 서버(102)에 제공할 수 있다. 상기 지불결제 세부들에는 예를 들면 트랜잭션 계정 번호, 계정 보유자 이름, 만료 일자, 보안 코드 등등이 포함될 수 있다. 상기 트랜잭션 관리 서버(102)는 이하에서 더 구체적으로 검토되겠지만 계정 데이터베이스에 상기 데이터를 저장할 수 있다. 상기 트랜잭션 관리 서버(102)는 상기 모바일 기기(104)에 상기 지불결제 크리덴셜들을 프로비저닝할 수 있다. 본원 명세서에서 사용되는 용어 "지불결제 크리덴셜들"은 지불결제 세부들, 지불결제 크리덴셜들, 단일 사용 키들, 세션 키들, 애플리케이션 암호들, 카드 마스터 키들 등등을 포함하지만 이들에 국한되지 않는 본원 명세서에 검토되는 방법 및 시스템을 사용하여 지불결제 트랜잭션에서 사용되는 지불결제 정보의 전송 및 확인에서 상기 모바일 기기(104) 및/또는 트랜잭션 관리 서버(102)에 의해 사용되는 임의의 데이터를 언급할 수 있다.The system 100 may also include an issuer 106. The issuer 106 may be a financial institution, such as a issuing bank, that issues payment cards or payment settlement credentials to the consumer 108 associated with the transaction account. The publisher 106 may provide the transaction management server 102 with payment settlement details associated with the transaction account and / or payment card. The payment details may include, for example, transaction account number, account holder name, expiration date, security code, and the like. The transaction management server 102 may store the data in an account database, which will be discussed in more detail below. The transaction management server 102 may provision the payment settlement credentials to the mobile device 104. The term "payment settlement credentials" as used herein is intended to include but is not limited to payment details, payment credentials, single use keys, session keys, application passwords, card master keys, And any data used by the mobile device 104 and / or the transaction management server 102 in the transmission and validation of the payment payment information used in the payment transaction using the system .

몇몇 실시 예들에서는, 상기 지불결제 크리덴셜들이 원격 통지 서비스 메시지들을 통해 상기 모바일 기기(104)에 프로비저닝될 수 있다. 이하에서 더 구체적으로 검토되겠지만, 상기 원격 통지 서비스(RNS) 메시지는 상기 모바일 기기(104)에 전송된 다음에 상기 모바일 기기(104)에 의해 확인되는 보안 메시지로서 내부에 포함된 데이터가 다른 기기들 및 사용자들로부터 안전할 수 있게 하는 보안 메시지일 수 있다. 상기 모바일 기기(104)의 MPA는 수신된 RNS 메시지의 진정성(眞正性; authenticity)을 검증할 수 있고 상기 수신된 RNS 메시지를 복호화하여 내부에 포함된 데이터를 획득할 수 있다. 그리고 나서, 상기 모바일 기기(104)는 (예컨대, 상기 데이터 내에 포함되어 있는 명령어들을 실행함으로써와 같이) 상기 데이터를 기반으로 하여 임의의 필요한 기능들을 수행할 수 있고, 적용 가능한 경우에, 상기 트랜잭션 관리 서버(102)로 다시 발송될 반송 메시지를 생성할 수 있다. 경우에 따라서는, 상기 반송 메시지가 상기 트랜잭션 관리 서버(102)에 의해 확인될 수 있다.In some embodiments, the payment settlement credentials may be provisioned to the mobile device 104 via remote notification service messages. As will be discussed in more detail below, the remote notification service (RNS) message is a security message that is transmitted to the mobile device 104 and then confirmed by the mobile device 104, And a secure message that allows it to be secure from users. The MPA of the mobile device 104 may verify the authenticity of the received RNS message and may decrypt the received RNS message to obtain data contained therein. The mobile device 104 may then perform any necessary functions based on the data (e.g., by executing the instructions contained in the data) and, if applicable, And may generate a return message to be sent back to the server 102. In some cases, the return message may be acknowledged by the transaction management server 102.

경우에 따라서는, 상기 모바일 기기(104)에서의 RNS 메시지들의 확인, 또는 상기 트랜잭션 관리 서버(102)에서의 반송 메시지들의 확인이 적어도 메시지 카운터들 및 인증 코드를 이용할 수 있다. 카운터들 및 인증 코드들의 사용은 단지 의도되는 모바일 기기(104)만이 RNS 메시지에 포함되어 있는 데이터를 확인 및 복호화하는 것이 가능할 수 있다. 그 외에도, 상기 인증 코드들의 생성에서 사용되는 규칙들 및/또는 알고리즘들이 상기 MPA에 포함되어 있는 경우에, 단지 상기 애플리케이션 프로그램의 특정 인스턴스를 또한 포함하는 모바일 기기(104)만이 RNS 메시지를 확인하는 것이 가능할 수 있음으로써, 보안이 추가로 높아지게 되는 결과를 초래한다. 상기 RNS 메시지가 지불결제 크리덴셜들을 포함할 수 있는 경우에, 이는 상기 지불결제 크리덴셜들이 단지 적합한 모바일 기기(104) 상에서만 그리고 단지 상기 지불결제 크리덴셜들에 액세스하는데 사용된 MPA가 적합하고 승인된 애플리케이션인 경우에만 이용 가능함을 보장할 수 있다.In some cases, an acknowledgment of the RNS messages at the mobile device 104, or acknowledgment of the return messages at the transaction management server 102, may at least use message counters and authentication codes. The use of counters and authorization codes may be possible only for the intended mobile device 104 to identify and decrypt the data contained in the RNS message. In addition, if rules and / or algorithms used in the generation of the authentication codes are included in the MPA, only the mobile device 104, which also includes a specific instance of the application program, This may result in further increased security. If the RNS message can contain payment credentials, then it is possible that the payment credentials are only appropriate on the appropriate mobile device 104 and only if the MPA used to access the payment credentials is adequate and approved It can be ensured that it is available only in case of an application which has been downloaded.

상기 모바일 기기(104)에 프로비저닝되는 지불결제 크리덴셜들은 이하에서 더 구체적으로 검토되겠지만 카드 데이터베이스와 같은 상기 모바일 기기(104) 내의 저장소에 안전하게 저장될 수 있다. 몇몇 실시 예들에서는, 상기 모바일 기기(104)가 상기 모바일 기기(104) 내의 데이터베이스 또는 메모리 내에 지불결제 크리덴셜들과 같은 데이터를 안전하게 저장하는데 사용하기 위한 어드밴스트 저장 키(advanced storage key)를 생성하도록 구성될 수 있다. 어드밴스트 저장 키의 생성은 이하에서 더 구체적으로 검토되겠지만 고유 기기 정보, 고유 MPA 정보, 및 램덤하게 생성된 정보를 이용하여 상기 모바일 기기(104)에 데이터를 안전하게 저장하는데 사용될 수 있는 보안 저장 키를 식별할 수 있다. 그 결과로, 상기 지불결제 크리덴셜들 또는 다른 민감한 데이터는 보안 요소의 사용 없이 상기 모바일 기기(104)에 안전하게 저장될 수 있는데, 이는 상기 모바일 기기(104)가 보안 요소의 사용 없이 지불결제 트랜잭션을 개시 및 수행하는 결과를 초래하여, 고수준의 보안을 유지하면서 발행자들(106) 및 소비자들(108)에 대한 가용성을 증가시킬 수 있다.Payment settlement credentials provisioned to the mobile device 104 may be securely stored in a repository within the mobile device 104, such as a card database, as will be discussed in more detail below. In some embodiments, the mobile device 104 may be configured to generate an advanced storage key for use in securely storing data such as payment credentials in a database or memory within the mobile device 104 Lt; / RTI > The creation of the advanced storage key may be accomplished using a secure storage key that can be used to securely store data in the mobile device 104 using unique device information, native MPA information, and randomly generated information, as will be discussed in greater detail below. Can be identified. As a result, the payment credentials or other sensitive data can be safely stored in the mobile device 104 without the use of a security element, which allows the mobile device 104 to initiate a payment transaction Initiate and perform results, increasing the availability to publishers 106 and consumers 108 while maintaining a high level of security.

일단 상기 모바일 기기(104)가 수신되고, 확인되며, 그리고 내부에 안전하게 저장된 트랜잭션 계정에 대한 지불결제 크리덴셜들을 지니는 경우에, 소비자(108)는 상기 모바일 기기(104)를 상인측 판매 시점 정보 관리 단말기(110)로 이동시켜 지불결제 트랜잭션을 수행할 수 있다. 상기 소비자(108)는 구매하기 위한 상품들 또는 서비스들을 선택할 수 있고, 상기 상품들 또는 서비스들의 구매를 위한 상인과의 지불결제 트랜잭션을 개시할 수 있으며, 상기 모바일 기기(104)를 사용하여 상기 지불결제 트랜잭션의 자금을 조달하는데 사용하기 위한 지불결제 크리덴셜들을 전달할 수 있다. 상기 판매 시점 정보 관리 단말기(110)로 지불결제 크리덴셜들을 전달하는 것은 2개 이상의 애플리케이션 암호의 전달을 포함할 수 있다. 2개 이상의 애플리케이션 암호의 사용은 보안 요소가 구비되어 있는 모바일 기기(104)를 사용하여 수행되는 트랜잭션들을 포함하는, 전통적인 비접촉 및 원격 트랜잭션들에서 이용 가능한 것보다 본원 명세서에서 검토되는 방법 및 시스템을 사용하여 처리되는 트랜잭션들에 대한 보안 수준이 높게 되는 결과를 초래할 수 있다.Once the mobile device 104 is received, verified, and has payment credentials for a securely stored transaction account therein, the consumer 108 may transfer the mobile device 104 to merchant-side point-of-sale information management And may move to the terminal 110 to perform a payment transaction. The consumer 108 may select merchandise or services for purchase and may initiate payment transactions with merchants for purchasing the merchandise or services and may use the mobile device 104 to initiate payment And may provide payment settlement credentials for use in funding a payment transaction. Delivery of payment settlement credentials to the point of sale information management terminal 110 may include delivery of two or more application passwords. The use of two or more application passwords allows for the use of methods and systems discussed herein rather than those available in traditional non-contact and remote transactions, including transactions performed using mobile device 104 with secure elements Thereby increasing the security level of the transactions being processed.

상기 애플리케이션 암호들은 각각 이하에서 검토되는 개별 세션 키들 및 추가 데이터를 사용하여 상기 모바일 기기(104)에 의해 생성될 수 있다. 상기 어드밴스트 저장 키를 통해 보증되고 상기 MPA에 연관된 저장소에서와 같이 상기 모바일 기기(104)에서 저장된 데이터를 사용하여 생성된 애플리케이션 암호들은 상기 애플리케이션 암호들이 상기 모바일 기기(104) 및 상기 MPA의 특정 인스턴스를 인증하는 것을 보장할 수 있다. 경우에 따라서는, 상기 암호들 및/또는 상기 암호들을 생성하는데 사용되는 세션 키들 중의 하나는 개인 식별 번호(personal identification number; PIN)와 같은, 상기 소비자(108)에 의해 제공되는 정보를 사용할 수 있다. 상기 PIN 또는 다른 소비자 인증 정보의 사용은 암호가 상기 소비자(108) 및 상기 모바일 기기(104) 양자 모두를 인증하는 것을 허용할 수 있다. 그러한 경우에, 상기 모바일 기기(104)에 의해 생성된 암호들은 상기 모바일 기기(104)를 인증하는 제1 암호, 및 상기 모바일 기기(104) 및 상기 소비자(108) 양자 모두를 인증하는 제2 암호를 포함할 수 있다.The application ciphers may be generated by the mobile device 104 using separate session keys and additional data, each of which is discussed below. Application passwords generated using the data stored in the mobile device 104, such as in the repository associated with the MPA, guaranteed by the advanced storage key, are used by the application secrets to authenticate the mobile device 104 and a specific instance of the MPA Can be authenticated. In some cases, one of the ciphers and / or the session keys used to generate the ciphers may use the information provided by the customer 108, such as a personal identification number (PIN) . The use of the PIN or other consumer authentication information may allow a password to authenticate both the consumer 108 and the mobile device 104. In such a case, the passwords generated by the mobile device 104 may include a first password for authenticating the mobile device 104 and a second password for authenticating both the mobile device 104 and the consumer 108. [ . ≪ / RTI >

상기 암호들은 근접장(near field) 통신을 통해서와 같은 지불결제 트랜잭션의 수행의 일부로서 상기 판매 시점 정보 관리 단말기(110)에 의해 수신될 수 있다. 상기 애플리케이션 암호들은 비접촉 트랜잭션, 원격 트랜잭션, 보안 원격 지불결제 트랜잭션, 자기 스트라이프 트랜잭션, 및 M/Chip EMV 트랜잭션과 같은 임의의 적합한 타입의 지불결제 트랜잭션이라는 문맥에서 필요할 수 있고, 관련 기술에 숙련된 자들에게는 자명하겠지만 그에 따른 임의의 적합한 방법을 사용하여 상기 판매 시점 정보 관리 단말기(110)에 전송될 수 있는 것과 같은 추가 지불결제 정보를 동반할 수 있다. 상기 암호들은 상인에 연관된, 수취 은행과 같은 금융 기관일 수 있는, 수취자(112)에 전송될 수 있다. 상기 수취자(112)는 예를 들어 지불결제 트랜잭션을 위해 소비자(108)로부터의 자금들의 지불결제를 수취하는데 사용되는 트랜잭션 계정을 상인에게 발행할 수 있다. 상기 수취자(112)는 관련 기술에 숙련된 자들에게는 자명한 방법 및 시스템을 사용하여 지불결제 네트워크(114)에 상기 암호들 및 추가 트랜잭션 세부들을 제출할 수 있다. 예를 들어, 상기 트랜잭션 세부들 및 애플리케이션 암호들은 지불결제 레일들 상에서 상기 지불결제 네트워크(114)에 제출되는 승인 요구에 포함될 수 있다.The ciphers may be received by the point of sale information management terminal 110 as part of the performance of a payment transaction, such as through near field communication. The application passwords may be needed in the context of a contactless transaction, a remote transaction, a secure remote payment transaction, a self-stripe transaction, and any suitable type of payment transaction, such as an M / Chip EMV transaction, But may be accompanied by additional payment information such as may be transmitted to the point-of-sale terminal 110 using any suitable method therefor. The ciphers may be sent to the recipient 112, which may be a financial institution, such as a receiving bank, associated with the merchant. The recipient 112 may issue to the merchant a transaction account, which is used, for example, to receive payments of funds from the consumer 108 for a payment transaction. The recipient 112 may submit the passwords and additional transaction details to the payment network 114 using methods and systems that are well known to those skilled in the relevant arts. For example, the transaction details and application secrets may be included in an authorization request submitted to the payment payment network 114 on payment settlement rails.

몇몇 실시 예들에서는, 양자 모두의 애플리케이션 암호들이 단일의 트랜잭션 메시시지 내에 포함될 수 있다. 예를 들면, 상기 모바일 기기(104) 및/또는 판매 시점 정보 관리 시스템(110)은 기존의 지불결제 시스템들 및 하드웨어를 사용하여 양자 모두의 애플리케이션 암호들을 전송하도록 전통적인 트랜잭션 메시지의 레거시 데이터 필드들 내에 양자 모두의 애플리케이션 암호들을 포함시킬 수 있다. 경우에 따라서는, 상기 트랜잭션 관리 서버(102)가 자기 스트라이프 트랜잭션에서와 같이 상기 애플리케이션 암호들의 유효화를 위한 트랙 2 데이터를 사용하도록 구성될 수 있다. 그러한 경우에서는, 상기 트랜잭션 메시지가 트랙 1 데이터를 포함하고 있는 경우에, 상기 트랜잭션 관리 서버(102)는 트랙 1 데이터를 트랙 2 데이터로 변환하도록 구성될 수 있으며, 이는 또한 수정된 트랙 1 또는 트랙 2 데이터를 각각 수정되지 않은 (예컨대, 원래의, 재구성된 등등의) 트랙 1 또는 트랙 2 데이터로 변환하는 것을 포함할 수 있다. 이러한 기능들을 수행함으로써, 그리고 레거시 데이터 필드들 내에 상기 애플리케이션 암호들을 포함시킴으로써, 상기 트랜잭션 관리 서버(102)는 상기 모바일 기기(104) 상에서의 보안 요소(104)의 사용을 필요로 하지 않고, 그리고 레거시 지불결제 시스템들에 대한 수정 없이, 높은 보안 수준을 갖는 모바일 기기(104)를 사용하여 원격 및 비접촉 지불결제 트랜잭션들을 처리 및 유효화하는데 사용될 수 있다.In some embodiments, both application passwords may be included in a single transaction message. For example, the mobile device 104 and / or point-of-sale information management system 110 may be configured to transfer application passwords using both existing payment systems and hardware within legacy data fields of a traditional transaction message Both application passwords can be included. In some cases, the transaction management server 102 may be configured to use Track 2 data for validation of the application passwords as in a self-stripe transaction. In such a case, if the transaction message contains Track 1 data, the transaction management server 102 may be configured to convert Track 1 data to Track 2 data, which may also be modified Track 1 or Track 2 And converting the data into track 1 or track 2 data, each of which is not modified (e.g., original, reconstructed, etc.). By performing these functions and including the application passwords in the legacy data fields, the transaction management server 102 does not require the use of the security element 104 on the mobile device 104, Can be used to process and validate remote and contactless payment transactions using a mobile device 104 having a high security level, without modification to payment systems.

상기 지불결제 네트워크(114)는 관련 기술에 숙련된 자들에게 자명하게 되는 방법들 및 시스템들을 사용하여 상기 지불결제 트랜잭션을 처리할 수 있다. 상기 처리의 일부로서, 상기 지불결제 네트워크(114)는 검증을 위해 상기 애플리케이션 암호들을 상기 발행자(106)에 전송할 수 있다. 몇몇 실시 예들에서는, 상기 검증이 상기 지불결제 네트워크(114)에 의해 수행될 수 있다. 상기 발행자(106) 또는 지불결제 네트워크(114)는 상기 트랜잭션 관리 서버(102)와 통신할 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 암호들이 상기 트랜잭션 관리 서버(102)에 전송될 수 있으며, 상기 트랜잭션 관리 서버(102)를 사용하여 검증용 애플리케이션 암호들의 생성을 통해 검증될 수 있고, 상기 검증용 애플리케이션 암호들은 국부적으로 저장된 지불결제 크리덴션들을 사용하여 생성될 수 있다. 다른 실시 예들에서는, 상기 발행자(106) 또는 지불결제 네트워크(114)가 상기 트랜잭션 관리 서버(102)로부터 애플리케이션 암호들을 요구할 수 있으며, 상기 트랜잭션 관리 서버(102)는 애플리케이션 암호들을 생성하고 상기 모바일 기기(104)에 의해 생성된 암호들에 대한 유효화를 위해 상기 발행자(106) 또는 지불결제 네트워크(114)로 상기 암호들을 복귀시킬 수 있다.The payment payment network 114 may process the payment transaction using methods and systems that would be apparent to those skilled in the relevant arts. As part of the process, the payment payment network 114 may send the application passwords to the publisher 106 for verification. In some embodiments, the verification may be performed by the payment payment network 114. The publisher 106 or payment payment network 114 may communicate with the transaction management server 102. In some embodiments, the application passwords may be sent to the transaction management server 102 and verified through the generation of application passwords for verification using the transaction management server 102, May be generated using locally stored payment settlement credentials. In other embodiments, the issuer 106 or payment payment network 114 may request application passwords from the transaction management server 102, and the transaction management server 102 may generate application passwords, 104 to the issuer 106 or payment payment network 114 for validation of the passwords generated by the issuer 106 or the payment payment network 114.

상기 트랜잭션 관리 서버(102)가 상기 모바일 기기(104)에 의해 사용된 지불결제 크리덴셜들 및 다른 데이터를 처리하여 상기 애플리케이션 암호들을 생성하기 때문에, 상기 지불결제 트랜잭션의 자금을 조달하도록 상기 모바일 기기(104)에 의해 생성되는 지불결제 크리덴셜들의 유효화는 상기 모바일 기기(104)에 의해 생성된 애플리케이션 암호들 및 상기 트랜잭션 관리 서버(102)에 의해 생성된 암호들의 비교를 통해 수행될 수 있다. 몇몇 실시 예들에서는, 상기 트랜잭션 관리 서버(102)가 상기 발행자(106) 또는 지불결제 네트워크(114)의 일부일 수 있다. 상기 트랜잭션 관리 서버(102)가 상기 지불결제 네트워크(114)의 일부일 수 있는 예들에서는, (예컨대, 상기 발행자(106)와의 소비자(108)의 트랜잭션 계정을 사용한 자금 조달의 승인을 위한) 지불결제 트랜잭션의 전통적인 처리의 일부로서 상기 발행자(106)와 접촉하기 전에 상기 유효화가 수행될 수 있다.Because the transaction management server 102 processes the payment settlement credentials and other data used by the mobile device 104 to generate the application passwords, 104 may be performed through a comparison of the application passwords generated by the mobile device 104 and the passwords generated by the transaction management server 102. For example, In some embodiments, the transaction management server 102 may be part of the issuer 106 or the payment payment network 114. In instances where the transaction management server 102 may be part of the payment payment network 114, a payment transaction (e.g., for approval of funding using the transaction account of the consumer 108 with the issuer 106) The validation may be performed before contacting the publisher 106 as part of the traditional processing of the document.

다수의 애플리케이션 암호를 사용함으로써, 상기 지불결제 트랜잭션들의 보안이 높아질 수 있다. 그 외에도, 하나의 암호가 상기 모바일 기기(104)를 인증하고 나머지 암호가 상기 모바일 기기(104) 및 상기 소비자(108) 양자 모두를 (예컨대, 소비자의 PIN을 통해) 인증하는 예들과 같이, 각각의 암호가 별도의 데이터를 인증할 수 있는 예들에 있어서, 이는 또한 트랜잭션을 승인해야 할지 또는 거부해야 할지를 결정하는데 사용하기 위한 추가 데이터 및 고려사항들을 상기 발행자(106)에게 제공할 수 있다. 예를 들면, 양자 모두의 암호들이 부정확한 경우에(예컨대, 상기 모바일 기기(104)에 의해 생성된 암호들이 상기 트랜잭션 관리 서버(102)에 의해 생성된 암호들과 매치하지 않는 경우에), 상기 트랜잭션이 거부될 수 있다. 하나의 암호가 정확하고 나머지 암호가 부정확한 경우에, 상기 트랜잭션은 보안상의 이유들 때문에 거부될 수도 있고 상기 발행자(106)의 결정을 기반으로 하는 바와 같이 승인될 수도 있다. 예를 들면, 상기 발행자(106)는 소비자 인증이 실패되었지만 모바일 인증이 통과된 트랜잭션을 승인할 수 있는데, 그 이유는 다른 이용 가능한 데이터가 승인된 사용자가 트랜잭션을 위해 상기 모바일 기기(104)를 사용하지만, 소비자(108)가 트랜잭션을 위해 상기 모바일 기기(104)를 사용하지 못함을 나타낼 수 있기 때문이다.By using multiple application passwords, the security of the payment transactions can be enhanced. In addition, as with the case where one password authenticates the mobile device 104 and the remaining password authenticates both the mobile device 104 and the consumer 108 (e.g., via the consumer's PIN) In the case where the password of the issuer 106 can authenticate separate data, it may also provide the issuer 106 with additional data and considerations for use in determining whether to approve or deny the transaction. For example, if both passwords are incorrect (e.g., if the passwords generated by the mobile device 104 do not match the passwords generated by the transaction management server 102) Transactions can be denied. In the event that one cipher is correct and the remaining cipher is incorrect, the transaction may be rejected for security reasons and approved as based on the issuer 106's decision. For example, the publisher 106 may approve a transaction for which mobile authentication has been passed even though consumer authentication has failed, because other available data may be used by an authorized user to use the mobile device 104 for a transaction However, this is because the consumer 108 may indicate that the mobile device 104 is not available for the transaction.

결과적으로, 양자 모두의 암호들의 사용은 지불결제 트랜잭션들의 처리에서 발행자들(106) 및 지불결제 네트워크들(114)에 의해 사용될 수 있는 가치 있는 데이터를 제공할 수 있다. 그 외에도, 2개 이상의 암호들의 사용은 전통적인 비접촉 또는 원격 지불결제 방법들에서보다는 높아진 보안을 제공할 수 있는데, 이는 소비자들(108), 발행자들(106), 및 상인들에 대한 사기가 줄어들고 소비자들(108), 발행자들(106), 및 상인들에 대한 수락이 높아지는 결과를 초래할 수 있다. 2개 이상의 애플리케이션 암호들의 사용이 본원 명세서에서 검토한 RNS 메시징 방법들 및 시스템들을 사용하여 안전하게 프로비저닝되고, 본원 명세서에서 검토한 방법들 및 시스템들을 사용하여 생성된 어드밴스트 저장 키들을 통해 안전하게 저장된 지불결제 크리덴셜들로부터 생성되는 것인 예들에서는, 상기 시스템(100)의 전반적인 보안이 비접촉 지불결제들 및 트랜잭션 처리를 위한 전통적인 시스템들에 비해 대단히 높아질 수 있다. 결과적으로, 상기 시스템(100)은 전통적인 비접촉 지불결제 시스템들에서 제공된 것보다 여러 데이터 전송, 저장, 및 처리 실시형태에서 높아진 보안을 제공할 수 있고, 본원 명세서에 검토한 방법들 및 시스템들을 사용할 수 있는 일반적인 원격 지불결제 트랜잭션들 및 지불결제 트랜잭션들을 제공할 수 있다.As a result, the use of both passwords can provide valuable data that can be used by publishers 106 and payment payment networks 114 in the processing of payment transactions. In addition, the use of two or more ciphers can provide greater security than traditional non-contact or remote payment methods, which reduces fraud for consumers 108, publishers 106, and merchants, May result in higher acceptance of the merchants 108, publishers 106, and merchants. The use of two or more application passwords may be securely provisioned using the RNS messaging methods and systems discussed herein and stored securely via advanced storage keys created using the methods and systems discussed herein In instances where the system 100 is generated from credentials, the overall security of the system 100 may be significantly higher than in traditional systems for contactless payment settlements and transaction processing. As a result, the system 100 may provide increased security in various data transmission, storage, and processing embodiments than those provided in traditional contactless payment systems, and may utilize the methods and systems discussed herein Lt; RTI ID = 0.0 > payment transactions. ≪ / RTI >

모바일 기기Mobile devices

도 2에는 상기 시스템의 모바일 기기(104)의 한 실시 예가 예시되어 있다. 관련 기술에 숙련된 자들에게는 자명하겠지만, 도 2에 예시된 모바일 기기(104)의 실시 예가 단지 예시만으로 제공된 것이며 본원 명세서에서 검토한 바와 같은 기능들을 수행하기에 적합한 모바일 기기(104)의 가능한 모든 구성들에 대해 완전한 것이 아닐 수 있다. 예를 들면, 도 17에 예시되고 이하에서 더 구체적으로 검토되는 컴퓨터 시스템(1700)은 상기 모바일 기기(104)의 적합한 구성일 수 있다.Figure 2 illustrates one embodiment of the mobile device 104 of the system. It should be apparent to those skilled in the relevant art that the embodiment of the mobile device 104 illustrated in Figure 2 is provided by way of example only and is intended to encompass all possible configurations of the mobile device 104 suitable for performing the functions as discussed herein It may not be complete for the For example, a computer system 1700 illustrated in FIG. 17 and discussed in more detail below may be a suitable configuration of the mobile device 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)을 포함할 수 있다.The mobile device 104 may include a receiving unit 202. The receiving unit 202 may be configured to receive data via one or more network protocols via one or more networks. The receiving unit 202 may be implemented on the mobile device 104, such as, for example, a mobile payment application (MPA), which is discussed in more detail below and executed by the mobile device 104 And receive program data for one or more application programs to be executed. The receiving unit 202 may also receive remote notification service (RNS) messages, such as those sent by the transaction management server 102, including RNS messages including payment settlement credentials . The receiving unit 202 may also receive additional data suitable for performing traditional functions of the mobile device 104, such as telephonic communications, cellular communications, and the like. In some instances, the mobile device 104 may include a plurality of receiving units 202, such as separate receiving units 202 each configured to communicate with one or more separate networks via suitable protocols. For example, the mobile device 104 may include a first receiving unit 202 for receiving data for NFC transactions, and a second receiving unit 202 for receiving communications over a mobile communication network.

상기 모바일 기기(104)는 또한 입력 유닛(214)을 포함할 수 있다. 상기 입력 유닛(214)은 키보드, 마우스, 클릭 휠, 스크롤 휠, 터치 스크린, 마이크로폰, 카메라, 수신기 등등과 같은 소비자(108)로부터의 입력을 수신하기 위한 상기 모바일 기기(104)에 내부적으로나 외부적으로 접속되는 하나 이상의 입력 기기들과 통신하도록 구성될 수 있다. 상기 입력 유닛(214)은 처리 유닛(204)에 의해 처리될 수 있는, 소비자(108)로부터의 입력을 수신할 수 있다.The mobile device 104 may also include an input unit 214. The input unit 214 may be connected to the mobile device 104 for receiving inputs from a consumer 108 such as a keyboard, mouse, click wheel, scroll wheel, touch screen, microphone, And to communicate with one or more input devices connected to the input device. The input unit 214 may receive input from the consumer 108, which may be processed by the processing unit 204.

상기 처리 유닛(204)은 본원 명세서에서 검토한 모바일 기기(104)의 기능들을 수행하도록 구성될 수 있다. 상기 처리 유닛(204)은 상기 MPA에 대한 것과 같은, 상기 모바일 기기에 저장된 프로그램 코드를 실행할 수 있으며, 각각의 애플리케이션 프로그램에 연관된 복수 개의 기능들과 아울러, 상기 모바일 기기(104)의 다른 기능들을 수행하도록 구성될 수 있다. 상기 처리 유닛(204)은 소비자(108)로부터의 입력을 상기 입력 유닛(214)을 통해 수신하고 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 애플리케이션 프로그램들을 실행하고, 프로그램들의 기능들을 수행하며, 데이터를 수신하고, 데이터를 전송하며, 데이터를 디스플레이하는 등등에 의해서와 같은 기능들을 그에 따라 수행할 수 있다. 예를 들면, 상기 처리 유닛(204)은 이하에서 더 구체적으로 검토되겠지만 RNS 메시지들을 유효화하고, 어드밴스트 저장 키들을 생성하며, 애플리케이션 암호들을 생성하도록 구성될 수 있다.The processing unit 204 may be configured to perform the functions of the mobile device 104 discussed herein. The processing unit 204 may execute program code stored in the mobile device, such as for the MPA, and may perform other functions of the mobile device 104, as well as a plurality of functions associated with each application program . The processing unit 204 receives input from the consumer 108 via the input unit 214 and will be apparent to those skilled in the relevant arts but may be skilled in the art to execute application programs, Such as by receiving data, transmitting data, displaying data, and so forth. For example, the processing unit 204 may be configured to validate RNS messages, generate advanced storage keys, and generate application passwords, as will be discussed in greater detail below.

상기 모바일 기기(104)는 또한 디스플레이 유닛(210)을 포함할 수 있다. 상기 디스플레이 유닛(210)은 데이터, 예컨대 상기 처리 유닛(204)에 의한 디스플레이용으로 상기 디스플레이 유닛(210)에 전송된 데이터를 디스플레이하기 위해 상기 모바일 기기(104)에 내부적으로나 또는 외부적으로 접속되는 하나 이상의 디스플레이 기기들과 통신하도록 구성될 수 있다. 디스플레이 기기들에는 액정 디스플레이들, 발광 다이오드 디스플레이들, 박막 트랜지스터 디스플레이들, 터치 스크린 디스플레이들 등등이 포함될 수 있다.The mobile device 104 may also include a display unit 210. The display unit 210 is connected internally or externally to the mobile device 104 to display data, such as data transmitted to the display unit 210 for display by the processing unit 204 And may be configured to communicate with one or more display devices. Display devices may include liquid crystal displays, light emitting diode displays, thin film transistor displays, touch screen displays, and the like.

상기 모바일 기기(104)는 또한 전송 유닛(206)을 포함할 수 있다. 상기 전송 유닛(206)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 전송하도록 구성될 수 있다. 상기 전송 유닛(206)은 RNS 응답 메시지들을 상기 트랜잭션 관리 서버(102)에 전송할 수 있다. 상기 전송 유닛(206)은 또한, 지불결제 트랜잭션에서의 사용을 위해 예컨대 판매 시점 정보 관리 시스템(110)으로 애플리케이션 암호들 및/또는 지불결제 크리덴셜들을 전송하도록 구성될 수 있다. 상기 전송 유닛(206)은 관련 기술에 숙련된 자들에게 자명하게 되겠지만 셀룰러 통신들 등등을 전송하기 위한 이동 통신 기기의 전통적인 기능들과 같은 상기 모바일 기기(104)의 추가 기능들을 수행하도록 더 구성될 수 있다. 몇몇 예들에서는, 상기 모바일 기기(104)가 NFC를 통해 지불결제 크리덴셜들 및 지불결제 암호들을 전송하도록 구성된 한 전송 유닛(206) 및 모바일 통신 네트워크를 통해 데이터를 전송하도록 구성된 다른 한 전송 유닛(206)과 같은, 하나 이상의 별도의 네트워크들과 통신하도록 별도로 구성될 수 있는 복수 개의 전송 유닛들(206)을 포함할 수 있다.The mobile device 104 may also include a transmission unit 206. The transmission unit 206 may be configured to transmit data via one or more network protocols via one or more networks. The sending unit 206 may send RNS response messages to the transaction management server 102. [ The transfer unit 206 may also be configured to send application passwords and / or payment credentials, for example, to a point-of-sale information management system 110 for use in a payment transaction. The transmission unit 206 may be further configured to perform additional functions of the mobile device 104, such as conventional functions of a mobile communication device for transmitting cellular communications and the like, as will be apparent to those skilled in the relevant art. have. In some instances, the mobile unit 104 may include a transmission unit 206 configured to transmit payment settlement credentials and payment settlement passwords via the NFC and another transmission unit 206 configured to transmit data via the mobile communication network , Which may be separately configured to communicate with one or more separate networks, such as a wireless network (e.

상기 모바일 기기(104)는 또한 카드 데이터베이스(208)를 포함할 수 있다. 이하에서 더 구체적으로 검토되는 카드 데이터베이스(208)는 하나 이상의 트랜잭션 계정들 및/또는 지불결제 카드들에 연관된 데이터를 저장하도록 구성된 모바일 기기(104) 상의 데이터 저장소일 수 있다. 상기 카드 데이터베이스(208)는 이하에서 더 구체적으로 검토되겠지만 보안 RNS 메시지 내에 상기 트랜잭션 관리 서버(102)에 의해 상기 모바일 기기(104)에 프로비저닝되는 바와 같은 트랜잭션 계정에 연관된 지불결제 크리덴셜들, 및 애플리케이션 암호들의 생성에서 사용될 수 있는 추가 데이터를 저장할 수 있다. 몇몇 예들에서는, 상기 카드 데이터베이스(208)가 모바일 지불결제 애플리케이션의 일부로서 저장될 수 있다.The mobile device 104 may also include a card database 208. The card database 208, which is discussed in more detail below, may be a data store on the mobile device 104 configured to store data associated with one or more transaction accounts and / or payment cards. The card database 208 includes payment settlement credentials associated with a transaction account as will be discussed in more detail below but provisioned in the secure RNS message by the transaction management server 102 to the mobile device 104, And may store additional data that may be used in the generation of ciphers. In some instances, the card database 208 may be stored as part of a mobile payment payment application.

상기 모바일 기기(104)는 메모리(212)를 더 포함할 수 있다. 이하에서 더 구체적으로 검토되는 메모리(212)는 본원 명세서에서 검토되는 모바일 기기(104)의 기능들을 수행하기 위해 적합한 모바일 기기(104)에 대한 데이터를 저장하도록 구성될 수 있다. 예를 들면, 상기 메모리(212)는 이하에서 더 구체적으로 검토되겠지만, 상기 카드 데이터베이스(208)와 같은 모바일 기기(104)에서의 추가 데이터의 암호화를 위한 어드밴스트 저장 키들의 생성에 적합한 데이터를 저장할 수 있다. 상기 메모리(212)는 또한, 운영 체계와 같은 상기 처리 유닛(204)에 의해 실행되는 애플리케이션 프로그램들을 위한 프로그램 코드, 상기 입력 유닛(214)을 통해 데이터를 수신하고 상기 디스플레이 유닛(210)을 통해 데이터를 디스플레이하기 위한 프로그램 코드, 본원 명세서에서 검토되는 기능들을 수행하기 위한 규칙들 및/또는 알고리즘들 등등을 저장하도록 구성될 수 있다. 상기 메모리(212)는 또한, 모바일 네트워크를 통해 셀룰러 통신들을 전송 및 수신하기 위한 규칙들 및/또는 알고리즘들과 같은 모바일 기기(104)의 전통적인 기능들을 수행하기 위해 적합한 데이터를 저장할 수 있다. 상기 메모리(212)에 저장된 추가 데이터는 관련 기술에 숙련된 자들에게 자명하게 될 것이다.The mobile device 104 may further include a memory 212. The memory 212 discussed below in more detail may be configured to store data for a suitable mobile device 104 to perform the functions of the mobile device 104 discussed herein. For example, the memory 212 may store data suitable for generation of advanced storage keys for encryption of additional data in the mobile device 104, such as the card database 208, as will be discussed in greater detail below. . The memory 212 also includes program code for application programs to be executed by the processing unit 204, such as an operating system, data via the input unit 214 and data Program codes for displaying the program, rules and / or algorithms for performing the functions discussed herein, and the like. The memory 212 may also store appropriate data to perform conventional functions of the mobile device 104, such as rules and / or algorithms for transmitting and receiving cellular communications over a mobile network. Additional data stored in the memory 212 will be apparent to those skilled in the relevant arts.

모바일 기기 카드 데이터베이스Mobile device card database

도 3에는 상기 모바일 기기(104)를 가지고 수행되는 지불결제 트랜잭션들의 자금 조달에 사용하기 위한 트랜잭션 계정들에 연관된 지불결제 크리덴셜들 및 다른 데이터를 저장하기 위한 상기 모바일 기기(104)의 카드 데이터베이스(208)의 한 실시 예가 예시되어 있다.3 illustrates a card database (not shown) of the mobile device 104 for storing payment credentials and other data associated with transaction accounts for use in funding payment transactions performed with the mobile device 104 208 are illustrated.

상기 카드 데이터베이스(208)는 지불결제 프로파일들(302a, 302b, 302c)로서 도 3에 예시된 하나 이상의 지불결제 프로파일들(302)을 포함할 수 있다. 각각의 지불결제 프로파일(302)은 지불결제 트랜잭션의 자금 조달에 사용될 수 있는 트랜잭션 계정에 연관될 수 있으며 적어도 하나의 지불결제 크리덴셜들(304), 하나 이상의 단일 사용 키들(306), 제1 세션 키(308), 제2 세션 키(310), 및 애플리케이션 트랜잭션 카운터(312)를 포함할 수 있다.The card database 208 may include one or more payment settlement profiles 302 illustrated in FIG. 3 as payment settlement profiles 302a, 302b, and 302c. Each payment settlement profile 302 may be associated with a transaction account that may be used to fund the payment transaction and may include at least one payment settlement 304, one or more single use keys 306, A key 308, a second session key 310, and an application transaction counter 312.

상기 지불결제 크리덴셜들(304)은 관련 트랜잭션 계정을 사용한 지불결제 트랜잭션의 처리에서의 발행자(106) 및/또는 지불결제 네트워크(114)에 의한 식별 및 유효성을 위해 사용되는 관련 트랜잭션 계정에 연관된 데이터를 포함할 수 있다. 상기 지불결제 크리덴셜들(304)에는 예를 들면 트랜잭션 계정 번호, 보안 코드, 만료 일자, 카드보유자 이름, 승인된 사용자 이름, 추적 데이터, 카드 레이아웃 기술 데이터, 자리수(digit count)들, 비트맵들 등등이 포함될 수 있다.The payment settlement credentials 304 may include data associated with an associated transaction account used for identification and validation by the issuer 106 and / or payment payment network 114 in the processing of a payment transaction using the associated transaction account . ≪ / RTI > The payment credentials 304 may include, for example, transaction account numbers, security codes, expiration dates, cardholder names, authorized user names, tracking data, card layout description data, digit counts, And so on.

단일 사용 키들(306)은 상기 지불결제 트랜잭션에서 사용된 애플리케이션 암호들 중 하나 이상을 생성하는데 상기 모바일 기기(104)의 처리 유닛(204)에 의해 사용될 수 있는 단일의 지불결제 트랜잭션에 대해 유효한 지불결제 토큰들일 수 있다. 몇몇 실시 예들에서는, 단일 사용 키(306)가 지불결제 프로파일(302)에 포함된 다른 데이터 요소들 중 하나 이상을 포함할 수 있다. 예를 들면, 각각의 단일 사용 키(306)는 상기 지불결제 프로파일(302)에 별도로 포함되지 않을 수 있는, 개별 애플리케이션 트랜잭션 카운터(312)를 포함할 수 있다. 본원 명세서에서 검토되는 기능들을 수행하는데 사용하기 위한 지불결제 프로파일(302)에 저장되는 데이터의 서로 다른 구성들은 관련 기술에 숙련된 자들에게 자명하게 될 것이다. 몇몇 예들에서는, 상기 단일 사용 키(306)가 상기 하나 이상의 애플리케이션 암호들을 생성하는데 사용되는 키를 포함할 수도 있고 상기 하나 이상의 애플리케이션 암호들을 생성하는데 사용되는 키로 이루어질 수도 있다. 몇몇 실시 예들에서는, 상기 제1 세션 키(308) 및 제2 세션 키(310)가 상기 모바일 기기(104)에 프로비저닝된 단일 사용 키(306)에 포함될 수 있고 그리고/또는 상기 단일 사용 키(306)에 포함된 데이터를 사용하여 생성될 수 있다.Single use keys 306 are used to create one or more of the application passwords used in the payment transaction, and may be a valid payment for a single payment transaction that may be used by the processing unit 204 of the mobile device 104. [ They can be tokens. In some embodiments, the single use key 306 may include one or more of the other data elements included in the payment settlement profile 302. [ For example, each single usage key 306 may include a separate application transaction counter 312, which may not be separately included in the payment settlement profile 302. The different configurations of data stored in the payment settlement profile 302 for use in performing the functions discussed herein will be apparent to those skilled in the art. In some instances, the single use key 306 may comprise a key used to generate the one or more application passwords and may be a key used to generate the one or more application passwords. In some embodiments, the first session key 308 and the second session key 310 may be included in the single use key 306 provisioned to the mobile device 104 and / or the single use key 306 ). ≪ / RTI >

상기 제1 세션 키(308) 및 제2 세션 키(310)는 상기 모바일 기기(104)를 사용한 지불결제 트랜잭션 수행의 일부로서 상기 판매 시점 정보 관리 시스템(110)으로 전송되는 애플리케이션 암호들의 생성에서 상기 처리 유닛(204)에 의해 사용되는 추가 키들일 수 있다. 몇몇 실시 예들에서는, 상기 제1 세션 키(308)가 예컨대 상기 모바일 기기(104)의 메모리(212)에 저장된 프로그램 코드, 규칙들, 또는 알고리즘들을 사용한 상기 처리 유닛(204)에 의한 제1 애플리케이션 암호의 생성에서 사용될 수 있다. 제2 세션 키(310)는 제2 애플리케이션 암호의 생성에 사용될 수 있다.The first session key 308 and the second session key 310 may be used to generate application passwords that are transmitted to the point-of-sale information management system 110 as part of a payment transaction transaction using the mobile device 104 And may be additional keys used by the processing unit 204. In some embodiments, the first session key 308 may be used by the processing unit 204 using, for example, program codes, rules, or algorithms stored in the memory 212 of the mobile device 104, Lt; / RTI > The second session key 310 may be used to generate a second application password.

몇몇 실시 예들에서는, 상기 제2 세션 키(310)가 상기 처리 유닛(204)에 의해 생성될 수 있다. 그러한 실시 예에서는, 상기 제2 세션 키(310)가 소비자(108)에 의해 (예컨대, 입력 유닛(214)을 통해) 제공되는 PIN과 같은 사용자 인증 데이터 및 단일 사용 키(306)를 사용하여 생성될 수 있다. 그러한 실시 예에서는, 상기 제2 세션 키(310)가 상기 지불결제 프로파일(302)에 저장되어 있지 않을 수 있고, 그 대신에 지불결제 트랜잭션 프로세스의 일부로서 생성, 사용, 및 폐기될 수 있다. 그러므로 상기 제2 애플리케이션 암호는 상기 단일 사용 키(306) 및 상기 소비자 PIN을 사용하여 생성되는 제2 세션 키(310)로부터 생성될 경우에, 상기 모바일 기기(104) 및 상기 소비자(108) 양자 모두를 인증하는데 도움이 될 수 있다.In some embodiments, the second session key 310 may be generated by the processing unit 204. In such an embodiment, the second session key 310 is generated using the single-use key 306 and the user authentication data, such as the PIN provided by the customer 108 (e.g., via the input unit 214) . In such an embodiment, the second session key 310 may not be stored in the payment settlement profile 302 and may instead be created, used, and discarded as part of a payment settlement transaction process. The second application password is therefore both generated from the single use key 306 and the second session key 310 generated using the consumer PIN so that both the mobile device 104 and the consumer 108 Lt; / RTI >

개인 식별 번호(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)에게 제공할 수도 있고 여전히 상기 트랜잭션을 승인할 수도 있다.A personal identification number (PIN) may be used to authenticate the consumer 108 (e. G., To register the MPA on the mobile device 104 or to allow the issuer 106 and / 102) may be a number supplied by the consumer 108. [0034] When performing a payment transaction, the consumer 108 or another user of the mobile device 104 may supply the PIN via the input unit 214. In some embodiments, if the supplied PIN is incorrect (e.g., does not match the PIN provided by the consumer 108 at registration), the processing unit 204 continues to send the second session key 310 And then generate a second application password. If the supplied PIN is incorrect, then the second application password may become inaccurate and this may result in a second application by the transaction management server 102, issuer 106, and / or payment payment network 114 Failure of validation of the second application password by the transaction management server 102, the issuer 106, and / or the payment payment network 114 results in a failure of the validation of the password, May provide the issuer 106 with an opportunity to decline and may still approve the transaction.

모바일 기기 메모리Mobile device memory

도 4에는 상기 모바일 기기(104) 상에서의 데이터의 보안 저장 및 상기 모바일 기기(104)를 사용한 지불결제 트랜잭션들의 수행에 사용될 애플리케이션 프로그램들 및 다른 데이터를 저장하기 위한 상기 모바일 기기(104)의 상기 메모리(212)의 한 실시 예가 예시되어 있다. 한 대표적인 실시 예에서는, 상기 메모리(212)가 보안 요소가 아닐 수 있다.4 is a block diagram of the mobile device 104 for storing application programs and other data to be used for secure storage of data on the mobile device 104 and for performing payment transactions using the mobile device 104. [ RTI ID = 0.0 > 212 < / RTI > In one exemplary embodiment, the memory 212 may not be a security element.

상기 메모리(212)에는 기기 정보(402)가 포함될 수 있다. 상기 기기 정보(402)에는 몇몇 예들에서 상기 모바일 기기(104)에 고유할 수 있는 상기 모바일 기기(104)에 연관된 하나 이상의 데이터 부분들이 포함될 수 있다. 예를 들면, 상기 기기 정보(402)에는 미디어 액세스 제어 주소, 참조 번호, 일련 번호, 식별 번호 등등이 포함될 수 있다. 모바일 기기(104)의 기기 정보(402)로 고려할 수 있는 추가 정보는 관련 기술에 숙련된 자들에게 자명하게 될 것이다.The memory 212 may include device information 402. The device information 402 may include one or more pieces of data associated with the mobile device 104 that may be unique to the mobile device 104 in some instances. For example, the device information 402 may include a media access control address, a reference number, a serial number, an identification number, and the like. Additional information that may be considered as the device information 402 of the mobile device 104 will be apparent to those skilled in the relevant arts.

상기 메모리(212)에는 모바일 지불결제 애플리케이션(mobile payment application; MPA)(404)이 또한 포함될 수 있다. 상기 MPA(404)는 지불결제 크리덴셜들의 수신 및 저장, RNS 메시지들의 유효화, 및 지불결제 트랜잭션들을 수행하는데 사용하기 위한 애플리케이션 암호들의 생성과 같은 본원 명세서에서 검토되는 모바일 기기(104)의 기능들을 수행하도록 구성된 애플리케이션 프로그램일 수 있다. 상기 MPA(404)의 추가 특징들에는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 디지털 월렛 또는 다른 유사한 애플리케이션 프로그램의 전통적인 특징들이 포함될 수 있다.The memory 212 may also include a mobile payment application (MPA) 404. The MPA 404 performs the functions of the mobile device 104 discussed herein, such as receiving and storing payment settlement credentials, validating RNS messages, and generating application passwords for use in performing payment transactions Lt; / RTI > Additional features of the MPA 404 may include conventional features of a digital wallet or other similar application program, as will be apparent to those skilled in the relevant arts.

상기 MPA(404)에는 프로그램 코드(406)가 포함될 수 있다. 상기 프로그램 코드(406)는 상기 모바일 기기(104)의 처리 유닛(204)에 의해 실행되는 코드로서, 상기 모바일 기기(104)의 처리 유닛(204) 및 다른 구성요소들로 하여금 본원 명세서에서 검토한 바와 같은 MPA(404)의 기능들을 수행하게 하는 코드일 수 있다. 예를 들면, 상기 프로그램 코드(406)는 애플리케이션 암호들을 생성하고, RNS 메시지들을 유효화하는 등등에 적합한 코드를 포함할 수 있다. 상기 프로그램 코드(406)는 또한, 어드밴스트 저장 키의 생성에 사용될 수 있는, 랜덤 값을 생성하기 위해 적합한 프로그램 코드를 포함할 수 있다. 상기 랜덤 값은 난수(random number) 또는 의사-난수(pseudo-random number)일 수 있으며, 이는 관련 기술에 숙련된 자들에게 자명하게 되는 방법들 및 시스템들을 사용하여 생성될 수 있다.The MPA 404 may include program code 406. The program code 406 is code that is executed by the processing unit 204 of the mobile device 104 to cause the processing unit 204 and other components of the mobile device 104 to communicate with one another, And to perform functions of the MPA 404 as shown in FIG. For example, the program code 406 may include code suitable for generating application passwords, validating RNS messages, and so on. The program code 406 may also include suitable program code for generating a random value, which may be used to generate an advanced storage key. The random value may be a random number or a pseudo-random number, which may be generated using methods and systems that will be readily apparent to those skilled in the relevant arts.

상기 MPA(404)에는 인스턴스 식별자(408)가 또한 포함될 수 있다. 상기 인스턴스 식별자(408)는 특정 MPA(404)에 고유한 값일 수 있으며, 이는 상기 카드 데이터베이스(208)와 같은 모바일 기기(104)에서 데이터를 안전하게 하는데 사용되는 어드밴스트 저장 키의 생성에 사용될 수 있다. 상기 인스턴스 식별자(408)를 상기 MPA(404)에 고유하게 함으로써, 다수의 MPA(404)는 어떤 MPA(404)가 다른 어떤 MPA(404)에 의해 안전하게 저장되어 있는 데이터에 액세스하지 않아도 상기 모바일 기기(104) 상에 설치될 수 있고, 그럼으로써 이는 특정 트랜잭션 계정들에 대한 지불결제 프로파일들(302)이 다른 프로그램들에 의해 액세스 가능하지 않게 한다. 상기 인스턴스 식별자(408)는 숫자, 영숫자 값, 16진수 값, 또는 MPA(404)에 고유할 수 있는 임의의 적합한 값일 수 있다.An instance identifier 408 may also be included in the MPA 404. The instance identifier 408 may be a value that is specific to a particular MPA 404 and may be used to generate an advanced storage key that is used to secure data in the mobile device 104 such as the card database 208 . By making the instance identifier 408 unique to the MPA 404, the plurality of MPAs 404 can determine which MPA 404 is associated with the mobile device 404 without having to access data that is securely stored by any other MPA 404 (S) 104 so that the payment settlement profiles 302 for particular transaction accounts are not accessible by other programs. The instance identifier 408 may be a number, an alphanumeric value, a hexadecimal value, or any suitable value that may be unique to the MPA 404.

이하에서 더 구체적으로 검토되겠지만, 상기 모바일 기기(104)의 처리 유닛(204)은 상기 기기 정보(402)를 사용하여 다원화 값(diversifier value)을 생성하도록 구성될 수 있으며, 상기 랜덤 값은 상기 MPA(404)의 프로그램 코드(406)를 사용하여 생성되고, 상기 인스턴스 식별자(408)는 상기 MPA(404)에 저장된다. 상기 다원화 값은 상기 메모리(212)에 또한 저장된 암호화 애플리케이션(410)에 의해 사용될 수 있다. 상기 암호화 애플리케이션(410)은 관련 기술에 숙련된 자들에게 자명하게 되는 화이트 박스 암호화 및/또는 다른 어떤 적합한 암호화 기능을 수행하도록 구성된 애플리케이션 프로그램일 수 있다.The processing unit 204 of the mobile device 104 may be configured to generate a diversifier value using the device information 402 as will be discussed in greater detail below, (404), and the instance identifier (408) is stored in the MPA (404). The multivalued value may be used by the encryption application 410, which is also stored in the memory 212. The cryptographic application 410 may be an application program configured to perform white-box encryption and / or any other suitable cryptographic functions that become apparent to those skilled in the relevant arts.

상기 암호화 애플리케이션(410)에는 프로그램 코드(412)가 포함될 수 있다. 상기 프로그램 코드(412)는 상기 모바일 기기(104)의 처리 유닛(204) 및 다른 구성요소들로 하여금 본원 명세서에서 검토되는 암호화 애플리케이션(410)의 암호화 기능들을 수행할 수 있게 하도록 상기 모바일 기기(104)의 처리 유닛(204)에 의해 실행될 수 있다. 상기 기능들은 어드밴스트 저장 키의 생성을 포함할 수 있다. 상기 어드밴스트 저장 키는 상기 암호화 애플리케이션(410)에 포함된 암호화 키(414) 및 상기 모바일 지불결제 애플리케이션(404)에 의해 생성되는 다원화 값을 사용하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 다원화 값이 상기 암호화 키(414)를 사용하여 상기 어드밴스트 저장 키를 획득하도록 복호화될 수 있다.The encryption application 410 may include program code 412. The program code 412 may be used by the processing unit 204 and other components of the mobile device 104 to enable the mobile device 104 to perform encryption functions of the cryptographic application 410 discussed herein The processing unit 204 of FIG. The functions may include generating an advanced storage key. The advanced storage key may be generated using the encryption key 414 included in the encryption application 410 and the multi-valued value generated by the mobile payment application 404. In some embodiments, the multivalued value may be decrypted using the encryption key 414 to obtain the advanced storage key.

상기 암호화 애플리케이션(410)은 또한, 상기 어드밴스트 저장 키를 사용하여 상기 모바일 기기(104) 내의 저장소를 암호화하도록 구성될 수 있다. 몇몇 실시 예들에서는, 상기 암호화가 하나 이상의 박스 암호화 기법들을 사용하여 수행될 수 있다. 상기 암호화된 저장소는 상기 MPA(404)에 저장된 데이터와 같은, 카드 데이터베이스(208) 및/또는 다른 어떤 적합한 저장소일 수 있다. 몇몇 실시 예들에서는, 상기 암호화 애플리케이션(410)이 상기 MPA(404)의 일부로서 포함될 수 있다. 상기 어드밴스트 저장 키는 암호화 애플리케이션(410) 또는 MPA(404)에 포함될 수도 있고, 필요할 때 상기 MPA(404) 및 암호화 애플리케이션(410)에 의해 재생성될 수도 있다.The encryption application 410 may also be configured to encrypt the repository within the mobile device 104 using the advanced storage key. In some embodiments, the encryption may be performed using one or more box encryption schemes. The encrypted store may be a card database 208, such as the data stored in the MPA 404, and / or any other suitable storage. In some embodiments, the encryption application 410 may be included as part of the MPA 404. The advanced storage key may be included in the encryption application 410 or the MPA 404 and may be regenerated by the MPA 404 and the encryption application 410 when necessary.

상기 메모리(212)에는 또한 본원 명세서에서 검토한 기능들을 수행하기 위해 적합한 상기 모바일 기기(104)에 저장된 임의의 추가 데이터와 아울러, 모바일 기기들의 임의의 추가 기능들이 포함될 수 있다. 예를 들어, 상기 메모리(212)에는 전화 호출들 등등과 같은 모바일 통신들을 수신 및 전송하기 위한 운영 시스템, 코드, 규칙들, 또는 알고리즘들을 위한 프로그램 코드가 포함될 수 있다.The memory 212 may also include any additional functions of the mobile devices as well as any additional data stored in the mobile device 104 suitable for performing the functions discussed herein. For example, the memory 212 may include program code for an operating system, code, rules, or algorithms for receiving and transmitting mobile communications, such as telephone calls and the like.

몇몇 실시 예들에서는, 상기 모바일 기기(104)가 또한, 상기 메모리(212), 상기 카드 데이터베이스(208), 또는 다른 적합한 저장소에서와 같은 상기 모바일 기기(104)에 내재하는 암호화된 국부 저장소에서 저장될 수 있는 추가 저장 키를 사용하여 이미 암호화된 데이터를 수신하도록 구성될 수 있다. 그러한 실시 예에서는, 상기 모바일 기기(104)가 상기 생성된 랜덤 값을 사용하여 동일한 방법들 및 시스템들을 사용하여 상기 어드밴스트 저장 키를 생성할 수 있으며 상기 모바일 기기(104)에 프로비저닝되는 데이터를 암호화할 수 있는, 트랜잭션 관리 서버(102) 또는 다른 신뢰 가능한 실체에 상기 생성된 랜덤 값을 전송하도록 구성될 수 있다. 따라서, 상기 모바일 기기(104)는 상기 모바일 기기(104)에서의 국부 저장을 위해 상기 어드밴스트 저장 키를 사용하여 이미 암호화된 데이터를 수신할 수 있다.In some embodiments, the mobile device 104 may also be stored in an encrypted local storage that is internal to the mobile device 104, such as in the memory 212, the card database 208, Lt; RTI ID = 0.0 > already < / RTI > encrypted data. In such an embodiment, the mobile device 104 may generate the advanced storage key using the same methods and systems using the generated random value and may encrypt the data provisioned to the mobile device 104 And to send the generated random value to the transaction management server 102 or other trusted entity. Accordingly, the mobile device 104 may receive already encrypted data using the advanced storage key for local storage at the mobile device 104. [

트랜잭션 관리 서버Transaction management server

도 5에는 상기 시스템(100)의 트랜잭션 관리 서버(102)의 한 실시 예가 예시되어 있다. 관련 기술에 숙련된 자들에게는 자명하게 되겠지만, 도 5에 예시된 트랜잭션 관리 서버(102)의 실시 예가 단지 예시만으로써 제공된 것이며 본원 명세서에서 검토한 바와 같은 기능들을 수행하기에 적합한 트랜잭션 관리 서버(102)의 가능한 모든 구성들에 대해 완전한 것이 아닐 수 있다. 예를 들면, 도 17에 예시되어 있으며 이하에서 더 구체적으로 검토되는 컴퓨터 시스템(1700)이 상기 트랜잭션 관리 서버(102)의 적합한 구성일 수 있다.An embodiment of the transaction management server 102 of the system 100 is illustrated in FIG. It should be apparent to those skilled in the relevant art that the embodiment of the transaction management server 102 illustrated in Figure 5 is provided by way of example only and may be any transaction management server 102 suitable for performing the functions discussed herein, Lt; / RTI > may not be complete for all possible configurations of < RTI ID = 0.0 > For example, a computer system 1700 illustrated in FIG. 17 and discussed in more detail below may be a suitable configuration of the transaction management server 102.

상기 트랜잭션 관리 서버(102)는 수신 유닛(502)을 포함할 수 있다. 상기 수신 유닛(502)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 수신하도록 구성될 수 있다. 상기 수신 유닛(502)은 수신 또는 복귀 메시지들, 확인 메시지들, 트랜잭션 통지들 등등과 같은 모바일 기기(104)로부터의 데이터, 지불결제 네트워크(114), 발행자(106), 또는 다른 적합한 실체로부터의 데이터를 수신하도록 구성될 수 있다. 상기 수신 유닛(502)은 예컨대 지불결제 트랜잭션에서의 지불결제 크리덴션들의 유효화에서 사용하기 위한 애플리케이션 암호들의 생성을 개시하도록 트랜잭션 통지들 또는 암호 요구들을 수신할 수 있다. 상기 수신 유닛(502)은 또한, 상기 모바일 기기(104)로의 프로비저닝을 위해 지불결제 크리덴셜들을 생성하는데 사용하기 위해 예컨대 상기 발행자(106)로부터의 트랜잭션 계정 데이터를 수신할 수 있다.The transaction management server 102 may include a receiving unit 502. The receiving unit 502 may be configured to receive data via one or more network protocols over one or more networks. The receiving unit 502 may receive data from the mobile device 104, such as receive or return messages, acknowledgment messages, transaction notifications, etc., from the payment network 114, the issuer 106, Data. ≪ / RTI > The receiving unit 502 may receive transaction notifications or password requests to initiate generation of application passwords for use in validating payment settlement credentials, for example, in a payment transaction. The receiving unit 502 may also receive transaction accounting data from, for example, the publisher 106 for use in generating payment settlement credentials for provisioning to the mobile device 104.

상기 트랜잭션 관리 서버(102)는 또한 처리 유닛(504)을 포함할 수 있다. 상기 처리 유닛(504)은 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 본원 명세서에서 검토한 트랜잭션 관리 서버(102)의 기능들을 수행하도록 구성될 수 있다. 따라서, 상기 처리 유닛(504)은 이하에서 더 구체적으로 검토되겠지만 본원 명세서에 포함된 RNS 메시지들 및 데이터를 생성 및 암호화하고, 상기 모바일 기기(104)로부터의 복귀 메시지들을 유효화하며, 지불결제 크리덴셜들을 생성하고, 애플리케이션 암호들을 생성하며, 애플리케이션 암호들을 유효화하는 등등을 수행하도록 구성될 수 있다.The transaction management server 102 may also include a processing unit 504. The processing unit 504 may be configured to perform the functions of the transaction management server 102 discussed herein, as will be apparent to those skilled in the relevant arts. Accordingly, the processing unit 504 generates and encrypts the RNS messages and data included herein, as will be discussed in greater detail below, validates return messages from the mobile device 104, Create application passwords, validate application passwords, and so on.

상기 트랜잭션 관리 서버(102)는 전송 유닛(506)을 부가적으로 포함할 수 있다. 상기 전송 유닛(506)은 하나 이상의 네트워크들을 통해 하나 이상의 네트워크 프로토콜들을 거쳐서 데이터를 전송하도록 구성될 수 있다. 상기 전송 유닛(506)은 관련 기술에 숙련된 자들에게 자명하게 되는 RNS 메시지들, 지불결제 크리덴셜들, 애플리케이션 암호들, 유효화 통지들, 및 다른 데이터를 전송할 수 있다. 상기 전송 유닛(506)은 예컨대 모바일 통신 네트워크 또는 인터넷, 지불결제 네트워크(114), 발행자(106), 및 다른 어떤 적합한 실체를 통해 데이터를 상기 모바일 기기(104)로 전송하도록 구성될 수 있다.The transaction management server 102 may additionally include a transfer unit 506. [ The transmission unit 506 may be configured to transmit data via one or more network protocols via one or more networks. The transmission unit 506 may transmit RNS messages, payment credentials, application passwords, validation notifications, and other data that become apparent to those skilled in the relevant arts. The transmission unit 506 may be configured to transmit data to the mobile device 104 via, for example, a mobile communication network or Internet, a payment network 114, a publisher 106, and any other suitable entity.

상기 트랜잭션 관리 서버(102)는 또한 계정 데이터베이스(508)를 포함할 수 있다. 이하에서 더 구체적으로 검토되는 계정 데이터베이스(508)는 복수 개의 트랜잭션 계정들에 대한 계정 정보를 저장하도록 구성될 수 있다. 상기 계정 정보에는 상기 모바일 기기(104)를 사용하여 수행되는 지불결제 트랜잭션들 동안 수신된 지불결제 크리덴셜들의 유효화에 사용되는 애플리케이션 암호들의 생성을 위해 사용되는 데이터 및 키들이 포함될 수 있다. 상기 계정 데이터베이스(508)는 또한, 관련 트랜잭션 계정의 소비자(108) 또는 다른 승인된 사용자들에 연관된 데이터와 같은, 상기 모바일 기기(104)를 수반하여 수행되는 지불결제 트랜잭션들에 대한 트랜잭션 데이터 및 다른 데이터를 저장하도록 구성될 수 있다. The transaction management server 102 may also include an account database 508. The account database 508, which will be discussed in greater detail below, may be configured to store account information for a plurality of transaction accounts. The account information may include data and keys used for the generation of application passwords used for validating payment settlement credentials received during payment transactions performed using the mobile device 104. [ The account database 508 may also include transaction data for payment transactions performed with the mobile device 104, such as data associated with the consumer 108 of the associated transaction account or other authorized users, May be configured to store data.

상기 트랜잭션 관리 서버(102)는 또한 메모리(510)를 포함할 수 있다. 상기 메모리(510)는 본원 명세서에서 개시한 기능들을 수행하는데 상기 트랜잭션 관리 서버(102)에 의해 사용되기 위한 추가 데이터를 저장하도록 구성될 수 있다. 예를 들면, 상기 메모리(510)는 애플리케이션 암호들의 유효화를 위한 규칙들 또는 알고리즘들, 유효화 통지들의 생성을 위한 규칙들 또는 알고리즘들, 세션 키들 및 애플리케이션 암호들의 생성을 위한 알고리즘들, 데이터 및 RNS 메시지들의 암호화 및 복호화를 위한 암호화 키들 등등을 저장할 수 있다. 상기 메모리(510)에 저장될 수 있는 추가 데이터는 관련 기술에 숙련된 자들에게 자명하게 된다.The transaction management server 102 may also include a memory 510. The memory 510 may be configured to store additional data for use by the transaction management server 102 to perform the functions described herein. For example, the memory 510 may include rules or algorithms for validating application ciphers, rules or algorithms for generating validation notifications, algorithms for generating session keys and application ciphers, data and RNS messages Encryption keys for encrypting and decrypting the data, and the like. Additional data that may be stored in the memory 510 becomes apparent to those skilled in the art.

트랜잭션 관리 서버 계정 데이터베이스Transaction management server account database

도 6에는 상기 모바일 기기(104)를 포함하는 지불결제 트랜잭션들의 수행에서 제공되는 지불결제 크리덴셜들 및 다른 트랜잭션 데이터를 유효화하는데 사용하기 위한 트랜잭션 계정들에 관련된 데이터를 저장하기 위한 상기 트랜잭션 관리 서버(102)의 계정 데이터베이스(508)의 한 실시 예가 예시되어 있다.FIG. 6 is a flow diagram illustrating the transaction management server (FIG. 6) for storing data associated with transaction accounts for use in validating payment transactions and other transaction data provided in the performance of payment transactions, One embodiment of the account database 508 of the computer 102 is illustrated.

상기 계정 데이터베이스(508)에는 계정 프로파일들(602a, 602b, 602c)로서 도 6에 예시되어 있는 복수 개의 계정 프로파일들(602)이 포함될 수 있다. 각각의 계정 프로파일(602)에는 하나 이상의 단일 사용 키들(604), 제1 세션 키(606), 제2 세션 키(608), 애플리케이션 트랜잭션 카운터(610), 및 제1 카드 마스터 키(612)가 포함될 수 있다. 몇몇 실시 예들에서는, 계정 프로파일(602)이 제2 카드 마스터 키(612)가 부가적으로 포함될 수 있다.The account database 508 may include a plurality of account profiles 602 illustrated in FIG. 6 as account profiles 602a, 602b, 602c. Each account profile 602 includes one or more single use keys 604, a first session key 606, a second session key 608, an application transaction counter 610, and a first card master key 612 . In some embodiments, the account profile 602 may additionally include a second card master key 612.

각각의 계정 프로파일(602)은 모바일 기기(104)로 프로비저닝되는 지불결제 프로파일(302)에 상응할 수 있다. 이 때문에, 계정 프로파일(602)에 저장된 단일 사용 키들(604)은 동일한 트랜잭션 계정에 관련된 상응하는 지불결제 프로파일(302)에 저장된 단일 사용 키들(306)에 상응할 수 있다. 상기 데이터는 애플리케이션 암호가 상기 트랜잭션 관리 서버(102) 또는 상기 모바일 기기(104)에 의해 생성될 경우에, 상기 데이터가 정확하고 변조되지 않았다면 상기 애플리케이션 암호들이 매치하여야 하는데, 이는 상기 모바일 기기(104)에 의해 제시된 지불결제 크리덴셜들의 유효화를 가능하게 할 수 있다.Each account profile 602 may correspond to a payment settlement profile 302 that is provisioned to the mobile device 104. The single usage keys 604 stored in the account profile 602 may correspond to single usage keys 306 stored in the corresponding payment payment profile 302 associated with the same transaction account. The data must match the application passwords if the data is correct and unmodified when an application password is generated by the transaction management server 102 or the mobile device 104, May enable validation of the payment settlement credentials presented by < RTI ID = 0.0 >

몇몇 실시 예들에서는, 계정 프로파일(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)에 의해 생성된 암호들이 본원 명세서에서 사용된 데이터를 기반으로 하여 이루어지게 할 수 있다.In some embodiments, the account profile 602 may include a personal identification number (PIN) corresponding to the PIN 314 stored in the corresponding payment payment profile 302. [ In such an embodiment, the PIN 314 is provided to the receiving unit 202 of the transaction management server 102 via a secure message, such as an incoming message provided by the mobile device 104, . In other embodiments, the card master key may be used in place of the PIN, such as the first card master key 612. In such an embodiment, the processing unit 504 of the transaction management server 102 may use the single use key 306 and the PIN 314 to generate a second session key 310) based on the second card master key (614). The second session key (608) may be generated based on the second card master key (614). In some instances, the second session key 608 may also be based on the corresponding single use key 604. In such embodiments, algorithms for the generation of session keys and / or application ciphers may be performed such that the passwords generated by the mobile device 104 and the transaction management server 102 are based on data used herein can do.

상기 제1 세션 키(606)는 제1 애플리케이션 암호를 생성하는데 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)에 의해 사용될 수 있으며, 상기 제2 세션 키(608)는 제2 애플리케이션 암호를 생성하는데 사용될 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 트랜잭션 카운터(610)가 상기 세션 키들 및/또는 애플리케이션 암호들 중 하나 이상의 생성에 사용될 수 있다. 상기 애플리케이션 트랜잭션 카운터(610)는 각각의 트랜잭션 동안 증분되거나 이와는 달리 수정되는 수행될 지불결제 트랜잭션에 상응하는 값일 수 있다. 상기 애플리케이션 트랜잭션 카운터(610)는 상기 모바일 기기(104)에서 상응하는 지불결제 프로파일(302)에 저장된 애플리케이션 트랜잭션 카운터(312)에 상응할 수 있고, 그럼으로써 그의 사용이 단지 유효한 MPA(404)가 유효한 세션 키들 및/또는 애플리케이션 암호들을 생성하도록 정확한 애플리케이션 트랜잭션 카운터(312)를 소유할 수 있게 해준다. 관련 기술에 숙련된 자들에게 자명하게 되는 예측 불가능한 수들 및 다른 기법들과 같은 상기 세션 키 및/또는 애플리케이션 암호 생성의 보안을 더 강화시키기 위한 추가 기법들이 사용될 수 있다.The first session key 606 may be used by the processing unit 504 of the transaction management server 102 to generate a first application secret and the second session key 608 may be used to generate a second application secret . In some embodiments, the application transaction counter 610 may be used to generate one or more of the session keys and / or application passwords. The application transaction counter 610 may be a value corresponding to a payment transaction to be performed that is incremented or otherwise modified during each transaction. The application transaction counter 610 may correspond to the application transaction counter 312 stored in the corresponding payment payment profile 302 at the mobile device 104 so that its use is only valid if the valid MPA 404 is valid And to possess the correct application transaction counter 312 to generate session keys and / or application passwords. Additional techniques may be used to further enhance the security of the session key and / or application encryption generation, such as unpredictable numbers and other techniques that will be apparent to those skilled in the relevant arts.

모바일 기기를 사용한 지불결제 트랜잭션들의 처리Handling payment transactions using mobile devices

도 7에는 보안 요소를 지니지 않는 모바일 기기(104)를 사용하여 그리고 2개 이상의 애플리케이션 암호들의 생성 및 유효화를 사용하여 수행되는 지불결제 트랜잭션들의 처리를 위한 프로세스가 예시되어 있다.FIG. 7 illustrates a process for processing payment transactions using a mobile device 104 without a secure element and using creation and validation of two or more application passwords.

단계 702에는, 상기 트랜잭션 관리 서버(102)가 예컨대 이하에서 더 구체적으로 검토되는 RNS 메시지를 통해 상기 모바일 기기(104)로 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 (예컨대 상기 전송 유닛(506)을 통해) 프로비저닝할 수 있다. 단계 704에서는, 상기 모바일 기기(104)의 수신 유닛(202)이 상기 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 수신할 수 있다. 단계 706에서는, 상기 모바일 기기(104)의 처리 유닛(204)이 상기 카드 데이터베이스(208)의 지불결제 프로파일(302) 내에 상기 데이터를 저장할 수 있다. 상기 계정 데이터에는 상기 지불결제 크리덴셜들(304), 하나 이상의 단일 사용 키들(308), 및 상기 세션 키들(308, 310) 중 하나 이상과 같은 다른 어떤 적합한 데이터가 포함될 수 있다.In step 702, the transaction management server 102 sends the payment credentials 304 and other accounting data (e. G., The transfer unit (e. G. 506). ≪ / RTI > In step 704, the receiving unit 202 of the mobile device 104 may receive the payment settlement credentials 304 and other account data. In step 706, the processing unit 204 of the mobile device 104 may store the data in the payment payment profile 302 of the card database 208. The account data may include any other suitable data such as the payment settlement credentials 304, one or more single use keys 308, and one or more of the session keys 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)를 사용하여 생성될 수 있다.In step 708, the processing unit 204 may generate two application passwords for use in performing a payment transaction. In some embodiments, a method may be used to represent step 708 through the input unit 214, a method for placing the mobile device 104 near the point-of-sale information management system 110 to initiate transactions over near field communication, May be initiated by the consumer 108 as by a suitable method. The generation of the application passwords may include generating a first application password using the first session key 308 stored in the payment payment profile 302. [ The second application key may be generated using the second session key 310 and the second session key 310 may be generated using the single use key 306 and the PIN 314. [ In some instances, the consumer 108 may enter a PIN within the mobile device 104 (e.g., via the input unit 214) during the start of either step 708 or step 708. In some embodiments, one or both of the application passwords may also be generated using the application transaction counter 312.

일단 상기 애플리케이션 암호들이 생성되면, 상기 애플리케이션 암호들은 상기 지불결제 크리덴셜들(304)과 함께 상기 판매 시점 정보 관리 시스템(110), 수취자(112), 및 지불결제 네트워크(114)를 통해 상기 발행자(106)에게로 전송될 수 있다. 상기 지불결제 크리덴셜들(304) 및 애플리케이션 암호들은 단계 710에서 상기 발행자(106)에 의해 수신될 수 있다. 단계 712에서, 상기 모바일 기기(104)의 전송 유닛(206)은 트랜잭션 통지를 상기 트랜잭션 관리 서버(102)로 전송할 수 있다. 단계 714에서는, 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)이 상기 트랜잭션 통지를 수신할 수 있다. 상기 트랜잭션 통지는 상기 모바일 기기(104)가 상기 지불결제 프로파일(302)을 사용하여 지불결제 트랜잭션을 개시했음을 상기 트랜잭션 관리 서버(102)에 알려줄 수 있다. 몇몇 예들에서는, 상기 트랜잭션 통지에 식별 정보가 포함될 수 있다.Once the application passwords are generated, the application passwords are transmitted to the issuer 102 via the point-of-sale information management system 110, the recipient 112, and the payment network 114 together with the payment credentials 304 (106) < / RTI > The payment settlement credentials 304 and application ciphers may be received by the issuer 106 at step 710. In step 712, the transfer unit 206 of the mobile device 104 may send a transaction notification to the transaction management server 102. In step 714, the receiving unit 502 of the transaction management server 102 may receive the transaction notification. The transaction notification may inform the transaction management server 102 that the mobile device 104 has initiated a payment transaction using the payment payment profile 302. [ In some instances, identification information may be included in the transaction notification.

단계 716에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 상기 지불결제 프로파일(302)에 상응하는 계정 프로파일(602)을 식별할 수 있으며 내부에 포함된 데이터를 사용하여 2개의 애플리케이션 암호들을 생성할 수 있다. 상기 제1 애플리케이션 암호는 상기 제1 세션 키(606)를 사용하여 생성될 수 있으며, 상기 제1 세션 키(606)는 상기 제1 카드 마스터 키(612)를 사용하여 생성될 수 있다. 상기 제2 애플리케이션 암호는 상기 제2 세션 키(608)를 사용하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 애플리케이션 암호들 및/또는 세션 키들 중 하나 또는 양자 모두가 상기 단일 사용 키들(604), 애플리케이션 트랜잭션 카운터(610), 또는 다른 어떤 적합한 데이터를 기반으로 하여 부가적으로 이루어질 수 있다.In step 716, the processing unit 504 of the transaction management server 102 may identify an accounting profile 602 corresponding to the payment payment profile 302 and may use two or more application passwords Lt; / RTI > The first application secret may be generated using the first session key 606 and the first session key 606 may be generated using the first card master key 612. [ The second application password may be generated using the second session key 608. [ In some embodiments, one or both of the application secrets and / or session keys may be additionally based on the single use keys 604, application transaction counter 610, or some other suitable data .

단계 718에서는, 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)이 상기 생성된 애플리케이션 암호들을 상기 발행자(106)에게로 전송할 수 있으며, 상기 발행자(106)는 단계 718에서 상기 암호들을 수신할 수 있다. 단계 720에서는, 상기 발행자(106)가 상기 지불결제 크리덴션들(304)을 수반하여 상기 모바일 기기(104)에 의해 제공되는 애플리케이션 암호들을 유효화할 수 있다. 상기 애플리케이션 암호들의 유효화는 상기 트랜잭션 관리 서버(102)에 의해 생성 및 공급된 애플리케이션 암호들과 상기 모바일 기기(104)에 의해 공급된 암호들을 비교하는 것을 포함할 수 있다. 일단 유효화가 수행되면, 단계 722에서는, 상기 발행자(106)가 그에 따라 상기 트랜잭션을 처리할 수 있다. 트랜잭션 처리는, 예컨대 상기 암호들 중 하나 또는 양자 모두가 유효화되는 경우에 지불결제 트랜잭션의 승인을 포함할 수도 있고 예컨대 상기 암호들 중 하나 또는 양자 모두가 유효하지 않은 것으로 결정되는 경우에 지불결제 트랜잭션의 거부를 포함할 수도 있다.In step 718, the transfer unit 506 of the transaction management server 102 may send the generated application passwords to the issuer 106 and the issuer 106 may receive the passwords in step 718 have. At step 720, the issuer 106 may activate the application passwords provided by the mobile device 104 with the payment settlement credentials 304. Validation of the application passwords may include comparing application passwords generated and supplied by the transaction management server 102 with passwords supplied by the mobile device 104. Once validation is performed, in step 722, the publisher 106 may process the transaction accordingly. Transaction processing may include the acceptance of a payment transaction, for example, when one or both of the above passwords are validated, and may include an acknowledgment of a payment transaction, for example, if one or both of the passwords are determined to be invalid Rejection.

단계 724에서는, 트랜잭션 통지가 상기 지불결제 트랜잭션 처리의 일부로서 상기 발행자(106), 또는 다른 실체(예컨대, 상기 지불결제 네트워크(114), 수취자(112) 등등)에 의해 전송될 수 있다. 상기 트랜잭션 통지는 단계 726에서 상기 트랜잭션 관리 서버(102)로 전송되고 상기 수신 유닛(502)에 의해 수신될 수 있다. 상기 트랜잭션 통지는 또한 단계 728에서 상기 모바일 기기(104)의 수신 유닛(202)에 의해 수신될 수 있다. 상기 트랜잭션 통지는 상기 지불결제 트랜잭션의 승인 또는 거부의 표시일 수 있다. 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102) 각각의 처리 유닛들(204, 504)은 각각 수신된 트랜잭션 통지의 결과로서 하나 이상의 기능들을 수행할 수 있다. 예를 들어, 상기 트랜잭션이 승인되어 성공적으로 처리된 경우에, 상기 애플리케이션 트랜잭션 카운터들(310, 610)은 대응하는 프로파일들에서 그에 따라 업데이트될 수 있다.At step 724, a transaction notification may be sent by the publisher 106, or other entity (e.g., the payment network 114, recipient 112, etc.) as part of the payment transaction transaction. The transaction notification may be sent to the transaction management server 102 at step 726 and received by the receiving unit 502. [ The transaction notification may also be received by the receiving unit 202 of the mobile device 104 at step 728. The transaction notification may be an indication of acceptance or denial of the payment transaction. The processing units 204 and 504 of the mobile device 104 and the transaction management server 102, respectively, may perform one or more functions as a result of the received transaction notification. For example, if the transaction is acknowledged and successfully processed, the application transaction counters 310 and 610 may be updated accordingly in the corresponding profiles.

도 8에는 상기 모바일 기기(104)를 사용하여 지불결제 트랜잭션을 처리하기 위한 변형적인 프로세스가 예시되어 있다.Figure 8 illustrates an alternative process for processing payment transactions using the mobile device 104. [

단계 802에서는, 상기 지불결제 크리덴셜들(304) 및 다른 계정 데이터가 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)에 의해 상기 모바일 기기(104)에 전송될 수 있다. 단계 804에서는, 상기 모바일 기기(104)의 수신 유닛(202)이 단계 806에서 지불결제 프로파일(302) 내에 저장될 수 있는, 지불결제 크리덴션들(304) 및 다른 계정 데이터를 수신할 수 있다. 단계 808에서는, 상기 모바일 기기(104)의 처리 유닛(204)이 위에서 검토한 바와 같이 상기 2개의 애플리케이션 암호들을 생성할 수 있으며, 상기 암호들, 지불결제 크리덴셜들(304), 및 다른 적합한 데이터를 (예컨대, 판매 시점 정보 관리 시스템(110)을 통해) 상기 발행자(106)에게로 전송할 수 있다.In step 802, the payment settlement credentials 304 and other account data may be transferred to the mobile device 104 by the transfer unit 506 of the transaction management server 102. At step 804, the receiving unit 202 of the mobile device 104 may receive payment settlement credits 304 and other account data, which may be stored in the payment payment profile 302 at step 806. At step 808, the processing unit 204 of the mobile device 104 may generate the two application ciphers as discussed above, and the ciphers, payment settlement credentials 304, and other appropriate data To the issuer 106 (e.g., via the point-of-sale information management system 110).

단계 810에서는, 상기 발행자(106)가 상기 트랜잭션 데이터를 유효화하고 그리고/또는 상기 트랜잭션의 승인 또는 거부를 처리하는데 상기 발행자(106)에 의해 사용될 수 있는 애플리케이션 암호들 및 다른 어떤 적합한 데이터를 수신할 수 있다. 단계 812에서는, 상기 발행자(106)가 유효화 암호들에 대한 요구를 상기 트랜잭션 관리 서버(102)로 제출할 수 있다. 몇몇 실시 예들에서는, 상기 요구에는 상기 유효화 암호들을 생성하는데 사용될 계정 프로파일(602)을 식별함에 있어서의 상기 트랜잭션 관리 서버(102)에 의한 사용에 적합한 지불결제 크리덴셜들(304) 또는 다른 데이터가 포함될 수 있다. 한 실시 예에서는, 상기 요구에는 유효화를 위해 상기 모바일 기기(104)에 의해 생성된 2개의 애플리케이션 암호들이 부가적으로 포함될 수 있다.At step 810, the publisher 106 may receive application passwords and any other suitable data that may be used by the publisher 106 to validate the transaction data and / have. In step 812, the issuer 106 may submit a request for validation ciphers to the transaction management server 102. In some embodiments, the request includes payment settlement credentials 304 or other data suitable for use by the transaction management server 102 in identifying the account profile 602 to be used to generate the validation ciphers . In one embodiment, the request may additionally include two application passwords generated by the mobile device 104 for validation.

단계 814에서는, 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)이 암호 요구를 수신할 수 있다. 단계 816에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 위에서 검토한 바와 같이 유효화를 위해 사용될 2개의 애플리케이션 암호들을 생성할 수 있다. 상기 암호 요구에는 상기 모바일 기기(104)에 의해 생성된 2개의 애플리케이션 암호들이 또한 포함되는 실시 예들에서는, 단계 816이 또한 2개의 새롭게 생성된 애플리케이션 암호들을 사용한 상기 처리 유닛(504)에 의한 2개의 암호들의 유효화를 포함할 수 있다. 적용 가능한 실시 예들에서의 유효화 암호들, 또는 유효화 결과는 상기 전송 유닛(506)에 의해 상기 발행자(106)에 전송될 수 있다. 단계 818에서는, 상기 발행자(106)가 유효화 암호들 및/또는 유효화 결과를 수신할 수 있다.In step 814, the receiving unit 502 of the transaction management server 102 may receive a cryptographic request. At step 816, the processing unit 504 of the transaction management server 102 may generate two application passwords to be used for validation as discussed above. In embodiments where the cryptographic request also includes two application ciphers generated by the mobile device 104, step 816 also includes two ciphers by the processing unit 504 using the two newly generated application ciphers Lt; / RTI > Validation ciphers, or validation results, in applicable embodiments may be sent to the issuer 106 by the transmission unit 506. In step 818, the publisher 106 may receive validation ciphers and / or validation results.

단계 820에서는, 상기 발행자(106)가 상기 트랜잭션 관리 서버(102)에 의해 생성된 애플리케이션 암호들을 사용하여 상기 모바일 기기(104)에 의해 제공된 애플리케이션 암호들을 유효화할 수 있다. 상기 트랜잭션 관리 서버(102)가 유효화 결과를 상기 발행자(106)에 제공하는 실시 예들에서는, 단계 820이 2개의 애플리케이션 암호들 각각의 유효화의 결과를 식별하는 것을 포함할 수 있다. 단계 822에서는, 상기 발행자(106)가 그에 따라 상기 유효화의 결과를 기반으로 하여 상기 지불결제 트랜잭션을 처리할 수 있다. 단계 824에서는, 트랜잭션 통지들이 단계들 826 및 828 각각에서 상기 트랜잭션 관리 서버(102)로 전송될 수 있고 대응하는 수신 유닛들(502, 202)에 의해 수신될 수 있다.At step 820, the publisher 106 may validate the application passwords provided by the mobile device 104 using the application passwords generated by the transaction management server 102. In embodiments where the transaction management server 102 provides validation results to the publisher 106, step 820 may include identifying the result of validation of each of the two application passwords. At step 822, the publisher 106 may then process the payment transaction based on the result of the validation. In step 824, transaction notifications may be sent to the transaction management server 102 in steps 826 and 828, respectively, and received by the corresponding receiving units 502 and 202.

원격 통지 서비스 및 데이터 메시징Remote Notification Service and Data Messaging

도 9에는 상기 트랜잭션 관리 서버(102)로부터 상기 모바일 기기(104)로 전송되는 원격 통지 서비스(remote notification service; RNS) 메시지들 및 다른 데이터 메시지들의 전송 및 유효화를 위한 프로세스가 예시되어 있다. RNS 메시지들은 상기 모바일 기기(104)에 연관된 모바일 통신 네트워크를 이용하는 것과 같은 원격 통지 서비스를 통해 전송될 수 있다. RNS 메시지들은 위에서 검토한 바와 같이 지불결제 트랜잭션들의 처리에서 사용되는 계정 데이터, 및 상기 모바일 기기(104) 및 상기 트랜잭션 관리 서버(102) 간의 보안 접속의 확립에서 사용될 수 있는 다른 정보와 같이, 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 프로비저닝하는데 사용될 수 있다.FIG. 9 illustrates a process for transmitting and validating remote notification services (RNS) messages and other data messages sent from the transaction management server 102 to the mobile device 104. The RNS messages may be transmitted via a remote notification service, such as using a mobile communication network associated with the mobile device 104. The RNS messages may be used for payment transactions, such as account data used in the processing of payment transactions as discussed above, and other information that may be used in establishing a secure connection between the mobile device 104 and the transaction management server 102, May be used to provision credentials 304 and other account data.

단계 902에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 메시지를 생성할 수 있다. 상호 인증이 상기 모바일 기기(104)를 가지고 확립되는 예들에서는, 상기 메시지에 세션 식별자와 같은, 상기 상호 인증을 확립하기 위해 적합한 정보가 포함될 수 있다. 상호 인증이 도 9에 예시되고 본원 명세서에서 검토한 프로세스를 사용하여 상기 트랜잭션 관리 서버(102) 및 모바일 기기(104) 간에 확립된 경우와 같은 다른 예들에서는, 상기 생성된 메시지에 지불결제 크리덴셜들(304) 및 계정 데이터가 포함될 수도 있고, 상기 모바일 기기(104)의 MPA(404)에 의해 실행될 하나 이상의 커맨드들(예컨대, 단일 사용 키들(306) 또는 지불결제 크리덴셜들(304) 등등의 제거)가 포함될 수도 있으며, 소비자(108)에 제시될 통지들(예컨대, 계정 밸런스들, 지불결제 통지들 등등)이 있을 수도 있고, 다른 적합한 데이터가 포함될 수도 있다.In step 902, the processing unit 504 of the transaction management server 102 may generate a message. In instances where mutual authentication is established with the mobile device 104, appropriate information may be included in the message to establish the mutual authentication, such as a session identifier. In other instances, such as when mutual authentication is established between the transaction management server 102 and the mobile device 104 using the process illustrated in FIG. 9 and discussed herein, the generated messages may include payment credentials (E.g., single use keys 306 or payment clearing credentials 304, etc.) to be executed by the MPA 404 of the mobile device 104. In one embodiment, And may include notifications to be presented to the consumer 108 (e.g., account balances, payment settlement notices, etc.), or other suitable data.

단계 904에서는, 상기 처리 유닛(504)이 상기 생성된 메시지를 암호화할 수 있다. 상기 메시지는 개인/공개 키 쌍의 개인 키를 사용하여 암호화될 수 있으며, 이 경우에 상기 모바일 기기(104)는 상응하는 공개 키를 소유할 수 있다. 몇몇 예들에서는, 상기 메시지가 상기 암호화 키(414)와 같은 상기 MPA 또는 상기 모바일 기기(104)에 연관된 암호화 키를 사용하여 암호화될 수 있다. 단계 906에서는, 상기 처리 유닛(504)이 메시지 인증 코드를 생성할 수 있다. 상기 메시지 인증 코드는 상기 암호화된 메시지를 사용하여 생성될 수 있으며 하나 이상의 특별히 구성된 규칙들 및/또는 알고리즘들을 사용하여 생성되는 키일 수 있다. 예를 들어, 상기 메시지 인증 코드는 패딩(padding)과 같은 하나 이상의 암호화 및 난독화(obfuscation) 방법들을 사용하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 메시지 인증 코드가 상기 암호화 키를 사용하여 생성될 수 있다.In step 904, the processing unit 504 may encrypt the generated message. The message may be encrypted using the private key of the private / public key pair, in which case the mobile device 104 may possess the corresponding public key. In some instances, the message may be encrypted using the MPA, such as the encryption key 414, or an encryption key associated with the mobile device 104. In step 906, the processing unit 504 may generate a message authentication code. The message authentication code may be generated using the encrypted message and may be a key generated using one or more specially configured rules and / or algorithms. For example, the message authentication code may be generated using one or more encryption and obfuscation methods, such as padding. In some embodiments, the message authentication code may be generated using the encryption key.

단계 908에서는, 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)이 조합된 데이터 메시지를 상기 모바일 기기(104)에 전송할 수 있다. 상기 상호 인증이 수행될 수 있게 되는 실시 예들에서는, 상기 조합된 데이터 메시지가 상기 원격 통지 서비스를 통해 상기 모바일 기기(104)로 전송되는 원격 통지 서비스 메시지일 수 있다. 상기 조합된 데이터 메시지는 단계 910에서 상기 모바일 기기(104)의 수신 유닛(202)에 의해 수신될 수 있으며, 상기 조합된 데이터 메시지에는 상기 메시지 인증 코드 및 상기 암호화된 메시지가 포함될 수 있다. 몇몇 예들에서는, 상기 조합된 데이터 메시지에 상기 조합된 데이터 메시지의 검증을 위해 상기 MPA(404)를 대상으로 하여 공지된 방법들을 사용하여 생성된 것과 같은 추가 식별자가 또한 포함될 수 있다. 상호 인증이 이미 수행된 경우와 같은 어떤 경우에는, 상기 조합된 데이터 메시지에 메시지 카운터가 또한 포함될 수 있다.In step 908, the transfer unit 506 of the transaction management server 102 may send the combined data message to the mobile device 104. In embodiments where the mutual authentication can be performed, the combined data message may be a remote notification service message sent to the mobile device 104 via the remote notification service. The combined data message may be received by the receiving unit 202 of the mobile device 104 at step 910 and the combined data message may include the message authentication code and the encrypted message. In some instances, additional identifiers, such as those generated using known methods for the MPA 404 for verification of the combined data message, may also be included in the combined data message. In some cases, such as when mutual authentication has already been performed, a message counter may also be included in the combined data message.

단계 912에서는, 상기 처리 유닛(204)이 참조 인증 코드를 생성할 수 있다. 상기 참조 인증 코드는 상기 수신된 암호화된 메시지를 사용하여 생성될 수 있으며 상기 메시지 인증 코드를 생성하는데 사용되는 트랜잭션 관리 서버(102)와 같은 규칙들 및 알고리즘들을 사용하여 생성될 수 있고, 그럼으로써 상기 메시지 인증 코드가 신뢰할 수 있는 소스(예컨대, 상기 트랜잭션 관리 서버(102))에 의해 생성되는 경우에 상기 생성된 참조 인증 코드가 상기 메시지 인증 코드에 상응하게 된다. 상기 메시지 인증 코드가 상기 암호화 키를 사용하여 생성될 수 있는 실시 예들에서는, 상기 처리 유닛(204)이 상기 메모리(212)에 저장된 암호화 키(414) 또는 다른 적합한 암호화 키를 사용하여 상기 참조 인증 코드를 생성할 수 있다.In step 912, the processing unit 204 may generate a reference authorization code. The reference authentication code may be generated using the received encrypted message and may be generated using the same rules and algorithms as the transaction management server 102 used to generate the message authentication code, The generated reference authentication code corresponds to the message authentication code when the message authentication code is generated by a trusted source (for example, the transaction management server 102). In embodiments in which the message authentication code can be generated using the encryption key, the processing unit 204 uses the encryption key 414 stored in the memory 212 or another suitable encryption key to generate the reference authentication code Lt; / RTI >

단계 914에서는, 상기 처리 유닛(204)이 상기 수신된 조합된 데이터 메시지 내에 포함된 메시지 인증 코드를 상기 생성된 참조 인증 코드에 대해 비교함으로써 상기 수신된 조합된 데이터 메시지 내에 포함된 메시지 인증 코드를 유효화할 수 있다. 상기 메시지 카운터 및 메시지 인증 코드 모두가 유효화되는 경우에, 상기 조합된 데이터 메시지는 상기 트랜잭션 관리 서버(102)로부터 비롯된 것으로 신뢰할 수 있는 것으로(예컨대, 진정한 것으로) 결정될 수 있다. 상기 조합된 데이터 메시지에 메시지 식별자가 포함될 수 있는 예들에서는, 상기 처리 유닛(204)이 또한, 상기 조합된 데이터 메시지의 생성 및 비교를 위해 상기 MPA(404)에 의해 알려진 프로세스를 사용하여 메시지 식별자를 생성함으로써 상기 메시지 식별자를 유효화할 수 있다. 상기 조합된 데이터 메시지에 메시지 카운터가 포함될 수 있는 실시 예들에서는, 상기 처리 유닛(204)이 상기 모바일 기기(104)에, 예컨대 상기 MPA(404)에나 또는 지불결제 프로파일(502)에 저장된 참조 카운터와 함께 상기 수시된 조합된 데이터 메시지에 포함된 메시지 카운터를 유효화할 수 있다.In step 914, the processing unit 204 validates the message authentication code contained in the received combined data message by comparing the message authentication code included in the received combined data message against the generated reference authentication code can do. If both the message counter and the message authentication code are validated, the combined data message can be determined to be reliable (e.g., authentic) as originating from the transaction management server 102. In instances where the message identifier may be included in the combined data message, the processing unit 204 may also use a process known by the MPA 404 for generating and comparing the combined data message, The message identifier can be validated. In embodiments where a message counter may be included in the combined data message, the processing unit 204 may send a message to the mobile device 104, for example, to the MPA 404 or to a reference counter The message counter included in the combined data message can be validated.

단계 916에서는, 상기 처리 유닛(204)이 상기 수신된 조합된 데이터 메시지에 포함되어 있는 암호화된 메시지를 복호화할 수 있다. 상기 암호화된 메시지는 상기 메모리(212)에(예컨대, 상기 암호화 애플리케이션(410) 또는 MPA(404)에) 저장되거나 암호화된(예컨대, 어드밴스트 저장 키를 사용하여 암호화된) 국부 데이터베이스에 저장된 키, 또는 다른 적합한 복호화 방법을 사용하여 복호화될 수 있다. 단계 918에서는, 상기 처리 유닛(204)에서는, 상기 처리 유닛(204)이 상기 암호화된 메시지로부터 복호화된 데이터를 기반으로 하여 하나 이상의 적합한 액션들을 수행할 수 있다. 도 9에 예시된 예에서는, 상기 모바일 기기(104)가 예컨대 상기 암호화된 메시지 내에 포함되어 있고 상기 처리 유닛(204)에 의해 복호화되는 세션 식별자를 사용하여, 상기 트랜잭션 관리 서버(102)와의 상호 인증을 수행할 수 있다. 단계 920에서는, 상기 트랜잭션 관리 서버(102)가 상기 세션 식별자를 수신할 수 있으며 상기 모바일 기기(104)와의 상호 인증을 위해 필요한 임의의 추가 액션들을 수행할 수 있다. 상호 인증이 이미 수행된 경우들에서는, 상기 메시지에 지불결제 크리덴셜들(404), 단일 사용 키들(406), 및 상기 MPA(404)를 위한 프로그램 명령어들 등등과 같은, 본원 명세서에 개시되어 있는 기능들을 수행하기 위해 적합한 다른 정보가 포함될 수 있다.In step 916, the processing unit 204 may decrypt the encrypted message contained in the received combined data message. The encrypted message may be stored in the memory 212 (e.g., in the encryption application 410 or MPA 404) or may be stored in a local database (e.g., encrypted using an advanced storage key) Or may be decoded using other suitable decoding methods. In step 918, in the processing unit 204, the processing unit 204 may perform one or more appropriate actions based on the decrypted data from the encrypted message. In the example illustrated in FIG. 9, the mobile device 104 is configured to perform mutual authentication with the transaction management server 102, for example, using a session identifier included in the encrypted message and decrypted by the processing unit 204, Can be performed. In step 920, the transaction management server 102 may receive the session identifier and perform any further actions necessary for mutual authentication with the mobile device 104. [ In cases where mutual authentication has already been performed, it is possible to use the messages described in this document, such as payment settlement credentials 404, single use keys 406, and program instructions for the MPA 404, Other information suitable for performing the functions may be included.

몇몇 실시 예들에서는, 상기 모바일 기기(104)가 복귀 메시지를 생성하고 이를 상기 트랜잭션 관리 서버(102)에 제출하도록 (예컨대, 상기 MPA(404)를 통해) 구성될 수 있다. 몇몇 예들에서는, 상기 복귀 메시지에, 위에서 검토한 바와 같이 상기 복호화된 메시지를 통해 명령을 받은 바와 같이 수행되는 액션들에 응답하여 생성된 데이터가 포함될 수 있다. 예를 들면, 복귀 메시지는 단일 사용 키들(306) 또는 지불결제 크리덴션들(304)의 유효한 수신 및 저장을 나타낼 수 있다. 다른 예들에서는, 상기 복귀 메시지가 상기 조합된 데이터 메시지의 수신 및 유효화의 통지일 수 있다. 상기 인증이 먼저 수행되는 예들에서는, 상기 복귀 메시지에, 상기 상호 인증을 수행하는데 사용되는 세션 식별자가 포함될 수 있다.In some embodiments, the mobile device 104 may be configured (e.g., via the MPA 404) to generate a return message and submit it to the transaction management server 102. In some instances, the return message may include data generated in response to actions performed as commanded through the decrypted message, as discussed above. For example, the return message may indicate valid receipt and storage of single use keys 306 or payment settlements 304. [ In other examples, the return message may be a notification of receipt and validation of the combined data message. In an example where the authentication is performed first, the return message may include a session identifier used for performing the mutual authentication.

도 10a 및 도 10b에는 상기 모바일 기기(104)에 의한 복귀 메시지의 생성 및 전송 및 상기 트랜잭션 관리 서버(102)에 의한 상기 복귀 메시지의 유효화를 위한 프로세스가 예시되어 있다.10A and 10B illustrate a process for generating and sending a return message by the mobile device 104 and validating the return message by the transaction management server 102. [

단계 1002에서는, 상기 모바일 기기(104)의 처리 유닛(204)이 수신 메시지를 생성할 수 있다. 상기 수신 메시지는 상기 MPA(404)에 저장된 프로그램 코드(406)를 기반으로 하여 생성될 수 있으며, 상기 트랜잭션 관리 서버(102)로부터 수신된 복호화된 조합된 데이터 메시지에 나타나 있는 바와 같이 수행되는 액션들을 기반으로 하여 부가적으로 이루어질 수 있다. 예를 들어, 상기 수신 메시지에는 지불결제 크리덴셜들(304)의 성공적인 수신 및 저장의 통지가 포함될 수 있다. 단계 1004에서는, 상기 처리 유닛(204)이 수신 카운터를 증분시킬 수 있다. 상기 수신 카운터는 상기 트랜잭션 관리 서버(102)에 전송되는 수신 메시지들의 개수를 나타내는 카운터일 수 있다. 상기 수신 카운터는 상기 메모리(212)에, 예컨대 상기 MPA(404)에나 또는 상기 어드밴스트 저장 키를 사용하여 암호화된 데이터베이스에 저장될 수 있다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계(1004)는 옵션 단계일 수 있으며, 단지 카운터가 데이터 메시지의 유효화를 위해 사용되는 예들에서만 사용될 수 있다.In step 1002, the processing unit 204 of the mobile device 104 may generate an incoming message. The received message may be generated based on the program code 406 stored in the MPA 404 and may include actions to be performed as indicated in the decrypted combined data message received from the transaction management server 102 Can be additionally performed on the basis of the above. For example, the received message may include a notification of successful receipt and storage of payment credentials 304. In step 1004, the processing unit 204 may increment the reception counter. The reception counter may be a counter indicating the number of reception messages transmitted to the transaction management server 102. The reception counter may be stored in the memory 212, e.g., in the MPA 404, or in a database encrypted using the advanced storage key. As will be apparent to those skilled in the relevant art, step 1004 may be an optional step and may only be used in instances where the counter is used for validating a data message.

단계 1006에서는, 상기 처리 유닛(204)이 상기 수신 메시지를 암호화할 수 있다. 상기 수신 메시지는 상기 암호화 애플리케이션(410)에 저장된 암호화 키(414)를 사용하여 암호화될 수도 있고 이와는 달리 상기 MPA(404) 또는 국부적으로 암호화된 데이터베이스에 저장될 수도 있다. 상기 수신 메시지를 암호화하는데 사용되는 암호화 키는 키 쌍의 일부로서 개인 키일 수 있으며, 상기 트랜잭션 관리 서버(102)는 상응하는 공개키를 소유한다. 단계 1008에서는, 상기 처리 유닛(204)이 상기 암호화된 수신 메시지를 기반으로 하여 수신 인증 코드를 생성할 수 있다. 몇몇 실시 예들에서는, 상기 수신 인증 코드가 위에서 검토한, 도 9의 단계 912에 예시된 참조 인증 코드를 생성하는데 사용된 바와 같은 규칙들, 알고리즘들, 및/또는 프로세스들을 사용하여 생성될 수 있다.In step 1006, the processing unit 204 may encrypt the received message. The received message may be encrypted using the encryption key 414 stored in the encryption application 410 or alternatively may be stored in the MPA 404 or locally encrypted database. The encryption key used to encrypt the received message may be a private key as part of the key pair, and the transaction management server 102 owns the corresponding public key. In step 1008, the processing unit 204 may generate a received authentication code based on the encrypted received message. In some embodiments, the receiving authentication code may be generated using rules, algorithms, and / or processes as used to generate the reference authentication code illustrated in step 912 of FIG. 9 discussed above.

단계 1010에서는, 상기 모바일 기기(104)의 전송 유닛(206)이 상기 전송 관리 서버(102)에 수신 통지 메시지를 전송할 수 있다. 상기 수신 통지 메시지는 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)에 의해 수신될 수 있으며 상기 수신 통지 메시지에는 적어도 상기 수신 인증 코드, 상기 암호화된 수신 메시지, 및 상기 수신 카운터가 포함될 수 있다. 몇몇 실시 예들에서는, 상기 수신 통지 메시지는 상기 모바일 기기(104)에 연관된, 셀룰러 네트워크와 같은 모바일 통신 네트워크를 사용하여 상기 트랜잭션 관리 서버(102)에 전송될 수 있다.In step 1010, the transmission unit 206 of the mobile device 104 may send a reception notification message to the transmission management server 102. The receiving notification message may be received by the receiving unit 502 of the transaction management server 102 and the receiving notification message may include at least the receiving authentication code, the encrypted receiving message, and the receiving counter. In some embodiments, the receive notification message may be sent to the transaction management server 102 using a mobile communication network, such as a cellular network, associated with the mobile device 104. [

단계 1014에서는, 상기 트랜잭션 관리 서버(102)의 처리 유닛(504)이 확인 카운터를 증분시킬 수 있다. 상기 확인 카운터는 상기 모바일 기기(104)로부터 수신된 메시지들의 유효화를 위해 사용된, 상기 모바일 기기(104)로부터 수신된 메시지들의 개수를 나타낼 수 있다. 상기 확인 카운터는 상기 트랜잭션 관리 서버(102)의 메모리(510) 또는 다른 적합한 데이터 저장소에 저장될 수 있다. 예를 들어, 몇몇 실시 예들에서는, 상기 확인 카운터가 상기 모바일 기기(104)에 연관된 계정 프로파일(602)에 저장될 수 있다. 일 예에서는, 각각의 계정 프로파일(602)에, 상응하는 트랜잭션 계정에 관련된 상기 트랜잭션 관리 서버(102) 및 모바일 기기(104)로/로부터 전송되는 메시지들을 위해 사용될 확인 카운터(예컨대, 및/또는 메시지 카운터)가 포함될 수 있다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계 1014는 옵션 단계일 수 있으며 카운터가 복귀 메시지들의 유효화를 위해 사용되지 않게 되는 예들에서 사용되지 않을 수 있다.In step 1014, the processing unit 504 of the transaction management server 102 may increment the acknowledgment counter. The confirmation counter may indicate the number of messages received from the mobile device 104 that are used for validating the messages received from the mobile device 104. The confirmation counter may be stored in the memory 510 of the transaction management server 102 or other suitable data store. For example, in some embodiments, the confirmation counter may be stored in an account profile 602 associated with the mobile device 104. In one example, each account profile 602 includes an acknowledgment counter (e.g., a message and / or message to be used for messages sent to / from the transaction management server 102 and the mobile device 104 associated with the corresponding transaction account) Counter) may be included. As will be apparent to those skilled in the relevant art, step 1014 may be an optional step and may not be used in instances where the counter is not used for validating return messages.

단계 1016에서는, 상기 처리 유닛(504)이 확인 인증 코드를 생성할 수 있다. 상기 확인 인증 코드는 상기 수신 통지 메시지 내에 포함되어 있는 암호화된 수신 메시지를 기반으로 하여 생성될 수 있으며, 상기 메시지 인증 코드를 생성하는데 사용되는 동일한 규칙들, 알고리즘들, 및/또는 프로세스들을 사용하여 생성될 수 있다. 단계 1018에서는, 상기 처리 유닛(504)이 상기 수신 통지 메시지 내에 포함되어 있는 수신 카운터를 상기 확인 카운터와 비교함으로써 상기 수신 통지 메시지 내에 포함되어 있는 수신 카운터를 유효화할 수 있다. 단계 1020에서는, 상기 처리 유닛(504)이 상기 수신 인증 코드를 상기 메시지 인증 코드와 비교함으로써 상기 수신 인증 코드를 유효화하여, 상기 메시지가 승인된 모바일 기기(104)로부터 유래된 것임을 보장할 수 있다.In step 1016, the processing unit 504 may generate a verification authentication code. The verification authentication code may be generated based on an encrypted received message included in the received notification message and may be generated using the same rules, algorithms, and / or processes used to generate the message authentication code . In step 1018, the processing unit 504 may validate the receive counter contained in the receive notification message by comparing the receive counter contained in the receive notification message with the acknowledge counter. In step 1020, the processing unit 504 may validate the received authentication code by comparing the received authentication code with the message authentication code to ensure that the message is from the approved mobile device 104. [

일단 상기 카운터(예컨대 적용되는 경우) 및 인증 코드가 유효화되면, 단계 1022에서는, 상기 처리 유닛(504)이 상기 수신된 수신 통지 메시지 내에 포함되어 있는 암호화된 메시지를 복호화할 수 있다. 상기 암호화된 메시지는 저장된 암호화 키 또는 다른 적합한 복호화 방법을 사용하여 복호화될 수 있다. 상기 암호화된 메시지는 상기 모바일 기기(104)에 의해 생성된 수신 메시지를 획득하도록 복호화될 수 있다. 단계 1024에서는, 상기 처리 유닛(504)이 상기 수신 메시지 내에 포함되어 있는 데이터를 기반으로 하여 필요에 따라 임의의 적합한 액션들을 수행할 수 있다. 예를 들면 상기 수신 메시지 내에 단일 사용 키들(306)의 성공적인 수신 및 저장의 표시가 포함되어 있는 경우에, 상기 처리 유닛(204)은 상응하는 계정 프로파일(602) 내의 상응하는 단일 사용 키들(604)을 활성화시킬 수 있다.Once the counter (e. G., If applicable) and authentication code are validated, at step 1022, the processing unit 504 may decrypt the encrypted message contained in the received notification message. The encrypted message may be decrypted using a stored encryption key or other suitable decryption method. The encrypted message may be decrypted to obtain a received message generated by the mobile device 104. In step 1024, the processing unit 504 may perform any suitable actions as needed based on the data contained in the received message. The processing unit 204 may send a corresponding single use keys 604 in the corresponding accounting profile 602, for example, if the received message includes an indication of successful reception and storage of single use keys 306. [ Can be activated.

데이터 메시지들의 유효화Validation of data messages

도 11에는 상기 트랜잭션 관리 서버(102)로부터 상기 모바일 기기(104)에 의해 수신된 데이터 메시지들의 유효화를 위한 프로세스(1100)가 예시되어 있다.FIG. 11 illustrates a process 1100 for validating data messages received by the mobile device 104 from the transaction management server 102.

단계 1102에서는, 상기 모바일 기기기(104)의 처리 유닛(204)이 국부 저장소, 예컨대 상기 메모리(212) 또는 어드밴스트 저장 키를 사용하여 암호화된 국부적으로 암호화된 저장소에 암호화 키들, 인증 생성 키들, 및 이들의 사용 및 적용을 위한 규칙들 및/또는 알고리즘들을 저장할 수 있다. 단계 1104에서는, 상기 모바일 기기(104)의 수신 유닛(202)이 상기 트랜잭션 관리 서버(102)로부터의 데이터 메시지를 수신할 수 있다. 몇몇 실시 예들에서는, 상기 데이터 메시지가 예컨대 도 9에 예시되어 있으며 위에서 검토한 프로세스를 사용한 2개의 기기 간의 상호 인증의 확립에 이어 상기 트랜잭션 관리 서버(102)로부터 수신될 수 있다. 상기 데이터 메시지에는 적어도 메시지 카운터, 메시지 인증 코드, 및 암호화된 메시지가 포함될 수 있다.In step 1102, the processing unit 204 of the mobile device 104 sends encryption keys, authentication generation keys, authentication keys, and so on to the locally encrypted storage, e.g., the locally encrypted storage encrypted using the memory 212 or the advanced storage key, And rules and / or algorithms for their use and application. In step 1104, the receiving unit 202 of the mobile device 104 may receive a data message from the transaction management server 102. [ In some embodiments, the data message may be received from the transaction management server 102 following the establishment of mutual authentication between two devices using, for example, the process illustrated in FIG. 9 and discussed above. The data message may include at least a message counter, a message authentication code, and an encrypted message.

단계 1106에서는, 상기 처리 유닛(204)이 참조 카운터를 증분시킬 수 있다. 상기 참조 카운터는 상기 메모리(212) 또는 다른 국부 저장소 내에 저장될 수 있으며, 상기 트랜잭션 관리 서버(102)로부터 수신된 메시지들의 개수를 나타내는데 사용될 수 있다. 몇몇 예들에서는, 상기 참조 카운터가 알고리즘을 사용하여 증분될 수 있으며, 그 때문에 상기 참조 카운터가 일련번호를 사용하지만, 상기 모바일 기기(104)를 대상으로 하여(예컨대, 상기 MPA(404)를 통해) 그리고 상기 트랜잭션 관리 서버(102)를 대상으로 하여 알려진 알고리즘을 통해서 증분되지 않게 될 수 있다.In step 1106, the processing unit 204 may increment the reference counter. The reference counter may be stored in the memory 212 or other local repository and may be used to indicate the number of messages received from the transaction management server 102. In some instances, the reference counter may be incremented using an algorithm, so that the reference counter uses the serial number, but the mobile device 104 may be targeted (e.g., via the MPA 404) And may not be incremented through a known algorithm for the transaction management server 102.

단계 1108에서는, 상기 처리 유닛(204)이 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 카운터를 유효화할 수 있다. 상기 메시지 카운터의 유효화에는 증분된 이후의 참조 카운터의 값에 대한 상기 메시지 카운터의 비교가 포함될 수 있다. 실패된 유효화는 상기 데이터 메시지의 소스가 상기 트랜잭션 관리 서버(102)가 아니거나 이와는 달리 신뢰할 수 없음을 나타낼 수 있다. 상기 유효화가 실패되는 경우에, 단계 1110에서는, 상기 처리 유닛(204)이 실패된 데이터 메시지 수신 및/또는 유효화에 연관된 하나 이상의 적합한 액션들을 수행할 수 있다. 예를 들면, 상기 처리 유닛(204)은 상기 데이터 메시지를 폐기할 수도 있고, 상기 트랜잭션 관리 서버(102)에 통지할 수도 있으며, 연관된 지불결제 프로파일(302)을 잠글 수도 있고, 관련 기술에 숙련된 자들에게 자명하게 되는 다른 액션들을 수행할 수도 있다.In step 1108, the processing unit 204 may validate the message counter contained in the received data message. Validation of the message counter may include a comparison of the message counter to a value of the reference counter after the increment. Failed validation may indicate that the source of the data message is not the transaction management server 102 or otherwise unreliable. If the validation fails, at step 1110, the processing unit 204 may perform one or more appropriate actions associated with receiving and / or validating the failed data message. For example, the processing unit 204 may discard the data message, notify the transaction management server 102, lock the associated payment settlement profile 302, You can also perform other actions that will become obvious to the people.

상기 메시지의 유효화가 통과되는 경우에, 상기 프로세스(1100)는 단계 1112로 진행할 수 있으며, 상기 단계 1112에서는 상기 암호화된 메시지가 패딩될 수 있다. 상기 암호화된 메시지의 패딩에는 상기 암호화된 메시지 또는 이에 연관된 데이터에 대한 값들의 추가가 포함될 수 있다. 패딩은 상기 메시지 유효화 프로세스의 보안을 높여주는데 사용될 수 있는데, 그 이유는 상기 패딩이 승인없이 데이터 메시지를 성공적으로 전송 또는 수신하기 위해 승인되지 않은 엔티티에 의해 복제되어야 하는, 서로에 대해 알려진 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102)에 의해 수행되어야 하는 다른 한 기능일 수 있기 때문이다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계 1112는 옵션 단계일 수 있다. 몇몇 실시 예들에서는, 단계 1112가 상기 프로세스(1110)의 몇몇 예들에 적용될 수 있다. 예를 들면, 상기 암호화된 메시지가 상기 참조 카운터의 소정 증분들로 패딩될 수 있다.If the validation of the message is passed, the process 1100 may proceed to step 1112, where the encrypted message may be padded. The padding of the encrypted message may include the addition of values for the encrypted message or data associated therewith. The padding can be used to enhance the security of the message validation process because the padding is to be replicated by an unauthorized entity to successfully transmit or receive a data message without authorization, And may be another function that must be performed by the transaction management server 104 and the transaction management server 102. As will be apparent to those skilled in the relevant art, step 1112 may be an optional step. In some embodiments, step 1112 may be applied to some examples of the process 1110. For example, the encrypted message may be padded with predetermined increments of the reference counter.

단계 1114에서는, 상기 처리 유닛(204)이 참조 인증 코드를 생성할 수 있다. 상기 참조 인증 코드는 예컨대 단계 1102에서 저장된 하나 이상의 규칙들 또는 알고리즘들을 사용하여 (예컨대, 적용 가능한 경우에 패딩으로서) 상기 암호화된 메시지를 기반으로 하여 생성될 수 있다. 몇몇 실시 예들에서는, 상기 참조 인증 코드가 키일 수도 있고 상기 암호화된 메시지에 대한 키의 적용에 의해 생성된 값일 수도 있다. 단계 1116에서는, 상기 처리 유닛(204)이 상기 RNS 메시지에서 수신된 메시지 인증 코드를 유효화할 수 있다. 상기 메시지 인증 코드의 유효화에는 상기 수신된 데이터 메시지가 승인된 소스(예컨대, 상기 트랜잭션 관리 서버(102))로부터 유래된 경우에 다른 한 식별 방법으로서 상기 생성된 참조 인증 코드에 대한 상기 코드의 비교가 포함될 수 있다.In step 1114, the processing unit 204 may generate a reference authentication code. The reference authentication code may be generated based on the encrypted message using, for example, one or more rules or algorithms stored at step 1102 (e.g., as padding if applicable). In some embodiments, the reference authentication code may be a key and may be a value generated by applying a key to the encrypted message. In step 1116, the processing unit 204 may validate the message authentication code received in the RNS message. Validation of the message authentication code may include comparing the code to the generated reference authentication code as another identification method if the received data message is from an authorized source (e.g., transaction management server 102) .

상기 메시지 인증 코드의 유효화가 실패되는 경우에, 상기 프로세스(1100)는 단계 1110으로 진행할 수 있으며 상기 단계 1110에서는 실패 처리가 수행된다. 상기 메시지 인증 코드의 유효화가 통과되는 경우에, 단계 1118에서는, 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지가 상기 처리 유닛(204)에 의해 복호화될 수 있다. 상기 메시지는 예컨대 단계 1102에서 상기 모바일 기기(104)에 저장된 하나 이상의 암호화/복호화 키들, 규칙들, 및/또는 알고리즘들을 사용하여 복호화될 수 있다. 예를 들면, 상기 메모리(212)의 암호화 애플리케이션(410) 내에 저장되어 있는 암호화 키(414)는 상기 암호화된 메시지를 복호화하는데 사용될 수 있다. 단계 1120에서는, 상기 처리 유닛(204)이 상기 복호화된 메시지의 내용을 기반으로 하여 적절한 경우 하나 이상의 액션들을 수행할 수 있다. 예를 들면, 상기 복호화된 메시지에 단일 사용 키들(306)이 포함되어 있는 경우에, 상기 단일 사용 키들(306)은 상기 카드 데이터베이스(208)의 적합한 지불결제 프로파일(302) 내에 저장될 수 있고, 이는 그럼으로써 상기 어드밴스트 저장 키를 사용하여 암호화될 수 있다.If the validation of the message authentication code fails, the process 1100 may proceed to step 1110, where failure processing is performed. If validation of the message authentication code is passed, at step 1118, the encrypted message contained in the received data message may be decrypted by the processing unit 204. [ The message may be decrypted using, for example, one or more encryption / decryption keys, rules, and / or algorithms stored in the mobile device 104 at step 1102. For example, the encryption key 414 stored in the encryption application 410 of the memory 212 may be used to decrypt the encrypted message. In step 1120, the processing unit 204 may perform one or more actions, if appropriate, based on the content of the decrypted message. For example, if the decrypted message includes single-use keys 306, the single-use keys 306 may be stored in the appropriate payment profile 302 of the card database 208, Which may then be encrypted using the advanced storage key.

어드밴스트 저장 키Advanced Storage Key

도 12에는 보안 요소의 사용 없이 상기 모바일 기기(104)에서 안전하게 저장되고 액세스될 수 있는 지불결제 프로파일들(302) 및 다른 데이터와 같은, 상기 모바일 기기(104)에서의 데이터의 보안 저장을 위한 상기 모바일 기기(104)에 의한 어드밴스트 저장 키의 생성 및 사용이 예시되어 있다.12 is a flow diagram for secure storage of data at the mobile device 104, such as payment payment profiles 302 and other data that can be securely stored and accessed at the mobile device 104 without the use of a secure element. The generation and use of the advanced storage key by the mobile device 104 is illustrated.

상기 모바일 기기(104)의 메모리(212)에 저장된 기기 정보(402)에는 기기 정보(1202a, 1202b, 1202c)로서 도 12에 예시되어 있는, 기기 정보(1202)의 3개 또는 그 이상의 부분이 포함될 수 있다. 기기 정보(1202)의 각각의 부분은 상기 모바일 기기(104)에 연관되어 있을 수 있다. 몇몇 예들에서는, 기기 정보(1202)의 각각의 부분이 상기 모바일 기기(104)에 고유한 것일 수 있다. 다른 예들에서는, 기기 정보(1202)의 부분들 중 하나 이상이 상기 모바일 기기(104)에 고유하지 않은 것(예컨대 모델 번호)일 수 있지만, 기기 정보(1202)의 3개의 부분이 함께 취해질 경우에 상기 모바일 기기(104)에 고유한 것(예컨대, 고유 조합)일 수 있다. 기기 정보(1202)의 부분들이 상기 모바일 기기(104)의 수명 동안 변경되지 않게 되는 데이터일 수 있다.The device information 402 stored in the memory 212 of the mobile device 104 includes three or more parts of the device information 1202 illustrated in Figure 12 as the device information 1202a, 1202b, and 1202c . Each piece of device information 1202 may be associated with the mobile device 104. In some instances, each portion of the device information 1202 may be unique to the mobile device 104. In other instances, one or more of the portions of device information 1202 may be not unique to the mobile device 104 (e.g., model number), but if three portions of device information 1202 are taken together (E. G., Unique combination) for the mobile device 104. < / RTI > Parts of the device information 1202 may be data that is not changed during the lifetime of the mobile device 104. [

상기 모바일 기기(104)의 처리 유닛(204)은 기기 정보의 3개의 부분(1202a, 1202b, 1202c)을 기반으로 하여 모바일 기기 핑거프린트(fingerprint; 1204)를 생성할 수 있다. 상기 모바일 기기 핑거프린트(1204)는 상기 모바일 기기(104)에 고유한 값일 수 있으며 상기 메모리(212)에 저장된, 예컨대 상기 MPA(404)의 프로그램 코드(406)에 포함된 하나 이상의 규칙들 또는 알고리즘들을 사용하여 생성될 수 있다. 상기 모바일 기기 핑거프린트(1204)는 예를 들면 수치, 16진수 값, 문자열 등등일 수 있다.The processing unit 204 of the mobile device 104 may generate a mobile device fingerprint 1204 based on three portions 1202a, 1202b, and 1202c of device information. The mobile device fingerprint 1204 may be a value unique to the mobile device 104 and may include one or more rules or algorithms contained in the program code 406 of the MPA 404, Lt; / RTI > The mobile device fingerprint 1204 may be, for example, a numeric value, a hexadecimal value, a string, or the like.

상기 처리 유닛(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)의 인스턴스에 연관된 데이터를 안전하게 저장 가능한 능력을 초래할 수 있다.The processing unit 204 may also be configured to generate a diversifier value 1208 using the mobile device fingerprint 1204. The multivalued value may be generated by combining the random number 1206 with the instance identifier 408 of the MPA 404 and the mobile device fingerprint 1204. The random value 1206 may be a random number or a pseudo-random number generated by the processing unit 204. In some instances, the random value 1206 may be generated according to one or more rules or algorithms stored in the memory 212. The combination of the mobile device fingerprint 1204, instance identifier 408 and random value 1206 may also be performed using one or more rules or algorithms stored, for example, in the program code 406 of the MPA 404 . The use of the instance identifier 408 to generate the multivalued value may be used by the MPA 404 to prevent data stored by other instances of the MPA 404 from being accessed by multiple installations of the MPA 404, Lt; RTI ID = 0.0 > securely < / RTI >

상기 처리 유닛(204)은 그 후에 상기 다원화 값(1208)에 대한 상기 암호화 애플리케이션(410)에 저장된 암호화 값(414)의 적용을 통해 어드밴스트 저장 키(1210)를 생성할 수 있다. 몇몇 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 암호화 키(414)를 사용한 상기 다원화 값(1208)의 복호화에 의해 생성될 수 있다. 다른 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 암호화 키(414)를 사용한 상기 다원화 값(1208)의 암호화로부터 초래되는 값일 수 있다. 몇몇 실시 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 다원화 값(1208) 및 상기 암호화 키(414)를 사용하여 화이트 박스 암호화를 수행한 결과로 생성될 수 있다.The processing unit 204 may then generate the advanced storage key 1210 through application of the encryption value 414 stored in the encryption application 410 to the multivalued value 1208. [ In some instances, the advanced storage key 1210 may be generated by decrypting the multivalued value 1208 using the encryption key 414. In other examples, the advanced storage key 1210 may be a value resulting from encryption of the multivalued value 1208 using the encryption key 414. [ In some embodiments, the advanced storage key 1210 may be generated as a result of performing the white-box encryption using the multivalued value 1208 and the encryption key 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), 및 다른 계정 데이터를 저장하는데 이상적일 수 있으며, 보안 요소들의 사용 없이 민감한 계정 정보의 보안 저장 기능을 제공할 수 있다.Once the advanced storage key 1210 is created, the processing unit 204 may encrypt the local database 1210 using the advanced storage key 1210. The local database 1210 may comprise, for example, the card database 208, one or more payment profiles 302, a portion of the memory 212, or other suitable data source. In some instances, the local database 1210 may be part of another database in the mobile device 104, such as the card database 208. For example, the card database 208 may include a separate local database 1212 for each instance of the MPA 404 for storing payment payment profiles 302 associated with each instance of the MPA 404, ). ≪ / RTI > The resulting encrypted local database 1214 may then be accessed by any other application program inside or outside the mobile device 104, except for the particular instance of the MPA 404 that includes the instance identifier 408. [ You can safely store inaccessible data. Thus, the encrypted local database 1214 may be ideal for storing payment credentials 304, single use keys 306, and other account data, and may be stored in secure storage of sensitive account information Function can be provided.

몇몇 실시 예들에서는, 상기 저장 키가 또한, 상기 암호화된 국부 데이터베이스(1214) 내의 저장을 위해 상기 모바일 기기(104)에 암호화된 데이터를 제공하는데 상기 트랜잭션 관리 서버(102)에 의해 사용될 수 있다. 예를 들면, 상기 모바일 기기(104)의 전송 유닛(206)은 상기 생성된 랜덤 값(1206)을 상기 트랜잭션 관리 서버(102)에 전송할 수 있다. 몇몇 예들에서는, 상기 인스턴스 식별자(408)가 또한 상기 트랜잭션 관리 서버(102)에 전송될 수도 있고 상기 인스턴스 식별자(408)가 예컨대 상기 MPA(404)의 등록 동안 상기 트랜잭션 관리 서버(102)에 의해 사전에 소유되어 있을 수도 있다. 상기 트랜잭션 관리 서버(102)는 그 후에 상기 어드밴스트 저장 키(1210) 자체를 생성할 수 있고, 상기 어드밴스트 저장 키(1210)를 사용하여 상기 모바일 기기(104)에 프로비저닝될 데이터, 예컨대 지불결제 크리덴셜들(304), 단일 사용 키들(306) 등등을 암호화할 수 있으며, 그리고 나서 상기 암호화된 데이터를 상기 모바일 기기(104)에 전송할 수 있다. 상기 모바일 기기(104)는 그 후에 상기 암호화된 국부 데이터베이스(1214) 내에 상기 사전에 암호화된 데이터를 저장할 수 있다.In some embodiments, the store key may also be used by the transaction management server 102 to provide encrypted data to the mobile device 104 for storage in the encrypted local database 1214. In some embodiments, For example, the transfer unit 206 of the mobile device 104 may send the generated random value 1206 to the transaction management server 102. In some instances, the instance identifier 408 may also be sent to the transaction management server 102 and the instance identifier 408 may be sent to the transaction management server 102 by the transaction management server 102, Lt; / RTI > The transaction management server 102 may then generate the advanced storage key 1210 itself and use the advanced storage key 1210 to store data to be provisioned to the mobile device 104, Credentials 304, single-use keys 306, etc., and may then transmit the encrypted data to the mobile device 104. [ The mobile device 104 may then store the pre-encrypted data in the encrypted local database 1214.

지불결제Payment 트랜잭션에서  In a transaction 지불결제Payment 크리덴셜들을Credentials 생성하기 위한 첫 번째의 대표적인 방법 The first representative method to generate

도 13에는 보안 요소 없이 모바일 기기(104)에서 지불결제 크리덴셜들을 안전하게 사용하기 위한 2개의 애플리케이션 암호의 사용을 포함하는, 지불결제 트랜잭션에서의 지불결제 크리덴셜들의 생성을 위한 방법(1300)이 예시되어 있다.13 illustrates a method 1300 for generating payment credentials in a payment transaction, including the use of two application ciphers to securely use payment credentials in a mobile device 104 without a security element. .

단계 1302에서는, 적어도 단일 사용 키(예컨대, 단일 사용 키(306))는 트랜잭션 계정에 연관된 메모리(예컨대, 지불결제 프로파일(302))에 저장될 수 있다. 몇몇 실시 예들에서는, 상기 메모리(302)가 모바일 통신 기기(예컨대, 상기 모바일 기기(104))의 비-보안 요소 메모리일 수 있다. 단계 1304에서는, 개인 식별 번호(personal identification number; PIN)가 수신 기기(예컨대, 상기 수신 유닛(202) 및/또는 입력 유닛(214))에 의해 수신될 수 있다.At step 1302, at least a single usage key (e.g., single use key 306) may be stored in memory associated with the transaction account (e.g., payment payment profile 302). In some embodiments, the memory 302 may be a non-secure element memory of a mobile communication device (e.g., the mobile device 104). In step 1304, a personal identification number (PIN) may be received by the receiving device (e.g., the receiving unit 202 and / or the input unit 214).

단계 1306에서는, 제1 세션 키(예컨대, 제1 세션 키(308))가 처리 기기(예컨대, 상기 처리 유닛(204))에 의해 식별될 수 있다. 단계 1308에서는, 제2 세션 키(예컨대, 제2 세션 키(310))가 적어도 상기 저장된 단일 사용 키(306) 및 상기 수신된 PIN을 기반으로 하여 상기 처리 기기(204)에 의해 생성될 수 있다.In step 1306, a first session key (e.g., the first session key 308) may be identified by the processing device (e.g., the processing unit 204). At step 1308, a second session key (e.g., a second session key 310) may be generated by the processing device 204 based at least on the stored single use key 306 and the received PIN .

단계 1310에서는, 제1 애플리케이션 암호가 적어도 상기 제1 세션 키(308)를 기반으로 하여 상기 처리 기기(204)에 의해 생성될 수 있다. 단계 1312에서는, 제2 애플리케이션 암호가 적어도 상기 제2 세션 키(310)를 기반으로 하여 상기 처리 기기(204)에 의해 생성될 수 있다.In step 1310, a first application secret may be generated by the processing device 204 based at least on the first session key 308. [ At step 1312, a second application secret may be generated by the processing device 204 based at least on the second session key 310.

단계 1314에서는, 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 지불결제 트랜잭션에서의 사용을 위해 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 전송될 수 있다. 몇몇 실시 예들에서는, 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 판매 시점 정보 관리 기기(예컨대, 상기 판매 시점 정보 관리 시스템(110))에 전송될 수 있다. 한 실시 예에서는, 상기 방법(1300)이 상기 메모리(302) 내에 상기 트랜잭션 계정에 연관된 카드 마스터 키를 저장하는 것을 부가적으로 포함할 수 있으며, 이 경우에 상기 제1 세션 키(308)의 식별은 상기 처리 기기(204)에 의해 적어도 상기 저장된 카드 마스터 키를 기반으로 하여 상기 제1 세션 키(308)를 생성하는 것을 포함한다.At step 1314, at least the first application password and the second application password may be transmitted by a transmitting device (e.g., the transmitting unit 206) for use in a payment transaction. In some embodiments, the first application password and the second application password may be transmitted to a point-of-sale information management device (e.g., the point-of-sale information management system 110). In one embodiment, the method (1300) may additionally include storing a card master key associated with the transaction account in the memory (302), wherein identification of the first session key (308) Includes generating the first session key (308) based on at least the stored card master key by the processing device (204).

몇몇 실시 예들에서는, 상기 방법(1300)이 또한 상기 메모리 내에 애플리케이션 트랜잭션 카운터(예컨대, 상기 애플리케이션 트랜잭션 카운터(312))를 저장하는 것을 포함할 수 있으며, 이 경우에 상기 제1 세션 키(308)의 식별은 상기 처리 기기(204)에 의해 적어도 상기 저장된 애플리케이션 트랜잭션 카운터(312)를 기반으로 하여 상기 제1 세션 키(308)를 생성하는 것을 포함한다. 한 실시 예에서는, 상기 방법(1300)이 상기 처리 기기(204)에 의해 상기 제2 세션 키(310)의 생성 이전에 상기 수신된 PIN을 유효화하는 것을 부가적으로 포함할 수 있다. 부가적인 실시 예에서는, 상기 수신된 PIN이 실패된 경우에 상기 처리 기기(204)가 유효하지 않은 제2 세션 키(310)를 생성하도록 구성될 수 있다.In some embodiments, the method 1300 may also include storing an application transaction counter (e.g., the application transaction counter 312) in the memory, in which case the first session key 308 The identification includes generating the first session key (308) by the processing device (204) based at least on the stored application transaction counter (312). In one embodiment, the method 1300 may additionally include, by the processing device 204, validating the received PIN prior to generating the second session key 310. In an additional embodiment, the processing device 204 may be configured to generate an invalid second session key 310 if the received PIN fails.

지불결제Payment 트랜잭션에서  In a transaction 지불결제Payment 크리덴셜들을Credentials 생성하기 위한 두 번째의 대표적인 방법 A second representative method for generating

도 14에는 보안 요소의 사용 없이 모바일 기기(104)에 의해 생성되는 지불결제 크리덴셜들의 2개의 애플리케이션 암호 유효화의 사용을 포함하는, 지불결제 트랜잭션에서의 지불결제 크리덴셜의 생성을 위한 방법(1400)이 예시되어 있다.14 shows a method 1400 for generating a payment settlement in a payment settlement transaction, including the use of two application password validations of payment settlement credentials generated by the mobile device 104 without the use of a security element. Is illustrated.

단계 1402에서는, 적어도 카드 마스터 키(예컨대, 제1 카드 마스터 키(612)가 트랜잭션 계정에 연관된 메모리(예컨대, 계정 프로파일(602)) 내에 저장될 수 있다. 단계 1404에서는, 제1 세션 키(예컨대, 제1 세션 키(606))가 적어도 상기 저장된 카드 마스터 키(612)를 기반으로 하여 처리 기기(예컨대, 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1406에서는, 제2 세션 키(예컨대, 제2 세션 키(608))가 상기 처리 기기(504)에 의해 생성될 수 있다.At step 1402, at least a card master key (e.g., a first card master key 612) may be stored in a memory (e.g., account profile 602) associated with the transaction account. In step 1404, (E.g., the first session key 606) may be generated by the processing device (e.g., the processing device 504) based at least on the stored card master key 612. In step 1406, (E.g., a second session key 608) may be generated by the processing device 504.

단계 1408에서는, 제1 애플리케이션 암호가 적어도 상기 제1 세션 키(606)를 기반으로 하여 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1410에서는, 제2 애플리케이션 암호가 적어도 상기 제2 세션 키(608)를 기반으로 하여 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1412에서는, 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 지불결제 트랜잭션에서 사용하기 위해 전송 기기(예컨대, 상기 전송 유닛(506))에 의해 전송될 수 있다.In step 1408, a first application secret may be generated by the processing device 504 based at least on the first session key 606. In step 1410, a second application secret may be generated by the processing device 504 based at least on the second session key 608. At step 1412, at least the first application password and the second application password may be transmitted by a transmission device (e.g., the transmission unit 506) for use in a payment transaction.

한 실시 예에서는, 상기 방법(1400)이 상기 메모리(602) 내에 상기 트랜잭션 계정에 연관된 트랜잭션 계정 시퀀스 번호를 저장하는 단계를 부가적으로 포함할 수 있으며, 이 경우에 상기 제1 세션 키는 상기 저장된 트랜잭션 계정 시퀀스 번호를 기반으로 하여 부가적으로 이루어진다. 몇몇 실시 예들에서는, 상기 방법(1400)이 또한, 상기 메모리(602) 내에 상기 트랜잭션 계정에 연관된 제2 카드 마스터 키(예컨대, 상기 제2 카드 마스터 키(614))를 저장하는 단계를 포함할 수 있으며, 이 경우에 상기 제2 세션 키(608)는 적어도 상기 저장된 제2 카드 마스터 키(614)를 기반으로 하여 이루어진다.In one embodiment, the method 1400 may further include storing in the memory 602 a transaction account sequence number associated with the transaction account, wherein the first session key is stored It is additionally done based on the transaction account sequence number. In some embodiments, the method 1400 may also include storing a second card master key (e.g., the second card master key 614) associated with the transaction account in the memory 602 In which case the second session key 608 is based at least on the stored second card master key 614.

한 실시 예에서는, 상기 방법(1400)이 수신 기기(예컨대, 상기 수신 유닛(502))에 의해 제1의 상응하는 애플리케이션 암호 및 제2의 상응하는 애플리케이션 암호를 수신하는 단계; 상기 처리 유닛에 의해, (i) 상기 생성된 제1 애플리케이션 암호를 기반으로 하여 이루어지는 상기 수신된 제1의 상응하는 애플리케이션 암호, 및 (ii) 상기 생성된 제2 애플리케이션 암호를 기반으로 하여 이루어진 상기 수신된 제2의 상응하는 애플리케이션 암호를 유효화하는 단계; 및 상기 전송 기기(506)에 의해, 상기 지불결제 트랜잭션에서 사용하기 위해 상기 유효화의 결과를 전송하는 단계;를 부가적으로 포함할 수 있다. 한 부가적인 실시 예에서는, 상기 제1의 상응하는 애플리케이션 암호 및 상기 제2의 상응하는 애플리케이션 암호가 판매 시점 정보 관리 기기(예컨대, 상기 판매 시점 정보 관리 시스템(110))로부터 수신될 수 있다. 다른 한 부가적인 실시 예에서는, 상기 유효화의 결과가 상기 트랜잭션 계정에 연관된 금융 기관(예컨대, 상기 발행자(106))에 전송될 수 있다.In one embodiment, the method 1400 includes receiving a first corresponding application password and a second corresponding application password by a receiving device (e.g., the receiving unit 502); The processing unit being configured to: (i) receive the first corresponding application password based on the generated first application password, and (ii) generate a second application password based on the received second application password Validating a second corresponding application password; And transmitting, by the sending device (506), the result of the validation for use in the payment transaction. In one additional embodiment, the first corresponding application password and the second corresponding application password may be received from a point-of-sale information management device (e.g., point-of-sale information management system 110). In another additional embodiment, the result of the validation may be sent to a financial institution (e.g., the publisher 106) associated with the transaction account.

데이터 메시지를 처리하는 대표적인 방법Representative methods for handling data messages

도 15에는 보안 요소를 사용하지 않는 모바일 기기(104)에 의한, 원격 통지 서비스를 통해 수신된 원격 통지 메시지와 같은 데이터 메시지의 수신 및 유효화를 포함하는, 원격 통지 서비스를 통해 수신된 원격 통지 메시지와 같은 데이터 메시지를 처리하는 방법(1500)이 예시되어 있다.FIG. 15 shows a remote notification message received via a remote notification service, including reception and validation of a data message, such as a remote notification message received via a remote notification service, by the mobile device 104 that does not use a secure element A method 1500 of processing the same data message is illustrated.

단계 1502에서는, 적어도 암호화 키가 메모리(예컨대, 상기 메모리(212))에 저장될 수 있다. 몇몇 실시 예들에서는, 상기 메모리(212)가 모바일 통신 기기(예컨대, 상기 모바일 기기(104)) 내의 비-보안 요소 메모리일 수 있다. 단계 1504에서는, 데이터 메시지가 수신 기기(예컨대, 상기 수신 유닛(202))에 의해 수신될 수 있으며, 이 경우에 상기 데이터 메시지에는 적어도 암호화된 메시지 및 메시지 인증 코드가 포함될 수 있고, 상기 메시지 인증 코드는 상기 암호화된 메시지의 적어도 일부를 사용하여 생성된다. 몇몇 실시 예들에서는, 상기 데이터 메시지가 원격 통지 서비스를 통해 수신된 원격 통지 서비스 메시지일 수 있다.At step 1502, at least the encryption key may be stored in a memory (e.g., memory 212). In some embodiments, the memory 212 may be a non-secure element memory within a mobile communication device (e.g., the mobile device 104). At step 1504, a data message may be received by a receiving device (e.g., the receiving unit 202), in which case the data message may include at least an encrypted message and a message authentication code, Is generated using at least a portion of the encrypted message. In some embodiments, the data message may be a remote notification service message received via a remote notification service.

단계 1506에서는, 참조 인증 코드가 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지의 적어도 일부를 사용하여 처리 기기(예컨대, 상기 처리 유닛(204))에 의해 생성될 수 있다. 한 실시 예에서는, 상기 메모리(212)가 하나 이상의 인증 코드 생성 규칙들을 부가적으로 포함할 수 있으며, 상기 참조 인증 코드는 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화 메시지의 부분에 대한 상기 저장된 하나 이상의 인증 코드 생성 규칙들의 적용을 기반으로 하여 생성될 수 있다. 단계 1508에서는, 상기 수신된 데이터 메시지가 상기 생성된 참조 인증 코드에 대한 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 인증 코드의 체크를 기반으로 하여 상기 처리 기기(204)에 의해 유효화될 수 있다. 몇몇 실시 예들에서는, 상기 메모리에 참조 카운터가 부가적으로 포함될 수 있으며, 상기 수신된 데이터 메시지에는 메시지 카운터가 부가적으로 포함될 수 있으며, 상기 수신된 데이터 메시지는 상기 저장된 참조 카운터에 대한 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 카운터의 체크를 기반으로 하여 상기 처리 기기(204)에 의해 부가적으로 유효화될 수 있다.At step 1506, a reference authentication code may be generated by the processing device (e.g., the processing unit 204) using at least a portion of the encrypted message contained in the received data message. In one embodiment, the memory 212 may additionally include one or more authentication code generation rules, the reference authentication code may include one or more of the stored one or more authentication codes for a portion of the encrypted message included in the received data message And may be generated based on application of authentication code generation rules. In step 1508, the received data message may be validated by the processing device 204 based on a check of the message authentication code included in the received data message for the generated reference authentication code. In some embodiments, a reference counter may additionally be included in the memory, and the received data message may additionally include a message counter, wherein the received data message includes the received data for the stored reference counter May be additionally enabled by the processing device 204 based on a check of the message counter contained in the message.

단계 1510에서는, 상기 데이터 메시지 내에 포함되어 있는 암호화된 메시지가 복호화된 메시지를 획득하도록 상기 저장된 암호화 키를 사용하여 상기 처리 기기(204)에 의해 복호화될 수 있다. 한 실시 예에서는, 상기 복호화된 메시지에는 지불결제 트랜잭션에서 사용하기 위해 디지털화된 카드 프로파일(예컨대, 지불결제 크리덴셜들(304)) 및 단일 사용 키(예컨대, 상기 단일 사용 키(306)) 중의 적어도 하나가 포함될 수 있다. 몇몇 실시 예들에서는, 상기 방법(1500)이 또한 상기 처리 기기(204)에 의해 하나 이상의 데이터 포매팅 규칙들을 기반으로 하여 상기 복호화된 메시지의 데이터 포맷을 체크하는 단계를 포함할 수 있다.In step 1510, the encrypted message contained in the data message may be decrypted by the processing device 204 using the stored encryption key to obtain a decrypted message. In one embodiment, the decrypted message includes at least one of a digitized card profile (e.g., payment settlement credentials 304) and a single use key (e.g., single use key 306) for use in a payment transaction One may be included. In some embodiments, the method 1500 may also include, by the processing device 204, checking the data format of the decrypted message based on one or more data formatting rules.

한 실시 예에서는, 상기 방법(1500)이 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 상기 수신된 데이터 메시지에 응답하여 수신 통지를 전송하는 단계를 부가적으로 포함할 수 있다. 한 부가적인 실시 예에서는, 상기 방법(1500)이 상기 처리 기기(204)에 의해 상기 복호화된 메시지를 기반으로 하여 하나 이상의 액션들을 수행하는 단계; 상기 처리 기기(204)에 의해 상기 수행된 하나 이상의 액션들의 결과로 또는 상기 수행된 하나 이상의 액션들을 기반으로 하여 복귀 메시지를 생성하는 단계; 상기 처리 기기(204)에 의해 상기 저장된 암호화 키를 사용하여 상기 생성된 복귀 메시지를 암호화하여 암호화된 복귀 메시지를 획득하는 단계; 및 상기 암호화된 복귀 메시지의 적어도 일부를 사용하여 복귀 인증 코드를 생성하는 단계를 더 부가적으로 포함할 수 있으며, 이 경우에 상기 전송된 수신 통지에는 상기 암호화된 복귀 메시지, 및 상기 복귀 인증 코드가 포함된다. 더 부가적인 실시 예에서는, 상기 메모리(212)에 복귀 카운터가 부가적으로 포함될 수 있으며, 상기 전송된 수신 통지에는 상기 복구 카운터가 부가적으로 포함될 수 있다.In one embodiment, the method 1500 may additionally include transmitting a receiving notification in response to the received data message by a transmitting device (e.g., the transmitting unit 206). In one additional embodiment, the method (1500) comprises performing one or more actions on the basis of the decrypted message by the processing device (204); Generating a return message based on the one or more actions performed as a result of the one or more actions performed by the processing device (204); Encrypting the generated return message using the stored encryption key by the processing device (204) to obtain an encrypted return message; And generating a return authorization code using at least a portion of the encrypted return message, wherein the transmitted received notification includes the encrypted return message and the return authorization code, . In a further embodiment, a return counter may additionally be included in the memory 212, and the transmitted receive notification may additionally include the recovery counter.

몇몇 실시 예들에서는, 상기 방법(1500)이 또한 상기 처리 기기(204)에 의해 패딩 키를 사용하여 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지를 패딩하는 단계를 포함하며, 이 경우에 상기 참조 인증 코드를 생성하는데 사용되는 암호화된 메시지의 일부는 상기 패딩된 암호화된 메시지이다. 부가적인 실시 예에서는, 상기 패딩 키가 상기 암호화 키일 수 있다. 다른 한 부가적인 실시 예에서는, 상기 메모리(212)에는 인증 코드 패딩 알고리즘이 부가적으로 포함될 수 있으며, 상기 패딩 키를 사용하여 상기 암호화된 메시지를 패딩하는 것은 상기 인증 코드 패딩 알고리즘에 대한 상기 패딩 키의 적용을 기반으로 하여 상기 암호화된 메시지를 패딩하는 것을 포함할 수 있다.In some embodiments, the method 1500 further comprises padding the encrypted message contained in the received data message using the padding key by the processing device 204, A portion of the encrypted message used to generate the authentication code is the padded encrypted message. In an additional embodiment, the padding key may be the encryption key. In another alternative embodiment, the memory 212 may additionally include an authentication code padding algorithm, and padding the encrypted message using the padding key may include adding the padding key to the authentication code padding algorithm, And padding the encrypted message based on the application of the encrypted message.

어드밴스트 저장 키를 구축하기 위한 대표적인 방법Typical way to build advanced storage keys

도 16에는 보안 요소를 사용하지 않는 모바일 기기에서의 국부 데이터의 보안 암호화 및 저장을 위한 어드밴스트 저장 키의 구축 방법(600)이 예시되어 있다.FIG. 16 illustrates a method 600 for establishing an advanced storage key for secure encryption and storage of local data in a mobile device that does not use a secure element.

단계 1602에서는, 적어도 모바일 통신 기기(예컨대, 상기 모바일 기기(104))에 연관된 기기 정보(예컨대, 기기 정보(402)), 제1 애플리케이션 프로그램(예컨대, 상기 모바일 지불결제 애플리케이션(404))에 연관된 프로그램 코드(예컨대, 프로그램 코드(406)), 및 제2 애플리케이션 프로그램(예컨대, 상기 암호화 애플리케이션(410))에 연관된 프로그램 코드(예컨대, 프로그램 코드(412))가 상기 모바일 통신 기기(104)의 메모리(예컨대, 상기 메모리(212) 내에 저장될 수 있으며, 이 경우에 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)에는 적어도 인스턴스 식별자(예컨대, 인스턴스 식별자(408))가 포함되고, 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412)에는 적어도 제1 키(예컨대, 상기 암호화 키(414))가 포함된다.At step 1602, at least the device information associated with the mobile communication device (e.g., the mobile device 104) (e.g., device information 402), the first application program (e.g., the mobile payment application 404) (E.g., program code 412) associated with the second application program (e.g., the encryption application 410) may be stored in the memory of the mobile communication device 104 (E.g., an instance identifier 408) is included in the program code 406 associated with the first application program 404 in this case, and may be stored in the memory 212, The program code 412 associated with the second application program 410 includes at least a first key (e.g., the encryption key 414).

몇몇 실시 예들에서는, 상기 기기 정보(402)에 상기 모바일 통신 기기(104)에 연관된 하나 이상의 고유 식별자가 포함될 수 있다. 한 실시 예에서는, 상기 인스턴스 식별자(408)가 상기 제1 애플리케이션 프로그램(404)의 인스턴스에 고유한 것일 수 있다. 몇몇 실시 예들에서는, 상기 제2 애플리케이션 프로그램(410)이 상기 제1 키를 사용하여 화이트 박스 암호화를 수행하도록 구성될 수 있다. 한 실시 예에서는, 상기 제1 키가 동적 키일 수 있다. 몇몇 실시 예들에서는, 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412)가 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)에 포함될 수 있다. 부가적인 실시 예들에서는, 상기 제2 애플리케이션 프로그램(410)이 상기 제1 애플리케이션 프로그램(404)의 실행 가능한 기능일 수 있다.In some embodiments, the device information 402 may include one or more unique identifiers associated with the mobile communication device 104. In one embodiment, the instance identifier 408 may be unique to an instance of the first application program 404. In some embodiments, the second application program 410 may be configured to perform white-box encryption using the first key. In one embodiment, the first key may be a dynamic key. In some embodiments, program code 412 associated with the second application program 410 may be included in the program code 406 associated with the first application program 404. In additional embodiments, the second application program 410 may be an executable function of the first application program 404.

단계 1604에서는, 상기 모바일 통신 기기(104)에 연관된 기기 핑거프린트(예컨대, 모바일 기기 핑거프린트(1204))가 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)의 실행을 통해 상기 저장된 기기 정보(402)를 기반으로 하여 처리 기기(예컨대, 상기 처리 유닛(204))에 의해 생성될 수 있다. 단계 1606에서는, 랜덤 값(예컨대, 랜덤 값(1206))이 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 코드(406)의 실행을 통해 상기 처리 기기(204)에 의해 생성될 수 있다. 몇몇 실시 예들에서는, 상기 랜덤 값(1206)이 난수(random number) 또는 의사-난수(pseudo-random number)일 수 있다.In step 1604, a device fingerprint (e.g., a mobile device fingerprint 1204) associated with the mobile communication device 104 is transmitted to the stored device (e. G., Via the execution of program code 406 associated with the first application program 404) May be generated by the processing device (e.g., the processing unit 204) based on the information 402. At step 1606, a random value (e.g., a random value 1206) may be generated by the processing device 204 through execution of the program code 406 associated with the first application program 404. In some embodiments, the random value 1206 may be a random number or a pseudo-random number.

단계 1608에서는, 다원화 값(예컨대, 다원화 값(1208))이 적어도 상기 생성된 기기 핑거프린트(1204), 상기 생성된 랜덤 값(1206), 및 상기 제1 애플리케이션(404)에 연관된 프로그램 코드(406) 내에 포함되어 있는 인스턴스 식별자(408)를 기반으로 하여 상기 처리 기기(204)에 의해 구축될 수 있다. 단계 1610에서는, 상기 구축된 다원화 값(1208)이 저장 키(예컨대, 어드밴스트 저장 키(1210))를 획득하도록 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412)의 실행을 통해 상기 제2 애플리케이션 프로그램(410)에 연관된 프로그램 코드(412) 내에 저장된 제1 키를 사용하여 상기 처리 기기(204)에 의해 복호화될 수 있다.In step 1608, a multi-valued value (e.g., a multi-valued value 1208) is stored in the generated device fingerprint 1204, the generated random value 1206, and the program code 406 associated with the first application 404 The instance identifier 408 may be constructed by the processing device 204 based on the instance identifier 408 contained in the instance identifier 408. [ In step 1610, the constructed multivalued value 1208 is transferred to the second application program 410 via execution of the program code 412 associated with the second application program 410 to obtain a storage key (e.g., advanced save key 1210) 2 may be decrypted by the processing device 204 using the first key stored in the program code 412 associated with the second application program 410. [

몇몇 실시 예들에서는, 상기 방법(1600)이 상기 모바일 통신 기기(104)의 국부 데이터베이스(예컨대, 상기 국부 데이터베이스(1212)) 내에 보호 데이터를 저장하는 단계; 및 상기 처리 기기(204)에 의해 상기 저장 키(1210)를 사용하여 상기 국부 데이터베이스(1212) 내에 저장되어 있는 보호 데이터를 암호화하는 단계를 부가적으로 포함할 수 있다. 한 실시 예에서는, 상기 방법이 또한 상기 메모리(212) 내에 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 데이터를 저장하는 단계; 및 상기 제1 애플리케이션 프로그램(404)에 연관된 프로그램 데이터 내에 상기 생성된 랜덤 데이터(1206)를 저장하는 단계를 포함할 수 있다.In some embodiments, the method 1600 includes storing protected data in a local database (e.g., the local database 1212) of the mobile communication device 104; And encrypting the protection data stored in the local database 1212 using the storage key (1210) by the processing device (204). In one embodiment, the method also includes storing program data associated with the first application program 404 in the memory 212; And storing the generated random data (1206) in program data associated with the first application program (404).

한 실시 예에서는, 상기 방법(1600)이 또한, 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 적어도 상기 랜덤 값(1206)을 전송하는 단계; 수신 기기(예컨대, 상기 수신 기기(202))에 의해 하나 이상의 암호화된 매개변수들을 수신하는 단계로서, 상기 하나 이상의 암호화된 매개변수들은 상기 저장 키(1210)를 사용하여 각각 암호화되는, 단계; 및 상기 모바일 통신 기기(104)의 국부 데이터베이스(1212) 내에 상기 수신된 하나 이상의 암호화된 매개변수들을 저장하는 단계를 포함할 수 있다. 부가적인 실시 예에서는, 상기 저장 키(1210)가 제3자(예컨대, 상기 트랜잭션 관리 서버(102))에 전송될 수 있으며 상기 하나 이상의 암호화된 매개변수들이 상기 제3자(102)로부터 수신될 수 있다. 몇몇 부가적인 실시 예들에서는, 상기 인스턴스 식별자(408)가 또한 상기 전송 기기(206)에 의해 전송될 수 있다.In one embodiment, the method 1600 further comprises transmitting at least the random value 1206 by a transmitting device (e.g., the transmitting unit 206); Receiving one or more encrypted parameters by a receiving device (e.g., the receiving device 202), wherein the one or more encrypted parameters are each encrypted using the storage key (1210); And storing the received one or more encrypted parameters in a local database (1212) of the mobile communication device (104). In an additional embodiment, the store key 1210 may be sent to a third party (e.g., the transaction management server 102) and the one or more encrypted parameters may be received from the third party 102 . In some additional embodiments, the instance identifier 408 may also be transmitted by the transmitting device 206.

컴퓨터 시스템 아키텍처Computer System Architecture

도 17에는 본 개시내용의 실시 예들, 또는 그의 일부들이 컴퓨터-판독가능 코드로서 구현될 수 있게 하는 컴퓨터 시스템(1700)이 예시되어 있다. 예를 들면, 도 1의 트랜잭션 관리 서버(102) 및 모바일 기기(104)는 하드웨어, 소프트웨어, 펌웨어, 명령어들이 저장되어 있는 비-일시적인 컴퓨터 판독가능 매체, 또는 이들의 조합을 사용하여 상기 컴퓨터 시스템(1700)에서 구현될 수 있으며, 하나 이상의 컴퓨터 시스템들 또는 다른 처리 시스템들에서 구현될 수 있다. 하드웨어, 소프트웨어, 또는 이들의 임의의 조합은 도 7, 도 8, 도 9a, 도 9b, 도 10a, 도 10b, 도 11, 및 도 13 - 도 16의 방법들을 구현하는데 사용되는 모듈들 및 구성요소들을 구체화할 수 있다.FIG. 17 illustrates a computer system 1700 that enables embodiments of the present disclosure, or portions thereof, to be implemented as computer-readable code. For example, the transaction management server 102 and the mobile device 104 of FIG. 1 may be implemented in a computer system (e.g., a computer system) using hardware, software, firmware, non-transient computer readable media having stored thereon instructions, 1700 and may be implemented in one or more computer systems or other processing systems. The hardware, software, or any combination thereof may be implemented using modules and components used to implement the methods of Figures 7, 8, 9A, 9B, 10A, 10B, 11, .

프로그램 가능한 로직이 사용되는 경우에, 그러한 로직은 시판되고 있는 처리 플랫폼 또는 전용 기기상에서 실행할 수 있다. 당 업계에서 통상의 기술을 가진 자라면 개시된 주제의 실시 예들이 멀티-코어 멀티프로세서 시스템들, 미니컴퓨터들, 메인프레임 컴퓨터들, 분산 기능들을 가지고 링크 또는 클러스터링된 컴퓨터들과 아울러, 사실상 임의의 기기 내에 임베드될 수 있는 보급형 또는 소형 컴퓨터들을 포함하는 여러 컴퓨터 시스템 구성들을 가지고 실시될 수 있음을 알 수 있을 것이다. 예를 들어, 적어도 하나의 프로세서 기기 및 메모리가 위에서 언급한 실시 예들을 구현하는데 사용될 수 있다.Where programmable logic is used, such logic may be executed on a commercially available processing platform or dedicated device. Those of ordinary skill in the art will appreciate that embodiments of the disclosed subject matter may be practiced in conjunction with multi-core multiprocessor systems, minicomputers, mainframe computers, computers linked or clustered with distributed functions, Lt; RTI ID = 0.0 > and / or < / RTI > embedded computers that may be embedded within a computer system. For example, at least one processor device and memory may be used to implement the embodiments described above.

본원 명세서에서 검토한 바와 같은 프로세서 기기는 단일의 프로세서, 복수의 프로세서들, 또는 이들의 조합들일 수 있다. 프로세서 기기들이 하나 이상의 프로세서 "코어들"을 지닐 수 있다. 본원 명세서에서 검토한 바와 같은 용어들, 즉 "컴퓨터 프로그램 매체", "비-일시적인 컴퓨터 판독가능 매체", 및 "컴퓨터 이용가능 매체"는 일반적으로 제거 가능한 저장 유닛(1718), 제거 가능한 저장 유닛(1722), 및 하드 디스크 드라이브(1712)에 설치된 하드 디스크와 같은 유형 매체를 언급하는데 사용된다.A processor device as discussed herein may be a single processor, a plurality of processors, or combinations thereof. Processor devices may have one or more processor "cores ". The terms "computer program medium", "non-temporary computer readable medium", and "computer usable medium" as reviewed herein generally refer to a removable storage unit 1718, a removable storage unit 1722), and a hard disk installed in the hard disk drive 1712. [0154]

본 개시내용의 여러 실시 예가 이러한 대표적인 컴퓨터 시스템(1700)에 대해 기재되어 있다. 이러한 기재를 숙지하면, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍처들을 사용하여 본 개시내용을 어떻게 구현해야 하는가가 관련 기술에 숙련된 자에게 자명하게 될 것이다. 비록 동작들이 순차적인 프로세스로서 기재되어 있을 수 있지만, 상기 동작들 중 몇몇 동작들은 사실상 병렬로, 동시에, 그리고/또는 분산 환경에서, 그리고 단일 또는 다중-프로세서 머신에 의한 액세스를 위해 국부적으로나 원격에 저장된 된 프로그램 코드를 가지고 수행될 수 있다. 그 외에도, 몇몇 실시 예들에서는, 동작들의 순서가 개시된 주제의 정신으로부터 벗어나지 않고서 재배열될 수 있다.Various embodiments of the present disclosure are described for such representative computer system 1700. Knowing this description will become apparent to those skilled in the art how to implement the present disclosure using other computer systems and / or computer architectures. Although the operations may be described as a sequential process, some of the operations are stored locally or remotely for access by virtually parallel, concurrent, and / or distributed environments, and by single or multi-processor machines RTI ID = 0.0 > program code. ≪ / RTI > In addition, in some embodiments, the order of operations may be rearranged without departing from the spirit of the disclosed subject matter.

프로세서 기기(1704)는 전용 또는 범용 프로세서 기기일 수 있다. 상기 프로세서 기기(1704)는 버스, 메시지 대기행렬, 네트워크, 다중-코어 메시지 전달 스킴 등등과 같은 통신 기반구조(1706)에 접속될 수 있다. 상기 네트워크는 본원 명세서에 개시되어 있는 바와 같은 기능들을 수행하기 위해 적합한 임의의 네트워크일 수 있으며 근거리 통신 네트워크(local area network; LAN), 광역 통신 네트워크(wide area network; WAN), 무선 통신 네트워크(예컨대, WiFi), 모바일 통신 네트워크, 위성 통신 네트워크, 인터넷, 광섬유, 동축 케이블, 적외선, 무선 주파수(radio frequency; RF), 또는 이들의 임의 조합을 포함할 수 있다. 다른 적합한 네트워크 타입들 및 구성들은 관련 기술에 숙련된 자들에게 자명하게 될 것이다. 상기 컴퓨터 시스템(1700)은 또한 주 메모리(1708)(예컨대, 랜덤 액세스 메모리, 판독 전용 메모리 등등)를 포함할 수 있으며 보조 메모리(1710)를 또한 포함할 수 있다. 상기 보조 메모리(1710)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 메모리 등등과 같은 제거 가능한 저장 드라이브(1714) 및 하드 디스크 드라이브(1712)를 포함할 수 있다.The processor device 1704 may be a dedicated or general purpose processor device. The processor device 1704 may be connected to a communication infrastructure 1706, such as a bus, a message queue, a network, a multi-core message delivery scheme, and so on. The network may be any network suitable for performing the functions as disclosed herein and may be a local area network (LAN), a wide area network (WAN), a wireless communication network , WiFi), a mobile communication network, a satellite communication network, the Internet, an optical fiber, a coaxial cable, infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be apparent to those skilled in the relevant arts. The computer system 1700 may also include a main memory 1708 (e.g., random access memory, read only memory, etc.) and may also include an auxiliary memory 1710. The secondary memory 1710 may include a removable storage drive 1714, such as a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, and the like, and a hard disk drive 1712.

상기 제거 가능한 저장 드라이브(1714)는 공지된 방식으로 상기 제거 가능한 저장 유닛(1718)으로부터 판독되고 그리고/또는 상기 제거 가능한 저장 유닛(1718)에 기록할 수 있다. 상기 제거 가능한 저장 유닛(1718)은 상기 제거 가능한 저장 드라이브(1714)에 의해 판독 및 기록될 수 있는 제거 가능한 저장 매체를 포함할 수 있다. 예를 들면, 상기 제거 가능한 저장 드라이브(1714)가 플로피 디스크 드라이브 또는 유니버설 시리얼 버스(universal serial bus) 포트인 경우에, 상기 제거 가능한 저장 유닛(1718)은 각각 플로피 디스크 또는 포터블 플래시 드라이브일 수 있다. 한 실시 예에서는, 상기 제거 가능한 저장 유닛(1718)이 비-일시적인 컴퓨터 판독가능 기록 매체일 수 있다.The removable storage drive 1714 can be read from the removable storage unit 1718 and / or written to the removable storage unit 1718 in a known manner. The removable storage unit 1718 may include a removable storage medium that can be read and written by the removable storage drive 1714. [ For example, when the removable storage drive 1714 is a floppy disk drive or a universal serial bus port, the removable storage unit 1718 may be a floppy disk or a portable flash drive, respectively. In one embodiment, the removable storage unit 1718 may be a non-temporary computer-readable recording medium.

몇몇 실시 예들에서는, 상기 보조 메모리(1710)가 컴퓨터 프로그램들 또는 다른 명령어들이 상기 컴퓨터 시스템(1700) 내로 로드되는 것을 허용하는 변형 수단, 예를 들면 상기 제거 가능한 저장 유닛(1722) 및 인터페이스(1720)를 포함할 수 있다. 그러한 수단의 예들에는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 (예컨대, 비디오 게임 시스템들에서 찾아 볼 수 있는 바와 같은) 프로그램 카트리지 및 카트리지 인터페이스, 제거 가능한 메모리 칩(예컨대, EEPROM, PROM 등등) 및 관련 소켓, 및 다른 제거 가능한 저장 유닛들(1722) 및 인터페이스들(1720)이 있을 수 있다.Such as the removable storage unit 1722 and the interface 1720, which allow computer programs or other instructions to be loaded into the computer system 1700. In some embodiments, . ≪ / RTI > Examples of such means include, but are not limited to, program cartridges and cartridge interfaces (such as those found in video game systems), removable memory chips (e.g., EEPROM, PROM, etc.) Sockets, and other removable storage units 1722 and interfaces 1720.

상기 컴퓨터 시스템(1700)에(예컨대, 상기 주 메모리(1708) 및/또는 상기 보조 메모리(1710)에) 저장된 데이터는 광학 저장소(예컨대, 컴팩트 디스크, 디지털 다용도 디스크, 블루-레이 디스크 등등) 또는 자기 테이프 저장소(예컨대, 하드 디스크 드라이브)와 같은 임의 타입의 적합한 컴퓨터 판독가능 매체상에 저장될 수 있다. 상기 데이터는 관계형 데이터베이스, 구조화 질의어(structured query language; SQL) 데이터베이스, 분산 데이터베이스, 객체 데이터베이스 등등과 같은 임의 타입의 적합한 데이터베이스 컨피규레이션으로 구성될 수 있다. 적합한 컨피규레이션들 및 저장 타입들은 관련 기술에 숙련된 자들에게 자명하게 될 것이다.Data stored in the computer system 1700 (e.g., in the main memory 1708 and / or the auxiliary memory 1710) may be stored in an optical storage (e.g., a compact disk, a digital versatile disk, a Blu-ray disk, And may be stored on any suitable type of computer readable medium, such as a tape storage (e.g., hard disk drive). The data may comprise any suitable type of database configuration, such as a relational database, a structured query language (SQL) database, a distributed database, an object database, and the like. Suitable configurations and storage types will be apparent to those skilled in the relevant arts.

상기 컴퓨터 시스템(1700)은 또한 통신 인터페이스(1724)를 포함할 수 있다. 상기 통신 인터페이스(1724)는 소프트웨어 및 데이터가 상기 컴퓨터 시스템(1700) 및 외부 기기들 사이에 전달되는 것을 허용하도록 구성될 수 있다. 대표적인 통신 인터페이스들(1724)은 모뎀, 네트워크 인터페이스(예컨대, 이더넷 카드), 통신 포트, PCMCIA 슬롯 및 카드 등등을 포함할 수 있다. 상기 통신 인터페이스(1724)를 통해 전달되는 소프트웨어 및 데이터는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 전자, 전기자기, 광학, 또는 다른 신호들일 수 있는 신호들의 형태로 이루어질 수 있다. 상기 신호들은 상기 신호들을 반송(搬送)하도록 구성될 수 있으며 와이어, 케이블, 광섬유, 전화선, 셀룰러폰 링크, 무선 주파수 링크 등등을 사용하여 구현될 수 있는 통신 경로(1726)를 통해 이동될 수 있다.The computer system 1700 may also include a communication interface 1724. The communication interface 1724 may be configured to allow software and data to be communicated between the computer system 1700 and external devices. Exemplary communication interfaces 1724 may include a modem, a network interface (e.g., an Ethernet card), a communication port, a PCMCIA slot and a card, and the like. The software and data communicated through the communication interface 1724 may be in the form of signals that may be electronic, electro-magnetic, optical, or other signals, as will be apparent to those skilled in the relevant arts. The signals may be configured to carry the signals and may be moved through a communication path 1726 that may be implemented using wires, cables, optical fibers, telephone lines, cellular phone links, radio frequency links, and the like.

상기 컴퓨터 시스템(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)를 통해 전송되는 데이터를 디스플레이하기 위한 임의의 적합한 타입의 디스플레일 수 있다.The computer system 1700 may additionally include a display interface 1702. The display interface 1702 may be configured to allow data to be communicated between the computer system 1700 and the external display 1730. Representative display interfaces 1702 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics array (VGA), and the like. The display 1730 may be a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light-emitting diode (LED) display, a capacitive touch display, a thin- display of any suitable type for displaying data transmitted via the display interface 1702 of the computer system 1700, including a transistor (TFT) display and the like.

컴퓨터 프로그램 매체 및 컴퓨터 사용가능 매체는, 메모리 반도체들(예컨대, DRAM들 등등)일 수 있는 주 메모리(1708) 및 보조 메모리(1710)와 같은 메모리들을 언급할 수 있다. 이러한 컴퓨터 프로그램 제품들은 상기 컴퓨터 시스템(1700)에 소프트웨어를 제공하는 수단일 수 있다. 컴퓨터 프로그램들(예컨대, 컴퓨터 제어 로직)은 상기 주 메모리(1708) 및/또는 상기 보조 메모리(1710)에 저장될 수 있다. 컴퓨터 프로그램들은 또한 상기 통신 인터페이스(1724)를 통해 수신될 수 있다. 그러한 컴퓨터 프로그램들은 실행시 컴퓨터 시스템(1700)으로 하여금 본원 명세서에서 검토한 바와 같은 본 발명의 방법들을 구현할 수 있게 한다. 특히, 상기 컴퓨터 프로그램들은 실행시 프로세서 기기(1704)로 하여금 본원 명세서에서 검토한 바와 같은 도 7, 도 8, 도 9a, 도 9b, 도 10a, 도 10b, 도 11, 및 도 13 - 도 16에 예시되어 있는 방법들을 구현할 수 있게 한다. 따라서, 그러한 컴퓨터 프로그램들은 상기 컴퓨터 시스템(1700)의 제어기들을 나타낼 수 있다. 본 개시내용이 소프트웨어를 사용하여 구현되는 경우에, 상기 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있으며 상기 제거 가능한 저장 드라이브(1714), 인터페이스(1720), 및 하드 디스크 드라이브(1712), 또는 통신 인터페이스(1724)를 사용하여 상기 컴퓨터 시스템(1700) 내에 로드될 수 있다.Computer program media and computer usable media may refer to memories such as main memory 1708 and auxiliary memory 1710, which may be memory semiconductors (e.g., DRAMs, etc.). These computer program products may be means for providing software to the computer system 1700. Computer programs (e.g., computer control logic) may be stored in the main memory 1708 and / or the auxiliary memory 1710. Computer programs may also be received via the communication interface 1724. [ Such computer programs enable computer system 1700 to implement methods of the present invention as discussed herein. In particular, the computer programs may be stored on a computer-readable medium such as, but not limited to, a processor device 1704, as shown in Figures 7, 8, 9A, 9B, 10A, 10B, 11, and 13-16 Thereby enabling the illustrated methods to be implemented. Accordingly, such computer programs may represent the controllers of the computer system 1700. If the present disclosure is implemented using software, the software may be stored in a computer program product and stored in the removable storage drive 1714, interface 1720, and hard disk drive 1712, or communication interface 1724 may be used to load the computer system 1700.

본 개시내용과 일치하는 기법들은 다른 특징들 중에서, 어드밴스트 저장 키를 사용한 데이터의 보안 저장 및 원격 통지 서비스 메시지들의 전송 및 유효화를 포함하는, 보안 요소를 사용하지 않는 모바일 기기를 사용한 지불결제 트랜잭션의 처리 시스템들 및 방법들을 제공한다. 개시된 시스템 및 방법의 여러 대표적인 실시 예가 위에 기재되어 있지만, 관련 기술에 숙련된 자들이라면 개시된 시스템 및 방법의 여러 전형적인 실시 예가 제한하려고 한 것이 아니라 단지 예시하기 위해서만 제시된 것임을 이해할 것이다. 개시된 시스템 및 방법의 여러 전형적인 실시 예는 총 망라된 것이 아니고 상기 개시내용을 개시된 정확한 형태로 제한하는 것이 아니다. 수정들 및 변형들이 위의 교시들에 비추어 가능할 수도 있고 폭 또는 범위로부터 벗어나지 않고 본 개시내용의 실시로부터 획득될 수도 있다.Techniques consistent with this disclosure may include, among other features, secure storage of data using advanced storage keys and transmission and validation of remote notification service messages, of payment transactions using mobile devices that do not use secure elements Processing systems and methods. Although various representative embodiments of the disclosed systems and methods are described above, those skilled in the relevant arts will appreciate that the various exemplary embodiments of the disclosed systems and methods are provided for illustrative purposes only, and not for purposes of limitation. The various exemplary embodiments of the disclosed systems and methods are not exhaustive and are not intended to limit the disclosure to the precise forms disclosed. Modifications and variations may be possible in light of the above teachings and may be acquired from practice of the present disclosure without departing from the breadth or scope.

Claims (9)

기기에 있어서,
저장 키를 사용하여 암호화된 세션 키를 저장하는 데이터베이스;
제1 키를 사용하여 제2 키를 복호화하여 상기 저장 키를 획득하는 수단;
상기 획득된 저장 키를 사용하여 상기 데이터베이스에 저장된 상기 암호화된 세션 키를 복호화하는 수단; 및
상기 복호화된 세션 키를 사용하여 트랜잭션을 승인해야 할 지 여부를 결정하기 위한 애플리케이션 암호를 생성하는 수단;
을 포함하는, 기기.
In the device,
A database for storing an encrypted session key using a storage key;
Means for decrypting the second key using the first key to obtain the storage key;
Means for decrypting the encrypted session key stored in the database using the obtained storage key; And
Means for generating an application secret for determining whether a transaction should be authorized using the decrypted session key;
≪ / RTI >
제1항에 있어서,
상기 제2 키는 랜덤 값을 기반으로 하여 생성되는, 기기.
The method according to claim 1,
Wherein the second key is generated based on a random value.
제1항 또는 제2항에 있어서,
상기 기기는,
일단 상기 복호화된 세션 키가 상기 애플리케이션 암호를 생성하는 수단에 의해 사용되면 상기 복호화된 세션 키를 폐기하는 수단;
을 더 포함하는, 기기.
3. The method according to claim 1 or 2,
The apparatus comprises:
Means for discarding the decrypted session key once the decrypted session key is used by the means for generating the application password;
Lt; / RTI >
제1항 내지 제3항 중 어느 한 항에 있어서,
제3 키를 사용하여 상기 복호화된 세션 키를 암호화하여 암호화된 메시지를 생성하는 수단;
상기 생성된 암호화된 메시지와 관련이 있는 코드를 생성하는 수단; 및
상기 생성된 암호화된 메시지 및 상기 생성된 코드를 포함하는 조합된 메시지를 생성하는 수단;
을 더 포함하는, 기기.
4. The method according to any one of claims 1 to 3,
Means for encrypting the decrypted session key using a third key to generate an encrypted message;
Means for generating a code associated with the generated encrypted message; And
Means for generating a combined message comprising the generated encrypted message and the generated code;
Lt; / RTI >
제4항에 있어서,
상기 제3 키는 상기 제1 키인, 기기.
5. The method of claim 4,
And the third key is the first key.
제4항 또는 제5항에 있어서,
상기 코드는 패딩(padding)을 사용하여 생성되는, 기기.
The method according to claim 4 or 5,
Wherein the code is generated using padding.
제4항 또는 제5항에 있어서,
상기 코드는 제4 키인, 기기.
The method according to claim 4 or 5,
Wherein the code is a fourth key.
저장 키를 사용하여 암호화된 세션 키를 저장하는 데이터베이스를 포함하는 기기를 제어하는 방법에 있어서,
상기 방법은,
제1 키를 사용하여 제2 키를 복호화하여 상기 저장 키를 획득하는 단계;
상기 획득된 저장 키를 사용하여 상기 데이터베이스에 저장된 상기 암호화된 세션 키를 복호화하는 단계; 및
상기 복호화된 세션 키를 사용하여 트랜잭션을 승인해야 할 지 여부를 결정하기 위한 애플리케이션 암호를 생성하는 단계;
를 포함하는, 기기의 제어 방법.
CLAIMS 1. A method of controlling a device including a database storing an encrypted session key using a storage key,
The method comprises:
Decrypting the second key using the first key to obtain the storage key;
Decrypting the encrypted session key stored in the database using the obtained storage key; And
Generating an application secret for determining whether to use the decrypted session key to authorize a transaction;
And a control method of the apparatus.
저장 키를 사용하여 암호화된 세션 키를 저장하는 데이터베이스를 포함하는 기기로 하여금,
제1 키를 사용하여 제2 키를 복호화하여 상기 저장 키를 획득하는 기능;
상기 획득된 저장 키를 사용하여 상기 데이터베이스에 저장된 상기 암호화된 세션 키를 복호화하는 기능; 및
상기 복호화된 세션 키를 사용하여 트랜잭션을 승인해야 할 지 여부를 결정하기 위한 애플리케이션 암호를 생성하는 기능;
을 구현하게 하는, 컴퓨터 프로그램.
And a database for storing the encrypted session key using the storage key,
Decrypting the second key using the first key to obtain the storage key;
Decrypting the encrypted session key stored in the database using the obtained storage key; And
Generating an application secret for determining whether a transaction should be authorized using the decrypted session key;
Gt; a computer program. ≪ / RTI >
KR1020187027712A 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements KR102150722B1 (en)

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 Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167028484A Division KR101903709B1 (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
KR1020207004059A Division KR102151579B1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements

Publications (2)

Publication Number Publication Date
KR20180108907A true KR20180108907A (en) 2018-10-04
KR102150722B1 KR102150722B1 (en) 2020-09-02

Family

ID=54324415

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020167028484A KR101903709B1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements
KR1020187027712A KR102150722B1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements
KR1020207004059A KR102151579B1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167028484A KR101903709B1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207004059A KR102151579B1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements

Country Status (14)

Country Link
EP (1) EP3132406A4 (en)
JP (3) JP6224254B2 (en)
KR (3) KR101903709B1 (en)
CN (2) CN106104605B (en)
AU (3) AU2014391256B2 (en)
CA (1) CA2933336C (en)
IL (1) IL246109B (en)
MX (1) MX356939B (en)
NZ (1) NZ721223A (en)
RU (2) RU2653290C1 (en)
SG (2) SG10201801008SA (en)
UA (1) UA117951C2 (en)
WO (1) WO2015160385A1 (en)
ZA (1) ZA201603938B (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
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 (en) * 2016-03-18 2017-09-28 株式会社インテック Program, method and system for issuing public key certificate
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 (en) * 2017-05-04 2023-05-09 腾讯科技(深圳)有限公司 Equipment fingerprint generation method and device and computing equipment
CN107908948B (en) * 2017-11-01 2019-11-19 中国移动通信集团江苏有限公司 A kind of Android APP device-fingerprint generation method applied to security risk control
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 (en) * 2018-08-07 2018-12-21 佛山市苔藓云链科技有限公司 It is a kind of to verify the true method of internet of things equipment using near-field communication
US11258604B2 (en) * 2018-10-19 2022-02-22 Oracle International Corporation Rewiring cryptographic key management system service instances
US20200280550A1 (en) * 2019-02-28 2020-09-03 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
JP7127585B2 (en) * 2019-03-12 2022-08-30 オムロン株式会社 Safety system and maintenance method
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 (en) * 2022-10-26 2023-03-24 杭州海康威视数字技术股份有限公司 AI data sharing method, system and device based on white box key

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080050134A (en) * 2006-12-01 2008-06-05 한국전자통신연구원 Server, client and method for integrated user authentication in a system of multi-authentication means
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
JP2013546078A (en) * 2010-11-10 2013-12-26 スマート ハブ ピーティーイー リミテッド Method and apparatus for performing a financial transaction over an insecure public communications infrastructure

Family Cites Families (18)

* Cited by examiner, † Cited by third party
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
WO2006072263A1 (en) * 2005-01-07 2006-07-13 Hentze-Lissotschenko Patentverwaltungs Gmbh & Co. Kg Device for homogenizing light
JP2009284231A (en) * 2008-05-22 2009-12-03 Panasonic Corp Key generating apparatus, key generating method, key generating program, and electronic apparatus
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
US8380177B2 (en) * 2010-04-09 2013-02-19 Paydiant, Inc. Mobile phone payment processing methods and systems
AU2011237715B2 (en) * 2010-04-09 2014-12-18 Visa International Service Association System and method for securely validating transactions
CA2958140C (en) * 2010-08-12 2019-05-07 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
GB201105765D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
WO2012170895A1 (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
KR101778755B1 (en) * 2012-04-18 2017-09-26 구글 인코포레이티드 Processing payment transactions without a secure element
KR20130140948A (en) * 2012-05-17 2013-12-26 삼성전자주식회사 Apparatus and method for contents encryption and decryption based on storage device id
US8738454B2 (en) * 2012-07-23 2014-05-27 Wal-Mart Stores, Inc. Transferring digital receipt data to mobile devices
CN105684010B (en) * 2013-08-15 2021-04-20 维萨国际服务协会 Secure remote payment transaction processing using secure elements
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080050134A (en) * 2006-12-01 2008-06-05 한국전자통신연구원 Server, client and method for integrated user authentication in a system of multi-authentication means
JP2013546078A (en) * 2010-11-10 2013-12-26 スマート ハブ ピーティーイー リミテッド Method and apparatus for performing a financial transaction over an insecure public communications infrastructure
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

Publication number Publication date
NZ721223A (en) 2018-02-23
KR20200018729A (en) 2020-02-19
RU2653290C1 (en) 2018-05-07
MX2016010086A (en) 2017-04-27
JP2017513248A (en) 2017-05-25
KR102150722B1 (en) 2020-09-02
AU2014391256A1 (en) 2016-07-07
CN106104605A (en) 2016-11-09
UA117951C2 (en) 2018-10-25
RU2682840C2 (en) 2019-03-21
KR102151579B1 (en) 2020-09-03
SG11201604876YA (en) 2016-07-28
JP6703510B2 (en) 2020-06-03
JP2020074566A (en) 2020-05-14
CN111523884B (en) 2023-05-30
AU2019250276A1 (en) 2019-11-07
IL246109B (en) 2020-03-31
WO2015160385A1 (en) 2015-10-22
CA2933336C (en) 2018-09-04
JP2018050300A (en) 2018-03-29
IL246109A0 (en) 2016-07-31
RU2018113732A (en) 2019-03-04
AU2019250276B2 (en) 2021-04-01
EP3132406A4 (en) 2017-11-01
ZA201603938B (en) 2017-09-27
SG10201801008SA (en) 2018-03-28
CN111523884A (en) 2020-08-11
KR20160132105A (en) 2016-11-16
CN106104605B (en) 2020-03-17
KR101903709B1 (en) 2018-10-04
EP3132406A1 (en) 2017-02-22
CA2933336A1 (en) 2015-10-22
AU2014391256B2 (en) 2017-07-13
AU2017245412A1 (en) 2017-11-02
RU2018113732A3 (en) 2019-03-04
JP6224254B2 (en) 2017-11-01
JP6889967B2 (en) 2021-06-18
MX356939B (en) 2018-06-20

Similar Documents

Publication Publication Date Title
US20220245630A1 (en) Method and system for secure authentication of user and mobile device without secure elements
KR101903709B1 (en) Method and system for generating an advanced storage key in a mobile device without secure elements
KR101809221B1 (en) Method and system for secure authentication of user and mobile device without secure elements

Legal Events

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