KR102025816B1 - Method and system for secure authentication of user and mobile device without secure elements - Google Patents

Method and system for secure authentication of user and mobile device without secure elements Download PDF

Info

Publication number
KR102025816B1
KR102025816B1 KR1020177035338A KR20177035338A KR102025816B1 KR 102025816 B1 KR102025816 B1 KR 102025816B1 KR 1020177035338 A KR1020177035338 A KR 1020177035338A KR 20177035338 A KR20177035338 A KR 20177035338A KR 102025816 B1 KR102025816 B1 KR 102025816B1
Authority
KR
South Korea
Prior art keywords
payment
transaction
mobile device
application
message
Prior art date
Application number
KR1020177035338A
Other languages
Korean (ko)
Other versions
KR20170139689A (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 KR20170139689A publication Critical patent/KR20170139689A/en
Application granted granted Critical
Publication of KR102025816B1 publication Critical patent/KR102025816B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3274Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being displayed on the M-device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Abstract

지불 거래에서 결제 크리덴셜들을 생성하기 위한 방법은 : 메모리에, 거래 계정과 연관된 1회용 키를 적어도 저장하는 단계; 수신 장치에 의해, 개인 식별 번호를 수신하는 단계; 처리 장치에 의해, 제1 세션 키를 식별하는 단계; 상기 처리 장치에 의해, 적어도 상기 저장된 1회용 키 및 상기 수신된 개인 식별 번호에 기초하여 제2 세션 키를 생성하는 단계; 상기 처리 장치에 의해, 적어도 상기 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하는 단계; 상기 처리 장치에 의해, 적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하는 단계; 및 전송 장치에 의해, 지불 거래에 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하는 단계를 포함한다.A method for generating payment credentials in a payment transaction comprises: storing in memory at least a disposable key associated with a transaction account; Receiving, by the receiving device, a personal identification number; Identifying, by the processing apparatus, a first session key; Generating, by the processing device, a second session key based at least on the stored disposable key and the received personal identification number; Generating, by the processing device, a first application cryptogram based on at least the first session key; Generating, by the processing device, a second application cryptogram based on at least the second session key; And transmitting, by a sending device, at least the first application cryptogram and the second application cryptogram for use in a payment transaction.

Figure R1020177035338
Figure R1020177035338

Description

보안 요소 없이 사용자 및 모바일 장치를 보안 인증하는 방법 및 시스템 {Method and system for secure authentication of user and mobile device without secure elements}Method and system for secure authentication of user and mobile device without secure elements}

관련 출원에 대한 상호 참조Cross Reference to Related Application

본 출원은 2014년 4월 14일에 출원된 선-출원 미국 특허 임시 출원 제61/979,112호; 2014년 5월 14일에 출원된 제61/996,665호; 2014년 4월 14일에 출원된 제61/979,113호; 그리고 특히 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 호에 대해 35 U.S.C. 119(e)하에서의 우선권의 이익을 향유하며, 상기 미국 특허 임시 출원들의 전체 내용은 본원에 참조로 편입된다. This application discloses a pre-application US patent temporary application 61 / 979,112, filed April 14, 2014; 61 / 996,665, filed May 14, 2014; 61 / 979,113, filed April 14, 2014; And interim patent application 61 / 910,819, filed especially on December 2, 2013; 61 / 951,842, filed March 12, 2014; 61 / 955,716 filed March 19, 2014; 61 / 979,132, filed April 14, 2014; And 35 U.S.C. No. 61 / 980,784 filed April 17, 2014. Enjoying the benefit of priority under 119 (e), the entire contents of these US patent provisional applications are incorporated herein by reference.

발명의 기술분야Technical Field of the Invention

본 발명은 지불 거래에서 보안 요소를 필요로 하지 않으면서 사용자 및 모바일 장치를 인증하는 것에 관한 것이다. 더 구체적으로, 본 발명은 보안 요소들의 사용 없이 지불 거래에서 사용되는 모바일 장치 내의 보안 결제 크리덴셜들을 생성하는 것에 관한 것이다. The present invention is directed to authenticating users and mobile devices without requiring a secure element in payment transactions. More specifically, the present invention relates to generating secure payment credentials in a mobile device used in a payment transaction without the use of secure elements.

이동 통신 기술의 발전은 엄청난 기회들을 형성하였다. 그 기회들 중 하나는 모바일 컴퓨팅 장치의 사용자에게 그들의 모바일 장치를 사용하여 지불 거래(payment transaction)를 개시하고 그에 대해 지불할 수 있는 능력을 제공하는 것이다. 모바일 장치 상에서 이러한 동작들을 가능하게 하는 이러한 접근법 중 하나는 모바일 장치로부터 인근의 비접촉식 판매 시점 관리(point of sale; POS) 단말기에게 지불 내역을 안전하게 전송하기 위해 근거리통신(NFC) 기술을 사용하여왔다. 이를 달성하기 위해, 보안 요소(secure element; SE) 칩 같은 보안 요소 하드웨어를 가진 모바일폰들은 결제 크리덴셜(payment credential)들을 안전하게 저장하는데 사용된다. 보안 요소는 애플리케이션들 및 그것들의 기밀 데이터를 안전하게 관리(hosting)할 수 있는 변조-방지 플랫폼인 일부 NFC-지원 장치들 내에 포함될 수 있는 특별한 것이다.The development of mobile communication technology has created enormous opportunities. One of the opportunities is to provide a user of the mobile computing device with the ability to initiate and pay for a payment transaction using their mobile device. One such approach that enables these operations on mobile devices has been the use of Near Field Communication (NFC) technology to securely transfer payment details from a mobile device to a nearby point of sale (POS) terminal. To accomplish this, mobile phones with secure element hardware, such as secure element (SE) chips, are used to securely store payment credentials. The secure element is something special that can be included within some NFC-enabled devices that are tamper-proof platforms that can securely host applications and their confidential data.

그러나 모든 모바일 장치들이 보안 요소들을 갖는 것이 아니다. 추가로, 모바일 장치에 그러한 보안 요소가 구비되어있다 하여도, 일부 금융 기관들은 모바일 장치들 상의 보안 요소들에 대한 액세스를 가질 수 없다. 결과적으로, 비접촉식 원격 지불 거래 또는 다른 유형들의 원격 지불 거래를 수행하기 위해 필요한 하드웨어를 소유하는 모바일 장치들을 가진 대부분의 소비자들은 실제로 이 기능을 사용하지 못할 수 있다. 이러한 어려움 때문에, 모바일 컴퓨팅 장치가 보안 요소의 사용없이 지불 거래를 개시하고 수행할 수 있게 하는 기술적 해결책에 대한 필요성이 존재한다.But not all mobile devices have security elements. In addition, even if the mobile device is equipped with such a secure element, some financial institutions may not have access to the secure elements on the mobile devices. As a result, most consumers with mobile devices that possess the hardware needed to conduct contactless remote payment transactions or other types of remote payment transactions may not actually use this feature. Because of this difficulty, there is a need for a technical solution that enables mobile computing devices to initiate and perform payment transactions without the use of secure elements.

보안 요소들이 없는 모바일 장치들을 사용하여, 또는 보안 요소들이 구비된 모바일 장치들 내의 보안 요소들을 사용하지 않으면서 지불 거래를 수행하기 위한 일부 방법들 및 시스템들은 2013년 3월 14일에 출원된 Mehdi Collinge 등의"Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elements"란 제목의 미국 특허 출원 제13/827,042호에서 찾을 수 있으며, 이 미국 특허 출원 제13/827,042호는 그 내용 전체가 본원에 참조로 편입된다. 이러한 방법들 및 시스템들은 보안 요소를 사용하지 않으면서 모바일 장치를 통해 지불 거래를 수행하기에 적합할 수 있지만, 많은 소비자들, 상인들 및 금융 기관들은 더 큰 보안에 대한 바람으로 인해 그러한 거래들에 참여하는 것을 경계할 수 있다.Some methods and systems for conducting payment transactions using mobile devices without secure elements, or without using secure elements in mobile devices equipped with secure elements, are disclosed in Mehdi Collinge, filed March 14, 2013. US Patent Application No. 13 / 827,042 entitled "Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elements," et al., Which is incorporated by reference in its entirety. Incorporated herein by reference. While these methods and systems may be suitable for conducting payment transactions through a mobile device without using a secure element, many consumers, merchants and financial institutions may be interested in such transactions due to the desire for greater security. Be wary of participating.

그 결과, 금융 거래를 수행하는 동안 상기 모바일 장치로부터 POS에게 결제 크리덴셜(payment credential)들을 전송하는 것에 대한 향상된 보안을 제공할 뿐만 아니라, 보안 요소가 없는 모바일 장치에 결제 크리덴셜들을 수신하고 저장하기 위해 훨씬 더 큰 보안성을 제공하는 기술적 해결책들이 필요하다. 이러한 프로세스들에서의 향상된 보안은 관여된 모든 엔티티들에게 향상된 마음의 평화를 야기할 수 있으며, 이는 비접촉식 지불 거래 또는 원격 지불 거래를 위한 모바일 장치 사용의 증가를 야기할 수 있으며, 그리고 이는 기존 결제 방법들에 비하여 소비자에게 엄청난 이익들을 제공할 수 있다. As a result, not only provide enhanced security for transferring payment credentials from the mobile device to the POS during the financial transaction, but also receive and store payment credentials on a mobile device that lacks a secure element. There is a need for technical solutions that provide even greater security. Improved security in these processes can result in improved peace of mind for all involved entities, which can lead to an increase in the use of mobile devices for contactless payment transactions or remote payment transactions, and this is an existing payment method. This can provide tremendous benefits to the consumer compared to these.

본 발명은 지불 거래에서 결제 크리덴셜들을 생성하기 위한 시스템들 및 방법들에 대한 설명을 제공한다.The present invention provides a description of systems and methods for generating payment credentials in a payment transaction.

지불 거래에서 결제 크리덴셜들을 생성하기 위한 방법은 : 메모리에, 거래 계정과 연관된 1회용 키를 적어도 저장하는 단계; 수신 장치에 의해, 개인 식별 번호를 수신하는 단계; 처리 장치에 의해, 제1 세션 키를 식별하는 단계; 상기 처리 장치에 의해, 적어도 상기 저장된 1회용 키 및 상기 수신된 개인 식별 번호에 기초하여 제2 세션 키를 생성하는 단계; 상기 처리 장치에 의해, 적어도 상기 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하는 단계; 상기 처리 장치에 의해, 적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하는 단계; 및 전송 장치에 의해, 지불 거래에 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하는 단계를 포함한다.A method for generating payment credentials in a payment transaction comprises: storing in memory at least a disposable key associated with a transaction account; Receiving, by the receiving device, a personal identification number; Identifying, by the processing apparatus, a first session key; Generating, by the processing device, a second session key based at least on the stored disposable key and the received personal identification number; Generating, by the processing device, a first application cryptogram based on at least the first session key; Generating, by the processing device, a second application cryptogram based on at least the second session key; And transmitting, by a sending device, at least the first application cryptogram and the second application cryptogram for use in a payment transaction.

지불 거래에서 결제 크리덴셜들을 생성하기 위한 방법은 : 메모리에, 거래 계정과 연관된 카드 마스터 키를 적어도 저장하는 단계; 처리 장치에 의해, 적어도 상기 저장된 카드 마스터 키에 기초하여 제1 세션 키를 생성하는 단계; 상기 처리 장치에 의해, 제2 세션 키를 생성하는 단계; 상기 처리 장치에 의해, 적어도 상기 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하는 단계; 상기 처리 장치에 의해, 적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하는 단계; 및 전송 장치에 의해, 지불 거래에서 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하는 단계를 포함한다.A method for generating payment credentials in a payment transaction includes: storing in a memory at least a card master key associated with a transaction account; Generating, by the processing apparatus, a first session key based at least on the stored card master key; Generating, by the processing device, a second session key; Generating, by the processing device, a first application cryptogram based on at least the first session key; Generating, by the processing device, a second application cryptogram based on at least the second session key; And transmitting, by a sending device, at least the first application cryptogram and the second application cryptogram for use in a payment transaction.

지불 거래에서 결제 크리덴셜들을 생성하기 위한 시스템은 : 메모리, 수신 장치, 처리 장치 및 전송 장치를 포함한다. 상기 메모리는 거래 계정과 연관된 1회용 키를 적어도 저장하도록 구성된다. 상기 수신 장치는 개인 식별 번호를 수신하도록 구성된다. 상기 처리 장치는 : 제1 세션 키를 식별하고; 적어도 상기 저장된 1회용 키 및 상기 수신된 개인 식별 번호에 기초하여 제2 세션 키를 생성하고; 적어도 상기 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하고; 그리고 적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하도록 구성된다. 상기 전송 장치는 지불 거래에 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하도록 구성된다.The system for generating payment credentials in a payment transaction includes: a memory, a receiving device, a processing device and a transmitting device. The memory is configured to at least store a disposable key associated with a trading account. The receiving device is configured to receive a personal identification number. The processing device is configured to: identify a first session key; Generate a second session key based at least on the stored disposable key and the received personal identification number; Generate a first application cryptogram based on at least the first session key; And generate a second application cryptogram based on at least the second session key. The transmitting device is configured to transmit at least the first application cryptogram and the second application cryptogram for use in a payment transaction.

지불 거래에서 결제 크리덴셜들을 생성하기 위한 또 다른 시스템은 메모리, 처리 장치 및 전송 장치를 포함한다. 상기 메모리는 거래 계정과 연관된 카드 마스터 키를 적어도 저장하도록 구성된다. 상기 처리 장치는 : 적어도 상기 저장된 카드 마스터 키에 기초하여 제1 세션 키를 생성하고; 제2 세션 키를 생성하고; 적어도 상기 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하고; 그리고 적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하도록 구성된다. 상기 전송 장치는 : 지불 거래에서 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하도록 구성된다.Another system for generating payment credentials in a payment transaction includes a memory, a processing device and a transmission device. The memory is configured to at least store a card master key associated with a trading account. The processing device comprises: generating a first session key based at least on the stored card master key; Generate a second session key; Generate a first application cryptogram based on at least the first session key; And generate a second application cryptogram based on at least the second session key. The transmitting device is configured to transmit at least the first application cryptogram and the second application cryptogram for use in a payment transaction.

본 발명의 효과는 본 명세서에 해당되는 부분들에 개별적으로 명시되어 있다.The effects of the present invention are individually indicated in the sections corresponding to this specification.

본 발명 개시의 범위는 예시적인 실시예들에 대한 다음의 상세한 설명을 첨부된 도면들과 함께 읽을 때에 최선으로 이해된다. 다음의 도면들이 포함된다.
도 1은 예시적 실시예들에 따른 결제 크리덴셜의 공급(provisioning) 및 저장의 강화된 보안성으로 지불 거래를 처리하기 위한 고레벨 시스템 아키텍처를 도시하는 블록도이다.
도 2는 예시적 실시예들에 따른 보안 요소 없이 지불 거래를 처리하고 결제 크리덴셜들을 안전하게 수신 및 저장하기 위한 도 1의 모바일 장치를 도시하는 블록도이다.
도 3은 예시적 실시예들에 따른 결제 크리덴셜들을 저장하기 위한 도 2의 모바일 장치의 카드 데이터베이스를 도시하는 블록도이다.
도 4는 예시적 실시예들에 따른, 강화된 저장 키들의 생성에 사용되는 데이터를 저장하고, 애플리케이션 암호(application cryptogram)를 생성하기 위한 도 2의 모바일 장치의 메모리를 도시하는 블록도이다.
도 5는 예시적 실시예들에 따른, 보안 요소 없이 모바일 장치와 지불 거래를 처리하기 위한 도 1의 거래 관리 서버를 도시하는 블록도이다.
도 6은 예시적 실시예들에 따른, 결제 크리덴셜들 및 계정 내역(account details)을 저장하기 위한 도 5의 처리 서버의 계정 데이터베이스를 도시하는 블록도이다.
도 7은 예시적 실시예들에 따른, 보안 요소가 없는 모바일 장치가 관여하는 지불 거래를 처리하기 위해 듀얼 애플리케이션 암호를 전송하고 검증하기 위한 프로세스를 도시하는 흐름도이다.
도 8은 예시적 실시예들에 따른, 보안 요소가 없는 모바일 장치가 관여하는 지불 거래를 처리하기 위해 듀얼 애플리케이션 암호들을 전송하고 검증하기 위한 대안 프로세스를 도시하는 흐름도이다.
도 9는 예시적 실시예들에 따른, 보안 요소가 없는 모바일 장치에게 제공되는 원격 알림 서비스 또는 다른 데이터 메시지를 형성하고 전송하고 그리고 검증하기 위한 프로세스를 도시하는 흐름도이다.
도 10a 및 도 10b는 예시적 실시예들에 따른, 보안 요소가 없는 모바일 장치에 의해 리턴 메시지를 형성하고 전송하고 그리고 검증하기 위한 프로세스를 도시하는 흐름도이다.
도 11은 예시적 실시예들에 따른, 도 2의 모바일 장치를 사용하여 원격 알림 서비스 메시지를 검증하기 위한 프로세스를 도시하는 흐름도이다.
도 12는 예시적 실시예들에 따른, 도 2의 모바일 장치를 사용하여 강화된 저장키의 생성하는 것을 도시하는 다이어그램이다.
도 13 및 도 14는 예시적 실시예들에 따라 지불 거래에서 생성된 결제 크리덴셜들을 위한 예시적 방법들을 도시하는 흐름도들이다.
도 15는 예시적 실시예들에 따른 원격 알림 서비스 메시지를 수신하고 처리하기 위한 예시적 방법을 도시하는 흐름도이다.
도 16은 예시적 실시예들에 따라 강화된 저장 키를 형성하는 예시적 방법을 도시하는 흐름도이다.
도 17은 예시적 실시예들에 따른 컴퓨터 시스템 아키텍처를 도시하는 블록도이다.
본 발명 개시의 적용 가능성의 추가의 영역들은 아래에서 제공되는 상세한 설명으로부터 명백해질 것이다. 예시적 실시예들의 상세한 설명은 예시적인 목적만을 위해 의도된 것이며, 그러므로, 본 발명 개시의 범위를 반드시 제한하려고 의도된 것은 아니라는 것이 이해되어야 한다.
The scope of the present disclosure is best understood when reading the following detailed description of exemplary embodiments in conjunction with the accompanying drawings. The following figures are included.
1 is a block diagram illustrating a high level system architecture for processing payment transactions with enhanced security of provisioning and storage of payment credentials in accordance with example embodiments.
FIG. 2 is a block diagram illustrating the mobile device of FIG. 1 for processing payment transactions and securely receiving and storing payment credentials without a secure element in accordance with example embodiments.
3 is a block diagram illustrating a card database of the mobile device of FIG. 2 for storing payment credentials in accordance with example embodiments.
4 is a block diagram illustrating a memory of the mobile device of FIG. 2 for storing data used for generating enhanced storage keys and generating an application cryptogram, in accordance with example embodiments.
FIG. 5 is a block diagram illustrating the transaction management server of FIG. 1 for processing a payment transaction with a mobile device without a secure element in accordance with example embodiments.
FIG. 6 is a block diagram illustrating an account database of the processing server of FIG. 5 for storing payment credentials and account details, in accordance with example embodiments. FIG.
7 is a flow diagram illustrating a process for transmitting and verifying a dual application cryptogram to process a payment transaction involving a mobile device without a secure element in accordance with example embodiments.
8 is a flow diagram illustrating an alternative process for transmitting and verifying dual application cryptograms for processing a payment transaction involving a mobile device without a secure element in accordance with example embodiments.
9 is a flow diagram illustrating a process for forming, sending, and verifying a remote notification service or other data message provided to a mobile device without a secure element in accordance with example embodiments.
10A and 10B are flow diagrams illustrating a process for forming, sending, and verifying a return message by a mobile device without a secure element, in accordance with example embodiments.
FIG. 11 is a flow diagram illustrating a process for verifying a remote notification service message using the mobile device of FIG. 2, according to example embodiments.
12 is a diagram illustrating the generation of an enhanced storage key using the mobile device of FIG. 2, in accordance with example embodiments.
13 and 14 are flowcharts illustrating example methods for payment credentials generated in a payment transaction, in accordance with example embodiments.
15 is a flowchart illustrating an example method for receiving and processing a remote notification service message in accordance with example embodiments.
16 is a flowchart illustrating an example method of forming an enhanced storage key in accordance with example embodiments.
17 is a block diagram illustrating a computer system architecture in accordance with example embodiments.
Further areas of applicability 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 exemplary purposes only, and therefore, is not necessarily intended to limit the scope of the present disclosure.

용어들의 정리Terminology

지불 네트워크 (Payment Network) - 현금-대체물들을 이용하는 것을 통해서 송금하기 위해 사용되는 시스템 또는 네트워크. 지불 네트워크들은 다양한 유형의 거래들을 위한 송금을 처리하기 위해서 다양한 상이한 프로토콜들 및 절차들을 사용할 수 있다. 지불 네트워크를 경유하여 수행될 수 있는 거래들은 제품이나 서비스 구입, 신용 거래, 직불 거래 (debit transaction), 펀드 거래, 계좌 출금 등을 포함할 수 있다. 지불 네트워크들은 지불 카드, 신용장 (letters of credit), 수표 (check), 금융 계정 (financial account) 등을 포함할 수 있는 현금-대체물들을 통해서 거래를 수행하도록 구성될 수 있다. 지불 네트워크들로서 수행하도록 구성된 네트워크나 시스템의 예들은 MasterCard®, VISA®, Discover®, American Express®, PayPal® 등에 의해서 운영되는 것들을 포함한다. 본원에서 "결제 네트워크" 용어의 사용은 엔티티로서의 결제 네트워크, 그리고 결제 네트워크를 포함하는 장치, 하드웨어 및 소프트웨어 같은 물리적 결제 네트워크 모두를 의미할 수 있다. Payment Network-A system or network used to transfer money through the use of cash-substitutes. Payment networks may use a variety of different protocols and procedures to process remittances for various types of transactions. Transactions that may be conducted via a payment network may include purchasing products or services, credit transactions, debit transactions, fund transactions, and withdrawals. Payment networks may be configured to conduct transactions through cash-substitutes, which may include payment cards, letters of credit, checks, financial accounts, and the like. Examples of networks or systems configured to perform as payment networks include MasterCard®, VISA®, Discover®, American Express®, PayPal®. Including those operated by such means. The use of the term "payment network" herein may mean both a payment network as an entity and a physical payment network, such as devices, hardware and software, including the payment network.

거래 계정 (Transaction Account) - 당좌예금 계좌 (checking account), 보통예금 계좌 (savings account), 대변 계정 (credit account), 가상 지불 계좌 (virtual payment account) 등과 같이 거래에 자금을 대기 위해서 사용될 수 있는 금융 계정. 거래 계정은 개인, 가족, 회사, 기업, 정부 기관 등을 포함할 수 있는, 지불 계정과 연관된 임의의 적절한 유형의 엔티티일 수 있는 소비자와 연관될 수 있다. 몇몇의 예들에서, 거래 계정은 PayPal® 등에 의해서 운영되는 그런 계정들과 같이 가상의 것일 수 있다.Transaction Account-A finance that can be used to fund a transaction, such as a checking account, savings account, credit account, virtual payment account, etc. account. The trading account may be associated with a consumer, which may be any suitable type of entity associated with a payment account, which may include an individual, family, company, corporation, government agency, and the like. In some examples, the trading account may be virtual, such as those operated by PayPal® or the like.

지불 카드 (Payment Card) - 연관된 거래 계정을 통해 금융 거래에 자금을 대기 위해서 상인에게 제공될 수 있는 거래 계정과 연관된 카드 또는 데이터. 지불 카드들은 신용 카드 (credit card), 직불 카드 (debit card), 차지 카드 (charge card), 가치-내장 카드 (stored-value card), 선불 카드 (prepaid card), 플릿 카드 (fleet card), 가상 지불 번호 (virtual payment number), 가상 카드 번호 (virtual card number), 제어된 지불 번호 (controlled payment number) 등을 포함할 수 있다. 지불 카드는 상인에게 제공될 수 있는 물리적인 카드일 수 있으며, 또는 (예를 들면, 스마트 폰 또는 컴퓨터와 같은 통신 장치에 저장된 것과 같이) 연관된 거래 계정을 나타내는 데이터일 수 있다. 예를 들면, 몇몇의 예들에서, 지불 계정 번호를 포함하는 데이터는 연관된 거래 계정에 의해서 자금을 받는 거래의 처리를 위한 지불 카드로 간주될 수 있다. 몇몇의 예들에서, 수표는 적용 가능한 경우 지불 카드로 간주될 수 있을 것이다.Payment Card-A card or data associated with a transaction account that can be provided to a merchant for funding a financial transaction through an associated transaction account. Payment cards are credit card, debit card, charge card, stored-value card, prepaid card, fleet card, virtual It may include a virtual payment number, a virtual card number, a controlled payment number, and the like. The payment card may be a physical card that may be provided to a merchant, or may be data representing an associated transaction account (eg, as stored on a communication device such as a smartphone or computer). For example, in some examples, data including a payment account number may be considered a payment card for the processing of a transaction funded by the associated transaction account. In some examples, a check may be considered a payment card if applicable.

지불 거래 (Payment Transaction) - 돈 또는 다른 금융적 이익이 하나의 엔티티로부터 나머지 엔티티로 교환되는 두 엔티티들 간의 거래. 지불 거래는 관련 기술 분야의 지식을 가진 자에게 자명할, 상품 또는 서비스의 구매를 위한, 부채 상환을 위한, 또는 금융 이익의 임의의 다른 교환을 위한 자금의 이동일 수 있다. 몇몇의 예들에서, 지불 거래는 신용 카드 거래와 같이 지불 카드 및/또는 지불 계정을 통해 자금을 받는 거래들을 의미할 수 있다. 그러한 지불 거래는 발행자, 지불 네트워크 및 인수자(acquirer)를 통해 처리될 수 있다. 그러한 지불 거래를 처리하기 위한 프로세스는 인가(authorization), 배칭(batching), 결산(clearing), 결제(settlement), 자금 제공(funding) 중 적어도 하나를 포함할 수 있다. 인가는 소비자가 상인에게 결제 내역을 제공하는 것, 상기 상인으로부터 그들의 인수자에게 (예를 들어 지불 내역을 포함하는) 거래 내역을 제출하는 것, 그리고 상기 거래에 자금을 대는데 사용된 소비자의 지불 계정의 발행자과의 지불 내역의 검증을 포함할 수 있다. 배칭(batching)은 인수자에게 배포하기 위한 다른 승인된 거래와의 배치(batch)에 승인된 거래를 저장하는 것을 의미한다. 결산은 처리를 위해 인수자로부터 지불 네트워크에게 배칭된 거래를 발송하는 것을 포함할 수 있다. 결제(settlement)는 발행자의 수혜자들을 참여시키는 거래를 위해 지불 네트워크에 의한 발행자의 인출을 포함할 수 있다. 몇몇의 예들에서, 발행자는 지불 네트워크를 통해 인수자에게 지불할 수 있다. 다른 예들에서, 발행자는 인수자에게 직접 지불할 수 있다. 자금 제공(funding)은 결산되고 결제된 지불 거래에 대한 인수자로부터 상인으로의 지불을 포함할 수 있다. 상술된 단계들의 순서 및/또는 분류는 지불 거래 처리의 일부로서 수행된다는 것은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다.Payment Transaction-A transaction between two entities in which money or other financial gains are exchanged from one entity to the other. A payment transaction may be a transfer of funds for purchase of goods or services, for debt repayment, or for any other exchange of financial interest, which will be apparent to a person skilled in the art. In some examples, payment transaction may refer to transactions that receive funds through a payment card and / or payment account, such as a credit card transaction. Such payment transactions may be processed through issuers, payment networks, and acceptors. The process for processing such a payment transaction may include at least one of authorization, batching, clearing, settlement, and funding. Authorization involves the provision of payment history by the consumer to the merchant, the submission of transaction details (including payment details, for example) from the merchant and their payment account used to fund the transaction. Verification of payment history with the issuer. Batching means storing approved transactions in a batch with other approved transactions for distribution to the underwriter. The settlement may include sending a batched transaction from the acquirer to the payment network for processing. Settlement may include withdrawal of the issuer by the payment network for a transaction involving the issuer's beneficiaries. In some examples, the issuer may pay the acquirer via a payment network. In other examples, the issuer may pay the acquirer directly. Funding may include payment from an underwriter to a merchant for a settlement and settlement payment transaction. It will be apparent to those skilled in the art that the order and / or classification of the steps described above are performed as part of a payment transaction processing.

판매 시점 관리(point of sale; POS) - 상품 및/또는 서비스의 구매, 그리고/또는 상품 및/또는 서비스에 대한 지불을 위해 거래 데이터, 지불 데이터 및/또는 다른 적절한 유형의 데이터에 진입하기 위해 사용자(예를 들어, 소비자, 종업원 등)와의 상호작용을 수신하도록 구성된 컴퓨팅 장치 또는 컴퓨팅 시스템. 판매 시점 관리는 거래의 일부로서 고객이 방문하는 ("오프라인(brick and motar" 가게 같은) 물리적 위치에 있는 물리적 장치(예를 들어, 금전 등록기, 키오스크, 데스크탑 컴퓨터, 스마트폰, 태블릿 컴퓨터 등)일 수 있으며, 또는 인터넷 같은 네트워크를 통해 고객으로부터 통신을 수신하는 온라인 소매업체 같이 전자 상거래 환경에 있는 가상의 것일 수 있다. 판매 시점 관리가 가상의 것일 수 있는 경우에, 거래를 개시하기 위해 사용자에 의해 작동되는 컴퓨팅 장치 또는 거래의 결과로서 데이터를 수신하는 컴퓨팅 시스템은, 해당될 경우, 판매 시점 관리로 간주될 수 있다. Point of sale (POS)-a user who enters transactional data, payment data and / or other suitable types of data for the purchase of goods and / or services and / or payment for goods and / or services A computing device or computing system configured to receive interaction with (eg, a consumer, employee, etc.). Point of sale management is the physical device (such as a cash register, kiosk, desktop computer, smartphone, tablet computer, etc.) in a physical location (such as a "brick and motar" store) that a customer visits as part of a transaction. Or virtual in an e-commerce environment, such as an online retailer receiving communications from a customer over a network such as the Internet, where point-of-sale management may be virtual, by a user to initiate a transaction. Computing systems that receive data as a result of an actuated computing device or transaction may be considered point of sale management, where appropriate.

보안 요소 없이 모바일 장치를 사용하여 지불 거래를 처리하기 위한 시스템System for processing payment transactions using mobile devices without secure elements

도 1은 보안 요소의 사용을 필요로 하지 않으면서 모바일 장치를 사용하여 지불 거래를 처리하기 위한 시스템(100)을 도시한다. 이 때, 상기 처리는 모바일 장치에게 결제 크리덴셜을 안전하게 공급(provisioning)하는 것, 그 결제 크리덴셜을 안전하게 저장하는 것, 그리고 상기 지불 거래를 검증하고 처리하는데 사용하기 위해 여러 애플리케이션 암호를 생성하는데 상기 결제 크리덴셜을 사용하는 것을 포함할 수 있다. 1 illustrates a system 100 for processing a payment transaction using a mobile device without requiring the use of a secure element. The process then involves securely provisioning payment credentials to the mobile device, securely storing the payment credentials, and generating multiple application cryptograms for use in verifying and processing the payment transaction. It may include using payment credentials.

상기 시스템(100)은 거래 관리 서버(102)를 포함할 수 있다. 이하에서 더 상세히 설명되는 상기 거래 관리 서버(102)는 안전하게 전송된 원격 알림 메시지를 사용하여 모바일 장치(104)에게 결제 크리덴셜(payment credential)을 제공하기 위해, 그리고 지불 거래의 일부로서 상기 모바일 장치(104)에 의해 생성된 결제 크리덴셜들을 검증하기 위해 본원에서 설명된 기능들을 수행하도록 특별히 프로그래밍된 하나 이상의 컴퓨팅 장치들일 수 있다. 본원에서 상기 거래 관리 서버(102)는 다양한 기능들을 수행한다고 도시되어 있고 논의되어 있지만, 상기 거래 관리 서버(102)는 본원에서 논의되는 기능들을 수행하도록 구성된 다수의 컴퓨팅 장치들, 서버들 및/또는 컴퓨팅 네트워크들로 구성될 수 있다는 것은 관련 기술 분야의 지식을 가진 자에게 자명할 것이다. 이하에서 더 상세히 논의되는 모바일 장치(104)는 본원에서 논의되는 기능들을 수행하기에 적합한 임의의 유형의 모바일 컴퓨팅 장치일 수 있다. 이러한 임의의 유형의 모바일 컴퓨팅 장치는 휴대폰, 스마트폰, 스마트워치, 다른 웨어러블 또는 내장형 컴퓨팅 장치, 태블릿 컴퓨터, 랩탑 컴퓨터 등을 포함할 수 있다. 일부 실시예들에서, 상기 모바일 장치(104)는 보안 요소가 없을 수 있다. 다른 실시예들에서, 상기 모바일 장치(104)는 보안 요소를 포함할 수 있지만, 이러한 요소는 본원에서 논의되는 방법들 및 시스템들과 함께 사용되지 않을 수 있거나, 또는 추가 보안성을 제공하기 위해 본원에서 논의되는 방법들 및 시스템들과 함께 사용될 수 있다.The system 100 may include a transaction management server 102. The transaction management server 102, described in more detail below, provides the mobile device 104 with payment credentials using a securely transmitted remote notification message and as part of a payment transaction. May be one or more computing devices specifically programmed to perform the functions described herein to verify the payment credentials generated by 104. Although the transaction management server 102 is shown and discussed herein as performing various functions, the transaction management server 102 is a number of computing devices, servers and / or configured to perform the functions discussed herein. It will be apparent to those skilled in the art that it can be composed of computing networks. The mobile device 104 discussed in greater detail below may be any type of mobile computing device suitable for performing the functions discussed herein. Any such type of mobile computing device may include a mobile phone, a smartphone, a smartwatch, other wearable or embedded computing device, a tablet computer, a laptop computer, and the like. In some embodiments, the mobile device 104 may be without a secure element. In other embodiments, the mobile device 104 may comprise a secure element, but such element may not be used with the methods and systems discussed herein, or provided herein to provide additional security. It may be used with the methods and systems discussed in the following.

상기 모바일 장치(104)는 듀얼 채널 통신을 사용하는 것과 같이 여러 통신 채널들을 사용하여 상기 거래 관리 서버(104)와 통신할 수 있다. 듀얼 채널 통신은 데이터의 전송 시 더 큰 보안성을 보장하기 위해, 예를 들어 검증 및 인증을 위해, 데이터 송신 및 수신 시 통신이 두 개의 채널들을 사용하는 것을 포함할 수 있다. 상기 모바일 장치(104)는 본원에서 논의되는 상기 모바일 장치(104)의 기능들을 수행하기 위해 모바일 장치(104)에 의해 실행되도록 구성된 모바일 결제 애플리케이션(mobile payment application; MPA)을 포함할 수 있다. 이하에서 더 상세히 설명되는 MPA는 상기 모바일 장치(104) 상에 설치될 수 있으며, 그리고 당업자에게 자명할 방법들 및 시스템들을 사용하여 상기 거래 관리 서버(102)에 의해 제공되는 활성화 코드를 사용하여 활성화될 수 있다. 이로써, 상기 모바일 장치(104) 및 상기 거래 관리 서버(102)는 공유 데이터를 사용하여 하나 이상의 통신 채널들에서의 통신을 안전하게 전송 및 수신할 수 있다. The mobile device 104 may communicate with the transaction management server 104 using several communication channels, such as using dual channel communication. Dual channel communication may include communication using two channels in data transmission and reception to ensure greater security in the transmission of data, for example for verification and authentication. The mobile device 104 may include a mobile payment application (MPA) configured to be executed by the mobile device 104 to perform the functions of the mobile device 104 discussed herein. The MPA, described in more detail below, can be installed on the mobile device 104 and activated using an activation code provided by the transaction management server 102 using methods and systems that will be apparent to those skilled in the art. Can be. As such, the mobile device 104 and the transaction management server 102 may securely transmit and receive communications on one or more communication channels using shared data.

또한 상기 시스템(100)은 발행자(106)도 포함할 수 있다. 상기 발행자(106)는 거래 계정과 연관된 소비자(108)에게 지불 카드 또는 결제 크리덴셜을 발행하는 발행 은행 같은 금융 기관일 수 있다. 상기 발행자(106)는 상기 거래 관리 서버(102)에게 상기 거래 계정 및/또는 상기 지불 카드와 연관된 지불 내역을 제공할 수 있다. 예를 들어, 상기 지불 내역은 거래 계정 번호, 계정 소유자 이름, 만료일, 보안 코드 등을 포함할 수 있다. 상기 거래 관리 서버(102)는 계정 데이터베이스에 상기 데이터를 저장할 수 있다. 이는 이하에서 더 자세히 논의된다. 또한 상기 거래 관리 서버(102)는 상기 모바일 장치(104)에게 결제 크리덴셜을 공급할 수도 있다. 본원에서 사용된 바와 같이, "결제 크리덴셜(payment credential)"이란 용어는 본원에서 논의되는 방법들 및 시스템들을 사용하여 지불 거래 시 사용되는 결제 정보를 전송 및 검증할 때 상기 모바일 장치(104) 및/또는 상기 거래 관리 서버(102)에 의해 사용되는 임의의 데이터를 의미할 수 있으며, 지불 내역, 결제 크리덴셜, 1회용 키, 세션 키, 애플리케이션 암호, 카드 마스터 키 등을 포함하지만 이에 제한되지는 않는다.The system 100 may also include a publisher 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 transaction account. The issuer 106 may provide the transaction management server 102 with payment details associated with the transaction account and / or the payment card. For example, the payment details may include 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. This is discussed in more detail below. The transaction management server 102 may also supply payment credentials to the mobile device 104. As used herein, the term “payment credential” refers to the mobile device 104 and the mobile device 104 when transmitting and verifying payment information used in a payment transaction using the methods and systems discussed herein. And / or any data used by the transaction management server 102, including but not limited to payment history, payment credentials, disposable keys, session keys, application passwords, card master keys, and the like. Do not.

일부 실시예들에서, 상기 결제 크리덴셜은 원격 알림 서비스 메시지를 통해 상기 모바일 장치(104)에게 공급될 수 있다. 이하에서 더 상세히 논의되는 바와 같이, 상기 원격 알림 서비스(remote notification service; RNS) 메시지는 상기 모바일 장치(104)에게 전송되고 그 후 상기 모바일 장치(104)에 의해 검증되는 보안 메시지일 수 있다. 이로써, 상기 보안 메시지에 포함된 데이터는 다른 장치들 및 사용자들로부터 안전할 수 있다. 상기 모바일 장치(104)의 MPA는 수신된 RNS 메시지의 진정성을 검증할 수 있으며, 그리고 그 RNS 메시지 내에 포함된 데이터를 획득하기 위해 상기 RNS 메시지를 해독할 수 있다. 그 다음, 상기 모바일 장치(104)는 상기 데이터에 기초하여(예를 들어, 상기 데이터 내에 포함된 명령들을 실행함으로써) 필요한 모든 기능을 수행할 수 있으며, 그리고, 적용 가능하다면, 상기 거래 관리 서버(102)에게 돌려보내지는 리턴 메시지를 생성할 수 있다. 일부 예들에서, 상기 리턴 메시지는 상기 거래 관리 서버(102)에 의해 검증될 수 있다. In some embodiments, the payment credential may be supplied to the mobile device 104 via a remote notification service message. As discussed in more detail below, the remote notification service (RNS) message may be a secure message sent to the mobile device 104 and then verified by the mobile device 104. As such, the data contained in the security message may be secure from other devices and users. The MPA of the mobile device 104 may verify the authenticity of the received RNS message, and may decrypt the RNS message to obtain data contained within the RNS message. The mobile device 104 may then perform all necessary functions based on the data (eg, by executing instructions contained within the data) and, if applicable, the transaction management server ( 102 may generate a return message sent back. In some examples, the return message can be verified by the transaction management server 102.

일부 예들에서, 상기 모바일 장치(104)에서의 RNS 메시지들의 검증 또는 상기 거래 관리 서버(102)에서의 리턴 메시지의 검증은 적어도 메시지 카운터 및 인증 코드를 사용할 수 있다. 카운터 및 인증 코드 모두를 사용하는 것은 오직 의도된 모바일 장치(104)만이 상기 RNS 메시지 내에 포함된 데이터를 검증하고 해독할 수 있을 것이라는 것을 보장할 수 있다. 추가로, 상기 인증 코드의 생성 시 사용된 규칙들 및/또는 알고리즘들이 MPA에 포함된다면, 오직 애플리케이션 프로그램의 특정 인스턴스를 포함하는 모바일 장치(104)만이 상기 RNS 메시지를 검증할 수 있을 것이며, 이는 추가적으로 증가된 보안성을 야기한다. RNS 메시지가 결제 크리덴셜들을 포함할 수 있는 경우, 이는 결제 크리덴셜들이 오직 적절한 모바일 장치(104)에서만, 그리고 오직 결제 크리덴셜들에 접근하는데 사용된 MPA가 적절하고 인증된 애플리케이션인 경우에만 이용가능하다는 것을 보장할 수 있다. In some examples, verification of RNS messages at the mobile device 104 or verification of a return message at the transaction management server 102 may use at least a message counter and an authentication code. Using both a counter and an authentication code can ensure that only the intended mobile device 104 will be able to verify and decrypt the data contained in the RNS message. In addition, if the rules and / or algorithms used in the generation of the authentication code are included in the MPA, then only the mobile device 104 containing the particular instance of the application program will be able to verify the RNS message. Resulting in increased security. If the RNS message can include payment credentials, it is only available if the payment credentials are only on the appropriate mobile device 104 and only if the MPA used to access the payment credentials is a proper and authenticated application. Can be guaranteed.

상기 모바일 장치(104)에게 공급된 결제 크리덴셜들은 카드 데이터베이스 같은 상기 모바일 장치(104)의 저장소에 안전하게 저장될 수 있다. 이는 이하에서 더 자세히 설명된다. 일부 실시예들에서, 상기 모바일 장치(104)는 결제 크리덴셜들 같은 데이터를 상기 모바일 장치(104)의 데이터베이스 또는 메모리에 안전하게 저장하는데 사용하기 위한 강화된(advanced) 저장키를 생성하도록 구성될 수 있다. 이하에서 더 자세히 설명되는 강화된 저장키의 생성은 상기 모바일 장치(104)에 데이터를 안전하게 저장하는데 사용될 수 있는 보안 저장키를 식별하기 위해 고유한 장치 정보, 고유한 MPA 정보 및 랜덤으로 생성된 정보를 이용할 수 있다. 결과적으로, 상기 결제 크리덴셜 또는 다른 민감형 데이터는 보안 요소의 사용 없이 상기 모바일 장치(104) 내에 안전하게 저장될 수 있으며, 이는 보안 요소의 사용 없이 지불 거래를 개시하고 수행할 수 있는 모바일 장치(104)를 야기할 수 있다. 이로써, 높은 수준의 보안성을 유지하면서, 발행자들(106) 및 소비자들(108)에 대한 가용성을 증가시킨다. Payment credentials supplied to the mobile device 104 may be securely stored in a repository of the mobile device 104 such as a card database. This is explained in more detail below. In some embodiments, the mobile device 104 can be configured to generate an advanced storage key for use in securely storing data such as payment credentials in the database or memory of the mobile device 104. have. Generation of an enhanced storage key, described in more detail below, provides unique device information, unique MPA information, and randomly generated information to identify a secure storage key that can be used to securely store data on the mobile device 104. Can be used. As a result, the payment credential or other sensitive data may be securely stored in the mobile device 104 without the use of a secure element, which may initiate and conduct a payment transaction without the use of the secure element. May cause). This increases availability for publishers 106 and consumers 108 while maintaining a high level of security.

상기 모바일 장치(104)가 거래 계정에 대한 결제 크리덴셜들이 수신되게 하고, 검증되게 하고, 그리고 상기 모바일 장치(104) 내에 안전하게 저장되게 하면, 소비자(108)는 지불 거래를 수행하기 위해 상기 모바일 장치(104)를 상인의 판매 시점 관리(110)에 가져갈 수 있다. 상기 소비자(108)는 구매를 위해 상품 또는 서비스를 선택할 수 있으며, 상인과 상기 구매를 위한 지불 거래를 개시할 수 있으며, 그리고 상기 지불 거래에 자금을 대는데 사용하기 위한 결제 크리덴셜들을 전달하기 위해 상기 모바일 장치(104)를 사용할 수 있다. 상기 결제 크리덴셜을 상기 판매 시점 관리(110)에게 전달하는 것은 두 개 이상의 애플리케이션 암호(application cryptogram)를 전달하는 것을 포함한다. 두 개 이상의 애플리케이션 암호를 사용하는 것은 보안 요소를 갖는 모바일 장치(104)를 사용하여 수행되는 거래들을 포함하는 기존의 비접촉식 원격 거래들에서 이용 가능한 것보다, 본원에 논의된 방법들 및 시스템들을 사용하여 처리된 거래들에 대한 더 높은 수준의 보안성을 야기한다.Once the mobile device 104 allows payment credentials for a transaction account to be received, verified, and securely stored in the mobile device 104, the consumer 108 can perform the payment transaction to perform a payment transaction. 104 may be brought to the merchant's point of sale management 110. The consumer 108 may select a product or service for purchase, initiate a payment transaction for the purchase with a merchant, and deliver the payment credentials for use in funding the payment transaction. Mobile device 104 may be used. Delivering the payment credentials to the point of sale management 110 includes conveying two or more application cryptograms. Using two or more application cryptograms is possible using methods and systems discussed herein, rather than available in existing contactless remote transactions, including transactions performed using mobile device 104 having a secure element. Resulting in a higher level of security for processed transactions.

상기 애플리케이션 암호들은 각각 개별 세션 키들 및 추가 데이터를 사용하여 상기 모바일 장치(104)에 의해 생성될 수 있다. 이는 이하에서 더 자세히 논의된다. 상기 강화된 저장키를 통해 보호되고 상기 MPA와 연관되는 저장소에서와 같이 상기 모바일 장치(104)에 저장된 데이터를 사용하여 생성된 애플리케이션 암호는 상기 애플리케이션 암호가 상기 모바일 장치(104) 및 상기 MPA의 특정 인스턴스를 인증한다는 것을 보장할 수 있다. 몇몇 예들에서, 상기 암호들 그리고/또는 상기 암호들을 생성하는데 사용된 세션키들 중 하나는 개인 식별 번호(personal identification number; PIN) 같은 상기 소비자(108)에 의해 제공된 정보를 사용할 수 있다. PIN 또는 다른 소비자 인증 정보의 사용은 암호가 상기 소비자(108) 및 상기 모바일 장치(104) 모두를 인증할 수 있게 할 수 있다. 이러한 경우에서, 상기 모바일 장치(104)에 의해 생성되는 암호들은 상기 모바일 장치(104)를 인증하는 암호, 그리고 상기 모바일 장치(104) 및 상기 소비자(108) 모두를 인증하는 암호를 포함할 수 있다. The application cryptograms may be generated by the mobile device 104 using respective session keys and additional data, respectively. This is discussed in more detail below. An application cryptogram generated using data stored on the mobile device 104, such as in a storage associated with the enhanced storage key and associated with the MPA, indicates that the application cryptogram is specific to the mobile device 104 and the MPA. You can ensure that you authenticate your instance. In some examples, one of the ciphers and / or 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 a PIN or other consumer authentication information may enable a password to authenticate both the consumer 108 and the mobile device 104. In this case, the passwords generated by the mobile device 104 may include a password to authenticate the mobile device 104, and a password to authenticate both the mobile device 104 and the consumer 108. .

상기 암호들은 (예를 들어 근거리 통신을 통해서) 상기 지불 거래의 수행의 일부로서 상기 판매 시점 관리(110)에 의해 수신될 수 있다. 상기 애플리케이션 암호들은 임의의 적절한 유형의 지불 거래 상황(예를 들어, 비접촉식 거래, 원격 거래, 보안 원격 지불 거래, 자기선(magnetic stripe) 거래 및 M/Chip EMV 거래)에서 요구될 수 있는 지불 정보 같은, 추가 지불 정보를 수반할 수 있으며, 관련 기술 분야의 지식을 가진 자에게 자명할 임의의 적절한 방법을 사용하여 상기 판매 시점 관리(110)에게 전송될 수 있다. 상기 암호들은 상인과 연관된, 금융 기관(예를 들어, 인수 은행(acquiring bank))일 수 있는 인수자(112)에게 전송될 수 있다. 예를 들어, 상기 인수자(112)는 상기 지불 거래를 위해 상기 소비자(108)로부터 자금 지불을 수신하는데 사용되는 거래 계정을 상기 상인에게 발행할 수 있다. 상기 인수자(112)는 당업자에게 자명할 방법들 및 시스템들을 사용하여 지불 네트워크(114)에게 상기 암호들 및 추가 거래 내역을 제출할 수 있다. 예를 들어, 상기 거래 내역 및 상기 애플리케이션 암호는 결제 체계(payment rail) 상의 상기 지불 네트워크(114)에게 제출된 인증 요청 내에 포함될 수 있다.The cryptograms may be received by the point of sale management 110 as part of the performance of the payment transaction (eg, via near field communication). The application cryptograms may include payment information that may be required in any suitable type of payment transaction situation (e.g., contactless transaction, remote transaction, secure remote payment transaction, magnetic stripe transaction and M / Chip EMV transaction). It may carry additional payment information and may be sent to the point of sale 110 using any suitable method that will be apparent to those skilled in the art. The cryptograms may be sent to the acquirer 112, which may be a financial institution (eg, an acquiring bank) associated with the merchant. For example, the acquirer 112 may issue a trade account to the merchant that is used to receive fund payments from the consumer 108 for the payment transaction. The acquirer 112 may submit the cryptographs and additional transaction details to the payment network 114 using methods and systems that will be apparent to those skilled in the art. For example, the transaction details and the application cryptogram may be included in an authentication request submitted to the payment network 114 on a payment rail.

일부 실시예들에서, 애플리케이션 암호들 모두는 단일 거래 메시지에 포함될 수 있다. 예를 들어, 상기 모바일 장치(104) 및/또는 상기 판매 시점 관리(110)는 기존의 지불 시스템들 및 하드웨어를 사용하여 애플리케이션 암호들을 전송하기 위해 종래 거래 메시지의 레거시 데이터 필드들 내에 애플리케이션 암호들을 포함할 수 있다. 일부 경우에서, 상기 거래 관리 서버(102)는 (예를 들어, 자기선(magnetic stripe) 거래에서) 상기 애플리케이션 암호들의 검증을 위해 Track 2 데이터를 사용하도록 구성될 수 있다. 이러한 예에서, 상기 거래 메시지가 Track 1 데이터를 포함한다면, 상기 거래 관리 서버(102)는 Track 1 데이터를 Track 2 데이터로 변환하도록 구성될 수 있다. 이는 변경된 Track 1 또는 Track 2 데이터를 각각 변경되지 않은(예를 들어, 본래의, 복원된 등) Track 1 또는 Track 2 데이터로 변환하는 것을 포함할 수도 있다. 이러한 기능들을 수행함으로써, 그리고 레거시 데이터 필드들 내에 상기 애플리케이션 암호들을 포함함으로써, 상기 거래 관리 서버(102)는 상기 모바일 장치(104) 상의 보안 요소의 사용을 요구하지 않으면서, 그리고 레거시 지불 시스템에 대한 수정 없이, 높은 수준의 보안성으로 모바일 장치(104)를 사용하여 원격 지불 거래 및 비접촉식 지불 거래를 처리하고 검증하도록 구성될 수 없다.In some embodiments, all of the application cryptograms may be included in a single transaction message. For example, the mobile device 104 and / or the point of sale management 110 include application cryptograms in legacy data fields of a conventional transaction message to transmit application cryptograms using existing payment systems and hardware. can do. In some cases, the transaction management server 102 may be configured to use Track 2 data for verification of the application cryptograms (eg, in magnetic stripe transactions). In this example, if the transaction message includes Track 1 data, the transaction management server 102 may be configured to convert Track 1 data to Track 2 data. This may include converting changed Track 1 or Track 2 data into Track 1 or Track 2 data that has not been changed (eg, original, restored, etc.), respectively. By performing these functions and including the application cryptograms in legacy data fields, the transaction management server 102 does not require the use of a secure element on the mobile device 104 and for legacy payment systems. Without modification, it cannot be configured to process and verify remote payment transactions and contactless payment transactions using mobile device 104 with a high level of security.

상기 지불 네트워크(114)는 당업자에게 자명할 방법들 및 시스템들을 사용하여 지불 거래를 처리할 수 있다. 상기 처리의 일부로서, 상기 지불 네트워크(114)는 검증을 위해 상기 발행자(106)에게 상기 애플리케이션 암호들을 전송할 수 있다. 일부 실시예들에서, 상기 검증은 상기 지불 네트워크(114)에 의해 수행될 수 있다. 상기 발행자(106) 또는 상기 지불 네트워크(114)는 상기 거래 관리 서버(102)와 통신할 수 있다. 일부 실시예들에서, 상기 애플리케이션 암호들은 상기 거래 관리 서버(102)에게 전송될 수 있으며, 그리고 상기 애플리케이션 암호들은 상기 거래 관리 서버(102)를 사용한 검증 애플리케이션 암호 생성을 통해 확인될 수 있으며, 이 때, 상기 검증 애플리케이션 암호는 국부적으로 저장된 결제 크리덴셜들을 사용하여 생성될 수 있다. 다른 실시예들에서, 상기 발행자(106) 또는 지불 네트워크(114)는 상기 모바일 장치(104)에 의해 생성된 암호들에 대한 검증을 위해 암호들을 생성할 수 있고 상기 암호들을 상기 발행자(106) 또는 상기 지불 네트워크(114)에게 반환할 수 있는 상기 거래 관리 서버(102)에게 애플리케이션 암호를 요청할 수 있다. The payment network 114 may process payment transactions using methods and systems that will be apparent to those skilled in the art. As part of the processing, the payment network 114 may send the application cryptograms to the issuer 106 for verification. In some embodiments, the verification can be performed by the payment network 114. The issuer 106 or the payment network 114 may communicate with the transaction management server 102. In some embodiments, the application cryptograms may be sent to the transaction management server 102, and the application cryptograms may be verified through verification application cryptogram generation using the transaction management server 102, wherein The verification application cryptogram may be generated using locally stored payment credentials. In other embodiments, the issuer 106 or payment network 114 may generate ciphers for verification of ciphers generated by the mobile device 104 and convert the ciphers into the issuer 106 or An application cryptogram may be requested from the transaction management server 102, which may return to the payment network 114.

상기 거래 관리 서버(102)가 상기 애플리케이션 암호를 생성하기 위해 상기 모바일 장치(104)에 의해 사용되는 상기 결제 크리덴셜들 및 다른 데이터를 소유하기 때문에, 상기 지불 거래에 자금을 대기 위해 상기 모바일 장치(104)에 의해 생성되는 결제 크리덴셜들을 검증하는 것은 상기 모바일 장치(104)에 의해 생성된 애플리케이션 암호 및 상기 거래 관리 서버(102)에 의해 생성된 애플리케이션 암호의 비교를 통해 수행될 수 있다. 일부 실시예들에서, 상기 거래 관리 서버(102)는 상기 지불 네트워크(114) 또는 상기 발행자(106)의 일부일 수 있다. 상기 거래 관리 서버(102)가 상기 지불 네트워크(114)의 일부일 수 있는 경우, 상기 검증은 상기 지불 거래의 기존 처리의 일부로서 (예를 들어, 상기 소비자(108)의 거래 계정을 사용한 거래 자금에 대한 상기 발행자(106)와의 승인을 위해) 상기 발행자(106)에게 연락을 취하기 전에 수행될 수 있다. Since the transaction management server 102 owns the payment credentials and other data used by the mobile device 104 to generate the application cryptography, the mobile device ( Validating the payment credentials generated by 104 may be performed through a comparison of an application cryptogram generated by the mobile device 104 and an application cryptogram generated by the transaction management server 102. In some embodiments, the transaction management server 102 may be part of the payment network 114 or the issuer 106. If the transaction management server 102 may be part of the payment network 114, the verification is part of the existing processing of the payment transaction (eg, in transaction funds using the transaction account of the consumer 108). May be performed prior to contacting the issuer 106 for approval with the issuer 106.

여러 애플리케이션 암호들을 사용함으로써, 지불 거래의 보안성은 증가될 수 있다. 또한, 각각의 암호가 개별 데이터를 인증할 수 있는 경우(예를 들어, 하나의 암호가 상기 모바일 장치(104)를 인증하고, 다른 하나가 (예를 들어, 소비자의 PIN을 통해) 상기 모바일 장치(104) 및 상기 소비자(108) 모두를 인증하는 경우), 이는 또한 상기 발행자(106)에게, 거래를 승인 또는 거부하는 결정에 사용하기 위해 추가 데이터 및 고려사항들을 제공할 수도 있다. 예를 들어, 두 암호들 모두 부정확하다면(예를 들어, 상기 모바일 장치(104)에 의해 생성된 암호들이 상기 거래 관리 서버(102)에 의해 생성된 암호들과 일치하지 않는다면), 그 거래는 거부될 수 있다. 하나의 암호는 맞고 다른 하나는 맞지 않다면, 상기 거래는 보안성의 이유로 거부될 수 있으며, 또는 예를 들어 상기 발행자(106)의 결정에 기초하여 승인될 수 있다. 예를 들어, 상기 발행자(106)는, 소비자 인증은 실패하였지만 모바일 인증은 통과된 경우, 다른 이용 가능한 데이터가 상기 소비자(108)가 아닌 인증된 사용자가 거래를 위해 상기 모바일 장치(104)를 사용하고 있음을 나타낼 수 있을 때, 거래를 승인할 수 있다. By using multiple application cryptograms, the security of payment transactions can be increased. In addition, where each password can authenticate individual data (eg, one password authenticates the mobile device 104, and the other (eg, via a consumer's PIN). Certifying both 104 and the consumer 108), it may also provide the issuer 106 with additional data and considerations for use in the decision to approve or reject the transaction. For example, if both ciphers are incorrect (eg, the ciphers generated by the mobile device 104 do not match the ciphers generated by the transaction management server 102), the transaction is rejected. Can be. If one cipher is correct and the other is incorrect, the transaction may be rejected for security reasons, or may be approved based on the issuer 106's decision, for example. For example, the issuer 106 may use the mobile device 104 for a transaction by an authenticated user where other available data is not the consumer 108 if consumer authentication fails but mobile authentication has passed. When you can show that you are doing so, you can approve the transaction.

그 결과, 두 암호들의 사용은 지불 거래의 처리시 지불 네트워크(114) 및 발행자(106)에게 사용될 수 있는 유익한 데이터를 가능하게 할 수 있다. 또한, 두 개 이상의 암호들의 사용은 기존 비접촉식 지불 방법 또는 원격 지불 방법에서 보다 증가된 보안성을 가능하게 할 수 있으며, 이로써 소비자들(108), 발행자들(106) 및 상인들을 위해 적은 사기 행위 및 더 많은 수용을 야기할 수 있다. 두 개 이상의 애플리케이션 암호들의 사용이 본원에서 논의된 RNS 메시징 방법들 및 시스템들을 사용하여 안전하게 공급되고 본원에서 논의된 방법들 및 시스템들을 사용하여 생성된 강화된 저장키들을 통해 안전하게 저장된 결제 크리덴셜들로부터 생성된 경우, 상기 시스템(100)의 전체 보안성은 비접촉식 지불 및 거래 처리를 위한 기존의 시스템들에 비해 훨씬 더 증가될 수 있다. 그 결과, 상기 시스템(100)은, 데이터 전송, 데이터 저장 및 데이터 처리의 여러 관점들에서, 기존 비접촉식 지불 시스템들에서 제공된 것보다 증가된 보안성을 제공할 수 있으며, 그리고 대체적으로 본원에서 논의된 방법들 및 시스템들을 사용할 수 있는 다른 유형의 원격 지불 거래 및 지불 거래를 가능하게 할 수 있다.As a result, the use of both cryptograms may enable beneficial data that may be used for payment network 114 and issuer 106 in the processing of a payment transaction. In addition, the use of two or more ciphers may enable increased security in existing contactless or remote payment methods, thereby reducing the number of fraudulent behaviors for consumers 108, issuers 106, and merchants. Can cause more acceptance. The use of two or more application cryptograms is securely supplied using the RNS messaging methods and systems discussed herein and from securely stored payment credentials through enhanced storage keys generated using the methods and systems discussed herein. When created, the overall security of the system 100 may be much increased compared to existing systems for contactless payment and transaction processing. As a result, the system 100 may provide increased security than that provided in existing contactless payment systems, in various aspects of data transfer, data storage, and data processing, and generally discussed herein. Other types of remote payment transactions and payment transactions that may use the methods and systems may be enabled.

모바일 장치Mobile devices

도 2는 상기 시스템(100)의 모바일 장치(104)의 실시예를 도시한다. 도 2에 도시된 상기 모바일 장치(104)의 실시예는 오직 예시로서만 제공되었으며, 그리고 본원에서 설명된 것과 같은 기능들을 수행하기에 적합한 모바일 장치(104)의 모든 가능한 구성들을 망라하지는 않는다는 것은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게 자명할 것이다. 예를 들어, 도 17에 도시되고 이하에서 더 자세히 논의되는 컴퓨터 시스템(1700)은 상기 모바일 장치(104)의 적합한 구성일 수 있다. 2 illustrates an embodiment of a mobile device 104 of the system 100. The embodiment of the mobile device 104 shown in FIG. 2 is provided by way of example only, and does not cover all possible configurations of the mobile device 104 suitable for performing the functions as described herein. It will be apparent to those skilled in the art to which the invention pertains. For example, the computer system 1700 shown in FIG. 17 and discussed in more detail below may be a suitable configuration of the mobile device 104.

상기 모바일 장치(104)는 수신 유닛(202)을 포함할 수 있다. 상기 수신 유닛(202)은 하나 이상의 네트워크 프로토콜들을 통해 하나 이상의 네트워크들을 통해 데이터를 수신하도록 구성될 수 있다. 상기 수신 유닛(202)은, 예를 들어, 상기 모바일 장치(104) 상에 설치되고 상기 모바일 장치(104)에 의해 실행될 하나 이상의 애플리케이션 프로그램들(예를 들어, 이하에서 더 자세히 설명되는 모바일 결제 애플리케이션(MPA))을 위한 프로그램 데이터를 수신할 수 있다. 또한, 상기 수신 유닛(202)은 결제 크리덴셜들을 포함하는 RNS 메시지들을 포함하는 상기 거래 관리 서버(102)에 의해 전송된 메시지들 같은 원격 알림 서비스(RNS) 메시지를 수신할 수도 있다. 또한, 상기 수신 유닛(202)은 모바일 장치(104)의 기존 기능들(예를 들어, 통화, 이동 통신 등)을 수행하기에 적합한 추가 데이터를 수신할 수도 있다. 몇몇 예들에서, 상기 모바일 장치(104)는, 적절한 프로토콜들을 통해 하나 이상의 개별 네트워크들과 통신하도록 각각 구성된 개별 수신 유닛들(202) 같은 다수의 수신 유닛들(202)을 포함할 수 있다. 예를 들어, 상기 모바일 장치(104)는 NFC 거래를 위한 데이터를 수신하는 제1 수신 유닛(202) 및 모바일 통신 네트워크를 통한 통신을 수신하는 제2 수신 유닛(202)을 포함할 수 있다.The mobile device 104 can include a receiving unit 202. The receiving unit 202 may be configured to receive data over one or more networks via one or more network protocols. The receiving unit 202 is, for example, one or more application programs installed on the mobile device 104 and to be executed by the mobile device 104 (eg, a mobile payment application described in more detail below). Program data (MPA)). In addition, the receiving unit 202 may receive a Remote Notification Service (RNS) message, such as messages sent by the transaction management server 102 including RNS messages containing payment credentials. In addition, the receiving unit 202 may receive additional data suitable for performing existing functions (eg, call, mobile communication, etc.) of the mobile device 104. In some examples, the mobile device 104 may include multiple receiving units 202, such as individual receiving units 202, each configured to communicate with one or more separate networks via appropriate 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)은 상기 소비자(108)로부터 입력을 수신할 수 있으며, 그리고 상기 입력은 처리 유닛(204)에 의해 처리될 수 있다. In addition, the mobile device 104 may include an input unit 214. The input unit 214 is one or more input devices (eg, keyboard, mouse, click wheel, scroll wheel) connected internally or externally with the mobile device 104 to receive input from the consumer 108. , Touch screen, microphone, camera, receiver, etc.). The input unit 214 can receive an input from the consumer 108, and the input can be processed by the processing unit 204.

상기 처리 유닛(204)은 본원에 논의된 상기 모바일 장치(104)의 기능들을 수행하도록 구성될 수 있다. 상기 처리 유닛(204)은 예를 들어 상기 MPA를 위해 상기 모바일 장치 내에 저장된 프로그램 코드를 실행할 수 있으며, 그리고 상기 모바일 장치(104)의 다른 기능들뿐만 아니라 각각의 애플리케이션 프로그램과 연관된 다수의 기능들을 수행하도록 구성될 수 있다. 상기 처리 유닛(204)은 상기 입력 유닛(214)을 통해 상기 소비자(108)로부터 입력을 수신할 수 있으며, 그리고 이에 따라, 예를 들어 애플리케이션 프로그램을 실행함으로써, 프로그램 내에 기능들을 수행함으로써, 데이터를 수신함으로써, 데이터를 전송함으로써, 데이터를 디스플레이함으로써, 기능들을 수행할 수 있다. 이는 당업자에게 자명할 것이다. 예를 들어, 상기 처리 유닛(204)은 RNS 메시지들을 검증하고, 향상된 강화된 저장키들을 생성하고, 그리고 애플리케이션 암호들을 생성하도록 구성될 수 있으며, 이는 이하에서 더 자세히 설명된다. The processing unit 204 may be configured to perform the functions of the mobile device 104 discussed herein. The processing unit 204 may execute program code stored in the mobile device for the MPA, for example, and perform a number of functions associated with each application program as well as other functions of the mobile device 104. It can be configured to. The processing unit 204 may receive input from the consumer 108 via the input unit 214, and accordingly perform data within the program, for example by executing an application program, thereby receiving data. Functions can be performed by receiving, transmitting data, and displaying data. This will be apparent to those skilled in the art. For example, the processing unit 204 may be configured to verify RNS messages, generate enhanced enhanced storage keys, and generate application cryptograms, which is described in more detail below.

또한, 상기 모바일 장치(104)는 디스플레이 유닛(210)을 포함할 수 있다. 상기 디스플레이 유닛(210)은 데이터(예를 들어, 상기 처리 유닛(204)에 의해 디스플레이를 위해 상기 디스플레이 유닛(210)에게 전송된 데이터)를 디스플레이하기 위해 상기 모바일 장치(104)와 내부적으로 또는 외부적으로 연결된 하나 이상의 디스플레이 장치들과 통신하도록 구성될 수 있다. 디스플레이 장치들은 LCD(liquid crytal display), 발광 다이오드 디스플레이, 박막 트랜지스터 디스플레이, 터치스크린 디스플레이 등을 포함할 수 있다.In addition, the mobile device 104 may include a display unit 210. The display unit 210 is internal or external to the mobile device 104 to display data (eg, data sent by the processing unit 204 to the display unit 210 for display). It may be configured to communicate with one or more display devices that are connected. Display devices may include a liquid crytal display (LCD), a light emitting diode display, a thin film transistor display, a touch screen display, and the like.

또한, 상기 모바일 장치(104)는 전송 유닛(206)을 포함할 수 있다. 상기 전송 유닛(206)은 하나 이상의 네트워크 프로토콜들을 통해 하나 이상의 네트워크를 통해 데이터를 전송하도록 구성될 수 있다. 상기 전송 유닛(206)은 상기 거래 관리 서버(102)에게 RNS 응답 메시지들을 전송할 수 있다. 또한, 상기 전송 유닛(206)은 지불 거래에 사용하기 위해 (예를 들어, 판매 시점 관리(110)에게) 애플리케이션 암호들 및/또는 결제 크리덴셜들을 전송하도록 구성될 수 있다. 상기 전송 유닛(206)은 본 발명이 속하는 기술분야의 지식을 가진 자에게 자명할 상기 모바일 장치(104)의 추가 기능들(예를 들어, 셀룰러 통신 전송을 위한 모바일 통신 장치의 기존 기능들 등)을 수행하도록 더 구성될 수 있다. 일부 예들에서, 상기 모바일 장치(104)는 하나 이상의 개별 네트워크들과 통신하도록 개별적으로 구성될 수 있는 다수의 전송 유닛들(206)을 포함할 수 있다. 상기 다수의 전송 유닛들(206)은 NFC를 통해 결제 크리덴셜 및 결제 암호를 전송하도록 구성된 전송 유닛(206) 및 모바일 통신 네트워크를 통해 데이터를 전송하도록 구성된 또 다른 전송 유닛(206) 같은 것이 있다.In addition, the mobile device 104 may include a transmission unit 206. The transmitting unit 206 may be configured to transmit data over one or more networks via one or more network protocols. The sending unit 206 may send RNS response messages to the transaction management server 102. Further, the sending unit 206 may be configured to send application cryptograms and / or payment credentials for use in a payment transaction (eg, to point of sale management 110). The transmission unit 206 may be further functions of the mobile device 104 (e.g., existing functions of the mobile communication device for cellular communication transmission, etc.) that will be apparent to those skilled in the art. It may be further configured to perform. In some examples, the mobile device 104 may include a number of transmission units 206 that may be individually configured to communicate with one or more separate networks. The plurality of transmission units 206 are the same as the transmission unit 206 configured to transmit payment credentials and payment cryptography via NFC and another transmission unit 206 configured to transmit data via the mobile communication network.

또한, 상기 모바일 장치(104)는 카드 데이터베이스(208)를 포함할 수 있다. 이하에서 더 자세히 설명되는 카드 데이터베이스(208)는 하나 이상의 거래 계정들 및/또는 지불 카드들과 연관된 데이터를 저장하도록 구성된 상기 모바일 장치(104) 상의 데이터 저장소일 수 있다. 상기 카드 데이터베이스(208)는 보안 RNS 메시지 내에서 상기 거래 관리 서버(102)에 의해 상기 모바일 장치(104)에게 공급된 결제 크리덴셜 같이, 상기 거래 계정과 연관된 결제 크리덴셜들을 저장할 수 있으며, 애플리케이션 암호의 생성을 위해 사용될 수 있는 추가 데이터를 저장할 수 있다. 이는 이하에서 더 자세히 설명된다. 일부 예들에서, 상기 카드 데이터베이스(208)는 상기 모바일 결제 애플리케이션의 일부로서 저장될 수 있다. The mobile device 104 may also include a card database 208. The card database 208, described in more detail below, may be a data store on the mobile device 104 configured to store data associated with one or more trading accounts and / or payment cards. The card database 208 may store payment credentials associated with the trading account, such as payment credentials supplied by the transaction management server 102 to the mobile device 104 in a secure RNS message, and an application cryptogram. It can store additional data that can be used for the generation of. This is explained in more detail below. In some examples, the card database 208 may be stored as part of the 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. The memory 212, discussed in more detail below, may be configured to store data for the mobile device 104 suitable for performing the functions of the mobile device 104 discussed herein. For example, the memory 212 may store data suitable for generating enhanced storage keys for encryption of additional data in the mobile device 104, such as the card database 208. This is explained in more detail below. The memory 212 also receives program code for an application program executed by the processing unit 204 (eg, an operating system, the data via the input unit 214, and receives the display unit 210). Program code for displaying data, rules and / or algorithms for performing the functions discussed herein, etc.). The memory 212 may also store data (e.g., rules and / or algorithms for transmitting and receiving cellular communications over the mobile network) suitable for performing existing functions of the mobile device 104. have. Additional data stored in the memory 212 will be apparent to those skilled in the art.

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

도 3은 상기 모바일 장치(108)를 이용하여 수행되는 지불 거래에 자금을 대는데 사용하기 위한 거래 계정과 연관된 결제 크리덴셜들 및 다른 데이터를 저장하기 위한 상기 모바일 장치(104) 상의 카드 데이터베이스(208)의 실시예를 도시한다.3 illustrates a card database 208 on the mobile device 104 for storing payment credentials and other data associated with a trading account for use in funding a payment transaction performed using the mobile device 108. An embodiment of the is shown.

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

상기 결제 크리덴셜들(304)은 관련 거래 계정을 사용하여 지불 거래를 처리할 때 상기 지불 네트워크(114) 및/또는 상기 발행자(106)에 의한 식별 및 검증을 위해 사용된 상기 관련 거래 계정과 연관된 데이터를 포함할 수 있다. 상기 결제 크리덴셜들(304)은 예를 들어 거래 계정 번호, 보안 코드, 만료일, 카드소유자 이름, 인증된 사용자 이름, 트래킹 데이터(tracking data), 카드 레이아웃 기술 데이터(card layout description data), 디지트 카운트(digit counts), 비트맵 등을 포함할 수 있다. The payment credentials 304 are associated with the associated transaction account used for identification and verification by the payment network 114 and / or the issuer 106 when processing a payment transaction using the associated transaction account. May contain data. The payment credentials 304 may include, for example, a transaction account number, security code, expiration date, cardholder name, authenticated user name, tracking data, card layout description data, and digit count. (digit counts), bitmaps, and the like.

1회용 키들(306)은 지불 거래에 사용되는 애플리케이션 암호들 중 하나 이상을 생성하기 위해 상기 모바일 장치(104)의 처리 유닛(204)에 의해 사용될 수 있는 단일 지불 거래를 위해 유효한 지불 토큰들일 수 있다. 일부 실시예들에서, 1회용 키(306)는 상기 지불 프로파일(302) 내에 포함된 다른 데이터 요소들 중 하나 이상을 포함할 수 있다. 예를 들어, 각각의 1회용 키(306)는 상기 지불 프로파일(302) 내에 별도로 포함될 수 없는 별개의 애플리케이션 거래 카운터(312)를 포함할 수 있다. 본원에 개시된 기능들을 수행하는데 사용하기 위한 상기 지불 프로파일(302) 내에 저장된 데이터의 서로 다른 구성들은 당업자에게 자명할 것이다. 몇몇 예들에서, 상기 1회용 키(306)는 하나 이상의 애플리케이션 암호들을 생성하는데 사용된 키를 포함할 수 있으며, 또는 하나 이상의 애플리케이션 암호들을 생성하는데 사용된 키로 구성될 수 있다. 일부 실시예들에서, 상기 제1 세션 키(308) 및 상기 제2 세션 키(310)는 상기 모바일 장치(104)에게 공급되는 1회용 키(306)에 포함될 수 있으며, 그리고 상기 1회용 키(306) 내에 포함된 데이터를 사용하여 생성될 수 있다. Disposable keys 306 may be valid payment tokens for a single payment transaction that may be used by processing unit 204 of the mobile device 104 to generate one or more of the application cryptograms used for the payment transaction. . In some embodiments, the disposable key 306 may include one or more of the other data elements included in the payment profile 302. For example, each disposable key 306 may include a separate application transaction counter 312 that may not be included separately in the payment profile 302. Different configurations of data stored in the payment profile 302 for use in performing the functions disclosed herein will be apparent to those skilled in the art. In some examples, the disposable key 306 may include a key used to generate one or more application cryptograms, or may consist of a key used to generate one or more application cryptograms. In some embodiments, the first session key 308 and the second session key 310 may be included in a disposable key 306 supplied to the mobile device 104, and the disposable key ( 306 can be generated using the data contained within.

상기 제1 세션키(308) 및 상기 제2 세션키(310)는 상기 모바일 장치(104)를 사용하여 지불 거래를 수행하는 것의 일부로서 상기 판매 시점 관리(110)에게 전송되는 애플리케이션 암호들을 생성할 때 상기 처리 유닛(204)에 의해 사용되는 추가 키들일 수 있다. 일부 실시예들에서, 상기 제1 세션 키(308)는 (예를 들어, 상기 모바일 장치(104)의 메모리(212) 내에 저장된 프로그램 코드, 규칙들 또는 알고리즘들을 사용하여) 상기 처리 유닛(204)에 의해 제1 애플리케이션 암호를 생성할 때 사용될 수 있다. 상기 제2 세션키(310)는 제2 애플리케이션 암호를 생성할 때 사용될 수 있다.The first session key 308 and the second session key 310 may generate application cryptograms that are sent to the point of sale management 110 as part of performing a payment transaction using the mobile device 104. May be additional keys used by the processing unit 204. In some embodiments, the first session key 308 is the processing unit 204 (eg, using program code, rules or algorithms stored in the memory 212 of the mobile device 104). May be used when generating a first application cryptogram. The second session key 310 may be used when generating a second application cryptogram.

일부 실시예들에서, 상기 제2 세션키(310)는 상기 처리 유닛(204)에 의해 생성될 수 있다. 이러한 실시예에서, 상기 제2 세션 키(310)는 1회용 키(306) 및 사용자 인증 데이터(예를 들어, (예를 들어, 상기 입력 유닛(214)을 통해) 상기 소비자(108)에 의해 제공된 PIN)를 사용하여 생성될 수 있다. 이러한 실시예에서, 상기 제2 세션 키(310)는 상기 지불 프로파일(302) 내에 저장되지 않을 수 있으며, 그 대신에, 상기 지불 거래 프로세스의 일부로서 생성되고, 사용되고, 그리고 버려질 수 있다. 따라서, 상기 제2 애플리케이션 암호는, 상기 1회용 키(306) 및 상기 소비자 PIN을 사용하여 생성된 상기 제2 세션 키(310)로부터 생성될 때, 상기 모바일 장치(104) 및 상기 소비자(108) 모두를 인증하는 역할을 할 수 있다. In some embodiments, the second session key 310 may be generated by the processing unit 204. In this embodiment, the second session key 310 is used by the consumer 108 (e.g., via the input unit 214) and the disposable key 306 and user authentication data (e.g., via the input unit 214). Generated PIN). In such an embodiment, the second session key 310 may not be stored in the payment profile 302, but instead may be generated, used, and discarded as part of the payment transaction process. Thus, when the second application cryptogram is generated from the second session key 310 generated using the one-time key 306 and the consumer PIN, the mobile device 104 and the consumer 108 It can serve to authenticate everyone.

상기 개인 식별 번호(personal identification number; PIN)는 상기 소비자(108)를 인증하는데 사용될 수 있는 (예를 들어, 상기 모바일 장치(104) 상의 MPA의 등록 동안, 또는 상기 발행자(106) 및/또는 상기 거래 관리 서버(102)와의 거래 계정의 등록 동안) 상기 소비자(108)에 의해 공급된 번호일 수 있다. 지불 거래를 수행할 때, 상기 소비자(108) 또는 상기 모바일 장치(104)의 다른 사용자는 상기 입력 유닛(214)을 통해 PIN을 제공할 수 있다. 일부 실시예들에서, 공급된 PIN이 올바르지 않다면(예를 들어, 공급된 PIN이 등록 동안 상기 소비자(108)에 의해 공급된 PIN과 일치하지 않는다면), 상기 처리 유닛(204)은 상기 제2 세션 키(310)를 생성하고 그 후 상기 제2 애플리케이션 암호를 생성하는 것을 계속할 수 있다. 상기 공급된 PIN이 올바르지 않는다면, 이로써 상기 제2 애플리케이션 암호는 올바르지 않을 것이며, 이는 상기 거래 관리 서버(102), 상기 발행자(106) 및/또는 상기 지불 네트워크(114)에 의한 상기 제2 애플리케이션 암호의 실패된 인증을 야기할 것이며, 이로써, 상기 발행자(106)에게 그에 부응하여 상기 거래를 거부하거나, 또는 그럼에도 불구하고 상기 거래를 승인할 기회를 제공할 수 있다.The personal identification number (PIN) may be used to authenticate the consumer 108 (eg, during registration of the MPA on the mobile device 104, or the issuer 106 and / or the During registration of a trading account with the transaction management server 102). When performing a payment transaction, the consumer 108 or another user of the mobile device 104 may provide a PIN through the input unit 214. In some embodiments, if the supplied PIN is not correct (eg, if the supplied PIN does not match the PIN supplied by the consumer 108 during registration), the processing unit 204 may perform the second session. Generating key 310 may then continue to generate the second application cryptogram. If the supplied PIN is not correct, then the second application cryptogram will not be correct, which means that the second application cryptogram by the transaction management server 102, the issuer 106 and / or the payment network 114 is invalid. Will cause a failed authentication, thereby providing the issuer 106 with the opportunity to reject the transaction in response, or nevertheless approve the transaction.

모바일 장치 메모리Mobile device memory

도 4는 상기 모바일 장치(104)를 사용하여 지불 거래를 수행하기 위해, 그리고 상기 모바일 장치(104) 상에 데이터를 안전하게 저장하는데 사용될 다른 데이터 및 애플리케이션 프로그램들을 저장하기 위한, 상기 모바일 장치(104)의 메모리(212)의 일실시예를 도시한다. 예시적 실시예에서, 상기 메모리(212)는 보안 요소가 아닐 수 있다. 4 illustrates the mobile device 104 for performing payment transactions using the mobile device 104 and for storing other data and application programs that will be used to securely store data on the mobile device 104. One embodiment of a memory 212 is shown. In an exemplary embodiment, the memory 212 may not be a secure element.

상기 메모리(212)는 장치 정보(402)를 포함할 수 있다. 상기 장치 정보(402)는 상기 모바일 장치(104)와 연관된 하나 이상의 데이터 피스들을 포함할 수 있으며, 몇몇 예들에서, 상기 하나 이상의 데이터 피스들은 상기 모바일 장치(104)에 고유할 수 있다. 예를 들어, 상기 장치 정보(402)는 MAC(media access control address) 주소, 참조 번호, 일련번호, 식별번호 등을 포함할 수 있다. 모바일 장치(104)의 장치 정보(402)로 고려될 수 있는 추가 정보는 당업자에게 자명할 것이다.The memory 212 may include device information 402. The device information 402 may include one or more data pieces associated with the mobile device 104, and in some examples, the one or more data pieces may be unique to the mobile device 104. For example, the device information 402 may include a media access control address (MAC) address, a reference number, a serial number, an identification number, and the like. Additional information that may be considered device information 402 of mobile device 104 will be apparent to those skilled in the art.

또한, 상기 메모리(212)는 모바일 결제 애플리케이션(MPA)(404)을 포함할 수 있다. 상기 MPA(404)는 결제 크리덴셜들의 수신 및 저장, RNS 메시지들 검증, 그리고 지불 거래를 수행할 때 사용하기 위한 애플리케이션 암호들의 생성 같은 본원에서 논의되는 상기 모바일 장치(104)의 기능들을 수행하도록 구성된 애플리케이션 프로그램일 수 있다. 상기 MPA(404)의 추가 특징들은 본 발명이 속하는 기술분야의 지식을 가진 자에게 자명할 전자 지갑 또는 다른 유사 애플리케이션 프로그램의 기존 특징들을 포함할 수 있다.The memory 212 may also include a mobile payment application (MPA) 404. The MPA 404 is configured to perform the functions of the mobile device 104 discussed herein, such as receiving and storing payment credentials, verifying RNS messages, and generating application cryptograms for use in performing a payment transaction. It may be an application program. Additional features of the MPA 404 may include existing features of an electronic wallet or other similar application program that will be apparent to those skilled in the art.

상기 MPA(404)는 프로그램 코드(406)를 포함할 수 있다. 상기 프로그램 코드(406)는, 상기 모바일 장치(104)의 상기 처리 유닛(204)에 의해 실행되는 코드로서, 상기 모바일 장치(104)의 처리 유닛(204) 및 다른 컴포넌트들이 본원에서 논의되는 바와 같은 상기 MPA(404)의 기능들을 수행하도록 유발시키는 코드일 수 있다. 예를 들어, 상기 프로그램 코드(406)는 애플리케이션 암호들을 생성하고 RNS 메시지들을 검증하는 등을 위해 적합한 코드를 포함할 수 있다. 상기 프로그램 코드(406)는 또한 강화된 저장키를 생성할 때 사용될 수 있는 랜덤 값을 생성하기 위해 적합한 프로그램 코드도 포함할 수 있다. 상기 랜덤 값은 본 발명이 속하는 기술분야의 지식을 가진 자에게 자명할 방법들 및 시스템들을 사용하여 생성될 수 있는 난수 또는 의사-난수일 수 있다. The MPA 404 may include program code 406. The program code 406 is code executed by the processing unit 204 of the mobile device 104, such that the processing unit 204 and other components of the mobile device 104 are discussed herein. It may be code that causes the MPA 404 to perform the functions. For example, the program code 406 may include code suitable for generating application cryptograms, verifying RNS messages, and the like. The program code 406 may also include program code suitable for generating a random value that may be used when generating the enhanced storage key. The random value may be a random number or pseudo-random number that may be generated using methods and systems that will be apparent to those skilled in the art.

또한, 상기 MPA(404)는 인스턴스 식별자(408)를 포함할 수 있다. 상기 인스턴스 식별자(408)는 상기 모바일 장치(104) 내에(예를 들어, 상기 카드 데이터베이스(208)내에) 데이터를 보호하는데 사용되는 상기 강화된 저장키의 생성 시 사용될 수 있는, 특정 MPA(404)에 고유한 값일 수 있다. 상기 MPA(404)에 고유한 상기 인스턴스 식별자(408)를 가짐으로써, 다수의 MPA들(404)은 상기 모바일 장치(104) 상에 설치될 수 있으며, 어느 MPA(404)도 임의의 다른 MPA(404)에 의해 안전하게 저장되는 데이터에 액세스할 수 없고, 이로써, 특정 거래 계정들을 위한 지불 프로파일들(302)이 다른 프로그램들에 의해 액세스될 수 없다는 것을 보장할 수 있다. 상기 인스턴스 식별자(408)는 MPA(404)에 대해 고유할 수 있는 숫자, 영숫자(alphanumeric) 값, 16진수 값, 또는 임의의 적절한 값일 수 있다. In addition, the MPA 404 may include an instance identifier 408. The instance identifier 408 may be used in the generation of the enhanced storage key used to protect data in the mobile device 104 (eg, in the card database 208), specific MPA 404. Can be unique. By having the instance identifier 408 unique to the MPA 404, a number of MPAs 404 can be installed on the mobile device 104, and any MPA 404 can be any other MPA ( Data securely stored by 404 may not be accessible, thereby ensuring that payment profiles 302 for certain trading accounts cannot be accessed by other programs. The instance identifier 408 may be a number, alphanumeric value, hexadecimal value, or any suitable value that may be unique for the MPA 404.

이하에서 더 상세히 논의되는 바와 같이, 상기 모바일 장치(104)의 처리 유닛(204)은 상기 장치 정보(402), 상기 MPA(404)의 프로그램 코드(406)를 사용하여 생성된 랜덤값, 그리고 상기 MPA(404) 내에 저장된 인스턴스 식별자(408)를 사용하여 다각화 값(diversifier value)을 생성하도록 구성될 수 있다. 상기 다각화 값은 상기 메모리(212) 내에 저장된 암호화 애플리케이션(cryptography application)(410)에 의해 사용될 수 있다. 상기 암호화 애플리케이션(410)은 화이트박스 암호 및/또는 당업자에게 자명할 다른 적절한 암호 기능을 수행하도록 구성된 애플리케이션 프로그램일 수 있다. As will be discussed in more detail below, the processing unit 204 of the mobile device 104 may include the device information 402, a random value generated using the program code 406 of the MPA 404, and the It may be configured to generate a diversifier value using the instance identifier 408 stored in the MPA 404. The diversification value may be used by a cryptographic application 410 stored in the memory 212. The cryptographic application 410 may be an application program configured to perform whitebox cryptography and / or other suitable cryptographic functions that will be apparent to those skilled in the art.

상기 암호화 애플리케이션(410)은 프로그램 코드(412)를 포함할 수 있다. 상기 프로그램 코드(412)는, 상기 모바일 장치(104)의 처리 유닛(204) 및 다른 컴포넌트들이 본원에서 논의되는 상기 암호화 애플리케이션(410)의 암호 기능들을 수행할 수 있게 하기 위해, 상기 모바일 장치(104)의 처리 유닛(204)에 의해 실행될 수 있다. 상기 기능들은 강화된 저장키의 생성을 포함할 수 있다. 상기 강화된 저장키는 상기 암호화 애플리케이션(410) 내에 포함된 암호화 키(encryption key)(414) 및 상기 모바일 결제 애플리케이션(404)에 의해 생성된 상기 다각화값을 사용하여 생성될 수 있다. 일부 실시예들에서, 상기 다각화 키는 상기 강화된 저장 키를 획득하기 위해 상기 암호화 키(414)를 사용하여 해독될 수 있다. The cryptographic application 410 may include program code 412. The program code 412 is configured to enable the processing unit 204 and other components of the mobile device 104 to perform cryptographic functions of the cryptographic application 410 discussed herein. May be executed by the processing unit 204. The functions may include the generation of an enhanced storage key. The enhanced storage key may be generated using an encryption key 414 included in the encryption application 410 and the diversification value generated by the mobile payment application 404. In some embodiments, the diversification key can be decrypted using the encryption key 414 to obtain the enhanced storage key.

또한, 상기 암호화 애플리케이션(410)은 상기 강화된 저장키를 사용하여 상기 모바일 장치(104) 내의 저장소를 암호화하도록 구성된다. 일부 실시예들에서, 상기 암호화는 하나 이상의 화이트박스 암호 기법을 사용하여 수행될 수 있다. 상기 암호화된 저장소는 상기 MPA(404) 내에 저장된 데이터 같은, 상기 모바일 장치(104) 내의 상기 카드 데이터베이스(208) 및/또는 임의의 다른 적절한 저장소일 수 있다. 일부 실시예들에서, 상기 암호화 애플리케이션(410)은 상기 MPA(404)의 일부로서 포함될 수 있다. 상기 강화된 저장키는 상기 암호화 애플리케이션(410) 또는 상기 MPA(404) 내에 저장될 수 있으며, 또는 몇몇 예들에서, 필요할 때, 상기 MPA(404) 및 상기 암호화 애플리케이션(410)에 의해 재-생성될 수 있다.In addition, the encryption application 410 is configured to encrypt the storage in the mobile device 104 using the enhanced storage key. In some embodiments, the encryption can be performed using one or more whitebox cryptography techniques. The encrypted store may be the card database 208 and / or any other suitable store in the mobile device 104, 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 enhanced storage key may be stored in the encryption application 410 or the MPA 404, or in some examples, may be re-generated by the MPA 404 and the encryption application 410 when needed. Can be.

또한, 상기 메모리(212)는, 모바일 장치들의 임의의 추가 기능들뿐만 아니라 본원에서 논의되는 기능들을 수행하기에 적합한 상기 모바일 장치(104) 내에 저장된 임의의 추가 데이터를 포함할 수 있다. 예를 들어, 상기 메모리(212)는 전화 통화 등과 같은 모바일 통신을 수신하고 전송하기 위한 운영체제, 코드, 규칙들 또는 알고리즘들을 위한 프로그램 코드를 포함할 수 있다. In addition, the memory 212 may include any additional data stored in the mobile device 104 suitable for performing the functions discussed herein, as well as any additional functions of the mobile devices. For example, the memory 212 may include program code for an operating system, code, rules or algorithms for receiving and transmitting mobile communications, such as a telephone call.

일부 실시예들에서, 상기 모바일 장치(104)는 또한 상기 강화된 저장키를 사용하여 이미 암호화된 데이터를 수신하도록 구성될 수 있으며, 이 경우, 상기 암호화된 데이터는 상기 메모리(212), 상기 카드 데이터베이스(208) 또는 다른 적절한 저장소와 같은, 상기 모바일 장치(104) 내의 암호화된 로컬 저장소에 저장될 수 있다. 이러한 실시예에서, 상기 모바일 장치(104)는 상기 거래 관리 서버(102) 또는 다른 신뢰성있는 엔티티에게 상기 생성된 랜덤 값을 전송하도록 구성될 수 있으며, 상기 거래 관리 서버(102) 또는 다른 신뢰성있는 엔티티는 상기 생성된 랜덤 값을 사용하는 동일한 방법들 및 시스템들을 이용하여 상기 강화된 저장키를 생성할 수 있으며, 그리고 상기 모바일 장치(104)에게 공급되는 데이터를 암호화할 수 있다. 이에 따라, 상기 모바일 장치(104)는 상기 모바일 장치(104) 내의 로컬 저장소를 위해, 상기 강화된 저장키를 사용하여 이미 암호화된 데이터를 수신할 수 있다. In some embodiments, the mobile device 104 may also be configured to receive data that has already been encrypted using the enhanced storage key, in which case the encrypted data is stored in the memory 212, the card. May be stored in an encrypted local store within the mobile device 104, such as a database 208 or other suitable store. In such embodiments, the mobile device 104 may be configured to send the generated random value to the transaction management server 102 or another trusted entity, and the transaction management server 102 or other trusted entity. May generate the enhanced storage key using the same methods and systems using the generated random value, and may encrypt the data supplied to the mobile device 104. Accordingly, the mobile device 104 can receive data that has already been encrypted using the enhanced storage key for local storage in the mobile device 104.

거래 관리 서버Transaction management server

도 5는 상기 시스템(100)의 상기 거래 관리 서버(102)의 일실시예를 도시한다. 도 5에 도시된 상기 거래 관리 서버(102)의 실시예는 오직 예시로서만 제공되었으며, 그리고 본원에서 설명된 것과 같은 기능들을 수행하기에 적합한 상기 거래 관리 서버(102)의 모든 가능한 구성들을 망라하지는 않는다는 것은 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 자명할 것이다. 예를 들어, 도 17에 도시되고 이하에서 더 자세히 논의되는 컴퓨터 시스템(1700)은 상기 거래 관리 서버(102)의 적합한 구성일 수 있다. 5 illustrates one embodiment of the transaction management server 102 of the system 100. The embodiment of the transaction management server 102 shown in FIG. 5 has been provided by way of example only and does not cover all possible configurations of the transaction management server 102 suitable for performing functions as described herein. It will be apparent to those skilled in the art to which the present invention pertains. For example, the computer system 1700 shown 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)은, 예를 들어 상기 발행자(106)로부터, 상기 모바일 장치(104)에게 제공하기 위해 결제 크리덴셜들을 생성하는데 사용하기 위한 거래 계정 데이터를 수신할 수 있다.The transaction management server 102 may include a receiving unit 502. The receiving unit 502 may be configured to receive data over one or more networks via one or more network protocols. The receiving unit 502 may receive data such as a receive or return message, a confirmation message, a transaction notification, etc. from the mobile device 104, and from the payment network 114, the issuer 106 or another suitable entity. Data can be received. The receiving unit 502 may receive a transaction notification or cryptographic request, for example to initiate generating an application cryptogram for use in verifying payment credentials in a payment transaction. The receiving unit 502 can also receive transaction account data for use in generating payment credentials for providing to the mobile device 104, for example from the issuer 106.

또한, 상기 거래 관리 서버(102)는 처리 유닛(504)을 포함할 수 있다. 상기 처리 유닛(504)은 본원에서 논의되는 상기 거래 관리 서버(102)의 기능들을 수행하도록 구성될 수 있으며, 이는 당업자에게 자명할 것이다. 이에 따라 상기 처리 유닛(504)은 : RNS 메시지들 및 그 곳에 포함된 데이터를 생성하고 해독하고; 상기 모바일 장치(104)로부터의 리턴 메시지들을 검증하고; 결제 크리덴셜들을 생성하고; 애플리케이션 암호들을 생성하고; 애플리케이션 암호들을 검증하도록 구성될 수 있다. 이는 이하에서 더 자세히 논의될 것이다. In addition, the transaction management server 102 may include a processing unit 504. The processing unit 504 may be configured to perform the functions of the transaction management server 102 discussed herein, which will be apparent to those skilled in the art. The processing unit 504 thus: generates and decrypts RNS messages and data contained therein; Verify return messages from the mobile device (104); Generate payment credentials; Generate application ciphers; It may be configured to verify application cryptograms. This will be discussed in more detail below.

상기 거래 관리 서버(102)는 전송 유닛(506)을 더 포함할 수 있다. 상기 전송 유닛(506)은 하나 이상의 네트워크 프로토콜들을 통해 하나 이상의 네트워크들을 통해 데이터를 전송하도록 구성될 수 있다. 상기 전송 유닛(506)은 RNS 메시지들, 결제 크리덴셜들, 애플리케이션 암호들, 검증 알림 및 당업자에게 자명할 다른 데이터를 전송할 수 있다. 상기 전송 유닛(506)은, 예를 들어 모바일 통신 네트워크 또는 인터넷을 통해, 상기 모바일 장치(104)에게 데이터를 전송하도록 구성될 수 있으며, 상기 지불 네트워크(114), 상기 발행자(106) 및 임의의 다른 적절한 엔티티에게 데이터를 전송하도록 구성될 수 있다. The transaction management server 102 may further include a transmission unit 506. The transmitting unit 506 may be configured to transmit data over one or more networks via one or more network protocols. The sending unit 506 may send RNS messages, payment credentials, application cryptograms, verification notifications, and other data that will be apparent to those skilled in the art. The transmitting unit 506 may be configured to transmit data to the mobile device 104, for example, via a mobile communication network or the Internet, the payment network 114, the issuer 106 and any It may be configured to send data to another suitable entity.

또한, 상기 거래 관리 서버(102)는 계정 데이터베이스(508)를 포함할 수 있다. 이하에서 더 상세히 논의되는 계정 데이터베이스(508)는 다수의 거래 계정들에 대한 계정 정보를 저장하도록 구성될 수 있다. 상기 계정 정보는 상기 모바일 장치(104)를 사용하여 수행되는 지불 거래 동안 수신된 결제 크리덴셜들을 검증할 때 사용되는 애플리케이션 암호들의 생성을 위해 사용되는 데이터 및 키들을 포함할 수 있다. 또한, 상기 계정 데이터베이스(508)는 상기 모바일 장치(104)가 관여하여 수행되는 지불 거래를 위한 거래 데이터, 그리고 다른 데이터(예를 들어, 상기 소비자(108)와 연관된 데이터 또는 상기 관련 거래 계정의 다른 인가된 사용자들과 연관된 데이터)를 저장하도록 구성될 수 있다.In addition, the transaction management server 102 may include an account database 508. The account database 508, discussed in more detail below, can be configured to store account information for multiple trading accounts. The account information may include data and keys used for generation of application cryptograms used when verifying payment credentials received during a payment transaction performed using the mobile device 104. The account database 508 also provides transaction data for payment transactions performed in conjunction with the mobile device 104, and other data (e.g., data associated with the consumer 108 or other associated transaction accounts). Data associated with authorized users).

또한, 상기 거래 관리 서버(102)는 메모리(510)를 포함할 수 있다. 상기 메모리(510)는 본원에 개시된 기능들을 수행할 때 상기 거래 관리 서버(102)에 의한 사용을 위한 추가 데이터를 저장하도록 구성될 수 있다. 예를 들어, 상기 메모리(510)는 애플리케이션 암호들의 검증을 위한 규칙들 또는 알고리즘들, 검증 알림의 생성을 위한 규칙들 또는 알고리즘들, 세션 키들 및 애플리케이션 암호들의 생성을 위한 알고리즘들, 데이터의 암호화 및 해독화를 위한 암호화 키들, 그리고 RNS 메시지들 등을 저장할 수 있다. 상기 메모리(510) 내에 저장될 수 있는 추가 데이터는 당업자에게 자명할 것이다. In addition, the transaction management server 102 may include a memory 510. The memory 510 may be configured to store additional data for use by the transaction management server 102 when performing the functions disclosed herein. For example, the memory 510 may include rules or algorithms for verifying application cryptograms, rules or algorithms for generating verification notification, algorithms for generating session keys and application cryptograms, encryption of data and Encryption keys for decryption, and RNS messages can be stored. Additional data that may be stored in the memory 510 will be apparent to those skilled in the art.

거래 관리 서버의 계정 데이터베이스Account Database on the Transaction Management Server

도 6은 상기 모바일 장치(104)를 포함하는 지불 거래의 수행시 제공되는 결제 크리덴셜 및 다른 거래 데이터를 검증하는데 사용하기 위한 거래 계정에 관한 데이터를 저장하기 위한 상기 거래 관리 서버(102)의 상기 계정 데이터베이스(508)의 실시예를 도시한다.FIG. 6 illustrates an application of the transaction management server 102 for storing data relating to a transaction account for use in verifying payment credentials and other transaction data provided in the performance of a payment transaction including the mobile device 104. An embodiment of an account database 508 is shown.

상기 계정 데이터베이스(508)는 계정 프로파일들(602a, 602b, 602c)로서 도 6에 도시된 바와 같이 다수의 계정 프로파일들(602)을 포함할 수 있다. 각각의 계정 프로파일(602)은 하나 이상의 1회용 키들(604), 제1 세션키(606), 제2 세션키(608), 애플리케이션 거래 카운터(610) 및 제1 카드 마스터키(612)를 포함할 수 있다. 일부 실시예들에서, 계정 프로파일(602)은 제2 카드 마스터키(612)를 더 포함할 수 있다. The account database 508 may include a number of account profiles 602 as shown in FIG. 6 as account profiles 602a, 602b, 602c. Each account profile 602 includes one or more disposable 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 do. In some embodiments, account profile 602 may further include a second card master key 612.

각각의 계정 프로파일(602)은 모바일 장치(104)에게 공급되는 지불 프로파일(302)에 대응할 수 있다. 이와 같이, 계정 프로파일(602) 내에 저장된 상기 1회용 키들(604)은 동일한 거래 계정과 관련 있는 대응 지불 프로파일(302) 내에 저장된 상기 1회용 키들(306)에 대응할 수 있다. 상기 데이터는 유사할 수 있으며, 이 경우, 애플리케이션 암호가 상기 거래 관리 서버(102) 또는 상기 모바일 장치(104)에 의해 생성될 때, 상기 데이터가 정확하고 손상을 입지 않았다면, 상기 애플리케이션 암호들은 일치해야한다.Each account profile 602 may correspond to a payment profile 302 supplied to the mobile device 104. As such, the disposable keys 604 stored in the account profile 602 may correspond to the disposable keys 306 stored in the corresponding payment profile 302 associated with the same trading account. The data may be similar, in which case, when an application cryptogram is generated by the transaction management server 102 or the mobile device 104, the application cryptograms must match if the data is accurate and undamaged. do.

일부 실시예들에서, 계정 프로파일(602)은 대응하는 지불 프로파일(302) 내에 저장된 PIN(314)에 대응하는 개인 식별 번호(PIN)를 포함할 수 있다. 이러한 실시예에서, 상기 PIN(314)은 이하에서 더 자세히 논의되는 상기 모바일 장치(104)에 의해 제공되는 수신 메시지 같은 보안 메시지에서 상기 수신 유닛(202) 거래 관리 서버(102)에게 제공된다. 다른 실시예들에서, 상기 제1 카드 마스터키(612) 같은 카드 마스터 키는 상기 PIN 대신에 사용될 수 있다. 이러한 실시예에서, 상기 거래 관리 서버(102)의 상기 처리 유닛(504)은 상기 제2 카드 마스터키(614)에 기초하여 제2 세션 키(608)를 생성하도록 구성될 수 있으며, 이 경우, 상기 제2 카드 마스터키(614)는 상기 1회용 키(306) 및 상기 PIN(314)를 사용하여 상기 모바일 장치(104)에 의해 생성된 상기 제2 세션키(310)에 대응한다. 몇몇 예들에서, 또한 상기 제2 세션키(608)는 대응하는 1회용 키(604)에 기초할 수 있다. 이러한 실시예들에서, 세션키들 및/또는 애플리케이션 암호들의 생성을 위한 알고리즘들은 상기 모바일 장치(104) 및 상기 거래 관리 서버(102)에 의해 생성된 암호들이 그곳에서 사용된 데이터에 기초하여 일치한다는 것을 보장할 수 있다.  In some embodiments, account profile 602 may include a personal identification number (PIN) corresponding to PIN 314 stored in corresponding payment profile 302. In this embodiment, the PIN 314 is provided to the receiving unit 202 transaction management server 102 in a secure message, such as a received message provided by the mobile device 104 discussed in more detail below. In other embodiments, a card master key such as the first card master key 612 may be used in place of the PIN. In such an embodiment, the processing unit 504 of the transaction management server 102 may be configured to generate a second session key 608 based on the second card master key 614, in which case, The second card master key 614 corresponds to the second session key 310 generated by the mobile device 104 using the disposable key 306 and the PIN 314. In some examples, the second session key 608 may also be based on the corresponding disposable key 604. In such embodiments, algorithms for the generation of session keys and / or application cryptograms indicate that the cryptograms generated by the mobile device 104 and the transaction management server 102 match based on the data used there. I can guarantee it.

상기 제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 cryptogram, and the second session key 608 may be a second application. Can be used to generate a password. In some embodiments, the application transaction counter 610 may be used to generate one or more of the session keys and / or the application cryptograms. The application transaction counter 610 may be a value corresponding to a payment transaction to be performed and may be a value that is incremented or modified during each transaction. 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 its use is such that only valid MPA 404 is valid session keys. And / or ensure that the correct application transaction counter 312 can be owned to generate application cryptograms. Additional techniques to further enhance the security of the session key and / or application cryptography may be used with unpredictable numbers and other techniques that will be apparent to those skilled in the art.

모바일 장치를 사용하여 지불 거래 처리Process payment transactions using your mobile device

도 7은 보안 요소 없이 상기 모바일 장치(104)를 사용하여, 그리고 두 개 이상의 애플리케이션 암호들의 생성 및 검증을 사용하여 수행된 지불 거래의 처리를 위한 프로세스를 도시한다.7 shows a process for the processing of a payment transaction performed using the mobile device 104 without a secure element, and using the generation and verification of two or more application cryptograms.

단계 702에서, 상기 거래 관리 서버(102)는, 예를 들어 이하에서 더 자세히 논의되는 RNS 메시지를 통해, 상기 모바일 장치(104)에게 결제 크리덴셜들(304) 및 다른 계정 데이터를 (예를 들어, 상기 전송 유닛(506)을 통해) 제공할 수 있다. 단계 704에서, 상기 모바일 장치(104)의 상기 수신 유닛(202)은 상기 결제 크리덴셜들(304) 및 다른 계정 데이터를 수신할 수 있다. 단계 706에서, 상기 모바일 장치(104)의 상기 처리 유닛(204)은 상기 카드 데이터베이스(208) 내의 지불 프로파일(302)에 상기 데이터를 저장할 수 있다. 상기 계정 데이터는 상기 결제 크리덴셜들(304), 하나 이상의 1회용 키들(308) 및 임의의 다른 적절한 데이터(예를 들어, 상기 세션키들(308, 310) 중 하나 이상)를 포함할 수 있다. In step 702, the transaction management server 102 sends the payment credentials 304 and other account data (eg, via the RNS message, for example, discussed in more detail below) to (e.g., , Via 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 a payment profile 302 in the card database 208. The account data may include the payment credentials 304, one or more disposable keys 308 and any other suitable data (eg, one or more of the session keys 308, 310).

단계 708에서, 상기 처리 유닛(204)은 지불 거래를 수행하는데 사용하기 위해 두 개의 애플리케이션 암호들을 생성할 수 있다. 일부 실시예들에서, 단계 708은 상기 소비자(108)에 의해, 예를 들어 상기 입력 유닛(214)을 통해 지시함으로써, 근거리 통신을 통해 상기 거래를 개시하기 위해 상기 모바일 장치(104)를 상기 판매 시점 관리(110) 근처에 둠으로써, 또는 다른 적절한 방법에 의해, 개시될 수 있다. 상기 애플리케이션 암호들의 생성은 상기 지불 프로파일(302) 내에 저장된 상기 제1 세션 키(308)를 사용하여 제1 애플리케이션 암호를 생성하는 것을 포함할 수 있다. 상기 제2 애플리케이션 암호는 1회용 키(306) 및 PIN(314)을 사용하여 생성될 수 있는 제2 세션키(310)를 사용하여 생성될 수 있다. 몇몇 예들에서, 상기 소비자(108)는 단계 708 이전에, 또는 단계 708의 개시 동안 (예를 들어, 상기 입력 유닛(214)을 통해) 상기 모바일 장치(104)에 PIN을 입력할 수 있다. 일부 실시예들에서, 상기 애플리케이션 암호들 중 하나 또는 모두는 상기 애플리케이션 거래 카운터(312)를 사용하여 생성될 수도 있다. In step 708, the processing unit 204 may generate two application cryptograms for use in conducting a payment transaction. In some embodiments, step 708 directs the mobile device 104 to initiate the transaction via short-range communication by instructing the consumer 108, for example via the input unit 214. By placing it near time management 110, or by any other suitable method. The generation of the application cryptograms may include generating a first application cryptogram using the first session key 308 stored in the payment profile 302. The second application cryptogram may be generated using a second session key 310, which may be generated using a one-time key 306 and a PIN 314. In some examples, the consumer 108 may enter a PIN into the mobile device 104 prior to step 708 or during the initiation of step 708 (eg, via the input unit 214). In some embodiments, one or both of the application cryptograms may be generated using the application transaction counter 312.

상기 애플리케이션 암호들이 생성되면, 상기 애플리케이션 암호들은, 상기 결제 크리덴셜들(304)과 함께, 상기 판매 시점 관리(110), 상기 인수자(112) 및 상기 지불 네트워크(114)를 경유하여 상기 발행자(106)에게 전달될 수 있다. 단계 710에서, 상기 결제 크리덴셜들(304) 및 애플리케이션 암호들은 상기 발행자(106)에 의해 수신될 수 있다. 단계 712에서, 상기 모바일 장치(104)의 상기 전송 유닛(206)은 상기 거래 관리 서버(102)에게 거래 알림을 전송할 수 있다. 단계 714에서, 상기 거래 관리 서버(102)의 수신 유닛(502)은 상기 거래 알림을 수신할 수 있다. 상기 거래 알림은 상기 거래 관리 서버(102)에게, 상기 모바일 장치(104)가 상기 지불 프로파일(302)을 사용하여 지불 거래를 개시하였음을 알릴 수 있다. 몇몇 예들에서, 상기 거래 알림은 식별 정보를 포함할 수 있다.Once the application cryptograms are generated, the application cryptograms, along with the payment credentials 304, are issued via the point of sale 110, the acquirer 112, and the payment network 114 via the issuer 106. Can be delivered. In step 710, the payment credentials 304 and application cryptograms may be received by the issuer 106. In step 712, the sending unit 206 of the mobile device 104 may send a transaction notification to the transaction management server 102. In step 714, the receiving unit 502 of the transaction management server 102 may receive the transaction notification. The transaction notification may inform the transaction management server 102 that the mobile device 104 has initiated a payment transaction using the payment profile 302. In some examples, the transaction notification may include identification information.

단계 716에서, 상기 거래 관리 서버(102)의 상기 처리 유닛(504)은 상기 지불 프로파일(302)에 대응하는 계정 프로파일(602)을 식별할 수 있으며, 그리고 그 안에 포함된 데이터를 사용하여 두 개의 애플리케이션 암호들을 생성할 수 있다. 상기 제1 애플리케이션 암호는 상기 제1 카드 마스터키(612)를 사용하여 생성될 수 있는 상기 제1 세션키(606)를 사용하여 생성될 수 있다. 상기 제2 애플리케이션 암호는 상기 제2 세션키(608)를 사용하여 생성될 수 있다. 일부 실시예들에서, 상기 애플리케이션 암호들 및/또는 상기 세션키들 중 하나 또는 두 개는 1회용 키들(604), 애플리케이션 거래 카운터(610) 또는 임의의 다른 적절한 데이터를 더 기초로 할 수 있다.In step 716, the processing unit 504 of the transaction management server 102 may identify an account profile 602 corresponding to the payment profile 302, and using the data contained therein, two Application ciphers may be generated. The first application cryptogram may be generated using the first session key 606, which may be generated using the first card master key 612. The second application cryptogram may be generated using the second session key 608. In some embodiments, one or two of the application cryptograms and / or the session keys may be further based on disposable keys 604, application transaction counter 610, or any other suitable data.

단계 718에서, 상기 거래 관리 서버(102)의 전송 유닛(506)은 단계 718에서 상기 암호들을 수신할 수 있는 상기 발행자(106)에게 상기 생성된 애플리케이션 암호들을 전송할 수 있다. 단계720에서, 상기 발행자(106)는 상기 결제 크리덴셜들(304)을 수반하는 상기 모바일 장치(104)에 의해 제공된 상기 애플리케이션 암호들을 검증할 수 있다. 상기 애플리케이션 암호들의 검증은 상기 거래 관리 서버(102)에 의해 생성되고 공급된 상기 애플리케이션 암호들과 상기 모바일 장치(104)가 공급한 암호들을 비교하는 것을 포함할 수 있다. 검증이 수행되면, 그 후, 단계 722에서, 상기 발행자(106)는 그에 맞춰 상기 거래를 처리할 수 있다. 거래 처리는, 예를 들어 상기 암호들 중 하나 또는 모두가 검증된다면, 상기 지불 거래의 승인을 포함할 수 있으며, 또는 예를 들어 상기 암호들 중 하나 또는 모두가 무효한 것으로 결정된다면, 상기 지불 거래의 거절을 포함할 수 있다. In step 718, the sending unit 506 of the transaction management server 102 may send the generated application cryptograms to the issuer 106, which may receive the cryptograms in step 718. In step 720, the issuer 106 may verify the application cryptograms provided by the mobile device 104 involving the payment credentials 304. Validation of the application cryptograms may include comparing the cryptograms supplied by the mobile device 104 with the application cryptograms generated and supplied by the transaction management server 102. Once verification is performed, then at step 722, the issuer 106 may process the transaction accordingly. Transaction processing may include, for example, approval of the payment transaction if one or both of the cryptograms are verified, or for example if one or both of the cryptograms are determined to be invalid. May include a refusal of

단계 724에서, 거래 알림은 상기 지불 거래의 처리의 일부로서 상기 발행자(106) 또는 다른 엔티티(예를 들어, 상기 지불 네트워크(114), 인수자(112) 등)에 의해 전송될 수 있다. 단계 726에서, 상기 거래 알림은 상기 거래 관리 서버(102)에게 전송될 수 있으며, 상기 수신 유닛(502)에 의해 수신될 수 있다. 또한, 단계 728에서, 상기 거래 알림은 상기 모바일 장치(104)의 상기 수신 유닛(202)에 의해 수신될 수 있다. 상기 거래 알림은 상기 지불 거래의 승인 또는 거절의 표시일 수 있다. 상기 모바일 장치(104)의 처리 유닛(204) 및 상기 거래 관리 서버(102)의 처리 유닛(504) 각각은 상기 수신된 거래 알림의 결과로서 하나 이상의 기능들을 수행할 수 있다. 예를 들어, 상기 거래가 승인되고 성공적으로 처리되었다면, 각각의 프로파일들 내의 상기 애플리케이션 카운터들(310, 610)은 그에 맞춰 업데이트될 수 있다.In step 724, a transaction notification may be sent by the issuer 106 or other entity (eg, the payment network 114, takeover 112, etc.) as part of the processing of the payment transaction. In step 726, the transaction notification may be sent to the transaction management server 102 and may be received by the receiving unit 502. Further, in step 728, the transaction notification may be received by the receiving unit 202 of the mobile device 104. The transaction notification may be an indication of approval or rejection of the payment transaction. Each of the processing unit 204 of the mobile device 104 and the processing unit 504 of the transaction management server 102 may perform one or more functions as a result of the received transaction notification. For example, if the transaction has been approved and processed successfully, the application counters 310, 610 in the respective profiles may be updated accordingly.

도 8은 상기 모바일 장치(104)를 사용하여 지불 거래를 처리하기 위한 대안적 프로세스를 도시한다.8 illustrates an alternative process for processing a payment transaction using the mobile device 104.

단계 802에서, 상기 결제 크리덴셜들(304) 및 다른 계정 데이터는 상기 거래 관리 서버(102)의 상기 전송 유닛(506)에 의해 상기 모바일 장치(104)에게 전송될 수 있다. 단계 804에서, 상기 모바일 장치(104)의 상기 수신 유닛(202)은 상기 결제 크리덴셜들(304) 및 다른 계정 데이터를 수신할 수 있으며, 이러한 상기 결제 크리덴셜들(304) 및 다른 계정 데이터는 단계 806에서 지불 프로파일(302)에 저장될 수 있다. 단계 808에서, 상기 모바일 장치(104)의 상기 처리 유닛(204)은 상술된 바와 같이 두 개 이상의 애플리케이션 암호들을 생성할 수 있으며, 그리고 상기 암호들, 상기 결제 크리덴셜들(304) 및 다른 적절한 데이터를 (예를 들어 상기 판매 시점 관리(110)를 경유하여) 상기 발행자(106)에게 전송할 수 있다.In step 802, the payment credentials 304 and other account data may be sent to the mobile device 104 by the sending unit 506 of the transaction management server 102. In step 804, the receiving unit 202 of the mobile device 104 may receive the payment credentials 304 and other account data, and the payment credentials 304 and other account data It 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 two or more application cryptograms as described above, and the cryptograms, payment credentials 304 and other suitable data. May be sent to the issuer 106 (eg, via the point of sale management 110).

단계 810에서, 상기 발행자(106)는 상기 거래 데이터를 검증하기 위해 그리고/또는 상기 거래의 승인 또는 거부를 처리하기 위해 상기 발행자(106)에 의해 사용될 수 있는 상기 애플리케이션 암호들 및 임의의 다른 적절한 데이터를 수신할 수 있다. 단계 812에서, 상기 발행자(106)는 상기 거래 관리 서버(102)에게 검증 암호들에 대한 요청을 제출할 수 있다. 일부 실시예들에서, 상기 요청은 상기 검증 암호들을 생성하는데 사용될, 상기 계정 프로파일(602)을 식별할 때 상기 거래 관리 서버(102)에 의해 사용하기 위해 적합한 상기 결제 크리덴셜들(304) 또는 다른 데이터를 포함할 수 있다. 일실시예에서, 상기 요청은 검증을 위해 상기 모바일 장치(104)에 의해 생성된 두 개의 애플리케이션 암호들을 더 포함할 수 있다. In step 810, the issuer 106 may use the application cryptograms and any other suitable data that may be used by the issuer 106 to verify the transaction data and / or to process the approval or rejection of the transaction. Can be received. In step 812, the issuer 106 may submit a request for verification cryptograms to the transaction management server 102. In some embodiments, the request is suitable for use by the transaction management server 102 when identifying the account profile 602, which will be used to generate the verification cryptograms, or other payment credentials 304 or otherwise. May contain data. In one embodiment, the request may further include two application cryptograms generated by the mobile device 104 for verification.

단계 814에서, 상기 거래 관리 서버(102)의 수신 유닛(502)은 상기 암호 요청을 수신할 수 있다. 단계 816에서, 상기 거래 관리 서버(102)의 처리 유닛(504)은 상술된 바와 같이 검증을 위해 사용될 상기 두 개의 애플리케이션 암호들을 생성할 수 있다. 또한 상기 암호 요청이 상기 모바일 장치(104)에 의해 생성된 상기 두 개의 애플리케이션 암호들을 포함하는 실시예들에서, 단계 816은 또한 상기 두 개의 새롭게 생성된 애플리케이션 암호들을 사용하여 상기 처리 유닛(504)에 의해 상기 두 개의 암호들을 검증하는 것을 포함할 수 있다. 적용 가능한 실시예들에서 상기 검증 암호들 또는 검증 결과는 상기 전송 유닛(506)에 의해 상기 발행자(106)에게 전송될 수 있다. 단계 818에서, 상기 발행자(106)는 상기 검증 암호들 및/또는 상기 검증 결과를 수신할 수 있다. In step 814, the receiving unit 502 of the transaction management server 102 may receive the cryptographic request. In step 816, the processing unit 504 of the transaction management server 102 may generate the two application cryptograms to be used for verification as described above. Also in embodiments where the cryptographic request includes the two application cryptograms generated by the mobile device 104, step 816 also uses the two newly generated application cryptograms to the processing unit 504. By verifying the two ciphers. In applicable embodiments the verification cryptography or verification result may be sent by the sending unit 506 to the issuer 106. In step 818, the issuer 106 may receive the verification cryptograms and / or the verification result.

단계 820에서, 상기 발행자(106)는 상기 거래 관리 서버(102)에 의해 생성된 상기 애플리케이션 암호들을 사용하여 상기 모바일 장치(104)에 의해 제공된 상기 애플리케이션 암호들을 검증할 수 있다. 상기 거래 관리 서버(102)가 상기 발행자(106)에게 검증 결과를 제공하는 실시예들에서, 단계 820은 상기 두 개의 애플리케이션 암호들 각각의 검증의 결과를 식별하는 것을 포함할 수 있다. 단계 822에서, 상기 발행자(106)는 상기 검증의 결과에 기초하여 그에 따라 상기 지불 거래를 처리할 수 있다. 단계 824에서, 거래 알림들은 상기 거래 관리 서버(102) 및 상기 모바일 장치(104)에게 전송될 수 있으며, 단계 826에서 상기 수신 유닛(502)에 의해 수신되며, 단계 828에서 상기 수신 유닛(202)에 의해 수신된다. In step 820, the issuer 106 may verify the application cryptograms provided by the mobile device 104 using the application cryptograms generated by the transaction management server 102. In embodiments in which the transaction management server 102 provides verification results to the issuer 106, step 820 may include identifying the results of verification of each of the two application cryptograms. In step 822, the issuer 106 may process the payment transaction accordingly based on the result of the verification. In step 824, transaction notifications may be sent to the transaction management server 102 and the mobile device 104, received by the receiving unit 502 in step 826, and the receiving unit 202 in step 828. Is received by.

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

도 9는 상기 거래 관리 서버(102)로부터 상기 모바일 장치(104)에게 전송된 원격 알림 서비스(RNS) 메시지들 및 다른 데이터 메시지들의 전송 및 검증을 위한 프로세스를 도시한다. RNS 메시지들은 상기 모바일 장치(104)와 연관된 모바일 통신 네트워크를 사용하는 것과 같은, 원격 알림 서비스를 통해 전송될 수 있다. RNS 메시지들은 상술된 바와 같이 상기 모바일 장치(104)에게 결제 크리덴셜들(304) 및 다른 계정 데이터(예를 들어, 지불 거래들의 처리에 사용되는 계정 데이터)를 공급하는데 사용될 수 있으며, 그리고 상기 모바일 장치(104) 및 상기 거래 관리 서버(102) 간의 보안 연결을 설정하는데 사용될 수 있는 다른 정보를 공급하는데 사용될 수 있다. 9 shows a process for the transmission and verification of remote notification service (RNS) messages and other data messages sent from the transaction management server 102 to the mobile device 104. RNS messages may be sent via a remote notification service, such as using a mobile communication network associated with the mobile device 104. RNS messages may be used to supply payment credentials 304 and other account data (eg, account data used in the processing of payment transactions) to the mobile device 104 as described above, and the mobile It may be used to supply other information that may be used to establish a secure connection between the device 104 and the transaction management server 102.

단계 902에서, 상기 거래 관리 서버(102)의 처리 유닛(504)은 메시지를 생성할 수 있다. 상기 모바일 장치(104)와 상호 인증이 설정(establishing)되는 예들에서, 상기 메시지는 세션 식별자 같이, 상기 상호 인증을 설정하기 위해 적합한 정보를 포함할 수 있다. 도 9에서 도시되고 본원에 논의된 프로세스를 사용하여 상기 거래 관리 서버(102) 및 상기 모바일 장치(104) 간에 상호 인증이 설정될 때와 같은 다른 예들에서, 생성된 메시지는 결제 크리덴셜들(304) 및 계정 데이터를 포함할 수 있으며, 상기 모바일 장치(104)의 MPA(404)에 의해 실행될 하나 이상의 명령들(예를 들어, 1회용 키들(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 shown in FIG. 9 and discussed herein, the generated message is payment credentials 304. And one or more instructions to be executed by the mobile device 104's MPA 404 (eg, removal of the disposable keys 306 or payment credentials 304, etc.). ), May be notifications (eg, account balance, payment notification, etc.) to be presented to the consumer 108, or may include other suitable data.

단계 904에서, 상기 처리 유닛(504)은 상기 생성된 메시지를 암호화할 수 있다. 상기 메시지는 개인/공개 키 쌍의 개인 키를 사용하여 암호화될 수 있으며, 이 경우, 상기 모바일 장치(104)는 대응하는 공개 키를 소유할 수 있다. 몇몇 예들에서, 상기 메시지는 상기 모바일 장치(104) 또는 상기 MPA(404)와 연관된 암호화 키(예를 들어, 참조번호 414의 암호화 키)를 사용하여 암호화될 수 있다. 단계 906에서, 상기 처리 유닛(504)은 메시지 인증 코드를 생성할 수 있다. 상기 메시지 인증 코드는 상기 암호화된 메시지를 사용하여 생성될 수 있으며, 그리고 하나 이상의 특별히 구성된 규칙들 및/또는 알고리즘들을 하용하여 생성된 키일 수 있다. 예를 들어, 상기 메시지 인증 코드는 패딩 같은 하나 이상의 암호화 및 난독화 방법들을 사용하여 생성될 수 있다. 일부 실시예들에서, 상기 메시지 인증 코드는 상기 암호화 키를 사용하여 생성될 수 있다. In step 904, the processing unit 504 may encrypt the generated message. The message can be encrypted using the private key of the private / public key pair, in which case the mobile device 104 can own the corresponding public key. In some examples, the message may be encrypted using an encryption key (eg, encryption key 414) associated with the mobile device 104 or the MPA 404. 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 can be generated using one or more encryption and obfuscation methods such as padding. In some embodiments, the message authentication code can be generated using the encryption key.

단계 908에서, 상기 거래 관리 서버(102)의 전송 유닛(506)은 상기 모바일 장치(104)에게 결합된 데이터 메시지를 전송할 수 있다. 상기 상호 인증이 수행될 수 있는 실시예들에서, 상기 결합된 데이터 메시지는 상기 원격 알림 서비스를 통해 상기 모바일 장치(104)에게 전송된 원격 알림 서비스 메시지일 수 있다. 상기 결합된 데이터 메시지는 단계 910에서 상기 모바일 장치(104)의 수신 유닛(202)에 의해 수신될 수 있으며, 그리고 상기 메시지 인증 코드 및 상기 암호화된 메시지를 포함할 수 있다. 몇몇 예들에서, 상기 결합된 데이터 메시지는, 결합된 데이터 메시지의 검증을 위해 상기 MPA(404)에게 공지된 방법들을 사용하여 생성된 추가 식별자 같은, 추가 식별자를 포함할 수 있다. 상호 인증이 이미 수행되었을 때와 같은 몇몇 예들에서, 상기 결합된 데이터 메시지는 메시지 카운터도 포함할 수 있다.In step 908, the sending unit 506 of the transaction management server 102 may send the combined data message to the mobile device 104. In embodiments where the mutual authentication may be performed, the combined data message may be a remote notification service message sent to the mobile device 104 via the remote notification service. The combined data message may be received by the receiving unit 202 of the mobile device 104 at step 910 and may include the message authentication code and the encrypted message. In some examples, the combined data message may include an additional identifier, such as an additional identifier generated using methods known to the MPA 404 for validation of the combined data message. In some examples, such as when mutual authentication has already been performed, the combined data message may also include a message counter.

단계 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 the same rules and algorithms as the transaction management server 102 used to generate the message authentication code, As such, if the message authentication code is generated by a trusted source (eg, the transaction management server 102), the generated reference authentication code will correspond to the message authentication code. In embodiments in which the message authentication code may be generated using the encryption key, the processing unit 204 may use the encryption key 414 or other suitable encryption key stored in the memory 212 to authenticate the reference. You can generate code.

단계 914에서, 상기 처리 유닛(204)은 상기 수신된 결합 데이터 메시지 내에 포함된 상기 메시지 인증 코드를 상기 생성된 참조 인증 코드와 비교함으로써, 상기 메시지 인증 코드를 검증할 수 있다. 상기 메시지 카운터 및 상기 메시지 인증 코드 모두가 검증된다면, 상기 결합된 데이터 메시지는 상기 거래 관리 서버(102)로부터 오는 것인 신뢰성 있는(예를 들어, 진짜의) 것으로 판단될 수 있다. 상기 결합된 데이터 메시지가 메시지 식별자를 포함할 수 있는 예들에서, 상기 처리 유닛(204)은 또한 메시지 식별자의 생성 및 비교를 위해 상기 MPA(404)에 의해 공지된 프로세스를 사용하여 메시지 식별자를 생성함으로써 상기 메시지 식별자를 검증할 수도 있다. 상기 결합된 데이터 메시지가 메시지 카운터를 포함할 수 있는 실시예들에서, 상기 처리 유닛(204)은 상기 모바일 장치(104) 내에(예를 들어, 상기 MPA(404) 내에 또는 지불 프로파일(502) 내에) 저장된 참조 카운터로 상기 수신된 결합된 데이터 메시지 내에 포함된 상기 메시지 카운터를 검증할 수 있다. In step 914, the processing unit 204 may verify the message authentication code by comparing the message authentication code included in the received combined data message with the generated reference authentication code. If both the message counter and the message authentication code are verified, the combined data message can be determined to be reliable (eg, genuine) as coming from the transaction management server 102. In examples where the combined data message may include a message identifier, the processing unit 204 may also generate a message identifier by using a process known by the MPA 404 for generation and comparison of the message identifier. The message identifier may be verified. In embodiments in which the combined data message may include a message counter, the processing unit 204 is within the mobile device 104 (eg, within the MPA 404 or within the payment profile 502). The stored reference counter can verify the message counter included in the received combined data message.

단계 916에서, 상기 처리 유닛(204)은 상기 수신된 결합된 데이터 메시지 내에 포함된 상기 암호화된 메시지를 해독할 수 있다. 상기 암호화된 메시지는 키를 사용하여 해독될 수 있다. 예를 들어, 상기 암호화된 메시지는 상기 메모리(212) 내에(예를 들어, 상기 암호화 애플리케이션(410) 또는 MPA(404) 내에) 저장된 키 또는 (예를 들어, 강화된 저장 키를 사용하여 암호화된) 로컬 암호화된 데이터베이스 내에 저장된 키, 또는 다른 적절한 해독화 방법을 사용하여 해독될 수 있다. 단계 918에서, 상기 처리 유닛(204)은 상기 암호화된 메시지로부터 해독된 데이터를 기반으로 하여 하나 이상의 적절한 동작들을 수행할 수 있다. 도 9에 도시된 예에서, 상기 모바일 장치(104)는, 예를 들어 상기 암호화된 메시지 내에 포함되고 상기 처리 유닛(204)에 의해 해독되는 상기 세션 식별자를 사용하여, 상기 거래 관리 서버(102)와 상호 인증을 수행할 수 있다. 단계 920에서, 상기 거래 관리 서버(102)는 상기 세션 식별자를 수신할 수 있으며, 그리고 상기 모바일 장치(104)와의 상호 인증을 위해 필요한 임의의 추가 동작들을 수행할 수 있다. 상호 인증이 이미 수행된 예들에서, 상기 메시지는, 결제 크리덴셜들(404), 1회용 키들(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 can be decrypted using the key. For example, the encrypted message may be encrypted using a key stored in the memory 212 (eg, in the encryption application 410 or MPA 404) or (eg, using an enhanced storage key). ) Can be decrypted using a key stored in a locally encrypted database, or other suitable decryption method. In step 918, the processing unit 204 may perform one or more appropriate operations based on the data decrypted from the encrypted message. In the example shown in FIG. 9, the mobile device 104 uses the session identifier included in the encrypted message and decrypted by the processing unit 204, for example. You can perform mutual authentication with. In step 920, the transaction management server 102 may receive the session identifier and perform any additional operations required for mutual authentication with the mobile device 104. In examples where mutual authentication has already been performed, the message is suitable for performing the functions disclosed herein, such as payment credentials 404, disposable keys 406, program instructions for the MPA 404, and the like. May contain other information.

일부 실시예들에서, 상기 모바일 장치(104)는 리턴 메시지를 생성하고 (예를 들어, 상기 MPA(404)를 통해) 그 리턴 메시지를 상기 거래 관리 서버(102)에게 제출하도록 구성될 수 있다. 몇몇 예들에서, 상기 리턴 메시지는 상술된 바와 같이 상기 해독된 메시지 내에서 지시된 바에 따라 수행되는 동작들에 응답하여 생성된 데이터를 포함할 수 있다. 예를 들어, 리턴 메시지는 결제 크리덴셜들(304) 또는 1회용 키들(306)의 유효한 수신 및 저장을 나타낼 수 있다. 다른 예들에서, 상기 리턴 메시지는 상기 결합된 데이터 메시지의 수신 및 검증의 알림일 수 있다. 상호 인증이 먼저 수행된 예들에서, 상기 리턴 메시지는 상기 상호 인증을 수행하는데 사용되는 상기 세션 식별자를 포함할 수 있다.In some embodiments, the mobile device 104 may be configured to generate a return message (eg, via the MPA 404) and submit the return message to the transaction management server 102. In some examples, the return message may include data generated in response to the actions performed as indicated in the decrypted message as described above. For example, the return message may indicate valid receipt and storage of payment credentials 304 or disposable keys 306. In other examples, the return message can be a notification of receipt and verification of the combined data message. In examples where mutual authentication was first performed, the return message may include the session identifier used to perform the mutual authentication.

도 10a 및 도 10b는 상기 모바일 장치(104)에 의한 리턴 메시지 생성 및 전송, 그리고 상기 거래 관리 서버(102)에 의한 상기 리턴 메시지의 검증을 위한 프로세스를 도시한다.10A and 10B illustrate a process for generating and sending a return message by the mobile device 104 and verifying 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 program code 406 stored in the MPA 404, and further based on operations performed as indicated in the decrypted combined data message received from the transaction management server 102. can do. For example, the received message may include a notification of successful receipt and storage of payment credentials 304. In step 1004, the processing unit 204 may increment the reception counter. The reception counter may be a counter indicating the number of received messages transmitted to the transaction management server 102. The reception counter may be stored in the memory 212 (eg, in the MPA 404, or in a database encrypted using the enhanced storage key). It will be apparent to those skilled in the art that step 1004 may be an optional step and may be used only in cases where a counter is used for the validation of the data message.

단계 1006에서, 상기 처리 유닛(204)은 상기 수신 메시지를 암호화할 수 있다. 상기 수신 메시지는 상기 암호화 애플리케이션(410) 내에 저장된 상기 암호화 키(414)를 사용하여 암호화될 수 있으며, 그렇지 않으면, 상기 MPA(404) 또는 국부적으로 암호화된 데이터베이스 내에 저장될 수 있다. 상기 수신 메시지를 암호화하는데 사용된 상기 암호화 키는 키 쌍의 일부인 개인 키일 수 있으며, 이 경우 상기 거래 관리 서버(102)는 대응하는 공개 키를 소유할 수 있다. 단계 1008에서, 상기 처리 유닛(204)은 상기 암호화된 수신 메시지에 기초하여 수신 인증 코드를 생성할 수 있다. 일부 실시예들에서, 상기 수신 인증 코드는 상술된 바와 같이 도 9의 단계 912에 도시된 참조 인증 코드를 생성하는데 사용된 것과 동일한 규칙들, 알고리즘들 및/또는 프로세스들을 사용하여 생성될 수 있다.In step 1006, the processing unit 204 may encrypt the received message. The received message may be encrypted using the encryption key 414 stored in the encryption application 410, otherwise it may be stored in the MPA 404 or a locally encrypted database. The encryption key used to encrypt the received message may be a private key that is part of a key pair, in which case the transaction management server 102 may possess a corresponding public key. In step 1008, the processing unit 204 may generate a reception authentication code based on the encrypted reception message. In some embodiments, the received authentication code may be generated using the same rules, algorithms and / or processes as used to generate the reference authentication code shown in step 912 of FIG. 9 as described above.

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

단계 1014에서, 상기 거래 관리 서버(102)의 처리 유닛(504)은 확인 카운터(confirmation counter)를 증가시킬 수 있다. 상기 확인 카운터는 상기 모바일 장치(104)로부터 수신된 메시지들의 검증을 위해 사용되는 상기 모바일 장치(104)로부터 수신된 메시지들의 개수를 나타낼 수 있다. 상기 확인 카운터는 상기 거래 관리 서버(102) 의 메모리(510) 또는 다른 적절한 데이터 저장소에 저장될 수 있다. 예를 들어, 일부 실시예들에서, 상기 확인 카운터는 상기 모바일 장치(104)와 연관된 계정 프로파일(602) 내에 저장될 수 있다. 일례에서, 각각의 계정 프로파일(602)은 대응 거래 계정과 관련된 상기 거래 관리 서버(102) 및 상기 모바일 장치(104)에게, 상기 거래 관리 서버(102) 및 상기 모바일 장치(104)로부터 전송된 메시지들을 위해 사용될 확인 카운터(예를 들어, 그리고/또는 메시지 카운터)를 포함할 수 있다. 단계 1014는 옵션 단계일 수 있으며, 카운터가 리턴 메시지들의 검증을 위해 사용될 수 없는 예들에서는 수행될 수 없다는 것이 당업자에게 자명할 것이다. In step 1014, the processing unit 504 of the transaction management server 102 may increment a confirmation counter. The confirmation counter may indicate the number of messages received from the mobile device 104 used for verification of messages received from the mobile device 104. The confirmation counter may be stored in memory 510 or other suitable data store of the transaction management server 102. For example, in some embodiments, the confirmation counter can be stored in an account profile 602 associated with the mobile device 104. In one example, each account profile 602 sends a message sent from the transaction management server 102 and the mobile device 104 to the transaction management server 102 and the mobile device 104 associated with the corresponding transaction account. May include a confirmation counter (eg, and / or message counter) to be used for the purpose. It will be apparent to those skilled in the art that step 1014 can be an optional step and that a counter cannot be performed in examples where the counter cannot be used for verification of return messages.

단계 1016에서, 상기 처리 유닛(504)은 확인 인증 코드를 생성할 수 있다. 상기 확인 인증 코드는 상기 수신 알림 메시지 내에 포함된 암호화된 수신 메시지에 기초하여 생성될 수 있으며, 그리고 상기 메시지 인증 코드를 생성하는데 사용된 동일한 규칙들, 알고리즘들 그리고/또는 프로세스들을 사용하여 생성될 수 있다. 단계 1018에서, 상기 처리 유닛(504)은 상기 수신 알림 메시지 내에 포함된 상기 수신 카운터를 상기 확인 카운터와 비교함으로써 상기 수신 카운터를 검증할 수 있다. 단계 1020에서, 상기 처리 유닛(504)은 상기 수신 인증 코드를 상기 메시지 인증 코드와 비교함으로써 상기 수신 인증 코드를 검증할 수 있으며, 이로써, 상기 메시지가 인가된 모바일 장치(104)로부터 유래함을 보장한다. In step 1016, the processing unit 504 may generate a confirmation authentication code. The confirmation authentication code may be generated based on an encrypted receipt message included in the receipt notification message, and may be generated using the same rules, algorithms, and / or processes used to generate the message authentication code. have. In step 1018, the processing unit 504 may verify the reception counter by comparing the reception counter included in the reception notification message with the confirmation counter. In step 1020, the processing unit 504 may verify the received authentication code by comparing the received authentication code with the message authentication code, thereby ensuring that the message is from an authorized mobile device 104. do.

(예를 들어, 적절하다면) 상기 카운터 및 상기 인증 코드가 검증되었다면, 그 다음, 단계 1022에서, 상기 처리 유닛(504)은 상기 수신된 수신 알림 메시지 내에 포함된 상기 암호화된 메시지를 해독할 수 있다. 상기 암호화된 메시지는 저장된 암호화 키 또는 다른 적절한 해독 방법을 사용하여 해독될 수 있다. 상기 암호화된 메시지는 상기 모바일 장치(104)에 의해 생성된 상기 수신 메시지를 획득하기 위해 해독될 수 있다. 단계 1024에서, 상기 처리 유닛(504)은 상기 수신 메시지 내에 포함된 데이터에 기초하여 필요에 따라 임의의 적절한 동작들을 수행할 수 있다. 예를 들어, 상기 수신 메시지가 1회용 키들(306)의 성공적인 수신 및 저장의 표시를 포함한다면, 상기 처리 유닛(204)은 대응하는 계정 프로파일(602) 내의 대응 1회용 키들(604)을 활성화시킬 수 있다.If the counter and the authentication code have been verified (eg, if appropriate), then at step 1022, the processing unit 504 may decrypt the encrypted message included in the received receipt notification message. . The encrypted message can be decrypted using a stored encryption key or other suitable decryption method. The encrypted message can be decrypted to obtain the received message generated by the mobile device 104. In step 1024, the processing unit 504 may perform any suitable operations as needed based on the data included in the received message. For example, if the received message includes an indication of successful receipt and storage of disposable keys 306, the processing unit 204 may activate the corresponding disposable keys 604 in the corresponding account profile 602. Can be.

데이터 메시지 검증Data message verification

도 11은 상기 거래 관리 서버(102)로부터 상기 모바일 장치(104)에 의해 수신된 데이터 메시지들의 검증을 위한 프로세스(1100)를 도시한다. 11 shows a process 1100 for verification of data messages received by the mobile device 104 from the transaction management server 102.

단계 1102에서, 상기 모바일 장치(104)의 처리 유닛(204)은 로컬 저장소(예를 들어, 상기 메모리(212) 또는 강화된 저장 키를 사용하여 암호화된 국부적으로 암호화된 저장소)에 암호화 키들, 인증 생성 키들, 그리고 그것들의 사용 및 응용을 위한 규칙들 및/또는 알고리즘들을 저장할 수 있다. 단계 1104에서, 상기 모바일 장치(104)의 수신 유닛(202)은 상기 거래 관리 서버(102)로부터 데이터 메시지를 수신할 수 있다. 일부 실시예들에서, 상기 데이터 메시지는, 예를 들어 도 9에 도시되고 상술된 프로세스를 사용하는, 두 개의 장치들 간의 상호 인증 후에 상기 거래 관리 서버(102)로부터 수신될 수 있다. 상기 데이터 메시지는 메시지 카운터, 메시지 인증 코드 및 암호화된 메시지를 적어도 포함할 수 있다.In step 1102, the processing unit 204 of the mobile device 104 is configured to authenticate encryption keys, local keys (e.g., locally encrypted storage encrypted using the memory 212 or enhanced storage key). Generate 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 after mutual authentication between two devices, for example using the process shown in FIG. 9 and described above. The data message may include at least a message counter, a message authentication code and an encrypted message.

단계 1106에서, 상기 처리 유닛(204)은 참조 카운터를 증가시킬 수 있다. 상기 참조 카운터는 상기 메모리(212) 또는 다른 로컬 저장소에 저장될 수 있으며, 그리고 상기 거래 관리 서버(102)로부터 수신된 메시지들의 개수를 나타내는데 사용될 수 있다. 몇몇 예들에서, 상기 참조 카운터는 알고리즘을 사용하여 증가될 수 있으며, 이로써, 상기 참조 카운터는 연속하는 숫자들을 사용하여 증가되지 않을 수 있지만, (예를 들어, 상기 MPA(404)를 통해) 상기 모바일 장치(104) 및 상기 거래 관리 서버(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 store, 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, whereby the reference counter may not be incremented using consecutive numbers, but the mobile counter (eg, via the MPA 404) It may be incremented using algorithms known to the device 104 and the transaction management server 102.

단계 1108에서, 상기 처리 유닛(204)은 상기 수신된 데이터 메시지에 포함된 메시지 카운터를 검증할 수 있다. 상기 메시지 카운터의 검증은 증가된 후 참조 카운터의 값과 상기 메시지 카운터의 비교를 포함할 수 있다. 실패한 검증은 상기 데이터 메시지의 소스가 상기 거래 관리 서버(102)가 아니거나 또는 신뢰성 있지 않다는 것을 나타낼 수 있다. 상기 검증이 실패한다면, 단계 1110에서, 상기 처리 유닛(204)은 실패된 데이터 메시지 수신 및/또는 검증과 연관된 하나 이상의 적절한 동작들을 수행할 수 있다. 예를 들어, 상기 처리 유닛(204)은 상기 데이터 메시지를 버릴 수 있으며, 상기 거래 관리 서버(102)에게 알릴 수 있으며, 연관된 지불 프로파일(302)을 잠글 수 있으며, 또는 당업자에게 자명할 다른 동작을 수행할 수 있다. In step 1108, the processing unit 204 may verify the message counter included in the received data message. Validation of the message counter may include a comparison of the value of the reference counter and the message counter after being incremented. The failed verification may indicate that the source of the data message is not the transaction management server 102 or is not reliable. If the verification fails, at step 1110, the processing unit 204 may perform one or more appropriate operations associated with the receipt and / or verification of the failed data message. For example, the processing unit 204 may discard the data message, inform the transaction management server 102, lock the associated payment profile 302, or perform other actions that will be apparent to those skilled in the art. Can be done.

상기 메시지 카운터의 검증이 통과한다면, 그 다음, 상기 프로세스(1110)는 단계 1112로 진행할 수 있으며, 이 경우, 상기 암호화된 메시지는 패딩될 수 있다. 상기 암호화된 메시지의 패딩은 그것과 연관된 상기 암호화된 메시지 또는 데이터에 값들을 추가하는 것을 포함할 수 있다. 패딩은 상기 메시지 검증 프로세스의 보안을 높이기 위해 사용될 수 있다. 왜냐하면, 패딩은 인증 없이 성공적으로 데이터 메시지를 전송 또는 수신하기 위해 인가되지 않은 엔티티에 의해 복제될 필요가 있는, 서로 공지된 상기 모바일 장치(104) 및 상기 거래 관리 서버(102)에 의해 수행되어야하는 또 다른 기능일 수 있기 때문이다. 단계 1112는 옵션 단계일 수 있음이 당업자에게 자명할 것이다. 일부 실시예들에서, 단계 1112는 상기 프로세스(1110)의 일부 예들에 적용될 수 있다. 예를 들어, 상기 암호화된 메시지는 상기 참조 카운터의 특정 증가들에서 패딩될 수 있다. If the verification of the message counter passes, then the process 1110 may proceed to step 1112, in which case the encrypted message may be padded. Padding of the encrypted message may include adding values to the encrypted message or data associated with it. Padding can be used to increase the security of the message verification process. Because padding has to be performed by the mobile device 104 and the transaction management server 102 known to each other, which need to be replicated by unauthorized entities in order to successfully send or receive data messages without authentication. It may be another function. It will be apparent to one skilled in the art that step 1112 may be an optional step. In some embodiments, step 1112 can be applied to some examples of the process 1110. For example, the encrypted message may be padded at certain 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, padded, if applicable) using one or more rules or algorithms such as those stored in step 1102. In some embodiments, the reference authentication code can be a key or a value generated by the application of a key to the encrypted message. In step 1116, the processing unit 204 may verify the message authentication code received in the RNS message. Verification of the message authentication code is another identification method if the received data message originated from an authorized source (eg, the transaction management server 102), the comparison of the code with the generated reference authentication code. It may include.

상기 메시지 인증 코드의 검증이 실패한다면, 상기 프로세스(1100)는 참조번호 1110의 단계로 진행할 수 있으며, 이 경우, 상기 실패 처리가 수행된다. 상기 메시지 인증 코드의 검증이 통과한다면, 그 후, 단계 1118에서, 상기 수신된 데이터 메시지 내에 포함된 암호화된 메시지는 상기 처리 유닛(204)에 의해 해독될 수 있다. 상기 메시지는 단계 1102에서 상기 모바일 장치(104) 내에 저장된 것들 같은 하나 이상의 암호화/해독 키들, 규칙들 및/또는 알고리즘들을 사용하여 해독될 수 있다. 예를 들어, 상기 메모리(212)의 암호화 애플리케이션(410) 내에 저장된 상기 암호화 키(414)는 상기 암호화된 메시지를 해독하는데 사용될 수 있다. 단계 1120에서, 상기 처리 유닛(204)은 상기 해독된 메시지의 내용에 기초하여 적절한 하나 이상의 동작들을 수행할 수 있다. 예를 들어, 상기 해독된 메시지가 1회용 키들(306)을 포함한다면, 상기 1회용 키들(306)은 상기 카드 데이터베이스(208)의 적절한 지불 프로파일(302) 내에 저장될 수 있으며, 그렇게 함으로써, 상기 카드 데이터베이스(208)는 상기 강화된 저장 키를 사용하여 암호화될 수 있다.If the verification of the message authentication code fails, the process 1100 may proceed to step 1110, in which case the failure process is performed. If the verification of the message authentication code passes, then, in step 1118, the encrypted message included in the received data message can be decrypted by the processing unit 204. The message may be decrypted using one or more encryption / decryption keys, rules and / or algorithms, such as those stored in the mobile device 104 in step 1102. For example, the encryption key 414 stored in the encryption application 410 of the memory 212 can be used to decrypt the encrypted message. In step 1120, the processing unit 204 may perform one or more actions as appropriate based on the contents of the decrypted message. For example, if the decrypted message includes disposable keys 306, the disposable keys 306 may be stored in an appropriate payment profile 302 of the card database 208, thereby Card database 208 may be encrypted using the enhanced storage key.

강화된 저장 키Enhanced storage key

도 12는 상기 모바일 장치(104) 내에, 보안 요소의 사용 없이 상기 모바일 장치(104)에 안전하게 저장되고 액세스될 수 있는 지불 프로파일들(302) 및 다른 데이터 같은 데이터를 안전하게 저장하기 위해 상기 모바일 장치(104)에 의해 상기 강화된 저장 키를 생성하고 사용하는 것을 도시한다.12 illustrates the mobile device 104 for secure storage of data such as payment profiles 302 and other data that can be stored and accessed securely on the mobile device 104 without the use of a secure element. 104 illustrates the generation and use of the enhanced storage key.

상기 모바일 장치(104)의 메모리(212) 내에 저장된 장치 정보(402)는 도 12에 장치 정보(1202a, 1202b, 1202c)로서 도시된 세 개 이상의 장치 정보 조각들(1202)을 포함할 수 있다. 각각의 장치 정보 조각(1202)은 상기 모바일 장치(104)와 연관될 수 있다. 몇몇 예들에서, 각각의 장치 정보 조각(1202)은 상기 모바일 장치(104)에 고유할 수 있다. 다른 예들에서, 상기 장치 정보 조각들(1202) 중 하나 이상은 상기 모바일 장치(104)에 고유하지 않을 수 있지만(예를 들어, 모델 번호), 상기 세 개의 장치 정보 조각들(1202)은, 함께 취해질 때, 상기 모바일 장치(104)에 고유할 수 있다(예를 들어, 고유한 결합). 상기 장치 정보 조각들(1202)은 상기 모바일 장치(104)의 수명 동안 변하지 않을 데이터일 수 있다.The device information 402 stored in the memory 212 of the mobile device 104 may include three or more pieces of device information 1202, shown as device information 1202a, 1202b, 1202c in FIG. 12. Each piece of device information 1202 may be associated with the mobile device 104. In some examples, each piece of device information 1202 may be unique to the mobile device 104. In other examples, one or more of the device information pieces 1202 may not be unique to the mobile device 104 (eg, model number), but the three device information pieces 1202 may be When taken, it may be unique to the mobile device 104 (eg, unique coupling). The pieces of device information 1202 may be data that will not change for the life of the mobile device 104.

상기 모바일 장치(104)의 처리 유닛(204)은 세 개의 장치 정보 조각들(1202a, 1202b, 1202c)에 기초하여 모바일 장치 핑거프린트(mobile device fingerprint)(1204)를 생성할 수 있다. 상기 모바일 장치 핑거프린트(1204)는 상기 모바일 장치(104)에 고유한 값일 수 있으며, 그리고 상기 MPA(404)의 프로그램 코드(406)에 포함된 것과 같은, 상기 메모리(212)에 저장된 하나 이상의 규칙들 또는 알고리즘들을 사용하여 생성될 수 있다. 예를 들어, 상기 모바일 장치 핑거프린트(1204)는 수치 값(numerical value), 16 진수 값, 문자열 등일 수 있다.The processing unit 204 of the mobile device 104 may generate a mobile device fingerprint 1204 based on the three pieces of device information 1202a, 1202b, 1202c. The mobile device fingerprint 1204 may be a value unique to the mobile device 104, and one or more rules stored in the memory 212, such as included in the program code 406 of the MPA 404. Or algorithms. For example, the mobile device fingerprint 1204 may be a numerical value, a hexadecimal value, a string, or the like.

또한, 상기 처리 유닛(204)은 상기 모바일 장치 핑거프린트(1204)를 사용하여 다각화 값(1208)을 생성하도록 구성될 수 있다. 상기 다각화 값은 랜덤 값(1206) 뿐만 아니라 상기 MPA(404)의 인스턴스 식별자(408)와 상기 모바일 장치 핑거프린트(1204)를 결합함으로써 생성될 수 있다. 상기 랜덤 값(1206)은 상기 처리 유닛(204)에 의해 생성된 랜덤 또는 난수 또는 의사-난수일 수 있다. 몇몇 예들에서, 상기 랜덤 값(1206)은 상기 메모리(212) 내에 저장된 하나 이상의 규칙들 또는 알고리즘들에 따라 생성될 수 있다. 또한, 상기 모바일 장치 핑거프린트(1204), 인스턴스 식별자(408) 및 랜덤 값(1206)의 결합은 상기 MPA(404)의 프로그램 코드(406) 내에 저장된 것과 같은 하나 이상의 규칙들 또는 알고리즘들을 사용하여 수행될 수 있다. 상기 다각화 값을 생성하기 위한 상기 인스턴스 식별자(408)의 사용은 상기 MPA(404)의 인스턴스와 연관된 데이터를 안전하게 저장하는 능력을 야기할 수 있으며, 이로써, 상기 MPA(404)의 다중 설치는 상기 MPA(404)의 다른 인스턴스들에 의해 저장된 데이터에 액세스할 수 없게 된다. In addition, the processing unit 204 may be configured to generate the diversification value 1208 using the mobile device fingerprint 1204. The diversification value may be generated by combining the mobile device fingerprint 1204 with the instance identifier 408 of the MPA 404 as well as the random value 1206. The random value 1206 may be random or random or pseudo-random number generated by the processing unit 204. In some examples, the random value 1206 may be generated in accordance with one or more rules or algorithms stored in the memory 212. In addition, the combination of the mobile device fingerprint 1204, the instance identifier 408, and the random value 1206 is performed using one or more rules or algorithms such as stored within the program code 406 of the MPA 404. Can be. Use of the instance identifier 408 to generate the diversification value may result in the ability to securely store data associated with an instance of the MPA 404, whereby multiple installations of the MPA 404 may result in the MPA. Data stored by other instances of 404 becomes inaccessible.

그 다음, 상기 처리 유닛(204)은 상기 다각화 값(1208)에 대한 상기 암호화 애플리케이션(410) 내에 저장된 상기 암호화 키(414)의 적용을 통해 강화된 저장 키(1210)를 생성할 수 있다. 몇몇 예들에서, 상기 강화된 저장 키(1210)는 상기 암호화 키(414)를 사용하는 상기 다각화 키(1208)의 해독에 의해 생성될 수 있다. 다른 예들에서, 상기 강화된 저장 키(1210)는 상기 암호화 키(414)를 사용하는 상기 다각화 값(1208)의 암호화로부터 생긴 값일 수 있다. 일부 실시예들에서, 상기 강화된 저장 키(1210)는 상기 암호화 키(414) 및 상기 다각화 값(1208)을 사용하여 화이트박스 암호법을 수행하는 결과로서 생성될 수 있다.The processing unit 204 may then generate an enhanced storage key 1210 through application of the encryption key 414 stored in the encryption application 410 to the diversification value 1208. In some examples, the enhanced storage key 1210 can be generated by decryption of the diversification key 1208 using the encryption key 414. In other examples, the enhanced storage key 1210 may be a value resulting from encryption of the diversification value 1208 using the encryption key 414. In some embodiments, the enhanced storage key 1210 may be generated as a result of performing whitebox cryptography using the encryption key 414 and the diversification value 1208.

상기 강화된 저장 키(1210)가 생성되면, 상기 처리 유닛(204)은 로컬 데이터베이스(1210)를 암호화하기 위해 상기 강화된 저장 키(1210)를 사용할 수 있다. 상기 로컬 데이터베이스(1210)는 예를 들어 상기 카드 데이터베이스(208), 하나 이상의 지불 프로파일들(302), 상기 메모리(212)의 일부, 또는 다른 적절한 데이터 소스를 포함할 수 있다. 몇몇 예들에서, 상기 로컬 데이터베이스(1210)는 상기 카드 데이터베이스(208) 같이, 상기 모바일 장치(104) 내의 또 다른 데이터베이스의 일부일 수 있다. 예를 들어, 상기 카드 데이터베이스(208)는 다수의 로컬 데이터베이스들(1212)을 포함할 수 있다. 상기 다수의 로컬 데이터베이스들(1212)은 자신과 연관된 지불 프로파일들(302)을 저장하기 위한 상기 MPA(404)의 각각의 인스턴스를 위한 개별 로컬 데이터베이스(1212) 같은 것이 있다. 그렇게 함으로써, 결과물인 암호화된 로컬 데이터베이스(1214)는 상기 인스턴스 식별자(408)를 포함하는 상기 MPA(404)의 특정 인스턴스를 제외하고, 상기 모바일 장치(104)의 내부에 또는 외부에 있는 임의의 다른 애플리케이션 프로그램에 의해 접근이 불가능한 데이터를 안전하게 저장할 수 있다. 이에 따라, 상기 암호화된 로컬 데이터베이스(1214)는 결제 크리덴셜들(304), 1회용 키들(306) 및 다른 계정 데이터를 저장하기에 이상적일 수 있으며, 그리고 보안 요소의 사용 없이 민감한 계정 정보의 안전한 저장을 가능하게 할 수 있다. Once the enhanced storage key 1210 is generated, the processing unit 204 can use the enhanced storage key 1210 to encrypt the local database 1210. The local database 1210 may include, 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 in the mobile device 104, such as the card database 208. For example, the card database 208 may include a number of local databases 1212. The plurality of local databases 1212 is the same as a separate local database 1212 for each instance of the MPA 404 for storing payment profiles 302 associated with it. In so doing, the resulting encrypted local database 1214 may be any other internal or external to the mobile device 104, except for a particular instance of the MPA 404 that includes the instance identifier 408. Data stored inaccessible by the application program can be safely stored. Accordingly, the encrypted local database 1214 may be ideal for storing payment credentials 304, disposable keys 306, and other account data, and secure sensitive account information without the use of secure elements. You can enable storage.

일부 실시예들에서, 또한 상기 저장 키는 상기 암호화된 로컬 데이터베이스(1214) 내의 저장을 위해 상기 모바일 장치(104)에게 암호화된 데이터를 제공하기 위해 상기 거래 관리 서버(102)에 의해 사용될 수 있다. 예를 들어, 상기 모바일 장치(104)의 전송 유닛(206)은 상기 거래 관리 서버(102)에게 상기 생성된 랜덤 값(1206)을 전송할 수 있다. 일부 예들에서, 또한 상기 인스턴스 식별자(408)는 상기 거래 관리 서버(102)에게 전송될 수 있으며, 또는 상기 거래 관리 서버(102)에 의해 미리(예를 들어, 상기 MPA(404)의 등록 동안) 소유될 수 있다. 그 다음, 상기 거래 관리 서버(102)는 스스로 상기 강화된 저장 키(1210)를 생성하고, 상기 강화된 저장 키(1210)를 사용하여 상기 모바일 장치(104)에게 공급될 데이터(예를 들어, 결제 크리덴셜들(304), 1회용 키들(306) 등)를 암호화하고, 그 다음 상기 모바일 장치(104)에게 상기 암호화된 데이터를 저장할 수 있다. 그 후, 상기 모바일 장치(104)는 상기 암호화된 로컬 데이터베이스(1214) 내에 이미 암호화된 데이터를 저장할 수 있다. In some embodiments, the storage key can 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 sending unit 206 of the mobile device 104 may send the generated random value 1206 to the transaction management server 102. In some examples, the instance identifier 408 may also be sent to the transaction management server 102, or in advance by the transaction management server 102 (eg, during registration of the MPA 404). Can be owned. The transaction management server 102 then generates the enhanced storage key 1210 on its own and uses the enhanced storage key 1210 to send data (e.g., to the mobile device 104). Payment credentials 304, disposable keys 306, etc.) and then store the encrypted data in the mobile device 104. Thereafter, the mobile device 104 can store data that has already been encrypted in the encrypted local database 1214.

지불 거래에서 결제 크리덴셜들을 생성하기 위한 제1 예시적 방법First Example Method for Generating Payment Credentials in a Payment Transaction

도 13은 지불 거래에서 결제 크리덴셜들을 생성하기 위한 방법(1300)을 도시하며, 상기 방법(1300)은 보안 요소 없이 모바일 장치(104) 내의 결제 크리덴셜들의 안전한 사용을 위해 두 개의 애플리케이션 암호들을 사용하는 것을 포함한다. FIG. 13 shows a method 1300 for generating payment credentials in a payment transaction, which uses two application cryptograms for secure use of payment credentials in the mobile device 104 without a secure element. It involves doing.

단계 1302에서, 적어도 1회용 키(예를 들어, 1회용 키(306))는 거래 계정과 연관된 메모리(예를 들어, 지불 프로파일(302))에 저장될 수 있다. 일부 실시예들에서, 상기 메모리(302)는 모바일 통신 장치(예를 들어, 상기 모바일 장치(104)) 내의 비-보안 요소 메모리일 수 있다. 단계 1304에서, 개인 식별 번호(PIN)는 수신 장치(예를 들어, 상기 수신 유닛(202) 및/또는 입력 유닛(214))에 의해 수신될 수 있다.At step 1302, at least the disposable key (eg, disposable key 306) may be stored in a memory (eg, payment profile 302) associated with the trading account. In some embodiments, the memory 302 may be a non-secure element memory in 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))는 적어도 상기 저장된 1회용 키(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 (eg, second session key 310) may be generated by the processing device 204 based at least on the stored disposable key 306 and the received PIN. have.

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

단계 1314에서, 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호는 지불 거래에 사용하기 위해 전송 장치(예를 들어, 상기 전송 유닛(206))에 의해 전송될 수 있다. 일부 실시예들에서, 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호는 판매 시점 관리 장치(예를 들어, 참조번호 110의 판매 시점 관리)에게 전송될 수 있다. 일실시예에서, 상기 방법(1300)은 상기 메모리(302)에, 상기 거래 계정과 연관된 카드 마스터 키를 저장하는 단계를 더 포함할 수 있으며, 이 경우, 상기 제1 세션 키(308)를 식별하는 것은, 상기 처리 장치(204)에 의해, 적어도 상기 저장된 카드 마스터 키를 기반으로 상기 제1 세션 키(308)를 생성하는 것을 포함한다.At step 1314, at least the first application cryptogram and the second application cryptogram may be transmitted by a transmitting device (eg, the transmitting unit 206) for use in a payment transaction. In some embodiments, the first application cryptogram and the second application cryptogram may be transmitted to a point of sale device (eg, point of sale management 110). In one embodiment, the method 1300 may further comprise storing, in the memory 302, a card master key associated with the transaction account, in which case the first session key 308 is identified. The method includes generating, by the processing device 204, the first session key 308 based at least on the stored card master key.

일부 실시예들에서, 또한 상기 방법(1300)은 상기 메모리(302)에, 애플리케이션 거래 카운터(예를 들어, 참조번호 312의 애플리케이션 거래 카운터)를 저장하는 단계를 포함할 수 있으며, 이 경우, 상기 제1 세션 키(308)를 식별하는 것은, 상기 처리 장치(204)에 의해, 적어도 상기 저장된 애플리케이션 거래 카운터(312)에 기초하여 상기 제1 세션 키(308)를 생성하는 것을 포함한다. 일실시예에서, 상기 방법(1300)은 상기 제2 세션 키(310)를 생성하기 전에, 상기 처리 장치(204)에 의해, 상기 수신된 PIN을 검증하는 단계를 더 포함한다. 추가 실시예에서, 상기 처리 장치(204)는 상기 수신된 PIN의 검증이 실패한다면, 무효한 제2 세션 키(310)를 생성하도록 구성될 수 있다. In some embodiments, the method 1300 may also include storing an application transaction counter (eg, an application transaction counter at 312) in the memory 302, in which case the Identifying the first session key 308 includes generating, by the processing device 204, the first session key 308 based at least on the stored application transaction counter 312. In one embodiment, the method 1300 further includes verifying, by the processing device 204, the received PIN before generating the second session key 310. In a further embodiment, the processing device 204 may be configured to generate an invalid second session key 310 if the verification of the received PIN fails.

지불 거래에서 결제 크리덴셜들을 생성하기 위한 제2 예시적 방법Second Example Method for Generating Payment Credentials in a Payment Transaction

도 14는 지불 거래에서 결제 크리덴셜들을 생성하기 위한 방법(1400)을 도시하며, 상기 방법(1400)은 보안 요소 사용 없이 모바일 장치(104)에 의해 생성된 결제 크리덴셜들의 두 개의 애플리케이션 암호들 검증을 사용하는 것을 포함한다.14 illustrates a method 1400 for generating payment credentials in a payment transaction, wherein the method 1400 verifies two application cryptograms of payment credentials generated by the mobile device 104 without using a secure element. It involves using.

단계 1402에서, 적어도 카드 마스터 키(예를 들어, 제1 카드 마스터키(612))는 거래 계정과 연관된 메모리(예를 들어, 계정 프로파일(602))에 저장될 수 있다. 단계 1404에서, 제1 세션 키(예를 들어, 제1 세션 키(606))는 적어도 상기 저장된 카드 마스터 키(612)에 기초하여 처리 장치(예를 들어, 참조번호 504의 처리 장치)에 의해 생성될 수 있다. 단계 1406에서, 제2 세션 키(예를 들어, 참조번호 608의 제2 세션 키)는 상기 처리 장치(504)에 의해 생성될 수 있다. At 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 a trading account. In step 1404, a first session key (eg, first session key 606) is generated by a processing device (eg, processing device 504) based at least on the stored card master key 612. Can be generated. In step 1406, a second session key (eg, a second session key at 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 cryptogram may be generated by the processing device 504 based at least on the first session key 606. In step 1410, a second application cryptogram may be generated by the processing device 504 based at least on the second session key 608. In step 1412, at least the first application cryptogram and the second application cryptogram may be transmitted by a transmitting device (eg, transmitting device 506) for use in a payment transaction.

일실시예에서, 상기 방법(1400)은, 상기 메모리(602)에, 상기 거래 계정과 연관된 거래 계정 시퀀스 번호를 저장하는 단계를 더 포함할 수 있으며, 이 경우, 상기 제1 세션 키는 상기 저장된 거래 계정 시퀀스 번호에 더 기초한다. 일부 실시예들에서, 또한 상기 방법(1400)은, 상기 메모리(602)에, 상기 거래 계정과 연관된 제2 카드 마스터키(예를 들어, 참조번호 614의 제2 카드 마스터 키)를 저장하는 단계도 포함할 수 있으며, 이 경우, 상기 제2 세션 키(608)는 적어도 상기 저장된 제2 카드 마스터 키(614)에 기초한다. In one embodiment, the method 1400 may further comprise storing, in the memory 602, a transaction account sequence number associated with the transaction account, wherein the first session key is stored in the stored account. It is further based on the transaction account sequence number. In some embodiments, the method 1400 also includes storing, in the memory 602, a second card master key (eg, a second card master key of 614) associated with the transaction account. And, in this case, the second session key 608 is based at least on the stored second card master key 614.

일실시예에서, 상기 방법(1400)은 : 수신 장치(예를 들어, 참조번호 502의 수신 유닛)에 의해, 제1 대응 애플리케이션 암호 및 제2 대응 애플리케이션 암호를 수신하는 단계; 상기 처리 장치에 의해, (i) 상기 생성된 제1 애플리케이션 암호에 기초하여 상기 수신된 제1 대응 애플리케이션 암호를 검증하는 단계, 그리고 (ii) 상기 생성된 제2 애플리케이션 암호에 기초하여 상기 수신된 제2 대응 애플리케이션 암호를 검증하는 단계; 및 상기 전송 장치(506)에 의해, 상기 지불 거래에 사용하기 위해 상기 검증의 결과를 전송하는 단계를 더 포함할 수 있다. 추가 실시예에서, 상기 제1 대응 애플리케이션 암호 및 상기 제2 대응 애플리케이션 암호는 판매 시점 관리 장치(예를 들어, 참조번호 110의 판매 시점 관리)로부터 수신될 수 있다. 또 다른 추가 실시예에서, 상기 검증의 결과는 상기 거래 계정과 연관된 금융 기관(예를 들어, 상기 발행자(106))에게 전송될 수 있다. In one embodiment, the method 1400 comprises: receiving, by a receiving device (eg, receiving unit at 502), a first corresponding application cryptogram and a second corresponding application cryptogram; By the processing device, (i) verifying the received first corresponding application cryptogram based on the generated first application cryptogram, and (ii) the received second application cryptogram based on the generated second application cryptogram. Verifying the corresponding application cryptogram; And transmitting, by the transmitting device 506, the result of the verification for use in the payment transaction. In a further embodiment, the first corresponding application cryptogram and the second corresponding application cryptogram may be received from a point of sale device (eg, point of sale management 110). In yet further embodiments, the results of the verification may be sent to a financial institution (eg, the issuer 106) associated with the transaction account.

데이터 메시지를 처리하기 위한 예시적 방법Example Method for Processing Data Messages

도 15는 원격 알림 서비스를 통해 수신된 원격 알림 메시지와 같은 데이터 메시지를 처리하기 위한 방법(1500)을 도시하며, 상기 방법(1500)은 보안 요소를 사용하지 않고 모바일 장치(104)에 의해 데이터 메시지를 수신하고 검증하는 것을 포함한다. FIG. 15 illustrates a method 1500 for processing a data message, such as a remote notification message received via a remote notification service, which method 1500 uses a data message by the mobile device 104 without using a secure element. Receiving and verifying.

단계 1502에서, 적어도 암호키는 메모리(예를 들어, 참조번호 212의 메모리) 내에 저장될 수 있다. 일부 실시예들에서, 상기 메모리(212)는 모바일 통신 장치(예를 들어, 참조번호 104의 모바일 장치) 내의 비-보안 요소 메모리일 수 있다. 단계 1504에서, 데이터 메시지는 수신 장치(예를 들어, 참조 번호 202의 수신 유닛)에 의해 수신될 수 있으며, 이 경우, 상기 데이터 메시지는 적어도 암호화된 메시지 및 메시지 인증 코드를 포함할 수 있으며, 상기 메시지 인증 코드는 상기 암호화된 메시지의 적어도 일부를 사용하여 생성된다. 일부 실시예들에서, 상기 데이터 메시지는 원격 알림 서비스를 통해 수신된 원격 알림 서비스 메시지일 수 있다. At step 1502, at least an 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 in a mobile communication device (eg, mobile device at 104). In step 1504, the data message may be received by a receiving device (eg, receiving unit at reference numeral 202), in which case the data message may include at least an encrypted message and a message authentication code, wherein A message authentication code is generated using at least part of the encrypted message. In some embodiments, the data message can be a remote notification service message received via a remote notification service.

단계 1506에서, 참조 인증 코드는 상기 수신된 데이터 메시지 내에 포함된 상기 암호화된 메시지 중 적어도 일부를 사용하여 처리 장치(예를 들어, 참조번호 204의 처리 유닛)에 의해 생성될 수 있다. 일실시예에서, 상기 메모리(212)는 하나 이상의 인증 코드 생성 규칙들을 더 포함할 수 있으며, 그리고 상기 참조 인증 코드는 상기 수신된 데이터 메시지 내에 포함된 상기 암호화된 메시지의 일부에의 상기 저장된 하나 이상의 인증 코드 생성 규칙들의 적용에 기초하여 생성될 수 있다. 단계 1508에서, 상기 수신된 데이터 메시지는 상기 생성된 참조 인증 코드에 대한, 상기 수신된 데이터 메시지 내에 포함된 상기 메시지 인증 코드의 검사(check)에 기초하여 상기 처리 장치(204)에 의해 검증될 수 있다. 일부 실시예들에서, 상기 메모리는 참조 카운터를 더 포함할 수 있으며, 상기 수신된 데이터 메시지는 메시지 카운터를 더 포함할 수 있으며, 그리고 상기 수신된 데이터 메시지는 상기 저장된 참조 카운터에 대해 상기 수신된 데이터 메시지 내에 포함된 상기 메시지 카운터의 확인에 기초하여 상기 처리 장치(204)에 의해 추가 검증될 수 있다. In step 1506, a reference authentication code may be generated by a processing device (eg, processing unit 204) using at least some of the encrypted messages included in the received data message. In one embodiment, the memory 212 may further include one or more authentication code generation rules, and wherein the reference authentication code is stored in one or more of the encrypted message included in the received data message. It may be generated based on the application of the authentication code generation rules. In step 1508, the received data message may be verified by the processing device 204 based on a check of the message authentication code included in the received data message against the generated reference authentication code. have. In some embodiments, the memory can further include a reference counter, the received data message can further include a message counter, and the received data message is configured to receive the received data with respect to the stored reference counter. It may be further verified by the processing device 204 based on the confirmation of the message counter included in the message.

단계 1510에서, 상기 데이터 메시지 내에 포함된 상기 암호화된 메시지는 해독된 메시지를 획득하기 위해 상기 저장된 암호화 키를 사용하여 상기 처리 장치(204)에 의해 해독될 수 있다. 일실시예에서, 상기 해독된 메시지는 지불 거래에 사용하기 위해 다음 중 적어도 하나를 포함할 수 있다 : 디지털 카드 프로파일(예를 들어, 참조번호 304의 결제 크리덴셜들) 및 1회용 키(예를 들어, 참조번호 306의 1회용 키). 일부 실시예들에서, 상기 방법(1500)은, 상기 처리 장치(204)에 의해, 하나 이상의 데이터 포맷팅 규칙들에 기초하여 상기 해독된 메시지의 데이터 포맷을 검사(checking)하는 단계도 포함할 수 있다. 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 may include at least one of the following for use in a payment transaction: a digital card profile (e.g., payment credentials of reference 304) and a disposable key (e.g., For example, the disposable key of reference numeral 306). In some embodiments, the method 1500 may also include checking, by the processing device 204, the data format of the decrypted message based on one or more data formatting rules. .

일실시예에서, 상기 방법(1500)은 전송 장치(예를 들어, 참조번호 206의 전송 장치)에 의해, 상기 수신된 데이터 메시지에 응답하여 수신 알림을 전송하는 단계를 더 포함할 수 있다. 추가 실시예에서, 상기 방법(1500)은 : 상기 처리 장치(204)에 의해, 상기 해독된 메시지에 기초하여 하나 이상의 동작들을 수행하는 단계; 상기 처리 장치(204)에 의해, 상기 수행된 하나 이상의 동작들의 결과로서 또는 상기 수행된 하나 이상의 동작들에 기초하여 리턴 메시지를 생성하는 단계; 상기 처리 장치(204)에 의해, 암호화된 리턴 메시지를 획득하기 위해 상기 저장된 암호화 키를 사용하여 상기 생성된 리턴 메시지를 암호화하는 단계; 및 상기 처리 장치(204)에 의해, 상기 암호화된 리턴 메시지의 적어도 일부를 사용하여 리턴 인증 코드를 생성하는 단계를 더 포함할 수 있으며, 이 경우, 상기 전송된 수신 알림은 상기 암호화된 리턴 메시지 및 상기 리턴 인증 코드를 포함한다. 추가 실시예에서, 상기 메모리(212)는 리턴 카운터를 더 포함할 수 있으며, 그리고 상기 전송된 수신 알림은 상기 리턴 카운터를 더 포함할 수 있다.In one embodiment, the method 1500 may further include transmitting, by the transmitting device (eg, the transmitting device at 206), a receipt notification in response to the received data message. In a further embodiment, the method 1500 comprises: performing, by the processing device 204, one or more operations based on the decrypted message; Generating, by the processing device (204), a return message as a result of the one or more operations performed or based on the one or more operations performed; Encrypting, by the processing device (204), the generated return message using the stored encryption key to obtain an encrypted return message; And generating, by the processing device 204, a return authentication code using at least a portion of the encrypted return message, wherein the received receipt notification is sent to the encrypted return message and It includes the return authentication code. In a further embodiment, the memory 212 may further include a return counter, and the transmitted receipt notification may further include the return counter.

일부 실시예들에서, 또한 상기 방법(1500)은 상기 처리 장치(204)에 의해, 패딩 키(padding key)를 사용하여 상기 수신된 데이터 메시지 내에 포함된 상기 암호화된 메시지를 패딩하는 단계를 더 포함할 수 있으며, 이 경우, 상기 참조 인증 코드를 생성하는데 사용되는 상기 암호화된 메시지의 일부는 상기 패딩된 암호화된 메시지이다. 추가 실시예에서, 상기 패딩 키는 상기 암호화 키일 수 있다. 다른 추가 실시예에서, 상기 메모리(212)는 인증 코드 패딩 알고리즘을 더 포함할 수 있으며, 그리고 상기 패딩 키를 사용하여 상기 암호화된 메시지를 패딩하는 단계는 : 상기 인증 코드 패딩 알고리즘에 대한 상기 패딩 키의 적용에 기초하여 상기 암호화된 메시지를 패딩하는 단계를 포함할 수 있다.In some embodiments, the method 1500 further includes padding, by the processing device 204, the encrypted message included in the received data message using a padding key. In this case, the portion of the encrypted message used to generate the reference authentication code is the padded encrypted message. In a further embodiment, the padding key may be the encryption key. In another further embodiment, the memory 212 may further include an authentication code padding algorithm, and padding the encrypted message using the padding key includes: the padding key for the authentication code padding algorithm. Padding the encrypted message based on the application of.

강화된 저장 키를 형성하기 위한 예시적 방법Example Method for Forming an Enhanced Storage Key

도 16은 보안 요소 없이 모바일 장치(104) 내에 로컬 데이터를 안전하게 암호화하고 저장하기 위해 강화된 저장 키를 형성하기 위한 방법(600)을 도시한다. FIG. 16 illustrates a method 600 for forming an enhanced storage key for securely encrypting and storing local data in mobile device 104 without 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, device information (eg, device information at 402) associated with at least a mobile communication device (eg, mobile device at 104), a first application program (eg, the mobile payment application Program code associated with a second application program (eg, cryptographic application of reference number 410), (eg, reference code 412). Program code) may be stored in a memory (eg, memory 212) of the mobile communication device 104, the program code 406 associated with the first application program 404 being at least an instance identifier ( For example, an instance identifier 408, wherein program code 412 associated with the second application program 410 is at least a first key. (Eg, 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 can include one or more unique identifiers associated with the mobile communication device 104. In one embodiment, the instance identifier 408 may be unique to the instance of the first application program 404. In some embodiments, the second application program 410 may be configured to perform whitebox cryptography using the first key. In one embodiment, the first key may be a dynamic key. In some embodiments, program code 412 associated with the second application program 410 may be included in program code 406 associated with the first application program 404. In further 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)은 난수 또는 의사-난수일 수 있다. In step 1604, a device fingerprint associated with the mobile communication device 104 (eg, a mobile device fingerprint at 1204) causes execution of the program code 406 associated with the first application program 404. Can be generated by a processing device (eg, processing unit 204) based on the stored device information 402. In step 1606, a random value (eg, a random value of 1206) may be generated by the processing device 204 through execution of program code 406 associated with the first application program 404. . In some embodiments, the random value 1206 may be random or pseudo-random.

단계 1608에서, 다각화 값(예를 들어, 참조번호 1208의 다각화 값)은 상기 생성된 장치 핑거프린트(1204), 상기 생성된 랜덤값(1206) 및 상기 제1 애플리케이션 프로그램(404)과 연관된 상기 프로그램 코드(406) 내에 포함된 상기 인스턴스 식별자(408)에 적어도 기초하여 상기 처리 장치(204)에 의해 형성될 수 있다. 단계 1610에서, 상기 형성된 다각화 값(1208)은 저장 키(예를 들어, 참조번호 1210의 강화된 저장 키)를 획득하기 위해 상기 제2 애플리케이션 프로그램(410)과 연관된 상기 프로그램 코드(412)의 실행을 통해 상기 제2 애플리케이션 프로그램(410)과 연관된 상기 프로그램 코드(412) 내에 저장된 상기 제1 키를 사용하여 상기 처리 장치(204)에 의해 해독될 수 있다.In step 1608, a diversification value (eg, a diversification value of reference numeral 1208) is determined by the program associated with the generated device fingerprint 1204, the generated random value 1206, and the first application program 404. It may be formed by the processing device 204 based at least on the instance identifier 408 included in code 406. In step 1610, the formed diversification value 1208 is executed by the program code 412 associated with the second application program 410 to obtain a storage key (eg, an enhanced storage key at 1210). Can be decrypted by the processing device 204 using the first key stored in the program code 412 associated with the second application program 410.

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

일실시예에서, 또한, 상기 방법(1600)은 : 전송 장치(예를 들어, 참조번호 206의 전송 유닛)에 의해, 적어도 상기 랜덤 값(1206)을 전송하는 단계; 수신 장치(예를 들어, 참조번호 202의 수신 유닛)에 의해, 하나 이상의 암호화된 파라미터들을 수신하는 단계로서, 상기 하나 이상의 암호화된 파라미터들은 각각 상기 저장 키(1210)를 사용하여 암호화되는 것인, 단계; 및 상기 모바일 통신 장치(104)의 로컬 데이터베이스(1212)에, 상기 수신된 하나 이상의 암호화된 파라미터들을 저장하는 단계를 포함할 수 있다. 추가 실시예에서, 상기 저장 키(1210)는 제3자(예를 들어, 상기 거래 관리 서버(102)에게 전송될 수 있으며, 상기 하나 이상의 암호화된 파라미터들은 상기 제3자(102)로부터 수신될 수 있다. 일부 추가 실시예들에서, 또한 상기 인스턴스 식별자(408)는 상기 전송 장치(206)에 의해 전송될 수 있다.In one embodiment, the method 1600 further comprises: transmitting, by a transmitting device (eg, a transmitting unit of reference numeral 206), at least the random value 1206; Receiving, by a receiving device (eg, receiving unit at 202) one or more encrypted parameters, each of the one or more encrypted parameters being encrypted using the storage key 1210, step; And storing the received one or more encrypted parameters in a local database 1212 of the mobile communication device 104. In a further embodiment, the storage key 1210 may be sent to a third party (eg, the transaction management server 102, wherein the one or more encrypted parameters may be received from the third party 102). In some further 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 in which embodiments or portions of embodiments of the present invention may 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, non-transitory computer readable media having stored instructions, or a combination thereof to provide a computer system ( 1700 and may be implemented in one or more computer systems or other processing systems. Hardware, software, or any combination thereof includes modules and components used to implement the methods of FIGS. 7, 8, 9A, 9B, 10A, 10B, 11, and 13-16. can do.

프로그램 가능 논리가 사용된다면, 그러한 논리는 상용 처리 플랫폼 또는 특수 목적용 장치 상에서 실행할 수 있다. 당업자는 개시된 특허 대상의 실시예들이 멀티-코어 멀티프로세서 시스템들, 멀티컴퓨터들, 메인프레임 컴퓨터들, 분산 기능으로 연결되거나 밀집된(clustered) 컴퓨터들뿐만 아니라 임의의 장치에 가상으로 임베디드될 수 있는 보급형 또는 소형 컴퓨터들을 포함하는 다양한 컴퓨터 시스템 구성들로 실시될 수 있다는 것을 이해할 것이다. 예를 들어, 적어도 하나의 프로세서 장치 및 메모리는 상기에 설명된 실시예들을 구현하는데 사용될 수 있다.If programmable logic is used, such logic can be executed on a commercial processing platform or special purpose device. Those skilled in the art will appreciate that embodiments of the disclosed subject matter may be virtually embedded in any device, as well as multi-core multiprocessor systems, multicomputers, mainframe computers, distributed or clustered computers. Or one of various computer system configurations, including small computers. For example, at least one processor device and memory may be used to implement the embodiments described above.

본원에 논의된 프로세서 유닛 또는 장치는 단일 프로세서, 다수의 프로세서들 또는 이것들의 조합들일 수 있다. 프로세서 장치들은 하나 이상의 프로세서 "코어들"을 가질 수 있다. 본원에 논의된 "컴퓨터 프로그램 매체", "비-일시적 컴퓨터 판독 가능 매체" 및 "컴퓨터 실행 가능 매체" 용어는 일반적으로 이동 가능 저장 유닛(1718), 이동 가능 저장 유닛(1722), 그리고 하드 디스크 드라이브(1712)에 설치된 하드 디스크 같은 감각형 미디어(tangible media)를 지칭하는데 사용된다.The processor unit or apparatus discussed herein may be a single processor, multiple processors or combinations thereof. Processor devices may have one or more processor "cores". The terms "computer program medium", "non-transitory computer readable medium" and "computer executable medium" as discussed herein generally refer to removable storage unit 1718, removable storage unit 1722, and hard disk drive. Used to refer to tangible media, such as a hard disk installed at 1712.

본 개시서의 다양한 실시예들은 이러한 예시적 컴퓨터 시스템(1700)에 관해 설명된다. 이 설명을 읽은 후에, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍처들을 사용하여 본 발명을 구현하는 방법은 당업자에게 자명할 것이다. 동작들이 순차적인 프로세스로 설명될 수 있지만, 상기 동작들 중 일부는 사실상 병렬로, 동시에, 그리고/또는 분산 환경에서, 그리고 단일 프로세서 기계들 또는 멀티-프로세서 기계들에 의해 액세스하기 위해 국부적으로 또는 원격으로 저장된 프로그램 코드를 이용하여 수행될 수 있다. 추가로, 일부 실시예들에서, 상기 동작들의 순서는 개시된 발명의 사상을 벗어나지 않고 재-구성될 수 있다.Various embodiments of the present disclosure are described with respect to such example computer system 1700. After reading this description, it will be apparent to those skilled in the art how to implement the invention using other computer systems and / or computer architectures. Although the operations may be described in sequential processes, some of the operations may be local or remote in nature, in parallel, concurrently, and / or in a distributed environment, and for access by single processor machines or multi-processor machines. It can be performed using the program code stored as. In addition, in some embodiments, the order of the operations may be re-configured without departing from the spirit of the disclosed invention.

프로세서 장치(1704)는 특정 목적 또는 범용 프로세서 장치일 수 있다. 상기 프로세서 장치(1704)는 버스, 메시지 큐, 네트워크, 멀티-코어 메시지-전달 방식 등과 같은 통신 인프라(1706)에 연결될 수 있다. 상기 네트워크는 본원에 개시된 것과 같은 기능들을 수행하기에 적합한 임의의 네트워크일 수 있으며, 그리고 로컬 영역 네트워크(LAN), 광역망(WAN), 무선 네트워크(예를 들어, WiFi), 모바일 통신 네트워크, 위성 네트워크, 인터넷, 광섬유, 동축 케이블, 적외선, 무선 주파수(RF) 또는 이들의 임의의 조합을 포함할 수 있다. 다른 적절한 네트워크 유형들 및 구성들은 당업자에게 명백할 것이다. 또한 상기 컴퓨터 시스템(1700)은 주기억장치(1708)(예를 들어, 랜덤 액세스 메모리, 읽기-전용 메모리 등)를 포함할 수 있으며, 그리고 또한 보조 기억 장치(1710)를 포함할 수 있다. 상기 보조 기억 장치(1710)는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 메모리 등 같은 하드 디스크 드라이브(1712) 및 이동 가능 저장 드라이브(1714)를 포함할 수 있다.Processor device 1704 may be a special purpose or general purpose processor device. The processor device 1704 may be coupled to a communication infrastructure 1706 such as a bus, message queue, network, multi-core message-delivery scheme, and the like. The network may be any network suitable for performing the functions as disclosed herein, and may be a local area network (LAN), wide area network (WAN), wireless network (eg, WiFi), mobile communication network, satellite Network, internet, optical fiber, coaxial cable, infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be apparent to those skilled in the art. The computer system 1700 may also include a main memory 1708 (eg, random access memory, read-only memory, etc.), and may also include auxiliary storage 1710. The auxiliary storage device 1710 may include a hard disk drive 1712 and a removable storage drive 1714 such as a floppy disk drive, a magnetic tape drive, an optical disk drive, a flash memory, and the like.

상기 이동 가능 저장 드라이브(1714)는 잘-알려진 방식으로 상기 이동 가능식 저장 유닛(1718)으로부터 판독할 수 있으며, 그리고 상기 이동 가능식 저장 유닛(1718)에 기록할 수 있다. 상기 이동 가능식 저장 유닛(1718)은 상기 이동 가능식 저장 드라이브(1714)에 의해 판독될 수 있고 기록될 수 있는 이동 가능식 저장 매체를 포함할 수 있다. 예를 들어, 상기 이동 가능식 저장 드라이브(1714)가 플로피디스크 드라이브 또는 USB(universal serial bus) 포트라면, 상기 이동 가능식 저장 유닛(1718)은 각각 플로피디스크 또는 휴대용 플래시드라이브일 수 있다. 일실시예에서, 상기 이동 가능식 저장 유닛(1718)은 비-일시적 컴퓨터 판독 가능 기록 매체일 수 있다.The removable storage drive 1714 can read from and write to the removable storage unit 1718 in a well-known manner. The removable storage unit 1718 may include a removable storage medium that can be read by and written to by the removable storage drive 1714. For example, if the removable storage drive 1714 is a floppy disk drive or a universal serial bus (USB) 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 secondary storage 1710 is an alternative means for allowing computer programs or other instructions to be loaded into the computer system 1700 (eg, the removable storage unit 1722). And interface 1720). Examples of such means include program cartridges and cartridge interfaces (eg, as found in video game systems), removable memory chips (eg, EEPROM, PROM, etc.) and associated sockets, as will be apparent to those skilled in the art, and Other removable storage units 1722 and interfaces 1720 may be included.

상기 컴퓨터 시스템(1700) 내에(예를 들어, 주기억장치(1708) 및/또는 보조 기억 장치(1710)내에) 저장된 데이터는 광기억장치(예를 들어, 콤팩트 디스크, 디지털 다기능 디스크, 블루-레이 디스크 등), 또는 자기 테이프 저장소(예를 들어, 하드 디스크 드라이브) 같은 임의의 유형의 적절한 컴퓨터 판독 가능 매체 상에 저장될 수 있다. 상기 데이터는 관계형 데이터베이스, 구조화 질의어(SQL) 데이터베이스, 분산형 데이터베이스, 객체 데이터베이스 등 같은 임의의 유형의 적절한 데이터베이스 구성으로 구성될 수 있다. 적절한 구성들 및 저장 유형들은 당업자에게 자명할 것이다.Data stored in the computer system 1700 (eg, in main memory 1708 and / or auxiliary storage 1710) may be stored in optical memory (eg, compact disks, digital multifunction disks, Blu-ray disks). Etc.), or any type of suitable computer readable medium, such as magnetic tape storage (e.g., hard disk drive). The data may consist of any type of suitable database configuration, such as a relational database, structured query (SQL) database, distributed database, object database, and the like. Appropriate configurations and storage types will be apparent to those skilled in the art.

또한, 상기 컴퓨터 시스템(1700)은 통신 인터페이스(1724)를 포함할 수 있다. 상기 통신 인터페이스(1724)는 소프트웨어 및 데이터가 상기 컴퓨터 시스템(1700) 및 외부 장치들 간에 전달되게 할 수 있도록 구성될 수 있다. 예시적 통신 인터페이스들(1724)은 모뎀, 네트워크 인터페이스(예를 들어, 이더넷 카드), 통신 포트, PCMCIA 슬롯 및 카드 등을 포함할 수 있다. 상기 통신 인터페이스(1724)를 통해 전달된 소프트웨어 및 데이터는 당업자에게 자명할 전자 신호, 전자기 신호, 광신호 또는 다른 신호일 수 있는 신호의 형태일 수 있다. 상기 신호들은, 상기 신호들을 운반하도록 구성될 수 있고 와이어, 케이블, 광섬유, 전화선, 핸드폰 링크, 무선 주파수 링크 등을 사용하여 구현될 수 있는 통신 경로(1726)를 통해 이동할 수 있다. The computer system 1700 can 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. Exemplary communication interfaces 1724 may include a modem, a network interface (eg, an Ethernet card), a communication port, a PCMCIA slot and a card, and the like. The software and data delivered through the communication interface 1724 may be in the form of signals that may be electronic signals, electromagnetic signals, optical signals, or other signals that will be apparent to those skilled in the art. The signals can travel through a communication path 1726 that can be configured to carry the signals and can be implemented using wires, cables, optical fibers, telephone lines, cellular links, radio frequency links, and the like.

상기 컴퓨터 시스템(1700)은 디스플레이 인터페이스(1702)를 더 포함할 수 있다. 상기 디스플레이 인터페이스(1702)는 데이터가 상기 컴퓨터 시스템(1700) 및 외부 디스플레이(1730) 사이에서 전달될 수 있게 하도록 구성될 수 있다. 예시적 디스플레이 인터페이스들(1702)은 HDMI(high-definition multimedia interface; HDMI), DVI(digital visual interface; DVI), VGA(video graphics array) 등을 포함할 수 있다. 상기 디스플레이(1730)는 상기 컴퓨터 시스템(1700)의 디스플레이 인터페이스(1702)를 통해 전송된 데이터를 디스플레이하기 위한, CRT(cathode ray tube) 디스플레이, LCD(liquid crystal display), 발광 다이오드(LED) 디스플레이, 용량 방식 터치 디스플레이, TFT(thin-film transistor) 디스플레이 등을 포함하는 임의의 적절한 유형의 디스플레이일 수 있다. The computer system 1700 may further include a display interface 1702. The display interface 1702 can be configured to allow data to be transferred between the computer system 1700 and an external display 1730. Example display interfaces 1702 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics array (VGA), or the like. The display 1730 is a cathode ray tube (CRT) display, a liquid crystal display (LCD), a light emitting diode (LED) display, for displaying data transmitted through the display interface 1702 of the computer system 1700, It may be any suitable type of display, including capacitive touch displays, thin-film transistor (TFT) displays, and the like.

컴퓨터 프로그램 매체 및 컴퓨터 실행 가능 매체는 메모리 반도체들(예를 들어, DRAM 등)일 수 있는 상기 주기억장치(1708) 및 상기 보조 기억 장치(1710) 같은 메모리들을 의미할 수 있다. 이러한 컴퓨터 프로그램 제품들은 상기 컴퓨터 시스템(1700)에게 소프트웨어를 제공하기 위한 수단일 수 있다. 컴퓨터 프로그램들(예를 들어, 컴퓨터 제어 로직)은 상기 주기억장치(1708) 및/또는 상기 보조 기억 장치(1710)에 저장될 수 있다. 또한, 컴퓨터 프로그램들은 상기 통신 인터페이스(1724)를 통해 수신될 수 있다. 이러한 컴퓨터 프로그램들은, 실행될 때, 컴퓨터 시스템(1700)이 본원에 논의된 본 방법들을 구현할 수 있게 할 수 있다. 특히, 상기 컴퓨터 프로그램들은, 실행될 때, 프로세서 장치(1704)가 본원에 논의된 바와 같은 도 7, 도 8, 도 9a, 도 9b, 도 10a, 도 10b, 도 11 및 도 13 내지 도 16에 의해 설명된 방법들을 구현할 수 있게 할 수 있다. 이에 따라, 이러한 컴퓨터 프로그램들은 상기 컴퓨터 시스템(1700)의 컨트롤러들을 나타낼 수 있다. 본 발명이 소프트웨어를 사용하여 구현되는 경우, 상기 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있으며, 상기 이동식 저장 드라이브(1714), 인터페이스(172) 및 하드 디스크 드라이브(1712), 또는 통신 인터페이스(1724)를 사용하여 상기 컴퓨터 시스템(1700) 내에 로딩될 수 있다.Computer program media and computer executable media may refer to memories, such as the main memory 1708 and the auxiliary storage 1710, which may be memory semiconductors (eg, DRAM, etc.). Such 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, may enable the computer system 1700 to implement the methods discussed herein. In particular, the computer programs, when executed, are executed by FIGS. 7, 8, 9A, 9B, 10A, 10B, 11 and 13-16 when the processor device 1704 is discussed herein. It may be possible to implement the described methods. Accordingly, such computer programs may represent controllers of the computer system 1700. When the present invention is implemented using software, the software may be stored in a computer program product, and the removable storage drive 1714, the interface 172 and the hard disk drive 1712, or the communication interface 1724 may be stored. May be loaded into the computer system 1700.

본 개시서와 일치하는 기술들은 다른 특징들 중에서도 보안 요소를 사용하지 않고 모바일 장치를 사용하여 지불 거래들을 처리하기 위한 시스템들 및 방법들을 제공하며, 상기 시스템들 및 방법들은 원격 알림 서비스 메시지들을 전송 및 검증하는 것, 그리고 강화된 저장 키를 사용하여 데이터를 안전하게 저장하는 것을 포함한다. 개시된 시스템 및 방법의 다양한 예시적 실시예들이 상술되었지만, 이들은 단지 예시의 목적만을 위해서 제시된 것이며, 제한하려는 것이 아니라는 것이 이해되어야 한다. 이들은 본 발명을 총 망라한 것이 아니며, 본 발명을 개시된 정확한 형태로 제한하지 않는다. 상기의 교시들을 참조한 수정들 및 변형들이 가능하며, 또는 그 수정들 및 변형들은 본 발명의 폭이나 범위를 벗어나지 않으면서 본 발명을 실행하는 것으로부터 획득될 수 있다.Techniques consistent with this disclosure provide, among other features, systems and methods for processing payment transactions using a mobile device without using a secure element, the systems and methods for sending and receiving remote notification service messages. Verification, and storing data securely using enhanced storage keys. While various example embodiments of the disclosed systems and methods have been described above, it should be understood that they have been presented for purposes of illustration only and are not intended to be limiting. They are not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings, or they may be obtained from practicing the invention without departing from the breadth or scope of the invention.

Claims (14)

지불 거래에서 결제 크리덴셜들(payment credentials)을 생성하기 위한 방법으로서,
상기 방법은 :
처리 장치에 의해, 거래 계정과 연관된 적어도 하나의 저장된 키 및 개인 식별 번호에 기초하여 제2 세션 키를 생성하는 단계;
상기 처리 장치에 의해, 적어도 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하는 단계;
상기 처리 장치에 의해, 적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하는 단계; 및
전송 장치에 의해, 지불 거래에 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하는 단계를 포함하는, 방법.
A method for generating payment credentials in a payment transaction,
The method is:
Generating, by the processing device, a second session key based on at least one stored key and personal identification number associated with the transaction account;
Generating, by the processing device, a first application cryptogram based on at least a first session key;
Generating, by the processing device, a second application cryptogram based on at least the second session key; And
Sending, by a sending device, at least the first application cryptogram and the second application cryptogram for use in a payment transaction.
청구항 1에 있어서,
상기 방법은 :
상기 제2 세션 키를 생성하는 단계 전에, 메모리에, 상기 거래 계정과 연관된 카드 마스터 키를 저장하는 단계; 및
상기 처리 장치에 의해, 상기 제1 세션 키를 식별하는 단계를 더 포함하며,
상기 제1 세션 키를 식별하는 단계는 :
상기 처리 장치에 의해, 적어도 상기 저장된 카드 마스터 키에 기초하여 상기 제1 세션 키를 생성하는 단계를 포함하는, 방법.
The method according to claim 1,
The method is:
Prior to generating the second session key, storing in the memory a card master key associated with the transaction account; And
Identifying, by the processing device, the first session key,
Identifying the first session key includes:
Generating, by the processing device, the first session key based at least on the stored card master key.
청구항 1에 있어서,
상기 방법은 :
상기 제2 세션 키를 생성하는 단계 전에, 메모리에, 애플리케이션 거래 카운터를 저장하는 단계; 및
상기 처리 장치에 의해, 상기 제1 세션 키를 식별하는 단계를 더 포함하며,
상기 제1 세션 키를 식별하는 단계는 :
상기 처리 장치에 의해, 적어도 상기 저장된 애플리케이션 거래 카운터에 기초하여 상기 제1 세션 키를 생성하는 단계를 포함하는, 방법.
The method according to claim 1,
The method is:
Prior to generating the second session key, storing an application transaction counter in a memory; And
Identifying, by the processing device, the first session key,
Identifying the first session key includes:
Generating, by the processing device, the first session key based at least on the stored application transaction counter.
청구항 1에 있어서,
상기 방법은 :
상기 처리 장치에 의해, 상기 제2 세션 키를 생성하기 전에 상기 개인 식별 번호를 검증하는 단계를 더 포함하는, 방법.
The method according to claim 1,
The method is:
Verifying, by the processing device, the personal identification number before generating the second session key.
청구항 4에 있어서,
상기 처리 장치는 상기 개인 식별 번호의 검증이 실패한다면 무효한 제2 세션 키를 생성하도록 구성되는, 방법.
The method according to claim 4,
And the processing device is configured to generate an invalid second session key if the verification of the personal identification number fails.
청구항 1에 있어서,
상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호는 판매 시점 관리 장치에게 전송되는, 방법.
The method according to claim 1,
The first application cryptogram and the second application cryptogram are transmitted to a point of sale device.
청구항 2에 있어서,
상기 메모리는 모바일 통신 장치 내의 비-보안 요소 메모리인, 방법.
The method according to claim 2,
The memory is a non-secure element memory in a mobile communication device.
지불 거래에서 결제 크리덴셜들을 생성하기 위한 시스템으로서,
상기 시스템은 :
처리 장치; 및
전송 장치를 포함하며,
상기 처리 장치는 :

거래 계정과 연관된 적어도 하나의 저장된 키 및 수신된 개인 식별 번호에 기초하여 제2 세션 키를 생성하고;
적어도 제1 세션 키에 기초하여 제1 애플리케이션 암호를 생성하고; 그리고
적어도 상기 제2 세션 키에 기초하여 제2 애플리케이션 암호를 생성하도록 구성되며,
상기 전송 장치는 지불 거래에 사용하기 위해 적어도 상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호를 전송하도록 구성되는, 시스템.
A system for generating payment credentials in a payment transaction,
The system is:
Processing unit; And
A transmission device,
The processing unit is:

Generate a second session key based on the at least one stored key associated with the transaction account and the received personal identification number;
Generate a first application cryptogram based on at least the first session key; And
Generate a second application cryptogram based on at least the second session key,
The transmitting device is configured to transmit at least the first application cryptogram and the second application cryptogram for use in a payment transaction.
청구항 8에 있어서,
상기 시스템은 :
상기 거래 계정과 연관된 카드 마스터 키를 저장하도록 구성된 메모리를 더 포함하며,
상기 처리 장치는 :
적어도 상기 저장된 카드 마스터 키에 기초하여 상기 제1 세션 키를 생성하도록 더 구성되는, 시스템.
The method according to claim 8,
The system is:
Further comprising a memory configured to store a card master key associated with the trading account,
The processing unit is:
And generate the first session key based at least on the stored card master key.
청구항 8에 있어서,
상기 시스템은 :
애플리케이션 거래 카운터를 저장하도록 구성된 메모리를 더 포함하며;
상기 처리 장치는 :
적어도 상기 저장된 애플리케이션 거래 카운터에 기초하여 상기 제1 세션 키를 생성하도록 더 구성되는, 시스템.
The method according to claim 8,
The system is:
Further comprising a memory configured to store an application transaction counter;
The processing unit is:
And generate the first session key based at least on the stored application transaction counter.
청구항 8에 있어서,
상기 처리 장치는 상기 제2 세션 키를 생성하기 전에 상기 개인 식별 번호를 검증하도록 더 구성되는, 시스템.
The method according to claim 8,
And the processing device is further configured to verify the personal identification number before generating the second session key.
청구항 11에 있어서,
상기 처리 장치는 상기 개인 식별 번호의 검증이 실패한다면 무효한 제2 세션 키를 생성하도록 구성되는, 시스템.
The method according to claim 11,
And the processing device is configured to generate an invalid second session key if the verification of the personal identification number fails.
청구항 8에 있어서,
상기 제1 애플리케이션 암호 및 상기 제2 애플리케이션 암호는 판매 시점 관리 장치에게 전송되는, 시스템.
The method according to claim 8,
The first application cryptogram and the second application cryptogram are transmitted to a point of sale device.
청구항 9에 있어서,
상기 메모리는 모바일 통신 장치 내의 비-보안 요소 메모리인, 시스템.
The method according to claim 9,
The memory is a non-secure element memory in a mobile communication device.
KR1020177035338A 2013-12-02 2014-12-02 Method and system for secure authentication of user and mobile device without secure elements KR102025816B1 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201361910819P 2013-12-02 2013-12-02
US61/910,819 2013-12-02
US201461951842P 2014-03-12 2014-03-12
US61/951,842 2014-03-12
US201461955716P 2014-03-19 2014-03-19
US61/955,716 2014-03-19
US201461979132P 2014-04-14 2014-04-14
US61/979,132 2014-04-14
US201461980784P 2014-04-17 2014-04-17
US61/980,784 2014-04-17
PCT/US2014/067992 WO2015084755A1 (en) 2013-12-02 2014-12-02 Method and system for secure authentication of user and mobile device without secure elements

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017367A Division KR101809221B1 (en) 2013-12-02 2014-12-02 Method and system for secure authentication of user and mobile device without secure elements

Publications (2)

Publication Number Publication Date
KR20170139689A KR20170139689A (en) 2017-12-19
KR102025816B1 true KR102025816B1 (en) 2019-09-26

Family

ID=53274011

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177035338A KR102025816B1 (en) 2013-12-02 2014-12-02 Method and system for secure authentication of user and mobile device without secure elements
KR1020167017367A KR101809221B1 (en) 2013-12-02 2014-12-02 Method and system for secure authentication of user and mobile device without secure elements

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167017367A KR101809221B1 (en) 2013-12-02 2014-12-02 Method and system for secure authentication of user and mobile device without secure elements

Country Status (16)

Country Link
EP (1) EP3077972A4 (en)
JP (2) JP6353537B2 (en)
KR (2) KR102025816B1 (en)
CN (1) CN106062799B (en)
AU (1) AU2014357381B2 (en)
BR (1) BR112016012527A2 (en)
CA (1) CA2932346C (en)
CL (1) CL2016001353A1 (en)
HK (1) HK1227146A1 (en)
IL (1) IL245965B (en)
MX (1) MX361793B (en)
NZ (1) NZ720688A (en)
RU (1) RU2663319C2 (en)
SG (1) SG10201800179UA (en)
UA (1) UA115500C2 (en)
WO (1) WO2015084755A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015084797A1 (en) 2013-12-02 2015-06-11 Mastercard International Incorporated Method and system for secure tranmission of remote notification service messages to mobile devices without secure elements
RU2682840C2 (en) * 2014-04-14 2019-03-21 Мастеркард Интернэшнл Инкорпорейтед Improved storage key generation method and system in mobile device without protective elements
US10614442B2 (en) 2014-12-03 2020-04-07 Mastercard International Incorporated System and method of facilitating cash transactions at an ATM system without an ATM card using mobile
US10248947B2 (en) * 2015-06-29 2019-04-02 Oberthur Technologies of America Corp. Method of generating a bank transaction request for a mobile terminal having a secure module
US11120436B2 (en) * 2015-07-17 2021-09-14 Mastercard International Incorporated Authentication system and method for server-based payments
SG10201508945YA (en) 2015-10-29 2017-05-30 Mastercard International Inc Method and system for cardless use of an automated teller machine (atm)
US10496982B2 (en) * 2016-02-03 2019-12-03 Accenture Global Solutions Limited Secure contactless card emulation
WO2017182411A1 (en) * 2016-04-18 2017-10-26 Bancontact-Mistercash Nv/Sa Method and device for authorizing mobile transactions
WO2017184840A1 (en) * 2016-04-21 2017-10-26 Mastercard International Incorporated Method and system for contactless transactions without user credentials
AU2017318589B2 (en) * 2016-09-04 2020-04-09 Mastercard International Incorporated Method and system for cardless ATM transaction via mobile device
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
WO2018136914A1 (en) * 2017-01-23 2018-07-26 Mastercard International Incorporated Method and system for authentication via a trusted execution environment
EP3364352A1 (en) 2017-02-21 2018-08-22 Mastercard International Incorporated Determining legitimate conditions at a computing device
EP3364329B1 (en) 2017-02-21 2023-07-26 Mastercard International Incorporated Security architecture for device applications
EP3364363A1 (en) 2017-02-21 2018-08-22 Mastercard International Incorporated Transaction cryptogram
CN107274183B (en) * 2017-03-21 2020-05-22 中国银联股份有限公司 Transaction verification method and system
US11468444B2 (en) * 2017-12-18 2022-10-11 Mastercard International Incorporated Method and system for bypassing merchant systems to increase data security in conveyance of credentials
KR101972599B1 (en) * 2018-06-19 2019-04-25 김승훈 Apparatus and Method for Processing Session Key and Recording Medium Recording Program thereof
US10581611B1 (en) 2018-10-02 2020-03-03 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
EP3640878B1 (en) * 2018-10-17 2023-06-21 Swatch Ag Method and system for activating a portable contactless payment object
US11803827B2 (en) 2019-11-01 2023-10-31 Mastercard International Incorporated Method and system for enabling cardless transactions at an ATM for any institutional entity
CN111901109B (en) * 2020-08-04 2022-10-04 华人运通(上海)云计算科技有限公司 White-box-based communication method, device, equipment and storage medium
CN113421084B (en) * 2021-05-26 2023-03-24 歌尔股份有限公司 Bus card processing method, device, equipment and readable storage medium

Citations (1)

* 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

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4183823B2 (en) * 1999-02-10 2008-11-19 富士通株式会社 Data verification device, data verification system, and data verification program storage medium
US7249093B1 (en) * 1999-09-07 2007-07-24 Rysix Holdings, Llc Method of and system for making purchases over a computer network
JP2004086599A (en) * 2002-08-27 2004-03-18 Toppan Printing Co Ltd Credit card information management device, management method, and program thereof
US7873572B2 (en) * 2004-02-26 2011-01-18 Reardon David C Financial transaction system with integrated electronic messaging, control of marketing data, and user defined charges for receiving messages
DK2011301T3 (en) * 2006-04-10 2011-10-17 Trust Integration Services B V Arrangement and method for secure data transmission
US8713655B2 (en) * 2008-04-21 2014-04-29 Indian Institute Of Technology Method and system for using personal devices for authentication and service access at service outlets
BR112013003369A2 (en) * 2010-08-12 2020-08-04 Mastercard International, Inc. multiple trade channel wallet for authenticated transactions
US8746553B2 (en) * 2010-09-27 2014-06-10 Mastercard International Incorporated Purchase Payment device updates using an authentication process
KR20120110926A (en) * 2011-03-30 2012-10-10 주식회사 비즈모델라인 Method and system for card payment using program identity, smart phone
US20120317628A1 (en) * 2011-06-09 2012-12-13 Yeager C Douglas Systems and methods for authorizing a transaction
KR101671457B1 (en) * 2012-04-18 2016-11-01 구글 인코포레이티드 Processing payment transactions without a secure element

Patent Citations (1)

* 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

Also Published As

Publication number Publication date
EP3077972A4 (en) 2017-08-09
BR112016012527A2 (en) 2017-08-08
JP6353537B2 (en) 2018-07-04
JP2017504871A (en) 2017-02-09
EP3077972A1 (en) 2016-10-12
UA115500C2 (en) 2017-11-10
CN106062799A (en) 2016-10-26
AU2014357381B2 (en) 2017-03-23
CN106062799B (en) 2022-04-29
KR20170139689A (en) 2017-12-19
IL245965B (en) 2022-05-01
KR20160091418A (en) 2016-08-02
CL2016001353A1 (en) 2017-05-12
JP2018164281A (en) 2018-10-18
MX361793B (en) 2018-12-17
RU2663319C2 (en) 2018-08-03
NZ720688A (en) 2017-09-29
CA2932346C (en) 2018-09-04
HK1227146A1 (en) 2017-10-13
KR101809221B1 (en) 2017-12-14
AU2014357381A1 (en) 2016-06-16
CA2932346A1 (en) 2015-06-11
SG10201800179UA (en) 2018-02-27
WO2015084755A1 (en) 2015-06-11
MX2016007217A (en) 2016-12-09
IL245965A0 (en) 2016-07-31

Similar Documents

Publication Publication Date Title
US11361313B2 (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
KR102151579B1 (en) Method and system for generating an advanced storage key in a mobile device without secure elements

Legal Events

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