СПОСОБ И СИСТЕМА ДЛЯ ЗАЩИЩЕННОЙ ПЕРЕДАЧИ СООБЩЕНИЙ СЕРВИСА УДАЛЕННЫХ УВЕДОМЛЕНИЙ В МОБИЛЬНЫЕ УСТРОЙСТВА БЕЗ ЗАЩИЩЕННЫХ ЭЛЕМЕНТОВ
METHOD AND SYSTEM FOR PROTECTED TRANSMITION OF REMOTE NOTIFY SERVICE MESSAGES TO MOBILE DEVICES WITHOUT PROTECTED ELEMENTS

РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Эта заявка испрашивает приоритет, согласно 35 U.S.C. 119(e), по ранее поданным предварительным патентным заявкам с номерами: 61/979,113, поданной 14 апреля, 2014; 61/910,819, поданной 2 декабря, 2013; 61/951,842, поданной 12 марта, 2014; 61/955,716, поданной 19 марта, 2014; 61/979,132, поданной 14 апреля, 2014; и 61/980,784, поданной 17 апреля, 2014; и, в частности, предварительным патентным заявкам с номерами: 61/979,122, поданной 14 апреля, 2014, и 61/996,665, поданной 14 мая, 2014, каждая из которых полностью включается сюда путем ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее раскрытие относится к передаче сообщений сервиса удаленных уведомлений в мобильное устройство без требования защищенного элемента, и, более конкретно, к использованию кодов шифрования и аутентификации для защищенной передачи, приема, и обработки сообщений сервиса удаленных уведомлений без использования защищенных элементов.
УРОВЕНЬ ТЕХНИКИ
[0003] Успехи в технологиях мобильных устройств и связи создали огромные возможности, одной из которых является обеспечение пользователя мобильного вычислительного устройства возможностью инициировать и оплачивать платежные транзакции, используя их мобильное устройство. Одним таким подходом для обеспечения возможности таких действий на мобильном устройстве является использование технологии связи ближнего поля (NFC), чтобы защищенным образом передавать детали платежа от мобильного устройства в расположенный рядом бесконтактный терминал точки продажи (POS). Чтобы достигать этого, используются мобильные телефоны с аппаратным обеспечением на основе защищенных элементов, таким как микросхема защищенного элемента (SE), чтобы защищенным образом хранить платежные мандаты. Защищенный элемент является специальным средством, которое может включаться в некоторые обеспеченные возможностью NFC устройства, которое является устойчивой старению платформой, которая может защищенным образом обеспечивать хостинг приложениям и их конфиденциальным данным.
[0004] Однако не все мобильные устройства имеют защищенные элементы. В дополнение, некоторые финансовые организации могут не иметь доступа к защищенным элементам на мобильных устройствах, даже если мобильное устройство оснащено таким элементом. Как результат, многие потребители с мобильными устройствами, которые имеют требуемое аппаратное обеспечение для проведения бесконтактных или других типов удаленных платежных транзакций, фактически могут быть неспособными использовать эту функциональную возможность. Из-за таких трудностей, имеется необходимость в техническом решении, чтобы обеспечить возможность мобильным вычислительным устройствам инициировать и проводить платежные транзакции без использования защищенных элементов.
[0005] Некоторые способы и системы для проведения платежных транзакций с использованием мобильных устройств, не имеющих защищенных элементов, или без использования защищенных элементов в мобильных устройствах, оснащенных ими, могут быть найдены в заявке на патент США, номер 13/827,042, озаглавленной "Systems and Methods for Processing Mobile Payments by Provisioning Credentials to Mobile Devices Without Secure Elements", авторов Mehdi Collinge и др., поданной 14 марта, 2013, которая включается сюда по ссылке в своей полноте. В то время как такие способы и системы могут быть подходящими для проведения платежных транзакций посредством мобильного устройства без использования защищенного элемента, многие потребители, торговцы, и финансовые организации могут настороженно относиться к участию в таких транзакциях вследствие желания даже в большей защите.
[0006] Как результат, имеется необходимость в технических решениях для обеспечения даже большей защиты для приема и хранения платежных мандатов в мобильном устройстве, не имеющем защищенного элемента, также как обеспечения повышенной защиты для передачи платежных мандатов в точку продажи от мобильного устройства во время проведения финансовой транзакции. Повышенная защита в этих процессах может давать результатом увеличение душевного спокойствия для всех вовлеченных субъектов, что может давать результатом увеличение в использовании мобильных устройств для бесконтактных или удаленных платежных транзакций, что может обеспечивать огромное количество преимуществ для потребителей по сравнению с традиционными способами платежей.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0007] Настоящее раскрытие обеспечивает описание систем и способов для обработки сообщений сервиса удаленных уведомлений.
[0008] Способ для приема и обработки сообщения данных включает в себя: сохранение, в памяти, по меньшей мере, ключа шифрования; прием, посредством устройства приема, сообщения данных, при этом сообщение данных включает в себя, по меньшей мере, зашифрованное сообщение и код аутентификации сообщения, где код аутентификации сообщения генерируется с использованием, по меньшей мере, части зашифрованного сообщения; генерирование, посредством устройства обработки, опорного кода аутентификации с использованием, по меньшей мере, части зашифрованного сообщения, включенного в принятое сообщение данных; проверку достоверности, посредством устройства обработки, принятого сообщения данных на основе проверки кода аутентификации сообщения, включенного в принятое сообщение данных, по отношению к сгенерированному опорному коду аутентификации; и дешифрование, посредством устройства обработки, зашифрованного сообщения, включенного в сообщение данных, с использованием сохраненного ключа шифрования, чтобы получать дешифрованное сообщение.
[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 может осуществлять связь с сервером 104 управления транзакциями с использованием множества каналов связи, как, например, с использованием связи по двойному каналу. Связь по двойному каналу может включать в себя использование двух каналов связи в передаче и приеме данных, как, например, для верификации и аутентификации, чтобы обеспечивать более большую защиту в передаче данных. Мобильное устройство 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 продажи как часть проведения платежной транзакции, как, например, посредством связи ближнего поля. Прикладные криптограммы могут сопровождать дополнительную платежную информацию, такую как может требоваться в контексте любого подходящего типа платежной транзакции, такой как бесконтактная транзакция, удаленная транзакция, защищенная удаленная платежная транзакция, транзакция с использованием магнитной полосы, и транзакция EMV M/Chip, и могут передаваться в точку 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 как часть традиционной обработки платежной транзакции (например, для одобрения обеспечения денежными средствами транзакции с использованием расчетного счета потребителя 108 с эмитентом 106).
[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, как, например, клавиатурой, мышью, колесом "click wheel", колесом прокрутки, сенсорным экраном, микрофоном, камерой, приемником, и т.д. Блок 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, уведомления транзакции могут передаваться в сервер 102 управления транзакциями и мобильное устройство 104, приниматься соответствующими блоками 502 и 202 приема на этапах 826 и 828, соответственно.
ПЕРЕДАЧА СООБЩЕНИЙ УСЛУГИ УДАЛЕННЫХ УВЕДОМЛЕНИЙ И ДАННЫХ
[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] Способы, совместимые с настоящим раскрытием, обеспечивают, среди прочего признаки, системы и способы для обработки платежных транзакций с использованием мобильного устройства без использования защищенного элемента, включая сюда передачу и проверку достоверности сообщений сервиса удаленных уведомлений и защищенное хранение данных с использованием усовершенствованного ключа хранения. В то время как различные иллюстративные варианты осуществления раскрытых системы и способа были описаны выше, следует понимать, что они были представлены только в целях иллюстрации, не ограничений. Оно не является исчерпывающим и не ограничивает раскрытие точной раскрытой формой. Модификации и изменения являются возможными в свете вышеизложенных идей или могут получаться из использования раскрытия на практике, без отхода от сущности или объема.