РОДСТВЕННЫЕ ЗАЯВКИ
[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 г., каждая из которых включена сюда посредством ссылки в полном объеме.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0002] Настоящее изобретение относится к генерации усовершенствованного ключа хранения для использования в мобильном устройстве без необходимости в защитном элементе, и, в частности, использования множественных значений для построения усовершенствованного ключа хранения в мобильном устройстве без защитного элемента для использования при безопасном хранении данных в мобильном устройстве.
УРОВЕНЬ ТЕХНИКИ
[0003] Развитие технологий мобильной и иной связи создало впечатляющие возможности, в частности, предоставило пользователю мобильного вычислительного устройства возможность инициировать и платить за платежные транзакции с использованием своего мобильного устройства. Один такой подход к обеспечению возможности таких действий на мобильном устройстве предусматривает использование технологии ближней бесконтактной связи (NFC) для безопасной передачи деталей платежа от мобильного устройства к близлежащему терминалу бесконтактной торговой точки (POS). С этой целью, мобильные телефоны с оборудованием защитного элемента, например, микросхемы защитного элемента (SE), используются для защищенного хранения реквизитов платежа. Защитный элемент является особенностью, которая может быть включена в некоторые устройства с возможностями NFC, которая является износоустойчивой платформой, на которой можно безопасно размещать приложения и их конфиденциальные данные.
[0004] Однако, не все мобильные устройства имеют защитные элементы. Кроме того, некоторые финансовые учреждения могут не иметь доступа к защитным элементам на мобильном устройстве, даже если мобильное устройство снабжено таким элементом. В результате, многие покупатели с мобильными устройствами, которые обладают необходимым оборудованием для проведения бесконтактных или других типов удаленных платежных транзакций, могут быть не способны фактически использовать эти возможности. Вследствие таких затруднений, требуется техническое решение, позволяющее мобильным вычислительным устройствам инициировать и проводить платежные транзакции без использования защитных элементов.
[0005] Некоторые способы и системы для проведения платежных транзакций с использованием мобильных устройств, не имеющих защитных элементов, или без использования защитных элементов в мобильных устройствах, снабженных ими, можно найти в патентной заявке США № 13/827042, под названием ʺSystems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elementsʺ за авторством Mehdi Collinge и др., поданной 14 марта 2013 г., которая включена сюда посредством ссылки в полном объеме. Хотя такие способы и системы могут быть пригодны для проведения платежных транзакций посредством мобильного устройства без использования защитного элемента, многие покупатели, торговцы и финансовые учреждения могут опасаться участвовать в таких транзакциях в силу желания еще большей безопасности.
[0006] В результате, требуется технические решения для обеспечения еще большей безопасности для получения и хранения реквизитов платежа в мобильном устройстве, не имеющем защитного элемента, а также обеспечение повышенной безопасности при передаче реквизитов платежа торговой точке от мобильного устройства при проведении финансовой транзакции. Повышенная безопасность в этих процессах может приводить к повышенному спокойствию для всех участвующих субъектов, что может приводить к увеличению использования мобильных устройств для бесконтактных или удаленных платежных транзакций, что может обеспечивать покупателям большое количество преимуществ над традиционными способами платежа.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0007] В настоящем раскрытии обеспечено описание систем и способов построения усовершенствованных ключей хранения.
[0008] Способ построения усовершенствованного ключа хранения включает в себя: сохранение, в памяти мобильного устройства связи, по меньшей мере, (i) информации об устройстве, связанной с мобильным устройством связи, (ii) программного кода, связанного с первой прикладной программой, причем программный код включает в себя, по меньшей мере, идентификатор экземпляра, и (iii) программного кода, связанного со второй прикладной программой, причем программный код включает в себя первый ключ; генерацию, устройством обработки, характерного признака устройства, связанного с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой; генерацию, устройством обработки, случайного значения посредством выполнения программного кода, связанного с первой прикладной программой; построение, устройством обработки, значения диверсификатора на основании, по меньшей мере, сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой; и дешифрование, устройством обработки, построенного значения диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.
[0009] Система для построения усовершенствованного ключа хранения включает в себя память мобильного устройства связи и устройство обработки. Память мобильного устройства связи выполнена с возможностью сохранения, по меньшей мере: информации об устройстве, связанной с мобильным устройством связи; программного кода, связанного с первой прикладной программой, причем программный код включает в себя, по меньшей мере, идентификатор экземпляра; и программного кода, связанного со второй прикладной программой, причем программный код включает в себя первый ключ. Устройство обработки выполнено с возможностью: генерировать характерный признак устройства, связанный с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой; генерировать случайное значение посредством выполнения программного кода, связанного с первой прикладной программой; строить значение диверсификатора на основании, по меньшей мере, сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой; и дешифровать построенное значение диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0010] Чтобы лучше понять объем настоящего изобретения, следует обратиться к нижеследующему подробному описанию иллюстративных вариантов осуществления совместно с прилагаемыми чертежами. В чертежи включены следующие фигуры:
[0011] фиг. 1 - блок-схема, демонстрирующая высокоуровневая архитектура системы для обработки платежных транзакций с повышенной безопасностью при предоставлении и хранении реквизитов платежа в соответствии с иллюстративными вариантами осуществления.
[0012] фиг. 2 - блок-схема, демонстрирующая мобильное устройство, показанное на фиг. 1, для обработки платежных транзакций без защитного элемента и безопасного получения и хранения реквизитов платежа в соответствии с иллюстративными вариантами осуществления.
[0013] фиг. 3 - блок-схема, демонстрирующая базу данных карт мобильного устройства, показанного на фиг. 2, для хранения реквизитов платежа в соответствии с иллюстративными вариантами осуществления.
[0014] фиг. 4 - блок-схема, демонстрирующая память мобильного устройства, показанного на фиг. 2, для хранения данных, используемых при генерации усовершенствованных ключей хранения и генерации криптограмм приложений в соответствии с иллюстративными вариантами осуществления.
[0015] фиг. 5 - блок-схема, демонстрирующая сервер управления транзакциями, показанный на фиг. 1, для обработки платежных транзакций мобильным устройством без защитного элемента в соответствии с иллюстративными вариантами осуществления.
[0016] фиг. 6 - блок-схема, демонстрирующая базу данных счетов сервера обработки, показанного на фиг. 5, для хранения реквизитов платежа и деталей счета в соответствии с иллюстративными вариантами осуществления.
[0017] фиг. 7 - блок-схема операций, демонстрирующая процесс передачи и удостоверения двойных криптограмм приложений для обработки платежных транзакций с участием мобильного устройства, не имеющего защитного элемента, в соответствии с иллюстративными вариантами осуществления.
[0018] фиг. 8 - блок-схема операций, демонстрирующая альтернативный процесс передачи и удостоверения двойных криптограмм приложений для обработки платежных транзакций с участием мобильного устройства, не имеющего защитного элемента, в соответствии с иллюстративными вариантами осуществления
[0019] фиг. 9 - блок-схема операций, демонстрирующая процесс создания, передачи и удостоверения сообщения службы удаленного извещения или другого сообщения данных, предоставляемого мобильному устройству, не имеющему защитного элемента, в соответствии с иллюстративными вариантами осуществления.
[0020] фиг. 10A и 10B - блок-схема операций, демонстрирующая процесс создания, передачи и удостоверения сообщения, возвращаемого мобильным устройством, не имеющим защитного элемента, в соответствии с иллюстративными вариантами осуществления.
[0021] фиг. 11 - блок-схема операций, демонстрирующая процесс удостоверения сообщения службы удаленного извещения с использованием мобильного устройства, показанного на фиг. 2, в соответствии с иллюстративными вариантами осуществления.
[0022] фиг. 12 - схема, демонстрирующая генерацию усовершенствованного ключа хранения с использованием мобильного устройства, показанного на фиг. 2, в соответствии с иллюстративными вариантами осуществления.
[0023] фиг. 13 и 14 - блок-схемы операций, демонстрирующие иллюстративные способы для сгенерированных реквизитов платежа в платежной транзакции в соответствии с иллюстративными вариантами осуществления.
[0024] фиг. 15 - блок-схема операций, демонстрирующая иллюстративный способ приема и обработки сообщения службы удаленного извещения в соответствии с иллюстративными вариантами осуществления.
[0025] фиг. 16 - блок-схема операций, демонстрирующая иллюстративный способ построения усовершенствованного ключа хранения в соответствии с иллюстративными вариантами осуществления.
[0026] фиг. 17 - блок-схема, демонстрирующая архитектуру компьютерной системы в соответствии с иллюстративными вариантами осуществления.
[0027] Дополнительные области применения настоящего изобретения явствуют из нижеследующего подробного описания. Следует понимать, что подробное описание иллюстративных вариантов осуществления приведено только в целях иллюстрации и поэтому не призвано ограничивать объем изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Глоссарий терминов
[0028] Платежная сеть - система или сеть, используемая для перевода денег путем использования заменителей наличных. Платежные сети могут использовать разнообразные протоколы и процедуры для обработки перевода денег для различных типов транзакций. Транзакции, которые могут осуществляться посредством платежной сети, могут включать в себя покупки продуктов или услуг, покупки в кредит, дебетовые транзакции, переводы фондов, счет операции снятия со счета и т.д. Платежные сети могут быть выполнены с возможностью осуществления транзакций посредством заменителей наличных, которые могут включать в себя платежные карты, аккредитивы, чеки, транзакционные счета и т.д. Примеры сетей или систем, выполненных с возможностью действия в качестве платежных сетей, включают в себя системы под управлением MasterCard®, VISA®, Discover®, American Express®, PayPal® и т.д. Используемый здесь термин ʺплатежная сетьʺ может относиться к как к платежной сети в качестве субъекта, так и к физической платежной сети, например, аппаратуре, оборудованию и программному обеспечению, содержащей платежную сеть.
[0029] Транзакционный счет - финансовый счет, который может использоваться для фондирования транзакции, например, текущий счет, сберегательный счет, кредитный счет, виртуальный платежный счет и т.д. Транзакционный счет может быть связан с покупателем, которым может быть любой пригодный тип субъекта, связанного с платежным счетом, который может включать в себя лицо, семью, компанию, корпорацию, государственное учреждение и т.д. В ряде случаев, транзакционный счет может быть виртуальным, например, счета, под управлением PayPal® и т.д.
[0030] Платежная карта - карта или данные, связанные с транзакционным счетом которые могут предоставляться торговцу для фондирования финансовой транзакции посредством соответствующего транзакционного счета. Платежные карты может включать в себя кредитные карты, дебетовые карты, расчетные карты, карты с хранимой суммой, предоплаченные карты, транспортные карты, виртуальные платежные номера, номера виртуальных карт, управляемые платежные номера и т.д. Платежная карта может представлять собой физическую карту, которая могут предоставляться торговцу, или может представлять собой данные, представляющие соответствующий транзакционный счет (например, хранящиеся в устройстве связи, например, смартфоне или компьютере). Например, в ряде случаев, данные, включающие в себя номер платежного счета, можно рассматривать как платежную карту для обработки транзакции, фондированной соответствующим транзакционным счетом. В ряде случаев, чек можно рассматривать как платежную карту, когда применимо.
[0031] Платежная транзакция - транзакция между двумя субъектами, в которой происходит обмен деньгами или другой материальной выгодой между субъектами. Платежная транзакция может представлять собой перевод фондов, для покупки товаров или услуг, для оплаты долга, или для любого другого обмена материальной выгодой что будет очевидно специалистам в данной области техники. В ряде случаев, платежная транзакция может относиться к транзакциям, фондированным посредством платежной карты и/или платежного счета, например, транзакциям по кредитной карте. Такие платежные транзакции могут обрабатываться посредством эмитента, платежной сети и эквайера. Процесс обработки такой платежной транзакции может включать в себя, по меньшей мере, одно из авторизации, группирования, клиринга, урегулирования и фондирования. Авторизация может включать в себя комплектацию деталей платежа покупателем торговцу, подачу деталей транзакции (например, включающих в себя детали платежа) от торговца их эквайеру, и проверку деталей платежа эмитентом платежного счета покупателя, используемого для фондирования транзакции. Группирование может означать сохранение авторизованной транзакции совместно с другими авторизованными транзакциями для распространения эквайеру. Клиринг может включать в себя отправку сгруппированных транзакций от эквайера в платежную сеть для обработки. Урегулирование может включать в себя дебетование эмитента платежной сетью для транзакций с участием бенефициаров эмитента. В ряде случаев, эмитент можем платить эквайеру посредством платежной сети. В других случаях, эмитент можем платить эквайеру напрямую. Фондирование может включать в себя платеж торговцу от эквайера за платежные транзакции, которые были очищены и урегулированы. Специалистам в данной области техники будет очевидно, что порядок и/или категоризация рассмотренный выше этапов, осуществляемый в порядке обработки платежной транзакции.
[0032] Торговая точка - вычислительное устройство или вычислительная система, выполненная с возможностью приема взаимодействия с пользователем (например, покупателем, сотрудником и т.д.) для ввода данных транзакции, платежных данных и/или других подходящих типов данных для покупки и/или оплаты товаров и/или услуг. Торговая точка может представлять собой физическое устройство (например, кассовый аппарат, киоск, настольный компьютер, смартфон, планшетный компьютер и т.д.) в физическом месте, которое покупатель посещает как часть транзакции, например, в обычном магазине, или может представлять собой виртуальные среды электронной торговли, например, онлайновые розничные торговцы, принимающие передачи от покупателей по сети, например, интернету. В случаях, когда торговая точка может быть виртуальной, вычислительное устройство, используемое пользователем для инициирования транзакции, или вычислительная система, которая принимает данные в результате транзакции, можно рассматривать как торговую точку, насколько применимо.
Система для обработки платежных транзакций с использованием мобильного устройства без защитных элементов
[0033] Фиг. 1 демонстрирует систему 100 для обработки платежных транзакций с использованием мобильного устройства без необходимости в использовании защитных элементов, которая может включать в себя безопасное предоставление реквизитов платежа мобильному устройству, их безопасное хранение, и использование при генерации множественных криптограмм приложений для использования при удостоверении и обработке платежной транзакции.
[0034] Система 100 может включать в себя сервер 102 управления транзакциями. Сервер 102 управления транзакциями, более подробно рассмотренный ниже, может представлять собой одно или более вычислительных устройств, конкретно запрограммированных для осуществления рассмотренных здесь функций для предоставления реквизитов платежа мобильному устройству 104 с использованием безопасно переданного сообщения удаленного извещения, и для удостоверения реквизитов платежа, создаваемых мобильным устройством 104 в ходе платежной транзакции. Хотя здесь проиллюстрировано и рассмотрено, что сервер 102 управления транзакциями осуществляет различные функции, специалистам в данной области техники будет очевидно, что сервер 102 управления транзакциями может состоять из множественных вычислительных устройств, серверов и/или вычислительных сетей выполненное с возможностью осуществления рассмотренных здесь функций. Мобильное устройство 104, более подробно рассмотренное ниже, может быть мобильным вычислительным устройством любого типа, пригодным для осуществления рассмотренных здесь функций, которое может включать в себя сотовый телефон, смартфон, интеллектуальные часы, другое носимое или встроенное вычислительное устройство, планшетный компьютер, портативный компьютер и т.д. В некоторых вариантах осуществления, мобильное устройство 104 может не иметь защитного элемента. В других вариантах осуществления, мобильное устройство 104 может включать в себя защитный элемент, но такой элемент может не использоваться совместно с рассмотренными здесь способами и системами, или может использоваться совместно с рассмотренными здесь способами и системами, например, для обеспечения дополнительной безопасности.
[0035] Мобильное устройство 104 может осуществлять связь с сервером 102 управления транзакциями с использованием множественных каналов связи, например, используя двухканальную связь. Двухканальная связь может включать в себя использование двух каналов связи при передаче и приеме данных, например, для проверки и аутентификации, чтобы гарантировать повышенную безопасность при передаче данных. Мобильное устройство 104 может включать в себя приложение мобильных платежей (MPA), подлежащие выполнению мобильным устройством 104 для осуществления рассмотренных здесь функций мобильного устройства 104. MPA, более подробно рассмотренное ниже, может быть установлено на мобильном устройстве 104 и может активироваться с использованием кода активации, предоставленного сервером 102 управления транзакциями с использованием способов и систем, которые будут очевидны специалистам в данной области техники, чтобы мобильное устройство 104 и сервер 102 управления транзакциями могли безопасно передавать и принимать передачи по одному или более каналам связи с использованием совместно используемых данных.
[0036] Система 100 также может включать в себя эмитента 106. Эмитент 106 может быть финансовым учреждением, например, эмитирующим банком, который эмитирует платежную карту или реквизиты платежа покупателю 108, связанному с транзакционным счетом. Эмитент 106 может обеспечивать детали платежа, связанные с транзакционным счетом и/или платежной картой, серверу 102 управления транзакциями. Детали платежа могут включать в себя, например, номер транзакционного счета, имя держателя счета, дату истечения срока действия, защитный код и т.д. Сервер 102 управления транзакциями может сохранять данные в базе данных счетов, более подробно рассмотренной ниже. Сервер 102 управления транзакциями также может предоставлять реквизиты платежа мобильному устройству 104. Используемый здесь термин ʺреквизиты платежаʺ может относиться к любым данным, используемым мобильным устройством 104 и/или сервером 102 управления транзакциями при передаче и удостоверении информации платежа, используемой в платежной транзакции, с использованием рассмотренных здесь способов и систем, включая, но без ограничения, детали платежа, реквизиты платежа, ключи однократного использования, сеансовые ключи, криптограммы приложений, главные ключи карт и т.д.
[0037] В некоторых вариантах осуществления, реквизиты платежа могут предоставляться мобильному устройству 104 посредством сообщения службы удаленного извещения. Как более подробно рассмотрено ниже, сообщение службы удаленного извещения (RNS) может представлять собой защищенное сообщение, которое передается на мобильное устройство 104 и затем удостоверяется мобильным устройством 104, что позволяет защищать содержащиеся в нем данные от других устройств и пользователей. MPA мобильного устройства 104 может проверять подлинность принятого сообщения RNS и может дешифровать его для получения включенных в него данных. Затем мобильное устройство 104 может осуществлять любые необходимые функции, на основании данных (например, например, путем выполнения инструкций, включенных в данные), и, если применимо, может генерировать сообщение возврата для отправки обратно на сервер 102 управления транзакциями. В ряде случаев, сообщение возврата может удостоверяться сервером 102 управления транзакциями.
[0038] В ряде случаев, для удостоверения сообщений RNS в мобильном устройстве 104 или удостоверения сообщений возврата на сервере 102 управления транзакциями, можно использовать, по меньшей мере, счетчики сообщений и код аутентификации. Использование одновременно счетчиков и кодов аутентификации может гарантировать, что только предназначенное мобильное устройство 104 имеет возможность удостоверять и дешифровать данные, включенные в сообщение RNS. Кроме того, если правила и/или алгоритмы, используемые при генерации кода аутентификации, включены в MPA, то только мобильное устройство 104, которое также включает в себя конкретный экземпляр прикладной программы, имеет возможность удостоверять сообщение RNS, что дополнительно повышает безопасность. В случаях, когда сообщение RNS может включать в себя реквизиты платежа, это может гарантировать, что реквизиты платежа доступны только на надлежащем мобильном устройстве 104, и только если MPA, используемое для осуществления доступа к ним, является надлежащим и авторизованным приложением.
[0039] Реквизиты платежа, предоставляемые мобильному устройству 104, могут безопасно храниться в хранилище в мобильном устройстве 104, например, базе данных карт, более подробно рассмотренной ниже. В некоторых вариантах осуществления, мобильное устройство 104 может быть выполнено с возможностью генерации усовершенствованного ключа хранения для использования при безопасном хранении данных, например, реквизитов платежа, в базе данных или памяти в мобильном устройстве 104. При генерации усовершенствованного ключа хранения, как более подробно рассмотрено ниже, можно использовать уникальную информацию об устройстве, уникальную информацию MPA, и случайно сгенерированную информацию для идентификации защищенного ключа хранения, который можно использовать для защищенного хранения данных в мобильном устройстве 104. В результате, реквизиты платежа или другие конфиденциальные данные могут безопасно храниться в мобильном устройстве 104 без использования защитного элемента, что позволяет мобильному устройству 104 инициировать и проводить платежные транзакции без использования защитного элемента, повышая доступность для эмитентов 106 и покупателей 108, поддерживая при этом высокий уровень безопасности.
[0040] После того, как реквизиты платежа для транзакционного счета приняты, удостоверены и безопасно сохранены на мобильном устройстве 104, покупатель 108 может поднести мобильное устройство 104 к торговой точке 110 у торговца для проведения платежной транзакции. Покупатель 108 может выбирать товары или услуги для покупки, может инициировать платежную транзакцию для их покупки у торговца, и может использовать мобильное устройство 104 для переноса реквизитов платежа для использования при фондировании платежной транзакции. Перенос реквизитов платежа на торговую точку 110 может включать в себя передачу двух или более криптограмм приложений. Использование двух или более криптограмм приложений может обеспечивать более высокий уровень безопасности для транзакций, обрабатываемых с использованием рассмотренных здесь способов и систем, чем доступный при традиционных бесконтактных и удаленных транзакциях, включая транзакции, проводимые с использованием мобильного устройства 104, имеющего защитный элемент.
[0041] Каждая из криптограмм приложений можем генерироваться мобильным устройством 104 с использованием отдельных сеансовых ключей и дополнительных данных, более подробно рассмотренных ниже. Криптограммы приложений, сгенерированные с использованием данных, хранящихся в мобильном устройстве 104, например, в хранилище, защищенном посредством усовершенствованного ключа хранения и связанном с MPA, могут гарантировать, что криптограммы приложений аутентифицируют мобильное устройство 104 и конкретный экземпляр MPA. В ряде случаев, одна/один из криптограмм и/или сеансовых ключей, используемых для генерации криптограмм, может использовать информацию, предоставляемую покупателем 108, например, личный идентификационный номер (PIN). Использование PIN или другой информации аутентификации покупателя может позволять криптограмме аутентифицировать как покупателя 108, так и мобильное устройство 104. В таком случае, криптограммы, сгенерированные мобильным устройством 104, могут включать в себя криптограмму, которая аутентифицирует мобильное устройство 104, и криптограмму, которая аутентифицирует как мобильное устройство 104, так и покупателя 108.
[0042] Криптограммы могут приниматься торговой точкой 110 в порядке проведения платежной транзакции, например, посредством ближней бесконтактной связи. Криптограммы приложений могут сопровождать дополнительную информацию платежа, например, могут требоваться в контексте любого подходящего типа платежной транзакции, например, бесконтактной транзакции, удаленной транзакции, защищенной удаленной платежной транзакции, транзакции на основе магнитной полоски и транзакции M/Chip EMV, и могут передаваться торговой точке 110 с использованием любого пригодного способа в соответствии с ней, что будет очевидно специалистам в данной области техники. Криптограммы могут передаваться эквайеру 112, который может быть финансовым учреждением, например, банк-эквайер, связанный с торговцем. Эквайер 112 может, например, эмитировать торговцу транзакционный счет, который используется для приема платежа фондов от покупателя 108 за платежную транзакцию. Эквайер 112 может подавать криптограммы и дополнительные детали транзакции в платежную сеть 114 с использованием способов и систем, которые будут очевидны специалистам в данной области техники. Например, детали транзакции и криптограммы приложений могут быть включены в запрос авторизации, подаваемый в платежную сеть 114 на платежных рельсах.
[0043] В некоторых вариантах осуществления, обе криптограммы приложений могут быть включены в единое сообщение транзакции. Например, мобильное устройство 104 и/или торговая точка 110 может включать в себя обе криптограммы приложений в традиционные поля данных традиционного сообщения транзакции для передачи обеих криптограмм приложений с использованием существующих платежных систем и оборудования. В ряде случаев, сервер 102 управления транзакциями может быть выполнен с возможностью использования данных дорожки 2 для удостоверения криптограмм приложений, например, в транзакции на основе магнитной полоски. В таких случаях, если сообщение транзакции включают в себя данные дорожки 1, сервер 102 управления транзакциями может быть выполнен с возможностью преобразования данные дорожки 1 в данные дорожки 2, которое также может включать в себя преобразование модифицированных данных дорожки 1 или дорожки 2 в немодифицированные (например, исходные, реконструированные и т.д.) данные дорожки 1 или дорожки 2, соответственно. Благодаря осуществлению этих функций и благодаря включению криптограмм приложений в традиционные поля данных, сервер 102 управления транзакциями получает возможность обрабатывать и удостоверять удаленные и бесконтактные платежные транзакции с использованием мобильного устройства 104 на более высоком уровне безопасности, без необходимости в использовании защитного элемента на мобильном устройстве 104, и без модификации в традиционные платежные системы.
[0044] Платежная сеть 114 может обрабатывать платежную транзакцию с использованием способов и систем, которые будут очевидны специалистам в данной области техники. в порядке обработки, платежная сеть 114 может передавать криптограммы приложений эмитенту 106 для проверки. В некоторых вариантах осуществления, проверка может осуществляться платежной сетью 114. Эмитент 106 или платежная сеть 114 может осуществлять связь с сервером 102 управления транзакциями. В некоторых вариантах осуществления, криптограммы приложений могут передаваться на сервер 102 управления транзакциями и могут проверяться посредством генерации удостоверяющих криптограмм приложений с использованием сервера 102 управления транзакциями, которые могут генерироваться с использованием локально хранящихся реквизитов платежа. В других вариантах осуществления, эмитент 106 или платежная сеть 114 может запрашивать криптограммы приложений от сервера 102 управления транзакциями, который может генерировать их и возвращать криптограммы эмитенту 106 или в платежную сеть 114 для удостоверения криптограмм, созданных мобильным устройством 104.
[0045] Поскольку сервер 102 управления транзакциями располагает реквизитами платежа и другими данными, используемыми мобильным устройством 104 для генерации криптограмм приложений, удостоверение реквизитов платежа, созданных мобильным устройством 104 для фондирования платежной транзакции, может осуществляться посредством сравнения криптограмм приложений, сгенерированных мобильным устройством 104, и сгенерированных сервером 102 управления транзакциями. В некоторых вариантах осуществления, сервер 102 управления транзакциями может быть частью платежной сети 114 или эмитента 106. В случаях, когда сервер 102 управления транзакциями может быть частью платежной сети 114, удостоверение может осуществляться до контактирования эмитента 106 как части традиционной обработки платежной транзакции (например, для одобрения эмитентом 106 фондирования транзакции с использованием транзакционного счета покупателя 108).
[0046] За счет использования множественных криптограмм приложений, можно повысить безопасность платежных транзакций. Кроме того, в случаях, когда каждая криптограмма может аутентифицировать отдельные данные, например, экземпляры, где одна криптограмма аутентифицирует мобильное устройство 104, и другая аутентифицирует как мобильное устройство 104, так и покупателя 108 (например, посредством PIN покупателя), он также может предоставлять эмитенту 106 дополнительные данные и соображения для использования при принятии решения на одобрение или отклонение транзакции. Например, если обе криптограммы неверны (например, криптограммы, сгенерированные мобильным устройством 104, не совпадают со сгенерированными сервером 102 управления транзакциями), транзакция может быть отклонена. Если одна криптограмма верна, а другая неверна, транзакция может быть отклонена по соображениям безопасности, или может быть одобрена, например, на основании решения эмитента 106. Например, эмитент 106 может одобрить транзакцию, где не удается аутентифицировать покупателя, но мобильное устройство проходит аутентификацию, поскольку другие доступны данные могут указывать, что авторизованный пользователь, не покупатель 108, использует мобильное устройство 104 для транзакции.
[0047] В результате, использование обеих криптограмм может обеспечивать ценные данные, которые могут использоваться платежными сетями 114 и эмитентами 106 при обработке платежных транзакций. Кроме того, использование двух или более криптограмм может обеспечивать более высокую безопасность, чем в традиционных способах бесконтактного или удаленного платежа, что может приводить к снижению мошенничества и повышению приемлемости для покупателей 108, эмитентов 106 и торговцев. В случаях, когда использование двух или более криптограмм приложений генерируются из реквизитов платежа, которые были безопасно предоставлены с использованием рассмотренных здесь способов и систем обмена сообщениями RNS, и безопасно сохранены посредством усовершенствованных ключей хранения, сгенерированных с использованием рассмотренных здесь способов и систем, общую безопасность системы 100 можно значительно повысить по сравнению с традиционными системами для бесконтактных платежей и обработки транзакций. В результате, система 100 может обеспечивать более высокую безопасность в нескольких аспектах передачи, хранения и обработки данных, по сравнению с обеспеченной в традиционных бесконтактных платежных системах и для других типов удаленных платежных транзакций и платежных транзакций в целом, которые могут использовать рассмотренные здесь способы и системы.
Мобильное устройство
[0048] Фиг. 2 демонстрирует вариант осуществления мобильного устройства 104 системы 100. Специалистам в данной области техники будет очевидно, что вариант осуществления мобильного устройства 104 представленный на фиг. 2 обеспечен только как иллюстрация и может не исчерпывать все возможные конфигурации мобильного устройства 104, пригодного для осуществления рассмотренных здесь функций. Например, компьютерная система 1700, представленная на фиг. 17 и более подробно рассмотренная ниже, может быть пригодной конфигурацией мобильного устройства 104.
[0049] Мобильное устройство 104 может включать в себя блок 202 приема. Блок 202 приема может быть выполнен с возможностью приема данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 202 приема может принимать, например, программные данные для одной или более прикладных программ, устанавливаемых и выполняемых на мобильном устройстве 104, например, приложения мобильных платежей (MPA), более подробно рассмотренного ниже. Блок 202 приема также может принимать сообщения службы удаленного извещения (RNS), например, сообщения, переданные сервером 102 управления транзакциями, в том числе, сообщения RNS, которые включают в себя реквизиты платежа. Блок 202 приема также может принимать дополнительные данные, пригодные для осуществления традиционных функций мобильного устройства 104, например, телефонной связи, сотовой связи и т.д. В ряде случаев, мобильное устройство 104 может включать в себя несколько блоков 202 приема, например, отдельные блоки 202 приема, каждый из которых выполнен с возможностью осуществления связи с одной или более отдельными сетями посредством подходящих протоколов. Например, мобильное устройство 104 может включать в себя первый блок 202 приема для приема данных для транзакций NFC и второй блок 202 приема для приема передач по сети мобильной связи.
[0050] Мобильное устройство 104 также может включать в себя блок 214 ввода. Блок 214 ввода может быть выполнен с возможностью осуществления связи с одним или более устройствами ввода, которые внутренне или внешне соединены с мобильным устройством 104 для приема ввода от покупателя 108, например, клавиатурой, мышью, нажимным колесиком, колесиком прокрутки, сенсорным экраном, микрофоном, камерой, приемником и т.д. Блок 214 ввода может принимать от покупателя 108 ввод, который может обрабатываться блоком 204 обработки.
[0051] Блок 204 обработки может быть выполнен с возможностью осуществления рассмотренных здесь функций мобильного устройства 104. Блок 204 обработки может выполнять программный код, хранящийся в мобильном устройстве, например, для MPA, и может быть выполнен с возможностью осуществления нескольких функций, связанных с каждой прикладной программой, помимо других функций мобильного устройства 104. Блок 204 обработки может принимать ввод от покупателя 108 посредством блока 214 ввода и осуществлять функции соответственно, например, путем выполнения прикладных программ, осуществления функций в программах, приема данных, передачи данных, отображения данных и т.д., что будет очевидно специалистам в данной области техники. Например, блок 204 обработки может быть выполнен с возможностью удостоверения сообщений RNS, генерации усовершенствованных ключей хранения и генерации криптограмм приложений, как более подробно рассмотрено ниже.
[0052] Мобильное устройство 104 также может включать в себя блок 210 отображения. Блок 210 отображения может быть выполнен с возможностью осуществления связи с одним или более устройствами отображения, которые внутренне или внешне соединены с мобильным устройством 104 для отображения данных, например, данных, передаваемых на блок 210 отображения для отображения блоком 204 обработки. Устройства отображения могут включать в себя жидкокристаллические дисплеи, светодиодные дисплеи, дисплеи на тонкопленочных транзисторах, дисплеи с сенсорным экраном и т.д.
[0053] Мобильное устройство 104 также может включать в себя блок 206 передачи. Блок 206 передачи может быть выполнен с возможностью передачи данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 206 передачи может передавать ответные сообщения RNS на сервер 102 управления транзакциями. Блок 206 передачи также может быть выполнен с возможностью передачи криптограмм приложений и/или реквизитов платежа, например, торговой точке 110, для использования в платежной транзакции. Блок 206 передачи может быть дополнительно выполнен с возможностью осуществления дополнительных функций мобильного устройства 104, что будет очевидно специалистам в данной области техники, например, традиционных функций мобильного устройства связи для осуществления сотовой связи и т.д. В ряде случаев, мобильное устройство 104 может включать в себя несколько блоков 206 передачи, которые могут быть по отдельности выполнены с возможностью осуществления связи с одной или более отдельными сетями, например, блок 206 передачи, выполненный с возможностью передачи реквизитов платежа и криптограмм платежей посредством NFC и другой блок 206 передачи, выполненный с возможностью передачи данных по сети мобильной связи.
[0054] Мобильное устройство 104 также может включать в себя базу данных 208 карт. База данных 208 карт, более подробно рассмотренная ниже, может представлять собой хранилище данных на мобильном устройстве 104, которое выполнено с возможностью хранения данных, связанных с одним или более транзакционными счетами и/или платежными картами. В базе данных 208 карт могут храниться реквизиты платежа, связанные с транзакционным счетом, например, предоставляемым мобильному устройству 104 сервером 102 управления транзакциями в защищенном сообщении RNS, и дополнительные данные, которые можно использовать при генерации криптограмм приложений, как более подробно рассмотрено ниже. В ряде случаев, база данных 208 карт может храниться как часть приложения мобильных платежей.
[0055] Мобильное устройство 104 может дополнительно включать в себя память 212. Память 212, более подробно рассмотренная ниже, может быть выполнена с возможностью сохранения данных для мобильного устройства 104, пригодных для осуществления рассмотренных здесь функций мобильного устройства 104. Например, в памяти 212 могут сохраняться данные, пригодные для генерации усовершенствованных ключей хранения для шифрования дополнительных данных в мобильном устройстве 104, например, база данных 208 карт, как более подробно рассмотрено ниже. Память 212 также может быть выполнена с возможностью сохранения программного кода для прикладных программ, выполняемых блоком 204 обработки, например, операционной системы, программного кода для приема данных посредством блока 214 ввода и отображения данных посредством блока 210 отображения, правил и/или алгоритмов для осуществления рассмотренных здесь функций и т.д. В памяти 212 также могут храниться данные, пригодные для осуществления традиционных функций мобильного устройства 104, например, правила и/или алгоритмы для осуществления сотовой связи посредством мобильной сети. Дополнительные данные, хранящиеся в памяти 212, будет очевидны специалистам в данной области техники.
База данных карт мобильного устройства
[0056] Фиг. 3 демонстрирует вариант осуществления базы данных 208 карт мобильного устройства 104 для хранения реквизитов платежа и других данных, связанных с транзакционными счетами для использования при фондировании платежных транзакций, проводимых с помощью мобильного устройства 108.
[0057] База данных 208 карт может включать в себя один или более профилей 302 платежа, представленных на фиг. 3 как профили 302a, 302b и 302c платежа. Каждый профиль 302 платежа может быть связан с транзакционным счетом, который можно использовать для фондирования платежной транзакции, и может включать в себя, по меньшей мере, реквизиты 304 платежа, один или более ключей 306 однократного использования, первый сеансовый ключ 308, второй сеансовый ключ 310 и счетчик 312 транзакций приложений.
[0058] Реквизиты 304 платежа могут включать в себя данные, связанные с соответствующим транзакционным счетом, который используется для идентификации и удостоверения платежной сетью 114 и/или эмитентом 106 при обработке платежной транзакции с использованием соответствующего транзакционного счета. Реквизиты 304 платежа могут включать в себя, например, номер транзакционного счета, защитный код, дату истечения срока действия, имя держателя карты, имя авторизованного пользователя, данные отслеживания, данные описания дизайна карты, цифровые счетчики, битовые карты и т.д.
[0059] Ключи 306 однократного использования могут представлять собой платежные жетоны, действительные для единичной платежной транзакции, которые могут использоваться блоком 204 обработки мобильного устройства 104 для генерации одной или более криптограмм приложений, используемых в платежной транзакции. В некоторых вариантах осуществления, ключ 306 однократного использования может включать в себя один или более из других элементов данных, включенных в профиль 302 платежа. Например, каждый ключ 306 однократного использования может включать в себя отдельный счетчик 312 транзакций приложений, который может быть не включен по отдельности в профиль 302 платежа. Различные конфигурации данных, хранящихся в профиле 302 платежа для использования при осуществлении раскрытых здесь функций, будут очевидны специалистам в данной области техники. В ряде случаев, ключ 306 однократного использования может включать в себя, или может состоять из, ключа, используемого для генерации одной или более криптограмм приложений. В некоторых вариантах осуществления, первый сеансовый ключ 308 и второй сеансовый ключ 310 могут быть включены в ключ 306 однократного использования, предоставляемый мобильному устройству 104, и/или сгенерированный с использованием данных, включенных в ключ 306 однократного использования.
[0060] Первый сеансовый ключ 308 и второй сеансовый ключ 310 могут быть дополнительными ключами, которые используются блоком 204 обработки при генерации криптограмм приложений, передаваемых торговой точке 110 в порядке проведения платежной транзакции с использованием мобильного устройства 104. В некоторых вариантах осуществления, первый сеансовый ключ 308 может использоваться при генерации первой криптограммы приложения блоком 204 обработки, например, с использованием программного кода, правил или алгоритмов, хранящихся в памяти 212 мобильного устройства 104. Второй сеансовый ключ 310 может использоваться при генерации второй криптограммы приложения.
[0061] В некоторых вариантах осуществления, второй сеансовый ключ 310 может генерироваться блоком 204 обработки. В таком варианте осуществления, второй сеансовый ключ 310 может генерироваться с использованием ключа 306 однократного использования и данных аутентификации пользователя, например, PIN, предоставляемого покупателем 108 (например, посредством блока 214 ввода). В таком варианте осуществления, второй сеансовый ключ 310 может не храниться в профиле 302 платежа, и вместо этого может генерироваться, использоваться и отвергаться как часть процесса платежной транзакции. Поэтому вторая криптограмма приложения может, будучи сгенерирована из второго сеансового ключа 310, который генерируется с использованием ключа 306 однократного использования и PIN покупателя, служить для аутентификации как мобильного устройства 104, так и покупателя 108.
[0062] Личный идентификационный номер (PIN), может быть числом, предоставленным покупателем 108 (например, в ходе регистрации MPA на мобильном устройстве 104 или регистрации транзакционного счета эмитентом 106 и/или сервером 102 управления транзакциями), которое можно использовать для аутентификации покупателя 108. При проведении платежной транзакции, покупатель 108 или другой пользователь мобильного устройства 104 может предоставлять PIN посредством блока 214 ввода. В некоторых вариантах осуществления, если предоставленный PIN неверен (например, не совпадает с PIN, предоставленным покупателем 108 в ходе регистрации), то блок 204 обработки может продолжать генерировать второй сеансовый ключ 310 и затем генерировать вторую криптограмму приложения. Если предоставленный PIN неверен, то вторая криптограмма приложения будет неверной, что приведет к неудаче удостоверения второй криптограммы приложения сервером 102 управления транзакциями, эмитентом 106 и/или платежной сетью 114, что может обеспечивать эмитенту 106 возможность отклонить транзакцию соответственно, или все же одобрить транзакцию.
Память мобильного устройства
[0063] Фиг. 4 демонстрирует вариант осуществления памяти 212 мобильного устройства 104 для хранения прикладных программ и других данных, подлежащих использованию в защищенном хранилище данных на мобильном устройстве 104 и для проведения платежных транзакций с использованием мобильного устройства 104. В иллюстративном варианте осуществления, память 212 может не быть защитным элементом.
[0064] Память 212 может включать в себя информацию 402 об устройстве. Информация 402 об устройстве может включать в себя один или более фрагментов данных, связанных с мобильным устройством 104, которые, в ряде случаев, могут быть уникальны для мобильного устройства 104. Например, информация 402 об устройстве может включать в себя адрес уровня управления доступом к среде, опорное число, порядковый номер, идентификационный номер и т.д. Дополнительная информация, которая может рассматриваться как информация 402 об устройстве мобильного устройства 104, будет очевидна специалистам в данной области техники.
[0065] Память 212 также может включать в себя приложение 404 мобильных платежей (MPA). MPA 404 может быть прикладной программой, выполненной с возможностью осуществления рассмотренных здесь функций мобильного устройства 104, например, получения и хранения реквизитов платежа, удостоверения сообщений RNS и генерации криптограмм приложений для использования при проведении платежных транзакций. Дополнительные признаки MPA 404 могут включать в себя традиционные признаки цифрового кошелька или другую аналогичную прикладную программу, что будет очевидно специалистам в данной области техники.
[0066] MPA 404 может включать в себя программный код 406. Программный код 406 может представлять собой код, выполняемый блоком 204 обработки мобильного устройства 104, который предписывает блок 204 обработки и другие компоненты мобильного устройства 104 для осуществления рассмотренных здесь функций MPA 404. Например, программный код 406 может включать в себя код, пригодный для генерации криптограмм приложений, удостоверения сообщений RNS и т.д. Программный код 406 также может включать в себя программный код, пригодный для генерации случайного значения, которое можно использовать при генерации усовершенствованного ключа хранения. Случайное значение может представлять собой случайное или псевдослучайное число, которые могут генерироваться с использованием способов и систем, которые будут очевидны специалистам в данной области техники.
[0067] MPA 404 также может включать в себя идентификатор 408 экземпляра. Идентификатор 408 экземпляра может представлять собой значение, уникальное для конкретного MPA 404, которые можно использовать при генерации усовершенствованного ключа хранения, используемого для защиты данных в мобильном устройстве 104, например, базы данных 208 карт. Благодаря наличию идентификатора 408 экземпляра, уникального для MPA 404, множественные MPA 404 можно устанавливать на мобильном устройстве 104, при этом ни одно MPA 404 не способно осуществлять доступ к данным, безопасно сохраненным любым другим MPA 404, что позволяет гарантировать, что профили 302 платежа для конкретных транзакционных счетов недоступны другим программам. Идентификатором 408 экземпляра может быть число, буквенно-числовое значение, шестнадцатеричное значение или любое пригодное значение, которое может быть уникально для MPA 404.
[0068] Как более подробно рассмотрено ниже, блок 204 обработки мобильного устройства 104 может быть выполнен с возможностью генерации значения диверсификатора с использованием информации 402 об устройстве, случайного значения, сгенерированного с использованием программного кода 406 MPA 404, и идентификатора 408 экземпляра, хранящегося в MPA 404. Значение диверсификатора может использоваться криптографическим приложением 410, также хранящимся в памяти 212. Криптографическое приложение 410 может быть прикладной программой, выполненной с возможностью осуществления криптографии по принципу белого ящика и/или любой другой пригодной криптографической функции, которая будет очевидна специалистам в данной области техники.
[0069] Криптографическое приложение 410 может включать в себя программный код 412. Программный код 412 может выполняться блоком 204 обработки мобильного устройства 104 для предоставления возможности блоку 204 обработки и другим компонентам мобильного устройства 104 осуществлять криптографические функции рассмотренного здесь криптографического приложения 410. Функции могут включать в себя генерацию усовершенствованного ключа хранения. Усовершенствованный ключ хранения может генерироваться с использованием значения диверсификатора, сгенерированного приложением 404 мобильных платежей, и ключа 414 шифрования, включенного в криптографическое приложение 410. В некоторых вариантах осуществления, ключ диверсификатора можно дешифровать с использованием ключа 414 шифрования для получения усовершенствованного ключа хранения.
[0070] Криптографическое приложение 410 также может быть выполнено с возможностью шифрования хранилища в мобильном устройстве 104 с использованием усовершенствованного ключа хранения. В некоторых вариантах осуществления, шифрование может осуществляться с использованием одного или более методов криптографии по принципу белого ящика. Зашифрованное хранилище может быть базой данных 208 карт и/или любым другим пригодным хранилищем в мобильном устройстве 104, например, данными, хранящимися в MPA 404. В некоторых вариантах осуществления, криптографическое приложение 410 может быть включено в состав MPA 404. Усовершенствованный ключ хранения может храниться в криптографическом приложении 410 или MPA 404, или, в ряде случаев, может повторно генерироваться MPA 404 и, при необходимости, криптографическим приложением 410.
[0071] Память 212 также может включать в себя любые дополнительные данные, хранящиеся в мобильном устройстве 104, пригодные для осуществления рассмотренных здесь функций, а также любых дополнительных функций мобильных устройств. Например, память 212 может включать в себя программный код для операционной системы, кода, правил или алгоритмов для осуществления мобильной связи, например, телефонных вызовов и т.д.
[0072] В некоторых вариантах осуществления, мобильное устройство 104 также может быть выполнено с возможностью приема данных, уже зашифрованных с использованием усовершенствованного ключа хранения, которые могут храниться в зашифрованном локальном хранилище в мобильном устройстве 104, например, в памяти 212, базе данных 208 карт или другом подходящем хранилище. В таком варианте осуществления, мобильное устройство 104 может быть выполнено с возможностью передачи сгенерированного случайного значения на сервер 102 управления транзакциями или другому доверенному субъекту, который может генерировать усовершенствованный ключ хранения с использованием тех же способов и систем с использованием сгенерированного случайного значения, и может шифровать данные, предоставляемые мобильному устройству 104. Таким образом, мобильное устройство 104 может принимать данные, уже зашифрованные с использованием усовершенствованного ключа хранения, для локального хранения в мобильном устройстве 104.
Сервер управления транзакциями
[0073] Фиг. 5 демонстрирует вариант осуществления сервера 102 управления транзакциями системы 100. Специалистам в данной области техники будет очевидно, что вариант осуществления сервера 102 управления транзакциями, представленного на фиг. 5, обеспечен только как иллюстрация и может не исчерпывать все возможные конфигурации сервера 102 управления транзакциями пригодного для осуществления рассмотренных здесь функций. Например, компьютерная система 1700, представленная на фиг. 17 и более подробно рассмотренная ниже, может быть пригодной конфигурацией сервера 102 управления транзакциями.
[0074] Сервер 102 управления транзакциями может включать в себя блок 502 приема. Блок 502 приема может быть выполнен с возможностью приема данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 502 приема может принимать данные от мобильного устройства 104, например, сообщения получения или возврата, сообщения подтверждения, извещения транзакции и т.д., платежной сети 114, эмитента 106 или другого подходящего субъекта. Блок 502 приема может принимать извещения транзакции или запросы криптограммы, например, для инициирования генерации криптограмм приложений для использования при удостоверении реквизитов платежа в платежной транзакции. Блок 502 приема также может принимать данные транзакционного счета, например от эмитента 106, для использования при генерации реквизитов платежа для предоставления мобильному устройству 104.
[0075] Сервер 102 управления транзакциями также может включать в себя блок 504 обработки. Блок 504 обработки может быть выполнен с возможностью осуществления рассмотренных здесь функций сервера 102 управления транзакциями, что будет очевидно специалистам в данной области техники. Таким образом, блок 504 обработки может быть выполнен с возможностью генерации и шифрования сообщений RNS и включенных в них данных, удостоверения сообщений возврата от мобильного устройства 104, генерации реквизитов платежа, генерации криптограмм приложений, удостоверения криптограмм приложений и т.д., как более подробно рассмотрено ниже.
[0076] Сервер 102 управления транзакциями может дополнительно включать в себя блок 506 передачи. Блок 506 передачи может быть выполнен с возможностью передачи данных по одной или более сетям посредством одного или более сетевых протоколов. Блок 506 передачи может передавать сообщения RNS, реквизиты платежа, криптограммы приложений, извещения удостоверения и другие данные, которые будут очевидны специалистам в данной области техники. Блок 506 передачи может быть выполнен с возможностью передачи данных на мобильное устройство 104, например, посредством сети мобильной связи или интернета, платежной сети 114, эмитента 106 и любого другого пригодного субъекта.
[0077] Сервер 102 управления транзакциями также может включать в себя базу данных 508 счетов. База данных 508 счетов, более подробно рассмотренная ниже, может быть выполнена с возможностью сохранения информация счета для нескольких транзакционных счетов. Информация счета может включать в себя данные и ключи, используемые для генерации криптограмм приложений, используемых при удостоверении реквизитов платежа, принятых в ходе платежных транзакций, проводимых с использованием мобильного устройства 104. База данных 508 счетов также может быть выполнена с возможностью сохранения данных транзакции для платежных транзакций, проводимых с участием мобильного устройства 104, и других данных, например, данных, связанных с покупателем 108 или другими авторизованными пользователями соответствующего транзакционного счета.
[0078] Сервер 102 управления транзакциями также может включать в себя память 510. Память 510 может быть выполнена с возможностью сохранения дополнительных данных для использования сервером 102 управления транзакциями при осуществлении раскрытых здесь функций. Например, память 510 может сохранять правила или алгоритмы для удостоверения криптограмм приложений, правила или алгоритмы для генерации извещений удостоверения, алгоритмы для генерации сеансовых ключей и криптограмм приложений, ключи шифрования для шифрования и дешифрования данных и сообщений RNS и т.д. Дополнительные данные, которые могут храниться в памяти 510, будут очевидны специалистам в данной области техники.
Сервер управления транзакциями база данных счетов
[0079] Фиг. 6 демонстрирует вариант осуществления базы данных 508 счетов сервера 102 управления транзакциями для хранения данных, связанных с транзакционными счетами для использования при удостоверении реквизитов платежа и других данных транзакции, предоставляемых при проведении платежных транзакций, включающих в себя мобильное устройство 104.
[0080] База данных 508 счетов может включать в себя несколько профилей 602 счетов, представленных на фиг. 6 как профилей 602a, 602b и 602c счетов. Каждый профиль 602 счета может включать в себя один или более ключей 604 однократного использования, первый сеансовый ключ 606, второй сеансовый ключ 608, счетчик 610 транзакций приложений и первый главный ключ 612 карты. В некоторых вариантах осуществления, профиль 602 счета может дополнительно включать в себя второй главный ключ 612 карты.
[0081] Каждый профиль 602 счета может соответствовать профилю 302 платежа, предоставляемому мобильному устройству 104. Таким образом, ключи 604 однократного использования, хранящиеся в профиле 602 счета, могут соответствовать ключам 306 однократного использования, хранящимся в соответствующем профиле 302 платежа, связанном с тем же транзакционным счетом. Данные могут быть аналогичны, благодаря чему, когда криптограмма приложения генерируется сервером 102 управления транзакциями или мобильным устройством 104, криптограммы приложений должны совпадать, если данные являются точными и не повреждены, что может позволить удостоверять реквизиты платежа, представленные мобильным устройством 104.
[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 управления транзакциями, соответствуют на основании используемых на них данных.
[0083] Первый сеансовый ключ 606 может использоваться блоком 504 обработки сервера 102 управления транзакциями для генерации первой криптограммы приложения, и второй сеансовый ключ 608 может использоваться для генерации второй криптограммы приложения. В некоторых вариантах осуществления, счетчик 610 транзакций приложений может использоваться при генерации одного или более из сеансовых ключей и/или криптограмм приложений. Счетчик 610 транзакций приложений может быть значением, соответствующим проводимой платежной транзакции, который получает приращение или иначе изменяется в ходе каждой транзакции. Счетчик 610 транзакций приложений может соответствовать счетчику 312 транзакций приложений, хранящемуся в соответствующем профиле 302 платежа в мобильном устройстве 104, таким образом, что его использование может гарантировать, что только действительное MPA 404 может обладать верным счетчиком 312 транзакций приложений для генерации действительных сеансовых ключей и/или криптограмм приложений. Могут использоваться дополнительные методы для дополнительного повышения защиты сеансового ключа и/или генерации криптограммы приложения, например непредсказуемых чисел и другие методы, которые будут очевидны специалистам в данной области техники.
Обработка платежных транзакций с использованием мобильного устройства
[0084] Фиг. 7 демонстрирует процесс обработки платежных транзакций, проводимых с использованием мобильного устройства 104 без защитного элемента и с использованием генерации и удостоверения двух или более криптограмм приложений.
[0085] На этапе 702, сервер 102 управления транзакциями может предоставлять (например, посредством блока 506 передачи) реквизиты 304 платежа и другие данные счета мобильному устройству 104, например, посредством сообщения RNS, более подробно рассмотренного ниже. На этапе 704, блок 202 приема мобильного устройства 104 может принимать реквизиты 304 платежа и другие данные счета. На этапе 706, блок 204 обработки мобильного устройства 104 может сохранять данные в профиле 302 платежа в базе данных 208 карт. Данные счета могут включать в себя реквизиты 304 платежа, один или более ключей 308 однократного использования и любые другие пригодные данные, например, один или более из сеансовых ключей 308 и 310.
[0086] На этапе 708, блок 204 обработки может генерировать две криптограммы приложений для использования при проведении платежной транзакции. В некоторых вариантах осуществления, этап 708 может инициироваться покупателем 108, например, путем указания посредством блока 214 ввода, путем размещения мобильного устройства 104 вблизи торговой точки 110 для инициирования транзакции посредством ближней бесконтактной связи, или другим подходящим способом. Генерация криптограмм приложений может включать в себя генерацию первой криптограммы приложения с использованием первого сеансового ключа 308, хранящегося в профиле 302 платежа. Вторая криптограмма приложения может генерироваться с использованием второго сеансового ключа 310, который может генерироваться с использованием ключа 306 однократного использования и PIN 314. В ряде случаев, покупатель 108 может вводить PIN в мобильное устройство 104 (например, посредством блока 214 ввода) до этапа 708 или в ходе инициирования этапа 708. В некоторых вариантах осуществления, одна или обе из криптограмм приложений также может/ут генерироваться с использованием счетчика 312 транзакций приложений.
[0087] После генерации криптограмм приложений, они, совместно с реквизитами 304 платежа, могут передаваться эмитенту 106 посредством торговой точки 110, эквайера 112 и платежной сети 114. Реквизиты 304 платежа и криптограммы приложений могут приниматься эмитентом 106 на этапе 710. На этапе 712, блок 206 передачи мобильного устройства 104 может передавать извещение транзакции на сервер 102 управления транзакциями. На этапе 714, блок 502 приема сервера 102 управления транзакциями может принимать извещение транзакции. Извещение транзакции может извещать сервер 102 управления транзакциями о том, что мобильное устройство 104 инициировало платежную транзакцию с использованием профиля 302 платежа. В ряде случаев, извещение транзакции может включать в себя идентификационную информацию.
[0088] На этапе 716, блок 504 обработки сервера 102 управления транзакциями может идентифицировать профиль 602 счета, соответствующий профилю 302 платежа, и может генерировать две криптограммы приложений с использованием содержащихся в нем данных. Первая криптограмма приложения может генерироваться с использованием первого сеансового ключа 606, который может генерироваться с использованием первого главного ключа 612 карты. Вторая криптограмма приложения может генерироваться с использованием второго сеансового ключа 608. В некоторых вариантах осуществления, одна или обе из криптограмм приложений и/или сеансовых ключей могут быть дополнительно основаны на ключах 604 однократного использования, счетчике 610 транзакций приложений или любых других пригодных данных.
[0089] На этапе 718, блок 506 передачи сервера 102 управления транзакциями может передавать сгенерированные криптограммы приложений эмитенту 106, который может принимать криптограммы на этапе 718. На этапе 720, эмитент 106 может удостоверять криптограммы приложений, предоставляемые мобильным устройством 104 совместно с реквизитами 304 платежа. Удостоверение криптограмм приложений может включать в себя сравнение криптограмм, предоставленных мобильным устройством 104, с криптограммами приложений, сгенерированными и предоставленными сервером 102 управления транзакциями. После осуществления удостоверения, на этапе 722, эмитент 106 может соответственно обрабатывать транзакцию. Обработка транзакций может включать в себя одобрение платежной транзакции, например, если одна или обе из криптограмм удостоверены, или отклонение платежной транзакции, например, если определено, что одна или обе из криптограмм недействительны.
[0090] На этапе 724, извещение транзакции может передаваться эмитентом 106 или другим субъектом (например, платежной сетью 114, эквайером 112 и т.д.) в порядке обработки платежной транзакции. Извещение транзакции может передаваться на сервер 102 управления транзакциями и приниматься блоком 502 приема, на этапе 726. Извещение транзакции также может приниматься блоком 202 приема мобильного устройства 104, на этапе 728. Извещение транзакции может указывать одобрение или отклонение платежной транзакции. Каждый из блоков 204 и 504 обработки мобильного устройства 104 и сервера 102 управления транзакциями, соответственно, может осуществлять одну или более функций в результате приема извещения транзакции. Например, если транзакция была одобрена и успешно обработана, счетчики 310 и 610 транзакций приложения в соответствующих профилях могут соответственно обновляться.
[0091] Фиг. 8 демонстрирует альтернативный процесс обработки платежной транзакции с использованием мобильного устройства 104.
[0092] На этапе 802, реквизиты 304 платежа и другие данные счета могут передаваться на мобильное устройство 104 блоком 506 передачи сервера 102 управления транзакциями. На этапе 804, блок 202 приема мобильного устройства 104 может принимать реквизиты 304 платежа и другие данные счета, которые могут храниться в профиле 302 платежа на этапе 806. На этапе 808, блок 204 обработки мобильного устройства 104 может генерировать две криптограммы приложений, как рассмотрено выше, и может передавать криптограммы, реквизиты 304 платежа, и другие пригодные данные эмитенту 106 (например, посредством торговой точки 110).
[0093] На этапе 810, эмитент 106 может принимать криптограммы приложений и любые другие пригодные данные, которые могут использоваться эмитентом 106 для удостоверения данных транзакции и/или обработки одобрения или отклонения транзакции. На этапе 812, эмитент 106 может подавать запрос на криптограммы удостоверения на сервер 102 управления транзакциями. В некоторых вариантах осуществления, запрос может включать в себя реквизиты 304 платежа или другие данные, пригодные для использования сервером 102 управления транзакциями при идентификации профиля 602 счета, подлежащего использованию для генерации криптограмм удостоверения. В одном варианте осуществления, запрос может дополнительно включать в себя две криптограммы приложений, сгенерированные мобильным устройством 104 для удостоверения.
[0094] На этапе 814, блок 502 приема сервера 102 управления транзакциями может принимать запрос криптограммы. На этапе 816, блок 504 обработки сервера 102 управления транзакциями может генерировать две криптограммы приложений, подлежащие использованию для удостоверения, как рассмотрено выше. В вариантах осуществления, где запрос криптограммы также включает в себя две криптограммы приложений, сгенерированные мобильным устройством 104, этап 816 также может включать в себя удостоверение двух криптограмм блоком 504 обработки с использованием двух вновь сгенерированных криптограмм приложений. Криптограммы удостоверения или результат удостоверения в применимых вариантах осуществления, может передаваться блоком 506 передачи эмитенту 106. На этапе 818, эмитент 106 может принимать криптограммы удостоверения и/или результат удостоверения.
[0095] На этапе 820, эмитент 106 может удостоверять криптограммы приложений, предоставляемые мобильным устройством 104, с использованием криптограмм приложений, сгенерированных сервером 102 управления транзакциями. В вариантах осуществления, где сервер 102 управления транзакциями сообщает результат удостоверения эмитенту 106, этап 820 может включать в себя идентификацию результата удостоверения каждой из двух криптограмм приложений. На этапе 822, эмитент 106 может обрабатывать платежную транзакцию соответственно на основании результата удостоверения. На этапе 824, извещения транзакции, принятые соответствующими блокам 502 и 202 приема на этапах 826 и 828, могут передаваться, соответственно, на сервер 102 управления транзакциями и мобильное устройство 104.
Служба удаленного извещения и обмен сообщениями данных
[0096] Фиг. 9 демонстрирует процесс передачи и удостоверения сообщений службы удаленного извещения (RNS) и других сообщений данных, передаваемых от сервера 102 управления транзакциями на мобильное устройство 104. Сообщения RNS могут передаваться посредством службы удаленного извещения, например, той, которая использует сеть мобильной связи, связанную с мобильным устройством 104. Сообщения RNS могут использоваться для предоставления реквизитов 304 платежа и других данных счета мобильному устройству 104, например, данных счета, используемых при обработке платежных транзакций, как рассмотрено выше, и другой информации, которую можно использовать при установлении защищенного соединения между мобильным устройством 104 и сервером 102 управления транзакциями.
[0097] На этапе 902, блок 504 обработки сервера 102 управления транзакциями может генерировать сообщение. В случаях, когда взаимная аутентификация устанавливается с помощью мобильного устройства 104, сообщение может включать в себя информацию, пригодную для установления взаимной аутентификации, например, идентификатора сеанса. В других случаях, например, когда взаимная аутентификация установлена между сервером 102 управления транзакциями и мобильным устройством 104 с использованием, представленного на фиг. 9 и рассмотренного здесь процесса, сгенерированное сообщение может включать в себя реквизиты 304 платежа и данные счета, может включать в себя одну или более команд, подлежащих выполнению MPA 404 мобильного устройства 104 (например, удаления ключей 306 однократного использования или реквизитов 304 платежа и т.д.), может представлять собой извещения, подлежащие представлению покупателю 108 (например, остаток на счете, платежные извещения и т.д.), или включать в себя другие пригодные данные.
[0098] На этапе 904, блок 504 обработки может шифровать сгенерированное сообщение. Сообщение может шифроваться с использованием личного ключа пары личного/открытого ключей, причем мобильное устройство 104 может обладать соответствующим открытым ключом. В ряде случаев, сообщение может шифроваться с использованием ключа шифрования, связанного с мобильным устройством 104 или MPA 404, например, ключа 414 шифрования. На этапе 906, блок 504 обработки может генерировать код аутентификации сообщения. Код аутентификации сообщения может генерироваться с использованием зашифрованного сообщения и может представлять собой ключ, который генерируется с использованием одного или более специально сконфигурированных правил и/или алгоритмов. Например, код аутентификации сообщения может генерироваться с использованием один или более способов шифрования и обфускации, например, заполнения. В некоторых вариантах осуществления, код аутентификации сообщения может генерироваться с использованием ключа шифрования.
[0099] На этапе 908, блок 506 передачи сервера 102 управления транзакциями может передавать комбинированное сообщение данных на мобильное устройство 104. В вариантах осуществления, где может осуществляться взаимная аутентификация, комбинированное сообщение данных может представлять собой сообщение службы удаленного извещения, передаваемое на мобильное устройство 104 посредством службы удаленного извещения. Комбинированное сообщение данных может приниматься блоком 202 приема мобильного устройства 104 на этапе 910 и может включать в себя код аутентификации сообщения и зашифрованное сообщение. В ряде случаев, комбинированное сообщение данных также может включать в себя дополнительный идентификатор, например, сгенерированный с использованием способов известных MPA 404 для его проверки. В ряде случаев, например, когда взаимная аутентификация уже осуществлена, комбинированное сообщение данных также может включать в себя счетчик сообщений.
[0100] На этапе 912, блок 204 обработки может генерировать опорный код аутентификации. Опорный код аутентификации может генерироваться с использованием принятого зашифрованного сообщения и может генерироваться с использованием тех же правил и алгоритмов, которые использовал сервер 102 управления транзакциями для генерации кода аутентификации сообщения, благодаря чему, сгенерированный опорный код аутентификации будет соответствовать коду аутентификации сообщения, если код аутентификации сообщения генерируется доверенным источником (например, сервером 102 управления транзакциями). В вариантах осуществления, где код аутентификации сообщения может генерироваться с использованием ключа шифрования, блок 204 обработки может генерировать опорный код аутентификации с использованием ключа 414 шифрования, хранящегося в памяти 212, или другого подходящего ключа шифрования.
[0101] На этапе 914, блок 204 обработки может удостоверять код аутентификации сообщения, включенный в принятое комбинированное сообщение данных путем его сравнения со сгенерированным опорным кодом аутентификации. Если счетчик сообщений и код аутентификации сообщения удостоверены, то комбинированное сообщение данных можно определить как доверенное (например, подлинное) при поступлении от сервера 102 управления транзакциями. В случаях, когда комбинированное сообщение данных может включать в себя идентификатор сообщения, блок 204 обработки также может удостоверять идентификатор сообщения путем генерации идентификатора сообщения с использованием процесса, известного MPA 404 для его генерации и сравнения. В вариантах осуществления, где комбинированное сообщение данных может включать в себя счетчик сообщений, блок 204 обработки может удостоверять счетчик сообщений, включенный в принятое комбинированное сообщение данных с помощью опорного счетчика, хранящегося в мобильном устройстве 104, например, в MPA 404 или в профиле 502 платежа.
[0102] На этапе 916, блок 204 обработки может дешифровать зашифрованное сообщение, включенное в принятое комбинированное сообщение данных. Зашифрованное сообщение можно дешифровать с использованием ключа, например, хранящегося в памяти 212 (например, в криптографическом приложении 410 или MPA 404) или хранящегося в локальной зашифрованной базе данных (например, зашифрованной с использованием усовершенствованного ключа хранения), или другим подходящим способом дешифрования. На этапе 918, блок 204 обработки может осуществлять одно или более надлежащих действий на основании данных, дешифрованных из зашифрованного сообщения. В примере, представленном на фиг. 9, мобильное устройство 104 может осуществлять взаимную аутентификацию с сервером 102 управления транзакциями, например, с использованием идентификатора сеанса, включенного в зашифрованное сообщение и дешифрованного блоком 204 обработки. На этапе 920, сервер 102 управления транзакциями может принимать идентификатор сеанса и осуществлять любые дополнительные действия, необходимые для взаимной аутентификации с помощью мобильного устройства 104. В случаях, когда взаимная аутентификация уже осуществлена, сообщение может включать в себя другую информацию, пригодную для осуществления раскрытых здесь функций, например, реквизиты 404 платежа, ключи 406 однократного использования, программные инструкции для MPA 404 и т.д.
[0103] В некоторых вариантах осуществления, мобильное устройство 104 может быть выполнено с возможностью (например, посредством MPA 404) генерации и передачи сообщения возврата на сервер 102 управления транзакциями. В ряде случаев, сообщение возврата может включать в себя данные, сгенерированные в ответ на действиях, осуществляемых согласно предписанию в дешифрованном сообщении, как рассмотрено выше. Например, сообщение возврата может указывать действительные получение и хранение реквизитов 304 платежа или ключей 306 однократного использования. В других случаях, сообщение возврата может быть извещением получения и удостоверения комбинированного сообщения данных. В случаях, когда сначала осуществляется взаимная аутентификация, сообщение возврата может включать в себя идентификатор сеанса, используемый для осуществления взаимной аутентификации.
[0104] Фиг. 10A и 10B демонстрируют процесс генерации и передачи сообщения возврата мобильным устройством 104 и его удостоверения сервером 102 управления транзакциями.
[0105] На этапе 1002, блок 204 обработки мобильного устройства 104 может генерировать сообщение получения. Сообщение получения может генерироваться на основании программного кода 406, хранящегося в MPA 404, и может дополнительно основываться на действиях, осуществляемых, как указано в дешифрованном комбинированном сообщении данных, принятом от сервера 102 управления транзакциями. Например, сообщение получения может включать в себя извещение успешного получения и сохранения реквизитов 304 платежа. На этапе 1004, блок 204 обработки может увеличивать счетчик получения. Счетчик получения может быть счетчиком, указывающим количество сообщений получения, переданных на сервер 102 управления транзакциями. Счетчик получения может храниться в памяти 212, например в MPA 404, или в базе данных, зашифрованных с использованием усовершенствованного ключа хранения. Специалистам в данной области техники будет очевидно, что этап 1004 может быть необязательным этапом и может использоваться только в случаях, когда счетчик используется для удостоверения сообщения данных.
[0106] На этапе 1006, блок 204 обработки может шифровать сообщение получения. Сообщение получения может шифроваться с использованием ключа 414 шифрования, хранящегося в криптографическом приложении 410, или может иначе сохраняться в MPA 404 или локально зашифрованной базе данных. Ключ шифрования, используемый для шифрования сообщения получения, может быть личным ключом в составе пары ключей, причем соответствующий открытый ключ хранится на сервере 102 управления транзакциями. На этапе 1008, блок 204 обработки может генерировать код аутентификации получения на основании зашифрованного сообщения получения. В некоторых вариантах осуществления, код аутентификации получения может генерироваться с использованием тех же правил, алгоритмов и/или процессов, которые используются для генерации опорного кода аутентификации, проиллюстрированного на этапе 912, рассмотренном выше со ссылкой на фиг. 9.
[0107] На этапе 1010, блок 206 передачи мобильного устройства 104 может передавать сообщение извещения о получении на сервер 102 управления транзакциями. Сообщение извещения о получении может приниматься блоком 502 приема сервера 102 управления транзакциями и может включать в себя, по меньшей мере, код аутентификации получения, зашифрованное сообщение получения и счетчик получения. В некоторых вариантах осуществления, сообщение извещения о получении может передаваться на сервер 102 управления транзакциями с использованием сети мобильной связи, например сотовой сети, связанной с мобильным устройством 104.
[0108] На этапе 1014, блок 504 обработки сервера 102 управления транзакциями может увеличивать счетчик подтверждения. Счетчик подтверждения может указывать количество сообщений, принятых от мобильного устройства 104, используемых для удостоверения сообщений, принятых от мобильного устройства 104. Счетчик подтверждения может храниться в памяти 510 сервера 102 управления транзакциями или другом подходящем хранилище данных. Например, в некоторых вариантах осуществления, счетчик подтверждения может храниться в профиле 602 счета, связанном с мобильным устройством 104. В одном примере, каждый профиль 602 счета может включать в себя счетчик подтверждения (например, и/или счетчик сообщений), подлежащий использованию для сообщений, передаваемых на/от сервера 102 управления транзакциями и мобильного устройства 104, связанного с соответствующим транзакционным счетом. Специалистам в данной области техники будет очевидно, что этап 1014 может быть необязательным этапом, и может не осуществляться в случаях, когда счетчик может не использоваться для удостоверения сообщений возврата.
[0109] На этапе 1016, блок 504 обработки может генерировать код аутентификации подтверждения. Код аутентификации подтверждения может генерироваться на основании зашифрованного сообщения получения, включенного в сообщение извещения о получении, и может генерироваться с использованием тех же правил, алгоритмов и/или процессов, которые используются для генерации кода аутентификации сообщения. На этапе 1018, блок 504 обработки может удостоверять счетчик получения, включенный в сообщение извещения о получении, путем его сравнения со счетчиком подтверждения. На этапе 1020, блок 504 обработки может удостоверять код аутентификации получения путем его сравнения с кодом аутентификации сообщения, чтобы гарантировать, что сообщение исходит от авторизованного мобильного устройства 104.
[0110] После удостоверения счетчика (например, если применимо) и кода аутентификации, на этапе 1022, блок 504 обработки может дешифровать зашифрованное сообщение, включенное в принятое сообщение извещения о получении. Зашифрованное сообщение можно дешифровать с использованием сохраненного ключа шифрования или другим подходящим способом дешифрования. Зашифрованное сообщение можно дешифровать для получения сообщения получения, сгенерированного мобильным устройством 104. На этапе 1024, блок 504 обработки может осуществлять любые необходимые действия на основании данных, включенных в сообщение получения. Например, если сообщение получения включает в себя указание успешного получения и сохранения ключей 306 однократного использования, блок 204 обработки может активировать соответствующие ключи 604 однократного использования в соответствующем профиле 602 счета.
Удостоверение сообщений данных
[0111] Фиг. 11 демонстрирует процесс 1100 удостоверения сообщений данных, принятых мобильным устройством 104 от сервера 102 управления транзакциями.
[0112] На этапе 1102, блок 204 обработки мобильного устройства 104 может сохранять ключи шифрования, ключи генерации аутентификации и правила и/или алгоритмы их использования и применения в локальном хранилище, например, в памяти 212 или локально зашифрованном хранилище, зашифрованном с использованием усовершенствованного ключа хранения. На этапе 1104, блок 202 приема мобильного устройства 104 может принимать сообщение данных от сервера 102 управления транзакциями. В некоторых вариантах осуществления, сообщение данных может приниматься от сервера 102 управления транзакциями после установления взаимной аутентификации между двумя устройствами, например, с использованием процесса, представленного на фиг. 9 и рассмотренного выше. Сообщение данных может включать в себя, по меньшей мере, счетчик сообщений, код аутентификации сообщения и зашифрованное сообщение.
[0113] На этапе 1106, блок 204 обработки может увеличивать опорный счетчик. Опорный счетчик может храниться в памяти 212 или в другом локальном хранилище и может использоваться для указания количества сообщений, принятых от сервера 102 управления транзакциями. В ряде случаев, опорный счетчик может увеличиваться с использованием алгоритма, таким образом, что опорный счетчик может увеличиваться не с использованием последовательных чисел, но посредством алгоритма, известного мобильному устройству 104 (например, посредством MPA 404) и серверу 102 управления транзакциями.
[0114] На этапе 1108, блок 204 обработки может удостоверять счетчик сообщений, включенный в принятое сообщение данных. Удостоверение счетчика сообщений может включать в себя сравнение счетчика сообщений со значением опорного счетчика после увеличения. Неудачное удостоверение может указывать, что источник сообщения данных не является сервером 102 управления транзакциями или так или иначе не является доверенным. Если удостоверение завершается неудачей, то, на этапе 1110, блок 204 обработки может осуществлять одно или более надлежащих действий, связанных с неудачным получением и/или удостоверением сообщения данных. Например, блок 204 обработки может отвергать сообщение данных, может извещать сервер 102 управления транзакциями, может блокировать соответствующий профиль 302 платежа, или совершать другие действия, которые будут очевидны специалистам в данной области техники.
[0115] Если удостоверение счетчика сообщений проходит успешно, то процесс 1100 может переходить к этапу 1112, где зашифрованное сообщение может заполняться. Заполнение зашифрованного сообщения может включать в себя добавление значений к зашифрованному сообщению или связанным с ним данным. Заполнение может использоваться для повышения безопасности процесса удостоверения сообщений, поскольку мобильному устройству 104 и серверу 102 управления транзакциями может потребоваться осуществлять другую функцию, известную им обоим, которую неавторизованному субъекту придется продублировать, чтобы успешно передавать или принимать сообщение данных без авторизации. Специалистам в данной области техники будет очевидно, что этап 1112 может быть необязательным этапом. В некоторых вариантах осуществления, этап 1112 может применяться в ряде случаев процесса 1110. Например, зашифрованное сообщение может заполняться при определенных приращениях опорного счетчика.
[0116] На этапе 1114, блок 204 обработки может генерировать опорный код аутентификации. Опорный код аутентификации может генерироваться на основании зашифрованного сообщения (например, заполненного, если применимо) с использованием одного или более правил или алгоритмов, например, сохраненных на этапе 1102. В некоторых вариантах осуществления, опорный код аутентификации может представлять собой ключ или может представлять собой значение, сгенерированное путем применения ключа к зашифрованному сообщению. На этапе 1116, блок 204 обработки может удостоверять код аутентификации сообщения, принятый в сообщении RNS. Удостоверение кода аутентификации сообщения может включать в себя сравнение кода со сгенерированным опорным кодом аутентификации, в качестве другого способа идентификации, если принятое сообщение данных исходит из авторизованного источника (например, сервера 102 управления транзакциями).
[0117] Если удостоверение кода аутентификации сообщения завершается неудачей, процесс 1100 может переходить к этапу 1110, где осуществляется обработка неудачи. Если удостоверение кода аутентификации сообщения проходит успешно, то, на этапе 1118, зашифрованное сообщение, включенное в принятое сообщение данных, может дешифроваться блоком 204 обработки. Сообщение можно дешифровать с использованием одного или более ключей шифрования/дешифрования, правил и/или алгоритмов, например, сохраненных в мобильном устройстве 104 на этапе 1102. Например, ключ 414 шифрования, хранящийся в криптографическом приложении 410 памяти 212, может использоваться для дешифрования зашифрованного сообщения. На этапе 1120, блок 204 обработки может осуществлять одно или более надлежащих действий на основании содержимого дешифрованного сообщения. Например, если дешифрованное сообщение включает в себя ключи 306 однократного использования, ключи 306 однократного использования могут храниться в надлежащем профиле 302 платежа базы данных 208 карт, который, таким образом, может быть зашифрован с использованием усовершенствованного ключа хранения.
Усовершенствованный ключ хранения
[0118] Фиг. 12 демонстрирует генерацию и использование усовершенствованного ключа хранения мобильным устройством 104 для безопасного хранения данных в мобильном устройстве 104, например, профилей 302 платежа и других данных, с обеспечением безопасного хранения и доступа в мобильном устройстве 104 без использования защитных элементов.
[0119] Информация 402 об устройстве, хранящаяся в памяти 212 мобильного устройства 104, может включать в себя три или более фрагментов информации 1202 об устройстве, представленных на фиг. 12 в качестве информации 1202a, 1202b и 1202c об устройстве. Каждый фрагмент информации 1202 об устройстве может быть связан с мобильным устройством 104. В ряде случаев, каждый фрагмент информации 1202 об устройстве может быть уникален для мобильного устройства 104. В других случаях, один или более из фрагментов информации 1202 об устройстве может не быть уникальным для мобильного устройства 104 (например, номер модели), но три фрагмента информации 1202 об устройстве вместе взятые могут быть уникальны для мобильного устройства 104 (например, уникальной комбинацией). Фрагментами информации 1202 об устройстве могут быть данные, которые не будут изменяться на протяжении срока службы мобильного устройства 104.
[0120] Блок 204 обработки мобильного устройства 104 может генерировать характерный признак 1204 мобильного устройства на основании трех фрагментов информации 1202a, 1202b и 1202c об устройстве. Характерный признак 1204 мобильного устройства может представлять собой значение, уникальное для мобильного устройства 104, и может генерироваться с использованием одного или более правил или алгоритмов, хранящихся в памяти 212, например, включенных в программный код 406 MPA 404. Характерным признаком 1204 мобильного устройства может быть, например, численное значение, шестнадцатеричное значение, строка символов и т.д.
[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.
[0122] Затем блок 204 обработки может генерировать усовершенствованный ключ 1210 хранения путем применения ключа 414 шифрования, хранящегося в криптографическом приложении 410, к значению 1208 диверсификатора. В ряде случаев, усовершенствованный ключ 1210 хранения может генерироваться путем дешифрования значения 1208 диверсификатора с использованием ключа 414 шифрования. В других случаях, усовершенствованный ключ 1210 хранения может представлять собой значение, полученное шифрованием значения 1208 диверсификатора с использованием ключа 414 шифрования. В некоторых вариантах осуществления, усовершенствованный ключ 1210 хранения может генерироваться в результате осуществления криптографии по принципу белого ящика с использованием ключа 414 шифрования и значения 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 однократного использования и других данных счета, и может обеспечивать безопасное хранение конфиденциальной информации счета без использования защитных элементов.
[0124] В некоторых вариантах осуществления, ключ хранения также может использоваться сервером 102 управления транзакциями для предоставления зашифрованных данных мобильному устройству 104 для хранения в зашифрованной локальной базе данных 1214. Например, блок 206 передачи мобильного устройства 104 может передавать сгенерированное случайное значение 1206 на сервер 102 управления транзакциями. В ряде случаев, идентификатор 408 экземпляра также может передаваться на сервер 102 управления транзакциями, или может предварительно сохраняться на сервера 102 управления транзакциями, например в ходе регистрации MPA 404. Затем сервер 102 управления транзакциями может генерировать сам усовершенствованный ключ 1210 хранения, шифровать данные, предоставляемые мобильному устройству 104, например, реквизиты 304 платежа, ключи 306 однократного использования и т.д., с использованием усовершенствованного ключа 1210 хранения, и затем передавать зашифрованные данные на мобильное устройство 104. Затем мобильное устройство 104 может сохранять уже зашифрованные данные в зашифрованной локальной базе данных 1214.
Первый иллюстративный способ генерации реквизитов платежа в платежной транзакции
[0125] Фиг. 13 демонстрирует способ 1300 генерации реквизитов платежа в платежной транзакции, включающий в себя использование двух криптограмм приложений для безопасного использования реквизитов платежа в мобильном устройстве 104 без защитного элемента.
[0126] На этапе 1302, по меньшей мере, ключ однократного использования (например, ключ 306 однократного использования) может сохраняться в памяти (например, профиле 302 платежа), связанной с транзакционным счетом. В некоторых вариантах осуществления, память 302 может быть памятью незащищенных элементов в мобильном устройстве связи (например, мобильном устройстве 104). На этапе 1304, личный идентификационный номер (PIN) может приниматься принимающим устройством (например, блоком 202 приема и/или блоком 214 ввода).
[0127] На этапе 1306, первый сеансовый ключ (например, первый сеансовый ключ 308) может идентифицироваться устройством обработки (например, блоком 204 обработки). На этапе 1308, второй сеансовый ключ (например, второй сеансовый ключ 310) может генерироваться устройством 204 обработки на основании, по меньшей мере, сохраненного ключа 306 однократного использования и принятого PIN.
[0128] На этапе 1310, первая криптограмма приложения может генерироваться устройством 204 обработки на основании, по меньшей мере, первого сеансового ключа 308. На этапе 1312, вторая криптограмма приложения может генерироваться устройством 204 обработки на основании, по меньшей мере, второго сеансового ключа 310.
[0129] На этапе 1314, по меньшей мере, первая криптограмма приложения и вторая криптограмма приложения могут передаваться передающим устройством (например, блоком 206 передачи) для использования в платежной транзакции. В некоторых вариантах осуществления, первая криптограмма приложения и вторая криптограмма приложения могут передаваться на устройство торговой точки (например, торговую точку 110). В одном варианте осуществления, способ 1300 может дополнительно включать в себя сохранение, в памяти 302, главного ключа карты, связанного с транзакционным счетом, причем идентификация первого сеансового ключа 308 включает в себя генерацию, устройством 204 обработки, первого сеансового ключа 308 на основании, по меньшей мере, сохраненного главного ключа карты.
[0130] В некоторых вариантах осуществления, способ 1300 также может включать в себя сохранение, в памяти 302, счетчика транзакций приложений (например, счетчик 312 транзакций приложений), причем идентификация первого сеансового ключа 308 включает в себя генерацию, устройством 204 обработки, первого сеансового ключа 308 на основании, по меньшей мере, сохраненного счетчика 312 транзакций приложений. В одном варианте осуществления, способ 1300 может дополнительно включать в себя удостоверение, устройством 204 обработки, принятого PIN до генерации второго сеансового ключа 310. В дополнительном варианте осуществления, устройство 204 обработки может быть выполнено с возможностью генерации недействительного второго сеансового ключа 310, если удостоверение принятого PIN завершается неудачей.
Второй иллюстративный способ генерации реквизитов платежа в платежной транзакции
[0131] Фиг. 14 демонстрирует способ 1400 для генерации реквизитов платежа в платежной транзакции, включающий в себя использование двух криптограмм приложений для удостоверения реквизитов платежа, сгенерированных мобильным устройством 104 без использования защитного элемента.
[0132] На этапе 1402, по меньшей мере, главный ключ карты (например, первый главный ключ 612 карты) может сохраняться в памяти (например, профиле 602 счета), связанной с транзакционным счетом. На этапе 1404, первый сеансовый ключ (например, первый сеансовый ключ 606) может генерироваться устройством обработки (например, устройством 504 обработки) на основании, по меньшей мере, сохраненного главного ключа 612 карты. На этапе 1406, второй сеансовый ключ (например, второй сеансовый ключ 608) может генерироваться устройством 504 обработки.
[0133] На этапе 1408, первая криптограмма приложения может генерироваться устройством 504 обработки на основании, по меньшей мере, первого сеансового ключа 606. На этапе 1410, вторая криптограмма приложения может генерироваться устройством 504 обработки на основании, по меньшей мере, второго сеансового ключа 608. На этапе 1412, по меньшей мере, первая криптограмма приложения и вторая криптограмма приложения могут передаваться передающим устройством (например, блоком 506 передачи) для использования в платежной транзакции.
[0134] В одном варианте осуществления, способ 1400 может дополнительно включать в себя сохранение, в памяти 602, порядкового номера транзакционного счета, связанного с транзакционным счетом, причем первый сеансовый ключ дополнительно базируется на сохраненном порядковом номере транзакционного счета. В некоторых вариантах осуществления, способ 1400 также может включать в себя сохранение, в памяти 602, второго главного ключа карты (например, второго главного ключа 614 карты), связанного с транзакционным счетом, причем второй сеансовый ключ 608 базируется на, по меньшей мере, сохраненном втором главном ключе 614 карты.
[0135] В одном варианте осуществления, способ 1400 может дополнительно включать в себя: прием, принимающим устройством (например, блоком 502 приема), первой соответствующей криптограммы приложения и второй соответствующей криптограммы приложения; удостоверение, устройством обработки, (i) принятой первой соответствующей криптограммы приложения на основании сгенерированной первой криптограммы приложения, и (ii) принятой второй соответствующей криптограммы приложения на основании сгенерированной вторая криптограмма приложения; и передачу, передающим устройством 506, результата удостоверения для использования в платежной транзакции. В дополнительном варианте осуществления, первая соответствующая криптограмма приложения и вторая соответствующая криптограмма приложения могут приниматься от устройства торговой точки (например, торговой точки 110). В другом дополнительном варианте осуществления, результат удостоверения может передаваться финансовому учреждению (например, эмитенту 106), связанному с транзакционным счетом.
Иллюстративный способ обработки сообщения данных
[0136] Фиг. 15 демонстрирует способ 1500 обработки сообщения данных, например, сообщения удаленного извещения, принятого посредством службы удаленного извещения, включающий в себя его получение и удостоверение мобильным устройством 104 без использования защитного элемента.
[0137] На этапе 1502, по меньшей мере, ключ шифрования может сохраняться в памяти (например, в памяти 212). В некоторых вариантах осуществления, память 212 может быть памятью незащищенных элементов в мобильном устройстве связи (например, мобильном устройстве 104). На этапе 1504, сообщение данных может приниматься принимающим устройством (например, блоком 202 приема), причем сообщение данных может включать в себя, по меньшей мере, зашифрованное сообщение и код аутентификации сообщения, где код аутентификации сообщения генерируется с использованием, по меньшей мере, части зашифрованного сообщения. В некоторых вариантах осуществления, сообщение данных может быть сообщением службы удаленного извещения, принятым посредством службы удаленного извещения.
[0138] На этапе 1506, опорный код аутентификации может генерироваться устройством обработки (например, блоком 204 обработки) с использованием, по меньшей мере, части зашифрованного сообщения, включенной в принятое сообщение данных. В одном варианте осуществления, память 212 может дополнительно включать в себя одно или более правил генерации кода аутентификации, и опорный код аутентификации может генерироваться на основании применения сохраненных одного или более правил генерации кода аутентификации к части зашифрованного сообщения, включенной в принятое сообщение данных. На этапе 1508, принятое сообщение данных может удостоверяться устройством 204 обработки на основании чека кода аутентификации сообщения, включенного в принятое сообщение данных со сгенерированным опорным кодом аутентификации. В некоторых вариантах осуществления, память может дополнительно включать в себя опорный счетчик, принятое сообщение данных может дополнительно включать в себя счетчик сообщений, и принятое сообщение данных может дополнительно удостоверяться устройством 204 обработки на основании чека счетчика сообщений, включенного в принятое сообщение данных относительно сохраненного опорного счетчика.
[0139] На этапе 1510, зашифрованное сообщение, включенное в сообщение данных, может дешифроваться устройством 204 обработки с использованием сохраненного ключа шифрования для получения дешифрованного сообщения. В одном варианте осуществления, дешифрованное сообщение может включать в себя, по меньшей мере, один из: оцифрованного профиля карты (например, реквизитов 304 платежа) и ключа однократного использования (например, ключа 306 однократного использования) для использования в платежной транзакции. В некоторых вариантах осуществления, способ 1500 также может включать в себя проверку, устройством 204 обработки, формата данных дешифрованного сообщения на основании одного или более правил форматирования данных.
[0140] В одном варианте осуществления, способ 1500 может дополнительно включать в себя передачу, передающим устройством (например, блоком 206 передачи), извещения получения в ответ на принятое сообщение данных. В дополнительном варианте осуществления, способ 1500 может дополнительно включать в себя: осуществление, устройством 204 обработки, одного или более действий на основании дешифрованного сообщения; генерацию, устройством 204 обработки, сообщения возврата в результате или на основании осуществляемых одного или более действий; шифрование, устройством 204 обработки, сгенерированного сообщения возврата с использованием сохраненного ключа шифрования для получения зашифрованного сообщения возврата; и генерацию, устройством 204 обработки, кода аутентификации возврата с использованием, по меньшей мере, части зашифрованного сообщения возврата, причем переданное извещение получения включает в себя зашифрованное сообщение возврата и код аутентификации возврата. В дополнительном варианте осуществления, память 212 может дополнительно включать в себя счетчик возврата, и переданное извещение получения может дополнительно включать в себя счетчик возврата.
[0141] В некоторых вариантах осуществления, способ 1500 также может включать в себя заполнение, устройством 204 обработки, зашифрованного сообщения, включенного в принятое сообщение данных, с использованием ключа заполнения, причем часть зашифрованного сообщения, используемая для генерации опорного кода аутентификации, является заполненным зашифрованным сообщением. В дополнительном варианте осуществления, ключ заполнения может быть ключом шифрования. В другом дополнительном варианте осуществления, память 212 может дополнительно включать в себя алгоритм заполнения кода аутентификации, и заполнение зашифрованного сообщения с использованием ключа заполнения может включать в себя заполнение зашифрованного сообщения на основании применения ключа заполнения к алгоритму заполнения кода аутентификации.
Иллюстративный способ построения усовершенствованного ключа хранения
[0142] Фиг. 16 демонстрирует способ 600 построения усовершенствованного ключа хранения для безопасного шифрования и хранения локальных данных в мобильном устройстве 104 без использования защитного элемента.
[0143] На этапе 1602, по меньшей мере, информация об устройстве (например, информация 402 об устройстве), связанная с мобильным устройством связи (например, мобильным устройством 104), программный код (например, программный код 406), связанный с первой прикладной программой (например, приложением 404 мобильных платежей), и программный код (например, программный код 412), связанный со второй прикладной программой (например, криптографическим приложением 410), может храниться в памяти (например, памяти 212) мобильного устройства 104 связи, причем программный код 406, связанный с первой прикладной программой 404, включает в себя, по меньшей мере, идентификатор экземпляра (например, идентификатор 408 экземпляра), и программный код 412, связанный со второй прикладной программой 410, включает в себя, по меньшей мере, первый ключ (например, ключ 414 шифрования).
[0144] В некоторых вариантах осуществления, информация 402 об устройстве может включать в себя один или более уникальных идентификаторов, связанных с мобильным устройством 104 связи. В одном варианте осуществления, идентификатор 408 экземпляра может быть уникален для экземпляра первой прикладной программы 404. В некоторых вариантах осуществления, вторая прикладная программа 410 может быть выполнена с возможностью осуществления криптографии по принципу белого ящика с использованием первого ключа. В одном варианте осуществления, первый ключ может быть динамическим ключом. В некоторых вариантах осуществления, программный код 412, связанный со второй прикладной программой 410, может быть включен в программный код 406, связанный с первой прикладной программой 404. В дополнительных вариантах осуществления, вторая прикладная программа 410 может быть исполнимой функцией первой прикладной программы 404.
[0145] На этапе 1604, характерный признак устройства (например, характерный признак 1204 мобильного устройства), связанный с мобильным устройством 104 связи, может генерироваться устройством обработки (например, блоком 204 обработки) на основании сохраненной информации 402 об устройстве посредством выполнения программного кода 406, связанного с первой прикладной программой 404. На этапе 1606, случайное значение (например, случайное значение 1206) может генерироваться устройством 204 обработки посредством выполнения программного кода 406, связанного с первой прикладной программой 404. В некоторых вариантах осуществления, случайное значение 1206 может представлять собой случайное или псевдослучайное число.
[0146] На этапе 1608, значение диверсификатора (например, значение 1208 диверсификатора) могут строиться устройством 204 обработки на основании, по меньшей мере, сгенерированного характерного признака устройства 1204, сгенерированного случайного значения 1206 и идентификатора 408 экземпляра, включенного в программный код 406, связанный с первой прикладной программой 404. На этапе 1610, построенное значение 1208 диверсификатора может дешифроваться устройством 204 обработки с использованием первого ключа, хранящегося в программном коде 412, связанном со второй прикладной программой 410, посредством выполнения программного кода 412, связанного со второй прикладной программой 410, для получения ключа хранения (например, усовершенствованного ключа 1210 хранения).
[0147] В некоторых вариантах осуществления, способ 1600 может дополнительно включать в себя: сохранение, в локальной базе данных (например, локальной базе данных 1212) мобильного устройства 104 связи, защищенных данных; и шифрование, устройством 204 обработки, защищенных данных, хранящихся в локальной базе данных 1212, с использованием ключа 1210 хранения. В одном варианте осуществления, способ 1600 также может включать в себя: сохранение, в памяти 212, программных данных, связанных с первой прикладной программой 404; и сохранение, в программных данных, связанных с первой прикладной программой 404, сгенерированного случайного значения 1206.
[0148] В одном варианте осуществления, способ 1600 также может включать в себя: передачу, передающим устройством (например, блоком 206 передачи) по меньшей мере, случайного значения 1206; прием, принимающим устройством (например, блоком 202 приема), одного или более зашифрованных параметров, причем каждый из одного или более зашифрованных параметров зашифрован с использованием ключа 1210 хранения; и сохранение, в локальной базе данных 1212 мобильного устройства 104 связи, принятых одного или более зашифрованных параметров. В дополнительном варианте осуществления, ключ 1210 хранения может передаваться третьей стороне (например, серверу 102 управления транзакциями), и один или более зашифрованных параметров может приниматься от третьей стороны 102. В некоторых дополнительных вариантах осуществления, идентификатор 408 экземпляра также может передаваться передающим устройством 206.
Архитектура компьютерной системы
[0149] Фиг. 17 демонстрирует компьютерную систему 1700, в которой варианты осуществления настоящего изобретения, или их части, можно реализовать в виде машиночитаемого кода. Например, сервер 102 управления транзакциями и мобильное устройство 104, показанные на фиг. 1, можно реализовать в компьютерной системе 1700 с использованием оборудования, программного обеспечения, программно-аппаратного обеспечения, нетранзиторных компьютерно-считываемых носителей, на которых хранятся инструкции, или их комбинации, и можно реализовать в одной или более компьютерных системах или других системах обработки. Оборудование, программное обеспечение, или любая их комбинация могут воплощать модули и компоненты, используемые для реализации способов, представленных на фиг. 7, 8, 9A, 9B, 10A, 10B, 11 и 13-16.
[0150] Если используется программируемая логика, такая логика может выполняться на коммерчески доступной платформе обработки или устройстве специального назначения. Специалисту в данной области техники очевидно, что варианты осуществления раскрытого изобретения можно осуществлять на практике с различными конфигурациями компьютерной системы, включающими в себя многоядерные многопроцессорные системы, миникомпьютеры, универсальные компьютеры, компьютеры, связанные или кластеризованные с распределенными функциями, а также проникающие или миниатюрные компьютеры, которые могут быть встроены в практически любое устройство. Например, для реализации вышеописанных вариантов осуществления могут использоваться, по меньшей мере, одно устройство процессора и память.
[0151] Рассмотренный здесь блок или устройство процессора может представлять собой единый процессор, несколько процессоров, или их комбинации. Устройства процессора могут иметь одно или более ʺядерʺ процессора. Рассмотренные здесь термины ʺноситель компьютерной программыʺ, ʺнетранзиторный компьютерно-считываемый носительʺ и ʺкомпьютерный носительʺ используются для обозначения, в целом, вещественных носителей, например, съемного запоминающего устройства 1718, съемного запоминающего устройства 1722 и жесткого диска, установленного в приводе 1712 жесткого диска.
[0152] Различные варианты осуществления настоящего изобретения описаны в отношении этой иллюстративной компьютерной системы 1700. на основании этого описания, специалист в данной области техники сможет понять, как реализовать настоящее изобретение с использованием других компьютерных систем и/или компьютерных архитектур. Хотя операции можно описать в виде последовательного процесса, некоторые из операций фактически могут осуществляться параллельно, одновременно и/или в распределенной среде, причем программный код может храниться локально или удаленно с возможностью доступа одно- или многопроцессорными машинами. Кроме того, в некоторых вариантах осуществления порядок операций можно изменять, не выходя за рамки сущности раскрытого изобретения.
[0153] Устройство 1704 процессора может быть устройством процессора специального назначения или общего назначения. Устройство 1704 процессора может быть соединено с инфраструктурой 1706 связи, например, шиной, очередью сообщений, сетью, многоядерной схемой передачи сообщений и т.д. Сеть может быть любой сетью, пригодной для осуществления раскрытых здесь функций и может включать в себя локальную сеть (LAN), глобальную сеть (WAN), беспроводную сеть (например, WiFi), сеть мобильной связи, спутниковую сеть, интернет, оптоволокно, коаксиальный кабель, инфракрасную, радиочастотную (RF), или любую их комбинацию. Другие подходящие типы и конфигурации сети будут очевидны специалистам в данной области техники. Компьютерная система 1700 также может включать в себя основную память 1708 (например, оперативную память, постоянную память и т.д.), и также может включать в себя вторичную память 1710. Вторичная память 1710 может включать в себя привод 1712 жесткого диска и съемный накопитель 1714, например, привод флоппи-диска, привод магнитной ленты, привод оптического диска, флэш-память и т.д.
[0154] Съемный накопитель 1714 может осуществлять чтение и/или запись съемного запоминающего устройства 1718 общеизвестным способом. Съемное запоминающее устройство 1718 может включать в себя съемные носители данных, на которых съемный накопитель 1714 может осуществлять чтение и запись. Например, если съемным накопителем 1714 является привод флоппи-диска или порт универсальной последовательной шины, съемное запоминающее устройство 1718 может быть, соответственно, приводом флоппи-диска или портативного флэш-носителя. В одном варианте осуществления, съемное запоминающее устройство 1718 может быть нетранзиторным компьютерно-считываемым носителем записи.
[0155] В некоторых вариантах осуществления, вторичная память 1710 может включать в себя альтернативное средство загрузки компьютерных программ или других инструкции в компьютерную систему 1700, например, съемное запоминающее устройство 1722 и интерфейс 1720. Примеры такого средства могут включать в себя программный картридж и интерфейс картриджа (например, применяемые системах видеоигр), съемную микросхему памяти (например, EEPROM, PROM и т.д.) и соответствующий разъем, и другие съемные блоки 1722 хранения и интерфейсы 1720, что будет очевидно специалистам в данной области техники.
[0156] Данные, хранящиеся в компьютерной системе 1700 (например, в основной памяти 1708 и/или вторичной памяти 1710), могут храниться на компьютерно-считываемых носителях любого пригодного типа, например, оптическом запоминающем устройстве (например, компакт-диске, цифровом универсальном диске, диске Blu-ray и т.д.) или магнитном запоминающем устройстве (например, приводе жесткого диска). Данные могут быть сконфигурированы в конфигурации базы данных любого пригодного типа, например, реляционной базы данных, базы данных на языке структурированных запросов (SQL), распределенной базы данных, объектной базы данных и т.д. Пригодные конфигурации и типы хранилища будет очевидно специалистам в данной области техники.
[0157] Компьютерная система 1700 также может включать в себя интерфейс 1724 связи. Интерфейс 1724 связи может быть выполнен с возможностью обеспечения переноса программного обеспечения и данных между компьютерной системой 1700 и внешними устройствами. Иллюстративные интерфейсы 1724 связи могут включать в себя модем, сетевой интерфейс (например, карту Ethernet), порт связи, разъем и карту PCMCIA и т.д. Программное обеспечение и данные, переносимые посредством интерфейса 1724 связи, могут представлять собой сигналы, которые могут быть электронными, электромагнитными, оптическими или другими сигналами, что будет очевидно специалистам в данной области техники. Сигналы могут распространяются по каналу 1726 связи, которые могут быть выполнены с возможностью переноса сигналов и могут быть реализованы с использованием провода, кабеля, волоконной оптики, телефонной линии, линии сотовой телефонной связи, радиочастотной линии связи и т.д.
[0158] Компьютерная система 1700 может дополнительно включать в себя интерфейс 1702 дисплея. Интерфейс 1702 дисплея может быть выполнен с возможностью обеспечения переноса данных между компьютерной системой 1700 и внешним дисплеем 1730. Иллюстративные интерфейсы 1702 дисплея могут включать в себя мультимедийный интерфейс высокой четкости (HDMI), цифровой визуальный интерфейс (DVI), матрицу видео графики (VGA), и т.д. Дисплей 1730 может представлять собой дисплей любого пригодного типа для отображения данных, передаваемых через интерфейс 1702 дисплея компьютерной системы 1700, включающий в себя дисплей на электронно-лучевой трубке (CRT), жидкокристаллический дисплей (LCD), светодиодный (LED) дисплей, сенсорный дисплей с емкостными датчиками, дисплей на тонкопленочных транзисторах (TFT) и т.д.
[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 связи.
[0160] Подходы, отвечающие настоящему изобретению обеспечивают, помимо других признаков, системы и способы для обработки платежных транзакций с использованием мобильного устройства без использования защитного элемента, включая передачу и удостоверение сообщений службы удаленного извещения и безопасное хранение данных с использованием усовершенствованного ключа хранения. Хотя выше были описаны различные иллюстративные варианты осуществления раскрытых системы и способа следует понимать, что они были представлены только в целях примера, но не ограничения. Они не являются исчерпывающими и не ограничивают изобретение конкретной раскрытой формой. Модификации и вариации возможны в свете вышеописанных принципов или могут быть получены из практического применения изобретения, не выходя за рамки его объема.
Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении безопасности передачи данных. Способ содержит: сохранение в памяти мобильного устройства по меньшей мере (i) информации об устройстве, связанной с мобильным устройством, (ii) программного кода, связанного с первой программой, причем код включает в себя идентификатор экземпляра, и (iii) программного кода, связанного со второй программой, причем код включает в себя первый ключ; генерацию характерного признака устройства, связанного с мобильным устройством, на основании информации об устройстве, посредством выполнения кода, связанного с первой программой; генерацию случайного значения посредством выполнения кода, связанного с первой программой; построение значения диверсификатора на основании сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в код, связанный с первой программой; и дешифрование построенного значения диверсификатора с использованием первого ключа, хранящегося в коде, связанном со второй программой, посредством выполнения кода, связанного со второй программой, для получения ключа хранения. 2 н. и 22 з.п. ф-лы, 17 ил.
1. Способ построения усовершенствованного ключа хранения, содержащий этапы, на которых: сохраняют в памяти мобильного устройства связи по меньшей мере информацию об устройстве, связанную с мобильным устройством связи, программный код, связанный с первой прикладной программой, причем программный код включает в себя по меньшей мере идентификатор экземпляра, и программный код, связанный со второй прикладной программой, причем программный код включает в себя первый ключ; генерируют устройством обработки характерный признак устройства, связанный с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой; генерируют устройством обработки случайное значение посредством выполнения программного кода, связанного с первой прикладной программой; строят устройством обработки значение диверсификатора на основании по меньшей мере сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой; и дешифруют устройством обработки построенное значение диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.
2. Способ по п. 1, дополнительно содержащий этапы, на которых: сохраняют в локальной базе данных мобильного устройства связи защищенные данные; и шифруют устройством обработки защищенные данные, хранящиеся в локальной базе данных, с использованием ключа хранения.
3. Способ по п. 1, в котором информация об устройстве включает в себя один или более уникальных идентификаторов, связанных с мобильным устройством связи.
4. Способ по п. 1, в котором случайное значение является случайным или псевдослучайным числом.
5. Способ по п. 1, в котором идентификатор экземпляра уникален для экземпляра первой прикладной программы.
6. Способ по п. 1, в котором вторая прикладная программа выполнена с возможностью осуществления криптографии по принципу белого ящика с использованием первого ключа.
7. Способ по п. 1, в котором первый ключ является динамическим ключом.
8. Способ по п. 1, дополнительно содержащий этапы, на которых: сохраняют в памяти программные данные, связанные с первой прикладной программой; и сохраняют в программных данных связанных с первой прикладной программой, сгенерированное случайное значение.
9. Способ по п. 1, в котором программный код, связанный со второй прикладной программой, включен в программный код, связанный с первой прикладной программой.
10. Способ по п. 9, в котором вторая прикладная программа является исполнимой функцией первой прикладной программы.
11. Способ по п. 1, дополнительно содержащий этапы, на которых: передают передающим устройством по меньшей мере сгенерированное случайное значение; принимают принимающим устройством один или более зашифрованных параметров, причем каждый из одного или более зашифрованных параметров зашифрован с использованием ключа хранения; и сохраняют в локальной базе данных мобильного устройства связи принятые один или более зашифрованных параметров.
12. Способ по п. 11, в котором передача по меньшей мере сгенерированного случайного значения дополнительно включает в себя передачу идентификатора экземпляра.
13. Система для построения усовершенствованного ключа хранения, содержащая: память мобильного устройства связи, выполненную с возможностью хранения по меньшей мере информации об устройстве, связанной с мобильным устройством связи, программного кода, связанного с первой прикладной программой, причем программный код включает в себя по меньшей мере идентификатор экземпляра, и программного кода, связанного со второй прикладной программой, причем программный код включает в себя первый ключ; и устройство обработки, выполненное с возможностью генерировать характерный признак устройства, связанный с мобильным устройством связи, на основании сохраненной информации об устройстве посредством выполнения программного кода, связанного с первой прикладной программой, генерировать случайное значение посредством выполнения программного кода, связанного с первой прикладной программой, строить значение диверсификатора на основании по меньшей мере сгенерированного характерного признака устройства, сгенерированного случайного значения и идентификатора экземпляра, включенного в программный код, связанный с первой прикладной программой, и дешифровать построенное значение диверсификатора с использованием первого ключа, хранящегося в программном коде, связанном со второй прикладной программой, посредством выполнения программного кода, связанного со второй прикладной программой, для получения ключа хранения.
14. Система по п. 13, дополнительно содержащая: локальную базу данных мобильного устройства связи, выполненную с возможностью хранения защищенных данных, причем устройство обработки дополнительно выполнено с возможностью шифрования защищенных данных, хранящихся в локальной базе данных, с использованием ключа хранения.
15. Система по п. 13, в которой информация об устройстве включает в себя один или более уникальных идентификаторов, связанных с мобильным устройством связи.
16. Система по п. 13, в которой случайное значение является случайным или псевдослучайным числом.
17. Система по п. 13, в которой идентификатор экземпляра уникален для экземпляра первой прикладной программы.
18. Система по п. 13, в которой вторая прикладная программа выполнена с возможностью осуществления криптографии по принципу белого ящика с использованием первого ключа.
19. Система по п. 13, в которой первый ключ является динамическим ключом.
20. Система по п. 13, в которой память дополнительно выполнена с возможностью хранения программных данных, связанных с первой прикладной программой, и устройство обработки дополнительно выполнено с возможностью сохранения в программных данных, связанных с первой прикладной программой, сгенерированного случайного значения.
21. Система по п. 13, в которой программный код, связанный со второй прикладной программой, включен в программный код, связанный с первой прикладной программой.
22. Система по п. 21, в которой вторая прикладная программа является исполнимой функцией первой прикладной программы.
23. Система по п. 13, дополнительно содержащая: передающее устройство, выполненное с возможностью передачи сгенерированного случайного значения; и принимающее устройство, выполненное с возможностью приема одного или более зашифрованных параметров, причем каждый из одного или более зашифрованных параметров зашифрован с использованием ключа хранения, причем устройство обработки дополнительно выполнено с возможностью сохранения в локальной базе данных мобильного устройства связи принятых одного или более зашифрованных параметров.
24. Система по п. 23, в которой передача сгенерированного случайного значения дополнительно включает в себя передачу идентификатора экземпляра.
US 20130262317 A1, 03.10.2013 | |||
US 20130282589 A1, 24.10.2013 | |||
US 20130282502 A1, 24.10.2013 | |||
US 20120317628 A1, 13.12.2012. |
Авторы
Даты
2018-05-07—Публикация
2014-12-02—Подача