RU2653290C1 - Method and system for generation of improved storage key in mobile device without protective elements - Google Patents

Method and system for generation of improved storage key in mobile device without protective elements Download PDF

Info

Publication number
RU2653290C1
RU2653290C1 RU2016136503A RU2016136503A RU2653290C1 RU 2653290 C1 RU2653290 C1 RU 2653290C1 RU 2016136503 A RU2016136503 A RU 2016136503A RU 2016136503 A RU2016136503 A RU 2016136503A RU 2653290 C1 RU2653290 C1 RU 2653290C1
Authority
RU
Russia
Prior art keywords
mobile device
key
application program
payment
program
Prior art date
Application number
RU2016136503A
Other languages
Russian (ru)
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 Мастеркард Интернэшнл Инкорпорейтед
Application granted granted Critical
Publication of RU2653290C1 publication Critical patent/RU2653290C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Cash Registers Or Receiving Machines (AREA)

Abstract

FIELD: network communication technology.
SUBSTANCE: invention relates to network communication technologies. Method comprises: storage, in the memory of the mobile device, of at least (i) information about the device associated with the mobile device, (ii) program code associated with the first program, the code including an instance identifier, and (iii) program code associated with the second program, the code including the first key; generation of a characteristic feature of the device associated with the mobile device, based on the device information, by executing the code associated with the first program; generation of a random value by executing the code associated with the first program; construction of the value of the diversifier based on the generated characteristic feature of the device, the generated random value and the instance identifier included in the code associated with the first program; and decryption of the constructed value of the diversifier using the first key stored in the code associated with the second program by executing the code associated with the second program to obtain the storage key.
EFFECT: technical result is improved data transmission security.
24 cl, 17 dwg

Description

РОДСТВЕННЫЕ ЗАЯВКИRELATED APPLICATIONS

[0001] По данной заявке испрашивается приоритет, согласно 35 U.S.C. 119(e), ранее поданных предварительных патентных заявок №№ 61/910819, поданной 2 декабря 2013 г.; 61/951842, поданной 12 марта 2014 г.; 61/955,716 поданной 19 марта 2014 г.; 61/979132, поданной 14 апреля 2014 г.; и 61/980784, поданной 17 апреля 2014; 61/979122, поданной 14 апреля 2014 г.; 61/996665, поданной 14 мая 2014 г.; и, в частности, предварительной патентной заявки № 61/979113, поданной 14 апреля 2014 г., каждая из которых включена сюда посредством ссылки в полном объеме.[0001] This application claims priority according to 35 U.S.C. 119 (e), previously filed of provisional patent applications No. 61/910819, filed December 2, 2013; 61/951842, filed March 12, 2014; 61 / 955,716 filed March 19, 2014; 61/979132, filed April 14, 2014; and 61/980784, filed April 17, 2014; 61/979122, filed April 14, 2014; 61/996665, filed May 14, 2014; and, in particular, provisional patent application No. 61/979113, filed April 14, 2014, each of which is incorporated here by reference in full.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION

[0002] Настоящее изобретение относится к генерации усовершенствованного ключа хранения для использования в мобильном устройстве без необходимости в защитном элементе, и, в частности, использования множественных значений для построения усовершенствованного ключа хранения в мобильном устройстве без защитного элемента для использования при безопасном хранении данных в мобильном устройстве.[0002] The present invention relates to the generation of an advanced storage key for use in a mobile device without the need for a security element, and in particular, the use of multiple values to construct an advanced storage key in a mobile device without a security element for use in the secure storage of data in a mobile device .

УРОВЕНЬ ТЕХНИКИBACKGROUND

[0003] Развитие технологий мобильной и иной связи создало впечатляющие возможности, в частности, предоставило пользователю мобильного вычислительного устройства возможность инициировать и платить за платежные транзакции с использованием своего мобильного устройства. Один такой подход к обеспечению возможности таких действий на мобильном устройстве предусматривает использование технологии ближней бесконтактной связи (NFC) для безопасной передачи деталей платежа от мобильного устройства к близлежащему терминалу бесконтактной торговой точки (POS). С этой целью, мобильные телефоны с оборудованием защитного элемента, например, микросхемы защитного элемента (SE), используются для защищенного хранения реквизитов платежа. Защитный элемент является особенностью, которая может быть включена в некоторые устройства с возможностями NFC, которая является износоустойчивой платформой, на которой можно безопасно размещать приложения и их конфиденциальные данные.[0003] The development of mobile and other communication technologies has created impressive opportunities, in particular, it provided the user of a mobile computing device with the ability to initiate and pay for payment transactions using his mobile device. One such approach to enabling such actions on a mobile device involves the use of Near Field Communication (NFC) technology to securely transfer payment details from a mobile device to a nearby contactless point of sale (POS) terminal. To this end, mobile phones equipped with a security element equipment, for example, security element (SE) chips, are used for secure storage of payment details. The security element is a feature that can be incorporated into some devices with NFC capabilities, which is a wear-resistant platform on which you can safely place applications and their sensitive data.

[0004] Однако, не все мобильные устройства имеют защитные элементы. Кроме того, некоторые финансовые учреждения могут не иметь доступа к защитным элементам на мобильном устройстве, даже если мобильное устройство снабжено таким элементом. В результате, многие покупатели с мобильными устройствами, которые обладают необходимым оборудованием для проведения бесконтактных или других типов удаленных платежных транзакций, могут быть не способны фактически использовать эти возможности. Вследствие таких затруднений, требуется техническое решение, позволяющее мобильным вычислительным устройствам инициировать и проводить платежные транзакции без использования защитных элементов.[0004] However, not all mobile devices have security features. In addition, some financial institutions may not have access to security features on a mobile device, even if the mobile device is equipped with such a device. As a result, many buyers with mobile devices who have the necessary equipment to conduct contactless or other types of remote payment transactions may not be able to actually use these opportunities. Due to such difficulties, a technical solution is required that allows mobile computing devices to initiate and conduct payment transactions without the use of security elements.

[0005] Некоторые способы и системы для проведения платежных транзакций с использованием мобильных устройств, не имеющих защитных элементов, или без использования защитных элементов в мобильных устройствах, снабженных ими, можно найти в патентной заявке США № 13/827042, под названием ʺSystems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elementsʺ за авторством Mehdi Collinge и др., поданной 14 марта 2013 г., которая включена сюда посредством ссылки в полном объеме. Хотя такие способы и системы могут быть пригодны для проведения платежных транзакций посредством мобильного устройства без использования защитного элемента, многие покупатели, торговцы и финансовые учреждения могут опасаться участвовать в таких транзакциях в силу желания еще большей безопасности.[0005] Some methods and systems for conducting payment transactions using mobile devices without security features or without the use of security features in mobile devices equipped with them can be found in US Patent Application No. 13/827042, entitled Method Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elementsʺ by Mehdi Collinge et al., Filed March 14, 2013, which is incorporated herein in its entirety by reference. Although such methods and systems may be suitable for conducting payment transactions via a mobile device without the use of a security element, many buyers, merchants and financial institutions may be wary of participating in such transactions because of the desire for even greater security.

[0006] В результате, требуется технические решения для обеспечения еще большей безопасности для получения и хранения реквизитов платежа в мобильном устройстве, не имеющем защитного элемента, а также обеспечение повышенной безопасности при передаче реквизитов платежа торговой точке от мобильного устройства при проведении финансовой транзакции. Повышенная безопасность в этих процессах может приводить к повышенному спокойствию для всех участвующих субъектов, что может приводить к увеличению использования мобильных устройств для бесконтактных или удаленных платежных транзакций, что может обеспечивать покупателям большое количество преимуществ над традиционными способами платежа.[0006] As a result, technical solutions are required to provide even greater security for receiving and storing payment details in a mobile device that does not have a security element, as well as providing increased security when transferring payment details to a point of sale from a mobile device during a financial transaction. Increased security in these processes can lead to increased peace of mind for all involved entities, which can lead to increased use of mobile devices for contactless or remote payment transactions, which can provide customers with a large number of advantages over traditional payment methods.

СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

[0007] В настоящем раскрытии обеспечено описание систем и способов построения усовершенствованных ключей хранения.[0007] The present disclosure provides a description of systems and methods for constructing advanced storage keys.

[0008] Способ построения усовершенствованного ключа хранения включает в себя: сохранение, в памяти мобильного устройства связи, по меньшей мере, (i) информации об устройстве, связанной с мобильным устройством связи, (ii) программного кода, связанного с первой прикладной программой, причем программный код включает в себя, по меньшей мере, идентификатор экземпляра, и (iii) программного кода, связанного со второй прикладной программой, причем программный код включает в себя первый ключ; генерацию, устройством обработки, характерного признака устройства, связанного с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой; генерацию, устройством обработки, случайного значения посредством выполнения программного кода, связанного с первой прикладной программой; построение, устройством обработки, значения диверсификатора на основании, по меньшей мере, сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой; и дешифрование, устройством обработки, построенного значения диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.[0008] A method for constructing an improved storage key includes: storing, in memory of a mobile communication device, at least (i) device information associated with a mobile communication device, (ii) program code associated with a first application program, wherein the program code includes at least an instance identifier, and (iii) the program code associated with the second application program, the program code including the first key; generating, by the processing device, a characteristic feature of the device associated with the mobile communication device based on the stored information about the device by executing program code associated with the first application program; generating, by the processing device, a random value by executing program code associated with the first application program; constructing, by the processing device, the values of the diversifier based on at least the generated characteristic feature of the device, the generated random value and the identifier of the instance included in the program code associated with the first application program; and decryption, by the processing device, of the constructed value of the diversifier using the first key stored in the program code associated with the second application program, by executing the program code associated with the second application program to obtain the storage key.

[0009] Система для построения усовершенствованного ключа хранения включает в себя память мобильного устройства связи и устройство обработки. Память мобильного устройства связи выполнена с возможностью сохранения, по меньшей мере: информации об устройстве, связанной с мобильным устройством связи; программного кода, связанного с первой прикладной программой, причем программный код включает в себя, по меньшей мере, идентификатор экземпляра; и программного кода, связанного со второй прикладной программой, причем программный код включает в себя первый ключ. Устройство обработки выполнено с возможностью: генерировать характерный признак устройства, связанный с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой; генерировать случайное значение посредством выполнения программного кода, связанного с первой прикладной программой; строить значение диверсификатора на основании, по меньшей мере, сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой; и дешифровать построенное значение диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.[0009] A system for constructing an improved storage key includes a memory of a mobile communication device and a processing device. The memory of the mobile communication device is configured to store at least: information about the device associated with the mobile communication device; program code associated with the first application program, wherein the program code includes at least an instance identifier; and program code associated with the second application program, the program code including a first key. The processing device is configured to: generate a characteristic feature of the device associated with the mobile communication device based on the stored information about the device by executing program code associated with the first application program; generate a random value by executing program code associated with the first application program; build the value of the diversifier based on at least the generated characteristic feature of the device, the generated random value and the identifier of the instance included in the program code associated with the first application program; and decrypt the constructed value of the diversifier using the first key stored in the program code associated with the second application program by executing the program code associated with the second application program to obtain the storage key.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

[0010] Чтобы лучше понять объем настоящего изобретения, следует обратиться к нижеследующему подробному описанию иллюстративных вариантов осуществления совместно с прилагаемыми чертежами. В чертежи включены следующие фигуры:[0010] In order to better understand the scope of the present invention, reference should be made to the following detailed description of illustrative embodiments in conjunction with the accompanying drawings. The following figures are included in the drawings:

[0011] фиг. 1 - блок-схема, демонстрирующая высокоуровневая архитектура системы для обработки платежных транзакций с повышенной безопасностью при предоставлении и хранении реквизитов платежа в соответствии с иллюстративными вариантами осуществления.[0011] FIG. 1 is a block diagram illustrating a high-level architecture of a system for processing payment transactions with enhanced security in providing and storing payment details in accordance with illustrative embodiments.

[0012] фиг. 2 - блок-схема, демонстрирующая мобильное устройство, показанное на фиг. 1, для обработки платежных транзакций без защитного элемента и безопасного получения и хранения реквизитов платежа в соответствии с иллюстративными вариантами осуществления.[0012] FIG. 2 is a block diagram showing the mobile device shown in FIG. 1, for processing payment transactions without a security element and safely receiving and storing payment details in accordance with illustrative embodiments.

[0013] фиг. 3 - блок-схема, демонстрирующая базу данных карт мобильного устройства, показанного на фиг. 2, для хранения реквизитов платежа в соответствии с иллюстративными вариантами осуществления.[0013] FIG. 3 is a block diagram showing a map database of the mobile device shown in FIG. 2, for storing payment details in accordance with illustrative embodiments.

[0014] фиг. 4 - блок-схема, демонстрирующая память мобильного устройства, показанного на фиг. 2, для хранения данных, используемых при генерации усовершенствованных ключей хранения и генерации криптограмм приложений в соответствии с иллюстративными вариантами осуществления.[0014] FIG. 4 is a block diagram showing the memory of the mobile device shown in FIG. 2, for storing data used in generating advanced storage keys and generating cryptograms of applications in accordance with illustrative embodiments.

[0015] фиг. 5 - блок-схема, демонстрирующая сервер управления транзакциями, показанный на фиг. 1, для обработки платежных транзакций мобильным устройством без защитного элемента в соответствии с иллюстративными вариантами осуществления.[0015] FIG. 5 is a block diagram illustrating the transaction management server shown in FIG. 1, for processing payment transactions by a mobile device without a security element in accordance with illustrative embodiments.

[0016] фиг. 6 - блок-схема, демонстрирующая базу данных счетов сервера обработки, показанного на фиг. 5, для хранения реквизитов платежа и деталей счета в соответствии с иллюстративными вариантами осуществления.[0016] FIG. 6 is a block diagram showing a billing database of the processing server shown in FIG. 5, for storing payment details and account details in accordance with illustrative embodiments.

[0017] фиг. 7 - блок-схема операций, демонстрирующая процесс передачи и удостоверения двойных криптограмм приложений для обработки платежных транзакций с участием мобильного устройства, не имеющего защитного элемента, в соответствии с иллюстративными вариантами осуществления.[0017] FIG. 7 is a flowchart illustrating a process for transmitting and verifying double cryptograms of payment transaction processing applications involving a mobile device without a security element, in accordance with illustrative embodiments.

[0018] фиг. 8 - блок-схема операций, демонстрирующая альтернативный процесс передачи и удостоверения двойных криптограмм приложений для обработки платежных транзакций с участием мобильного устройства, не имеющего защитного элемента, в соответствии с иллюстративными вариантами осуществления[0018] FIG. 8 is a flowchart illustrating an alternative process for transmitting and verifying dual cryptograms of payment transaction processing applications involving a mobile device without a security element, in accordance with illustrative embodiments.

[0019] фиг. 9 - блок-схема операций, демонстрирующая процесс создания, передачи и удостоверения сообщения службы удаленного извещения или другого сообщения данных, предоставляемого мобильному устройству, не имеющему защитного элемента, в соответствии с иллюстративными вариантами осуществления.[0019] FIG. 9 is a flowchart illustrating a process for creating, transmitting, and certifying a remote notification service message or other data message provided to a mobile device without a security element, in accordance with illustrative embodiments.

[0020] фиг. 10A и 10B - блок-схема операций, демонстрирующая процесс создания, передачи и удостоверения сообщения, возвращаемого мобильным устройством, не имеющим защитного элемента, в соответствии с иллюстративными вариантами осуществления.[0020] FIG. 10A and 10B is a flowchart illustrating a process for creating, transmitting, and attesting a message returned by a mobile device without a security element in accordance with illustrative embodiments.

[0021] фиг. 11 - блок-схема операций, демонстрирующая процесс удостоверения сообщения службы удаленного извещения с использованием мобильного устройства, показанного на фиг. 2, в соответствии с иллюстративными вариантами осуществления.[0021] FIG. 11 is a flowchart illustrating a process for verifying a message of a remote notification service using the mobile device shown in FIG. 2, in accordance with illustrative embodiments.

[0022] фиг. 12 - схема, демонстрирующая генерацию усовершенствованного ключа хранения с использованием мобильного устройства, показанного на фиг. 2, в соответствии с иллюстративными вариантами осуществления.[0022] FIG. 12 is a diagram illustrating the generation of an advanced storage key using the mobile device shown in FIG. 2, in accordance with illustrative embodiments.

[0023] фиг. 13 и 14 - блок-схемы операций, демонстрирующие иллюстративные способы для сгенерированных реквизитов платежа в платежной транзакции в соответствии с иллюстративными вариантами осуществления.[0023] FIG. 13 and 14 are flowcharts illustrating illustrative methods for generated payment details in a payment transaction in accordance with illustrative embodiments.

[0024] фиг. 15 - блок-схема операций, демонстрирующая иллюстративный способ приема и обработки сообщения службы удаленного извещения в соответствии с иллюстративными вариантами осуществления.[0024] FIG. 15 is a flowchart illustrating an example method for receiving and processing a remote notification service message in accordance with illustrative embodiments.

[0025] фиг. 16 - блок-схема операций, демонстрирующая иллюстративный способ построения усовершенствованного ключа хранения в соответствии с иллюстративными вариантами осуществления.[0025] FIG. 16 is a flowchart illustrating an illustrative method of constructing an improved storage key in accordance with illustrative embodiments.

[0026] фиг. 17 - блок-схема, демонстрирующая архитектуру компьютерной системы в соответствии с иллюстративными вариантами осуществления.[0026] FIG. 17 is a block diagram illustrating the architecture of a computer system in accordance with illustrative embodiments.

[0027] Дополнительные области применения настоящего изобретения явствуют из нижеследующего подробного описания. Следует понимать, что подробное описание иллюстративных вариантов осуществления приведено только в целях иллюстрации и поэтому не призвано ограничивать объем изобретения.[0027] Further applications of the present invention are apparent from the following detailed description. It should be understood that a detailed description of illustrative embodiments is provided for purposes of illustration only and therefore is not intended to limit the scope of the invention.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

Глоссарий терминовGlossary of Terms

[0028] Платежная сеть - система или сеть, используемая для перевода денег путем использования заменителей наличных. Платежные сети могут использовать разнообразные протоколы и процедуры для обработки перевода денег для различных типов транзакций. Транзакции, которые могут осуществляться посредством платежной сети, могут включать в себя покупки продуктов или услуг, покупки в кредит, дебетовые транзакции, переводы фондов, счет операции снятия со счета и т.д. Платежные сети могут быть выполнены с возможностью осуществления транзакций посредством заменителей наличных, которые могут включать в себя платежные карты, аккредитивы, чеки, транзакционные счета и т.д. Примеры сетей или систем, выполненных с возможностью действия в качестве платежных сетей, включают в себя системы под управлением MasterCard®, VISA®, Discover®, American Express®, PayPal® и т.д. Используемый здесь термин ʺплатежная сетьʺ может относиться к как к платежной сети в качестве субъекта, так и к физической платежной сети, например, аппаратуре, оборудованию и программному обеспечению, содержащей платежную сеть.[0028] A payment network is a system or network used to transfer money through the use of cash substitutes. Payment networks can use a variety of protocols and procedures to process money transfers for various types of transactions. Transactions that can be carried out through the payment network can include purchases of products or services, credit purchases, debit transactions, fund transfers, account withdrawal transactions, etc. Payment networks can be arranged to carry out transactions through cash substitutes, which may include payment cards, letters of credit, checks, transaction accounts, etc. Examples of networks or systems configured to act as a payment networks include system controlled by MasterCard ®, VISA ®, Discover ®, American Express ®, PayPal ® etc. As used herein, the term “payment network” can refer to both the payment network as a subject and the physical payment network, for example, hardware, equipment, and software containing the payment network.

[0029] Транзакционный счет - финансовый счет, который может использоваться для фондирования транзакции, например, текущий счет, сберегательный счет, кредитный счет, виртуальный платежный счет и т.д. Транзакционный счет может быть связан с покупателем, которым может быть любой пригодный тип субъекта, связанного с платежным счетом, который может включать в себя лицо, семью, компанию, корпорацию, государственное учреждение и т.д. В ряде случаев, транзакционный счет может быть виртуальным, например, счета, под управлением PayPal® и т.д.[0029] A transaction account is a financial account that can be used to fund a transaction, for example, a current account, a savings account, a credit account, a virtual payment account, etc. A transaction account may be associated with a customer, which may be any suitable type of entity related to a payment account, which may include a person, family, company, corporation, government agency, etc. In some cases, a transaction account can be virtual, for example, an account managed by PayPal ® , etc.

[0030] Платежная карта - карта или данные, связанные с транзакционным счетом которые могут предоставляться торговцу для фондирования финансовой транзакции посредством соответствующего транзакционного счета. Платежные карты может включать в себя кредитные карты, дебетовые карты, расчетные карты, карты с хранимой суммой, предоплаченные карты, транспортные карты, виртуальные платежные номера, номера виртуальных карт, управляемые платежные номера и т.д. Платежная карта может представлять собой физическую карту, которая могут предоставляться торговцу, или может представлять собой данные, представляющие соответствующий транзакционный счет (например, хранящиеся в устройстве связи, например, смартфоне или компьютере). Например, в ряде случаев, данные, включающие в себя номер платежного счета, можно рассматривать как платежную карту для обработки транзакции, фондированной соответствующим транзакционным счетом. В ряде случаев, чек можно рассматривать как платежную карту, когда применимо.[0030] Payment card - card or data associated with a transaction account that may be provided to the merchant to fund a financial transaction through an appropriate transaction account. Payment cards may include credit cards, debit cards, payment cards, cards with a stored amount, prepaid cards, transport cards, virtual payment numbers, virtual card numbers, managed payment numbers, etc. A payment card may be a physical card that may be provided to a merchant, or may be data representing a corresponding transaction account (for example, stored in a communication device, for example, a smartphone or computer). For example, in some cases, data including a payment account number can be considered as a payment card for processing a transaction funded by the corresponding transaction account. In some cases, a check can be considered a payment card, when applicable.

[0031] Платежная транзакция - транзакция между двумя субъектами, в которой происходит обмен деньгами или другой материальной выгодой между субъектами. Платежная транзакция может представлять собой перевод фондов, для покупки товаров или услуг, для оплаты долга, или для любого другого обмена материальной выгодой что будет очевидно специалистам в данной области техники. В ряде случаев, платежная транзакция может относиться к транзакциям, фондированным посредством платежной карты и/или платежного счета, например, транзакциям по кредитной карте. Такие платежные транзакции могут обрабатываться посредством эмитента, платежной сети и эквайера. Процесс обработки такой платежной транзакции может включать в себя, по меньшей мере, одно из авторизации, группирования, клиринга, урегулирования и фондирования. Авторизация может включать в себя комплектацию деталей платежа покупателем торговцу, подачу деталей транзакции (например, включающих в себя детали платежа) от торговца их эквайеру, и проверку деталей платежа эмитентом платежного счета покупателя, используемого для фондирования транзакции. Группирование может означать сохранение авторизованной транзакции совместно с другими авторизованными транзакциями для распространения эквайеру. Клиринг может включать в себя отправку сгруппированных транзакций от эквайера в платежную сеть для обработки. Урегулирование может включать в себя дебетование эмитента платежной сетью для транзакций с участием бенефициаров эмитента. В ряде случаев, эмитент можем платить эквайеру посредством платежной сети. В других случаях, эмитент можем платить эквайеру напрямую. Фондирование может включать в себя платеж торговцу от эквайера за платежные транзакции, которые были очищены и урегулированы. Специалистам в данной области техники будет очевидно, что порядок и/или категоризация рассмотренный выше этапов, осуществляемый в порядке обработки платежной транзакции.[0031] A payment transaction is a transaction between two entities in which there is an exchange of money or other tangible benefit between the entities. A payment transaction can be a transfer of funds, for the purchase of goods or services, for paying a debt, or for any other exchange of material benefits that will be obvious to experts in this field of technology. In some cases, a payment transaction may refer to transactions funded by a payment card and / or payment account, for example, credit card transactions. Such payment transactions can be processed through the issuer, the payment network and the acquirer. The process for processing such a payment transaction may include at least one of authorization, grouping, clearing, settlement and funding. Authorization may include the acquisition of payment details by the buyer to the merchant, the submission of transaction details (for example, including payment details) from the merchant to their acquirer, and verification of the payment details by the issuer of the buyer’s payment account used to fund the transaction. Grouping may mean maintaining an authorized transaction in conjunction with other authorized transactions for distribution to the acquirer. Clearing may include sending grouped transactions from the acquirer to the payment network for processing. The settlement may include debiting the issuer by the payment network for transactions involving the beneficiaries of the issuer. In some cases, the issuer can pay the acquirer through a payment network. In other cases, the issuer may pay the acquirer directly. Funding may include payment to the merchant from the acquirer for payment transactions that have been cleared and settled. It will be apparent to those skilled in the art that the order and / or categorization of the steps discussed above is carried out in the processing order of a payment transaction.

[0032] Торговая точка - вычислительное устройство или вычислительная система, выполненная с возможностью приема взаимодействия с пользователем (например, покупателем, сотрудником и т.д.) для ввода данных транзакции, платежных данных и/или других подходящих типов данных для покупки и/или оплаты товаров и/или услуг. Торговая точка может представлять собой физическое устройство (например, кассовый аппарат, киоск, настольный компьютер, смартфон, планшетный компьютер и т.д.) в физическом месте, которое покупатель посещает как часть транзакции, например, в обычном магазине, или может представлять собой виртуальные среды электронной торговли, например, онлайновые розничные торговцы, принимающие передачи от покупателей по сети, например, интернету. В случаях, когда торговая точка может быть виртуальной, вычислительное устройство, используемое пользователем для инициирования транзакции, или вычислительная система, которая принимает данные в результате транзакции, можно рассматривать как торговую точку, насколько применимо.[0032] Point of sale - a computing device or computing system configured to receive interaction with a user (eg, customer, employee, etc.) to enter transaction data, payment data, and / or other suitable data types for purchase and / or payment for goods and / or services. A store can be a physical device (for example, a cash register, kiosk, desktop computer, smartphone, tablet computer, etc.) in a physical place that a customer visits as part of a transaction, for example, in a regular store, or it can be virtual e-commerce environments, such as online retailers, that receive transmissions from customers over a network, such as the Internet. In cases where the outlet can be virtual, the computing device used by the user to initiate the transaction, or the computing system that receives data as a result of the transaction, can be considered as a point of sale, as far as applicable.

Система для обработки платежных транзакций с использованием мобильного устройства без защитных элементовSystem for processing payment transactions using a mobile device without security features

[0033] Фиг. 1 демонстрирует систему 100 для обработки платежных транзакций с использованием мобильного устройства без необходимости в использовании защитных элементов, которая может включать в себя безопасное предоставление реквизитов платежа мобильному устройству, их безопасное хранение, и использование при генерации множественных криптограмм приложений для использования при удостоверении и обработке платежной транзакции.[0033] FIG. 1 illustrates a system 100 for processing payment transactions using a mobile device without the need for security features, which may include securely providing payment details to a mobile device, storing them securely, and using multiple application cryptograms to generate when verifying and processing a payment transaction .

[0034] Система 100 может включать в себя сервер 102 управления транзакциями. Сервер 102 управления транзакциями, более подробно рассмотренный ниже, может представлять собой одно или более вычислительных устройств, конкретно запрограммированных для осуществления рассмотренных здесь функций для предоставления реквизитов платежа мобильному устройству 104 с использованием безопасно переданного сообщения удаленного извещения, и для удостоверения реквизитов платежа, создаваемых мобильным устройством 104 в ходе платежной транзакции. Хотя здесь проиллюстрировано и рассмотрено, что сервер 102 управления транзакциями осуществляет различные функции, специалистам в данной области техники будет очевидно, что сервер 102 управления транзакциями может состоять из множественных вычислительных устройств, серверов и/или вычислительных сетей выполненное с возможностью осуществления рассмотренных здесь функций. Мобильное устройство 104, более подробно рассмотренное ниже, может быть мобильным вычислительным устройством любого типа, пригодным для осуществления рассмотренных здесь функций, которое может включать в себя сотовый телефон, смартфон, интеллектуальные часы, другое носимое или встроенное вычислительное устройство, планшетный компьютер, портативный компьютер и т.д. В некоторых вариантах осуществления, мобильное устройство 104 может не иметь защитного элемента. В других вариантах осуществления, мобильное устройство 104 может включать в себя защитный элемент, но такой элемент может не использоваться совместно с рассмотренными здесь способами и системами, или может использоваться совместно с рассмотренными здесь способами и системами, например, для обеспечения дополнительной безопасности.[0034] The system 100 may include a transaction management server 102. The transaction management server 102, discussed in more detail below, may be one or more computing devices specifically programmed to perform the functions discussed here to provide payment details to the mobile device 104 using a securely transmitted remote notification message and to verify the payment details generated by the mobile device 104 during the payment transaction. Although it has been illustrated and discussed here that the transaction management server 102 performs various functions, it will be apparent to those skilled in the art that the transaction management server 102 may consist of multiple computing devices, servers, and / or computer networks configured to perform the functions discussed herein. Mobile device 104, discussed in more detail below, can be any type of mobile computing device suitable for the functions discussed herein, which may include a cell phone, smartphone, smartwatch, other wearable or integrated computing device, tablet computer, laptop computer, and etc. In some embodiments, implementation, mobile device 104 may not have a security element. In other embodiments, the mobile device 104 may include a security element, but such an element may not be used in conjunction with the methods and systems discussed herein, or may be used in conjunction with the methods and systems discussed herein, for example, to provide additional security.

[0035] Мобильное устройство 104 может осуществлять связь с сервером 102 управления транзакциями с использованием множественных каналов связи, например, используя двухканальную связь. Двухканальная связь может включать в себя использование двух каналов связи при передаче и приеме данных, например, для проверки и аутентификации, чтобы гарантировать повышенную безопасность при передаче данных. Мобильное устройство 104 может включать в себя приложение мобильных платежей (MPA), подлежащие выполнению мобильным устройством 104 для осуществления рассмотренных здесь функций мобильного устройства 104. MPA, более подробно рассмотренное ниже, может быть установлено на мобильном устройстве 104 и может активироваться с использованием кода активации, предоставленного сервером 102 управления транзакциями с использованием способов и систем, которые будут очевидны специалистам в данной области техники, чтобы мобильное устройство 104 и сервер 102 управления транзакциями могли безопасно передавать и принимать передачи по одному или более каналам связи с использованием совместно используемых данных.[0035] The mobile device 104 may communicate with the transaction management server 102 using multiple communication channels, for example, using two-channel communication. Two-channel communication may include the use of two communication channels when transmitting and receiving data, for example, for verification and authentication, to guarantee increased security when transmitting data. The mobile device 104 may include a mobile payment application (MPA) to be executed by the mobile device 104 to perform the functions of the mobile device 104 discussed here. The MPA, discussed in more detail below, can be installed on the mobile device 104 and can be activated using an activation code, provided by the transaction management server 102 using methods and systems that would be apparent to those skilled in the art, so that the mobile device 104 and the control server 102 Transactions could safely transmit and receive transmissions on one or more communication channels using shared data.

[0036] Система 100 также может включать в себя эмитента 106. Эмитент 106 может быть финансовым учреждением, например, эмитирующим банком, который эмитирует платежную карту или реквизиты платежа покупателю 108, связанному с транзакционным счетом. Эмитент 106 может обеспечивать детали платежа, связанные с транзакционным счетом и/или платежной картой, серверу 102 управления транзакциями. Детали платежа могут включать в себя, например, номер транзакционного счета, имя держателя счета, дату истечения срока действия, защитный код и т.д. Сервер 102 управления транзакциями может сохранять данные в базе данных счетов, более подробно рассмотренной ниже. Сервер 102 управления транзакциями также может предоставлять реквизиты платежа мобильному устройству 104. Используемый здесь термин ʺреквизиты платежаʺ может относиться к любым данным, используемым мобильным устройством 104 и/или сервером 102 управления транзакциями при передаче и удостоверении информации платежа, используемой в платежной транзакции, с использованием рассмотренных здесь способов и систем, включая, но без ограничения, детали платежа, реквизиты платежа, ключи однократного использования, сеансовые ключи, криптограммы приложений, главные ключи карт и т.д.[0036] The system 100 may also include an issuer 106. The issuer 106 may be a financial institution, for example, an issuing bank that issues a payment card or payment details to a customer 108 associated with a transaction account. Issuer 106 may provide payment details associated with the transaction account and / or payment card to transaction management server 102. Payment details may include, for example, transaction account number, account holder name, expiration date, security code, etc. Transaction management server 102 may store data in an account database, discussed in more detail below. Transaction management server 102 may also provide payment details to mobile device 104. The term “payment details” as used herein may refer to any data used by mobile device 104 and / or transaction management server 102 when transmitting and verifying payment information used in a payment transaction using here are methods and systems, including, but not limited to, payment details, payment details, single-use keys, session keys, application cryptograms main keys of cards, etc.

[0037] В некоторых вариантах осуществления, реквизиты платежа могут предоставляться мобильному устройству 104 посредством сообщения службы удаленного извещения. Как более подробно рассмотрено ниже, сообщение службы удаленного извещения (RNS) может представлять собой защищенное сообщение, которое передается на мобильное устройство 104 и затем удостоверяется мобильным устройством 104, что позволяет защищать содержащиеся в нем данные от других устройств и пользователей. MPA мобильного устройства 104 может проверять подлинность принятого сообщения RNS и может дешифровать его для получения включенных в него данных. Затем мобильное устройство 104 может осуществлять любые необходимые функции, на основании данных (например, например, путем выполнения инструкций, включенных в данные), и, если применимо, может генерировать сообщение возврата для отправки обратно на сервер 102 управления транзакциями. В ряде случаев, сообщение возврата может удостоверяться сервером 102 управления транзакциями.[0037] In some embodiments, payment details may be provided to the mobile device 104 through a remote notification service message. As discussed in more detail below, the Remote Notification Service (RNS) message can be a secure message that is transmitted to the mobile device 104 and then authenticated by the mobile device 104, which allows it to protect the data contained in it from other devices and users. The MPA of the mobile device 104 can verify the authenticity of the received RNS message and can decrypt it to obtain the data included therein. Then, the mobile device 104 may perform any necessary functions based on the data (for example, for example, by following the instructions included in the data), and, if applicable, may generate a return message for sending back to the transaction management server 102. In some cases, the return message may be authenticated by the transaction management server 102.

[0038] В ряде случаев, для удостоверения сообщений RNS в мобильном устройстве 104 или удостоверения сообщений возврата на сервере 102 управления транзакциями, можно использовать, по меньшей мере, счетчики сообщений и код аутентификации. Использование одновременно счетчиков и кодов аутентификации может гарантировать, что только предназначенное мобильное устройство 104 имеет возможность удостоверять и дешифровать данные, включенные в сообщение RNS. Кроме того, если правила и/или алгоритмы, используемые при генерации кода аутентификации, включены в MPA, то только мобильное устройство 104, которое также включает в себя конкретный экземпляр прикладной программы, имеет возможность удостоверять сообщение RNS, что дополнительно повышает безопасность. В случаях, когда сообщение RNS может включать в себя реквизиты платежа, это может гарантировать, что реквизиты платежа доступны только на надлежащем мобильном устройстве 104, и только если MPA, используемое для осуществления доступа к ним, является надлежащим и авторизованным приложением.[0038] In some cases, at least message counters and an authentication code can be used to authenticate RNS messages in the mobile device 104 or to certify return messages on the transaction management server 102. The use of counters and authentication codes at the same time can ensure that only the intended mobile device 104 is able to authenticate and decrypt the data included in the RNS message. In addition, if the rules and / or algorithms used to generate the authentication code are included in the MPA, then only the mobile device 104, which also includes a specific instance of the application program, is able to authenticate the RNS message, which further enhances security. In cases where the RNS message may include payment details, this can ensure that payment details are only available on the proper mobile device 104, and only if the MPA used to access them is a proper and authorized application.

[0039] Реквизиты платежа, предоставляемые мобильному устройству 104, могут безопасно храниться в хранилище в мобильном устройстве 104, например, базе данных карт, более подробно рассмотренной ниже. В некоторых вариантах осуществления, мобильное устройство 104 может быть выполнено с возможностью генерации усовершенствованного ключа хранения для использования при безопасном хранении данных, например, реквизитов платежа, в базе данных или памяти в мобильном устройстве 104. При генерации усовершенствованного ключа хранения, как более подробно рассмотрено ниже, можно использовать уникальную информацию об устройстве, уникальную информацию MPA, и случайно сгенерированную информацию для идентификации защищенного ключа хранения, который можно использовать для защищенного хранения данных в мобильном устройстве 104. В результате, реквизиты платежа или другие конфиденциальные данные могут безопасно храниться в мобильном устройстве 104 без использования защитного элемента, что позволяет мобильному устройству 104 инициировать и проводить платежные транзакции без использования защитного элемента, повышая доступность для эмитентов 106 и покупателей 108, поддерживая при этом высокий уровень безопасности.[0039] The payment details provided to the mobile device 104 can be stored securely in storage in the mobile device 104, for example, a card database, discussed in more detail below. In some embodiments, the mobile device 104 may be configured to generate an advanced storage key for use in the secure storage of data, such as payment details, in a database or memory in mobile device 104. When generating an advanced storage key, as discussed in more detail below , you can use unique device information, unique MPA information, and randomly generated information to identify a secure storage key that can It can be used for secure storage of data in mobile device 104. As a result, payment details or other sensitive data can be safely stored in mobile device 104 without the use of a security element, which allows mobile device 104 to initiate and conduct payment transactions without the use of a security element, increasing accessibility for issuers 106 and buyers 108, while maintaining a high level of security.

[0040] После того, как реквизиты платежа для транзакционного счета приняты, удостоверены и безопасно сохранены на мобильном устройстве 104, покупатель 108 может поднести мобильное устройство 104 к торговой точке 110 у торговца для проведения платежной транзакции. Покупатель 108 может выбирать товары или услуги для покупки, может инициировать платежную транзакцию для их покупки у торговца, и может использовать мобильное устройство 104 для переноса реквизитов платежа для использования при фондировании платежной транзакции. Перенос реквизитов платежа на торговую точку 110 может включать в себя передачу двух или более криптограмм приложений. Использование двух или более криптограмм приложений может обеспечивать более высокий уровень безопасности для транзакций, обрабатываемых с использованием рассмотренных здесь способов и систем, чем доступный при традиционных бесконтактных и удаленных транзакциях, включая транзакции, проводимые с использованием мобильного устройства 104, имеющего защитный элемент.[0040] After the payment details for the transaction account have been accepted, verified, and safely stored on the mobile device 104, the buyer 108 may bring the mobile device 104 to a merchant 110 at a merchant to conduct a payment transaction. Buyer 108 may select goods or services to purchase, may initiate a payment transaction to purchase from a merchant, and may use mobile device 104 to transfer payment details for use in funding a payment transaction. Transferring payment details to a point of sale 110 may include transmitting two or more cryptograms of applications. The use of two or more application cryptograms can provide a higher level of security for transactions processed using the methods and systems discussed here than available with traditional contactless and remote transactions, including transactions conducted using a mobile device 104 having a security element.

[0041] Каждая из криптограмм приложений можем генерироваться мобильным устройством 104 с использованием отдельных сеансовых ключей и дополнительных данных, более подробно рассмотренных ниже. Криптограммы приложений, сгенерированные с использованием данных, хранящихся в мобильном устройстве 104, например, в хранилище, защищенном посредством усовершенствованного ключа хранения и связанном с MPA, могут гарантировать, что криптограммы приложений аутентифицируют мобильное устройство 104 и конкретный экземпляр MPA. В ряде случаев, одна/один из криптограмм и/или сеансовых ключей, используемых для генерации криптограмм, может использовать информацию, предоставляемую покупателем 108, например, личный идентификационный номер (PIN). Использование PIN или другой информации аутентификации покупателя может позволять криптограмме аутентифицировать как покупателя 108, так и мобильное устройство 104. В таком случае, криптограммы, сгенерированные мобильным устройством 104, могут включать в себя криптограмму, которая аутентифицирует мобильное устройство 104, и криптограмму, которая аутентифицирует как мобильное устройство 104, так и покупателя 108.[0041] Each of the application cryptograms can be generated by the mobile device 104 using separate session keys and additional data, discussed in more detail below. Application cryptograms generated using data stored in the mobile device 104, for example, in storage protected by an advanced storage key and associated with the MPA, can ensure that the application cryptograms authenticate the mobile device 104 and the specific MPA instance. In some cases, one / one of the cryptograms and / or session keys used to generate the cryptograms may use information provided by the buyer 108, for example, a personal identification number (PIN). Using PIN or other customer authentication information may allow the cryptogram to authenticate both the customer 108 and the mobile device 104. In this case, the cryptograms generated by the mobile device 104 may include a cryptogram that authenticates the mobile device 104 and a cryptogram that authenticates as the mobile device 104 and the buyer 108.

[0042] Криптограммы могут приниматься торговой точкой 110 в порядке проведения платежной транзакции, например, посредством ближней бесконтактной связи. Криптограммы приложений могут сопровождать дополнительную информацию платежа, например, могут требоваться в контексте любого подходящего типа платежной транзакции, например, бесконтактной транзакции, удаленной транзакции, защищенной удаленной платежной транзакции, транзакции на основе магнитной полоски и транзакции M/Chip EMV, и могут передаваться торговой точке 110 с использованием любого пригодного способа в соответствии с ней, что будет очевидно специалистам в данной области техники. Криптограммы могут передаваться эквайеру 112, который может быть финансовым учреждением, например, банк-эквайер, связанный с торговцем. Эквайер 112 может, например, эмитировать торговцу транзакционный счет, который используется для приема платежа фондов от покупателя 108 за платежную транзакцию. Эквайер 112 может подавать криптограммы и дополнительные детали транзакции в платежную сеть 114 с использованием способов и систем, которые будут очевидны специалистам в данной области техники. Например, детали транзакции и криптограммы приложений могут быть включены в запрос авторизации, подаваемый в платежную сеть 114 на платежных рельсах.[0042] Cryptograms may be received by the point of sale 110 in the order of the payment transaction, for example, by means of near contactless communication. Application cryptograms may accompany additional payment information, for example, may be required in the context of any suitable type of payment transaction, for example, contactless transaction, remote transaction, secure remote payment transaction, magnetic stripe transaction and M / Chip EMV transaction, and may be transmitted to a point of sale 110 using any suitable method in accordance with it, as will be apparent to those skilled in the art. Cryptograms may be transmitted to acquirer 112, which may be a financial institution, for example, an acquirer bank associated with a merchant. Acquirer 112 may, for example, issue a merchant with a transaction account that is used to receive payment of funds from buyer 108 for a payment transaction. The acquirer 112 may provide cryptograms 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, transaction details and application cryptograms may be included in an authorization request submitted to the payment network 114 on payment rails.

[0043] В некоторых вариантах осуществления, обе криптограммы приложений могут быть включены в единое сообщение транзакции. Например, мобильное устройство 104 и/или торговая точка 110 может включать в себя обе криптограммы приложений в традиционные поля данных традиционного сообщения транзакции для передачи обеих криптограмм приложений с использованием существующих платежных систем и оборудования. В ряде случаев, сервер 102 управления транзакциями может быть выполнен с возможностью использования данных дорожки 2 для удостоверения криптограмм приложений, например, в транзакции на основе магнитной полоски. В таких случаях, если сообщение транзакции включают в себя данные дорожки 1, сервер 102 управления транзакциями может быть выполнен с возможностью преобразования данные дорожки 1 в данные дорожки 2, которое также может включать в себя преобразование модифицированных данных дорожки 1 или дорожки 2 в немодифицированные (например, исходные, реконструированные и т.д.) данные дорожки 1 или дорожки 2, соответственно. Благодаря осуществлению этих функций и благодаря включению криптограмм приложений в традиционные поля данных, сервер 102 управления транзакциями получает возможность обрабатывать и удостоверять удаленные и бесконтактные платежные транзакции с использованием мобильного устройства 104 на более высоком уровне безопасности, без необходимости в использовании защитного элемента на мобильном устройстве 104, и без модификации в традиционные платежные системы.[0043] In some embodiments, both application cryptograms may be included in a single transaction message. For example, mobile device 104 and / or outlet 110 may include both application cryptograms in traditional data fields of a traditional transaction message for transmitting both application cryptograms using existing payment systems and equipment. In some cases, the transaction management server 102 may be configured to use the data from track 2 to verify application cryptograms, for example, in a magnetic stripe based transaction. In such cases, if the transaction message includes the data of track 1, the transaction management server 102 may be configured to convert the data of track 1 to the data of track 2, which may also include converting the modified data of track 1 or track 2 to unmodified (e.g. , original, reconstructed, etc.) data from track 1 or track 2, respectively. By implementing these functions and by incorporating application cryptograms into traditional data fields, the transaction management server 102 is able to process and authenticate remote and contactless payment transactions using the mobile device 104 at a higher level of security, without the need for a security element on the mobile device 104, and without modification to traditional payment systems.

[0044] Платежная сеть 114 может обрабатывать платежную транзакцию с использованием способов и систем, которые будут очевидны специалистам в данной области техники. в порядке обработки, платежная сеть 114 может передавать криптограммы приложений эмитенту 106 для проверки. В некоторых вариантах осуществления, проверка может осуществляться платежной сетью 114. Эмитент 106 или платежная сеть 114 может осуществлять связь с сервером 102 управления транзакциями. В некоторых вариантах осуществления, криптограммы приложений могут передаваться на сервер 102 управления транзакциями и могут проверяться посредством генерации удостоверяющих криптограмм приложений с использованием сервера 102 управления транзакциями, которые могут генерироваться с использованием локально хранящихся реквизитов платежа. В других вариантах осуществления, эмитент 106 или платежная сеть 114 может запрашивать криптограммы приложений от сервера 102 управления транзакциями, который может генерировать их и возвращать криптограммы эмитенту 106 или в платежную сеть 114 для удостоверения криптограмм, созданных мобильным устройством 104.[0044] The payment network 114 may process the payment transaction using methods and systems that will be apparent to those skilled in the art. in processing order, payment network 114 may transmit application cryptograms to issuer 106 for verification. In some embodiments, the verification may 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, application cryptograms can be transmitted to transaction management server 102 and can be verified by generating authentication cryptograms of applications using transaction management server 102, which can be generated using locally stored payment details. In other embodiments, the issuer 106 or the payment network 114 may request cryptograms of applications from the transaction management server 102, which can generate them and return the cryptograms to the issuer 106 or to the payment network 114 to verify the cryptograms created by the mobile device 104.

[0045] Поскольку сервер 102 управления транзакциями располагает реквизитами платежа и другими данными, используемыми мобильным устройством 104 для генерации криптограмм приложений, удостоверение реквизитов платежа, созданных мобильным устройством 104 для фондирования платежной транзакции, может осуществляться посредством сравнения криптограмм приложений, сгенерированных мобильным устройством 104, и сгенерированных сервером 102 управления транзакциями. В некоторых вариантах осуществления, сервер 102 управления транзакциями может быть частью платежной сети 114 или эмитента 106. В случаях, когда сервер 102 управления транзакциями может быть частью платежной сети 114, удостоверение может осуществляться до контактирования эмитента 106 как части традиционной обработки платежной транзакции (например, для одобрения эмитентом 106 фондирования транзакции с использованием транзакционного счета покупателя 108).[0045] Since the transaction management server 102 has the payment details and other data used by the mobile device 104 to generate application cryptograms, the payment details created by the mobile device 104 to fund the payment transaction can be verified by comparing the cryptograms of the applications generated by the mobile device 104 and 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. In cases where the transaction management server 102 may be part of the payment network 114, authentication may be performed before contacting the issuer 106 as part of the traditional payment transaction processing (for example, for approval by the issuer 106 of funding the transaction using the buyer's transaction account 108).

[0046] За счет использования множественных криптограмм приложений, можно повысить безопасность платежных транзакций. Кроме того, в случаях, когда каждая криптограмма может аутентифицировать отдельные данные, например, экземпляры, где одна криптограмма аутентифицирует мобильное устройство 104, и другая аутентифицирует как мобильное устройство 104, так и покупателя 108 (например, посредством PIN покупателя), он также может предоставлять эмитенту 106 дополнительные данные и соображения для использования при принятии решения на одобрение или отклонение транзакции. Например, если обе криптограммы неверны (например, криптограммы, сгенерированные мобильным устройством 104, не совпадают со сгенерированными сервером 102 управления транзакциями), транзакция может быть отклонена. Если одна криптограмма верна, а другая неверна, транзакция может быть отклонена по соображениям безопасности, или может быть одобрена, например, на основании решения эмитента 106. Например, эмитент 106 может одобрить транзакцию, где не удается аутентифицировать покупателя, но мобильное устройство проходит аутентификацию, поскольку другие доступны данные могут указывать, что авторизованный пользователь, не покупатель 108, использует мобильное устройство 104 для транзакции.[0046] By using multiple application cryptograms, it is possible to increase the security of payment transactions. In addition, in cases where each cryptogram can authenticate separate data, for example, instances where one cryptogram authenticates the mobile device 104 and the other authenticates both the mobile device 104 and the customer 108 (for example, via the customer’s PIN), it can also provide issuer 106 additional data and considerations to use when deciding whether to approve or reject a transaction. For example, if both cryptograms are incorrect (for example, the cryptograms generated by the mobile device 104 do not match those generated by the transaction management server 102), the transaction may be rejected. If one cryptogram is correct and the other is incorrect, the transaction may be rejected for security reasons, or may be approved, for example, based on the decision of the issuer 106. For example, the issuer 106 may approve a transaction where the buyer cannot be authenticated, but the mobile device is authenticated, since other available data may indicate that an authorized user, not buyer 108, is using mobile device 104 for a transaction.

[0047] В результате, использование обеих криптограмм может обеспечивать ценные данные, которые могут использоваться платежными сетями 114 и эмитентами 106 при обработке платежных транзакций. Кроме того, использование двух или более криптограмм может обеспечивать более высокую безопасность, чем в традиционных способах бесконтактного или удаленного платежа, что может приводить к снижению мошенничества и повышению приемлемости для покупателей 108, эмитентов 106 и торговцев. В случаях, когда использование двух или более криптограмм приложений генерируются из реквизитов платежа, которые были безопасно предоставлены с использованием рассмотренных здесь способов и систем обмена сообщениями RNS, и безопасно сохранены посредством усовершенствованных ключей хранения, сгенерированных с использованием рассмотренных здесь способов и систем, общую безопасность системы 100 можно значительно повысить по сравнению с традиционными системами для бесконтактных платежей и обработки транзакций. В результате, система 100 может обеспечивать более высокую безопасность в нескольких аспектах передачи, хранения и обработки данных, по сравнению с обеспеченной в традиционных бесконтактных платежных системах и для других типов удаленных платежных транзакций и платежных транзакций в целом, которые могут использовать рассмотренные здесь способы и системы.[0047] As a result, the use of both cryptograms can provide valuable data that can be used by payment networks 114 and emitters 106 in processing payment transactions. In addition, the use of two or more cryptograms can provide higher security than traditional contactless or remote payment methods, which can lead to reduced fraud and increased acceptability for buyers 108, issuers 106 and merchants. In cases where the use of two or more cryptograms of applications is generated from payment details that have been safely provided using the RNS messaging methods and systems discussed here and are safely stored using advanced storage keys generated using the methods and systems discussed here, the general security of the system 100 can be significantly increased compared to traditional systems for contactless payments and transaction processing. As a result, system 100 can provide higher security in several aspects of data transmission, storage and processing compared to that provided in traditional contactless payment systems and for other types of remote payment transactions and payment transactions in general, which can use the methods and systems discussed here .

Мобильное устройствоMobile device

[0048] Фиг. 2 демонстрирует вариант осуществления мобильного устройства 104 системы 100. Специалистам в данной области техники будет очевидно, что вариант осуществления мобильного устройства 104 представленный на фиг. 2 обеспечен только как иллюстрация и может не исчерпывать все возможные конфигурации мобильного устройства 104, пригодного для осуществления рассмотренных здесь функций. Например, компьютерная система 1700, представленная на фиг. 17 и более подробно рассмотренная ниже, может быть пригодной конфигурацией мобильного устройства 104.[0048] FIG. 2 shows an embodiment of a mobile device 104 of system 100. Those skilled in the art will appreciate that an embodiment of mobile device 104 of FIG. 2 is provided for illustrative purposes only and may not exhaust all possible configurations of a mobile device 104 suitable for performing the functions discussed herein. For example, the computer system 1700 shown in FIG. 17 and discussed in more detail below may be a suitable configuration for the mobile device 104.

[0049] Мобильное устройство 104 может включать в себя блок 202 приема. Блок 202 приема может быть выполнен с возможностью приема данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 202 приема может принимать, например, программные данные для одной или более прикладных программ, устанавливаемых и выполняемых на мобильном устройстве 104, например, приложения мобильных платежей (MPA), более подробно рассмотренного ниже. Блок 202 приема также может принимать сообщения службы удаленного извещения (RNS), например, сообщения, переданные сервером 102 управления транзакциями, в том числе, сообщения RNS, которые включают в себя реквизиты платежа. Блок 202 приема также может принимать дополнительные данные, пригодные для осуществления традиционных функций мобильного устройства 104, например, телефонной связи, сотовой связи и т.д. В ряде случаев, мобильное устройство 104 может включать в себя несколько блоков 202 приема, например, отдельные блоки 202 приема, каждый из которых выполнен с возможностью осуществления связи с одной или более отдельными сетями посредством подходящих протоколов. Например, мобильное устройство 104 может включать в себя первый блок 202 приема для приема данных для транзакций NFC и второй блок 202 приема для приема передач по сети мобильной связи.[0049] Mobile device 104 may 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 may receive, for example, program data for one or more application programs installed and executed on the mobile device 104, for example, a mobile payment application (MPA), discussed in more detail below. The receiving unit 202 may also receive Remote Notification Service (RNS) messages, for example, messages sent by the transaction management server 102, including RNS messages, which include payment details. The receiving unit 202 may also receive additional data suitable for implementing the traditional functions of the mobile device 104, for example, telephone, cellular, etc. In some cases, the mobile device 104 may include several receiving units 202, for example, individual receiving units 202, each of which is configured to communicate with one or more separate networks via suitable protocols. For example, mobile device 104 may include a first receiving unit 202 for receiving data for NFC transactions and a second receiving unit 202 for receiving transmissions over the mobile network.

[0050] Мобильное устройство 104 также может включать в себя блок 214 ввода. Блок 214 ввода может быть выполнен с возможностью осуществления связи с одним или более устройствами ввода, которые внутренне или внешне соединены с мобильным устройством 104 для приема ввода от покупателя 108, например, клавиатурой, мышью, нажимным колесиком, колесиком прокрутки, сенсорным экраном, микрофоном, камерой, приемником и т.д. Блок 214 ввода может принимать от покупателя 108 ввод, который может обрабатываться блоком 204 обработки.[0050] Mobile device 104 may also include an input unit 214. The input unit 214 may be configured to communicate with one or more input devices that are internally or externally connected to a mobile device 104 for receiving input from a customer 108, for example, a keyboard, mouse, push wheel, scroll wheel, touch screen, microphone, camera, receiver, etc. The input unit 214 may receive input from the customer 108, which may be processed by the processing unit 204.

[0051] Блок 204 обработки может быть выполнен с возможностью осуществления рассмотренных здесь функций мобильного устройства 104. Блок 204 обработки может выполнять программный код, хранящийся в мобильном устройстве, например, для MPA, и может быть выполнен с возможностью осуществления нескольких функций, связанных с каждой прикладной программой, помимо других функций мобильного устройства 104. Блок 204 обработки может принимать ввод от покупателя 108 посредством блока 214 ввода и осуществлять функции соответственно, например, путем выполнения прикладных программ, осуществления функций в программах, приема данных, передачи данных, отображения данных и т.д., что будет очевидно специалистам в данной области техники. Например, блок 204 обработки может быть выполнен с возможностью удостоверения сообщений RNS, генерации усовершенствованных ключей хранения и генерации криптограмм приложений, как более подробно рассмотрено ниже.[0051] 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 a mobile device, for example, for an MPA, and may be configured to perform several functions associated with each the application program, among other functions of the mobile device 104. The processing unit 204 may receive input from the buyer 108 via the input unit 214 and perform functions, respectively, for example, by performing ad programs, performing functions in programs, receiving data, transmitting data, displaying data, etc., which will be apparent to those skilled in the art. For example, processing unit 204 may be configured to authenticate RNS messages, generate advanced storage keys, and generate application cryptograms, as discussed in more detail below.

[0052] Мобильное устройство 104 также может включать в себя блок 210 отображения. Блок 210 отображения может быть выполнен с возможностью осуществления связи с одним или более устройствами отображения, которые внутренне или внешне соединены с мобильным устройством 104 для отображения данных, например, данных, передаваемых на блок 210 отображения для отображения блоком 204 обработки. Устройства отображения могут включать в себя жидкокристаллические дисплеи, светодиодные дисплеи, дисплеи на тонкопленочных транзисторах, дисплеи с сенсорным экраном и т.д.[0052] Mobile device 104 may also include a display unit 210. The display unit 210 may be configured to communicate with one or more display devices that are internally or externally connected to the mobile device 104 to display data, for example, data transmitted to the display unit 210 for display by the processing unit 204. Display devices may include liquid crystal displays, LED displays, thin film transistor displays, touch screen displays, etc.

[0053] Мобильное устройство 104 также может включать в себя блок 206 передачи. Блок 206 передачи может быть выполнен с возможностью передачи данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 206 передачи может передавать ответные сообщения RNS на сервер 102 управления транзакциями. Блок 206 передачи также может быть выполнен с возможностью передачи криптограмм приложений и/или реквизитов платежа, например, торговой точке 110, для использования в платежной транзакции. Блок 206 передачи может быть дополнительно выполнен с возможностью осуществления дополнительных функций мобильного устройства 104, что будет очевидно специалистам в данной области техники, например, традиционных функций мобильного устройства связи для осуществления сотовой связи и т.д. В ряде случаев, мобильное устройство 104 может включать в себя несколько блоков 206 передачи, которые могут быть по отдельности выполнены с возможностью осуществления связи с одной или более отдельными сетями, например, блок 206 передачи, выполненный с возможностью передачи реквизитов платежа и криптограмм платежей посредством NFC и другой блок 206 передачи, выполненный с возможностью передачи данных по сети мобильной связи.[0053] Mobile device 104 may also include a transmission unit 206. Transmission unit 206 may be configured to transmit data over one or more networks via one or more network protocols. Transmission unit 206 may send RNS response messages to transaction management server 102. Transmission unit 206 may also be configured to transmit cryptograms of applications and / or payment details, for example, a point of sale 110, for use in a payment transaction. The transmission unit 206 may be further configured to perform additional functions of the mobile device 104, which will be apparent to those skilled in the art, for example, traditional functions of a mobile communication device for performing cellular communication, etc. In some cases, the mobile device 104 may include several transmission units 206, which may be individually configured to communicate with one or more separate networks, for example, a transmission unit 206, configured to transmit payment details and payment cryptograms via NFC and another transmission unit 206, configured to transmit data over a mobile communication network.

[0054] Мобильное устройство 104 также может включать в себя базу данных 208 карт. База данных 208 карт, более подробно рассмотренная ниже, может представлять собой хранилище данных на мобильном устройстве 104, которое выполнено с возможностью хранения данных, связанных с одним или более транзакционными счетами и/или платежными картами. В базе данных 208 карт могут храниться реквизиты платежа, связанные с транзакционным счетом, например, предоставляемым мобильному устройству 104 сервером 102 управления транзакциями в защищенном сообщении RNS, и дополнительные данные, которые можно использовать при генерации криптограмм приложений, как более подробно рассмотрено ниже. В ряде случаев, база данных 208 карт может храниться как часть приложения мобильных платежей.[0054] Mobile device 104 may also include a map database 208. The card database 208, discussed in more detail below, can be a data store on a mobile device 104, which is configured to store data associated with one or more transaction accounts and / or payment cards. The card database 208 can store payment details related to the transaction account, for example, the transaction management server 102 provided to the mobile device 104 in a secure RNS message, and additional data that can be used to generate application cryptograms, as described in more detail below. In some cases, a database of 208 cards may be stored as part of a mobile payment application.

[0055] Мобильное устройство 104 может дополнительно включать в себя память 212. Память 212, более подробно рассмотренная ниже, может быть выполнена с возможностью сохранения данных для мобильного устройства 104, пригодных для осуществления рассмотренных здесь функций мобильного устройства 104. Например, в памяти 212 могут сохраняться данные, пригодные для генерации усовершенствованных ключей хранения для шифрования дополнительных данных в мобильном устройстве 104, например, база данных 208 карт, как более подробно рассмотрено ниже. Память 212 также может быть выполнена с возможностью сохранения программного кода для прикладных программ, выполняемых блоком 204 обработки, например, операционной системы, программного кода для приема данных посредством блока 214 ввода и отображения данных посредством блока 210 отображения, правил и/или алгоритмов для осуществления рассмотренных здесь функций и т.д. В памяти 212 также могут храниться данные, пригодные для осуществления традиционных функций мобильного устройства 104, например, правила и/или алгоритмы для осуществления сотовой связи посредством мобильной сети. Дополнительные данные, хранящиеся в памяти 212, будет очевидны специалистам в данной области техники.[0055] Mobile device 104 may further include memory 212. Memory 212, discussed in more detail below, may be configured to store data for mobile device 104 suitable for performing the functions of mobile device 104 discussed herein. For example, in memory 212 data suitable for generating advanced storage keys for encrypting additional data is stored in the mobile device 104, for example, a card database 208, as discussed in more detail below. The memory 212 can also be configured to store program code for application programs executed by processing unit 204, for example, an operating system, program code for receiving data by data input and display unit 214 by means of display unit 210, rules and / or algorithms for implementing the functions here, etc. The memory 212 can also store data suitable for the implementation of the traditional functions of the mobile device 104, for example, rules and / or algorithms for implementing cellular communications through a mobile network. Additional data stored in memory 212 will be apparent to those skilled in the art.

База данных карт мобильного устройстваMobile Device Card Database

[0056] Фиг. 3 демонстрирует вариант осуществления базы данных 208 карт мобильного устройства 104 для хранения реквизитов платежа и других данных, связанных с транзакционными счетами для использования при фондировании платежных транзакций, проводимых с помощью мобильного устройства 108.[0056] FIG. 3 shows an embodiment of a card database 208 of a mobile device 104 for storing payment details and other data related to transaction accounts for use in funding payment transactions conducted using the mobile device 108.

[0057] База данных 208 карт может включать в себя один или более профилей 302 платежа, представленных на фиг. 3 как профили 302a, 302b и 302c платежа. Каждый профиль 302 платежа может быть связан с транзакционным счетом, который можно использовать для фондирования платежной транзакции, и может включать в себя, по меньшей мере, реквизиты 304 платежа, один или более ключей 306 однократного использования, первый сеансовый ключ 308, второй сеансовый ключ 310 и счетчик 312 транзакций приложений.[0057] The card database 208 may include one or more of the payment profiles 302 of FIG. 3 as payment profiles 302a, 302b, and 302c. Each payment profile 302 may be associated with a transaction account that can be used to fund a payment transaction, and may include at least payment details 304, one or more reusable keys 306, a first session key 308, a second session key 310 and application transaction counter 312.

[0058] Реквизиты 304 платежа могут включать в себя данные, связанные с соответствующим транзакционным счетом, который используется для идентификации и удостоверения платежной сетью 114 и/или эмитентом 106 при обработке платежной транзакции с использованием соответствующего транзакционного счета. Реквизиты 304 платежа могут включать в себя, например, номер транзакционного счета, защитный код, дату истечения срока действия, имя держателя карты, имя авторизованного пользователя, данные отслеживания, данные описания дизайна карты, цифровые счетчики, битовые карты и т.д.[0058] Payment details 304 may include data associated with the corresponding transaction account, which is used to identify and verify the payment network 114 and / or issuer 106 when processing the payment transaction using the corresponding transaction account. Payment details 304 may include, for example, transaction account number, security code, expiration date, cardholder name, authorized user name, tracking data, card design description data, digital meters, bitmaps, etc.

[0059] Ключи 306 однократного использования могут представлять собой платежные жетоны, действительные для единичной платежной транзакции, которые могут использоваться блоком 204 обработки мобильного устройства 104 для генерации одной или более криптограмм приложений, используемых в платежной транзакции. В некоторых вариантах осуществления, ключ 306 однократного использования может включать в себя один или более из других элементов данных, включенных в профиль 302 платежа. Например, каждый ключ 306 однократного использования может включать в себя отдельный счетчик 312 транзакций приложений, который может быть не включен по отдельности в профиль 302 платежа. Различные конфигурации данных, хранящихся в профиле 302 платежа для использования при осуществлении раскрытых здесь функций, будут очевидны специалистам в данной области техники. В ряде случаев, ключ 306 однократного использования может включать в себя, или может состоять из, ключа, используемого для генерации одной или более криптограмм приложений. В некоторых вариантах осуществления, первый сеансовый ключ 308 и второй сеансовый ключ 310 могут быть включены в ключ 306 однократного использования, предоставляемый мобильному устройству 104, и/или сгенерированный с использованием данных, включенных в ключ 306 однократного использования.[0059] The single use keys 306 may be payment tokens valid for a single payment transaction, which may be used by the processing unit 204 of the mobile device 104 to generate one or more cryptograms of applications used in the payment transaction. In some embodiments, the reusable key 306 may include one or more of the other data items included in the payment profile 302. For example, each single use key 306 may include a separate application transaction counter 312, which may not be individually included in the payment profile 302. Various 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 cases, a single-use key 306 may include, or may consist of, a key used to generate one or more cryptograms of applications. In some embodiments, the first session key 308 and the second session key 310 may be included in the reusable key 306 provided to the mobile device 104 and / or generated using data included in the reusable key 306.

[0060] Первый сеансовый ключ 308 и второй сеансовый ключ 310 могут быть дополнительными ключами, которые используются блоком 204 обработки при генерации криптограмм приложений, передаваемых торговой точке 110 в порядке проведения платежной транзакции с использованием мобильного устройства 104. В некоторых вариантах осуществления, первый сеансовый ключ 308 может использоваться при генерации первой криптограммы приложения блоком 204 обработки, например, с использованием программного кода, правил или алгоритмов, хранящихся в памяти 212 мобильного устройства 104. Второй сеансовый ключ 310 может использоваться при генерации второй криптограммы приложения.[0060] The first session key 308 and the second session key 310 may be additional keys that are used by the processing unit 204 to generate cryptograms of applications transmitted to the point of sale 110 in the payment transaction order using the mobile device 104. In some embodiments, the first session key 308 can be used to generate the first cryptogram of the application by processing unit 204, for example, using program code, rules or algorithms stored in mobile device memory 212 Property 104. A second session key 310 may be used to generate a second cryptogram of the application.

[0061] В некоторых вариантах осуществления, второй сеансовый ключ 310 может генерироваться блоком 204 обработки. В таком варианте осуществления, второй сеансовый ключ 310 может генерироваться с использованием ключа 306 однократного использования и данных аутентификации пользователя, например, PIN, предоставляемого покупателем 108 (например, посредством блока 214 ввода). В таком варианте осуществления, второй сеансовый ключ 310 может не храниться в профиле 302 платежа, и вместо этого может генерироваться, использоваться и отвергаться как часть процесса платежной транзакции. Поэтому вторая криптограмма приложения может, будучи сгенерирована из второго сеансового ключа 310, который генерируется с использованием ключа 306 однократного использования и PIN покупателя, служить для аутентификации как мобильного устройства 104, так и покупателя 108.[0061] In some embodiments, a second session key 310 may be generated by processing unit 204. In such an embodiment, the second session key 310 may be generated using the reusable key 306 and user authentication data, such as a PIN provided by the customer 108 (for example, via an input unit 214). In such an embodiment, the second session key 310 may not be stored in the payment profile 302, and instead may be generated, used and rejected as part of the payment transaction process. Therefore, the second cryptogram of the application can, being generated from the second session key 310, which is generated using the reusable key 306 and the buyer's PIN, serve to authenticate both the mobile device 104 and the buyer 108.

[0062] Личный идентификационный номер (PIN), может быть числом, предоставленным покупателем 108 (например, в ходе регистрации MPA на мобильном устройстве 104 или регистрации транзакционного счета эмитентом 106 и/или сервером 102 управления транзакциями), которое можно использовать для аутентификации покупателя 108. При проведении платежной транзакции, покупатель 108 или другой пользователь мобильного устройства 104 может предоставлять PIN посредством блока 214 ввода. В некоторых вариантах осуществления, если предоставленный PIN неверен (например, не совпадает с PIN, предоставленным покупателем 108 в ходе регистрации), то блок 204 обработки может продолжать генерировать второй сеансовый ключ 310 и затем генерировать вторую криптограмму приложения. Если предоставленный PIN неверен, то вторая криптограмма приложения будет неверной, что приведет к неудаче удостоверения второй криптограммы приложения сервером 102 управления транзакциями, эмитентом 106 и/или платежной сетью 114, что может обеспечивать эмитенту 106 возможность отклонить транзакцию соответственно, или все же одобрить транзакцию.[0062] The personal identification number (PIN) may be a number provided by the buyer 108 (for example, during the registration of the MPA on the mobile device 104 or the registration of the transaction account by the issuer 106 and / or the transaction management server 102), which can be used to authenticate the buyer 108 . When conducting a payment transaction, the buyer 108 or other user of the mobile device 104 may provide a PIN through the block 214 input. In some embodiments, if the provided PIN is incorrect (for example, does not match the PIN provided by the buyer 108 during registration), then the processing unit 204 may continue to generate a second session key 310 and then generate a second cryptogram of the application. If the provided PIN is incorrect, then the second cryptogram of the application will be incorrect, which will lead to a failure to certify the second cryptogram of the application by the transaction management server 102, the issuer 106 and / or the payment network 114, which may provide the issuer 106 with the opportunity to reject the transaction accordingly, or still approve the transaction.

Память мобильного устройстваMobile device memory

[0063] Фиг. 4 демонстрирует вариант осуществления памяти 212 мобильного устройства 104 для хранения прикладных программ и других данных, подлежащих использованию в защищенном хранилище данных на мобильном устройстве 104 и для проведения платежных транзакций с использованием мобильного устройства 104. В иллюстративном варианте осуществления, память 212 может не быть защитным элементом.[0063] FIG. 4 shows an embodiment of a memory 212 of a mobile device 104 for storing application programs and other data to be used in a secure data store on a mobile device 104 and for conducting payment transactions using a mobile device 104. In an illustrative embodiment, the memory 212 may not be a security element .

[0064] Память 212 может включать в себя информацию 402 об устройстве. Информация 402 об устройстве может включать в себя один или более фрагментов данных, связанных с мобильным устройством 104, которые, в ряде случаев, могут быть уникальны для мобильного устройства 104. Например, информация 402 об устройстве может включать в себя адрес уровня управления доступом к среде, опорное число, порядковый номер, идентификационный номер и т.д. Дополнительная информация, которая может рассматриваться как информация 402 об устройстве мобильного устройства 104, будет очевидна специалистам в данной области техники.[0064] The memory 212 may include information about the device 402. The device information 402 may include one or more pieces of data associated with the mobile device 104, which, in some cases, may be unique to the mobile device 104. For example, the device information 402 may include an address of the medium access control level , reference number, serial number, identification number, etc. Additional information, which may be regarded as information 402 about the device of the mobile device 104, will be apparent to those skilled in the art.

[0065] Память 212 также может включать в себя приложение 404 мобильных платежей (MPA). MPA 404 может быть прикладной программой, выполненной с возможностью осуществления рассмотренных здесь функций мобильного устройства 104, например, получения и хранения реквизитов платежа, удостоверения сообщений RNS и генерации криптограмм приложений для использования при проведении платежных транзакций. Дополнительные признаки MPA 404 могут включать в себя традиционные признаки цифрового кошелька или другую аналогичную прикладную программу, что будет очевидно специалистам в данной области техники.[0065] The memory 212 may also include a mobile payment application (MPA) 404. The MPA 404 may be an application program configured to perform the functions of the mobile device 104 described herein, for example, receiving and storing payment details, verifying RNS messages, and generating application cryptograms for use in conducting payment transactions. Additional features of the MPA 404 may include traditional features of a digital wallet or other similar application program, as will be apparent to those skilled in the art.

[0066] MPA 404 может включать в себя программный код 406. Программный код 406 может представлять собой код, выполняемый блоком 204 обработки мобильного устройства 104, который предписывает блок 204 обработки и другие компоненты мобильного устройства 104 для осуществления рассмотренных здесь функций MPA 404. Например, программный код 406 может включать в себя код, пригодный для генерации криптограмм приложений, удостоверения сообщений RNS и т.д. Программный код 406 также может включать в себя программный код, пригодный для генерации случайного значения, которое можно использовать при генерации усовершенствованного ключа хранения. Случайное значение может представлять собой случайное или псевдослучайное число, которые могут генерироваться с использованием способов и систем, которые будут очевидны специалистам в данной области техники.[0066] The MPA 404 may include program code 406. The program code 406 may be a code executed by the processing unit 204 of the mobile device 104, which directs the processing unit 204 and other components of the mobile device 104 to implement the MPA 404 functions discussed herein. For example, program code 406 may include code suitable for generating application cryptograms, RNS message authentication, etc. Program code 406 may also include program code suitable for generating a random value that can be used to generate an advanced storage key. The random value may be a random or pseudo-random number that can be generated using methods and systems that will be apparent to those skilled in the art.

[0067] MPA 404 также может включать в себя идентификатор 408 экземпляра. Идентификатор 408 экземпляра может представлять собой значение, уникальное для конкретного MPA 404, которые можно использовать при генерации усовершенствованного ключа хранения, используемого для защиты данных в мобильном устройстве 104, например, базы данных 208 карт. Благодаря наличию идентификатора 408 экземпляра, уникального для MPA 404, множественные MPA 404 можно устанавливать на мобильном устройстве 104, при этом ни одно MPA 404 не способно осуществлять доступ к данным, безопасно сохраненным любым другим MPA 404, что позволяет гарантировать, что профили 302 платежа для конкретных транзакционных счетов недоступны другим программам. Идентификатором 408 экземпляра может быть число, буквенно-числовое значение, шестнадцатеричное значение или любое пригодное значение, которое может быть уникально для MPA 404.[0067] The MPA 404 may also include an instance identifier 408. Instance identifier 408 may be a value unique to a particular MPA 404 that can be used to generate an advanced storage key used to protect data in mobile device 104, such as a card database 208. Thanks to an instance identifier 408 unique to MPA 404, multiple MPA 404s can be installed on mobile device 104, and no MPA 404 is able to access data safely stored by any other MPA 404, which ensures that payment profiles 302 for specific transaction accounts are not available to other programs. Instance identifier 408 may be a number, an alphanumeric value, a hexadecimal value, or any suitable value that may be unique to the MPA 404.

[0068] Как более подробно рассмотрено ниже, блок 204 обработки мобильного устройства 104 может быть выполнен с возможностью генерации значения диверсификатора с использованием информации 402 об устройстве, случайного значения, сгенерированного с использованием программного кода 406 MPA 404, и идентификатора 408 экземпляра, хранящегося в MPA 404. Значение диверсификатора может использоваться криптографическим приложением 410, также хранящимся в памяти 212. Криптографическое приложение 410 может быть прикладной программой, выполненной с возможностью осуществления криптографии по принципу белого ящика и/или любой другой пригодной криптографической функции, которая будет очевидна специалистам в данной области техники.[0068] As discussed in more detail below, the processing unit 204 of the mobile device 104 may be configured to generate a diversifier value using device information 402, a random value generated using MPA program code 406 404, and an instance identifier 408 stored in the MPA 404. The value of the diversifier can be used by cryptographic application 410, also stored in memory 212. Cryptographic application 410 may be an application program configured to perform ticipate cryptography on the principle of white-box and / or any other suitable cryptographic function that will be obvious to those skilled in the art.

[0069] Криптографическое приложение 410 может включать в себя программный код 412. Программный код 412 может выполняться блоком 204 обработки мобильного устройства 104 для предоставления возможности блоку 204 обработки и другим компонентам мобильного устройства 104 осуществлять криптографические функции рассмотренного здесь криптографического приложения 410. Функции могут включать в себя генерацию усовершенствованного ключа хранения. Усовершенствованный ключ хранения может генерироваться с использованием значения диверсификатора, сгенерированного приложением 404 мобильных платежей, и ключа 414 шифрования, включенного в криптографическое приложение 410. В некоторых вариантах осуществления, ключ диверсификатора можно дешифровать с использованием ключа 414 шифрования для получения усовершенствованного ключа хранения.[0069] The cryptographic application 410 may include program code 412. The program code 412 may be executed by the processing unit 204 of the mobile device 104 to enable the processing unit 204 and other components of the mobile device 104 to perform the cryptographic functions of the cryptographic application 410 discussed herein. Functions may include self generating an advanced storage key. The enhanced storage key can be generated using the diversifier value generated by the mobile payment application 404 and the encryption key 414 included in the cryptographic application 410. In some embodiments, the diversifier key can be decrypted using the encryption key 414 to obtain the enhanced storage key.

[0070] Криптографическое приложение 410 также может быть выполнено с возможностью шифрования хранилища в мобильном устройстве 104 с использованием усовершенствованного ключа хранения. В некоторых вариантах осуществления, шифрование может осуществляться с использованием одного или более методов криптографии по принципу белого ящика. Зашифрованное хранилище может быть базой данных 208 карт и/или любым другим пригодным хранилищем в мобильном устройстве 104, например, данными, хранящимися в MPA 404. В некоторых вариантах осуществления, криптографическое приложение 410 может быть включено в состав MPA 404. Усовершенствованный ключ хранения может храниться в криптографическом приложении 410 или MPA 404, или, в ряде случаев, может повторно генерироваться MPA 404 и, при необходимости, криптографическим приложением 410.[0070] The cryptographic application 410 may also be configured to encrypt storage in mobile device 104 using an advanced storage key. In some embodiments, encryption may be performed using one or more white box cryptography techniques. The encrypted storage may be a database of cards 208 and / or any other suitable storage on the mobile device 104, for example, data stored in the MPA 404. In some embodiments, the cryptographic application 410 may be included in the MPA 404. The enhanced storage key may be stored in cryptographic application 410 or MPA 404, or, in some cases, MPA 404 and, if necessary, cryptographic application 410 can be regenerated.

[0071] Память 212 также может включать в себя любые дополнительные данные, хранящиеся в мобильном устройстве 104, пригодные для осуществления рассмотренных здесь функций, а также любых дополнительных функций мобильных устройств. Например, память 212 может включать в себя программный код для операционной системы, кода, правил или алгоритмов для осуществления мобильной связи, например, телефонных вызовов и т.д.[0071] The memory 212 may also 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, memory 212 may include program code for an operating system, code, rules, or algorithms for making mobile communications, such as phone calls, etc.

[0072] В некоторых вариантах осуществления, мобильное устройство 104 также может быть выполнено с возможностью приема данных, уже зашифрованных с использованием усовершенствованного ключа хранения, которые могут храниться в зашифрованном локальном хранилище в мобильном устройстве 104, например, в памяти 212, базе данных 208 карт или другом подходящем хранилище. В таком варианте осуществления, мобильное устройство 104 может быть выполнено с возможностью передачи сгенерированного случайного значения на сервер 102 управления транзакциями или другому доверенному субъекту, который может генерировать усовершенствованный ключ хранения с использованием тех же способов и систем с использованием сгенерированного случайного значения, и может шифровать данные, предоставляемые мобильному устройству 104. Таким образом, мобильное устройство 104 может принимать данные, уже зашифрованные с использованием усовершенствованного ключа хранения, для локального хранения в мобильном устройстве 104.[0072] In some embodiments, the mobile device 104 may also be configured to receive data already encrypted using an advanced storage key that can be stored in an encrypted local storage in the mobile device 104, for example, in a memory 212, a map database 208 or other suitable storage. In such an embodiment, the mobile device 104 may be configured to transmit the generated random value to a transaction management server 102 or another trusted entity that can generate an advanced storage key using the same methods and systems using the generated random value, and can encrypt the data provided to the mobile device 104. Thus, the mobile device 104 can receive data already encrypted using a mustache Advanced storage key for local storage on mobile device 104.

Сервер управления транзакциямиTransaction management server

[0073] Фиг. 5 демонстрирует вариант осуществления сервера 102 управления транзакциями системы 100. Специалистам в данной области техники будет очевидно, что вариант осуществления сервера 102 управления транзакциями, представленного на фиг. 5, обеспечен только как иллюстрация и может не исчерпывать все возможные конфигурации сервера 102 управления транзакциями пригодного для осуществления рассмотренных здесь функций. Например, компьютерная система 1700, представленная на фиг. 17 и более подробно рассмотренная ниже, может быть пригодной конфигурацией сервера 102 управления транзакциями.[0073] FIG. 5 shows an embodiment of the transaction management server 102 of the system 100. It will be apparent to those skilled in the art that the embodiment of the transaction management server 102 of FIG. 5 is provided for illustrative purposes only and may not exhaust all possible configurations of a transaction management server 102 suitable for performing the functions discussed herein. For example, the computer system 1700 shown in FIG. 17 and discussed in more detail below may be a suitable configuration of a transaction management server 102.

[0074] Сервер 102 управления транзакциями может включать в себя блок 502 приема. Блок 502 приема может быть выполнен с возможностью приема данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 502 приема может принимать данные от мобильного устройства 104, например, сообщения получения или возврата, сообщения подтверждения, извещения транзакции и т.д., платежной сети 114, эмитента 106 или другого подходящего субъекта. Блок 502 приема может принимать извещения транзакции или запросы криптограммы, например, для инициирования генерации криптограмм приложений для использования при удостоверении реквизитов платежа в платежной транзакции. Блок 502 приема также может принимать данные транзакционного счета, например от эмитента 106, для использования при генерации реквизитов платежа для предоставления мобильному устройству 104.[0074] 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 from the mobile device 104, for example, receive or return messages, confirmation messages, transaction notifications, etc., payment network 114, issuer 106, or other suitable entity. The receiving unit 502 may receive transaction notifications or cryptogram requests, for example, to initiate the generation of application cryptograms for use in verifying payment details in a payment transaction. Reception unit 502 may also receive transaction account data, for example, from issuer 106, for use in generating payment details for provision to mobile device 104.

[0075] Сервер 102 управления транзакциями также может включать в себя блок 504 обработки. Блок 504 обработки может быть выполнен с возможностью осуществления рассмотренных здесь функций сервера 102 управления транзакциями, что будет очевидно специалистам в данной области техники. Таким образом, блок 504 обработки может быть выполнен с возможностью генерации и шифрования сообщений RNS и включенных в них данных, удостоверения сообщений возврата от мобильного устройства 104, генерации реквизитов платежа, генерации криптограмм приложений, удостоверения криптограмм приложений и т.д., как более подробно рассмотрено ниже.[0075] The transaction management server 102 may also include a processing unit 504. Processing unit 504 may be configured to perform the functions of the transaction management server 102 discussed herein, as will be apparent to those skilled in the art. Thus, the processing unit 504 can be configured to generate and encrypt RNS messages and the data included therein, to certify return messages from the mobile device 104, to generate payment details, to generate application cryptograms, to verify application cryptograms, etc., as in more detail discussed below.

[0076] Сервер 102 управления транзакциями может дополнительно включать в себя блок 506 передачи. Блок 506 передачи может быть выполнен с возможностью передачи данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 506 передачи может передавать сообщения RNS, реквизиты платежа, криптограммы приложений, извещения удостоверения и другие данные, которые будут очевидны специалистам в данной области техники. Блок 506 передачи может быть выполнен с возможностью передачи данных на мобильное устройство 104, например, посредством сети мобильной связи или интернета, платежной сети 114, эмитента 106 и любого другого пригодного субъекта.[0076] The transaction management server 102 may further include a transfer unit 506. Transmission unit 506 may be configured to transmit data over one or more networks via one or more network protocols. Transmission unit 506 may transmit RNS messages, payment details, application cryptograms, identity notifications, and other data that will be apparent to those skilled in the art. Transmission unit 506 may be configured to transmit data to mobile device 104, for example, via a mobile communication network or the Internet, a payment network 114, an issuer 106, and any other suitable entity.

[0077] Сервер 102 управления транзакциями также может включать в себя базу данных 508 счетов. База данных 508 счетов, более подробно рассмотренная ниже, может быть выполнена с возможностью сохранения информация счета для нескольких транзакционных счетов. Информация счета может включать в себя данные и ключи, используемые для генерации криптограмм приложений, используемых при удостоверении реквизитов платежа, принятых в ходе платежных транзакций, проводимых с использованием мобильного устройства 104. База данных 508 счетов также может быть выполнена с возможностью сохранения данных транзакции для платежных транзакций, проводимых с участием мобильного устройства 104, и других данных, например, данных, связанных с покупателем 108 или другими авторизованными пользователями соответствующего транзакционного счета.[0077] The transaction management server 102 may also include an account database 508. The account database 508, discussed in more detail below, can be configured to store account information for multiple transaction accounts. Account information may include data and keys used to generate cryptograms of applications used to verify payment details received during payment transactions carried out using mobile device 104. Account database 508 may also be configured to save transaction data for payment transactions carried out with the participation of the mobile device 104, and other data, for example, data associated with the buyer 108 or other authorized users of the corresponding an invoice account.

[0078] Сервер 102 управления транзакциями также может включать в себя память 510. Память 510 может быть выполнена с возможностью сохранения дополнительных данных для использования сервером 102 управления транзакциями при осуществлении раскрытых здесь функций. Например, память 510 может сохранять правила или алгоритмы для удостоверения криптограмм приложений, правила или алгоритмы для генерации извещений удостоверения, алгоритмы для генерации сеансовых ключей и криптограмм приложений, ключи шифрования для шифрования и дешифрования данных и сообщений RNS и т.д. Дополнительные данные, которые могут храниться в памяти 510, будут очевидны специалистам в данной области техники.[0078] The transaction management server 102 may also include a memory 510. The memory 510 may be configured to store additional data for use by the transaction management server 102 in performing the functions disclosed herein. For example, memory 510 may store rules or algorithms for certifying application cryptograms, rules or algorithms for generating authentication notifications, algorithms for generating session keys and application cryptograms, encryption keys for encrypting and decrypting RNS data and messages, etc. Additional data that may be stored in memory 510 will be apparent to those skilled in the art.

Сервер управления транзакциями база данных счетовTransaction Management Server Account Database

[0079] Фиг. 6 демонстрирует вариант осуществления базы данных 508 счетов сервера 102 управления транзакциями для хранения данных, связанных с транзакционными счетами для использования при удостоверении реквизитов платежа и других данных транзакции, предоставляемых при проведении платежных транзакций, включающих в себя мобильное устройство 104.[0079] FIG. 6 illustrates an embodiment of an account database 508 of a transaction management server 102 for storing data associated with transaction accounts for use in verifying payment details and other transaction data provided when conducting payment transactions including a mobile device 104.

[0080] База данных 508 счетов может включать в себя несколько профилей 602 счетов, представленных на фиг. 6 как профилей 602a, 602b и 602c счетов. Каждый профиль 602 счета может включать в себя один или более ключей 604 однократного использования, первый сеансовый ключ 606, второй сеансовый ключ 608, счетчик 610 транзакций приложений и первый главный ключ 612 карты. В некоторых вариантах осуществления, профиль 602 счета может дополнительно включать в себя второй главный ключ 612 карты.[0080] The account database 508 may include several account profiles 602 shown in FIG. 6 as account profiles 602a, 602b, and 602c. Each account profile 602 may include one or more reusable keys 604, a first session key 606, a second session key 608, an application transaction counter 610, and a first card master key 612. In some embodiments, the account profile 602 may further include a second card master key 612.

[0081] Каждый профиль 602 счета может соответствовать профилю 302 платежа, предоставляемому мобильному устройству 104. Таким образом, ключи 604 однократного использования, хранящиеся в профиле 602 счета, могут соответствовать ключам 306 однократного использования, хранящимся в соответствующем профиле 302 платежа, связанном с тем же транзакционным счетом. Данные могут быть аналогичны, благодаря чему, когда криптограмма приложения генерируется сервером 102 управления транзакциями или мобильным устройством 104, криптограммы приложений должны совпадать, если данные являются точными и не повреждены, что может позволить удостоверять реквизиты платежа, представленные мобильным устройством 104.[0081] Each account profile 602 may correspond to a payment profile 302 provided to the mobile device 104. Thus, the reusable keys 604 stored in the account profile 602 may correspond to the reusable keys 306 stored in the corresponding payment profile 302 associated with the same transaction account. The data may be similar, whereby when the 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 not corrupted, which may allow the payment details provided by the mobile device 104 to be verified.

[0082] В некоторых вариантах осуществления, профиль 602 счета может включать в себя личный идентификационный номер (PIN), который соответствует PIN 314, хранящемуся в соответствующем профиле 302 платежа. В таком варианте осуществления, PIN 314 могут предоставляться блоку 202 приема сервер 102 управления транзакциями в защищенном сообщении, например, сообщении получения, предоставляемом мобильным устройством 104, более подробно рассмотренном ниже. В других вариантах осуществления, вместо PIN может использоваться главный ключ карты, например, первый главный ключ 612 карты. В таком варианте осуществления, блок 504 обработки сервера 102 управления транзакциями может быть выполнен с возможностью генерации второго сеансового ключа 608 на основании второго главного ключа 614 карты, который соответствует второму сеансовому ключу 310, сгенерированному мобильным устройством 104 с использованием ключа 306 однократного использования и PIN 314. В ряде случаев, второй сеансовый ключ 608 также может быть основан на соответствующем ключе 604 однократного использования. В таких вариантах осуществления, алгоритмы для генерации сеансовых ключей и/или криптограмм приложений могут гарантировать, что криптограммы, сгенерированные мобильным устройством 104 и сервером 102 управления транзакциями, соответствуют на основании используемых на них данных.[0082] In some embodiments, the account profile 602 may include a personal identification number (PIN) that corresponds to the PIN 314 stored in the corresponding payment profile 302. In such an embodiment, the PIN 314 may be provided to the receiving unit 202 of the transaction management server 102 in a secure message, for example, a receive message provided by the mobile device 104, discussed in more detail below. In other embodiments, a card master key may be used instead of a PIN, for example, a first card master key 612. 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 614, which corresponds to the second session key 310 generated by the mobile device 104 using the reusable key 306 and PIN 314 In a number of cases, the second session key 608 may also be based on a corresponding reusable key 604. In such embodiments, the algorithms for generating session keys and / or application cryptograms can ensure that the cryptograms generated by the mobile device 104 and the transaction management server 102 are consistent based on the data used on them.

[0083] Первый сеансовый ключ 606 может использоваться блоком 504 обработки сервера 102 управления транзакциями для генерации первой криптограммы приложения, и второй сеансовый ключ 608 может использоваться для генерации второй криптограммы приложения. В некоторых вариантах осуществления, счетчик 610 транзакций приложений может использоваться при генерации одного или более из сеансовых ключей и/или криптограмм приложений. Счетчик 610 транзакций приложений может быть значением, соответствующим проводимой платежной транзакции, который получает приращение или иначе изменяется в ходе каждой транзакции. Счетчик 610 транзакций приложений может соответствовать счетчику 312 транзакций приложений, хранящемуся в соответствующем профиле 302 платежа в мобильном устройстве 104, таким образом, что его использование может гарантировать, что только действительное MPA 404 может обладать верным счетчиком 312 транзакций приложений для генерации действительных сеансовых ключей и/или криптограмм приложений. Могут использоваться дополнительные методы для дополнительного повышения защиты сеансового ключа и/или генерации криптограммы приложения, например непредсказуемых чисел и другие методы, которые будут очевидны специалистам в данной области техники.[0083] The first session key 606 may be used by the processing unit 504 of the transaction management server 102 to generate the first cryptogram of the application, and the second session key 608 may be used to generate the second cryptogram of the application. In some embodiments, an application transaction counter 610 may be used to generate one or more of the session keys and / or cryptograms of the applications. Application transaction counter 610 may be a value corresponding to an ongoing payment transaction that is incremented or otherwise changes 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, so that its use can ensure that only a valid MPA 404 can have a valid application transaction counter 312 to generate valid session keys and / or cryptogram applications. Additional methods may be used to further enhance the security of the session key and / or generate cryptograms of the application, for example unpredictable numbers and other methods that will be apparent to those skilled in the art.

Обработка платежных транзакций с использованием мобильного устройстваProcessing payment transactions using a mobile device

[0084] Фиг. 7 демонстрирует процесс обработки платежных транзакций, проводимых с использованием мобильного устройства 104 без защитного элемента и с использованием генерации и удостоверения двух или более криптограмм приложений.[0084] FIG. 7 shows a process for processing payment transactions conducted using a mobile device 104 without a security element and using the generation and authentication of two or more cryptograms of applications.

[0085] На этапе 702, сервер 102 управления транзакциями может предоставлять (например, посредством блока 506 передачи) реквизиты 304 платежа и другие данные счета мобильному устройству 104, например, посредством сообщения RNS, более подробно рассмотренного ниже. На этапе 704, блок 202 приема мобильного устройства 104 может принимать реквизиты 304 платежа и другие данные счета. На этапе 706, блок 204 обработки мобильного устройства 104 может сохранять данные в профиле 302 платежа в базе данных 208 карт. Данные счета могут включать в себя реквизиты 304 платежа, один или более ключей 308 однократного использования и любые другие пригодные данные, например, один или более из сеансовых ключей 308 и 310.[0085] At step 702, the transaction management server 102 may provide (for example, via the transfer unit 506) payment details 304 and other account data to the mobile device 104, for example, via an RNS message, discussed in more detail below. At step 704, the receiving unit 202 of the mobile device 104 may receive payment details 304 and other account data. At step 706, the processing unit 204 of the mobile device 104 may store data in the payment profile 302 in the card database 208. Account data may include payment details 304, one or more reusable keys 308 and any other suitable data, for example, one or more of the session keys 308 and 310.

[0086] На этапе 708, блок 204 обработки может генерировать две криптограммы приложений для использования при проведении платежной транзакции. В некоторых вариантах осуществления, этап 708 может инициироваться покупателем 108, например, путем указания посредством блока 214 ввода, путем размещения мобильного устройства 104 вблизи торговой точки 110 для инициирования транзакции посредством ближней бесконтактной связи, или другим подходящим способом. Генерация криптограмм приложений может включать в себя генерацию первой криптограммы приложения с использованием первого сеансового ключа 308, хранящегося в профиле 302 платежа. Вторая криптограмма приложения может генерироваться с использованием второго сеансового ключа 310, который может генерироваться с использованием ключа 306 однократного использования и PIN 314. В ряде случаев, покупатель 108 может вводить PIN в мобильное устройство 104 (например, посредством блока 214 ввода) до этапа 708 или в ходе инициирования этапа 708. В некоторых вариантах осуществления, одна или обе из криптограмм приложений также может/ут генерироваться с использованием счетчика 312 транзакций приложений.[0086] At step 708, the processing unit 204 may generate two cryptograms of applications for use in conducting a payment transaction. In some embodiments, step 708 may be initiated by the buyer 108, for example, by indicating via an input unit 214, by placing a mobile device 104 near a point of sale 110 to initiate a transaction via near contactless communication, or in another suitable manner. Generating application cryptograms may include generating a first application cryptogram using the first session key 308 stored in the payment profile 302. The second cryptogram of the application can be generated using the second session key 310, which can be generated using the reusable key 306 and PIN 314. In some cases, the buyer 108 can enter the PIN into the mobile device 104 (for example, via the input unit 214) to step 708 or during the initiation of step 708. In some embodiments, one or both of the application cryptograms may also be generated using the application transaction counter 312.

[0087] После генерации криптограмм приложений, они, совместно с реквизитами 304 платежа, могут передаваться эмитенту 106 посредством торговой точки 110, эквайера 112 и платежной сети 114. Реквизиты 304 платежа и криптограммы приложений могут приниматься эмитентом 106 на этапе 710. На этапе 712, блок 206 передачи мобильного устройства 104 может передавать извещение транзакции на сервер 102 управления транзакциями. На этапе 714, блок 502 приема сервера 102 управления транзакциями может принимать извещение транзакции. Извещение транзакции может извещать сервер 102 управления транзакциями о том, что мобильное устройство 104 инициировало платежную транзакцию с использованием профиля 302 платежа. В ряде случаев, извещение транзакции может включать в себя идентификационную информацию.[0087] After generating the application cryptograms, they, together with the payment details 304, can be transmitted to the issuer 106 through the outlet 110, the acquirer 112 and the payment network 114. Payment details 304 and application cryptograms can be received by the issuer 106 at step 710. At step 712, the transmission unit 206 of the mobile device 104 may transmit the transaction notification to the transaction management server 102. At step 714, the receiving unit 502 of the transaction management server 102 may receive a transaction notification. A transaction notification may notify the transaction management server 102 that the mobile device 104 has initiated a payment transaction using the payment profile 302. In some cases, a transaction notice may include identification information.

[0088] На этапе 716, блок 504 обработки сервера 102 управления транзакциями может идентифицировать профиль 602 счета, соответствующий профилю 302 платежа, и может генерировать две криптограммы приложений с использованием содержащихся в нем данных. Первая криптограмма приложения может генерироваться с использованием первого сеансового ключа 606, который может генерироваться с использованием первого главного ключа 612 карты. Вторая криптограмма приложения может генерироваться с использованием второго сеансового ключа 608. В некоторых вариантах осуществления, одна или обе из криптограмм приложений и/или сеансовых ключей могут быть дополнительно основаны на ключах 604 однократного использования, счетчике 610 транзакций приложений или любых других пригодных данных.[0088] At 716, the processing unit 504 of the transaction management server 102 can identify the account profile 602 corresponding to the payment profile 302, and can generate two application cryptograms using the data contained therein. The first cryptogram of the application may be generated using the first session key 606, which may be generated using the first master key 612 of the card. A second application cryptogram may be generated using the second session key 608. In some embodiments, one or both of the application and / or session key cryptograms may be further based on reusable keys 604, application transaction counter 610, or any other suitable data.

[0089] На этапе 718, блок 506 передачи сервера 102 управления транзакциями может передавать сгенерированные криптограммы приложений эмитенту 106, который может принимать криптограммы на этапе 718. На этапе 720, эмитент 106 может удостоверять криптограммы приложений, предоставляемые мобильным устройством 104 совместно с реквизитами 304 платежа. Удостоверение криптограмм приложений может включать в себя сравнение криптограмм, предоставленных мобильным устройством 104, с криптограммами приложений, сгенерированными и предоставленными сервером 102 управления транзакциями. После осуществления удостоверения, на этапе 722, эмитент 106 может соответственно обрабатывать транзакцию. Обработка транзакций может включать в себя одобрение платежной транзакции, например, если одна или обе из криптограмм удостоверены, или отклонение платежной транзакции, например, если определено, что одна или обе из криптограмм недействительны.[0089] In step 718, the transfer unit 506 of the transaction management server 102 may transmit the generated application cryptograms to the issuer 106, which may receive the cryptograms in step 718. At step 720, the issuer 106 may verify the application cryptograms provided by the mobile device 104 together with the payment details 304 . The authentication of the application cryptograms may include comparing the cryptograms provided by the mobile device 104 with the application cryptograms generated and provided by the transaction management server 102. After the certification is completed, at step 722, the issuer 106 may accordingly process the transaction. Transaction processing may include approving a payment transaction, for example, if one or both of the cryptograms are authenticated, or rejecting the payment transaction, for example, if it is determined that one or both of the cryptograms is invalid.

[0090] На этапе 724, извещение транзакции может передаваться эмитентом 106 или другим субъектом (например, платежной сетью 114, эквайером 112 и т.д.) в порядке обработки платежной транзакции. Извещение транзакции может передаваться на сервер 102 управления транзакциями и приниматься блоком 502 приема, на этапе 726. Извещение транзакции также может приниматься блоком 202 приема мобильного устройства 104, на этапе 728. Извещение транзакции может указывать одобрение или отклонение платежной транзакции. Каждый из блоков 204 и 504 обработки мобильного устройства 104 и сервера 102 управления транзакциями, соответственно, может осуществлять одну или более функций в результате приема извещения транзакции. Например, если транзакция была одобрена и успешно обработана, счетчики 310 и 610 транзакций приложения в соответствующих профилях могут соответственно обновляться.[0090] At step 724, the transaction notice may be transmitted by the issuer 106 or another entity (eg, payment network 114, acquirer 112, etc.) in the processing order of the payment transaction. A transaction notification may be transmitted to the transaction management server 102 and received by the receiving unit 502, at step 726. A transaction notification may also be received by the receiving unit 202 of the mobile device 104, at step 728. The transaction notification may indicate approval or rejection of the payment transaction. Each of the processing units 204 and 504 of the mobile device 104 and the transaction management server 102, respectively, can perform one or more functions as a result of receiving the transaction notification. For example, if a transaction has been approved and successfully processed, application transaction counters 310 and 610 in their respective profiles may be updated accordingly.

[0091] Фиг. 8 демонстрирует альтернативный процесс обработки платежной транзакции с использованием мобильного устройства 104.[0091] FIG. 8 shows an alternative payment transaction processing process using mobile device 104.

[0092] На этапе 802, реквизиты 304 платежа и другие данные счета могут передаваться на мобильное устройство 104 блоком 506 передачи сервера 102 управления транзакциями. На этапе 804, блок 202 приема мобильного устройства 104 может принимать реквизиты 304 платежа и другие данные счета, которые могут храниться в профиле 302 платежа на этапе 806. На этапе 808, блок 204 обработки мобильного устройства 104 может генерировать две криптограммы приложений, как рассмотрено выше, и может передавать криптограммы, реквизиты 304 платежа, и другие пригодные данные эмитенту 106 (например, посредством торговой точки 110).[0092] At step 802, payment details 304 and other account data may be transmitted to the mobile device 104 by the transmission unit 506 of the transaction management server 102. At step 804, the receiving unit 202 of the mobile device 104 may receive payment details 304 and other account data that may be stored in the payment profile 302 at step 806. At step 808, the processing unit 204 of the mobile device 104 may generate two application cryptograms, as discussed above , and can transmit cryptograms, payment details 304, and other suitable data to the issuer 106 (for example, through a point of sale 110).

[0093] На этапе 810, эмитент 106 может принимать криптограммы приложений и любые другие пригодные данные, которые могут использоваться эмитентом 106 для удостоверения данных транзакции и/или обработки одобрения или отклонения транзакции. На этапе 812, эмитент 106 может подавать запрос на криптограммы удостоверения на сервер 102 управления транзакциями. В некоторых вариантах осуществления, запрос может включать в себя реквизиты 304 платежа или другие данные, пригодные для использования сервером 102 управления транзакциями при идентификации профиля 602 счета, подлежащего использованию для генерации криптограмм удостоверения. В одном варианте осуществления, запрос может дополнительно включать в себя две криптограммы приложений, сгенерированные мобильным устройством 104 для удостоверения.[0093] At 810, the issuer 106 may receive application cryptograms and any other suitable data that may be used by the issuer 106 to authenticate transaction data and / or process approval or rejection of the transaction. At step 812, the issuer 106 may submit a request for credential cryptograms to the transaction management server 102. In some embodiments, the request may include payment details 304 or other data suitable for use by the transaction management server 102 in identifying the account profile 602 to be used to generate credential cryptograms. In one embodiment, the request may further include two application cryptograms generated by the mobile device 104 for authentication.

[0094] На этапе 814, блок 502 приема сервера 102 управления транзакциями может принимать запрос криптограммы. На этапе 816, блок 504 обработки сервера 102 управления транзакциями может генерировать две криптограммы приложений, подлежащие использованию для удостоверения, как рассмотрено выше. В вариантах осуществления, где запрос криптограммы также включает в себя две криптограммы приложений, сгенерированные мобильным устройством 104, этап 816 также может включать в себя удостоверение двух криптограмм блоком 504 обработки с использованием двух вновь сгенерированных криптограмм приложений. Криптограммы удостоверения или результат удостоверения в применимых вариантах осуществления, может передаваться блоком 506 передачи эмитенту 106. На этапе 818, эмитент 106 может принимать криптограммы удостоверения и/или результат удостоверения.[0094] In step 814, the receiving unit 502 of the transaction management server 102 may receive a cryptogram request. At step 816, the processing unit 504 of the transaction management server 102 may generate two application cryptograms to be used for authentication, as discussed above. In embodiments where the cryptogram request also includes two application cryptograms generated by the mobile device 104, step 816 may also include validating the two cryptograms with a processing unit 504 using two newly generated application cryptograms. Identification cryptograms or the verification result in applicable embodiments may be transmitted by the transmission unit 506 to the issuer 106. At step 818, the issuer 106 may receive the authentication cryptograms and / or the verification result.

[0095] На этапе 820, эмитент 106 может удостоверять криптограммы приложений, предоставляемые мобильным устройством 104, с использованием криптограмм приложений, сгенерированных сервером 102 управления транзакциями. В вариантах осуществления, где сервер 102 управления транзакциями сообщает результат удостоверения эмитенту 106, этап 820 может включать в себя идентификацию результата удостоверения каждой из двух криптограмм приложений. На этапе 822, эмитент 106 может обрабатывать платежную транзакцию соответственно на основании результата удостоверения. На этапе 824, извещения транзакции, принятые соответствующими блокам 502 и 202 приема на этапах 826 и 828, могут передаваться, соответственно, на сервер 102 управления транзакциями и мобильное устройство 104.[0095] At step 820, the issuer 106 may certify the application cryptograms provided by the mobile device 104 using the application cryptograms generated by the transaction management server 102. In embodiments where the transaction management server 102 reports the authentication result to the issuer 106, step 820 may include identifying the authentication result of each of the two application cryptograms. At step 822, the issuer 106 may process the payment transaction, respectively, based on the result of the certificate. At step 824, transaction notifications received by the respective reception units 502 and 202 at steps 826 and 828 can be transmitted, respectively, to the transaction management server 102 and the mobile device 104.

Служба удаленного извещения и обмен сообщениями данныхRemote Alert and Messaging Service

[0096] Фиг. 9 демонстрирует процесс передачи и удостоверения сообщений службы удаленного извещения (RNS) и других сообщений данных, передаваемых от сервера 102 управления транзакциями на мобильное устройство 104. Сообщения RNS могут передаваться посредством службы удаленного извещения, например, той, которая использует сеть мобильной связи, связанную с мобильным устройством 104. Сообщения RNS могут использоваться для предоставления реквизитов 304 платежа и других данных счета мобильному устройству 104, например, данных счета, используемых при обработке платежных транзакций, как рассмотрено выше, и другой информации, которую можно использовать при установлении защищенного соединения между мобильным устройством 104 и сервером 102 управления транзакциями.[0096] FIG. 9 shows a process for transmitting and certifying Remote Notification Service (RNS) messages and other data messages transmitted from a transaction management server 102 to a mobile device 104. RNS messages can be transmitted by a remote notification service, such as one that uses a mobile network associated with mobile device 104. RNS messages can be used to provide payment details 304 and other account data to mobile device 104, for example, account data used in processing the board transactions, as discussed above, and other information that can be used to establish a secure connection between the mobile device 104 and the transaction management server 102.

[0097] На этапе 902, блок 504 обработки сервера 102 управления транзакциями может генерировать сообщение. В случаях, когда взаимная аутентификация устанавливается с помощью мобильного устройства 104, сообщение может включать в себя информацию, пригодную для установления взаимной аутентификации, например, идентификатора сеанса. В других случаях, например, когда взаимная аутентификация установлена между сервером 102 управления транзакциями и мобильным устройством 104 с использованием, представленного на фиг. 9 и рассмотренного здесь процесса, сгенерированное сообщение может включать в себя реквизиты 304 платежа и данные счета, может включать в себя одну или более команд, подлежащих выполнению MPA 404 мобильного устройства 104 (например, удаления ключей 306 однократного использования или реквизитов 304 платежа и т.д.), может представлять собой извещения, подлежащие представлению покупателю 108 (например, остаток на счете, платежные извещения и т.д.), или включать в себя другие пригодные данные.[0097] In step 902, the processing unit 504 of the transaction management server 102 may generate a message. In cases where mutual authentication is established using the mobile device 104, the message may include information suitable for establishing mutual authentication, for example, a session identifier. In other cases, for example, when mutual authentication is established between the transaction management server 102 and the mobile device 104 using, as shown in FIG. 9 and the process discussed here, the generated message may include payment details 304 and account data, may include one or more instructions to be executed by MPA 404 of mobile device 104 (e.g., deleting one-time keys 306 or payment details 304, etc. e.) may be a notice to be presented to the customer 108 (e.g., account balance, payment notices, etc.), or may include other suitable data.

[0098] На этапе 904, блок 504 обработки может шифровать сгенерированное сообщение. Сообщение может шифроваться с использованием личного ключа пары личного/открытого ключей, причем мобильное устройство 104 может обладать соответствующим открытым ключом. В ряде случаев, сообщение может шифроваться с использованием ключа шифрования, связанного с мобильным устройством 104 или MPA 404, например, ключа 414 шифрования. На этапе 906, блок 504 обработки может генерировать код аутентификации сообщения. Код аутентификации сообщения может генерироваться с использованием зашифрованного сообщения и может представлять собой ключ, который генерируется с использованием одного или более специально сконфигурированных правил и/или алгоритмов. Например, код аутентификации сообщения может генерироваться с использованием один или более способов шифрования и обфускации, например, заполнения. В некоторых вариантах осуществления, код аутентификации сообщения может генерироваться с использованием ключа шифрования.[0098] At 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, and the mobile device 104 may have a corresponding public key. In some cases, the message may be encrypted using an encryption key associated with a mobile device 104 or MPA 404, for example, an encryption key 414. At 906, processing unit 504 may generate a message authentication code. A message authentication code can be generated using an encrypted message and can be a key that is generated using one or more specially configured rules and / or algorithms. For example, a message authentication code may be generated using one or more encryption and obfuscation methods, for example, padding. In some embodiments, a message authentication code may be generated using an encryption key.

[0099] На этапе 908, блок 506 передачи сервера 102 управления транзакциями может передавать комбинированное сообщение данных на мобильное устройство 104. В вариантах осуществления, где может осуществляться взаимная аутентификация, комбинированное сообщение данных может представлять собой сообщение службы удаленного извещения, передаваемое на мобильное устройство 104 посредством службы удаленного извещения. Комбинированное сообщение данных может приниматься блоком 202 приема мобильного устройства 104 на этапе 910 и может включать в себя код аутентификации сообщения и зашифрованное сообщение. В ряде случаев, комбинированное сообщение данных также может включать в себя дополнительный идентификатор, например, сгенерированный с использованием способов известных MPA 404 для его проверки. В ряде случаев, например, когда взаимная аутентификация уже осуществлена, комбинированное сообщение данных также может включать в себя счетчик сообщений.[0099] In step 908, the transmission unit 506 of the transaction management server 102 may transmit the combined data message to the mobile device 104. In embodiments where mutual authentication can be performed, the combined data message may be a remote notification service message transmitted to the mobile device 104 through the remote notification service. The combined data message may be received by the receiving unit 202 of the mobile device 104 in step 910 and may include a message authentication code and an encrypted message. In some cases, the combined data message may also include an additional identifier, for example, generated using methods of the known MPA 404 to verify it. In some cases, for example, when mutual authentication has already been performed, the combined data message may also include a message counter.

[0100] На этапе 912, блок 204 обработки может генерировать опорный код аутентификации. Опорный код аутентификации может генерироваться с использованием принятого зашифрованного сообщения и может генерироваться с использованием тех же правил и алгоритмов, которые использовал сервер 102 управления транзакциями для генерации кода аутентификации сообщения, благодаря чему, сгенерированный опорный код аутентификации будет соответствовать коду аутентификации сообщения, если код аутентификации сообщения генерируется доверенным источником (например, сервером 102 управления транзакциями). В вариантах осуществления, где код аутентификации сообщения может генерироваться с использованием ключа шифрования, блок 204 обработки может генерировать опорный код аутентификации с использованием ключа 414 шифрования, хранящегося в памяти 212, или другого подходящего ключа шифрования.[0100] At step 912, the processing unit 204 may generate a reference authentication code. The authentication reference code can be generated using the received encrypted message and can be generated using the same rules and algorithms that the transaction management server 102 used to generate the message authentication code, so that the generated authentication authentication code will correspond to the message authentication code if the message authentication code generated by a trusted source (e.g., transaction management server 102). In embodiments where the message authentication code may be generated using the encryption key, processing unit 204 may generate an authentication reference code using the encryption key 414 stored in memory 212 or another suitable encryption key.

[0101] На этапе 914, блок 204 обработки может удостоверять код аутентификации сообщения, включенный в принятое комбинированное сообщение данных путем его сравнения со сгенерированным опорным кодом аутентификации. Если счетчик сообщений и код аутентификации сообщения удостоверены, то комбинированное сообщение данных можно определить как доверенное (например, подлинное) при поступлении от сервера 102 управления транзакциями. В случаях, когда комбинированное сообщение данных может включать в себя идентификатор сообщения, блок 204 обработки также может удостоверять идентификатор сообщения путем генерации идентификатора сообщения с использованием процесса, известного MPA 404 для его генерации и сравнения. В вариантах осуществления, где комбинированное сообщение данных может включать в себя счетчик сообщений, блок 204 обработки может удостоверять счетчик сообщений, включенный в принятое комбинированное сообщение данных с помощью опорного счетчика, хранящегося в мобильном устройстве 104, например, в MPA 404 или в профиле 502 платежа.[0101] At step 914, the processing unit 204 can verify the message authentication code included in the received combined data message by comparing it with the generated authentication reference code. If the message counter and message authentication code are authenticated, then the combined data message can be defined as trusted (eg, genuine) upon receipt from the transaction management server 102. In cases where the combined data message may include a message identifier, processing unit 204 can also verify the message identifier by generating a message identifier using a process known to MPA 404 to generate and compare it. In embodiments where the combined data message may include a message counter, processing unit 204 can verify the message counter included in the received combined data message using a reference counter stored in the mobile device 104, for example, in the MPA 404 or in the payment profile 502 .

[0102] На этапе 916, блок 204 обработки может дешифровать зашифрованное сообщение, включенное в принятое комбинированное сообщение данных. Зашифрованное сообщение можно дешифровать с использованием ключа, например, хранящегося в памяти 212 (например, в криптографическом приложении 410 или MPA 404) или хранящегося в локальной зашифрованной базе данных (например, зашифрованной с использованием усовершенствованного ключа хранения), или другим подходящим способом дешифрования. На этапе 918, блок 204 обработки может осуществлять одно или более надлежащих действий на основании данных, дешифрованных из зашифрованного сообщения. В примере, представленном на фиг. 9, мобильное устройство 104 может осуществлять взаимную аутентификацию с сервером 102 управления транзакциями, например, с использованием идентификатора сеанса, включенного в зашифрованное сообщение и дешифрованного блоком 204 обработки. На этапе 920, сервер 102 управления транзакциями может принимать идентификатор сеанса и осуществлять любые дополнительные действия, необходимые для взаимной аутентификации с помощью мобильного устройства 104. В случаях, когда взаимная аутентификация уже осуществлена, сообщение может включать в себя другую информацию, пригодную для осуществления раскрытых здесь функций, например, реквизиты 404 платежа, ключи 406 однократного использования, программные инструкции для MPA 404 и т.д.[0102] At 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 a key, for example, stored in memory 212 (for example, in cryptographic application 410 or MPA 404) or stored in a local encrypted database (for example, encrypted using an advanced storage key), or another suitable decryption method. At step 918, processing unit 204 may perform one or more appropriate actions based on data decrypted from the encrypted message. In the example of FIG. 9, the mobile device 104 may authenticate with the transaction management server 102, for example, using a session identifier included in the encrypted message and decrypted by the processing unit 204. At step 920, the transaction management server 102 may receive a session identifier and perform any additional actions necessary for mutual authentication using the mobile device 104. In cases where mutual authentication has already been performed, the message may include other information suitable for the implementation disclosed here functions, for example, payment details 404, reusable keys 406, program instructions for MPA 404, etc.

[0103] В некоторых вариантах осуществления, мобильное устройство 104 может быть выполнено с возможностью (например, посредством MPA 404) генерации и передачи сообщения возврата на сервер 102 управления транзакциями. В ряде случаев, сообщение возврата может включать в себя данные, сгенерированные в ответ на действиях, осуществляемых согласно предписанию в дешифрованном сообщении, как рассмотрено выше. Например, сообщение возврата может указывать действительные получение и хранение реквизитов 304 платежа или ключей 306 однократного использования. В других случаях, сообщение возврата может быть извещением получения и удостоверения комбинированного сообщения данных. В случаях, когда сначала осуществляется взаимная аутентификация, сообщение возврата может включать в себя идентификатор сеанса, используемый для осуществления взаимной аутентификации.[0103] In some embodiments, the mobile device 104 may be configured to (for example, via the MPA 404) generate and transmit a return message to the transaction management server 102. In some cases, the return message may include data generated in response to actions performed as prescribed in the decrypted message, as discussed above. For example, a return message may indicate the actual receipt and storage of payment details 304 or reusable keys 306. In other cases, the return message may be a notification of receipt and certification of the combined data message. In cases where mutual authentication is first performed, the return message may include a session identifier used to perform mutual authentication.

[0104] Фиг. 10A и 10B демонстрируют процесс генерации и передачи сообщения возврата мобильным устройством 104 и его удостоверения сервером 102 управления транзакциями.[0104] FIG. 10A and 10B show a process for generating and transmitting a return message by a mobile device 104 and confirming it with a transaction management server 102.

[0105] На этапе 1002, блок 204 обработки мобильного устройства 104 может генерировать сообщение получения. Сообщение получения может генерироваться на основании программного кода 406, хранящегося в MPA 404, и может дополнительно основываться на действиях, осуществляемых, как указано в дешифрованном комбинированном сообщении данных, принятом от сервера 102 управления транзакциями. Например, сообщение получения может включать в себя извещение успешного получения и сохранения реквизитов 304 платежа. На этапе 1004, блок 204 обработки может увеличивать счетчик получения. Счетчик получения может быть счетчиком, указывающим количество сообщений получения, переданных на сервер 102 управления транзакциями. Счетчик получения может храниться в памяти 212, например в MPA 404, или в базе данных, зашифрованных с использованием усовершенствованного ключа хранения. Специалистам в данной области техники будет очевидно, что этап 1004 может быть необязательным этапом и может использоваться только в случаях, когда счетчик используется для удостоверения сообщения данных.[0105] In step 1002, the processing unit 204 of the mobile device 104 may generate a receive message. A receive message may be generated based on program code 406 stored in the MPA 404, and may further be based on actions taken as indicated in the decrypted combined data message received from the transaction management server 102. For example, a receipt message may include a notification of successful receipt and storage of payment details 304. At step 1004, the processing unit 204 may increment the receipt counter. The receive counter may be a counter indicating the number of receive messages transmitted to the transaction management server 102. The receive counter may be stored in memory 212, such as in the MPA 404, or in a database encrypted using an advanced storage key. Those skilled in the art will appreciate that step 1004 can be an optional step and can only be used when a counter is used to authenticate a data message.

[0106] На этапе 1006, блок 204 обработки может шифровать сообщение получения. Сообщение получения может шифроваться с использованием ключа 414 шифрования, хранящегося в криптографическом приложении 410, или может иначе сохраняться в MPA 404 или локально зашифрованной базе данных. Ключ шифрования, используемый для шифрования сообщения получения, может быть личным ключом в составе пары ключей, причем соответствующий открытый ключ хранится на сервере 102 управления транзакциями. На этапе 1008, блок 204 обработки может генерировать код аутентификации получения на основании зашифрованного сообщения получения. В некоторых вариантах осуществления, код аутентификации получения может генерироваться с использованием тех же правил, алгоритмов и/или процессов, которые используются для генерации опорного кода аутентификации, проиллюстрированного на этапе 912, рассмотренном выше со ссылкой на фиг. 9.[0106] At step 1006, the processing unit 204 may encrypt the receive message. The receive message may be encrypted using the encryption key 414 stored in the cryptographic application 410, or it may otherwise be stored in the MPA 404 or a locally encrypted database. The encryption key used to encrypt the receipt message may be a private key in a key pair, the corresponding public key being stored on the transaction management server 102. At step 1008, the processing unit 204 may generate a receipt authentication code based on an encrypted receive message. In some embodiments, the receipt authentication code may be generated using the same rules, algorithms, and / or processes that are used to generate the authentication authentication code illustrated in step 912 discussed above with reference to FIG. 9.

[0107] На этапе 1010, блок 206 передачи мобильного устройства 104 может передавать сообщение извещения о получении на сервер 102 управления транзакциями. Сообщение извещения о получении может приниматься блоком 502 приема сервера 102 управления транзакциями и может включать в себя, по меньшей мере, код аутентификации получения, зашифрованное сообщение получения и счетчик получения. В некоторых вариантах осуществления, сообщение извещения о получении может передаваться на сервер 102 управления транзакциями с использованием сети мобильной связи, например сотовой сети, связанной с мобильным устройством 104.[0107] In step 1010, the transmission unit 206 of the mobile device 104 may transmit a receipt notification message to the transaction management server 102. The receipt notification message may be received by the receiving unit 502 of the transaction management server 102 and may include at least a receipt authentication code, an encrypted receipt message, and a receipt counter. In some embodiments, the receipt notification message may be transmitted to the transaction management server 102 using a mobile network, such as a cellular network, associated with mobile device 104.

[0108] На этапе 1014, блок 504 обработки сервера 102 управления транзакциями может увеличивать счетчик подтверждения. Счетчик подтверждения может указывать количество сообщений, принятых от мобильного устройства 104, используемых для удостоверения сообщений, принятых от мобильного устройства 104. Счетчик подтверждения может храниться в памяти 510 сервера 102 управления транзакциями или другом подходящем хранилище данных. Например, в некоторых вариантах осуществления, счетчик подтверждения может храниться в профиле 602 счета, связанном с мобильным устройством 104. В одном примере, каждый профиль 602 счета может включать в себя счетчик подтверждения (например, и/или счетчик сообщений), подлежащий использованию для сообщений, передаваемых на/от сервера 102 управления транзакциями и мобильного устройства 104, связанного с соответствующим транзакционным счетом. Специалистам в данной области техники будет очевидно, что этап 1014 может быть необязательным этапом, и может не осуществляться в случаях, когда счетчик может не использоваться для удостоверения сообщений возврата.[0108] At 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 to authenticate messages received from the mobile device 104. The confirmation counter may be stored in memory 510 of the transaction management server 102 or other suitable data storage. For example, in some embodiments, a confirmation counter may be stored in the account profile 602 associated with the mobile device 104. In one example, each account profile 602 may include a confirmation counter (eg, and / or a message counter) to be used for messages transmitted to / from the transaction management server 102 and the mobile device 104 associated with the corresponding transaction account. Those skilled in the art will appreciate that step 1014 may be an optional step, and may not be carried out in cases where the counter may not be used to authenticate return messages.

[0109] На этапе 1016, блок 504 обработки может генерировать код аутентификации подтверждения. Код аутентификации подтверждения может генерироваться на основании зашифрованного сообщения получения, включенного в сообщение извещения о получении, и может генерироваться с использованием тех же правил, алгоритмов и/или процессов, которые используются для генерации кода аутентификации сообщения. На этапе 1018, блок 504 обработки может удостоверять счетчик получения, включенный в сообщение извещения о получении, путем его сравнения со счетчиком подтверждения. На этапе 1020, блок 504 обработки может удостоверять код аутентификации получения путем его сравнения с кодом аутентификации сообщения, чтобы гарантировать, что сообщение исходит от авторизованного мобильного устройства 104.[0109] At 1016, the processing unit 504 may generate a confirmation authentication code. A confirmation authentication code may be generated based on the encrypted receipt message included in the receipt notification message, and may be generated using the same rules, algorithms, and / or processes that are used to generate the message authentication code. At 1018, the processing unit 504 can certify the receipt counter included in the receipt notification message by comparing it with the confirmation counter. At step 1020, the processing unit 504 can authenticate the receipt authentication code by comparing it with the message authentication code to ensure that the message comes from an authorized mobile device 104.

[0110] После удостоверения счетчика (например, если применимо) и кода аутентификации, на этапе 1022, блок 504 обработки может дешифровать зашифрованное сообщение, включенное в принятое сообщение извещения о получении. Зашифрованное сообщение можно дешифровать с использованием сохраненного ключа шифрования или другим подходящим способом дешифрования. Зашифрованное сообщение можно дешифровать для получения сообщения получения, сгенерированного мобильным устройством 104. На этапе 1024, блок 504 обработки может осуществлять любые необходимые действия на основании данных, включенных в сообщение получения. Например, если сообщение получения включает в себя указание успешного получения и сохранения ключей 306 однократного использования, блок 204 обработки может активировать соответствующие ключи 604 однократного использования в соответствующем профиле 602 счета.[0110] After verifying the counter (for example, if applicable) and the authentication code, at 1022, the processing unit 504 can decrypt the encrypted message included in the received receipt notification message. An encrypted message can be decrypted using a stored encryption key or other suitable decryption method. The encrypted message can be decrypted to receive a receive message generated by the mobile device 104. At step 1024, the processing unit 504 may take any necessary action based on the data included in the receive message. For example, if the receive message includes an indication of the successful receipt and storage of the reusable keys 306, the processing unit 204 may activate the corresponding reusable keys 604 in the corresponding account profile 602.

Удостоверение сообщений данныхData Message Identity

[0111] Фиг. 11 демонстрирует процесс 1100 удостоверения сообщений данных, принятых мобильным устройством 104 от сервера 102 управления транзакциями.[0111] FIG. 11 shows a process 1100 for verifying data messages received by a mobile device 104 from a transaction management server 102.

[0112] На этапе 1102, блок 204 обработки мобильного устройства 104 может сохранять ключи шифрования, ключи генерации аутентификации и правила и/или алгоритмы их использования и применения в локальном хранилище, например, в памяти 212 или локально зашифрованном хранилище, зашифрованном с использованием усовершенствованного ключа хранения. На этапе 1104, блок 202 приема мобильного устройства 104 может принимать сообщение данных от сервера 102 управления транзакциями. В некоторых вариантах осуществления, сообщение данных может приниматься от сервера 102 управления транзакциями после установления взаимной аутентификации между двумя устройствами, например, с использованием процесса, представленного на фиг. 9 и рассмотренного выше. Сообщение данных может включать в себя, по меньшей мере, счетчик сообщений, код аутентификации сообщения и зашифрованное сообщение.[0112] At step 1102, the processing unit 204 of the mobile device 104 may store encryption keys, authentication generation keys, and rules and / or algorithms for their use and application in local storage, for example, in memory 212 or a locally encrypted storage, encrypted using an advanced key storage. At 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, a data message may be received from the transaction management server 102 after establishing mutual authentication between the two devices, for example, using the process shown in FIG. 9 and discussed above. The data message may include at least a message counter, a message authentication code, and an encrypted message.

[0113] На этапе 1106, блок 204 обработки может увеличивать опорный счетчик. Опорный счетчик может храниться в памяти 212 или в другом локальном хранилище и может использоваться для указания количества сообщений, принятых от сервера 102 управления транзакциями. В ряде случаев, опорный счетчик может увеличиваться с использованием алгоритма, таким образом, что опорный счетчик может увеличиваться не с использованием последовательных чисел, но посредством алгоритма, известного мобильному устройству 104 (например, посредством MPA 404) и серверу 102 управления транзакциями.[0113] At step 1106, the processing unit 204 may increment the reference counter. The reference counter may be stored in memory 212 or other local storage and may be used to indicate the number of messages received from the transaction management server 102. In some cases, the reference counter may be increased using an algorithm, such that the reference counter may not be increased using sequential numbers, but by an algorithm known to the mobile device 104 (e.g., via the MPA 404) and transaction management server 102.

[0114] На этапе 1108, блок 204 обработки может удостоверять счетчик сообщений, включенный в принятое сообщение данных. Удостоверение счетчика сообщений может включать в себя сравнение счетчика сообщений со значением опорного счетчика после увеличения. Неудачное удостоверение может указывать, что источник сообщения данных не является сервером 102 управления транзакциями или так или иначе не является доверенным. Если удостоверение завершается неудачей, то, на этапе 1110, блок 204 обработки может осуществлять одно или более надлежащих действий, связанных с неудачным получением и/или удостоверением сообщения данных. Например, блок 204 обработки может отвергать сообщение данных, может извещать сервер 102 управления транзакциями, может блокировать соответствующий профиль 302 платежа, или совершать другие действия, которые будут очевидны специалистам в данной области техники.[0114] At step 1108, the processing unit 204 may certify a message counter included in the received data message. The identity of the message counter may include comparing the message counter with the value of the reference counter after increasing. A bad credential may indicate that the data message source is not a transaction management server 102, or is not trusted anyway. If the authentication fails, then, at step 1110, the processing unit 204 may perform one or more appropriate actions associated with the failure to receive and / or verify the data message. For example, processing unit 204 may reject the data message, may notify the transaction management server 102, may block the corresponding payment profile 302, or perform other actions that will be apparent to those skilled in the art.

[0115] Если удостоверение счетчика сообщений проходит успешно, то процесс 1100 может переходить к этапу 1112, где зашифрованное сообщение может заполняться. Заполнение зашифрованного сообщения может включать в себя добавление значений к зашифрованному сообщению или связанным с ним данным. Заполнение может использоваться для повышения безопасности процесса удостоверения сообщений, поскольку мобильному устройству 104 и серверу 102 управления транзакциями может потребоваться осуществлять другую функцию, известную им обоим, которую неавторизованному субъекту придется продублировать, чтобы успешно передавать или принимать сообщение данных без авторизации. Специалистам в данной области техники будет очевидно, что этап 1112 может быть необязательным этапом. В некоторых вариантах осуществления, этап 1112 может применяться в ряде случаев процесса 1110. Например, зашифрованное сообщение может заполняться при определенных приращениях опорного счетчика.[0115] If the authentication of the message counter is successful, then process 1100 may proceed to step 1112 where the encrypted message may be populated. Filling out the encrypted message may include adding values to the encrypted message or related data. Filling can be used to enhance the security of the message authentication process, as the mobile device 104 and the transaction management server 102 may need to perform another function known to both of them that an unauthorized subject will have to duplicate in order to successfully transmit or receive a data message without authorization. It will be apparent to those skilled in the art that step 1112 may be an optional step. In some embodiments, step 1112 may be applied in a number of cases to process 1110. For example, an encrypted message may be populated with certain increments of the reference counter.

[0116] На этапе 1114, блок 204 обработки может генерировать опорный код аутентификации. Опорный код аутентификации может генерироваться на основании зашифрованного сообщения (например, заполненного, если применимо) с использованием одного или более правил или алгоритмов, например, сохраненных на этапе 1102. В некоторых вариантах осуществления, опорный код аутентификации может представлять собой ключ или может представлять собой значение, сгенерированное путем применения ключа к зашифрованному сообщению. На этапе 1116, блок 204 обработки может удостоверять код аутентификации сообщения, принятый в сообщении RNS. Удостоверение кода аутентификации сообщения может включать в себя сравнение кода со сгенерированным опорным кодом аутентификации, в качестве другого способа идентификации, если принятое сообщение данных исходит из авторизованного источника (например, сервера 102 управления транзакциями).[0116] At step 1114, the processing unit 204 may generate a reference authentication code. An authentication reference code may be generated based on an encrypted message (eg, populated, if applicable) using one or more rules or algorithms, for example, stored in step 1102. In some embodiments, the authentication reference code may be a key or may be a value generated by applying the key to an encrypted message. At step 1116, the processing unit 204 may certify the message authentication code received in the RNS message. The authentication of the message authentication code may include comparing the code with the generated authentication reference code, as another identification method, if the received data message comes from an authorized source (e.g., transaction management server 102).

[0117] Если удостоверение кода аутентификации сообщения завершается неудачей, процесс 1100 может переходить к этапу 1110, где осуществляется обработка неудачи. Если удостоверение кода аутентификации сообщения проходит успешно, то, на этапе 1118, зашифрованное сообщение, включенное в принятое сообщение данных, может дешифроваться блоком 204 обработки. Сообщение можно дешифровать с использованием одного или более ключей шифрования/дешифрования, правил и/или алгоритмов, например, сохраненных в мобильном устройстве 104 на этапе 1102. Например, ключ 414 шифрования, хранящийся в криптографическом приложении 410 памяти 212, может использоваться для дешифрования зашифрованного сообщения. На этапе 1120, блок 204 обработки может осуществлять одно или более надлежащих действий на основании содержимого дешифрованного сообщения. Например, если дешифрованное сообщение включает в себя ключи 306 однократного использования, ключи 306 однократного использования могут храниться в надлежащем профиле 302 платежа базы данных 208 карт, который, таким образом, может быть зашифрован с использованием усовершенствованного ключа хранения.[0117] If the authentication of the message authentication code fails, process 1100 may proceed to step 1110 where failure processing is performed. If the authentication of the message authentication code is successful, then, at step 1118, the encrypted message included in the received data message can be decrypted by the processing unit 204. The message can be decrypted using one or more encryption / decryption keys, rules and / or algorithms, for example, stored in the mobile device 104 at step 1102. For example, the encryption key 414 stored in the cryptographic application 410 of the memory 212 can be used to decrypt the encrypted message . At step 1120, the processing unit 204 may perform one or more appropriate actions based on the contents of the decrypted message. For example, if the decrypted message includes reusable keys 306, the reusable keys 306 can be stored in the appropriate payment profile 302 of the card database 208, which can thus be encrypted using an advanced storage key.

Усовершенствованный ключ храненияAdvanced Storage Key

[0118] Фиг. 12 демонстрирует генерацию и использование усовершенствованного ключа хранения мобильным устройством 104 для безопасного хранения данных в мобильном устройстве 104, например, профилей 302 платежа и других данных, с обеспечением безопасного хранения и доступа в мобильном устройстве 104 без использования защитных элементов.[0118] FIG. 12 illustrates the generation and use of an advanced storage key by a mobile device 104 for securely storing data in a mobile device 104, for example, payment profiles 302 and other data, providing secure storage and access in a mobile device 104 without the use of security features.

[0119] Информация 402 об устройстве, хранящаяся в памяти 212 мобильного устройства 104, может включать в себя три или более фрагментов информации 1202 об устройстве, представленных на фиг. 12 в качестве информации 1202a, 1202b и 1202c об устройстве. Каждый фрагмент информации 1202 об устройстве может быть связан с мобильным устройством 104. В ряде случаев, каждый фрагмент информации 1202 об устройстве может быть уникален для мобильного устройства 104. В других случаях, один или более из фрагментов информации 1202 об устройстве может не быть уникальным для мобильного устройства 104 (например, номер модели), но три фрагмента информации 1202 об устройстве вместе взятые могут быть уникальны для мобильного устройства 104 (например, уникальной комбинацией). Фрагментами информации 1202 об устройстве могут быть данные, которые не будут изменяться на протяжении срока службы мобильного устройства 104.[0119] Device information 402 stored in memory 212 of mobile device 104 may include three or more pieces of device information 1202 shown in FIG. 12 as the device information 1202a, 1202b, and 1202c. Each piece of device information 1202 may be associated with a mobile device 104. In some cases, each piece of device information 1202 may be unique to a mobile device 104. In other cases, one or more pieces of device information 1202 may not be unique to mobile device 104 (e.g., model number), but three pieces of device information 1202 taken together may be unique to mobile device 104 (e.g., a unique combination). Fragments of information about the device 1202 may be data that will not change over the life of the mobile device 104.

[0120] Блок 204 обработки мобильного устройства 104 может генерировать характерный признак 1204 мобильного устройства на основании трех фрагментов информации 1202a, 1202b и 1202c об устройстве. Характерный признак 1204 мобильного устройства может представлять собой значение, уникальное для мобильного устройства 104, и может генерироваться с использованием одного или более правил или алгоритмов, хранящихся в памяти 212, например, включенных в программный код 406 MPA 404. Характерным признаком 1204 мобильного устройства может быть, например, численное значение, шестнадцатеричное значение, строка символов и т.д.[0120] The processing unit 204 of the mobile device 104 may generate a characteristic feature 1204 of the mobile device based on three pieces of information about the device 1202a, 1202b, and 1202c. The characteristic of the mobile device 1204 may be a value unique to the mobile device 104, and may be generated using one or more rules or algorithms stored in the memory 212, for example, included in the MPA 404 program code 404. The characteristic of the mobile device 1204 may be e.g. numerical value, hexadecimal value, character string, etc.

[0121] Блок 204 обработки также может быть выполнен с возможностью генерации значения 1208 диверсификатора с использованием характерного признака 1204 мобильного устройства. Значение диверсификатора может генерироваться путем объединения характерного признака 1204 мобильного устройства с идентификатором 408 экземпляра MPA 404, а также случайным значением 1206. Случайное значение 1206 может представлять собой случайное или псевдослучайное число, сгенерированное блоком 204 обработки. В ряде случаев, случайное значение 1206 может генерироваться в соответствии с одним или более правилами или алгоритмами, хранящимися в памяти 212. Объединение характерного признака 1204 мобильного устройства, идентификатора 408 экземпляра и случайного значения 1206 также может осуществляться с использованием одного или более правил или алгоритмов, например, хранящихся в программном коде 406 MPA 404. Использование идентификатора 408 экземпляра для генерации значения диверсификатора может давать возможность защищенного хранения данных, связанных с экземпляром MPA 404, благодаря чему, множественные установленные экземпляры MPA 404 могут быть не способны осуществлять доступ к данным, сохраненным другими примерами MPA 404.[0121] The processing unit 204 may also be configured to generate a diversifier value 1208 using the characteristic 1204 of the mobile device. A diversifier value can be generated by combining the characteristic 1204 of the mobile device with the identifier 408 of the MPA instance 404, as well as a random value 1206. The random value 1206 can be a random or pseudo-random number generated by the processing unit 204. In some cases, a random value 1206 may be generated in accordance with one or more rules or algorithms stored in the memory 212. The combination of the characteristic 1204 of the mobile device, instance identifier 408 and the random value 1206 may also be carried out using one or more rules or algorithms, for example, stored in program code 406 MPA 404. Using the identifier 408 of the instance to generate the value of the diversifier can enable secure storage of data associated with zemplyarom MPA 404, thereby, set multiple copies of MPA 404 may not be able to access the data stored in other examples of the MPA 404.

[0122] Затем блок 204 обработки может генерировать усовершенствованный ключ 1210 хранения путем применения ключа 414 шифрования, хранящегося в криптографическом приложении 410, к значению 1208 диверсификатора. В ряде случаев, усовершенствованный ключ 1210 хранения может генерироваться путем дешифрования значения 1208 диверсификатора с использованием ключа 414 шифрования. В других случаях, усовершенствованный ключ 1210 хранения может представлять собой значение, полученное шифрованием значения 1208 диверсификатора с использованием ключа 414 шифрования. В некоторых вариантах осуществления, усовершенствованный ключ 1210 хранения может генерироваться в результате осуществления криптографии по принципу белого ящика с использованием ключа 414 шифрования и значения 1208 диверсификатора.[0122] Then, the processing unit 204 can generate an enhanced storage key 1210 by applying the encryption key 414 stored in the cryptographic application 410 to the diversifier value 1208. In some cases, the enhanced storage key 1210 may be generated by decrypting the diversifier value 1208 using the encryption key 414. In other cases, the enhanced storage key 1210 may be the value obtained by encrypting the diversifier value 1208 using the encryption key 414. In some embodiments, an enhanced storage key 1210 may be generated by performing white box cryptography using an encryption key 414 and a diversifier value 1208.

[0123] После генерации усовершенствованного ключа 1210 хранения, блок 204 обработки может использовать усовершенствованный ключ 1210 хранения для шифрования локальной базы данных 1210. Локальная база данных 1210 может состоять, например, из базы данных 208 карт, одного или более профилей 302 платежа, части памяти 212 или другого пригодного источника данных. В ряде случаев, локальная база данных 1210 может быть частью другой базы данных в мобильном устройстве 104, например, базы данных 208 карт. Например, база данных 208 карт может включать в себя несколько локальных баз данных 1212, например, отдельной локальной базы данных 1212 для каждого экземпляра MPA 404 для хранения связанных с ними профилей 302 платежа. Таким образом, в полученной зашифрованной локальной базе данных 1214 могут безопасно храниться данные, недоступные любой другой прикладной программе, внутренней или внешней для мобильного устройства 104 за исключением конкретного экземпляра MPA 404, который включает в себя идентификатор 408 экземпляра. Соответственно, зашифрованная локальная база данных 1214 может идеально подходить для хранения реквизитов 304 платежа, ключей 306 однократного использования и других данных счета, и может обеспечивать безопасное хранение конфиденциальной информации счета без использования защитных элементов.[0123] After generating the enhanced storage key 1210, the processing unit 204 may use the enhanced storage key 1210 to encrypt the local database 1210. The local database 1210 may consist, for example, of a card database 208, one or more payment profiles 302, part of the memory 212 or another suitable data source. In some cases, the local database 1210 may be part of another database on the mobile device 104, for example, a map database 208. For example, the map database 208 may include several local databases 1212, for example, a separate local database 1212 for each instance of MPA 404 to store associated payment profiles 302. Thus, data obtained that is inaccessible to any other application program internal or external to mobile device 104 can be safely stored in the obtained encrypted local database 1214, except for a specific instance of MPA 404, which includes instance identifier 408. Accordingly, the encrypted local database 1214 may be ideally suited for storing payment details 304, reusable keys 306 and other account data, and can provide secure storage of confidential account information without the use of security elements.

[0124] В некоторых вариантах осуществления, ключ хранения также может использоваться сервером 102 управления транзакциями для предоставления зашифрованных данных мобильному устройству 104 для хранения в зашифрованной локальной базе данных 1214. Например, блок 206 передачи мобильного устройства 104 может передавать сгенерированное случайное значение 1206 на сервер 102 управления транзакциями. В ряде случаев, идентификатор 408 экземпляра также может передаваться на сервер 102 управления транзакциями, или может предварительно сохраняться на сервера 102 управления транзакциями, например в ходе регистрации MPA 404. Затем сервер 102 управления транзакциями может генерировать сам усовершенствованный ключ 1210 хранения, шифровать данные, предоставляемые мобильному устройству 104, например, реквизиты 304 платежа, ключи 306 однократного использования и т.д., с использованием усовершенствованного ключа 1210 хранения, и затем передавать зашифрованные данные на мобильное устройство 104. Затем мобильное устройство 104 может сохранять уже зашифрованные данные в зашифрованной локальной базе данных 1214.[0124] In some embodiments, the storage key may also be used by transaction management server 102 to provide encrypted data to mobile device 104 for storage in an encrypted local database 1214. For example, transmission unit 206 of mobile device 104 may transmit the generated random value 1206 to server 102 transaction management. In some cases, instance identifier 408 may also be transmitted to the transaction management server 102, or may be previously stored on the transaction management server 102, for example during registration of the MPA 404. Then, the transaction management server 102 may generate the advanced storage key 1210 itself, encrypt the data provided to the mobile device 104, for example, payment details 304, reusable keys 306, etc., using the enhanced storage key 1210, and then transmit the encrypted data to the mobile device 104. Then, the mobile device 104 may store the already encrypted data in the encrypted local database 1214.

Первый иллюстративный способ генерации реквизитов платежа в платежной транзакцииThe first illustrative method of generating payment details in a payment transaction

[0125] Фиг. 13 демонстрирует способ 1300 генерации реквизитов платежа в платежной транзакции, включающий в себя использование двух криптограмм приложений для безопасного использования реквизитов платежа в мобильном устройстве 104 без защитного элемента.[0125] FIG. 13 shows a method 1300 for generating payment details in a payment transaction, including the use of two application cryptograms for the safe use of payment details in a mobile device 104 without a security element.

[0126] На этапе 1302, по меньшей мере, ключ однократного использования (например, ключ 306 однократного использования) может сохраняться в памяти (например, профиле 302 платежа), связанной с транзакционным счетом. В некоторых вариантах осуществления, память 302 может быть памятью незащищенных элементов в мобильном устройстве связи (например, мобильном устройстве 104). На этапе 1304, личный идентификационный номер (PIN) может приниматься принимающим устройством (например, блоком 202 приема и/или блоком 214 ввода).[0126] In step 1302, at least the reusable key (eg, the reusable key 306) may be stored in a memory (eg, payment profile 302) associated with the transaction account. In some embodiments, the memory 302 may be a memory of insecure items in a mobile communication device (eg, mobile device 104). At 1304, a personal identification number (PIN) may be received by the receiving device (for example, the receiving unit 202 and / or the input unit 214).

[0127] На этапе 1306, первый сеансовый ключ (например, первый сеансовый ключ 308) может идентифицироваться устройством обработки (например, блоком 204 обработки). На этапе 1308, второй сеансовый ключ (например, второй сеансовый ключ 310) может генерироваться устройством 204 обработки на основании, по меньшей мере, сохраненного ключа 306 однократного использования и принятого PIN.[0127] At step 1306, the first session key (eg, the first session key 308) can be identified by a processing device (eg, processing unit 204). At step 1308, a second session key (eg, a second session key 310) may be generated by the processing device 204 based on at least the stored reusable key 306 and the received PIN.

[0128] На этапе 1310, первая криптограмма приложения может генерироваться устройством 204 обработки на основании, по меньшей мере, первого сеансового ключа 308. На этапе 1312, вторая криптограмма приложения может генерироваться устройством 204 обработки на основании, по меньшей мере, второго сеансового ключа 310.[0128] At step 1310, the first cryptogram of the application can be generated by the processing device 204 based on at least the first session key 308. At step 1312, the second cryptogram of the application can be generated by the processing device 204 based on at least the second session key 310 .

[0129] На этапе 1314, по меньшей мере, первая криптограмма приложения и вторая криптограмма приложения могут передаваться передающим устройством (например, блоком 206 передачи) для использования в платежной транзакции. В некоторых вариантах осуществления, первая криптограмма приложения и вторая криптограмма приложения могут передаваться на устройство торговой точки (например, торговую точку 110). В одном варианте осуществления, способ 1300 может дополнительно включать в себя сохранение, в памяти 302, главного ключа карты, связанного с транзакционным счетом, причем идентификация первого сеансового ключа 308 включает в себя генерацию, устройством 204 обработки, первого сеансового ключа 308 на основании, по меньшей мере, сохраненного главного ключа карты.[0129] In step 1314, at least the first cryptogram of the application and the second cryptogram of the application can be transmitted by a transmitting device (eg, transmission unit 206) for use in a payment transaction. In some embodiments, the first cryptogram of the application and the second cryptogram of the application may be transmitted to a point of sale device (e.g., point of sale 110). In one embodiment, method 1300 may further include storing, in memory 302, the master card key associated with the transaction account, the identification of the first session key 308 including generating, by the processing device 204, the first session key 308 based on at least the saved master key of the card.

[0130] В некоторых вариантах осуществления, способ 1300 также может включать в себя сохранение, в памяти 302, счетчика транзакций приложений (например, счетчик 312 транзакций приложений), причем идентификация первого сеансового ключа 308 включает в себя генерацию, устройством 204 обработки, первого сеансового ключа 308 на основании, по меньшей мере, сохраненного счетчика 312 транзакций приложений. В одном варианте осуществления, способ 1300 может дополнительно включать в себя удостоверение, устройством 204 обработки, принятого PIN до генерации второго сеансового ключа 310. В дополнительном варианте осуществления, устройство 204 обработки может быть выполнено с возможностью генерации недействительного второго сеансового ключа 310, если удостоверение принятого PIN завершается неудачей.[0130] In some embodiments, the method 1300 may also include storing, in memory 302, an application transaction counter (eg, application transaction counter 312), the identification of the first session key 308 including generating, by the processing device 204, the first session a key 308 based on at least a stored application transaction counter 312. In one embodiment, the method 1300 may further include 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 credential is accepted PIN fails.

Второй иллюстративный способ генерации реквизитов платежа в платежной транзакцииThe second illustrative method of generating payment details in a payment transaction

[0131] Фиг. 14 демонстрирует способ 1400 для генерации реквизитов платежа в платежной транзакции, включающий в себя использование двух криптограмм приложений для удостоверения реквизитов платежа, сгенерированных мобильным устройством 104 без использования защитного элемента.[0131] FIG. 14 shows a method 1400 for generating payment details in a payment transaction, including the use of two application cryptograms for verifying payment details generated by the mobile device 104 without using a security element.

[0132] На этапе 1402, по меньшей мере, главный ключ карты (например, первый главный ключ 612 карты) может сохраняться в памяти (например, профиле 602 счета), связанной с транзакционным счетом. На этапе 1404, первый сеансовый ключ (например, первый сеансовый ключ 606) может генерироваться устройством обработки (например, устройством 504 обработки) на основании, по меньшей мере, сохраненного главного ключа 612 карты. На этапе 1406, второй сеансовый ключ (например, второй сеансовый ключ 608) может генерироваться устройством 504 обработки.[0132] In step 1402, at least the card master key (eg, the first card master key 612) may be stored in a memory (eg, account profile 602) associated with the transaction account. At step 1404, a first session key (eg, first session key 606) may be generated by a processing device (eg, processing device 504) based on at least the stored master key 612 of the card. At step 1406, a second session key (eg, a second session key 608) may be generated by the processing device 504.

[0133] На этапе 1408, первая криптограмма приложения может генерироваться устройством 504 обработки на основании, по меньшей мере, первого сеансового ключа 606. На этапе 1410, вторая криптограмма приложения может генерироваться устройством 504 обработки на основании, по меньшей мере, второго сеансового ключа 608. На этапе 1412, по меньшей мере, первая криптограмма приложения и вторая криптограмма приложения могут передаваться передающим устройством (например, блоком 506 передачи) для использования в платежной транзакции.[0133] At step 1408, the first cryptogram of the application may be generated by the processing device 504 based on at least the first session key 606. At step 1410, the second cryptogram of the application may be generated by the processing device 504 based on the at least second session key 608 At step 1412, at least the first cryptogram of the application and the second cryptogram of the application can be transmitted by a transmitting device (eg, transfer unit 506) for use in a payment transaction.

[0134] В одном варианте осуществления, способ 1400 может дополнительно включать в себя сохранение, в памяти 602, порядкового номера транзакционного счета, связанного с транзакционным счетом, причем первый сеансовый ключ дополнительно базируется на сохраненном порядковом номере транзакционного счета. В некоторых вариантах осуществления, способ 1400 также может включать в себя сохранение, в памяти 602, второго главного ключа карты (например, второго главного ключа 614 карты), связанного с транзакционным счетом, причем второй сеансовый ключ 608 базируется на, по меньшей мере, сохраненном втором главном ключе 614 карты.[0134] In one embodiment, method 1400 may further include storing, in memory 602, the sequence number of the transaction account associated with the transaction account, the first session key being further based on the stored sequence number of the transaction account. In some embodiments, method 1400 may also include storing, in memory 602, a second card master key (e.g., a second card master key 614) associated with the transaction account, the second session key 608 based on at least the stored The second main key is 614 cards.

[0135] В одном варианте осуществления, способ 1400 может дополнительно включать в себя: прием, принимающим устройством (например, блоком 502 приема), первой соответствующей криптограммы приложения и второй соответствующей криптограммы приложения; удостоверение, устройством обработки, (i) принятой первой соответствующей криптограммы приложения на основании сгенерированной первой криптограммы приложения, и (ii) принятой второй соответствующей криптограммы приложения на основании сгенерированной вторая криптограмма приложения; и передачу, передающим устройством 506, результата удостоверения для использования в платежной транзакции. В дополнительном варианте осуществления, первая соответствующая криптограмма приложения и вторая соответствующая криптограмма приложения могут приниматься от устройства торговой точки (например, торговой точки 110). В другом дополнительном варианте осуществления, результат удостоверения может передаваться финансовому учреждению (например, эмитенту 106), связанному с транзакционным счетом.[0135] In one embodiment, the method 1400 may further include: receiving, by a receiving device (eg, receiving unit 502), a first corresponding application cryptogram and a second corresponding application cryptogram; certifying, by the processing device, (i) the received first corresponding cryptogram of the application based on the generated first cryptogram of the application, and (ii) the received second corresponding cryptogram of the application based on the generated second cryptogram of the application; and transmitting, by the transmitting device 506, an identity result for use in a payment transaction. In a further embodiment, the first respective cryptogram of the application and the second corresponding cryptogram of the application may be received from a point of sale device (e.g., point of sale 110). In another additional embodiment, the result of the certificate may be transferred to a financial institution (eg, issuer 106) associated with a transaction account.

Иллюстративный способ обработки сообщения данныхAn illustrative way to process a data message

[0136] Фиг. 15 демонстрирует способ 1500 обработки сообщения данных, например, сообщения удаленного извещения, принятого посредством службы удаленного извещения, включающий в себя его получение и удостоверение мобильным устройством 104 без использования защитного элемента.[0136] FIG. 15 shows a method 1500 for processing a data message, for example, a remote notification message received by a remote notification service, including receiving and attesting it by a mobile device 104 without using a security element.

[0137] На этапе 1502, по меньшей мере, ключ шифрования может сохраняться в памяти (например, в памяти 212). В некоторых вариантах осуществления, память 212 может быть памятью незащищенных элементов в мобильном устройстве связи (например, мобильном устройстве 104). На этапе 1504, сообщение данных может приниматься принимающим устройством (например, блоком 202 приема), причем сообщение данных может включать в себя, по меньшей мере, зашифрованное сообщение и код аутентификации сообщения, где код аутентификации сообщения генерируется с использованием, по меньшей мере, части зашифрованного сообщения. В некоторых вариантах осуществления, сообщение данных может быть сообщением службы удаленного извещения, принятым посредством службы удаленного извещения.[0137] In step 1502, at least the encryption key may be stored in memory (eg, in memory 212). In some embodiments, the memory 212 may be a memory of insecure items in a mobile communication device (eg, mobile device 104). At 1504, a data message may be received by a receiving device (eg, a receiving unit 202), the data message may include at least an encrypted message and a message authentication code, where a message authentication code is generated using at least a portion encrypted message. In some embodiments, the data message may be a remote notification service message received by the remote notification service.

[0138] На этапе 1506, опорный код аутентификации может генерироваться устройством обработки (например, блоком 204 обработки) с использованием, по меньшей мере, части зашифрованного сообщения, включенной в принятое сообщение данных. В одном варианте осуществления, память 212 может дополнительно включать в себя одно или более правил генерации кода аутентификации, и опорный код аутентификации может генерироваться на основании применения сохраненных одного или более правил генерации кода аутентификации к части зашифрованного сообщения, включенной в принятое сообщение данных. На этапе 1508, принятое сообщение данных может удостоверяться устройством 204 обработки на основании чека кода аутентификации сообщения, включенного в принятое сообщение данных со сгенерированным опорным кодом аутентификации. В некоторых вариантах осуществления, память может дополнительно включать в себя опорный счетчик, принятое сообщение данных может дополнительно включать в себя счетчик сообщений, и принятое сообщение данных может дополнительно удостоверяться устройством 204 обработки на основании чека счетчика сообщений, включенного в принятое сообщение данных относительно сохраненного опорного счетчика.[0138] In step 1506, an authentication reference code may be generated by a processing device (eg, processing unit 204) using at least a portion of the encrypted message included in the received data message. In one embodiment, memory 212 may further include one or more authentication code generation rules, and an authentication reference code may be generated based on applying the stored one or more authentication code generation rules to a portion of the encrypted message included in the received data message. At step 1508, the received data message can be verified by the processing device 204 based on a check of the message authentication code included in the received data message with the generated authentication reference code. In some embodiments, the memory may further include a reference counter, the received data message may further include a message counter, and the received data message may further be verified by the processing device 204 based on a message counter check included in the received data message with respect to the stored reference counter .

[0139] На этапе 1510, зашифрованное сообщение, включенное в сообщение данных, может дешифроваться устройством 204 обработки с использованием сохраненного ключа шифрования для получения дешифрованного сообщения. В одном варианте осуществления, дешифрованное сообщение может включать в себя, по меньшей мере, один из: оцифрованного профиля карты (например, реквизитов 304 платежа) и ключа однократного использования (например, ключа 306 однократного использования) для использования в платежной транзакции. В некоторых вариантах осуществления, способ 1500 также может включать в себя проверку, устройством 204 обработки, формата данных дешифрованного сообщения на основании одного или более правил форматирования данных.[0139] At step 1510, the encrypted message included in the data message can be decrypted by the processing device 204 using the stored encryption key to receive the decrypted message. In one embodiment, the decrypted message may include at least one of: a digitized card profile (e.g., payment details 304) and a reusable key (e.g., reusable key 306) for use in a payment transaction. In some embodiments, the method 1500 may also include verifying, by the processing device 204, the data format of the decrypted message based on one or more data formatting rules.

[0140] В одном варианте осуществления, способ 1500 может дополнительно включать в себя передачу, передающим устройством (например, блоком 206 передачи), извещения получения в ответ на принятое сообщение данных. В дополнительном варианте осуществления, способ 1500 может дополнительно включать в себя: осуществление, устройством 204 обработки, одного или более действий на основании дешифрованного сообщения; генерацию, устройством 204 обработки, сообщения возврата в результате или на основании осуществляемых одного или более действий; шифрование, устройством 204 обработки, сгенерированного сообщения возврата с использованием сохраненного ключа шифрования для получения зашифрованного сообщения возврата; и генерацию, устройством 204 обработки, кода аутентификации возврата с использованием, по меньшей мере, части зашифрованного сообщения возврата, причем переданное извещение получения включает в себя зашифрованное сообщение возврата и код аутентификации возврата. В дополнительном варианте осуществления, память 212 может дополнительно включать в себя счетчик возврата, и переданное извещение получения может дополнительно включать в себя счетчик возврата.[0140] In one embodiment, method 1500 may further include transmitting, by a transmission device (eg, transmission unit 206), receipt notifications in response to a received data message. In a further embodiment, method 1500 may further include: performing, by the processing device 204, one or more actions based on the decrypted message; generating, by the processing device 204, a return message as a result of or based on one or more actions being performed; encryption, by the processing device 204, of the generated return message using the stored encryption key to receive the encrypted return message; and generating, by the processing device 204, a return authentication code using at least a portion of the encrypted return message, the transmitted receipt notification including an encrypted return message and a return authentication code. In a further embodiment, the memory 212 may further include a return counter, and the transmitted receipt notification may further include a return counter.

[0141] В некоторых вариантах осуществления, способ 1500 также может включать в себя заполнение, устройством 204 обработки, зашифрованного сообщения, включенного в принятое сообщение данных, с использованием ключа заполнения, причем часть зашифрованного сообщения, используемая для генерации опорного кода аутентификации, является заполненным зашифрованным сообщением. В дополнительном варианте осуществления, ключ заполнения может быть ключом шифрования. В другом дополнительном варианте осуществления, память 212 может дополнительно включать в себя алгоритм заполнения кода аутентификации, и заполнение зашифрованного сообщения с использованием ключа заполнения может включать в себя заполнение зашифрованного сообщения на основании применения ключа заполнения к алгоритму заполнения кода аутентификации.[0141] In some embodiments, the method 1500 may also include filling, with processing device 204, an encrypted message included in the received data message using a fill key, the portion of the encrypted message used to generate the authentication authentication code is encrypted filled message. In a further embodiment, the pad key may be an encryption key. In another further embodiment, memory 212 may further include an authentication code padding algorithm, and filling an encrypted message using a padding key may include encrypting a message padding based on applying a padding key to the authentication code padding algorithm.

Иллюстративный способ построения усовершенствованного ключа храненияIllustrative way to build advanced storage key

[0142] Фиг. 16 демонстрирует способ 600 построения усовершенствованного ключа хранения для безопасного шифрования и хранения локальных данных в мобильном устройстве 104 без использования защитного элемента.[0142] FIG. 16 shows a method 600 for constructing an advanced storage key for securely encrypting and storing local data in a mobile device 104 without using a security element.

[0143] На этапе 1602, по меньшей мере, информация об устройстве (например, информация 402 об устройстве), связанная с мобильным устройством связи (например, мобильным устройством 104), программный код (например, программный код 406), связанный с первой прикладной программой (например, приложением 404 мобильных платежей), и программный код (например, программный код 412), связанный со второй прикладной программой (например, криптографическим приложением 410), может храниться в памяти (например, памяти 212) мобильного устройства 104 связи, причем программный код 406, связанный с первой прикладной программой 404, включает в себя, по меньшей мере, идентификатор экземпляра (например, идентификатор 408 экземпляра), и программный код 412, связанный со второй прикладной программой 410, включает в себя, по меньшей мере, первый ключ (например, ключ 414 шифрования).[0143] In step 1602, at least device information (eg, device information 402) associated with a mobile communication device (eg, mobile device 104), program code (eg, program code 406) associated with the first application a program (e.g., mobile payment application 404), and a program code (e.g., program code 412) associated with a second application (e.g., cryptographic application 410) may be stored in a memory (e.g., memory 212) of the mobile communication device 104, wherein program code 406 associated with the first application program 404 includes at least an instance identifier (e.g., instance identifier 408), and program code 412 associated with the second application program 410 includes at least a first key ( e.g. encryption key 414).

[0144] В некоторых вариантах осуществления, информация 402 об устройстве может включать в себя один или более уникальных идентификаторов, связанных с мобильным устройством 104 связи. В одном варианте осуществления, идентификатор 408 экземпляра может быть уникален для экземпляра первой прикладной программы 404. В некоторых вариантах осуществления, вторая прикладная программа 410 может быть выполнена с возможностью осуществления криптографии по принципу белого ящика с использованием первого ключа. В одном варианте осуществления, первый ключ может быть динамическим ключом. В некоторых вариантах осуществления, программный код 412, связанный со второй прикладной программой 410, может быть включен в программный код 406, связанный с первой прикладной программой 404. В дополнительных вариантах осуществления, вторая прикладная программа 410 может быть исполнимой функцией первой прикладной программы 404.[0144] In some embodiments, the device information 402 may include one or more unique identifiers associated with the mobile communication device 104. In one embodiment, the instance identifier 408 may be unique to the instance of the first application 404. In some embodiments, the second application 410 may be configured to perform white box cryptography using the first key. In one embodiment, the first key may be a dynamic key. In some embodiments, the program code 412 associated with the second application program 410 may be included in the program code 406 associated with the first application program 404. In further embodiments, the second application program 410 may be an executable function of the first application program 404.

[0145] На этапе 1604, характерный признак устройства (например, характерный признак 1204 мобильного устройства), связанный с мобильным устройством 104 связи, может генерироваться устройством обработки (например, блоком 204 обработки) на основании сохраненной информации 402 об устройстве посредством выполнения программного кода 406, связанного с первой прикладной программой 404. На этапе 1606, случайное значение (например, случайное значение 1206) может генерироваться устройством 204 обработки посредством выполнения программного кода 406, связанного с первой прикладной программой 404. В некоторых вариантах осуществления, случайное значение 1206 может представлять собой случайное или псевдослучайное число.[0145] In step 1604, a device feature (eg, feature 1204 of a mobile device) associated with the mobile communication device 104 may be generated by a processing device (eg, processing unit 204) based on stored device information 402 by executing program code 406 associated with the first application program 404. At step 1606, a random value (eg, random value 1206) can be generated by the processing device 204 by executing program code 406 associated with the first application program 404. In some embodiments, a random value 1206 may be a random or pseudorandom number.

[0146] На этапе 1608, значение диверсификатора (например, значение 1208 диверсификатора) могут строиться устройством 204 обработки на основании, по меньшей мере, сгенерированного характерного признака устройства 1204, сгенерированного случайного значения 1206 и идентификатора 408 экземпляра, включенного в программный код 406, связанный с первой прикладной программой 404. На этапе 1610, построенное значение 1208 диверсификатора может дешифроваться устройством 204 обработки с использованием первого ключа, хранящегося в программном коде 412, связанном со второй прикладной программой 410, посредством выполнения программного кода 412, связанного со второй прикладной программой 410, для получения ключа хранения (например, усовершенствованного ключа 1210 хранения).[0146] At step 1608, the value of the diversifier (for example, the value 1208 of the diversifier) can be constructed by the processing device 204 based on at least the generated characteristic of the device 1204, the generated random value 1206 and the identifier 408 of the instance included in the program code 406 associated with the first application program 404. At step 1610, the constructed diversifier value 1208 can be decrypted by the processing device 204 using the first key stored in the program code 412 associated with the second an application program 410, by executing program code 412 associated with the second application program 410 to obtain a storage key (eg, enhanced storage key 1210).

[0147] В некоторых вариантах осуществления, способ 1600 может дополнительно включать в себя: сохранение, в локальной базе данных (например, локальной базе данных 1212) мобильного устройства 104 связи, защищенных данных; и шифрование, устройством 204 обработки, защищенных данных, хранящихся в локальной базе данных 1212, с использованием ключа 1210 хранения. В одном варианте осуществления, способ 1600 также может включать в себя: сохранение, в памяти 212, программных данных, связанных с первой прикладной программой 404; и сохранение, в программных данных, связанных с первой прикладной программой 404, сгенерированного случайного значения 1206.[0147] In some embodiments, the method 1600 may further include: storing, in a local database (eg, local database 1212) of the mobile communication device 104 secure data; and encryption, by the processing device 204, of the protected data stored in the local database 1212 using the storage key 1210. In one embodiment, the method 1600 may also include: storing, in memory 212, program data associated with the first application 404; and storing, in program data associated with the first application 404, a generated random value 1206.

[0148] В одном варианте осуществления, способ 1600 также может включать в себя: передачу, передающим устройством (например, блоком 206 передачи) по меньшей мере, случайного значения 1206; прием, принимающим устройством (например, блоком 202 приема), одного или более зашифрованных параметров, причем каждый из одного или более зашифрованных параметров зашифрован с использованием ключа 1210 хранения; и сохранение, в локальной базе данных 1212 мобильного устройства 104 связи, принятых одного или более зашифрованных параметров. В дополнительном варианте осуществления, ключ 1210 хранения может передаваться третьей стороне (например, серверу 102 управления транзакциями), и один или более зашифрованных параметров может приниматься от третьей стороны 102. В некоторых дополнительных вариантах осуществления, идентификатор 408 экземпляра также может передаваться передающим устройством 206.[0148] In one embodiment, the method 1600 may also include: transmitting, by a transmission device (eg, a transmission unit 206), at least a random value 1206; receiving, by a receiving device (eg, receiving unit 202), one or more encrypted parameters, each of one or more encrypted parameters being encrypted using a storage key 1210; and storing, in a local database 1212 of the mobile communication device 104, received one or more encrypted parameters. In a further embodiment, the storage key 1210 may be transmitted to a third party (eg, transaction management server 102), and one or more encrypted parameters may be received from the third party 102. In some further embodiments, instance identifier 408 may also be transmitted by transmitting device 206.

Архитектура компьютерной системыComputer system architecture

[0149] Фиг. 17 демонстрирует компьютерную систему 1700, в которой варианты осуществления настоящего изобретения, или их части, можно реализовать в виде машиночитаемого кода. Например, сервер 102 управления транзакциями и мобильное устройство 104, показанные на фиг. 1, можно реализовать в компьютерной системе 1700 с использованием оборудования, программного обеспечения, программно-аппаратного обеспечения, нетранзиторных компьютерно-считываемых носителей, на которых хранятся инструкции, или их комбинации, и можно реализовать в одной или более компьютерных системах или других системах обработки. Оборудование, программное обеспечение, или любая их комбинация могут воплощать модули и компоненты, используемые для реализации способов, представленных на фиг. 7, 8, 9A, 9B, 10A, 10B, 11 и 13-16.[0149] FIG. 17 shows a computer system 1700 in which embodiments of the present invention, or parts thereof, may be implemented as computer-readable code. For example, the transaction management server 102 and the mobile device 104 shown in FIG. 1, can be implemented in a computer system 1700 using hardware, software, firmware, non-transient computer-readable media that store instructions, or combinations thereof, and can be implemented in one or more computer systems or other processing systems. The hardware, software, or any combination thereof may embody modules and components used to implement the methods of FIG. 7, 8, 9A, 9B, 10A, 10B, 11, and 13-16.

[0150] Если используется программируемая логика, такая логика может выполняться на коммерчески доступной платформе обработки или устройстве специального назначения. Специалисту в данной области техники очевидно, что варианты осуществления раскрытого изобретения можно осуществлять на практике с различными конфигурациями компьютерной системы, включающими в себя многоядерные многопроцессорные системы, миникомпьютеры, универсальные компьютеры, компьютеры, связанные или кластеризованные с распределенными функциями, а также проникающие или миниатюрные компьютеры, которые могут быть встроены в практически любое устройство. Например, для реализации вышеописанных вариантов осуществления могут использоваться, по меньшей мере, одно устройство процессора и память.[0150] If programmable logic is used, such logic may be executed on a commercially available processing platform or special purpose device. One skilled in the art will appreciate that embodiments of the disclosed invention can be practiced with various computer system configurations, including multi-core multiprocessor systems, minicomputers, universal computers, computers connected or clustered with distributed functions, as well as penetrating or miniature computers, which can be built into almost any device. For example, at least one processor device and memory may be used to implement the above embodiments.

[0151] Рассмотренный здесь блок или устройство процессора может представлять собой единый процессор, несколько процессоров, или их комбинации. Устройства процессора могут иметь одно или более ʺядерʺ процессора. Рассмотренные здесь термины ʺноситель компьютерной программыʺ, ʺнетранзиторный компьютерно-считываемый носительʺ и ʺкомпьютерный носительʺ используются для обозначения, в целом, вещественных носителей, например, съемного запоминающего устройства 1718, съемного запоминающего устройства 1722 и жесткого диска, установленного в приводе 1712 жесткого диска.[0151] The processor unit or device discussed herein may be a single processor, multiple processors, or a combination thereof. Processor devices may have one or more processor cores. The terms “computer program medium”, “non-transient computer-readable medium”, and “computer medium” discussed herein are used to mean, in general, physical media, for example, removable storage device 1718, removable storage device 1722, and a hard disk installed in a hard disk drive 1712.

[0152] Различные варианты осуществления настоящего изобретения описаны в отношении этой иллюстративной компьютерной системы 1700. на основании этого описания, специалист в данной области техники сможет понять, как реализовать настоящее изобретение с использованием других компьютерных систем и/или компьютерных архитектур. Хотя операции можно описать в виде последовательного процесса, некоторые из операций фактически могут осуществляться параллельно, одновременно и/или в распределенной среде, причем программный код может храниться локально или удаленно с возможностью доступа одно- или многопроцессорными машинами. Кроме того, в некоторых вариантах осуществления порядок операций можно изменять, не выходя за рамки сущности раскрытого изобретения.[0152] Various embodiments of the present invention are described with respect to this illustrative computer system 1700. Based on this description, one skilled in the art will be able to understand how to implement the present invention using other computer systems and / or computer architectures. Although operations can be described as a sequential process, some of the operations can actually be carried out in parallel, simultaneously and / or in a distributed environment, moreover, the program code can be stored locally or remotely with access by single or multiprocessor machines. In addition, in some embodiments, the order of operations can be changed without departing from the spirit of the disclosed invention.

[0153] Устройство 1704 процессора может быть устройством процессора специального назначения или общего назначения. Устройство 1704 процессора может быть соединено с инфраструктурой 1706 связи, например, шиной, очередью сообщений, сетью, многоядерной схемой передачи сообщений и т.д. Сеть может быть любой сетью, пригодной для осуществления раскрытых здесь функций и может включать в себя локальную сеть (LAN), глобальную сеть (WAN), беспроводную сеть (например, WiFi), сеть мобильной связи, спутниковую сеть, интернет, оптоволокно, коаксиальный кабель, инфракрасную, радиочастотную (RF), или любую их комбинацию. Другие подходящие типы и конфигурации сети будут очевидны специалистам в данной области техники. Компьютерная система 1700 также может включать в себя основную память 1708 (например, оперативную память, постоянную память и т.д.), и также может включать в себя вторичную память 1710. Вторичная память 1710 может включать в себя привод 1712 жесткого диска и съемный накопитель 1714, например, привод флоппи-диска, привод магнитной ленты, привод оптического диска, флэш-память и т.д.[0153] The processor device 1704 may be a special purpose or general purpose processor device. The processor device 1704 may be connected to a communications infrastructure 1706, for example, a bus, a message queue, a network, a multi-core messaging circuit, etc. A network may be any network suitable for the functions disclosed herein and may include a local area network (LAN), a wide area network (WAN), a wireless network (eg, WiFi), a mobile communications network, a satellite network, the Internet, optical fiber, and a coaxial cable , infrared, radio frequency (RF), or any combination thereof. Other suitable network types and configurations will be apparent to those skilled in the art. Computer system 1700 may also include main memory 1708 (eg, random access memory, read only memory, etc.), and may also include secondary memory 1710. Secondary memory 1710 may include a hard disk drive 1712 and a removable drive 1714, for example, a floppy disk drive, a magnetic tape drive, an optical disk drive, flash memory, etc.

[0154] Съемный накопитель 1714 может осуществлять чтение и/или запись съемного запоминающего устройства 1718 общеизвестным способом. Съемное запоминающее устройство 1718 может включать в себя съемные носители данных, на которых съемный накопитель 1714 может осуществлять чтение и запись. Например, если съемным накопителем 1714 является привод флоппи-диска или порт универсальной последовательной шины, съемное запоминающее устройство 1718 может быть, соответственно, приводом флоппи-диска или портативного флэш-носителя. В одном варианте осуществления, съемное запоминающее устройство 1718 может быть нетранзиторным компьютерно-считываемым носителем записи.[0154] Removable storage 1714 may read and / or write removable storage 1718 in a well-known manner. Removable storage device 1718 may include removable storage media on which removable storage 1714 can read and write. For example, if the removable drive 1714 is a floppy disk drive or a universal serial bus port, the removable storage device 1718 may be a floppy disk drive or portable flash drive, respectively. In one embodiment, the removable storage device 1718 may be a non-transient computer-readable recording medium.

[0155] В некоторых вариантах осуществления, вторичная память 1710 может включать в себя альтернативное средство загрузки компьютерных программ или других инструкции в компьютерную систему 1700, например, съемное запоминающее устройство 1722 и интерфейс 1720. Примеры такого средства могут включать в себя программный картридж и интерфейс картриджа (например, применяемые системах видеоигр), съемную микросхему памяти (например, EEPROM, PROM и т.д.) и соответствующий разъем, и другие съемные блоки 1722 хранения и интерфейсы 1720, что будет очевидно специалистам в данной области техники.[0155] In some embodiments, the secondary memory 1710 may include alternative means for downloading computer programs or other instructions to a computer system 1700, such as a removable storage device 1722 and an interface 1720. Examples of such means may include a software cartridge and a cartridge interface (for example, used video game systems), a removable memory chip (for example, EEPROM, PROM, etc.) and the corresponding connector, and other removable storage units 1722 and interfaces 1720, which will be obvious to experts in this technical field.

[0156] Данные, хранящиеся в компьютерной системе 1700 (например, в основной памяти 1708 и/или вторичной памяти 1710), могут храниться на компьютерно-считываемых носителях любого пригодного типа, например, оптическом запоминающем устройстве (например, компакт-диске, цифровом универсальном диске, диске Blu-ray и т.д.) или магнитном запоминающем устройстве (например, приводе жесткого диска). Данные могут быть сконфигурированы в конфигурации базы данных любого пригодного типа, например, реляционной базы данных, базы данных на языке структурированных запросов (SQL), распределенной базы данных, объектной базы данных и т.д. Пригодные конфигурации и типы хранилища будет очевидно специалистам в данной области техники.[0156] Data stored in a computer system 1700 (eg, main memory 1708 and / or secondary memory 1710) can be stored on computer-readable media of any suitable type, for example, optical storage device (eg, compact disc, digital universal disc, Blu-ray disc, etc.) or a magnetic storage device (such as a hard disk drive). The data can be configured in the configuration of a database of any suitable type, for example, a relational database, a structured query language (SQL) database, a distributed database, an object database, etc. Suitable configurations and types of storage will be apparent to those skilled in the art.

[0157] Компьютерная система 1700 также может включать в себя интерфейс 1724 связи. Интерфейс 1724 связи может быть выполнен с возможностью обеспечения переноса программного обеспечения и данных между компьютерной системой 1700 и внешними устройствами. Иллюстративные интерфейсы 1724 связи могут включать в себя модем, сетевой интерфейс (например, карту Ethernet), порт связи, разъем и карту PCMCIA и т.д. Программное обеспечение и данные, переносимые посредством интерфейса 1724 связи, могут представлять собой сигналы, которые могут быть электронными, электромагнитными, оптическими или другими сигналами, что будет очевидно специалистам в данной области техники. Сигналы могут распространяются по каналу 1726 связи, которые могут быть выполнены с возможностью переноса сигналов и могут быть реализованы с использованием провода, кабеля, волоконной оптики, телефонной линии, линии сотовой телефонной связи, радиочастотной линии связи и т.д.[0157] The computer system 1700 may also include a communication interface 1724. The communication interface 1724 may be configured to transfer software and data between the computer system 1700 and external devices. Illustrative communication interfaces 1724 may include a modem, a network interface (eg, an Ethernet card), a communication port, a connector, and a PCMCIA card, etc. The software and data carried through the communication interface 1724 may be signals, which may be electronic, electromagnetic, optical, or other signals, which will be apparent to those skilled in the art. The signals can be distributed via communication channel 1726, which can be configured to carry signals and can be implemented using wire, cable, fiber optics, telephone line, cellular telephone line, radio frequency communication line, etc.

[0158] Компьютерная система 1700 может дополнительно включать в себя интерфейс 1702 дисплея. Интерфейс 1702 дисплея может быть выполнен с возможностью обеспечения переноса данных между компьютерной системой 1700 и внешним дисплеем 1730. Иллюстративные интерфейсы 1702 дисплея могут включать в себя мультимедийный интерфейс высокой четкости (HDMI), цифровой визуальный интерфейс (DVI), матрицу видео графики (VGA), и т.д. Дисплей 1730 может представлять собой дисплей любого пригодного типа для отображения данных, передаваемых через интерфейс 1702 дисплея компьютерной системы 1700, включающий в себя дисплей на электронно-лучевой трубке (CRT), жидкокристаллический дисплей (LCD), светодиодный (LED) дисплей, сенсорный дисплей с емкостными датчиками, дисплей на тонкопленочных транзисторах (TFT) и т.д.[0158] The computer system 1700 may further include a display interface 1702. The display interface 1702 may be configured to provide data transfer between the computer system 1700 and the external display 1730. Illustrative display interfaces 1702 may include a high-definition multimedia interface (HDMI), a digital visual interface (DVI), a video graphics matrix (VGA), etc. The display 1730 may be a display of any suitable type for displaying data transmitted through a display interface 1702 of a computer system 1700, including a cathode ray tube (CRT) display, a liquid crystal display (LCD), a LED display, a touch screen with capacitive sensors, thin-film transistors (TFT), etc.

[0159] Носитель компьютерной программы и компьютерный носитель может относиться к блокам памяти, например, основной памяти 1708 и вторичная память 1710, которые могут представлять собой полупроводниковую память (например, DRAM и т.д.). Эти компьютерные программные продукты могут быть средством для предоставления программного обеспечения компьютерной системе 1700. Компьютерные программы (например, логика управления компьютером) может храниться в основной памяти 1708 и/или вторичной памяти 1710. Компьютерные программы также могут приниматься через интерфейс 1724 связи. Такие компьютерные программы, при выполнении, могут позволять компьютерной системе 1700 реализовать рассмотренные здесь способы. В частности, компьютерные программы, при выполнении, могут позволять устройству 1704 процессора реализовать способы, проиллюстрированные на рассмотренных здесь фиг. 7, 8, 9A, 9B, 10A, 10B, 11 и 13-16. Соответственно, такие компьютерные программы могут представлять контроллеры компьютерной системы 1700. Когда настоящее изобретение реализовано с использованием программного обеспечения, программное обеспечение может храниться в компьютерном программном продукте и загружаться в компьютерной системе 1700 с использованием съемного накопителя 1714, интерфейса 1720 и привода 1712 жесткого диска или интерфейса 1724 связи.[0159] A computer program medium and a computer medium may refer to memory blocks, for example, main memory 1708 and secondary memory 1710, which may be a semiconductor memory (eg, DRAM, etc.). These computer program products may be a means for providing software to a computer system 1700. Computer programs (eg, computer control logic) may be stored in main memory 1708 and / or secondary memory 1710. Computer programs may also be received via communication interface 1724. Such computer programs, when executed, may allow the computer system 1700 to implement the methods discussed herein. In particular, computer programs, when executed, may enable processor device 1704 to implement the methods illustrated in FIGS. 7, 8, 9A, 9B, 10A, 10B, 11, and 13-16. Accordingly, such computer programs can be represented by controllers of a computer system 1700. When the present invention is implemented using software, the software can be stored in a computer program product and downloaded to a computer system 1700 using a removable drive 1714, an interface 1720, and a hard disk drive or interface 1712 1724 communications.

[0160] Подходы, отвечающие настоящему изобретению обеспечивают, помимо других признаков, системы и способы для обработки платежных транзакций с использованием мобильного устройства без использования защитного элемента, включая передачу и удостоверение сообщений службы удаленного извещения и безопасное хранение данных с использованием усовершенствованного ключа хранения. Хотя выше были описаны различные иллюстративные варианты осуществления раскрытых системы и способа следует понимать, что они были представлены только в целях примера, но не ограничения. Они не являются исчерпывающими и не ограничивают изобретение конкретной раскрытой формой. Модификации и вариации возможны в свете вышеописанных принципов или могут быть получены из практического применения изобретения, не выходя за рамки его объема.[0160] The approaches of the present invention provide, among other features, systems and methods for processing payment transactions using a mobile device without the use of a security element, including the transmission and authentication of remote notification service messages and the secure storage of data using an advanced storage key. Although various illustrative embodiments of the disclosed systems and method have been described above, it should be understood that they were presented for illustrative purposes only and not limitation. They are not exhaustive and do not limit the invention to the particular form disclosed. Modifications and variations are possible in light of the above principles or can be obtained from the practical application of the invention without going beyond its scope.

Claims (24)

1. Способ построения усовершенствованного ключа хранения, содержащий этапы, на которых: сохраняют в памяти мобильного устройства связи по меньшей мере информацию об устройстве, связанную с мобильным устройством связи, программный код, связанный с первой прикладной программой, причем программный код включает в себя по меньшей мере идентификатор экземпляра, и программный код, связанный со второй прикладной программой, причем программный код включает в себя первый ключ; генерируют устройством обработки характерный признак устройства, связанный с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой; генерируют устройством обработки случайное значение посредством выполнения программного кода, связанного с первой прикладной программой; строят устройством обработки значение диверсификатора на основании по меньшей мере сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой; и дешифруют устройством обработки построенное значение диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.1. A method of constructing an improved storage key, comprising the steps of: storing at least device information associated with a mobile communication device in a memory of a mobile communication device, a program code associated with a first application program, the program code including at least least an instance identifier, and program code associated with a second application program, the program code including a first key; generating by the processing device a characteristic feature of the device associated with the mobile communication device based on the stored information about the device by executing program code associated with the first application program; generating a random value by the processing device by executing program code associated with the first application program; constructing by the processing device the value of the diversifier based on at least the generated characteristic feature of the device, the generated random value and the identifier of the instance included in the program code associated with the first application program; and decrypting the constructed value of the diversifier using the first key stored in the program code associated with the second application program by processing the program code associated with the second application program to obtain the storage key. 2. Способ по п. 1, дополнительно содержащий этапы, на которых: сохраняют в локальной базе данных мобильного устройства связи защищенные данные; и шифруют устройством обработки защищенные данные, хранящиеся в локальной базе данных, с использованием ключа хранения.2. The method according to claim 1, further comprising stages in which: secure data is stored in a local database of the mobile communication device; and encrypt the secure data stored in the local database using the storage key with the processing device. 3. Способ по п. 1, в котором информация об устройстве включает в себя один или более уникальных идентификаторов, связанных с мобильным устройством связи.3. The method of claim 1, wherein the device information includes one or more unique identifiers associated with a mobile communication device. 4. Способ по п. 1, в котором случайное значение является случайным или псевдослучайным числом.4. The method of claim 1, wherein the random value is a random or pseudo-random number. 5. Способ по п. 1, в котором идентификатор экземпляра уникален для экземпляра первой прикладной программы.5. The method of claim 1, wherein the instance identifier is unique to the instance of the first application. 6. Способ по п. 1, в котором вторая прикладная программа выполнена с возможностью осуществления криптографии по принципу белого ящика с использованием первого ключа.6. The method according to claim 1, in which the second application program is configured to perform cryptography according to the principle of a white box using the first key. 7. Способ по п. 1, в котором первый ключ является динамическим ключом.7. The method of claim 1, wherein the first key is a dynamic key. 8. Способ по п. 1, дополнительно содержащий этапы, на которых: сохраняют в памяти программные данные, связанные с первой прикладной программой; и сохраняют в программных данных связанных с первой прикладной программой, сгенерированное случайное значение.8. The method according to p. 1, further comprising stages in which: save in memory program data associated with the first application program; and storing the generated random value in program data associated with the first application program. 9. Способ по п. 1, в котором программный код, связанный со второй прикладной программой, включен в программный код, связанный с первой прикладной программой.9. The method of claim 1, wherein the program code associated with the second application program is included in the program code associated with the first application program. 10. Способ по п. 9, в котором вторая прикладная программа является исполнимой функцией первой прикладной программы.10. The method of claim 9, wherein the second application program is an executable function of the first application program. 11. Способ по п. 1, дополнительно содержащий этапы, на которых: передают передающим устройством по меньшей мере сгенерированное случайное значение; принимают принимающим устройством один или более зашифрованных параметров, причем каждый из одного или более зашифрованных параметров зашифрован с использованием ключа хранения; и сохраняют в локальной базе данных мобильного устройства связи принятые один или более зашифрованных параметров.11. The method according to p. 1, further comprising stages in which: transmit at least a random value generated by the transmitting device; receiving one or more encrypted parameters by the receiving device, each of one or more encrypted parameters being encrypted using a storage key; and stored in the local database of the mobile communication device, the received one or more encrypted parameters. 12. Способ по п. 11, в котором передача по меньшей мере сгенерированного случайного значения дополнительно включает в себя передачу идентификатора экземпляра.12. The method of claim 11, wherein transmitting at least the generated random value further includes transmitting the instance identifier. 13. Система для построения усовершенствованного ключа хранения, содержащая: память мобильного устройства связи, выполненную с возможностью хранения по меньшей мере информации об устройстве, связанной с мобильным устройством связи, программного кода, связанного с первой прикладной программой, причем программный код включает в себя по меньшей мере идентификатор экземпляра, и программного кода, связанного со второй прикладной программой, причем программный код включает в себя первый ключ; и устройство обработки, выполненное с возможностью генерировать характерный признак устройства, связанный с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой, генерировать случайное значение посредством выполнения программного кода, связанного с первой прикладной программой, строить значение диверсификатора на основании по меньшей мере сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой, и дешифровать построенное значение диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.13. A system for constructing an improved storage key, comprising: a memory of a mobile communication device configured to store at least device information associated with a mobile communication device, a program code associated with a first application program, the program code including at least least an instance identifier, and program code associated with a second application program, the program code including a first key; and a processing device configured to generate a device characteristic associated with the mobile communication device, based on the stored device information by executing program code associated with the first application program, generate a random value by executing program code associated with the first application program, build the value of the diversifier based on at least the generated characteristic feature of the device generated by random the value and identifier of the instance included in the program code associated with the first application program and decrypt the constructed value of the diversifier using the first key stored in the program code associated with the second application program by executing the program code associated with the second application program to obtain storage key. 14. Система по п. 13, дополнительно содержащая: локальную базу данных мобильного устройства связи, выполненную с возможностью хранения защищенных данных, причем устройство обработки дополнительно выполнено с возможностью шифрования защищенных данных, хранящихся в локальной базе данных, с использованием ключа хранения.14. The system of claim 13, further comprising: a local database of the mobile communication device configured to store secure data, the processing device further configured to encrypt the protected data stored in the local database using a storage key. 15. Система по п. 13, в которой информация об устройстве включает в себя один или более уникальных идентификаторов, связанных с мобильным устройством связи.15. The system of claim 13, wherein the device information includes one or more unique identifiers associated with a mobile communication device. 16. Система по п. 13, в которой случайное значение является случайным или псевдослучайным числом.16. The system of claim 13, wherein the random value is a random or pseudo-random number. 17. Система по п. 13, в которой идентификатор экземпляра уникален для экземпляра первой прикладной программы.17. The system of claim 13, wherein the instance identifier is unique to the instance of the first application. 18. Система по п. 13, в которой вторая прикладная программа выполнена с возможностью осуществления криптографии по принципу белого ящика с использованием первого ключа.18. The system of claim 13, wherein the second application program is configured to perform cryptography according to the principle of a white box using the first key. 19. Система по п. 13, в которой первый ключ является динамическим ключом.19. The system of claim 13, wherein the first key is a dynamic key. 20. Система по п. 13, в которой память дополнительно выполнена с возможностью хранения программных данных, связанных с первой прикладной программой, и устройство обработки дополнительно выполнено с возможностью сохранения в программных данных, связанных с первой прикладной программой, сгенерированного случайного значения.20. The system of claim 13, wherein the memory is further configured to store program data associated with the first application program, and the processing device is further configured to store a generated random value in program data associated with the first application program. 21. Система по п. 13, в которой программный код, связанный со второй прикладной программой, включен в программный код, связанный с первой прикладной программой.21. The system of claim 13, wherein the program code associated with the second application program is included in the program code associated with the first application program. 22. Система по п. 21, в которой вторая прикладная программа является исполнимой функцией первой прикладной программы.22. The system of claim 21, wherein the second application program is an executable function of the first application program. 23. Система по п. 13, дополнительно содержащая: передающее устройство, выполненное с возможностью передачи сгенерированного случайного значения; и принимающее устройство, выполненное с возможностью приема одного или более зашифрованных параметров, причем каждый из одного или более зашифрованных параметров зашифрован с использованием ключа хранения, причем устройство обработки дополнительно выполнено с возможностью сохранения в локальной базе данных мобильного устройства связи принятых одного или более зашифрованных параметров.23. The system of claim 13, further comprising: a transmitting device configured to transmit the generated random value; and a receiving device configured to receive one or more encrypted parameters, each of one or more encrypted parameters being encrypted using a storage key, and the processing device is further configured to store the received one or more encrypted parameters in a local database of the mobile communication device. 24. Система по п. 23, в которой передача сгенерированного случайного значения дополнительно включает в себя передачу идентификатора экземпляра.24. The system of claim 23, wherein transmitting the generated random value further includes transmitting an instance identifier.
RU2016136503A 2014-04-14 2014-12-02 Method and system for generation of improved storage key in mobile device without protective elements RU2653290C1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461979113P 2014-04-14 2014-04-14
US61/979,113 2014-04-14
PCT/US2014/068000 WO2015160385A1 (en) 2014-04-14 2014-12-02 Method and system for generating an advanced storage key in a mobile device without secure elements

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2018113732A Division RU2682840C2 (en) 2014-04-14 2014-12-02 Improved storage key generation method and system in mobile device without protective elements

Publications (1)

Publication Number Publication Date
RU2653290C1 true RU2653290C1 (en) 2018-05-07

Family

ID=54324415

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2018113732A RU2682840C2 (en) 2014-04-14 2014-12-02 Improved storage key generation method and system in mobile device without protective elements
RU2016136503A RU2653290C1 (en) 2014-04-14 2014-12-02 Method and system for generation of improved storage key in mobile device without protective elements

Family Applications Before (1)

Application Number Title Priority Date Filing Date
RU2018113732A RU2682840C2 (en) 2014-04-14 2014-12-02 Improved storage key generation method and system in mobile device without protective elements

Country Status (14)

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

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US11521203B2 (en) * 2015-07-09 2022-12-06 Cryptography Research, Inc. Generating a cryptographic key based on transaction data of mobile payments
JP2017175226A (en) * 2016-03-18 2017-09-28 株式会社インテック Program, method and system for issuing public key certificate
US10769635B2 (en) 2016-08-05 2020-09-08 Nok Nok Labs, Inc. Authentication techniques including speech and/or lip movement analysis
EP3340094B1 (en) * 2016-12-22 2021-04-28 Mastercard International Incorporated Method for renewal of cryptographic whiteboxes under binding of new public key and old identifier
EP3364329B1 (en) * 2017-02-21 2023-07-26 Mastercard International Incorporated Security architecture for device applications
CN108804908B (en) * 2017-05-04 2023-05-09 腾讯科技(深圳)有限公司 Equipment fingerprint generation method and device and computing equipment
CN107908948B (en) * 2017-11-01 2019-11-19 中国移动通信集团江苏有限公司 A kind of Android APP device-fingerprint generation method applied to security risk control
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
CN109068304A (en) * 2018-08-07 2018-12-21 佛山市苔藓云链科技有限公司 It is a kind of to verify the true method of internet of things equipment using near-field communication
US11258604B2 (en) * 2018-10-19 2022-02-22 Oracle International Corporation Rewiring cryptographic key management system service instances
US12041039B2 (en) 2019-02-28 2024-07-16 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
JP7127585B2 (en) * 2019-03-12 2022-08-30 オムロン株式会社 Safety system and maintenance method
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
US11783332B2 (en) 2020-02-14 2023-10-10 Mastercard International Incorporated Method and system for facilitating secure card-based transactions
EP3933730A1 (en) * 2020-06-30 2022-01-05 Mastercard International Incorporated Realtime selection of payment account
EP3933731A1 (en) * 2020-06-30 2022-01-05 Mastercard International Incorporated Authorization data processing for multiple issuers
US11784798B2 (en) 2021-03-30 2023-10-10 Visa International Service Association System, method, and computer program product for data security
CN115396103B (en) * 2022-10-26 2023-03-24 杭州海康威视数字技术股份有限公司 AI data sharing method, system and device based on white box key

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317628A1 (en) * 2011-06-09 2012-12-13 Yeager C Douglas Systems and methods for authorizing a transaction
US20130262317A1 (en) * 2012-04-02 2013-10-03 Mastercard International Incorporated Systems and methods for processing mobile payments by provisoning credentials to mobile devices without secure elements
US20130282589A1 (en) * 2012-04-20 2013-10-24 Conductiv Software, Inc. Multi-factor mobile transaction authentication
US20130282502A1 (en) * 2012-04-18 2013-10-24 Google Inc. Processing payment transactions without a secure element

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606771B2 (en) * 2001-01-11 2009-10-20 Cardinalcommerce Corporation Dynamic number authentication for credit/debit cards
DE502005010250D1 (en) * 2005-01-07 2010-10-21 Limo Patentverwaltung Gmbh DEVICE FOR HOMOGENIZING LIGHT
KR100842267B1 (en) * 2006-12-01 2008-06-30 한국전자통신연구원 Server, Client and Method for integrated user authentication in a system of multi-authentication means
JP2009284231A (en) * 2008-05-22 2009-12-03 Panasonic Corp Key generating apparatus, key generating method, key generating program, and electronic apparatus
US8555089B2 (en) * 2009-01-08 2013-10-08 Panasonic Corporation Program execution apparatus, control method, control program, and integrated circuit
US8893967B2 (en) * 2009-05-15 2014-11-25 Visa International Service Association Secure Communication of payment information to merchants using a verification token
RU2580086C2 (en) * 2010-04-09 2016-04-10 Виза Интернэшнл Сервис Ассосиэйшн System and method for robust validation of transactions
US8380177B2 (en) * 2010-04-09 2013-02-19 Paydiant, Inc. Mobile phone payment processing methods and systems
SG10201506319WA (en) * 2010-08-12 2015-09-29 Mastercard International Inc Multi-commerce channel wallet for authenticated transactions
US20120151223A1 (en) * 2010-09-20 2012-06-14 Conde Marques Ricardo Nuno De Pinho Coelho Method for securing a computing device with a trusted platform module-tpm
US8746553B2 (en) * 2010-09-27 2014-06-10 Mastercard International Incorporated Purchase Payment device updates using an authentication process
CN103201758A (en) * 2010-11-10 2013-07-10 斯玛特哈伯私人有限公司 Method of performing a financial transaction via unsecured public telecommunication infrastructure and an apparatus for same
GB201105765D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
US9473295B2 (en) * 2011-09-26 2016-10-18 Cubic Corporation Virtual transportation point of sale
KR20130140948A (en) * 2012-05-17 2013-12-26 삼성전자주식회사 Apparatus and method for contents encryption and decryption based on storage device id
US8738454B2 (en) * 2012-07-23 2014-05-27 Wal-Mart Stores, Inc. Transferring digital receipt data to mobile devices
EP3033725A4 (en) * 2013-08-15 2017-05-03 Visa International Service Association Secure remote payment transaction processing using a secure element
JP6353537B2 (en) * 2013-12-02 2018-07-04 マスターカード インターナショナル インコーポレーテッド Method and system for performing secure authentication of users and mobile devices without using a secure element

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317628A1 (en) * 2011-06-09 2012-12-13 Yeager C Douglas Systems and methods for authorizing a transaction
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
US20130282502A1 (en) * 2012-04-18 2013-10-24 Google Inc. Processing payment transactions without a secure element
US20130282589A1 (en) * 2012-04-20 2013-10-24 Conductiv Software, Inc. Multi-factor mobile transaction authentication

Also Published As

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

Similar Documents

Publication Publication Date Title
AU2018200422B2 (en) Method and system for secure transmission of remote notification service messages to mobile devices without secure elements
JP6889967B2 (en) Methods and systems for generating advanced storage keys on mobile devices without secure elements
KR102025816B1 (en) Method and system for secure authentication of user and mobile device without secure elements

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20201203