[go: up one dir, main page]

KR102151579B1 - 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
KR102151579B1
KR102151579B1 KR1020207004059A KR20207004059A KR102151579B1 KR 102151579 B1 KR102151579 B1 KR 102151579B1 KR 1020207004059 A KR1020207004059 A KR 1020207004059A KR 20207004059 A KR20207004059 A KR 20207004059A KR 102151579 B1 KR102151579 B1 KR 102151579B1
Authority
KR
South Korea
Prior art keywords
mobile device
key
payment
transaction
message
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020207004059A
Other languages
Korean (ko)
Other versions
KR20200018729A (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 KR20200018729A publication Critical patent/KR20200018729A/en
Application granted granted Critical
Publication of KR102151579B1 publication Critical patent/KR102151579B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
  • Cash Registers Or Receiving Machines (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

어드밴스트 저장 키를 구축하는 방법은, 모바일 기기의 메모리에, 적어도 (i) 상기 모바일 기기에 연관된 기기 정보, (ii) 제1 프로그램에 연관된 프로그램 코드로서, 인스턴스 식별자를 포함하는, 제1 프로그램에 연관된 프로그램 코드, 및 (iii) 제2 프로그램에 연관된 프로그램 코드로서, 제1 키를 포함하는, 제2 프로그램에 연관된 프로그램 코드를 저장하는 단계; 상기 제1 프로그램에 연관된 코드의 실행을 통해 상기 기기 정보를 기반으로 하여 상기 모바일 기기에 연관된 기기 핑거프린트를 생성하는 단계; 상기 제1 프로그램에 연관된 코드의 실행을 통해 랜덤 값을 생성하는 단계; 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 그리고 상기 제1 프로그램에 연관된 코드에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계; 및 상기 제2 프로그램에 연관된 코드의 실행을 통해 상기 제2 프로그램에 연관된 코드에 저장되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;를 포함한다.A method of constructing an advanced storage key includes, in a memory of a mobile device, at least (i) device information associated with the mobile device, (ii) a program code associated with the first program, including an instance identifier, in a first program. Storing an associated program code, and (iii) a 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 a code associated with the first program; Generating a random value through execution of a code related to 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 obtaining a storage key by decrypting the constructed pluralization value using a first key stored in the code associated with the second program through execution of the code associated with the second program.

Figure R1020207004059
Figure R1020207004059

Description

보안 요소들이 구비되어 있지 않은 모바일 기기에서 어드밴스트 저장 키를 생성하는 방법 및 시스템{Method and system for generating an advanced storage key in a mobile device without secure elements}TECHNICAL FIELD [Method and system for generating an advanced storage key in a mobile device without secure 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 provides provisional applications previously filed pursuant to U.S. Patent Law 35 U.S.C.§119(e), Provisional Application No. 61/910,819 filed December 2, 2013; Provisional Application No. 61/951,842, filed March 12, 2014; Provisional Application No. 61/955,716, filed March 19, 2014; Provisional Application No. 61/979,132, filed April 14, 2014; Provisional application 61/980,784 filed April 17, 2014; Provisional Application No. 61/979,122, filed April 14, 2014; And Provisional Application No. 61/996,665 filed May 14, 2014; In particular, priority is claimed on the basis of the provisional application No. 61/979,113 filed on April 14, 2014, and the entire contents of each of these provisional applications are incorporated herein by reference.

기술분야Technical field

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

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

그러나 모든 모바일 기기들이 보안 요소들이 구비되어 있는 것은 아니다. 그 외에도, 몇몇 금융 기관들은 비록 모바일 기기에 보안 요소가 구비되어 있더라도 모바일 기기들 상의 보안 요소들에 액세스할 수 없었다. 그 결과로, 비접촉 또는 다른 타입의 원격 지불결제 트랜잭션들을 수행하기 위한 필요한 하드웨어가 구비되어 있는 모바일 기기들을 지니는 많은 소비자는 이러한 기능을 실제로 사용하는 것이 가능하지 않을 수 있다. 그러한 어려움 때문에, 모바일 컴퓨팅 기기들이 보안 요소들의 사용 없이 지불결제 트랜잭션들을 개시 및 수행할 수 있게 하는 기술적 문제 해결 수법이 필요하다.However, not all mobile devices are equipped with security elements. In addition, some financial institutions were unable to access security elements on mobile devices, even if the mobile device was equipped with a security element. As a result, many consumers with mobile devices equipped 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 enables mobile computing devices to initiate and perform payment transactions without the use of secure 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 have the name of the invention as "No security elements are provided. Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elements" and Mehdi Collinge, filed March 14, 2013. It can be found in US patent application Ser. No. 13/827,042 in the name of his associates, the entire contents of which are incorporated herein by reference. While such methods and systems may be suitable for performing payment transactions through a mobile device that does not use a secure element, many consumers, merchants, and financial institutions are participating in such transactions due to the need for greater security. Can be alert.

그 결과로, 보안 요소가 구비되어 있지 않은 모바일 기기에서의 지불결제 크리덴셜들의 수신 및 저장을 위한 더 큰 보안을 제공함과 아울러, 금융 트랜잭션의 수행 동안 상기 모바일 기기로부터 판매 시점 정보 관리 단말기로의 지불결제 크리덴셜들의 전송에 대해 높아진 보안을 제공하는 기술적 문제 해결 수법들이 필요하다. 이러한 프로세스들에서 높아진 보안은 연루된 모든 엔티티들에 대한 안심도(peace of mind)를 높이는 결과를 초래할 수 있고, 이는 비접촉 또는 원격 지불결제 트랜잭션들에 대한 모바일 기기들의 사용을 증가시키는 결과를 초래할 수 있는데, 이는 전통적인 지불결제 방법들을 통해 소비자들에게 많은 급부를 제공할 수 있다.As a result, while providing greater security for the reception and storage of payment credentials on a mobile device that is not equipped with a security element, payment from the mobile device to the point of sale information management terminal during the execution of a financial transaction. There is a need for technical troubleshooting techniques 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. In other words, it can provide many benefits to consumers through traditional payment methods.

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

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

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

본 개시내용의 범위는 첨부도면들과 연관지어 고려된 이하 전형적인 실시 예들의 상세한 설명으로부터 가장 양호하게 이해될 것이다. 첨부도면들에는 이하의 도면들이 포함되어 있다.The scope of the present disclosure will be best understood from the following detailed description of exemplary embodiments considered in connection with the accompanying drawings. The accompanying drawings include 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 storage of payment credentials according to exemplary embodiments.
FIG. 2 is a block diagram illustrating the mobile device of FIG. 1 for secure reception and storage of payment credentials and processing payment transactions without a secure element in accordance with exemplary embodiments.
3 is a block diagram illustrating a card database of the mobile device of FIG. 2 for storing payment credentials according to exemplary embodiments.
FIG. 4 is a block diagram illustrating a memory of the mobile device of FIG. 2 for storing data used for generation of application passwords and advanced storage keys according to exemplary embodiments.
5 is a block diagram illustrating a transaction management server of FIG. 1 for processing payment transactions with a mobile device not equipped with a security element according to exemplary embodiments.
6 is a block diagram illustrating an account database of the processing server of FIG. 5 for storage of account details and payment credentials according to exemplary embodiments.
7 is a flow chart illustrating a process for transmission and verification of a dual application cryptography for processing payment transactions involving a mobile device not equipped with a secure element according to exemplary embodiments.
8 is a flow diagram illustrating an alternative process for transmission and verification of dual application cryptography for processing payment transactions involving a mobile device not equipped with a secure element according to exemplary embodiments.
9 is a flow chart illustrating a process of generating, sending, and verifying a remote notification service or other data message provisioned to a mobile device not equipped with a secure element according to exemplary embodiments.
10A and 10B are flow charts illustrating a process for generating, transmitting, and confirming a message returned by a mobile device not equipped with a secure element according to an exemplary embodiment.
11 is a flow diagram illustrating a process for confirming 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 according to exemplary embodiments.
13 and 14 are flow charts illustrating typical methods for payment credentials generated in a payment transaction according to exemplary embodiments.
15 is a flow diagram illustrating an exemplary method for receiving and processing a remote notification service message according to exemplary embodiments.
16 is a flow diagram illustrating an exemplary method for building an advanced storage key according to exemplary embodiments.
17 is a block diagram illustrating a computer system architecture in accordance with exemplary embodiments.

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

용어 해설Glossary of terms

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

트랜잭션 계정 - 당좌 계정, 저축 계정, 신용 계정, 가상 지불결제 계정 등등과 같은 트랜잭션의 자금을 조달하는데 사용될 수 있는 금융 계정. 트랜잭션 계정은, 개인, 가족, 회사, 기업, 정부 기관 등등을 포함할 수 있는, 지불결제 계정에 연관된 임의의 적합한 타입의 엔티티일 수 있는 소비자에 연관되어 있을 수 있다. 경우에 따라서는, 트랜잭션 계정이 PayPal® 등등에 의해 운영되는 그러한 계정들과 같이 가상 트랜잭션 계정일 수 있다.Transaction Account-A financial account that can be used to finance transactions such as checking accounts, savings accounts, credit accounts, virtual payment accounts, etc. A transactional account may be associated with a consumer, which may be any suitable type of entity associated with a payment 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 ® or the like.

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

지불결제 트랜잭션 - 금전 또는 다른 금융 급부가 한 엔티티로부터 나머지 엔티티로 교환되는 두 엔티티 간의 트랜잭션. 상기 지불결제 트랜잭션은 관련 기술에 숙련된 자들에게 자명해지겠지만 상품들 또는 서비스들의 구매를 위한, 부채 상환을 위한, 또는 금융 급부의 다른 어떤 교환을 위한, 자금 이체일 수 있다. 경우에 따라서는, 지불결제 트랜잭션이 신용 카드 트랜잭션들과 같은 지불결제 카드 및/또는 지불결제 계정을 통해 자금이 조달되는 트랜잭션들을 언급할 수 있다. 그러한 지불결제 트랜잭션들은 발행자, 지불결제 네트워크, 및 수취자를 통해 처리될 수 있다. 그러한 지불결제 트랜잭션을 처리하기 위한 프로세스는 승인, 배칭(batching), 청산, 결제, 및 자금 조달 중 적어도 하나를 포함할 수 있다. 승인에는 소비자에 의한 지불결제 세부들을 상인에게 제공하는 것, 상인으로부터 상인의 수취자로 트랜잭션 세부들(예컨대, 지불결제 세부들을 포함하는 트랜잭션 세부들)을 제출하는 것, 그리고 상기 트랜잭션의 자금을 조달하는데 사용되는 소비자의 지불결제 계정의 발행자에게 지불결제 세부들을 검증하는 것이 포함될 수 있다. 배칭은 수취자로의 배포를 위해 하나의 승인된 트랜잭션을 다른 승인된 트랜잭션들과 함께 배치(batch)를 이루어 저장하는 것을 언급할 수 있다. 청산(clearing)은 처리를 위해 수취자로부터 지불결제 네트워크로 배칭된 트랜잭션들을 발송하는 것을 포함할 수 있다. 결제(settlement)에는 발행자의 수취자(beneficiary)들이 연루된 트랜잭션들을 위한 지불결제 네트워크에 의한 발행자의 출금이 포함될 수 있다. 경우에 따라서는, 발행자가 지불결제 네트워크를 통해 수취자에게 입금할 수 있다. 다른 경우에는, 발행자가 수취자에게 직접 입금할 수 있다. 자금 조달에는 청산 및 결제된 지불결제 트랜잭션들을 위한 수취자로부터 상인으로의 입금이 포함될 수 있다. 관련 기술에 숙련된 자들에게는 자명해지겠지만 위에서 검토한 단계들의 순서 및/또는 분류가 지불결제 트랜잭션 처리의 일부로서 수행된다.Payment Transaction-A transaction between two entities in which money or other financial benefits are exchanged from one entity to the other. The payment transaction, as will be apparent to those skilled in the art, may be a transfer of funds for the purchase of goods or services, for repayment of debts, or for any other exchange of financial benefits. In some cases, a payment transaction may refer to transactions financed through a payment card and/or a payment account, such as credit card transactions. Such payment transactions can be processed through issuers, payment networks, and recipients. The process for processing such payment transactions may include at least one of approval, batching, liquidation, settlement, and financing. Approval 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 payee, and financing the transaction. It may include verifying payment details to the issuer of the consumer's payment account being used. Batching may refer to storing one approved transaction in a batch with other approved transactions for distribution to a recipient. Clearing may involve sending batched transactions from the recipient to the payment network for processing. Settlement may include the issuer's withdrawal by the payment settlement network for transactions involving the issuer's beneficiaries. In some cases, the issuer can make a deposit to the recipient through the payment network. In other cases, the issuer can deposit directly to the recipient. Funding may include deposits from payees to merchants for cleared and settled payment transactions. As will be apparent to those skilled in the relevant art, the sequence and/or classification of the steps reviewed above is performed as part of the payment transaction processing.

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

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

도 1에는 보안 요소들의 사용을 필요로 하지 않은 모바일 기기를 사용하여 지불결제 트랜잭션들을 처리하기 위한 시스템(100)이 예시되어 있는데, 여기서 보안 요소들의 사용에는 모바일 기기에 지불결제 크리덴셜들을 안전하게 프로비저닝하는 것, 모바일 기기의 안전한 저장, 및 상기 지불결제 트랜잭션을 확인 및 처리하는데 사용하기 위한 다수의 애플리케이션 암호를 생성하는 데 있어서의 사용이 포함될 수 있다.1 illustrates a system 100 for processing payment transactions using a mobile device that does not require the use of secure elements, wherein the use of secure elements includes secure provisioning of payment credentials to the mobile device. And secure storage of mobile devices, and use in generating multiple application cryptograms for use in verifying 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 will be reviewed in more detail below, but to provision payment credentials to the mobile device 104 using a securely transmitted remote notification message, and as part of a payment transaction. It may be one or more computing devices specifically programmed to perform the functions reviewed herein to verify payment credentials generated by 104. In the present specification, the transaction management server 102 will be illustrated and reviewed as performing various functions, but for those skilled in the related art, the transaction management server 102 is configured to perform the functions reviewed in the present specification. It will be apparent that it may consist of devices, servers, and/or computing networks. The mobile device 104, which will be discussed in more detail below, is suitable for performing the functions reviewed in the present specification, and includes a cellular phone, a smart phone, a smart watch, other wearable or embedded computing device, a tablet computer, a laptop computer, and the like. It can be any type of mobile computing device that can be included. In some embodiments, the mobile device 104 may not be equipped with a security element. In other embodiments, the mobile device 104 may include a secure element, but such a secure element may not be used with the methods and systems reviewed herein, such as to provide additional security. It may also be used with the methods and systems reviewed in.

상기 모바일 기기(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, such as multiple communication channels using dual channel communication. Dual channel communication may include ensuring higher security in data transmission using, for example, two communication channels 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 in order to perform the functions of the mobile device 104 discussed herein. have. The MPA may be installed on the mobile device 104, as will be discussed in more detail below, and the MPA may be used by the mobile device 104 and the transaction management server 102 to provide one or more communication channels using shared data. It can be activated using methods and systems that are self-evident to those skilled in the relevant art that enable secure transmission and reception of communications over the network.

상기 시스템(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 an issuing bank that issues payment cards or payment credentials to the consumer 108 associated with the transactional account. The issuer 106 may provide payment details associated with the transaction account and/or payment card to the transaction management server 102. The payment details may include, for example, a transaction account number, an account holder name, an expiration date, a 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 credentials to the mobile device 104. As used herein, the term "payment credentials" includes, but is not limited to payment details, payment credentials, single use keys, session keys, application passwords, card master keys, etc. Any data used by the mobile device 104 and/or the transaction management server 102 may be referred to in the transmission and verification of payment information used in a payment transaction using the method and system reviewed in .

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

경우에 따라서는, 상기 모바일 기기(104)에서의 RNS 메시지들의 확인, 또는 상기 트랜잭션 관리 서버(102)에서의 반송 메시지들의 확인이 적어도 메시지 카운터들 및 인증 코드를 이용할 수 있다. 카운터들 및 인증 코드들의 사용은 단지 의도되는 모바일 기기(104)만이 RNS 메시지에 포함되어 있는 데이터를 확인 및 복호화하는 것이 가능할 수 있다. 그 외에도, 상기 인증 코드들의 생성에서 사용되는 규칙들 및/또는 알고리즘들이 상기 MPA에 포함되어 있는 경우에, 단지 상기 애플리케이션 프로그램의 특정 인스턴스를 또한 포함하는 모바일 기기(104)만이 RNS 메시지를 확인하는 것이 가능할 수 있음으로써, 보안이 추가로 높아지게 되는 결과를 초래한다. 상기 RNS 메시지가 지불결제 크리덴셜들을 포함할 수 있는 경우에, 이는 상기 지불결제 크리덴셜들이 단지 적합한 모바일 기기(104) 상에서만 그리고 단지 상기 지불결제 크리덴셜들에 액세스하는데 사용된 MPA가 적합하고 승인된 애플리케이션인 경우에만 이용 가능함을 보장할 수 있다.In some cases, verification of RNS messages in the mobile device 104 or verification of return messages in the transaction management server 102 may use at least message counters and an authentication code. The use of counters and authentication codes may enable only the intended mobile device 104 to verify and decrypt the data contained in the RNS message. In addition, when the 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 is required to check the RNS message. As possible, it results in an additional increase in security. In case the RNS message may contain payment credentials, this means that the MPA used to access the payment credentials only on a suitable mobile device 104 and only on the appropriate mobile device 104 is suitable and approved. It can be guaranteed that it is available only in the case of an application that has been created.

상기 모바일 기기(104)에 프로비저닝되는 지불결제 크리덴셜들은 이하에서 더 구체적으로 검토되겠지만 카드 데이터베이스와 같은 상기 모바일 기기(104) 내의 저장소에 안전하게 저장될 수 있다. 몇몇 실시 예들에서는, 상기 모바일 기기(104)가 상기 모바일 기기(104) 내의 데이터베이스 또는 메모리 내에 지불결제 크리덴셜들과 같은 데이터를 안전하게 저장하는데 사용하기 위한 어드밴스트 저장 키(advanced storage key)를 생성하도록 구성될 수 있다. 어드밴스트 저장 키의 생성은 이하에서 더 구체적으로 검토되겠지만 고유 기기 정보, 고유 MPA 정보, 및 램덤하게 생성된 정보를 이용하여 상기 모바일 기기(104)에 데이터를 안전하게 저장하는데 사용될 수 있는 보안 저장 키를 식별할 수 있다. 그 결과로, 상기 지불결제 크리덴셜들 또는 다른 민감한 데이터는 보안 요소의 사용 없이 상기 모바일 기기(104)에 안전하게 저장될 수 있는데, 이는 상기 모바일 기기(104)가 보안 요소의 사용 없이 지불결제 트랜잭션을 개시 및 수행하는 결과를 초래하여, 고수준의 보안을 유지하면서 발행자들(106) 및 소비자들(108)에 대한 가용성을 증가시킬 수 있다.Payment credentials provisioned to the mobile device 104 may be safely stored in a storage 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 generates an advanced storage key for use in securely storing data such as payment credentials in a database or memory within the mobile device 104. Can be configured. The generation of the advanced storage key will be reviewed in more detail below, but a secure storage key that can be used to securely store data in the mobile device 104 by using unique device information, unique MPA information, and randomly generated information. Can be identified. As a result, the payment credentials or other sensitive data can be securely stored on the mobile device 104 without the use of a secure element, which allows the mobile device 104 to conduct payment transactions without the use of a secure element. It can result in initiation and execution, increasing 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 transactional account securely stored therein, the consumer 108 manages the point-of-sale information on the merchant side of the mobile device 104 It can be moved to the terminal 110 to perform a payment transaction. The consumer 108 may select products or services to purchase, initiate a payment transaction with a merchant for purchase of the products or services, and use the mobile device 104 to make the payment. You can pass payment credentials for use in financing payment transactions. Transferring payment credentials to the point of sale information management terminal 110 may include transfer of two or more application passwords. The use of two or more application ciphers uses the methods and systems discussed herein rather than those available in traditional contactless and remote transactions, including transactions performed using a mobile device 104 equipped with a secure element. This can lead to a high level of security for transactions being processed.

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

상기 암호들은 근접장(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 execution of a payment transaction such as through near field communication. The application ciphers may be required in the context of any suitable type of payment transaction such as contactless transaction, remote transaction, secure remote payment transaction, magnetic stripe transaction, and M/Chip EMV transaction, and for those skilled in the related art. As will be apparent, any suitable method accordingly may be used to accompany additional payment information such as that which may be transmitted to the point of sale information management terminal 110. The ciphers may be transmitted to the recipient 112, which may be a financial institution, such as a recipient bank, associated with the merchant. The payee 112 may issue a transaction account to the merchant which is used to receive payment of funds from the consumer 108, for example for a payment transaction. The payee 112 may submit the ciphers and additional transaction details to the payment network 114 using methods and systems that are obvious to those skilled in the relevant art. For example, the transaction details and application cryptograms may be included in an authorization request submitted to the payment network 114 on payment rails.

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

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

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

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

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

모바일 기기Mobile device

도 2에는 상기 시스템의 모바일 기기(104)의 한 실시 예가 예시되어 있다. 관련 기술에 숙련된 자들에게는 자명하겠지만, 도 2에 예시된 모바일 기기(104)의 실시 예가 단지 예시만으로 제공된 것이며 본원 명세서에서 검토한 바와 같은 기능들을 수행하기에 적합한 모바일 기기(104)의 가능한 모든 구성들에 대해 완전한 것이 아닐 수 있다. 예를 들면, 도 17에 예시되고 이하에서 더 구체적으로 검토되는 컴퓨터 시스템(1700)은 상기 모바일 기기(104)의 적합한 구성일 수 있다.2 illustrates one embodiment of the mobile device 104 of the system. As will be apparent to those skilled in the related art, the embodiment of the mobile device 104 illustrated in FIG. 2 is provided by way of example only, and all possible configurations of the mobile device 104 suitable for performing the functions as discussed herein May not be complete about the field. For example, the 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 is installed on the mobile device 104 and executed by the mobile device 104, for example a mobile payment application (MPA), which is discussed in more detail below. Program data for one or more application programs to be executed may be received. The receiving unit 202 may also receive remote notification service (RNS) messages, such as messages sent by the transaction management server 102 including RNS messages including payment credentials. . The receiving unit 202 may also receive additional data suitable for performing traditional functions of the mobile device 104 such as telephony communications, cellular communications, and the like. In some examples, 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 is internally or externally to the mobile device 104 for receiving input from the consumer 108 such as a keyboard, mouse, click wheel, scroll wheel, touch screen, microphone, camera, receiver, etc. It may be configured to communicate with one or more input devices connected to each other. 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 can execute the program code stored in the mobile device, such as for the MPA, and perform a plurality of functions associated with each application program, as well as other functions of the mobile device 104 Can be configured to The processing unit 204 receives the input from the consumer 108 through the input unit 214 and will be apparent to those skilled in the related art, but executes application programs, performs the functions of the programs, and performs data Functions such as by receiving, transmitting data, displaying data, and so on, can be performed accordingly. For example, the processing unit 204 may be configured to validate RNS messages, generate advanced storage keys, and generate application ciphers, as will be discussed in more 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, e.g., data transmitted to the display unit 210 for display by the processing unit 204. It 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 over one or more networks. The transmission unit 206 may transmit RNS response messages to the transaction management server 102. The transmission unit 206 may also be configured to transmit application cryptograms and/or payment credentials to, for example, 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 the traditional functions of the mobile communication device for transmitting cellular communications, etc., as will be apparent to those skilled in the related art. have. In some examples, one transmitting unit 206 configured to transmit payment credentials and payment passwords via NFC and the other transmitting unit 206 configured to transmit data over a mobile communication network. ), may include a plurality of transmission units 206 that may be separately configured to communicate with one or more separate networks.

상기 모바일 기기(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 reviewed in more detail below, may be a data store on the mobile device 104 configured to store data associated with one or more transactional accounts and/or payment cards. The card database 208 will be reviewed in more detail below, but the payment credentials associated with the transactional account as provisioned to the mobile device 104 by the transaction management server 102 within a secure RNS message, and the application Additional data can be stored that can be used in the generation of ciphers. In some examples, the card database 208 may be stored as part of a mobile 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. Memory 212, which is discussed in more detail below, may be configured to store data for mobile device 104 suitable for performing the functions of mobile device 104 discussed herein. For example, the memory 212 stores data suitable for generation of advanced storage keys for encryption of additional data in a mobile device 104, such as the card database 208, which will be reviewed in more detail below. I can. The memory 212 also receives program code for application programs executed by the processing unit 204 such as an operating system, data through the input unit 214 and data through the display unit 210 May be configured to store program code for displaying, rules and/or algorithms for performing functions reviewed herein, and the like. The memory 212 may also store data suitable for performing traditional functions of the mobile device 104, such as rules and/or algorithms for transmitting and receiving cellular communications over the mobile network. Additional data stored in the memory 212 will become apparent to those skilled in the related art.

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

도 3에는 상기 모바일 기기(104)를 가지고 수행되는 지불결제 트랜잭션들의 자금 조달에 사용하기 위한 트랜잭션 계정들에 연관된 지불결제 크리덴셜들 및 다른 데이터를 저장하기 위한 상기 모바일 기기(104)의 카드 데이터베이스(208)의 한 실시 예가 예시되어 있다.3 shows a card database of the mobile device 104 for storing payment credentials and other data associated with transaction accounts for use in financing payment transactions performed with the mobile device 104 ( 208) is 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 profiles 302 illustrated in FIG. 3 as payment profiles 302a, 302b, 302c. Each payment profile 302 can be associated with a transactional account that can be used to fund a payment transaction, at least one payment credential 304, one or more single use keys 306, a first session. A key 308, a second session key 310, and an application transaction counter 312 may be included.

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

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

상기 제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 are used in the generation of application passwords transmitted to the point of sale information management system 110 as part of performing a payment transaction using the mobile device 104. There may be additional keys used by the processing unit 204. In some embodiments, the first session key 308 is a first application encryption by the processing unit 204 using, for example, program code, rules, or algorithms stored in the memory 212 of the mobile device 104. Can be used in the creation of. 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 a single use key 306 and user authentication data such as a PIN provided by the consumer 108 (e.g., via the input unit 214). Can be. In such an embodiment, the second session key 310 may not be stored in the payment profile 302, but instead may be created, used, and discarded as part of a payment transaction process. Therefore, when the second application password is generated from the single use key 306 and the second session key 310 generated using the consumer PIN, both the mobile device 104 and the consumer 108 It can be helpful in authenticating.

개인 식별 번호(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) can be used to authenticate the consumer 108 (e.g., the registration of the MPA on the mobile device 104 or the issuer 106 and/or the transaction management server ( 102) may be a number supplied by the consumer 108). When performing a payment transaction, the consumer 108 or another user of the mobile device 104 may supply a PIN through the input unit 214. In some embodiments, if the supplied PIN is incorrect (e.g., does not match the PIN supplied by the consumer 108 upon registration), the processing unit 204 continues to retrieve the second session key 310. And then, a second application password can be generated. If the supplied PIN is incorrect, then the second application password becomes incorrect, which is the second application by the transaction management server 102, issuer 106, and/or payment network 114. The failure of validating the password will result, and the failure of validating the second application password by the transaction management server 102, the issuer 106, and/or the payment network 114 will cause the transaction to be executed accordingly. The issuer 106 may be given the opportunity to decline or may still approve the transaction.

모바일 기기 메모리Mobile device memory

도 4에는 상기 모바일 기기(104) 상에서의 데이터의 보안 저장 및 상기 모바일 기기(104)를 사용한 지불결제 트랜잭션들의 수행에 사용될 애플리케이션 프로그램들 및 다른 데이터를 저장하기 위한 상기 모바일 기기(104)의 상기 메모리(212)의 한 실시 예가 예시되어 있다. 한 대표적인 실시 예에서는, 상기 메모리(212)가 보안 요소가 아닐 수 있다.FIG. 4 shows the memory 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 execution of payment transactions using the mobile device 104. One embodiment of (212) is illustrated. In one exemplary embodiment, the memory 212 may not be a security element.

상기 메모리(212)에는 기기 정보(402)가 포함될 수 있다. 상기 기기 정보(402)에는 몇몇 예들에서 상기 모바일 기기(104)에 고유할 수 있는 상기 모바일 기기(104)에 연관된 하나 이상의 데이터 부분들이 포함될 수 있다. 예를 들면, 상기 기기 정보(402)에는 미디어 액세스 제어 주소, 참조 번호, 일련 번호, 식별 번호 등등이 포함될 수 있다. 모바일 기기(104)의 기기 정보(402)로 고려할 수 있는 추가 정보는 관련 기술에 숙련된 자들에게 자명하게 될 것이다.Device information 402 may be included in the memory 212. 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 examples. 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 become apparent to those skilled in the related art.

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

상기 MPA(404)에는 프로그램 코드(406)가 포함될 수 있다. 상기 프로그램 코드(406)는 상기 모바일 기기(104)의 처리 유닛(204)에 의해 실행되는 코드로서, 상기 모바일 기기(104)의 처리 유닛(204) 및 다른 구성요소들로 하여금 본원 명세서에서 검토한 바와 같은 MPA(404)의 기능들을 수행하게 하는 코드일 수 있다. 예를 들면, 상기 프로그램 코드(406)는 애플리케이션 암호들을 생성하고, RNS 메시지들을 유효화하는 등등에 적합한 코드를 포함할 수 있다. 상기 프로그램 코드(406)는 또한, 어드밴스트 저장 키의 생성에 사용될 수 있는, 랜덤 값을 생성하기 위해 적합한 프로그램 코드를 포함할 수 있다. 상기 랜덤 값은 난수(random number) 또는 의사-난수(pseudo-random number)일 수 있으며, 이는 관련 기술에 숙련된 자들에게 자명하게 되는 방법들 및 시스템들을 사용하여 생성될 수 있다.Program code 406 may be included in the MPA 404. The program code 406 is a code executed by the processing unit 204 of the mobile device 104, and allows the processing unit 204 and other components of the mobile device 104 to be reviewed in the present specification. It may be code to perform the functions of MPA 404 as described above. For example, the program code 406 may include code suitable for generating application ciphers, validating RNS messages, and so on. The program code 406 may also include program code suitable for generating a random value, which may be used in the generation of 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 become apparent to those skilled in the related art.

상기 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 unique to a specific MPA 404, which may be used to generate an advanced storage key used to secure data in a mobile device 104 such as the card database 208. . By making the instance identifier 408 unique to the MPA 404, a plurality of MPAs 404 can provide the mobile device without any MPA 404 accessing data securely stored by any other MPA 404. It may be installed on 104, thereby making payment profiles 302 for certain transactional accounts inaccessible 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)은 관련 기술에 숙련된 자들에게 자명하게 되는 화이트 박스 암호화 및/또는 다른 어떤 적합한 암호화 기능을 수행하도록 구성된 애플리케이션 프로그램일 수 있다.As will be discussed in more detail below, the processing unit 204 of the mobile device 104 may be configured to generate a diversifier value using the device information 402, and the random value is the MPA It is generated using the program code 406 of 404, and the instance identifier 408 is stored in the MPA 404. The pluralization value may be used by an encryption application 410 that is also stored in the memory 212. The encryption application 410 may be an application program configured to perform white box encryption and/or any other suitable encryption function that will become apparent to those skilled in the related art.

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

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

상기 메모리(212)에는 또한 본원 명세서에서 검토한 기능들을 수행하기 위해 적합한 상기 모바일 기기(104)에 저장된 임의의 추가 데이터와 아울러, 모바일 기기들의 임의의 추가 기능들이 포함될 수 있다. 예를 들어, 상기 메모리(212)에는 전화 호출들 등등과 같은 모바일 통신들을 수신 및 전송하기 위한 운영 시스템, 코드, 규칙들, 또는 알고리즘들을 위한 프로그램 코드가 포함될 수 있다.The memory 212 may also contain any additional data stored in the mobile device 104 suitable for performing the functions discussed herein, as well as any additional functions of mobile devices. For example, the memory 212 may contain an operating system, code, rules, or program code for 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 native to the mobile device 104, such as in the memory 212, the card database 208, or other suitable storage. It can be configured to receive data that has already been encrypted using an additional storage key that can be used. 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 encrypt the data provisioned to the mobile device 104 May be configured to transmit the generated random value to the transaction management server 102 or other trusted entity. Accordingly, the mobile device 104 may receive data that has already been encrypted using the advanced storage key for local storage in the mobile device 104.

트랜잭션 관리 서버Transaction Management Server

도 5에는 상기 시스템(100)의 트랜잭션 관리 서버(102)의 한 실시 예가 예시되어 있다. 관련 기술에 숙련된 자들에게는 자명하게 되겠지만, 도 5에 예시된 트랜잭션 관리 서버(102)의 실시 예가 단지 예시만으로써 제공된 것이며 본원 명세서에서 검토한 바와 같은 기능들을 수행하기에 적합한 트랜잭션 관리 서버(102)의 가능한 모든 구성들에 대해 완전한 것이 아닐 수 있다. 예를 들면, 도 17에 예시되어 있으며 이하에서 더 구체적으로 검토되는 컴퓨터 시스템(1700)이 상기 트랜잭션 관리 서버(102)의 적합한 구성일 수 있다.5 illustrates an embodiment of the transaction management server 102 of the system 100. As will be apparent to those skilled in the related art, the embodiment of the transaction management server 102 illustrated in FIG. 5 is provided by way of example only, and a transaction management server 102 suitable for performing functions as discussed herein. May not be complete for all possible configurations of For example, the 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 via one or more networks. The receiving unit 502 may provide data from the mobile device 104, such as receive or return messages, confirmation messages, transaction notifications, etc., from the payment network 114, the issuer 106, or other suitable entity. It can be configured to receive data. The receiving unit 502 may receive transaction notifications or cryptographic requests to initiate the generation of application cryptograms for use in the validation of payment credentials, for example in a payment transaction. The receiving unit 502 may also receive transaction account data, for example from the issuer 106 for use in generating payment 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. Although the processing unit 504 will be apparent to those skilled in the related art, it may be configured to perform the functions of the transaction management server 102 discussed in the present specification. Therefore, the processing unit 504 generates and encrypts RNS messages and data included in the present specification, as will be discussed in more detail below, validates return messages from the mobile device 104, and provides payment credentials. Can be configured to generate files, generate 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 transmission unit 506. The transmission unit 506 may be configured to transmit data via one or more network protocols over one or more networks. The transmission unit 506 may transmit RNS messages, payment credentials, application ciphers, validation notifications, and other data that will become apparent to those skilled in the related art. The transmission unit 506 may be configured to transmit data to the mobile device 104, for example via a mobile communication network or the Internet, a payment network 114, an issuer 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 reviewed in more 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 generation of application passwords used for validating payment credentials received during payment transactions performed using the mobile device 104. The account database 508 also includes transaction data for payment transactions carried out involving the mobile device 104, such as data associated with the consumer 108 or other authorized users of the relevant transaction account, and other It can 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 disclosed herein. For example, the memory 510 includes 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 encryption and decryption of the files can be stored. Additional data that may be stored in the memory 510 will become apparent to those skilled in the related art.

트랜잭션 관리 서버 계정 데이터베이스Transaction Management Server Accounting Database

도 6에는 상기 모바일 기기(104)를 포함하는 지불결제 트랜잭션들의 수행에서 제공되는 지불결제 크리덴셜들 및 다른 트랜잭션 데이터를 유효화하는데 사용하기 위한 트랜잭션 계정들에 관련된 데이터를 저장하기 위한 상기 트랜잭션 관리 서버(102)의 계정 데이터베이스(508)의 한 실시 예가 예시되어 있다.6 shows the transaction management server ( 102) of the account database 508 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 contains 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. Can be included. 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 profile 302 provisioned to the mobile device 104. To this end, the single use keys 604 stored in the account profile 602 may correspond to the single use keys 306 stored in the corresponding payment profile 302 associated with the same transactional account. The data is that when the application password is generated by the transaction management server 102 or the mobile device 104, the application passwords must match if the data is correct and not tampered with, which means that the mobile device 104 It is possible to enable the validation of payment credentials presented by.

몇몇 실시 예들에서는, 계정 프로파일(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) that corresponds to the PIN 314 stored in the corresponding payment profile 302. In such an embodiment, the PIN 314 is provided to the receiving unit 202 of the transaction management server 102 through a secure message such as a received message provided by the mobile device 104 which is reviewed in more detail below. Can be. In other embodiments, the card master key may be used instead 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 uses the single use key 306 and the PIN 314 to generate a second session key ( It may be configured to generate a second session key 608 corresponding to 310) based on the second card master key 614. In some examples, 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 are made so that ciphers generated by the mobile device 104 and the transaction management server 102 are made based on the 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 password, and the second session key 608 generates a second application password. Can be used to In some embodiments, the application transaction counter 610 may be used to generate one or more of the session keys and/or application ciphers. The application transaction counter 610 may be a value corresponding to a payment transaction to be performed that is incremented during each transaction or modified otherwise. The application transaction counter 610 may correspond to the application transaction counter 312 stored in the corresponding payment profile 302 in the mobile device 104, whereby the MPA 404 whose use is only valid is valid. It makes it possible to own the correct application transaction counter 312 to generate session keys and/or application ciphers. Additional techniques may be used to further enhance the security of the session key and/or application cryptographic generation, such as unpredictable numbers and other techniques that will become apparent to those skilled in the relevant art.

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

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

단계 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 transfers payment credentials 304 and other account data to the mobile device 104, for example, through an RNS message that is reviewed in more detail below (e.g., the transmission unit ( 506)). In step 704, the receiving unit 202 of the mobile device 104 may receive the payment 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 profile 302 of the card database 208. The account data may include the payment credentials 304, one or more single use keys 308, and any other suitable data such as 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 ciphers for use in performing a payment transaction. In some embodiments, how step 708 represents via the input unit 214, a method of placing the mobile device 104 near the point-of-sale information management system 110 to initiate a transaction via near-field communication, or another. It can be initiated by the consumer 108 as by any 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 profile 302. The second application password may be generated using a second session key 310, and the second session key 310 may be generated using a single use key 306 and a PIN 314. In some examples, the consumer 108 may enter a PIN into the mobile device 104 (eg, via the input unit 214) during the initiation of step 708 or step 708. In some embodiments, one or both of the application ciphers 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 ciphers are generated, the application ciphers, along with the payment credentials 304, are sent to the issuer via the point of sale information management system 110, the receiver 112, and the payment network 114. It can be sent to 106. The payment credentials 304 and application passwords may be received by the issuer 106 at step 710. In step 712, the transmission unit 206 of the mobile device 104 may transmit 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 profile 302. In some examples, 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 can identify the account profile 602 corresponding to the payment profile 302, and use the data contained therein to obtain two application passwords. Can be created. The first application password 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 ciphers and/or session keys may additionally be made based on the single use keys 604, application transaction counter 610, or any other suitable data. .

단계 718에서는, 상기 트랜잭션 관리 서버(102)의 전송 유닛(506)이 상기 생성된 애플리케이션 암호들을 상기 발행자(106)에게로 전송할 수 있으며, 상기 발행자(106)는 단계 718에서 상기 암호들을 수신할 수 있다. 단계 720에서는, 상기 발행자(106)가 상기 지불결제 크리덴션들(304)을 수반하여 상기 모바일 기기(104)에 의해 제공되는 애플리케이션 암호들을 유효화할 수 있다. 상기 애플리케이션 암호들의 유효화는 상기 트랜잭션 관리 서버(102)에 의해 생성 및 공급된 애플리케이션 암호들과 상기 모바일 기기(104)에 의해 공급된 암호들을 비교하는 것을 포함할 수 있다. 일단 유효화가 수행되면, 단계 722에서는, 상기 발행자(106)가 그에 따라 상기 트랜잭션을 처리할 수 있다. 트랜잭션 처리는, 예컨대 상기 암호들 중 하나 또는 양자 모두가 유효화되는 경우에 지불결제 트랜잭션의 승인을 포함할 수도 있고 예컨대 상기 암호들 중 하나 또는 양자 모두가 유효하지 않은 것으로 결정되는 경우에 지불결제 트랜잭션의 거부를 포함할 수도 있다.In step 718, the transmission unit 506 of the transaction management server 102 may transmit the generated application ciphers to the issuer 106, and the issuer 106 may receive the ciphers in step 718. have. In step 720, the issuer 106 may validate the application passwords provided by the mobile device 104 with the payment 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 issuer 106 may process the transaction accordingly. Transaction processing may include, for example, acknowledging the payment transaction if one or both of the ciphers are valid, or of the payment transaction, e.g. if one or both of the ciphers are determined to be invalid. It can also include rejection.

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

도 8에는 상기 모바일 기기(104)를 사용하여 지불결제 트랜잭션을 처리하기 위한 변형적인 프로세스가 예시되어 있다.8 illustrates a variant process for processing a payment transaction 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 credentials 304 and other account data may be transmitted to the mobile device 104 by the transmission unit 506 of the transaction management server 102. In step 804, the receiving unit 202 of the mobile device 104 may receive payment credentials 304 and other account data, which may be stored in the payment profile 302 in step 806. In step 808, the processing unit 204 of the mobile device 104 may generate the two application ciphers as reviewed above, the ciphers, payment credentials 304, and other suitable data. May be transmitted to the publisher 106 (eg, through the point of sale information management system 110).

단계 810에서는, 상기 발행자(106)가 상기 트랜잭션 데이터를 유효화하고 그리고/또는 상기 트랜잭션의 승인 또는 거부를 처리하는데 상기 발행자(106)에 의해 사용될 수 있는 애플리케이션 암호들 및 다른 어떤 적합한 데이터를 수신할 수 있다. 단계 812에서는, 상기 발행자(106)가 유효화 암호들에 대한 요구를 상기 트랜잭션 관리 서버(102)로 제출할 수 있다. 몇몇 실시 예들에서는, 상기 요구에는 상기 유효화 암호들을 생성하는데 사용될 계정 프로파일(602)을 식별함에 있어서의 상기 트랜잭션 관리 서버(102)에 의한 사용에 적합한 지불결제 크리덴셜들(304) 또는 다른 데이터가 포함될 수 있다. 한 실시 예에서는, 상기 요구에는 유효화를 위해 상기 모바일 기기(104)에 의해 생성된 2개의 애플리케이션 암호들이 부가적으로 포함될 수 있다.In step 810, the issuer 106 may receive application ciphers and any other suitable data that can be used by the issuer 106 to validate the transaction data and/or process approval or rejection of the transaction. 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 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. I can. 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 the encryption request. In step 816, the processing unit 504 of the transaction management server 102 may generate two application ciphers to be used for validation as discussed above. In embodiments in which the password request also includes two application passwords generated by the mobile device 104, step 816 also includes two passwords by the processing unit 504 using two newly generated application passwords. May include validation of Validation ciphers, or validation results in applicable embodiments may be transmitted to the issuer 106 by the transmission unit 506. In step 818, the issuer 106 may receive the validation ciphers and/or the validation result.

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

원격 통지 서비스 및 데이터 메시징Remote notification service and data messaging

도 9에는 상기 트랜잭션 관리 서버(102)로부터 상기 모바일 기기(104)로 전송되는 원격 통지 서비스(remote notification service; RNS) 메시지들 및 다른 데이터 메시지들의 전송 및 유효화를 위한 프로세스가 예시되어 있다. RNS 메시지들은 상기 모바일 기기(104)에 연관된 모바일 통신 네트워크를 이용하는 것과 같은 원격 통지 서비스를 통해 전송될 수 있다. RNS 메시지들은 위에서 검토한 바와 같이 지불결제 트랜잭션들의 처리에서 사용되는 계정 데이터, 및 상기 모바일 기기(104) 및 상기 트랜잭션 관리 서버(102) 간의 보안 접속의 확립에서 사용될 수 있는 다른 정보와 같이, 지불결제 크리덴셜들(304) 및 다른 계정 데이터를 프로비저닝하는데 사용될 수 있다.9 illustrates a process for transmission and validation of remote notification service (RNS) messages and other data messages transmitted from the transaction management server 102 to the mobile device 104. RNS messages may be transmitted through a remote notification service such as using a mobile communication network associated with the mobile device 104. RNS messages, such as account data used in the processing of payment transactions as reviewed above, and other information that may be used in establishing a secure connection between the mobile device 104 and the transaction management server 102, It can 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 examples where mutual authentication is established with the mobile device 104, the message may include information suitable for establishing the mutual authentication, such as a session identifier. In other examples, 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 reviewed herein, payment credentials are included in the generated message. 304 and account data may be included, and removal of one or more commands (e.g., single use keys 306 or payment credentials 304) to be executed by the MPA 404 of the mobile device 104 ) May be included, there may be notifications (eg, account balances, payment notifications, etc.) to be presented to the consumer 108, and other suitable data may be included.

단계 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 a private key of a private/public key pair, in which case the mobile device 104 may possess a corresponding public key. In some examples, the message may be encrypted using an encryption key associated with the MPA or mobile device 104, such as the encryption key 414. 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 transmission unit 506 of the transaction management server 102 may transmit the combined data message to the mobile device 104. In embodiments in which the mutual authentication can be performed, the combined data message may be a remote notification service message transmitted to the mobile device 104 through the remote notification service. The combined data message may be received by the receiving unit 202 of the mobile device 104 in step 910, and the combined data message may include the message authentication code and the encrypted message. In some examples, the combined data message may also include an additional identifier, such as generated using methods known for the MPA 404 for verification of 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 authentication code. The reference authentication code may be generated using the received encrypted message and may be generated using rules and algorithms such as the transaction management server 102 used to generate the message authentication code, whereby the When the message authentication code is generated by a trusted source (eg, the transaction management server 102), the generated reference authentication code corresponds to the message authentication code. In embodiments in which the message authentication code may be generated using the encryption key, the processing unit 204 uses the encryption key 414 or other suitable encryption key stored in the memory 212 to provide the reference authentication code. Can be created.

단계 914에서는, 상기 처리 유닛(204)이 상기 수신된 조합된 데이터 메시지 내에 포함된 메시지 인증 코드를 상기 생성된 참조 인증 코드에 대해 비교함으로써 상기 수신된 조합된 데이터 메시지 내에 포함된 메시지 인증 코드를 유효화할 수 있다. 상기 메시지 카운터 및 메시지 인증 코드 모두가 유효화되는 경우에, 상기 조합된 데이터 메시지는 상기 트랜잭션 관리 서버(102)로부터 비롯된 것으로 신뢰할 수 있는 것으로(예컨대, 진정한 것으로) 결정될 수 있다. 상기 조합된 데이터 메시지에 메시지 식별자가 포함될 수 있는 예들에서는, 상기 처리 유닛(204)이 또한, 상기 조합된 데이터 메시지의 생성 및 비교를 위해 상기 MPA(404)에 의해 알려진 프로세스를 사용하여 메시지 식별자를 생성함으로써 상기 메시지 식별자를 유효화할 수 있다. 상기 조합된 데이터 메시지에 메시지 카운터가 포함될 수 있는 실시 예들에서는, 상기 처리 유닛(204)이 상기 모바일 기기(104)에, 예컨대 상기 MPA(404)에나 또는 지불결제 프로파일(502)에 저장된 참조 카운터와 함께 상기 수시된 조합된 데이터 메시지에 포함된 메시지 카운터를 유효화할 수 있다.In step 914, the processing unit 204 validates the message authentication code included 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 message authentication code are valid, the combined data message may be determined to be reliable (eg, true) as originating from the transaction management server 102. In examples where a message identifier may be included in the combined data message, the processing unit 204 may also determine the message identifier using a process known by the MPA 404 for generation and comparison of the combined data message. By generating, 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 be configured with a reference counter stored in the mobile device 104, for example in the MPA 404 or in the payment profile 502. Together, the message counter included in the received 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 included in the received combined data message. The encrypted message is stored in the memory 212 (e.g., in the encryption application 410 or MPA 404) or in an encrypted (e.g., encrypted using an advanced storage key) key stored in a local database, Alternatively, it may be decoded using another suitable decoding method. In step 918, in the processing unit 204, the processing unit 204 may perform one or more suitable actions based on data decrypted from the encrypted message. In the example illustrated in FIG. 9, the mobile device 104 is mutually authenticated with the transaction management server 102 using, for example, a session identifier contained in the encrypted message and decrypted by the processing unit 204. Can be done. In step 920, the transaction management server 102 may receive the session identifier and perform any additional actions required for mutual authentication with the mobile device 104. In cases where mutual authentication has already been performed, as disclosed herein, such as payment credentials 404, single use keys 406, program instructions for the MPA 404, etc. in the message. Other information suitable to perform the functions may be included.

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

도 10a 및 도 10b에는 상기 모바일 기기(104)에 의한 복귀 메시지의 생성 및 전송 및 상기 트랜잭션 관리 서버(102)에 의한 상기 복귀 메시지의 유효화를 위한 프로세스가 예시되어 있다.10A and 10B illustrate a process for generating and transmitting 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 a received message. The received message may be generated based on the program code 406 stored in the MPA 404, and actions performed as shown in the decrypted combined data message received from the transaction management server 102 It can be made additionally on the basis of. For example, the received message may include 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 received messages transmitted to the transaction management server 102. The reception counter may be stored in the memory 212, for example 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 examples where a counter is used for validating data messages.

단계 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 otherwise stored in the MPA 404 or a locally encrypted database. The encryption key used to encrypt the received message may be a private key as part of a key pair, and the transaction management server 102 owns a corresponding public key. In step 1008, the processing unit 204 may generate a reception authentication code based on the encrypted received message. In some embodiments, the receipt 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, reviewed above.

단계 1010에서는, 상기 모바일 기기(104)의 전송 유닛(206)이 상기 전송 관리 서버(102)에 수신 통지 메시지를 전송할 수 있다. 상기 수신 통지 메시지는 상기 트랜잭션 관리 서버(102)의 수신 유닛(502)에 의해 수신될 수 있으며 상기 수신 통지 메시지에는 적어도 상기 수신 인증 코드, 상기 암호화된 수신 메시지, 및 상기 수신 카운터가 포함될 수 있다. 몇몇 실시 예들에서는, 상기 수신 통지 메시지는 상기 모바일 기기(104)에 연관된, 셀룰러 네트워크와 같은 모바일 통신 네트워크를 사용하여 상기 트랜잭션 관리 서버(102)에 전송될 수 있다.In step 1010, the transmission unit 206 of the mobile device 104 may transmit a reception notification message to the transmission management server 102. The reception notification message may be received by the reception unit 502 of the transaction management server 102, and the reception notification message may include at least the reception authentication code, the encrypted reception message, and the reception counter. In some embodiments, the receipt notification message may be transmitted 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 confirmation counter. The confirmation counter may indicate the number of messages received from the mobile device 104 used to validate 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 verification counter may be stored in an account profile 602 associated with the mobile device 104. In one example, in each account profile 602, a confirmation counter (e.g., and/or message) to be used for messages sent to/from the transaction management server 102 and 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 examples where the counter will not be used for validation of 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 receipt notification message, and generated using the same rules, algorithms, and/or processes used to generate the message authentication code. Can be. In step 1018, the processing unit 504 can validate a reception counter included in the reception notification message by comparing the reception counter included in the reception notification message with the confirmation counter. In step 1020, the processing unit 504 validates the reception authentication code by comparing the reception authentication code with the message authentication code, thereby ensuring that the message originates from the approved mobile device 104.

일단 상기 카운터(예컨대 적용되는 경우) 및 인증 코드가 유효화되면, 단계 1022에서는, 상기 처리 유닛(504)이 상기 수신된 수신 통지 메시지 내에 포함되어 있는 암호화된 메시지를 복호화할 수 있다. 상기 암호화된 메시지는 저장된 암호화 키 또는 다른 적합한 복호화 방법을 사용하여 복호화될 수 있다. 상기 암호화된 메시지는 상기 모바일 기기(104)에 의해 생성된 수신 메시지를 획득하도록 복호화될 수 있다. 단계 1024에서는, 상기 처리 유닛(504)이 상기 수신 메시지 내에 포함되어 있는 데이터를 기반으로 하여 필요에 따라 임의의 적합한 액션들을 수행할 수 있다. 예를 들면 상기 수신 메시지 내에 단일 사용 키들(306)의 성공적인 수신 및 저장의 표시가 포함되어 있는 경우에, 상기 처리 유닛(204)은 상응하는 계정 프로파일(602) 내의 상응하는 단일 사용 키들(604)을 활성화시킬 수 있다.Once the counter (eg, if applicable) and the authentication code are valid, in step 1022, the processing unit 504 may decrypt the encrypted message contained within the received reception notification message. The encrypted message can 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 included in the received message. If, for example, an indication of successful reception and storage of single use keys 306 is included in the received message, the processing unit 204 may display the corresponding single use keys 604 in the corresponding account profile 602. Can be activated.

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

도 11에는 상기 트랜잭션 관리 서버(102)로부터 상기 모바일 기기(104)에 의해 수신된 데이터 메시지들의 유효화를 위한 프로세스(1100)가 예시되어 있다.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 is in a local storage, for example the memory 212 or the locally encrypted storage encrypted using the advanced storage key, encryption keys, authentication generation keys, 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 establishment of mutual authentication between two devices using the process illustrated, for example in FIG. 9 and reviewed 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 storage, and may be used to indicate the number of messages received from the transaction management server 102. In some examples, the reference counter may be incremented using an algorithm, so that the reference counter uses a serial number, but targets the mobile device 104 (e.g., via the MPA 404). In addition, it may not be incremented through an algorithm known for the transaction management server 102.

단계 1108에서는, 상기 처리 유닛(204)이 상기 수신된 데이터 메시지 내에 포함되어 있는 메시지 카운터를 유효화할 수 있다. 상기 메시지 카운터의 유효화에는 증분된 이후의 참조 카운터의 값에 대한 상기 메시지 카운터의 비교가 포함될 수 있다. 실패된 유효화는 상기 데이터 메시지의 소스가 상기 트랜잭션 관리 서버(102)가 아니거나 이와는 달리 신뢰할 수 없음을 나타낼 수 있다. 상기 유효화가 실패되는 경우에, 단계 1110에서는, 상기 처리 유닛(204)이 실패된 데이터 메시지 수신 및/또는 유효화에 연관된 하나 이상의 적합한 액션들을 수행할 수 있다. 예를 들면, 상기 처리 유닛(204)은 상기 데이터 메시지를 폐기할 수도 있고, 상기 트랜잭션 관리 서버(102)에 통지할 수도 있으며, 연관된 지불결제 프로파일(302)을 잠글 수도 있고, 관련 기술에 숙련된 자들에게 자명하게 되는 다른 액션들을 수행할 수도 있다.In step 1108, the processing unit 204 may validate a message counter included in the received data message. Validation of the message counter may include a comparison of the message counter to a value of a reference counter after incrementing. 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, in step 1110, the processing unit 204 may perform one or more suitable actions related to 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 profile 302, and be skilled in the related art. You can also perform other actions that become self-evident to them.

상기 메시지의 유효화가 통과되는 경우에, 상기 프로세스(1100)는 단계 1112로 진행할 수 있으며, 상기 단계 1112에서는 상기 암호화된 메시지가 패딩될 수 있다. 상기 암호화된 메시지의 패딩에는 상기 암호화된 메시지 또는 이에 연관된 데이터에 대한 값들의 추가가 포함될 수 있다. 패딩은 상기 메시지 유효화 프로세스의 보안을 높여주는데 사용될 수 있는데, 그 이유는 상기 패딩이 승인없이 데이터 메시지를 성공적으로 전송 또는 수신하기 위해 승인되지 않은 엔티티에 의해 복제되어야 하는, 서로에 대해 알려진 상기 모바일 기기(104) 및 트랜잭션 관리 서버(102)에 의해 수행되어야 하는 다른 한 기능일 수 있기 때문이다. 관련 기술에 숙련된 자들에게 자명하게 되겠지만, 단계 1112는 옵션 단계일 수 있다. 몇몇 실시 예들에서는, 단계 1112가 상기 프로세스(1110)의 몇몇 예들에 적용될 수 있다. 예를 들면, 상기 암호화된 메시지가 상기 참조 카운터의 소정 증분들로 패딩될 수 있다.When the validation of the message is passed, the process 1100 may proceed to step 1112, and the encrypted message may be padded in step 1112. The padding of the encrypted message may include addition of values for the encrypted message or data associated therewith. Padding can be used to increase the security of the message validation process, because the padding must be duplicated by an unauthorized entity to successfully transmit or receive data messages without authorization, the mobile devices known to each other. This is because it may be another function that must be performed by 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 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 (eg, as padding, if applicable) using one or more rules or algorithms stored in step 1102, for example. In some embodiments, the reference authentication code may be a key or a value generated by application of a key to the encrypted message. In step 1116, the processing unit 204 may validate the message authentication code received in the RNS message. In the validation of the message authentication code, when the received data message is derived from an authorized source (eg, the transaction management server 102), a comparison of the code with the generated reference authentication code as another identification method is performed. Can be included.

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

어드밴스트 저장 키Advanced Save Key

도 12에는 보안 요소의 사용 없이 상기 모바일 기기(104)에서 안전하게 저장되고 액세스될 수 있는 지불결제 프로파일들(302) 및 다른 데이터와 같은, 상기 모바일 기기(104)에서의 데이터의 보안 저장을 위한 상기 모바일 기기(104)에 의한 어드밴스트 저장 키의 생성 및 사용이 예시되어 있다.12 shows the above for secure storage of data on the mobile device 104, such as payment profiles 302 and other data that can be securely stored and accessed on the mobile device 104 without the use of a secure element. The generation and use of advanced storage keys by 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 portions of the device information 1202 illustrated in FIG. 12 as the device information 1202a, 1202b, and 1202c. I can. Each portion of device information 1202 may be associated with the mobile device 104. In some examples, each portion of device information 1202 may be unique to the mobile device 104. In other examples, one or more of the portions of device information 1202 may be non-unique to the mobile device 104 (e.g., model number), but if three portions of device information 1202 are taken together It may be unique to the mobile device 104 (eg, a unique combination). Portions of the device information 1202 may be data that does not change during the life 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 the three parts 1202a, 1202b, and 1202c of the device information. The mobile device fingerprint 1204 may be a value unique to the mobile device 104 and stored in the memory 212, for example, one or more rules or algorithms included in the program code 406 of the MPA 404 Can be created using The mobile device fingerprint 1204 may be, for example, a numeric value, a hexadecimal value, a character 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 pluralization value may be generated by combining the instance identifier 408 of the MPA 404 and the mobile device fingerprint 1204 along with a random value 1206. The random value 1206 may be a random number or a pseudo-random number generated by the processing unit 204. In some examples, 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, for example, one or more rules or algorithms stored in the program code 406 of the MPA 404. I can. The use of the instance identifier 408 to generate the multiplicity value allows the MPA 404 to prevent access to data stored by other instances of the MPA 404 with multiple installations of the MPA 404. This can result in the ability to safely store data associated with an instance of.

상기 처리 유닛(204)은 그 후에 상기 다원화 값(1208)에 대한 상기 암호화 애플리케이션(410)에 저장된 암호화 값(414)의 적용을 통해 어드밴스트 저장 키(1210)를 생성할 수 있다. 몇몇 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 암호화 키(414)를 사용한 상기 다원화 값(1208)의 복호화에 의해 생성될 수 있다. 다른 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 암호화 키(414)를 사용한 상기 다원화 값(1208)의 암호화로부터 초래되는 값일 수 있다. 몇몇 실시 예들에서는, 상기 어드밴스트 저장 키(1210)가 상기 다원화 값(1208) 및 상기 암호화 키(414)를 사용하여 화이트 박스 암호화를 수행한 결과로 생성될 수 있다.The processing unit 204 may then generate an advanced storage key 1210 through application of the encryption value 414 stored in the encryption application 410 to the multiplexing value 1208. In some examples, the advanced storage key 1210 may be generated by decrypting the pluralization value 1208 using the encryption key 414. In other examples, the advanced storage key 1210 may be a value resulting from encryption of the pluralization value 1208 using the encryption key 414. In some embodiments, the advanced storage key 1210 may be generated as a result of performing white box encryption using the pluralization 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 generated, the processing unit 204 may encrypt the local database 1210 using the advanced storage key 1210. The local database 1210 may consist of, 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 examples, the local database 1210 may be part of another database within the mobile device 104, such as the card database 208. For example, the card database 208 may have a separate local database 1212 for each instance of the MPA 404 to store payment profiles 302 associated with each instance of the MPA 404. ) May include a plurality of local databases 1212. The resulting encrypted local database 1214 is thereby provided by any other application program inside or outside the mobile device 104 except for a specific instance of the MPA 404 that contains the instance identifier 408. Data that is not accessible can be safely stored. Thus, the encrypted local database 1214 may be ideal for storing payment credentials 304, single use keys 306, and other account data, and secure storage of sensitive account information without the use of security elements. 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 storage 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. For example, the transmission unit 206 of the mobile device 104 may transmit the generated random value 1206 to the transaction management server 102. In some examples, the instance identifier 408 may also be transmitted to the transaction management server 102 and the instance identifier 408 may be preloaded by the transaction management server 102, such as during registration of the MPA 404. May be owned by The transaction management server 102 may then generate the advanced storage key 1210 itself, and data to be provisioned on the mobile device 104 using the advanced storage key 1210, such as payment Credentials 304, single use keys 306, etc. may be encrypted, and then the encrypted data may be transmitted to the mobile device 104. The mobile device 104 may then store the previously encrypted data in the encrypted local database 1214.

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

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

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

단계 1314에서는, 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 지불결제 트랜잭션에서의 사용을 위해 전송 기기(예컨대, 상기 전송 유닛(206))에 의해 전송될 수 있다. 몇몇 실시 예들에서는, 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호가 판매 시점 정보 관리 기기(예컨대, 상기 판매 시점 정보 관리 시스템(110))에 전송될 수 있다. 한 실시 예에서는, 상기 방법(1300)이 상기 메모리(302) 내에 상기 트랜잭션 계정에 연관된 카드 마스터 키를 저장하는 것을 부가적으로 포함할 수 있으며, 이 경우에 상기 제1 세션 키(308)의 식별은 상기 처리 기기(204)에 의해 적어도 상기 저장된 카드 마스터 키를 기반으로 하여 상기 제1 세션 키(308)를 생성하는 것을 포함한다.In step 1314, at least the first application password and the second application password may be transmitted by a transmitting device (eg, 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 (eg, 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 transactional account in the memory 302, in which case the identification of the first session key 308 Includes generating the first session key 308 based at least on 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 Identification includes generating the first session key 308 based at least on the stored application transaction counter 312 by the processing device 204. In one embodiment, the method 1300 may additionally include validating the received PIN prior to the generation of the second session key 310 by the processing device 204. In an additional embodiment, the processing device 204 may be configured to generate an invalid second session key 310 when the received PIN fails.

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

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

단계 1402에서는, 적어도 카드 마스터 키(예컨대, 제1 카드 마스터 키(612)가 트랜잭션 계정에 연관된 메모리(예컨대, 계정 프로파일(602)) 내에 저장될 수 있다. 단계 1404에서는, 제1 세션 키(예컨대, 제1 세션 키(606))가 적어도 상기 저장된 카드 마스터 키(612)를 기반으로 하여 처리 기기(예컨대, 상기 처리 기기(504)에 의해 생성될 수 있다. 단계 1406에서는, 제2 세션 키(예컨대, 제2 세션 키(608))가 상기 처리 기기(504)에 의해 생성될 수 있다.In step 1402, at least a card master key (eg, first card master key 612) may be stored in a memory (eg, account profile 602) associated with the transactional account. , The first session key 606 may be generated by the processing device (eg, the processing device 504) based at least on the stored card master key 612. In step 1406, the second session key ( For example, the 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 password may be generated by the processing device 504 based on at least the first session key 606. In step 1410, a second application password may be generated by the processing device 504 based on at least the second session key 608. In step 1412, at least the first application password and the second application password may be transmitted by a transmitting device (eg, the transmitting 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 additionally include storing a transaction account sequence number associated with the transaction account in the memory 602, in which case the first session key is the 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 transactional account in the memory 602. In this case, the second session key 608 is at least based 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 receiving a first corresponding application password and a second corresponding application password by a receiving device (eg, the receiving unit 502); By the processing unit, (i) the received first corresponding application password made based on the generated first application password, and (ii) the reception made based on the generated second application password Validating the generated second corresponding application cipher; And transmitting, by the transmitting device 506, the result of the validation for use in the payment transaction. In an additional embodiment, the first corresponding application password and the second corresponding application password may be received from a point-of-sale information management device (eg, the point-of-sale information management system 110). In another additional embodiment, the result of the validation may be transmitted to a financial institution (eg, the issuer 106) associated with the transaction account.

데이터 메시지를 처리하는 대표적인 방법Typical way to process data messages

도 15에는 보안 요소를 사용하지 않는 모바일 기기(104)에 의한, 원격 통지 서비스를 통해 수신된 원격 통지 메시지와 같은 데이터 메시지의 수신 및 유효화를 포함하는, 원격 통지 서비스를 통해 수신된 원격 통지 메시지와 같은 데이터 메시지를 처리하는 방법(1500)이 예시되어 있다.FIG. 15 shows a remote notification message received through a remote notification service, including reception and validation of a data message, such as a remote notification message received through a remote notification service, by a 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))에 의해 수신될 수 있으며, 이 경우에 상기 데이터 메시지에는 적어도 암호화된 메시지 및 메시지 인증 코드가 포함될 수 있고, 상기 메시지 인증 코드는 상기 암호화된 메시지의 적어도 일부를 사용하여 생성된다. 몇몇 실시 예들에서는, 상기 데이터 메시지가 원격 통지 서비스를 통해 수신된 원격 통지 서비스 메시지일 수 있다.In step 1502, at least the encryption key may be stored in a memory (eg, the memory 212). In some embodiments, the memory 212 may be a non-secure element memory within a mobile communication device (eg, the mobile device 104). In 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 contain at least an encrypted message and a message authentication code, and the 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 through a remote notification service.

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

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

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

몇몇 실시 예들에서는, 상기 방법(1500)이 또한 상기 처리 기기(204)에 의해 패딩 키를 사용하여 상기 수신된 데이터 메시지 내에 포함되어 있는 암호화된 메시지를 패딩하는 단계를 포함하며, 이 경우에 상기 참조 인증 코드를 생성하는데 사용되는 암호화된 메시지의 일부는 상기 패딩된 암호화된 메시지이다. 부가적인 실시 예에서는, 상기 패딩 키가 상기 암호화 키일 수 있다. 다른 한 부가적인 실시 예에서는, 상기 메모리(212)에는 인증 코드 패딩 알고리즘이 부가적으로 포함될 수 있으며, 상기 패딩 키를 사용하여 상기 암호화된 메시지를 패딩하는 것은 상기 인증 코드 패딩 알고리즘에 대한 상기 패딩 키의 적용을 기반으로 하여 상기 암호화된 메시지를 패딩하는 것을 포함할 수 있다.In some embodiments, the method 1500 also includes padding an encrypted message contained within the received data message using a padding key by the processing device 204, in which case the reference Part 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 additional embodiment, the memory 212 may additionally include an authentication code padding algorithm, and padding the encrypted message using the padding key is the padding key for the authentication code padding algorithm. It may include padding the encrypted message based on the application of.

어드밴스트 저장 키를 구축하기 위한 대표적인 방법Representative method for building advanced storage keys

도 16에는 보안 요소를 사용하지 않는 모바일 기기에서의 국부 데이터의 보안 암호화 및 저장을 위한 어드밴스트 저장 키의 구축 방법(600)이 예시되어 있다.16 illustrates a method 600 of constructing 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))가 포함된다.In step 1602, at least device information (eg, device information 402) associated with a mobile communication device (eg, the mobile device 104), a first application program (eg, the mobile payment application 404). A program code (e.g., program code 406), and a program code (e.g., program code 412) associated with a second application program (e.g., the encryption application 410) are stored in the memory of the mobile communication device 104 (For example, it may be stored in the memory 212, in this case, the program code 406 associated with the first application program 404 includes at least an instance identifier (eg, an instance identifier 408), and the The program code 412 associated with the second application program 410 includes at least a first key (eg, 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, the 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 (eg, mobile device fingerprint 1204) associated with the mobile communication device 104 is stored in the stored device through execution of the program code 406 associated with the first application program 404. It may be generated by a processing device (eg, the processing unit 204) based on the information 402. In step 1606, a random value (eg, 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, at least the generated device fingerprint 1204, the generated random value 1206, and a program code 406 associated with the first application 404 are at least a plurality of values (e.g., a plurality of values 1208). ) May be constructed by the processing device 204 based on the instance identifier 408 included in the). In step 1610, the second application program 412 is executed through execution of the program code 412 associated with the second application program 410 so that the constructed diversification value 1208 obtains a storage key (eg, advanced storage key 1210). 2 It can be decrypted by the processing device 204 using the first key stored in the program code 412 associated with the 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 (eg, the local database 1212) of the mobile communication device 104; And encrypting the protected data stored in the local database 1212 using the storage key 1210 by the processing device 204. In one embodiment, the method further 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 includes transmitting at least the random value 1206 by a transmitting device (eg, the transmitting unit 206); Receiving one or more encrypted parameters by a receiving device (eg, 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 the local database 1212 of the mobile communication device 104. In an additional embodiment, the storage key 1210 may be transmitted to a third party (eg, the transaction management server 102) and the one or more encrypted parameters may be received from the third party 102. I can. 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의 방법들을 구현하는데 사용되는 모듈들 및 구성요소들을 구체화할 수 있다.17 illustrates a computer system 1700 that allows 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 use hardware, software, firmware, a non-transitory computer-readable medium in which instructions are stored, or a combination thereof. 1700), and may be implemented in one or more computer systems or other processing systems. Hardware, software, or any combination thereof may include modules and components used to implement the methods of FIGS. 7, 8, 9A, 9B, 10A, 10B, 11, and 13-16. Can be specified.

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

본원 명세서에서 검토한 바와 같은 프로세서 기기는 단일의 프로세서, 복수의 프로세서들, 또는 이들의 조합들일 수 있다. 프로세서 기기들이 하나 이상의 프로세서 "코어들"을 지닐 수 있다. 본원 명세서에서 검토한 바와 같은 용어들, 즉 "컴퓨터 프로그램 매체", "비-일시적인 컴퓨터 판독가능 매체", 및 "컴퓨터 이용가능 매체"는 일반적으로 제거 가능한 저장 유닛(1718), 제거 가능한 저장 유닛(1722), 및 하드 디스크 드라이브(1712)에 설치된 하드 디스크와 같은 유형 매체를 언급하는데 사용된다.The 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”. Terms as reviewed herein, ie “computer program medium”, “non-transitory computer readable medium”, and “computer usable medium” generally refer to removable storage unit 1718, removable storage unit ( 1722), and a hard disk installed in the hard disk drive 1712.

본 개시내용의 여러 실시 예가 이러한 대표적인 컴퓨터 시스템(1700)에 대해 기재되어 있다. 이러한 기재를 숙지하면, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍처들을 사용하여 본 개시내용을 어떻게 구현해야 하는가가 관련 기술에 숙련된 자에게 자명하게 될 것이다. 비록 동작들이 순차적인 프로세스로서 기재되어 있을 수 있지만, 상기 동작들 중 몇몇 동작들은 사실상 병렬로, 동시에, 그리고/또는 분산 환경에서, 그리고 단일 또는 다중-프로세서 머신에 의한 액세스를 위해 국부적으로나 원격에 저장된 된 프로그램 코드를 가지고 수행될 수 있다. 그 외에도, 몇몇 실시 예들에서는, 동작들의 순서가 개시된 주제의 정신으로부터 벗어나지 않고서 재배열될 수 있다.Several embodiments of the present disclosure have been described for such an exemplary computer system 1700. Upon reading this description, it 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 may be stored locally or remotely, in virtually parallel, concurrently, and/or in a distributed environment, and for access by a single or multi-processor machine. It can be executed with the program code. In addition, in some embodiments, the order of actions 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 the like. The network may be any network suitable for performing functions as disclosed herein, and may be a local area network (LAN), a wide area network (WAN), a wireless communication network (e.g. , WiFi), a mobile communication network, a satellite communication network, the Internet, an optical fiber, a coaxial cable, an infrared ray, a radio frequency (RF), or any combination thereof. Other suitable network types and configurations will become apparent to those skilled in the relevant art. The computer system 1700 may also include a main memory 1708 (eg, random access memory, read only memory, etc.) and may also include an auxiliary memory 1710. The auxiliary memory 1710 may include a removable storage drive 1714 and a hard disk drive 1712 such as a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, and the like.

상기 제거 가능한 저장 드라이브(1714)는 공지된 방식으로 상기 제거 가능한 저장 유닛(1718)으로부터 판독되고 그리고/또는 상기 제거 가능한 저장 유닛(1718)에 기록할 수 있다. 상기 제거 가능한 저장 유닛(1718)은 상기 제거 가능한 저장 드라이브(1714)에 의해 판독 및 기록될 수 있는 제거 가능한 저장 매체를 포함할 수 있다. 예를 들면, 상기 제거 가능한 저장 드라이브(1714)가 플로피 디스크 드라이브 또는 유니버설 시리얼 버스(universal serial bus) 포트인 경우에, 상기 제거 가능한 저장 유닛(1718)은 각각 플로피 디스크 또는 포터블 플래시 드라이브일 수 있다. 한 실시 예에서는, 상기 제거 가능한 저장 유닛(1718)이 비-일시적인 컴퓨터 판독가능 기록 매체일 수 있다.The removable storage drive 1714 can be read from 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-transitory computer-readable recording medium.

몇몇 실시 예들에서는, 상기 보조 메모리(1710)가 컴퓨터 프로그램들 또는 다른 명령어들이 상기 컴퓨터 시스템(1700) 내로 로드되는 것을 허용하는 변형 수단, 예를 들면 상기 제거 가능한 저장 유닛(1722) 및 인터페이스(1720)를 포함할 수 있다. 그러한 수단의 예들에는 관련 기술에 숙련된 자들에게 자명하게 되겠지만 (예컨대, 비디오 게임 시스템들에서 찾아 볼 수 있는 바와 같은) 프로그램 카트리지 및 카트리지 인터페이스, 제거 가능한 메모리 칩(예컨대, EEPROM, PROM 등등) 및 관련 소켓, 및 다른 제거 가능한 저장 유닛들(1722) 및 인터페이스들(1720)이 있을 수 있다.In some embodiments, the auxiliary memory 1710 is modified means for allowing computer programs or other instructions to be loaded into the computer system 1700, for example the removable storage unit 1722 and the interface 1720. It may include. Examples of such means will be apparent to those skilled in the art, but include program cartridges and cartridge interfaces (eg, as found in video game systems), removable memory chips (eg EEPROM, PROM, etc.) and associated There may be 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., the main memory 1708 and/or the secondary memory 1710) may be stored in optical storage (e.g., compact disc, digital versatile disc, Blu-ray disc, etc.) or magnetic It can be stored on any type of suitable computer readable medium, such as tape storage (eg, hard disk drive). The data may be composed of any type of suitable 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 become apparent to those skilled in the relevant art.

상기 컴퓨터 시스템(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 transferred between the computer system 1700 and external devices. Representative communication interfaces 1724 may include a modem, a network interface (eg, an Ethernet card), a communication port, a PCMCIA slot and card, and the like. The software and data transmitted through the communication interface 1724 may be made in the form of signals, which may be electronic, electromagnetic, optical, or other signals, as will be apparent to those skilled in the related art. The signals may be configured to carry the signals and traveled through a communication path 1726, which 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 transferred between the computer system 1700 and an 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 includes a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light-emitting diode (LED) display, a capacitive touch display, and a thin-film transistor. It may be any suitable type of display for displaying data transmitted through 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 (eg, DRAMs, etc.). These computer program products may be means for providing software to the computer system 1700. Computer programs (eg, 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, when executed, enable computer system 1700 to implement the methods of the present invention as discussed herein. In particular, the computer programs, when executed, cause the processor device 1704 to refer to FIGS. 7, 8, 9A, 9B, 10A, 10B, 11, and 13-16 as reviewed in the present specification. It makes it possible to implement the illustrated methods. Thus, such computer programs may represent the controllers of the computer system 1700. In case the present disclosure is implemented using software, the software may be stored in a computer program product and the removable storage drive 1714, interface 1720, and hard disk drive 1712, or communication interface ( 1724) can be used to load into the computer system 1700.

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

Claims (18)

어드밴스트 저장 키를 구축하는 방법에 있어서,
상기 방법은,
모바일 통신 기기의 처리 기기에 의해, 상기 모바일 통신 기기에 연관된 제1 세트의 프로세서 판독가능 명령어들의 실행을 통해 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트를 생성하는 단계;
상기 처리 기기에 의해 랜덤 값을 생성하는 단계;
상기 처리 기기에 의해, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 및 상기 제1 세트의 프로세서 판독가능 명령어들에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계;
상기 처리 기기에 의해, 제2 세트의 프로세서 판독가능 명령어들의 실행을 통해 상기 제2 세트의 프로세서 판독가능 명령어들에 포함되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;
상기 처리 기기에 의해, 보호 데이터를 상기 모바일 통신 기기의 국부 데이터베이스에 저장하는 단계; 및
상기 처리 기기에 의해, 상기 저장 키를 사용하여 상기 국부 데이터베이스에 저장된 보호 데이터를 암호화하는 단계;
를 포함하는, 어드밴스트 저장 키의 구축 방법.
In the method of building the advanced storage key,
The above method,
Generating, by a processing device of the mobile communication device, a device fingerprint associated with the mobile communication device based on device information stored through execution of a first set of processor-readable instructions associated with the mobile communication device;
Generating a random value by the processing device;
Constructing, by the processing device, a diversifier value based on at least the generated device fingerprint, the generated random value, and an instance identifier included in the first set of processor-readable instructions. step;
By the processing device, through the execution of the second set of processor-readable instructions, the constructed pluralization value is decrypted using the first key included in the second set of processor-readable instructions to obtain a storage key. Step to do;
Storing, by the processing device, protected data in a local database of the mobile communication device; And
Encrypting, by the processing device, protected data stored in the local database using the storage key;
Including a, advanced storage key construction method.
제1항에 있어서,
상기 기기 정보에는 상기 모바일 통신 기기에 연관된 하나 이상의 고유 식별자들이 포함되어 있는, 어드밴스트 저장 키의 구축 방법.
The method of claim 1,
The device information includes one or more unique identifiers associated with the mobile communication device.
제1항에 있어서,
상기 랜덤 값은 난수 또는 의사-난수인, 어드밴스트 저장 키의 구축 방법.
The method of claim 1,
The random value is a random number or a pseudo-random number, a method of constructing an advanced storage key.
제1항에 있어서,
상기 제2 세트의 프로세서 판독가능 명령어들은 상기 제1 키를 사용하여 화이트 박스 암호를 수행하도록 구성되는, 어드밴스트 저장 키의 구축 방법.
The method of claim 1,
Wherein the second set of processor readable instructions are configured to perform white box encryption using the first key.
제1항에 있어서,
상기 제1 키는 동적 키인, 어드밴스트 저장 키의 구축 방법.
The method of claim 1,
The first key is a dynamic key, a method of constructing an advanced storage key.
제1항에 있어서,
상기 제2 세트의 프로세서 판독가능 명령어들은 상기 제1 세트의 프로세서 판독가능 명령어들에 포함되어 있는, 어드밴스트 저장 키의 구축 방법.
The method of claim 1,
The second set of processor readable instructions are included in the first set of processor readable instructions.
제6항에 있어서,
상기 제2 세트의 프로세서 판독가능 명령어들은 상기 제1 세트의 프로세서 판독가능 명령어들의 실행 가능한 기능인, 어드밴스트 저장 키의 구축 방법.
The method of claim 6,
Wherein the second set of processor readable instructions are executable functions of the first set of processor readable instructions.
제1항에 있어서,
상기 어드밴스트 저장 키의 구축 방법은,
전송 기기에 의해, 적어도 상기 생성된 램덤 값을 전송하는 단계;
수신 기기에 의해, 하나 이상의 암호화된 매개변수들을 수신하는 단계 - 상기 하나 이상의 암호화된 매개변수들은 각각 상기 저장 키를 사용하여 암호화됨 -;
상기 모바일 통신 기기의 국부 데이터베이스에, 상기 수신된 하나 이상의 암호화된 매개변수들을 저장하는 단계;
를 더 포함하는, 어드밴스트 저장 키의 구축 방법.
The method of claim 1,
The method of constructing the advanced storage key,
Transmitting at least the generated random value by a transmitting device;
Receiving, by a receiving device, one or more encrypted parameters, each of the one or more encrypted parameters being encrypted using the storage key;
Storing the received one or more encrypted parameters in a local database of the mobile communication device;
The method of building an advanced storage key further comprising.
제8항에 있어서,
적어도 상기 생성된 랜덤 값을 전송하는 단계는 상기 인스턴스 식별자를 전송하는 단계를 더 포함하는, 어드밴스트 저장 키의 구축 방법.
The method of claim 8,
Transmitting at least the generated random value further comprises transmitting the instance identifier.
모바일 통신 기기의 처리 기기로 하여금 어드밴스트 저장 키를 구축하는 방법을 실행하게 하는 프로그램을 저장하도록 구성된 비-일시적 컴퓨터 판독가능 기록매체에 있어서,
상기 방법은,
모바일 통신 기기의 처리 장치에 의해, 상기 모바일 통신 기기에 연관된 제1 세트의 프로세서 판독가능 명령어들의 실행을 통해 저장된 기기 정보를 기반으로 하여 상기 모바일 통신 기기에 연관된 기기 핑거프린트를 생성하는 단계;
상기 처리 기기에 의해 랜덤 값을 생성하는 단계;
상기 처리 기기에 의해, 적어도 상기 생성된 기기 핑거프린트, 상기 생성된 랜덤 값, 및 상기 제1 세트의 프로세서 판독가능 명령어들에 포함되어 있는 인스턴스 식별자를 기반으로 하여 다원화 값(diversifier value)을 구축하는 단계;
상기 처리 기기에 의해, 제2 세트의 프로세서 판독가능 명령어들의 실행을 통해 상기 제2 세트의 프로세서 판독가능 명령어들에 포함되어 있는 제1 키를 사용하여 상기 구축된 다원화 값을 복호화해 저장 키를 획득하는 단계;
상기 처리 기기에 의해, 보호 데이터를 상기 모바일 통신 기기의 국부 데이터베이스에 저장하는 단계; 및
상기 처리 기기에 의해, 상기 저장 키를 사용하여 상기 국부 데이터베이스에 저장된 보호 데이터를 암호화하는 단계;
를 포함하는, 비-일시적 컴퓨터 판독가능 기록매체.
A non-transitory computer-readable recording medium configured to store a program for causing a processing device of a mobile communication device to execute a method for constructing an advanced storage key, comprising:
The above method,
Generating, by a processing device of the mobile communication device, a device fingerprint associated with the mobile communication device based on device information stored through execution of a first set of processor-readable instructions associated with the mobile communication device;
Generating a random value by the processing device;
Constructing, by the processing device, a diversifier value based on at least the generated device fingerprint, the generated random value, and an instance identifier included in the first set of processor-readable instructions. step;
By the processing device, through the execution of the second set of processor-readable instructions, the constructed pluralization value is decrypted using the first key included in the second set of processor-readable instructions to obtain a storage key. Step to do;
Storing, by the processing device, protected data in a local database of the mobile communication device; And
Encrypting, by the processing device, the protected data stored in the local database using the storage key;
Containing, a non-transitory computer-readable recording medium.
제10항에 있어서,
상기 기기 정보에는 상기 모바일 통신 기기에 연관된 하나 이상의 고유 식별자들이 포함되어 있는, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 10,
The device information contains one or more unique identifiers associated with the mobile communication device.
제10항에 있어서,
상기 랜덤 값은 난수 또는 의사-난수인, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 10,
The random value is a random number or a pseudo-random number, a non-transitory computer-readable recording medium.
제10항에 있어서,
상기 제2 세트의 프로세서 판독가능 명령어들은 상기 제1 키를 사용하여 화이트 박스 암호를 수행하도록 구성되는, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 10,
The second set of processor-readable instructions configured to perform white box encryption using the first key.
제10항에 있어서,
상기 제1 키는 동적 키인, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 10,
The first key is a dynamic key, a non-transitory computer-readable recording medium.
제10항에 있어서,
상기 제2 세트의 프로세서 판독가능 명령어들은 상기 제1 세트의 프로세서 판독가능 명령어들에 포함되어 있는, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 10,
The second set of processor-readable instructions are contained in the first set of processor-readable instructions.
제15항에 있어서,
상기 제2 세트의 프로세서 판독가능 명령어들은 상기 제1 세트의 프로세서 판독가능 명령어들의 실행 가능한 기능인, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 15,
The second set of processor-readable instructions are executable functions of the first set of processor-readable instructions.
제10항에 있어서,
상기 어드밴스트 저장 키의 구축 방법은,
전송 기기에 의해, 상기 생성된 램덤 값을 전송하는 단계;
수신 기기에 의해, 하나 이상의 암호화된 매개변수들을 수신하는 단계 - 상기 하나 이상의 암호화된 매개변수들은 각각 상기 저장 키를 사용하여 암호화됨 -;
상기 모바일 통신 기기의 국부 데이터베이스에, 상기 수신된 하나 이상의 암호화된 매개변수들을 저장하는 단계;
를 더 포함하는, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 10,
The method of constructing the advanced storage key,
Transmitting the generated random value by a transmitting device;
Receiving, by a receiving device, one or more encrypted parameters, each of the one or more encrypted parameters being encrypted using the storage key;
Storing the received one or more encrypted parameters in a local database of the mobile communication device;
Further comprising, a non-transitory computer-readable recording medium.
제17항에 있어서,
상기 생성된 랜덤 값을 전송하는 단계는 상기 인스턴스 식별자를 전송하는 단계를 더 포함하는, 비-일시적 컴퓨터 판독가능 기록매체.
The method of claim 17,
The step of transmitting the generated random value further comprises transmitting the instance identifier, a non-transitory computer-readable recording medium.
KR1020207004059A 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements Active KR102151579B1 (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
KR1020187027712A Division KR102150722B1 (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
KR20200018729A KR20200018729A (en) 2020-02-19
KR102151579B1 true KR102151579B1 (en) 2020-09-03

Family

ID=54324415

Family Applications (3)

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

* 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 fingerprint generation method for Android APP devices 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
US10581611B1 (en) * 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11258604B2 (en) * 2018-10-19 2022-02-22 Oracle International Corporation Rewiring cryptographic key management system service instances
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
JP7127585B2 (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
EP3933730A1 (en) * 2020-06-30 2022-01-05 Mastercard International Incorporated Realtime selection of payment account
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130262317A1 (en) 2012-04-02 2013-10-03 Mastercard International Incorporated Systems and methods for processing mobile payments by provisoning credentials to mobile devices without secure elements
US20130282589A1 (en) 2012-04-20 2013-10-24 Conductiv Software, Inc. Multi-factor mobile transaction authentication
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 (19)

* 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
ATE480793T1 (en) * 2005-01-07 2010-09-15 Limo Patentverwaltung Gmbh DEVICE FOR HOMOGENIZING LIGHT
KR100842267B1 (en) * 2006-12-01 2008-06-30 한국전자통신연구원 Integrated user authentication server, client and method in a system with multiple authentication means
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
EP2603892A4 (en) * 2010-08-12 2015-09-02 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
US20120317628A1 (en) * 2011-06-09 2012-12-13 Yeager C Douglas Systems and methods for authorizing a transaction
US9473295B2 (en) * 2011-09-26 2016-10-18 Cubic Corporation Virtual transportation point of sale
KR20140140079A (en) * 2012-04-18 2014-12-08 구글 인코포레이티드 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
EP3843023A1 (en) * 2013-08-15 2021-06-30 Visa International Service Association Secure remote payment transaction processing using a secure element
WO2015084755A1 (en) * 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure authentication of user and mobile device without secure elements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
SG10201801008SA (en) 2018-03-28
UA117951C2 (en) 2018-10-25
AU2014391256B2 (en) 2017-07-13
CA2933336C (en) 2018-09-04
JP2020074566A (en) 2020-05-14
EP3132406A1 (en) 2017-02-22
IL246109B (en) 2020-03-31
CA2933336A1 (en) 2015-10-22
IL246109A0 (en) 2016-07-31
SG11201604876YA (en) 2016-07-28
AU2014391256A1 (en) 2016-07-07
ZA201603938B (en) 2017-09-27
JP6889967B2 (en) 2021-06-18
JP6224254B2 (en) 2017-11-01
RU2653290C1 (en) 2018-05-07
KR20180108907A (en) 2018-10-04
RU2018113732A3 (en) 2019-03-04
WO2015160385A1 (en) 2015-10-22
CN111523884B (en) 2023-05-30
AU2019250276A1 (en) 2019-11-07
MX2016010086A (en) 2017-04-27
KR20200018729A (en) 2020-02-19
EP3132406A4 (en) 2017-11-01
AU2019250276B2 (en) 2021-04-01
AU2017245412A1 (en) 2017-11-02
NZ721223A (en) 2018-02-23
KR20160132105A (en) 2016-11-16
KR101903709B1 (en) 2018-10-04
MX356939B (en) 2018-06-20
RU2682840C2 (en) 2019-03-21
CN111523884A (en) 2020-08-11
CN106104605B (en) 2020-03-17
JP2018050300A (en) 2018-03-29
CN106104605A (en) 2016-11-09
JP6703510B2 (en) 2020-06-03
RU2018113732A (en) 2019-03-04
JP2017513248A (en) 2017-05-25
KR102150722B1 (en) 2020-09-02

Similar Documents

Publication Publication Date Title
US12100003B2 (en) Method and system for generating an advanced storage key in a mobile device without secure elements
AU2019250276B2 (en) Method and system for generating an advanced storage key in a mobile device without secure elements
KR102025816B1 (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
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20200211

Application number text: 1020187027712

Filing date: 20180921

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200311

Comment text: Request for Examination of Application

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20200529

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200828

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200831

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20230718

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20240722

Start annual number: 5

End annual number: 5