RU2710897C2 - Способы безопасного генерирования криптограмм - Google Patents
Способы безопасного генерирования криптограмм Download PDFInfo
- Publication number
- RU2710897C2 RU2710897C2 RU2017106105A RU2017106105A RU2710897C2 RU 2710897 C2 RU2710897 C2 RU 2710897C2 RU 2017106105 A RU2017106105 A RU 2017106105A RU 2017106105 A RU2017106105 A RU 2017106105A RU 2710897 C2 RU2710897 C2 RU 2710897C2
- Authority
- RU
- Russia
- Prior art keywords
- key
- cryptogram
- user device
- computer
- shared secret
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 197
- 230000004044 response Effects 0.000 claims abstract description 136
- 230000003068 static effect Effects 0.000 claims description 85
- 238000013475 authorization Methods 0.000 claims description 52
- 238000004891 communication Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 29
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 89
- 238000004422 calculation algorithm Methods 0.000 description 42
- 238000012545 processing Methods 0.000 description 38
- 229920002239 polyacrylonitrile Polymers 0.000 description 14
- 201000006292 polyarteritis nodosa Diseases 0.000 description 14
- 230000002441 reversible effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 239000000463 material Substances 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- -1 ... Proteins 0.000 description 4
- 101150041289 ALG1 gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000005755 formation reaction Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 101150103561 ALG2 gene Proteins 0.000 description 2
- 101150029910 ALG5 gene Proteins 0.000 description 2
- 101150112516 ALG8 gene Proteins 0.000 description 2
- 101150039297 Alg3 gene Proteins 0.000 description 2
- 101100001422 Drosophila melanogaster wol gene Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001010 compromised effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- FMFKNGWZEQOWNK-UHFFFAOYSA-N 1-butoxypropan-2-yl 2-(2,4,5-trichlorophenoxy)propanoate Chemical compound CCCCOCC(C)OC(=O)C(C)OC1=CC(Cl)=C(Cl)C=C1Cl FMFKNGWZEQOWNK-UHFFFAOYSA-N 0.000 description 1
- 241001441724 Tetraodontidae Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
Изобретение относится к вычислительной технике. Технический результат заключается в повышении надежности генерирования криптограмм. Способ генерирования криптограмм содержит определение пользовательским устройством пары кратковременных ключей, содержащей кратковременный открытый ключ и кратковременный закрытый ключ; отправку пользовательским устройством сообщения с запросом предоставления; прием пользовательским устройством сообщения с ответом предоставления; определение пользовательским устройством ответного совместно используемого секретного ключа; расшифровку пользовательским устройством зашифрованных удостоверяющих данных; получение параметра формирования ключа из удостоверяющих данных; и формирование первого криптограммного ключа из ответного совместно используемого секретного ключа с помощью параметра формирования ключа. 4 н. и 17 з.п. ф-лы, 19 ил.
Description
ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Настоящая заявка не является предварительной и заявляет приоритет предварительной заявки США 62/044172, поданной 29 августа 2014 (номер дела патентного поверенного 79900-914352-1068US01). Все содержание вышеуказанной заявки настоящим включено с помощью ссылки для всех целей во всей полноте.
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯ
[0002] Поскольку популярность пользовательских устройств, таких как мобильные телефоны с возможностью применения технологии «ближней бесконтактной связи» (NFC) и бесконтактные карты, продолжает расти, обеспечение безопасности платежей и других транзакций остается вопросом, требующим внимания. Например, для проведения платежной транзакции, как правило, необходимо аутентифицировать пользовательское устройство. Один способ аутентификации пользовательского устройства состоит в использовании криптограммы, сгенерированной устройством. Криптограмма может представлять собой зашифрованный элемент данных, подлинность которого может быть подтверждена доверенным субъектом, таким как платежная сеть или другой субъект, который авторизует транзакцию (например, доступ к документу или зданию). Однако взломщик может попытаться подслушать транзакцию (например, путем выполнения атаки через посредника). Таким образом, взломщик может попытаться перехватить криптограмму, передаваемую пользователем. При определении криптограмма может быть использована с преступными целями.
[0003] Дело дополнительно усложняет безопасность самого пользовательского устройства. В некоторых случаях безопасность пользовательского устройства может быть нарушена или оно может быть ненадежно по иной причине, так что хранить на устройстве постоянные удостоверяющие данные безопасности, такие как статический ключ для генерировании криптограммы, было бы нежелательно. Выполнение безопасной транзакции при таких обстоятельствах может представлять собой сложную задачу.
[0004] Варианты осуществления настоящего изобретения устраняют эти недостатки и другие недостатки по отдельности и вместе.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0005] Варианты осуществления изобретения относятся к системам и способам безопасного генерирования криптограммы. В некоторых вариантах осуществления реализация способов генерирования криптограмм, описанные в данном документе, может быть уникальной или ограничена рамками устройств без элементов безопасности или специализированной аппаратной защиты для секретных ключей. Для данной защищенной ценности устройства, которые выполнены идентично, и устройства, которые не имеют защиты секретных ключей на аппаратном уровне, подвержены более высокому риску. В некоторых вариантах осуществления пользовательское устройство может быть выполнено с возможностью определения пары кратковременных ключей, содержащей кратковременный открытый ключ и кратковременный закрытый ключ, генерирования первого совместно используемого секретного ключа с помощью кратковременного закрытого ключа и статического открытого ключа компьютера сервера, шифрования данных запроса с помощью первого совместно используемого секретного ключа для получения зашифрованных данных запроса, и отправки сообщения с запросом предоставления, содержащего зашифрованные данные запроса и кратковременный открытый ключ, на компьютер сервера.
[0006] Компьютер сервера может быть выполнен с возможностью принятия сообщения с запросом предоставления, содержащего зашифрованные данные запроса и кратковременный открытый ключ, от пользовательского устройства, генерирования первого совместно используемого секретного ключа с помощью кратковременного открытого ключа и статического закрытого ключа компьютера сервера, расшифровки зашифрованных данных запроса с помощью первого совместно используемого секретного ключа для получения данных запроса, генерирования второго совместно используемого секретного ключа с помощью заблокированного статического закрытого ключа компьютера сервера и кратковременного открытого ключа, зашифровки удостоверяющие данные с помощью второго совместно используемого секретного ключа для определения зашифрованных данных ответа и отправки сообщения с ответом предоставления на пользовательское устройство, при этом сообщение с ответом предоставления содержит зашифрованные данные ответа и заблокированный статический открытый ключ компьютера сервера. В некоторых вариантах осуществления статический закрытый ключ компьютера сервера не блокируют. Вместо этого второй совместно используемый секретный ключ может быть сгенерирован с помощью статического закрытого ключа компьютера сервера и заблокированного кратковременного открытого ключа.
[0007] Пользовательское устройство может быть выполнено с возможностью принятия сообщения с ответом предоставления, содержащего удостоверяющие данные и заблокированный статический открытый ключ компьютера сервера, от компьютера сервера, определения второго совместно используемого секретного ключа с помощью кратковременного закрытого ключа и заблокированного статического открытого ключа компьютера сервера, и расшифровки зашифрованных удостоверяющих данных с помощью второго совместного используемого секретного ключа для определения удостоверяющих данных. В некоторых вариантах осуществления удостоверяющие данные могут быть зашифрованы или расшифрованы с помощью второго ключа сеанса, сформированного из второго совместно используемого секретного ключа.
[0008] Полезные данные или удостоверяющие данные могут содержать параметры формирования ключа, которые могут или не могут содержать ключ ограниченного использования (LUK). Параметры формирования ключа (которые могут или не могут содержать LUK) могут быть использованы для формирования криптограммного ключа, который может быть использован для генерирования криптограммы для проведения транзакции.
[0009] Полезные данные или удостоверяющие данные могут также содержать параметры обновления, которые могут быть использованы пользовательским устройством для генерирования обновленного совместно используемого секретного ключа на основе предыдущего совместно используемого секретного ключа. В некоторых вариантах осуществления параметры формирования ключа могут быть по существу такими же, что и параметры обновления. В некоторых других вариантах осуществления параметры формирования ключа могут отличаться от параметров обновления. Параметры формирования ключа и/или параметры обновления могут быть уникальными для пользовательского устройства или для группы пользовательских устройств для того, чтобы предотвращать массовые офлайновые атаки.
[0010] Полезные данные или удостоверяющие данные также могут содержать параметры формирования криптограммы, которые определяют, как формировать криптограммы (например, с помощью криптограммных ключей).
[0011] Параметры формирования ключа, параметры формирования криптограммы и/или параметры обновления могут содержать LUK, указание, какие параметры транзакции из данной транзакции использовать, код для выполнения формирования (или идентификатор процедуры формирования, которую надо использовать) и/или другую информацию, связанную с этими параметрами. Код может реализовывать персонализированный способ формирования, в том смысле, что он является уникальным для устройства или группы устройств, и может быть назначен случайным образом. Код может быть подписан сервером или другим поставщиком, так что пользовательское устройство может аутентифицировать код.
[0012] Удостоверяющие данные также могут содержать один или несколько дополнительных совместно используемых секретных ключей и/или ключей (таких как ключ ограниченного использования (LUK)), совместно используемых с компьютерами сервера (например, сервером предоставления и/или проверяющим подлинность сервером). Такие совместно используемые секретные ключи и/или ключи предпочтительно являются уникальными для конкретного пользовательского устройства или группы пользовательских устройств.
[0013] Для некоторых вариантов осуществления раскрывается способ, включающий определение обновленного совместно используемого секретного ключа с помощью предыдущего совместно используемого секретного ключа, формирование криптограммного ключа с помощью обновленного совместно используемого секретного ключа, шифрование данных транзакции для генерирования криптограммы транзакции и отправку криптограммы транзакции на компьютер сервера.
[0014] Другие варианты осуществления относятся к системам, портативным потребительским устройствам и машиночитаемым носителям, связанным со способами, описанными в данном документе.
[0015] Лучшее понимание природы и преимуществ вариантов осуществления настоящего изобретения может быть получено со ссылкой на следующее подробное описание и сопутствующие графические материалы.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[0016] На фиг. 1 показана приведенная в качестве примера платежная система согласно некоторым вариантам осуществления.
[0017] На фиг. 2 показано приведенное в качестве примера пользовательское устройство согласно некоторым вариантам осуществления.
[0018] На фиг. 3 показан приведенный в качестве примера компьютер сервера согласно некоторым вариантам осуществления.
[0019] На фиг. 4-5 показан приведенный в качестве примера процесс или способ безопасной аутентификации через и/или получения ответных данных от компьютера сервера согласно некоторым вариантам осуществления.
[0020] На фиг. 6-7 показан приведенный в качестве примера процесс или способ безопасной обработки сообщения с запросом предоставления от пользовательского устройства и предоставления сообщения с ответом предоставления на пользовательское устройство согласно некоторым вариантам осуществления.
[0021] На фиг. 8 показан приведенный в качестве примера процесс или способ внесения в реестр для предоставления пользовательскому устройству ключа ограниченного использования, сгенерированного компьютером сервера, согласно некоторым вариантам осуществления.
[0022] На фиг. 9 показан приведенный в качестве примера процесс или способ внесения в реестр для предоставления пользовательскому устройству ключа ограниченного использования, сгенерированного компьютером сервера, согласно некоторым вариантам осуществления.
[0023] На фиг. 10 показана схема информационных потоков приведенного в качестве примера процесса внесения в реестр согласно некоторым вариантам осуществления.
[0024] На фиг. 11 показана блок-схема приведенного в качестве примера процесса внесения в реестр согласно некоторым вариантам осуществления.
[0025] На фиг. 12 показан приведенный в качестве примера процесс или способ транзакции для проведения транзакции согласно некоторым вариантам осуществления.
[0026] На фиг. 13 показан приведенный в качестве примера процесс или способ транзакции для проведения транзакции согласно некоторым вариантам осуществления.
[0027] На фиг. 14 показана схема информационных потоков процесса транзакции согласно некоторым вариантам осуществления.
[0028] На фиг. 15 показана блок-схема процесса транзакции согласно некоторым вариантам осуществления.
[0029] На фиг. 16 показан приведенный в качестве примера процесс или способ обновления для обновления пользовательского устройства в реестре с помощью компьютера сервера согласно некоторым вариантам осуществления.
[0030] На фиг. 17 показан приведенный в качестве примера процесс или способ обновления для обновления пользовательского устройства в реестре с помощью компьютера сервера согласно некоторым вариантам осуществления.
[0031] На фиг. 18 показана блок-схема процесса обновления ключа согласно некоторым вариантам осуществления.
[0032] На фиг. 19 показана блок-схема высокого уровня компьютерной системы, которая может быть использована для осуществления любого из субъектов или компонентов, описанных выше.
ТЕРМИНЫ
[0033] Перед обсуждением вариантов осуществления изобретения для понимания вариантов осуществления настоящего изобретения может быть полезным описание некоторых терминов.
[0034] Термин «компьютер сервера» может включать компьютер или кластер вычислительных устройств. Например, компьютер сервера может представлять собой крупный универсальный компьютер, кластер миникомпьютеров или группу серверов, функционирующих как один элемент. В одном примере компьютер сервера может представлять собой сервер баз данных, подключенный к веб-серверу. Компьютер сервера может быть подключен к базе данных и может содержать любое аппаратное обеспечение, программное обеспечение, другую логическую часть или сочетание предыдущего для обслуживания запросов от одного или нескольких клиентских компьютеров (например, пользовательских устройств). Компьютер сервера может содержать одно или несколько вычислительных устройств и может использовать любую из множества вычислительных структур, компоновок и компиляций для обслуживания запросов от одного или нескольких клиентских компьютеров.
[0035] Термин «пара открытого/закрытого ключей» может включать пару связанных криптографических ключей, сгенерированных субъектом. Открытый ключ может быть использован для открытых функций, таких как шифрование сообщения для отправки субъекту или для проверки цифровой подписи, которая предположительно была создана субъектом. Закрытый ключ, с другой стороны, может быть использован для закрытых функций, таких как расшифровка принятого сообщения или наложение цифровой подписи. Открытый ключ обычно авторизует орган, известный как Орган сертификации (CA), который хранит открытый ключ в базе данных и распределяет его любому другому субъекту, который запрашивает его. Закрытый ключ, как правило, хранится на безопасном носителе данных и обычно известен только субъекту. Однако, криптографические системы, описанные в данном документе, могут обладать механизмами восстановления ключа для восстановления потерянных ключей и избегания потери данных. Открытые и закрытые ключи могут иметь любой подходящий формат, включая формат, основанный на криптографическом алгоритме с открытым ключом (RSA) или криптографии на основе эллиптических кривых (ECC).
[0036] «Цифровая подпись» может относиться к результату использования алгоритма на основе пары открытого/закрытого ключей, что позволяет подписывающей стороне заявлять, а проверяющей стороне проверять подлинность и целостность документа. Подписывающая сторона действует с помощью закрытого ключа, а проверяющая сторона действует с помощью открытого ключа. Этот процесс удостоверяет подлинность отправителя, целостность подписанного документа и так называемый принцип невозможности отказа, который не позволяет отклонить то, что было подписано. Сертификат или другие данные, которые содержат цифровую подпись подписывающей стороны, называют «подписанным» подписывающей стороной.
[0037] «Сертификат» или «цифровой сертификат» может содержать электронный документ или файл данных, который использует цифровую подпись для связывания открытого ключа с данными, связанными с субъектом. Сертификат может иметь одно или несколько полей данных, таких как официальное имя субъекта, серийный номер сертификата, дату начала и завершения действия сертификата, связанные с сертификатом разрешения и т. п. Сертификат может содержать дату начала действия, указывающую первую дату, в которую действителен сертификат, и дату завершения действия, указывающую последнюю дату, в которую действителен сертификат. Сертификат также может содержать хеш данных в сертификате, включая поля данных. Если не указано иное, каждый сертификат подписан органом сертификации.
[0038] «Орган сертификации» (ОС) может иметь один или несколько компьютеров сервера, функционально связанных для выдачи сертификатов субъектам. ОС может доказать свою подлинность с помощью сертификата ОС, который содержит открытый ключ ОС. Сертификат ОС может быть подписан закрытым ключом другого ОС или может быть подписан закрытым ключом того же ОС. Последний известен как самоподписываемый сертификат. ОС может содержать базу данных всех сертификатов, изданных ОС, а также может содержать список отозванных сертификатов.
[0039] При обычном процессе орган сертификации принимает неподписанный сертификат от субъекта, подлинность которого известна. Неподписанный сертификат содержит открытый ключ, одно или несколько полей данных и хеш данных в сертификате. ОС подписывает сертификат закрытым ключом, соответствующим открытому ключу, включенному в сертификат ОС. Затем ОС может сохранить подписанный сертификат в базе данных и выдать подписанный сертификат субъекту.
[0040] «Криптографический объект nonce» может включать любое число, строку, последовательность битов или другое значение данных, предназначенное для использования совместно с одним сеансом связи. В некоторых случаях криптографический объект nonce может быть сгенерирован случайным или псевдослучайным образом. Например, криптографический объект nonce может представлять собой случайное число. Как правило, криптографический объект nonce имеет достаточную длину, чтобы сделать незначительной вероятность независимого генерирования одинакового значения объекта nonce несколько раз.
[0041] «Заблокированный ключ», например, «заблокированный открытый ключ», может включать ключ, который был искажен или иным образом изменен в сравнении с его изначальным значением путем сочетания с другим элементом данных, таким как криптографический объект nonce. Например, в криптографии на основе эллиптических кривых, для генерирования «заблокированного открытого ключа» открытый ключ может быть умножен на объект nonce. Аналогично, для генерирования «заблокированного закрытого ключа» закрытый ключ может быть умножен на объект nonce.
[0042] «Пара кратковременных ключей» может включать открытый ключ (т. е. «кратковременный открытый ключ») и закрытый ключ (т. е. «кратковременный закрытый ключ»), сгенерированные для использования с одной транзакцией или другим сеансом связи. Пара кратковременных ключей может иметь любой подходящий формат, такой как ECC или RSA. Как правило, пара кратковременных ключей может быть удалена сразу по завершении транзакции или сеанса связи.
[0043] «Пара статических ключей» может включать открытый ключ (т. е. «статический открытый ключ») и закрытый ключ (т. е. «статический закрытый ключ»), сохраняемые в течение периода времени. Как правило, хотя и не обязательно, статический закрытый ключ может быть сохранен безопасным образом, например, в аппаратном модуле безопасности (HSM) или элементе безопасности (SE). Как правило, хотя и не обязательно, статический открытый ключ может быть связан с субъектом с помощью цифрового сертификата. «Пара статических ключей» может иметь любой подходящий формат, такой как ECC или RSA.
[0044] «Совместно используемый секретный ключ» может включать любое значение данных или другую информацию, известную только уполномоченным сторонам в защищенной связи. Совместно используемый секретный ключ может быть сгенерирован любым подходящим способом, из любых подходящих данных. Например, алгоритм на основе метода Диффи-Хеллмана, такой как метод Диффи-Хеллмана на эллиптических кривых (ECDH), может быть использован для генерирования совместно используемого секретного ключа из закрытого ключа и открытого ключа. В некоторых случаях совместно используемый секретный ключ может быть использован для генерирования ключа сеанса.
[0045] Термин «идентификационные данные» может включать любые данные или информацию, связанную с пользователем или устройством. Примеры идентификационных данных могут включать имя пользователя, связанное с устройством, организацию, связанную с устройством, платежную информацию, такую как номер основного счета (PAN) или маркер, связанный с устройством, дату завершения срока действия PAN или маркера, сертификат, связанный с устройством, международный идентификационный номер устройства (IMEI) или серийный номер устройства, и т. п.
[0046] Термин «аутентификационные данные» может включать любые данные или информацию, подходящую для аутентификации пользователя или устройства. Примеры аутентификационных данных могут включать пароль или фразу доступа, криптографический ключ (например, закрытый ключ), сертификат, биометрические данные, связанные с пользователем (например, отпечаток пальца, голос, изображение лица, изображение сканирования радужной оболочки/сетчатки глаза), и т. п.
[0047] «Фактор идентификации» может включать любые данные или информацию, определенную из идентификационных данных и/или аутентификационных данных. Как правило, хотя и не обязательно, фактор идентификации может быть сгенерирован путем хеширования сочетания идентификационных данных и аутентификационных данных.
[0048] «Ключ шифрования» может включать любое значение данных или другую информацию, подходящую для криптографического шифрования данных. «Ключ расшифровки» может включать любое значение данных или другую информацию, подходящую для расшифровки зашифрованных данных. В некоторых случаях тот же ключ, который используют для шифрования данных, может быть использован для расшифровки данных. Такой ключ может быть известен как симметричный ключ шифрования.
[0049] «Ключ сеанса» может включать любой ключ, используемый для шифрования или расшифровки данных, подлежащих безопасной передаче. В некоторых случаях ключ сеанса может быть сгенерирован из совместно используемого секретного ключа, известного как отправляющему субъекту, так и принимающему субъекту. Например, ключ сеанса может быть сформирован с помощью функции формирования ключа и совместно используемого секретного ключа. Ключ сеанса может быть использован для защиты данных, включенных в сообщение с запросом или ответом. В таких случаях ключ сеанса также можно назвать ключом защиты сообщения.
[0050] «Ключ ограниченного использования» (LUK) может включать любой ключ шифрования или другие данные, которые могут быть использованы ограниченное число раз. LUK может быть использован с любой подходящей целью. Например, в некоторых вариантах осуществления LUK может быть использован для генерирования криптограммы для транзакции.
[0051] «Ключ разового использования» (SUK) представляет собой LUK, который может быть использован лишь раз. Например, SUK может быть использован для шифрования и/или расшифровки данных, относящихся к единственной транзакции. В некоторых вариантах осуществления SUK может быть сформирован из LUK.
[0052] «Криптограмма» может включать любой элемент данных или другую информацию, используемую для аутентификации субъекта, такого как устройство или пользователь. Например, криптограмма может содержать статические (т. е. предопределенные) данные, динамические данные или сочетание этих двух, которые зашифрованы с помощью ключа шифрования (например, LUK). Криптограмма может быть использована в любом подходящем контексте. Например, «криптограмма регистрации» может включать криптограмму, которую используют для подтверждения регистрации субъекта. «Криптограмма транзакции» может включать криптограмму, которую используют для аутентификации субъекта, проводящей транзакцию.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0053] В вариантах осуществления изобретения предложены эффективные способы безопасного генерирования криптограммы пользовательским устройством и проверки подлинности криптограммы компьютером сервера. В некоторых вариантах осуществления транзакция может быть проведена таким образом, что пользовательское устройство предоставляет криптограмму, не требуя от пользовательского устройства постоянного хранения ключа шифрования или других закрытых данных, используемых для генерирования криптограммы. Например, пользовательское устройство и компьютер сервера могут взаимно производить аутентифицикацию и создавать совместно используемый секретный ключ. С помощью совместно используемого секретного ключа компьютер сервера может формировать ключ сеанса и передавать параметры формирования ключа, зашифрованные с помощью ключа сеанса, на пользовательское устройство. Пользовательское устройство также может формировать ключ сеанса с помощью совместно используемого секретного ключа, расшифровывать зашифрованные параметры формирования ключа и сохранять параметры формирования ключа.
[0054] Во время транзакции пользовательское устройство может использовать параметры формирования ключа и совместно используемый секретный ключ для генерирования криптограммного ключа одноразового использования. Криптограммный ключ может быть использован для генерирования криптограммы. Криптограмма может быть использована для проведения транзакции. Например, криптограмма может быть включена в сообщение с запросом авторизации для транзакции. После генерирования криптограммы может быть определен обновленный совместно используемый секретный ключ, и совместно используемый секретный ключ и криптограммный ключ, использованные для генерирования криптограммы, могут быть удалены. Таким образом, в некоторых вариантах осуществления после проведения транзакции криптограмму сформировать нельзя.
[0055] В маловероятном случае, когда пользовательское устройство подвержено опасности или считается ненадежным по иной причине, может быть выполнен процесс обновления ключа. Процесс обновления ключа может включать второй процесс взаимной аутентификации. Например, пользовательское устройство может предоставить данные, зашифрованные с помощью криптограммного ключа, и/или дополнительные аутентификационные данные, такие как имя пользователя, пароль, одноразовый пароль и т. п. Когда пользовательское устройство было аутентифицировано повторно, между пользовательским устройством и компьютером сервера может быть установлен новый совместно используемый секретный ключ. Кроме того, компьютер сервера может предоставить пользовательскому устройству новые параметры формирования ключа. В некоторых вариантах осуществления пользовательское устройство может подтвердить регистрацию путем предоставления на компьютер сервера криптограммы (например, криптограммы регистрации), сгенерированной с помощью совместно используемого секретного ключа.
[0056] Варианты осуществления изобретения могут обеспечивать возможность использования криптограммного ключа одноразового использования, используемого для генерирования криптограммы. Использование криптограммного ключа одноразового использования согласно вариантам осуществления может обеспечить несколько преимуществ. Например, варианты осуществления могут уменьшить риск нарушения безопасности криптограммного ключа. Если каждый криптограммный ключ представляет собой ключ разового использования, вторую криптограмму, сгенерированную с помощью криптограммного ключа, можно легко определить как недействительную. Таким образом, даже если хакеру удалось украсть криптограммный ключ, хакер будет способен использовать ключ по большей мере в одной транзакции.
[0057] Варианты осуществления изобретения могут предоставить дополнительное преимущество связывания параметров формирования ключей с пользовательскими устройствами. Это может обеспечить дополнительный слой безопасности, так что даже если для одного устройства совместно используемый секретный ключ был раскрыт, соответствующий криптограммный ключ не может быть выработан на компьютере сервера без тех же параметров формирования ключа. Кроме того, поскольку разные устройства могут иметь разные параметры формирования ключа, даже если взломщик проведет обратную разработку алгоритма формирования ключа на пользовательском устройстве, это знание не может быть полезным для нарушения безопасности компьютера сервера.
[0058] Приведенные выше примеры освещают только несколько преимуществ, обеспечиваемых вариантами осуществления изобретения.
СИСТЕМЫ
[0059] Варианты осуществления применимы с разными системами авторизации, например, платежными системами, системой доступа к документам, системой доступа к зданию и т. п. Хотя описаны примеры платежных систем, варианты осуществления равно применимы для других систем авторизации.
Платежная система
[0060] На фиг. 1 показана приведенная в качестве примера платежная система 100 согласно некоторым вариантам осуществления. Система содержит пользователя (не показан), который может управлять пользовательским устройством 101. Пользователь может использовать пользовательское устройство 101 для проведения платежных транзакций в связи с устройством 102 доступа. Как используется в данном документе, «пользовательское устройство» может включать настольный компьютер, портативный переносной компьютер, мобильный телефон, планшет, кредитную карту, дебетовую карту или любое подходящее вычислительное устройство. Как используется в данном документе, «устройство доступа» может включать любое вычислительное устройство, такое как торговый (POS) терминал или веб-сервер, подходящий для осуществления связи с пользовательским устройством. В некоторых вариантах осуществления устройство 102 доступа может прямо осуществлять связь с пользовательским устройством 101. В других вариантах осуществления устройство 102 доступа может осуществлять связь с пользовательским устройством 101 через интерфейсное устройство, такое как умные часы, умные очки или любое другое подходящее устройство. Устройство 102 доступа может быть подключено к компьютеру 103 продавца, который может быть подключен к компьютеру 104 эквайера. Компьютер 104 эквайера может быть подключен к компьютеру 106 эмитента через сеть 105 обработки платежей. Пользовательское устройство 101 может необязательно осуществлять связь с запоминающим устройством 107, которое может быть функционально соединено с пользовательским устройством 101. Запоминающее устройство 107 может содержать любой подходящий локальный или удаленный сервер хранения данных, систему или сервис, предоставляемый поставщиком услуг хранения данных, или содержаться в них. Поставщик услуг хранения данных может не быть тем же субъектом, который предоставляет устройства 101-106. Например, запоминающее устройство 107 может быть частью услуг по хранению данных на облаке, предоставляемых внешним поставщиком услуг хранения данных на облаке. Любые или все устройства 101-107 могут быть реализованы с помощью одного или нескольких вычислительных устройств, таких как компьютеры сервера.
[0061] Как использовано в данном документе, «эмитент» может, как правило, относиться к субъекту предпринимательства (например, банку), который содержит финансовые счета для пользователя и часто эмитирует или выдает пользователю пользовательское устройство 101, такое как кредитная или дебетовая карта, или мобильное устройство. «Продавец», как правило, представляет собой субъект, который вовлечен в транзакции и может продавать товары или услуги. «Эквайер», как правило, представляет собой субъект предпринимательства (например, коммерческий банк), который имеет коммерческую связь с конкретным продавцом или другим субъектом. Некоторые субъекты могут выполнять функции как эмитента, так и эквайера. Некоторые варианты осуществления могут охватывать такие заключенные в одном субъекте эмитенты и эквайеры. Каждый из субъектов может иметь одно или несколько вычислительных устройств (например, устройство 102 доступа, компьютер 103 продавца, компьютер 104 эквайера, сеть 105 обработки платежей и компьютер 106 эмитента), чтобы обеспечивать возможность осуществления связи или выполнять одну или несколько функций, описанных в данном документе.
[0062] Сеть 105 обработки платежей может содержать подсистемы, сети и операции обработки данных, используемые для поддержки и предоставления услуг органов сертификации, услуг авторизации, услуг файлов стоп-листов, услуг оценки транзакций и услуг клиринга и расчетов. Примером сети обработки платежей может служить VisaNet™. Сети обработки платежей, такие как VisaNet™, могут обрабатывать транзакции кредитных карт, транзакции дебетовых карт и другие типы коммерческих транзакций. VisaNet™, в частности, содержит систему VIP (визовые совместные платежи), которая обрабатывает запросы авторизации, и систему Base II, которая выполняет услуги клиринга и расчетов.
[0063] Сеть 105 обработки платежей может содержать один или несколько компьютеров сервера. Как правило, компьютер сервера представляет собой мощный компьютер или кластер компьютеров. Например, компьютер сервера может представлять собой крупный универсальный компьютер, кластер миникомпьютеров или группу серверов, функционирующих как один элемент. В одном примере компьютер сервера может представлять собой сервер баз данных, подключенный к веб-серверу. Сеть 105 обработки платежей может использовать любую подходящую проводную или беспроводную сеть, включая Интернет.
[0064] В некоторых платежных транзакциях пользователь приобретает товар или услугу у продавца с помощью пользовательского устройства 101. Пользовательское устройство 101 может взаимодействовать с устройством 102 доступа у продавца, связанного с компьютером 103 продавца. Например, пользователь может провести пользовательским устройством 101 по устройству считывания NFC в устройстве 102 доступа. Альтернативно, пользователь может указать платежные реквизиты продавцу по компьютерной сети, как, например, в онлайн-транзакции или транзакции электронной коммерции.
[0065] Сообщение с запросом авторизации для транзакции может быть сгенерировано устройством 102 доступа или компьютером 103 продавца и затем направлено на компьютер 104 эквайера. После приема сообщения с запросом авторизации компьютер 104 эквайера отправляет сообщение с запросом авторизации в сеть 105 обработки платежей. Сеть 105 обработки платежей затем направляет сообщение с запросом авторизации на соответствующий компьютер 106 эмитента, связанный с эмитентом, связанным с пользователем или пользовательским устройством 101.
[0066] «Сообщение с запросом авторизации» может представлять собой электронное сообщение, которое отправляют в сеть обработки платежей и/или эмитенту с целью запроса авторизации для транзакции. Сообщение с запросом авторизации согласно некоторым вариантам осуществления может соответствовать ISO 8583, который является стандартом для систем, которые обмениваются информацией электронных транзакций, связанной с платежом, сделанным пользователем с помощью платежного устройства или расчетного счета. Сообщение с запросом авторизации может содержать идентификатор счета эмитента, который может быть связан с платежным устройством или расчетным счетом. Сообщение с запросом авторизации также может содержать дополнительные элементы данных, соответствующие «идентификационной информации», включая, только в качестве примера: служебный код, CVV (код проверки карты), dCVV (динамический код проверки карты), дату завершения срока действия и т. п. Сообщение с запросом авторизации также может содержать «информацию транзакции», такую как любая информация, связанная с текущей транзакцией, такую как сумма транзакции, идентификатор продавца, местоположение продавца, и т. п., а также любую другую информацию, которая может быть использована при определении, следует ли идентифицировать и/или авторизовать транзакцию. Сообщение с запросом авторизации также может содержать другую информацию, такую как информация, которая идентифицирует устройство доступа, которое сгенерировало сообщение с запросом авторизации, информация о местоположении устройства доступа и т. п.
[0067] После того как компьютер 106 эмитента принимает сообщение с запросом авторизации, компьютер 106 эмитента отправляет сообщение с ответом авторизации обратно в сеть 105 обработки платежей, чтобы указать, авторизована (или не авторизована) текущая транзакция. Сеть 105 обработки платежей затем направляет сообщение с ответом авторизации обратно на компьютер 104 эквайера. В некоторых вариантах осуществления сеть 105 обработки платежей может отклонить транзакцию, даже если компьютер 106 эмитента авторизовал транзакцию, например, в зависимости от величины оценки риска потерь от мошенничества. Компьютер 104 эквайера затем отправляет сообщение с ответом обратно на компьютер 103 продавца.
[0068] «Сообщение с ответом авторизации» может представлять собой ответ в электронном сообщении на сообщение с запросом авторизации, сгенерированное компьютером 106 эмитента и/или сетью 105 обработки платежей. Сообщение с ответом авторизации может содержать, только в качестве примера, один или несколько из следующих индикаторов состояния: «одобрение» -транзакция была одобрена; «отклонение» -транзакция не была одобрена; или «вызов центра» -ответ, требующий больше информации, при этом продавец должен позвонить по бесплатному телефонному номеру для авторизации. Сообщение с ответом авторизации также может содержать код авторизации, который может представлять собой код, который эмитент возвращает в ответ на сообщение с запросом авторизации в электронном сообщении (или прямо, или через сеть 105 обработки платежей) на компьютер 103 продавца, которое обозначает подтверждение транзакции. Код может служить подтверждением авторизации. Как указано выше, в некоторых вариантах осуществления сеть 105 обработки платежей может генерировать или направлять сообщение с ответом авторизации продавцу, как правило, через компьютер 104 эквайера.
[0069] После того как компьютер 103 продавца принимает сообщение с ответом авторизации, компьютер 103 продавца затем может предоставить сообщение с ответом авторизации пользователю. Сообщение с ответом может быть отображено устройством 102 доступа или может быть напечатано на физической квитанции. Альтернативно, если транзакция представляет собой онлайн-транзакцию, продавец может предоставить веб-страницу или иное указание сообщения с ответом авторизации в качестве виртуальной квитанции. Квитанции могут содержать данные транзакции для транзакции.
[0070] В конце дня обычный процесс клиринга и расчетов может быть проведен сетью 105 обработки платежей. Процесс клиринга представляет собой процесс обмена детальной финансовой информацией между эквайером и эмитентом для облегчения проводок по расчетному счету потребителя и сверки положения расчетов пользователя.
Пользовательское устройство
[0071] На фиг. 2 показано приведенное в качестве примера пользовательское устройство 200 согласно некоторым вариантам осуществления. Например, пользовательское устройство 200 может содержать пользовательское устройство 101, представленное на фиг. 1, или содержаться в нем. Примеры пользовательских устройств 200 могут включать мобильные телефоны, планшеты, настольные и портативные переносные компьютеры, носимые устройства (например, умные часы, фитнес-браслеты, браслеты на лодыжку, кольца, серьги и т. п.) или любые другие вычислительные устройства, выполненные с возможностью приема, хранения и передачи данных. Пользовательское устройство 200 может быть выполнено с возможностью осуществления связи прямо или косвенно с компьютером 300 сервера для осуществления способов, описанных в данном документе. Пользовательское устройство 200 может содержать процессор 201, с возможностью связи подключенный к сетевому интерфейсу 202, память 203, машиночитаемый носитель 210 и необязательно элемент 204 безопасности.
[0072] Процессор 201 может содержать один или несколько центральных процессоров (ЦП), каждый из которых может содержать по меньшей мере одно процессорное ядро, функционирующее для выполнения программных компонентов для выполнения запросов, генерируемых пользователем и/или системой. ЦП может представлять собой микропроцессор, такой как Athlon, Duron и/или Opteron от AMD; PowerPC от IBM и/или Motorola; процессор архитектуры Cell от IBM и Sony; Celeron, Itanium, Pentium, Xeon и/или XScale от Intel; и/или подобный процессор (процессоры). ЦП взаимодействует с памятью посредством прохождения сигналов через проводящие каналы для выполнения хранимого программного кода сигналов согласно обычным способам обработки данных. В некоторых случаях процессор 201 может содержать несколько ЦП, соединенных по сети, как, например, в распределенной или кластерной вычислительной системе.
[0073] Сетевой интерфейс 202 может быть выполнен с возможностью обеспечения вычислительному устройству 200 возможности осуществления связи с другими субъектами, такими как устройства 101-107, другими вычислительными устройствами, и т. п., с помощью одной или нескольких сетей связи. Сетевые интерфейсы могут принимать, осуществлять связь и/или подключаться к сети связи. Сетевые интерфейсы могут применять такие протоколы подключения как, но без ограничения, прямое соединение, Ethernet (толстый кабель, тонкий кабель, витая пара 10/100/1000 Base T и/или т. п.), кольцевая сеть с передачей маркера (Token Ring), беспроводное соединение, такое как IEEE 802.11a-x, и/или т. п. Сеть связи может представлять собой любую из и/или сочетание следующего: прямое соединение; Интернет; локальная вычислительная сеть (LAN); городская вычислительная сеть (MAN); безопасное обычное соединение; региональная вычислительная сеть (WAN); беспроводная сеть (например, применяющая, но без ограничения, такие протоколы, как протокол для беспроводной передачи данных (WAP), I-mode и/или т. п.); и/или т. п.
[0074] Память 203 может быть использована для хранения данных и кода. Память 203 может быть подключена к процессору 201 внутренним или внешним образом (например, облачное хранилище данных) и может содержать любое сочетание энергозависимой и/или энергонезависимой памяти, такой как ОЗУ, динамическое ОЗУ, ПЗУ, флеш или любое другое подходящее запоминающее устройство.
[0075] Элемент 204 безопасности может содержать защищенный от несанкционированного вмешательства модуль, выполненный с возможностью безопасного размещения закрытых приложений и/или данных. Такие приложения и/или данные могут быть связаны с платежными приложениями, аутентификацией/авторизацией, управлением криптографическими ключами и т. п. Например, некоторые или все части удостоверяющих данных, криптографических ключей или материалов ключей, криптограмм, совместно используемых секретных ключей, информации учетных записей и т. п. могут быть предоставлены на элемент 204 безопасности пользовательского устройства 200 для защиты от неуполномоченного доступа. В некоторых вариантах осуществления элемент 204 безопасности также может содержать любое сочетание программных (таких как хост-эмуляция карты, или HCE) и/или аппаратных (таких как аппаратный модуль безопасности, или HSM, смарт-карта или чип-карта) модулей безопасности, или содержаться в нем.
[0076] Машиночитаемый носитель 210 может иметь форму памяти (например, флеш, ПЗУ, и т. п.) и может содержать код, выполняемый процессором 201 для осуществления способов, описанных в данном документе. Машиночитаемый носитель 210 может содержать модуль 211 аутентификации, модуль 212 шифрования и модуль 213 приложений. В разных вариантах осуществления такие модули могут быть выполнены с возможностью выполнения вместе или по отдельности некоторых или всех из способов 400, 800, 1100, 1200, 1500, 1600, 1800, представленных на фиг. 4-5, 8, 11, 12, 15 и 18, соответственно.
[0077] Модуль 211 аутентификации может содержать любую программу, программное обеспечение или другой код, подходящий для аутентификации вычислительного устройства 200 для другого вычислительного устройства, или аутентификации другого вычислительного устройства на вычислительном устройстве 200. Например, модуль 211 аутентификации может быть выполнен с возможностью генерирования и отправки сообщения с запросом аутентификации на другое вычислительное устройство, и приема и обработки сообщения с ответом аутентификации от других вычислительных устройств. Аналогично, модуль 211 аутентификации может быть выполнен с возможностью приема и обработки сообщения с запросом аутентификации от другого вычислительного устройства, и генерирования и отправки сообщения с ответом аутентификации на другое вычислительное устройство.
[0078] Модуль 212 шифрования может содержать любую программу, программное обеспечение или другой код, подходящий для выполнения операций, связанных с шифрованием и/или расшифровкой. Например, модуль шифрования может быть выполнен с возможностью генерирования совместно используемого секретного ключа, например, с помощью протокола согласования ключей, такого как протокол Диффи-Хеллмана. Модуль 212 шифрования может быть дополнительно выполнен с возможностью формирования ключа сеанса из совместно используемого секретного ключа, например, с помощью функции формирования ключа (KDF). В некоторых вариантах осуществления модуль 212 шифрования может быть выполнен с возможностью хранения одного или нескольких статических ключей, таких как статический закрытый ключ пользовательского устройства или статический закрытый ключ компьютера сервера. В некоторых вариантах осуществления модуль 212 шифрования может быть реализован с помощью любого сочетания программного (такого как хост-эмуляция карты, или HCE) и аппаратного (такого как аппаратный модуль безопасности, или HSM) обеспечения.
[0079] Модуль 213 приложений может содержать любую программу, программное обеспечение или другой код, подходящий для запуска одного или нескольких приложений. Например, модуль 213 приложений может содержать платежное приложение, применяемое для проведения платежной транзакции. В некоторых вариантах осуществления платежное приложение может быть выполнено с возможностью обеспечения пользователю возможности выбора товаров и услуг для приобретения, получения удостоверяющих данных безопасности (например, криптограммный ключ) от эмитента расчетного счета и/или инициировать или проведения платежной транзакции (например, с помощью удостоверяющих данных безопасности).
[0080] Понятно, что компоненты, описанные в данном документе, представлены лишь с целью иллюстрации и не предназначены для ограничения. В разных вариантах осуществления может быть предусмотрено больше или меньше компонентов, чем перечислено в данном документе. Например, в одном варианте осуществления пользовательское устройство 200 может не содержать элемент 204 безопасности. В таком варианте осуществления закрытые или конфиденциальные данные (например, криптографические ключи) могут быть сохранены (например, в зашифрованной форме) в запоминающее устройство 107, которое функционально соединено с пользовательским устройством 200, и/или извлечены из него. В некоторых вариантах осуществления пользовательское устройство 200 может не содержать модуль 213 приложений.
Компьютер сервера
[0081] На фиг. 3 показан приведенный в качестве примера компьютер 300 сервера согласно некоторым вариантам осуществления. Например, компьютер 300 сервера может содержать любое из устройств 102-106, представленных на фиг. 1, или содержаться в нем. Примеры компьютеров 300 сервера могут включать мобильные телефоны, планшеты, настольные и портативные переносные компьютеры, крупные универсальные компьютеры или любое другое вычислительное устройство, подходящее для приема, хранения и передачи данных. Компьютер 300 сервера может быть выполнен с возможностью осуществления связи прямо или косвенно с пользовательским устройством 200 для осуществления способов, описанных в данном документе. Компьютер 300 сервера может содержать процессор 301, с возможностью связи подключенный к сетевому интерфейсу 302, память 303, машиночитаемый носитель 310 и необязательно элемент 304 безопасности.
[0082] Процессор 301, сетевой интерфейс 302, память 303 могут быть подобны процессору 201, сетевому интерфейсу 202 и памяти 203 пользовательского устройства 200. Машиночитаемый носитель 310 может иметь форму памяти (например, флеш, ПЗУ, и т. п.) и может содержать код, выполняемый процессором 301 для осуществления способов, описанных в данном документе. Машиночитаемый носитель 310 может содержать модуль 311 аутентификации, модуль 312 шифрования и модуль 313 приложений. В разных вариантах осуществления такие модули могут быть выполнены с возможностью выполнения вместе или по отдельности некоторых или всех из способов 600, 900, 1100, 1300, 1500, 1700, 1800, представленных на фиг. 6-7, 9, 11, 13, 15, 17 и 18, соответственно.
[0083] Модуль 311 аутентификации может содержать любую программу, программное обеспечение или другой код, подходящий для аутентификации вычислительного устройства 300 для другого вычислительного устройства, или аутентификации другого вычислительного устройства на вычислительном устройстве 300. Например, модуль 311 аутентификации может быть выполнен с возможностью генерирования и отправки сообщения с запросом аутентификации на другое вычислительное устройство, и приема и обработки сообщения с ответом аутентификации от других вычислительных устройств. Аналогично, модуль 311 аутентификации может быть выполнен с возможностью приема и обработки сообщения с запросом аутентификации от другого вычислительного устройства, и генерирования и отправки сообщения с ответом аутентификации на другое вычислительное устройство.
[0084] Модуль 312 шифрования может содержать любую программу, программное обеспечение или другой код, подходящий для выполнения операций, связанных с шифрованием и/или расшифровкой. Например, модуль шифрования может быть выполнен с возможностью генерирования совместно используемого секретного ключа, например, с помощью протокола согласования ключей, такого как протокол Диффи-Хеллмана. Модуль 312 шифрования может быть дополнительно выполнен с возможностью формирования ключа сеанса из совместно используемого секретного ключа, например, с помощью функции формирования ключа (KDF). В некоторых вариантах осуществления модуль 312 шифрования может быть выполнен с возможностью хранения одного или нескольких статических ключей, таких как статический закрытый ключ пользовательского устройства или статический закрытый ключ компьютера сервера. В некоторых вариантах осуществления модуль 312 шифрования может быть реализован с помощью любого сочетания программного (такого как хост-эмуляция карты, или HCE) и аппаратного (такого как аппаратный модуль безопасности, или HSM) обеспечения.
[0085] Модуль 313 приложений может содержать сервис платежных приложений, применяемый для обслуживания платежных приложений на одном или нескольких вычислительных устройствах. В некоторых вариантах осуществления сервис платежных приложений может быть выполнен с возможностью обеспечения пользователю возможности выбора для приобретения товаров и услуг. Модуль 313 приложений также может содержать сервисы для регистрации или перерегистрации пользовательских устройств и/или проведения транзакций с пользовательскими устройствами.
[0086] Понятно, что компоненты, описанные в данном документе, представлены лишь с целью иллюстрации и не предназначены для ограничения. В разных вариантах осуществления может быть предусмотрено больше или меньше компонентов, чем перечислено в данном документе. Например, в одном варианте осуществления компьютер 300 сервера может не содержать элемент 304 безопасности и/или модуль 313 приложений.
[0087] Хотя использован общий термин «компьютер сервера», в некоторых вариантах осуществления может быть предусмотрено осуществление разными компьютерами сервера разных признаков изобретения. Например, сервер предоставления может быть выполнен с возможностью создания совместно используемого секретного ключа (ключей) посредством пользовательского устройства и предоставления удостоверяющих данных, включая маркер, параметры формирования ключа, параметры обновления, параметры формирования криптограммы, параметры транзакции и любые другие соответствующие данные на пользовательское устройство. Сервер регистрации может быть выполнен с возможностью предоставления регистрационных данных на пользовательское устройство, принятия криптограммы регистрации от пользовательского устройства и проверки подлинности криптограммы регистрации с помощью регистрационных данных, предоставленных пользовательским устройством. Проверяющий подлинность сервер может быть выполнен с возможностью проверки подлинности криптограмм транзакции, предоставленных пользовательским устройством, с помощью обновленного совместно используемого секретного ключа, который определяют на основе предыдущего совместно используемого секретного ключа. Сервер обновления может быть выполнен с возможностью создания нового совместно используемого секретного ключа, который может быть установлен между пользователем и компьютером сервера. Кроме того, сервер обновления может быть выполнен с возможностью предоставления новых параметров (например, новых параметров формирования ключа, новых параметров формирования криптограммы и/или новых параметров обновления), которые могут быть поданы на пользовательское устройство для использования для генерирования криптограмм и/или криптограммных ключей.
[0088] В разных вариантах осуществления сервер предоставления, сервер регистрации и проверяющий подлинность сервер могут быть реализованы отдельными компьютерами сервера или одним компьютером сервера. Например, проверяющий подлинность сервер может быть реализован сервером транзакций, выполненным с возможностью обработки платежных запросов, который является отдельным от сервера предоставления и/или сервера регистрации. Сервер предоставления и сервер регистрации могут быть одним и тем же сервером или отдельными серверами. Сервер регистрации и сервер обновления могут быть одним и тем же или отдельными серверами. При реализации отдельными компьютерами сервера сервер предоставления, сервер регистрации, сервер обновления и/или проверяющий подлинность подлинность сервер могут осуществлять связь друг с другом, так чтобы осуществлять доступ к информации, требующейся для расшифровки и/или проверки данных (например, закрытых ключей сервера, совместно используемых секретных ключей, параметров формирования ключей, параметров формирования криптограмм, параметров обновления, криптограмм, данных запросов и т. п.).
СПОСОБЫ ПРЕДОСТАВЛЕНИЯ УДОСТОВЕРЯЮЩИХ ДАННЫХ
[0089] В вариантах осуществления могут использоваться системы и устройства, описанные выше, для предоставления данных, таких как удостоверяющие данные, с компьютера сервера на пользовательское устройство. На фиг. 4-7 показаны некоторые примеры таких способов. В некоторых вариантах осуществления пользовательское устройство может включать пользовательское устройство 101 или 200, представленное на фиг. 1 и 2, соответственно. Компьютер сервера может включать устройство 102, 103, 104, 105, 106 или 300, представленное на фиг. 1 и 3, соответственно. В некоторых вариантах осуществления компьютер сервера может включать компьютер сервера предоставления.
[0090] Пользовательское устройство может передавать на компьютер сервера сообщение с запросом, сгенерированное с помощью идентификационных данных. Как правило, идентификационные данные зашифрованы или защищены иным образом. В некоторых вариантах осуществления сообщение с запросом может проходить через ненадежную сеть. Компьютер сервера может обрабатывать сообщение с запросом для получения и проверки идентификационных данных. Компьютер сервера затем может шифровать полезные данные и передавать зашифрованные полезные данные на пользовательское устройство в сообщении с ответом. Пользовательское устройство затем может обрабатывать сообщение с ответом для получения полезных данных. Полезные данные могут включать удостоверяющие данные платежа, такие как PAN, криптографические ключи (например, ключи шифрования, LUK, заблокированные открытые ключи), параметры формирования ключа, информацию цепочки сертификатов и т. п.
[0091] Компьютер сервера может хранить пару статических ключей компьютера сервера, включающую статический открытый ключ компьютера сервера и статический закрытый ключ компьютера сервера. Аналогично, пользовательское устройство может хранить пару статических ключей пользовательского устройства, включающую статический открытый ключ пользовательского устройства и статический закрытый ключ пользовательского устройства. Кроме того, пользовательское устройство и/или компьютер сервера могут генерировать пару кратковременных ключей (т. е. пару кратковременных ключей пользовательского устройства или пару кратковременных ключей компьютера сервера, соответственно). Один или несколько этих ключей могут быть использованы для шифрования или расшифровки сообщения с запросом и/или сообщения с ответом.
[0092] В разных вариантах осуществления любой или оба из первого компьютера и компьютера сервера могут быть частью любого из устройств, сетей или компьютеров 101-106. Например, в некоторых вариантах осуществления пользовательское устройство может представлять собой пользовательское устройство 101, а компьютер сервера может представлять собой устройство 102 доступа, компьютер 103 продавца, компьютер 104 эквайера, компьютер 105 сети обработки платежей, компьютер 106 эмитента или любое другое подходящее устройство. В таких вариантах осуществления, когда пользователь проводит транзакцию, пользовательское устройство осуществляет связь с компьютером сервера.
A. Пользовательское устройство
[0093] На фиг. 4-5 показан приведенный в качестве примера процесс или способ 400 безопасного предоставления (например, удостоверяющих данных) с компьютера сервера согласно некоторым вариантам осуществления. Аспекты процесса 400 могут быть выполнены пользовательским устройством, таким как пользовательское устройство 101 или 200. Альтернативно или дополнительно, аспекты процесса 400 могут быть выполнены любыми другими подходящими субъектами. Некоторые или все аспекты процесса 400 (или любых других процессов, описанных в данном документе, или их вариантов и/или сочетаний) могут быть выполнены под управлением одного или нескольких компьютеров/систем управления, снабженных выполняемыми командами, и могут быть реализованы в виде кода (например, выполняемых команд, одной или нескольких компьютерных программ или одного или нескольких приложений), выполняемого вместе на одном или нескольких процессорах, аппаратным обеспечением или их сочетанием. Код может храниться в машиночитаемом носителе данных, например, в форме компьютерной программы, содержащей множество команд, выполняемых одним или несколькими процессорами. Машиночитаемый носитель данных может быть постоянным. Порядок, в котором описаны операции, не предназначен для рассмотрения в качестве ограничения, и для осуществления процессов любое количество описанных операций можно сочетать в любом порядке и/или параллельно.
[0094] На этапе 401 определяют пару кратковременных ключей. «Пара кратковременных ключей» может включать открытый ключ (т. е. «кратковременный открытый ключ») и закрытый ключ (т. е. «кратковременный закрытый ключ»), сгенерированные для использования с одной транзакцией или другим сеансом связи. Пара кратковременных ключей может иметь любой подходящий формат, такой как ECC или RSA. Как правило, пара кратковременных ключей может быть удалена сразу после завершения сеанса связи, использующего кратковременный ключ, или когда с помощью пары кратковременных ключей были сгенерированы один или несколько совместно используемых секретных ключей. Такое удаление пар кратковременных ключей может уменьшить риски нарушения безопасности.
[0095] На этапе 402 с помощью идентификационных данных и аутентификационных данных вычисляют фактор идентификации. Идентификационные данные могут содержать любые данные или информацию, связанные с пользователем или пользовательским устройством. Примеры идентификационных данных могут включать имя пользователя, связанное с пользовательским устройством, организацию, связанную с пользовательским устройством, платежную информацию, такую как номер основного счета (PAN) или маркер, связанный с пользовательским устройством, дату завершения срока действия, связанную с PAN или маркером, сертификат, связанный с пользовательским устройством, IMEI или серийный номер пользовательского устройства, и т. п. Аутентификационные данные могут содержать любые данные или информацию, подходящие для аутентификации пользователя или пользовательского устройства. Примеры аутентификационных данных могут включать пароль или фразу доступа, секретный ключ (например, закрытый ключ) и т. п. Фактор идентификации может содержать любые данные или информацию, определенные из идентификационных данных и/или аутентификационных данных. Например, в некоторых вариантах осуществления фактор идентификации может быть сгенерирован путем хеширования сочетания идентификационных данных и аутентификационных данных.
[0096] На этапе 403 фактор идентификации объединяют с кратковременным открытым ключом и кратковременным закрытым ключом. В результате могут быть определены комбинированный кратковременный открытый ключ и комбинированный кратковременный закрытый ключ. Комбинированный ключ может включать ключ, который был искажен или иным образом изменен в сравнении с его изначальным значением путем сочетания с другим элементом данных или значением. Например, комбинированный кратковременный открытый ключ может представлять собой сочетание кратковременного открытого ключа и фактора идентификации. Аналогично, комбинированный кратковременный закрытый ключ может представлять собой сочетание кратковременного закрытого ключа и фактора идентификации. В некоторых вариантах осуществления сочетание ключа с элементом данных может включать выполнение точечного умножения ключа и элемента данных. В некоторых вариантах осуществления этап 403 является необязательным.
[0097] На этапе 404 с помощью комбинированного кратковременного закрытого ключа и статического открытого ключа компьютера сервера генерируют первый совместно используемый секретный ключ. Первый совместно используемый секретный ключ также можно назвать совместно используемым секретным ключом запроса, поскольку он используется для защиты (например, шифрования и/или расшифровки) сообщения с запросом, как обсуждается ниже. Статический открытый ключ компьютера сервера может включать статический открытый ключ, хранимый компьютером сервера, например, в элементе безопасности. В некоторых вариантах осуществления статический открытый ключ компьютера сервера может быть определен из цифрового сертификата компьютера сервера, который мог быть ранее получен пользовательским устройством и который может быть подписан доверенным органом сертификации.
[0098] Совместно используемый секретный ключ может быть сгенерирован из комбинированного кратковременного закрытого ключа и статического открытого ключа компьютера сервера с помощью любого подходящего способа. Например, в вариантах осуществления, в которых используется криптография на основе эллиптических кривых, совместно используемый секретный ключ может быть определен с помощью протокола Диффи-Хеллмана на эллиптических кривых (ECDH).
[0099] На этапе 405 с помощью первого совместно используемого секретного ключа и первых вспомогательных данных генерируют первый ключ сеанса. Первые вспомогательные данные могут содержать любые другие данные, используемые для генерирования первого ключа сеанса. Примеры первых вспомогательных данных могут включать идентификатор компьютера сервера и/или усеченный кратковременный открытый ключ.
[0100] Ключ сеанса может иметь любой подходящий формат (например, AES, DES, Blowfish и т. п.) любую подходящую длину и быть сгенерирован с помощью любой подходящей функции формирования ключа (KDF). Например, в одном варианте осуществления ключ сеанса может быть сгенерирован с помощью алгоритма функции формирования ключа на основе пароля 2 (PBKDF2). В некоторых вариантах осуществления в качестве дополнительных входных данных для функции формирования ключа могут быть использованы другие данные, такие как идентификатор пользовательского устройства.
[0101] На этапе 406 кратковременный открытый ключ, идентификационные данные и идентификатор пользовательского устройства шифруют с помощью первого ключа сеанса для генерирования зашифрованных данных запроса. Первый ключ сеанса также можно назвать ключом защиты сообщения. «Идентификатор пользовательского устройства» может включать любой идентификатор, подходящий для идентификации пользовательского устройства.
[0102] В некоторых вариантах осуществления данные запроса могут содержать идентификатор устройства или пользователя и/или информацию аутентификатора (например, идентификатор аутентификатора). Данные запроса также могут содержать информацию о конфигурации клиента и/или указания для службы. В некоторых примерах такая информация может быть предоставлена пользовательскими устройствами, которые изначально не имеют средств для строгой аутентификации.
[0103] На этапе 407 сообщение с запросом предоставления, содержащее комбинированный кратковременный открытый ключ и зашифрованные данные запроса, отправляют на компьютер сервера. В некоторых вариантах осуществления сообщение с запросом предоставления, прежде чем дойдет до компьютера сервера, может проходить через одного или нескольких посредников (например, ненадежную сеть). Сообщение с запросом предоставления может содержать кратковременный открытый ключ и не содержать зашифрованных данных запроса.
[0104] Переходя к этапу 408, представленному на фиг. 5, с компьютера сервера принимают сообщение с ответом предоставления, содержащее заблокированный статический открытый ключ компьютера сервера и зашифрованные данные ответа. Как правило, заблокированный статический открытый ключ компьютера сервера может представлять собой заблокированную форму статического открытого ключа компьютера сервера, используемого на этапе 404 для генерирования первого совместно используемого секретного ключа. В таких вариантах осуществления первый совместно используемый секретный ключ отличается от второго совместно используемого секретного ключа, который обсуждается ниже. В некоторых других вариантах осуществления статический открытый ключ компьютера сервера, принятый от компьютера сервера, может быть не заблокирован. В таких вариантах осуществления второй совместно используемый секретный ключ по существу является таким же, что и первый совместно используемый секретный ключ. Когда статический открытый ключ компьютера сервера не заблокирован, криптографический объект nonce может быть предоставлен как часть данных ответа и использован для вычисления криптограмм. Например, криптографический объект nonce из сервера (энтропия) может быть использован или сохранен для дальнейшего формирования, или второй криптографический объект nonce может быть предоставлен как часть параметров формирования. Важно, что энтропия с сервера используется при вычислении криптограмм (например, криптограмм платежных транзакций).
[0105] На этапе 409 с помощью кратковременного закрытого ключа и статического открытого ключа сервера определяют второй совместно используемый секретный ключ. В некоторых случаях второй совместно используемый секретный ключ может быть назван совместно используемым секретным ключом ответа, поскольку его используют для (например, шифрования и/или расшифровки) сообщения с ответом, как обсуждается ниже. В некоторых вариантах осуществления заблокированный статический открытый ключ компьютера сервера принимают от компьютера сервера на этапе 408. В некоторых других вариантах осуществления заблокированный ключ формируют из статического открытого ключа сервера на пользовательском устройстве. Заблокированный ключ может быть сформирован с помощью криптографического объекта nonce, который может быть предоставлен как часть сообщения с ответом предоставления. Криптографический объект nonce может представлять собой случайное число. Криптографический объект nonce также может быть использован для проверки сертификата компьютера сервера, как обсуждается в другом месте.
[0106] В некоторых вариантах осуществления второй совместно используемый секретный ключ может быть сгенерирован из кратковременного закрытого ключа и заблокированного статического открытого ключа компьютера сервера с помощью любого подходящего способа, такого как ECDH. В других вариантах осуществления второй совместно используемый секретный ключ может быть определен без заблокированного ключа. В таких вариантах осуществления сообщение с ответом предоставления (например, удостоверяющие данные) может содержать криптографический объект nonce, который может быть использован для формирования криптограммного ключа.
[0107] На этапе 410 с помощью второго совместно используемого секретного ключа и вторых вспомогательных данных генерируют второй ключ сеанса. Вторые вспомогательные данные могут содержать любые другие данные, используемые для генерирования второго ключа сеанса. Примеры вторых вспомогательных данных могут включать идентификатор компьютера сервера, идентификатор пользовательского устройства и/или усеченный кратковременный открытый ключ. Второй ключ сеанса может быть сгенерирован с помощью любой подходящей KDF.
[0108] На этапе 411 зашифрованные данные ответа расшифровывают с помощью второго ключа сеанса для получения криптографического объекта nonce, цепочки сертификатов компьютера сервера и полезных данных. Цепочка сертификатов компьютера сервера может включать цепочку из одного или нескольких подписанных сертификатов от корневого сертификата ОС до сертификата компьютера сервера, благодаря чему цепочка устанавливает подлинность сертификата компьютера сервера. Полезные данные могут содержать любые подходящие данные. Например, полезные данные могут содержать неудостоверяющую информацию, такую как подтверждение транзакции, баланс счета пользователя и т. п., и удостоверяющие данные, такие как удостоверяющие данные платежа. Полезные данные или удостоверяющие данные платежа могут содержать одно или несколько из: PAN или маркер (например, заменитель PAN), ключ ограниченного использования (LUK), который может быть использован для проведения будущих транзакций, и другие параметры формирования ключа, которые могут быть использованы для формирования криптограммных ключей, параметры обновления, параметры транзакции и т. п. Некоторые или все части данных ответа могут быть зашифрованы с помощью одного или нескольких ключей шифрования.
[0109] Полезные данные или удостоверяющие данные могут содержать параметры формирования ключа, которые могут или не могут содержать ключ ограниченного использования (LUK). Параметры формирования ключа (которые могут или не могут содержать LUK) могут быть использованы для генерирования одной или нескольких криптограмм для проведения транзакций. Например, LUK может быть использован для прямого формирования криптограммы или использован для формирования криптограммного ключа, который затем используют для генерирования криптограммы.
[0110] Полезные данные или удостоверяющие данные могут также содержать параметры обновления, которые могут быть использованы пользовательским устройством для генерирования обновленного совместно используемого секретного ключа на основе предыдущего совместно используемого секретного ключа. В некоторых вариантах осуществления параметры формирования ключа могут быть по существу такими же, что и параметры обновления. В некоторых других вариантах осуществления параметры формирования ключа могут отличаться от параметров обновления. Параметры формирования ключа и/или параметры обновления могут быть уникальными для пользовательского устройства или для группы пользовательских устройств для того, чтобы предотвращать массовые офлайновые атаки.
[0111] Полезные данные или удостоверяющие данные могут содержать параметры формирования криптограммы, которые могут быть использованы для формирования криптограмм.
[0112] Параметры формирования ключа, параметры формирования криптограммы и/или параметры обновления могут содержать LUK, указание, какие параметры транзакции из данной транзакции использовать, код для выполнения формирования (или идентификатор процедуры, которую надо использовать) и/или другую информацию, связанную с этими параметрами. В некоторых вариантах осуществления параметры формирования ключа, параметры формирования криптограммы и/или параметры обновления могут содержать «фиктивные» или неверные параметры с целью искажения. Код может представлять собой код персонализированного способа формирования, в том смысле, что он является уникальным для устройства или группы устройств, и может быть назначен случайным образом. Код может быть подписан сервером или другим поставщиком, так что пользовательское устройство может аутентифицировать код. В некоторых вариантах осуществления код перед подписыванием искажают, таким образом затрудняя взломщику понимание, обход и/или обратную разработку кода.
[0113] На этапе 412 проверяется подлинность цепочки сертификатов компьютера сервера. Цепочка сертификатов компьютера сервера может быть проверена на подлинность с помощью любого подходящего онлайн или офлайн способа. Например, для каждого из одного или нескольких сертификатов в цепочке цифровая подпись сертификата может быть проверена на подлинность с помощью известного доверенного открытого ключа (например, открытого ключа органа сертификации, или открытого ключа субъекта, соответствующим образом авторизованного ОС). Например, в некоторых вариантах осуществления для проверки подлинности сертификата может быть использован алгоритм цифровой подписи, такой как алгоритм цифровой подписи на эллиптических кривых (ECDSA). В некоторых вариантах осуществления сертификат компьютера сервера может быть проверен с помощью криптографического объекта nonce, который предоставлен как часть сообщения с ответом предоставления (например, как часть удостоверяющих данных).
[0114] На этапе 413 заблокированный статический открытый ключ компьютера сервера проверяют с помощью сертификата компьютера сервера и криптографического объекта nonce. Проверка заблокированного статического открытого ключа компьютера сервера может включать получение подтверждения, что заблокированный статический открытый ключ компьютера сервера соответствует ожидаемому значению. Например, в некоторых случаях второй заблокированный статический открытый ключ компьютера сервера может быть сгенерирован с помощью статического открытого ключа компьютера сервера, включенного в сертификат компьютера сервера, и криптографического объекта nonce, расшифрованного на этапе 411. Второй заблокированный статический открытый ключ компьютера сервера затем может быть сравнен с заблокированным статическим открытым ключом компьютера сервера, принятым на этапе 408, чтобы убедиться, что ключи соответствуют. Альтернативно, в некоторых случаях заблокированный статический открытый ключ компьютера сервера, принятый на этапе 408, может быть проверен путем его сравнения с хранящимся заблокированным статическим открытым ключом компьютера сервера. Если ключи соответствуют, компьютер сервера может быть аутентифицирован. Иначе, аутентификация может потерпеть неудачу.
[0115] Следует отметить, что этот способ аутентификации (т. е. проверка заблокированного статического открытого ключа) может обеспечить преимущество, заключающееся в том, что статический открытый ключ компьютера сервера, который можно считать закрытым (поскольку он может раскрыть субъект компьютера сервера), не требует передачи в открытом тексте. Таким образом, аутентификация компьютера сервера может быть выполнена с одновременной защитой субъекта компьютера сервера от подслушивателя, который перехватывает сообщение с запросом предоставления.
[0116] На этапе 414 транзакцию проводят с помощью полезных данных. В некоторых вариантах осуществления полезные данные могут содержать удостоверяющие данные (например, маркер, параметры формирования ключа, параметры обновления, параметры формирования криптограммы). В таких вариантах осуществления транзакция может быть проведена с помощью удостоверяющих данных. Например, криптограммный ключ может быть сгенерирован из второго (ответного) совместно используемого секретного ключа с помощью предоставленных параметров формирования ключа. Криптограммный ключ может быть также сформирован с помощью криптографического объекта nonce, который может быть предоставлен как часть полезных данных. Криптограммный ключ может быть применим для генерирования криптограммы. Криптограмма также может быть сгенерирована с помощью параметров формирования криптограммы, предоставленных как часть полезных данных. Криптограмма может быть использована в защищенной связи с компьютером проверяющего подлинность сервера. Криптограмма может быть включена в сообщение с запросом авторизации и проверена компьютером проверяющего подлинность сервера.
[0117] В некоторых вариантах осуществления второй (ответный) совместно используемый секретный ключ может быть обновлен для определения обновленного совместно используемого секретного ключа с помощью параметров обновления, при этом удостоверяющие данные содержат параметры обновления. Второй криптограммный ключ может быть определен с помощью обновленного совместно используемого секретного ключа и параметров формирования ключа. С помощью второго криптограммного ключа может быть сгенерирована вторая криптограмма. С помощью второй криптограммы может быть осуществлена вторая защищенная связь с компьютером проверяющего подлинность сервера.
[0118] В некоторых вариантах осуществления вторая защищенная связь может представлять собой транзакцию авторизации, в которой вторая криптограмма аутентифицирует по меньшей мере один элемент транзакции авторизации.
[0119] В некоторых вариантах осуществления новые совместно используемые секретные ключи могут быть сгенерированы для каждой из множества новых защищенных связей, при этом каждый новый совместно используемый секретный ключ генерируют с помощью предыдущего совместно используемого секретного ключа и параметров обновления. Новые криптограммные ключи могут быть сформированы с помощью новых совместно используемых секретных ключей и параметров формирования ключей. С помощью нового криптограммного ключа могут быть сгенерированы новые криптограммы. С помощью новых криптограмм могут быть осуществлены новые защищенные связи с компьютером проверяющего подлинность сервера.
[0120] В некоторых вариантах осуществления пользовательское устройство может быть выполнено с возможностью сохранения только ответного (второго) совместно используемого секретного ключа, не сохраняя первый (запросный) совместно используемый секретный ключ, чтобы уменьшить риск раскрытия. В некоторых случаях первый совместно используемый секретный ключ после отправки запроса больше не нужен. Ответный совместно используемый секретный ключ может быть сохранен для генерирования обновленного совместно используемого секретного ключа для последующих транзакций. В некоторых вариантах осуществления пользовательское устройство может быть выполнено с возможностью сохранения только самого последнего или нескольких совместно используемых секретных ключей (например, последнего совместно используемого секретного ключа или последних нескольких совместно используемых секретных ключей), чтобы уменьшить потери от потенциального нарушения безопасности. Также могут быть сохранены и другие данные из данных ответа, такие как параметры формирования ключа, параметры обновления, параметры формирования криптограммы, криптографический объект nonce и т. п.
B. Компьютер сервера
[0121] На фиг. 6-7 показан приведенный в качестве примера процесс или способ 600 безопасного предоставления данных (например, удостоверяющих данных) на пользовательское устройство согласно некоторым вариантам осуществления. Аспекты процесса 600 могут быть выполнены компьютером сервера, таким как серверное устройство или компьютер 102, 103, 104, 105, 106 или 300. Например, процесс 600 может быть выполнен сервером предоставления. Альтернативно или дополнительно, аспекты процесса 600 могут быть выполнены любыми другими подходящими субъектами.
[0122] Как правило, до выполнения способа 600, компьютер сервера имеет пару статических ключей компьютера сервера. Пара статических ключей компьютера сервера может содержать открытый ключ (т. е. «статический открытый ключ компьютера сервера») и закрытый ключ (т. е. «статический закрытый ключ компьютера сервера»). Компьютер сервера также может содержать «сертификат компьютера сервера», содержащий статический открытый ключ компьютера сервера. Сертификат компьютера сервера может быть подписан органом сертификации, таким как сеть 105 обработки платежей или компьютер 106 эмитента.
[0123] На этапе 601 от пользовательского устройства принимают сообщение с запросом предоставления, содержащее комбинированный кратковременный открытый ключ и зашифрованные данные запроса. Как правило, комбинированный кратковременный открытый ключ может быть сгенерирован пользовательским устройством с помощью кратковременного открытого ключа и фактора идентификации (например, в соответствии с этапом 403 способа 400). Комбинированный кратковременный ключ может представлять собой просто кратковременный открытый ключ без какого-либо использования фактора идентификации. Сообщение с запросом предоставления может содержать кратковременный открытый ключ, а не зашифрованные данные запроса. В таких реализациях определенные этапы, описанные ниже, могут быть не нужны, как будет понятно специалисту в данной области техники.
[0124] На этапе 602 с помощью комбинированного кратковременного открытого ключа, принятого на этапе 601, и статического закрытого ключа компьютера сервера генерируют первый (запросный) совместно используемый секретный ключ. Совместно используемый секретный ключ может быть сгенерирован из комбинированного кратковременного открытого ключа и статического закрытого ключа компьютера сервера с помощью любого подходящего способа, например, ECDH.
[0125] На этапе 603 с помощью первого совместно используемого секретного ключа и первых вспомогательных данных генерируют первый ключ сеанса. Первые вспомогательные данные могут содержать любые другие данные, используемые для генерирования первого ключа сеанса. Как правило, те же данные, которые использованы для генерирования первого ключа сеанса на пользовательском устройстве (например, в соответствии с этапом 405 способа 400), могут быть использованы и на этапе 603.
[0126] На этапе 604 зашифрованные данные запроса расшифровывают с помощью первого ключа сеанса для получения данных запроса, содержащих кратковременный открытый ключ, идентификатор пользовательского устройства и идентификационные данные. Кратковременный открытый ключ может соответствовать комбинированному кратковременному открытому ключу, принятому на этапе 601. Идентификатор пользовательского устройства может содержать любые данные, подходящие для идентификации пользовательского устройства. Идентификационные данные могут содержать любые данные или информацию, связанные с пользователем или пользовательским устройством. Примеры идентификационных данных могут включать имя пользователя, связанное с пользовательским устройством, организацию, связанную с пользовательским устройством, платежную информацию, такую как номер основного счета (PAN) или маркер, связанный с пользовательским устройством, дату завершения срока действия, связанную с PAN или маркером, сертификат, связанный с пользовательским устройством, IMEI или серийный номер пользовательского устройства, и т. п.
[0127] На этапе 605 идентификационные данные проверяют с помощью идентификатора пользовательского устройства. Например, в некоторых вариантах осуществления идентификатор пользовательского устройства может быть использован для извлечения соответствующих идентификационных данных из базы данных устройств. Расшифрованные идентификационные данные затем могут быть проверены путем сравнения с принятыми идентификационными данными.
[0128] На этапе 606 извлекают аутентификационные данные, связанные с идентификатором пользовательского устройства, и/или идентификационные данные. Аутентификационные данные могут содержать любые данные или информацию, подходящие для аутентификации пользователя или пользовательского устройства. Примеры аутентификационных данных могут включать пароль или фразу доступа, секретный ключ (например, закрытый ключ) и т. п. В некоторых вариантах осуществления аутентификационные данные могут быть извлечены из базы данных устройств.
[0129] На этапе 607 с помощью полученных аутентификационных данных и идентификационных данных генерируют фактор идентификации. Фактор идентификации может содержать любые данные или информацию, определенные из идентификационных данных и/или аутентификационных данных. Например, в некоторых вариантах осуществления фактор идентификации может быть сгенерирован путем хеширования сочетания идентификационных данных и аутентификационных данных. Как правило, фактор идентификации, генерируемый на этапе 607, выполняют таким же образом, что и на пользовательском устройстве (например, согласно этапу 402).
[0130] На этапе 608 комбинированный кратковременный открытый ключ проверяют с помощью кратковременного открытого ключа и фактора идентификации. Проверка комбинированного кратковременного открытого ключа может включать подтверждение того, что комбинированный кратковременный открытый ключ соответствует ожидаемому значению. Например, в некоторых случаях второй комбинированный кратковременный открытый ключ может быть сгенерирован с помощью кратковременного открытого ключа, полученного на этапе 604, и фактора идентификации, определенного на этапе 607. Второй комбинированный кратковременный открытый ключ затем может быть сравнен с комбинированным кратковременным открытым ключом, принятым на этапе 601, чтобы убедиться, что ключи соответствуют. Если ключи соответствуют, пользовательское устройство может быть аутентифицировано. Иначе, аутентификация может потерпеть неудачу.
[0131] Следует отметить, что этот способ аутентификации (т. е. проверка комбинированного кратковременного ключа) обеспечивает преимущество, состоящее в том, что аутентификационные данные, которые могут быть закрытыми, не нужно передавать простым текстом, даже в зашифрованной форме. Таким образом, даже если статический закрытый ключ компьютера сервера позже утрачивает секретность (впрочем, маловероятно), аутентификационные данные в форме простого текста не раскрываются. Кроме того, поскольку блокирование ключа, как правило, является необратимым, взломщик не может извлечь фактор идентификации, не говоря об аутентификационных данных, используемых для генерирования фактора идентификации, даже зная как комбинированный кратковременный открытый ключ, так и кратковременный открытый ключ.
[0132] Переходя к этапу 609, представленному на фиг. 7, генерируют криптографический объект nonce. Криптографический объект nonce может представлять собой случайное или псевдослучайное значение данных, сгенерированное с помощью любого подходящего способа.
[0133] На этапе 610 статический открытый ключ компьютера сервера и статический закрытый ключ компьютера сервера блокируют с помощью криптографического объекта nonce и фактора идентификации. В результате могут быть определены заблокированный статический открытый ключ компьютера сервера и/или заблокированный статический закрытый ключ компьютера сервера. Заблокированный ключ может включать ключ, который был искажен или иным образом изменен в сравнении с его изначальным значением путем сочетания с одним или несколькими другими элементами данных. Например, комбинированный кратковременный открытый ключ может представлять собой сочетание (например, точечное умножение) кратковременного открытого ключа, криптографического объекта nonce и фактора идентификации. Аналогично, комбинированный кратковременный закрытый ключ может представлять собой сочетание кратковременного закрытого ключа, криптографического объекта nonce и фактора идентификации.
[0134] На этапе 611 с помощью заблокированного статического закрытого ключа компьютера сервера и кратковременного открытого ключа генерируют второй совместно используемый секретный ключ. В альтернативном варианте осуществления статический закрытый ключ компьютера сервера не заблокирован. Вместо этого заблокированным является кратковременный открытый ключ. Совместно используемый секретный ключ может быть сгенерирован из комбинированного кратковременного открытого ключа и статического закрытого ключа компьютера сервера с помощью любого подходящего способа, например, ECDH.
[0135] На этапе 612 с помощью второго совместно используемого секретного ключа и вторых вспомогательных данных генерируют второй ключ сеанса. Вторые вспомогательные данные могут содержать любые другие данные, используемые для генерирования второго ключа сеанса. Как правило, те же данные, которые использованы для генерирования второго ключа сеанса на пользовательском устройстве (например, в соответствии с этапом 410 способа 400), могут быть использованы и на этапе 612.
[0136] На этапе 613 криптографический объект nonce, цепочка сертификатов компьютера сервера и другие удостоверяющие данные полезных данных шифруют с помощью второго ключа сеанса для генерирования зашифрованных данных ответа. Цепочка сертификатов компьютера сервера может включать цепочку из одного или нескольких подписанных сертификатов от корневого сертификата ОС до сертификата компьютера сервера, благодаря чему цепочка устанавливает подлинность сертификата компьютера сервера. Полезные данные могут содержать любые подходящие данные. Например, полезные данные могут содержать подтверждение транзакции, баланс счета пользователя, ключ ограниченного использования (LUK), который может быть использован для проведения будущих транзакций, и т. п. Полезные данные также могут содержать параметры формирования ключа, параметры формирования криптограммы, параметры обновления. Параметры формирования ключа, параметры формирования криптограммы и/или параметры обновления могут содержать LUK, указание, какие параметры транзакции из данной транзакции использовать, код для выполнения формирования (или идентификатор процедуры формирования, которую надо использовать) и/или другую информацию, связанную с этими параметрами. Код может представлять собой код персонализированного способа формирования, в том смысле, что он является уникальным для устройства или группы устройств, и может быть назначен случайным образом. Код может быть подписан сервером или другим поставщиком, так что пользовательское устройство может аутентифицировать код.
[0137] В некоторых вариантах осуществления группа пользователей кода разделена на меньшие группы. Каждая группа может принять разный код, где каждый выпуск кода (например, выпускаемый ежегодно) может отличаться. Преимущественно, атака, которая завершается успехом при обратной разработке одного из пользовательских устройств, не воздействует ни на какие пользовательское устройства не из этой группы. Процесс случайного выбора при предоставлении как кода, так и параметров формирования ключа/криптограммы, может создать группу, безопасность которой была нарушена, меньшей и изменяющейся, таким образом делая процесс менее привлекательным для хакеров.
[0138] На этапе 614 сообщение с ответом предоставления, содержащее зашифрованные данные ответа, отправляют на пользовательское устройство. В некоторых вариантах осуществления сообщение с ответом также может содержать статический открытый ключ компьютера сервера, который может или не может быть заблокированным. Сообщение с запросом предоставления, прежде чем дойти до пользовательского устройства, может проходить через одного или нескольких посредников (например, ненадежную сеть).
СПОСОБЫ
ВНЕСЕНИЯ
В
РЕЕСТР
[0139] Варианты осуществления настоящего изобретения предоставляют эффективные способы безопасного предоставления устройству закрытых данных (например, ключа ограниченного использования (LUK) и/или других удостоверяющих данных) на пользовательское устройство, так что устройство может обеспечивать защищенные связи. Процесс внесения в реестр может необязательно включать процесс предоставления, в котором удостоверяющие данные, параметры (например, параметры формирования ключа, параметры обновления, параметры формирования криптограммы) и любые другие подходящие данные предоставляются с компьютера сервера на пользовательское устройство. Необязательно, процесс внесения в реестр также может включать процесс регистрации, в котором пользовательское устройство использует предоставленные материалы для генерирования криптограммы регистрации, подлинность которой затем проверяется компьютером сервера.
[0140] Например, в одном варианте осуществления пользовательское устройство может генерировать пару кратковременных ключей, содержащую кратковременный открытый ключ и кратковременный закрытый ключ. Пользовательское устройство может формировать первый ключ сеанса с помощью кратковременного закрытого ключа и открытого ключа компьютера сервера, и использовать первый ключ сеанса для шифрования фактора аутентификации (такого как удостоверяющие данные пользователя). Пользовательское устройство затем может отправлять сообщение с запросом, содержащее зашифрованный фактор аутентификации и кратковременный открытый ключ, на компьютер сервера (например, компьютер сети обработки платежей).
[0141] При принятии сообщения с запросом компьютер сервера может генерировать первый ключ сеанса с помощью принятого кратковременного открытого ключа и закрытого ключа компьютера сервера. Компьютер сервера затем может расшифровывать зашифрованный фактор аутентификации и аутентифицировать пользовательское устройство. Если пользовательское устройство аутентифицировано успешно, компьютер сервера может генерировать второй ключ сеанса, параметры формирования ключа и потенциально LUK. Компьютер сервера может шифровать данные ответа, содержащие параметры формирования ключа, которые могут или не могут содержать LUK, с помощью второго ключа сеанса, чтобы генерировать зашифрованные полезные данные. Компьютер сервера затем может отправлять сообщение с ответом на пользовательское устройство, включая зашифрованные полезные данные.
[0142] В ответ пользовательское устройство может расшифровывать зашифрованные полезные данные для определения параметров формирования ключа, которые могут или не могут содержать LUK. Параметры формирования ключей могут быть использованы для генерирования криптограммных ключей, которые, в свою очередь, могут быть использованы для генерирования криптограмм для проведения транзакций.
[0143] Кроме того, некоторые варианты осуществления могут предоставлять параметры формирования ключа (которые могут или не могут содержать LUK) на ранее неаутентифицированное пользовательское устройство с помощью только двух сообщений: сообщения с запросом от пользовательского устройства и сообщения с ответом на пользовательское устройство. Таким образом, варианты осуществления могут обеспечивать вышеуказанные преимущества, сокращая при этом как время, так и обработку, требующиеся для предоставления данных пользовательскому устройству.
A. Пользовательское устройство
[0144] На фиг. 8 показан приведенный в качестве примера процесс или способ 800 внесения в реестр для предоставления пользовательскому устройству (например, пользовательскому устройству 101) ключа ограниченного использования, сгенерированного компьютером сервера (например, компьютером 105 сети обработки платежей), согласно некоторым вариантам осуществления. Аспекты процесса 800 могут быть выполнены пользовательским устройством 101 или 200, представленным на фиг. 1 и 2, соответственно. Компьютер сервера может содержать сервер предоставления и/или сервер регистрации.
[0145] На этапе 801 могут быть выполнены этапы 401-413 способа 400. В частности, пользовательское устройство может определять пару кратковременных ключей, содержащую кратковременный открытый ключ и кратковременный закрытый ключ. Пользовательское устройство может формировать первый ключ сеанса с помощью кратковременного закрытого ключа и открытого ключа компьютера сервера, и использовать первый ключ сеанса для шифрования фактора аутентификации (такого как удостоверяющие данные пользователя). Пользовательское устройство затем может отправлять сообщение с запросом предоставления, содержащее зашифрованный фактор аутентификации и кратковременный открытый ключ, на компьютер сервера. Сообщение с запросом предоставления также может функционировать как сообщение с запросом LUK. Сообщение с ответом предоставления/LUK может быть принято в ответ от компьютера сервера. Сообщение с ответом может содержать заблокированный открытый ключ компьютера сервера и зашифрованные данные ответа. Пользовательское устройство может генерировать второй совместно используемый секретный ключ с помощью кратковременного закрытого ключа и заблокированного открытого ключа компьютера сервера. Пользовательское устройство также может генерировать второй ключ сеанса с помощью второго совместно используемого секретного ключа и вторых вспомогательных данных, таких как идентификатор компьютера сервера, идентификатор пользовательского устройства и/или усеченный кратковременный открытый ключ. Зашифрованные данные ответа могут быть расшифрованы с помощью второго ключа сеанса для получения криптографического объекта nonce, цепочки сертификатов компьютера сервера и полезных данных. Цепочка сертификатов компьютера сервера и заблокированный открытый ключ компьютера сервера могут быть проверены или может быть определена их подлинность. Дополнительное описание этих этапов может быть найдено со ссылкой на соответствующие этапы способа 400.
[0146] На этапе 802 из удостоверяющих данных могут быть получены параметры формирования ключа. Параметры формирования ключа могут необязательно содержать ключ ограниченного использования (LUK). Как обсуждалось на этапе 411 способа 400, данные ответа с компьютера сервера могут содержать полезные данные, зашифрованные с помощью второго ключа сеанса, сформированного из второго совместно используемого секретного ключа. Полезные данные могут быть извлечены путем расшифровки данных ответа с помощью второго ключа сеанса, сформированного ранее из второго секретного ключа. Полезные данные могут содержать, среди других данных, удостоверяющие данные, которые могут содержать маркер, параметры формирования ключа, параметры обновления, параметры формирования криптограммы и т. п.
[0147] На этапе 808 регистрационные данные (например, одноразовый пароль (OTP)) могут быть приняты, например, от компьютера сервера. Компьютер сервера может представлять собой сервер регистрации, который может или не может быть таким же, что и сервер предоставления, описанный выше. Регистрационные данные могут быть переданы на пользовательское устройство с помощью отдельного канала связи по сравнению с каналом связи, используемым для передачи сообщений с запросом/ответом предоставления. Например, регистрационные данные могут быть переданы посредством SMS, электронного письма, телефонного вызова, онлайн-чата, факсимильного сообщения, почтовой связи и т. п., и введены пользователем вручную в пользовательское устройство. В некоторых других вариантах осуществления регистрационные данные могут быть предоставлены по тому же каналу связи, что и сообщения с запросом/ответом предоставления. В таких вариантах осуществления регистрационные данные могут быть предоставлены в сообщении с ответом предоставления или в другом сообщении.
[0148] В разных вариантах осуществления регистрационные данные могут содержать другие данные, вместо OTP или в дополнение к нему. Например, регистрационные данные могут содержать данные без паролей, такие как статическая строка, идентификатор уникального устройства или пользователя, фиктивные данные транзакции и т. п. Могут быть использованы любые другие регистрационные данные, пока они поддаются проверке.
[0149] На этапе 810 с помощью второго (ответного) совместно используемого секретного ключа и/или параметров формирования ключа может быть сгенерирован криптограммный ключ. В некоторых вариантах осуществления параметры формирования ключа могут необязательно содержать ключ ограниченного использования (LUK). Второй (ответный) совместно используемый секретный ключ может быть сгенерирован, например, на этапе 409 процесса предоставления, представленного на фиг. 5. Криптограммный ключ может быть сгенерирован с помощью некоторых или всех из второго совместно используемого секретного ключа, LUK и/или параметров формирования ключа. Например, криптограммный ключ может быть сгенерирован с помощью лишь одного LUK, одного второго совместно используемого секретного ключа (например, с помощью второго ключа сеанса, сформированного из второго совместно используемого секретного ключа) или одних параметров формирования ключа. Например, криптограммный ключ может представлять собой LUK или второй ключ сеанса. В некоторых других вариантах осуществления криптограммный ключ может быть сгенерирован с помощью LUK и второго совместно используемого секретного ключа, LUK и параметров формирования ключа, или второго совместно используемого секретного ключа и параметров формирования ключа. К примеру, криптограммный ключ может быть сгенерирован с помощью сочетания LUK и второго ключа сеанса. Еще в некоторых других вариантах осуществления криптограммный ключ может быть сгенерирован с помощью второго совместно используемого секретного ключа, LUK и параметров формирования ключа. LUK можно рассматривать как параметр формирования.
[0150] В некоторых вариантах осуществления перечень алгоритмов (например, алгоритмов или функций формирования ключа) и параметров (например, параметров формирования ключа и/или параметров обновления), обсуждаемых в данном документе, может быть уникальным для конкретного устройства или конкретной группы устройств для того, чтобы предотвратить обратную разработку. Изменение от устройства к устройству может быть основано на комплекте разработки программного обеспечения (SDK), установленном на устройстве. В некоторых вариантах осуществления точный алгоритм и/или параметры, используемые для формирования конкретного ключа или совместно используемого секретного ключа, могут быть определены с помощью битовой карты, хранящейся на устройстве. Интерпретация битовой карты и отображение битовой карты на фактический перечень алгоритмов и/или параметров может изменяться зависящим от устройства SDK. Например, на одном устройстве перечень хранимых алгоритмов может иметь вид {alg1, alg2,..., alg8}, тогда как на другом устройстве список хранимых алгоритмов может иметь вид {alg3, alg5, …., alg1}. Аналогично, перечни параметров формирования ключа и/или параметров обновления также могут быть сохранены по-разному на разных устройствах. В некоторых вариантах осуществления алгоритмы и/или параметры могут быть внесены в перечень случайным образом на некоторых или всех устройствах. Битовая карта может указывать на правильный индекс в перечне алгоритмов и/или параметров, который необходимо использовать для фактического генерирования ключа. В некоторых вариантах осуществления данные ответа, предоставляемые компьютером сервера, могут содержать битовую карту, которая указывает на правильные алгоритмы и/или параметры, которые необходимо использовать пользовательскому устройству для генерирования ключей и/или совместно используемых секретных ключей. В некоторых случаях битовая карта, предоставленная компьютером сервера, может быть сгенерирована специально для данного пользовательского устройства на основе порядка, в котором алгоритмы и/или параметры хранятся на пользовательском устройстве.
[0151] В некоторых вариантах осуществления некоторые или все материалы ключей, такие как совместно используемые секретные ключи, ключи сеансов и т. п., могут быть уничтожены или иным образом сделаны недоступными (например, зашифрованы) после обработки сообщения с ответом или после завершения транзакции или сеанса. Например, в некоторых вариантах осуществления сохраняют только последний (например, второй) совместно используемый секретный ключ, тогда как некоторые или все предыдущие (например, первый) совместно используемые секретные ключи с пользовательского устройства удаляют. В некоторых вариантах осуществления ответный совместно используемый секретный ключ или любая другая конфиденциальная информация может быть безопасно сохранена на пользовательском устройстве с помощью усиленной аппаратной защиты (например, с использованием элемента безопасности) или криптографического модуля типа «белого ящика» на пользовательском устройстве.
[0152] В некоторых вариантах осуществления данные, которые хранят на пользовательском устройстве, содержат последний совместно используемый секретный ключ (ответный совместно используемый секретный ключ) и любые последние параметры (например, параметры формирования ключа, параметры обновления, параметры криптограммы, параметры транзакции), которые используют для формирования следующего совместно используемого секретного ключа, следующего криптограммного ключа (например, LUK или SUK), следующей криптограммы и т. п. Данные, хранящиеся на пользовательском устройстве, также могут содержать параметры формирования, которые были частью удостоверяющих данных в ответе сервера, и/или обновленные значения после каждой офлайновой транзакции, включая новый совместно используемый секретный ключ (ключи), новые данные транзакций и т. п. В некоторых вариантах осуществления также могут быть сохранены обновленные значения после ответов обновления, включая новый совместно используемый секретный ключ или параметры (например, параметры формирования ключа, параметры криптограммы, параметры обновления, параметры транзакции и т. п.).
[0153] На этапе 812 принятые регистрационные данные (например, OTP), могут быть зашифрованы с помощью криптограммного ключа для генерирования криптограммы регистрации (RC). Дополнительно или альтернативно, криптограмма регистрации может быть сгенерирована с помощью других данных, таких как идентификационные данные, аутентификационные данные, другая информация, извлеченная из удостоверяющих данных и/или сообщения с ответом, и т. п. В одном примере криптограмму регистрации генерируют путем шифрования как OTP, так и идентификатора элемента безопасности пользовательского устройства (например, ID модуля идентификации абонента (SIM)). В некоторых вариантах осуществления ключ ограниченного использования (LUK) принимают из удостоверяющих данных, полученных ранее (например, на этапе 408 способа 400). LUK может быть использован для генерирования криптограммного ключа. В некоторых вариантах осуществления генерирование криптограммного ключа также использует параметры формирования ключа, содержащиеся в удостоверяющих данных.
[0154] В некоторых вариантах осуществления регистрационные данные (например, одноразовый пароль) вводят в счет электронного кошелька, установленного на пользовательском устройстве. Зашифрованные регистрационные данные (например, криптограмма регистрации) могут быть связаны со счетом и сохранены на пользовательском устройстве.
[0155] На этапе 814 криптограмма регистрации может быть отправлена на компьютер сервера (например, сервер регистрации) для проверки. В некоторых вариантах осуществления отправка криптограммы регистрации на компьютер сервера включает шифрование криптограммы регистрации с помощью второго (ответного) совместно используемого секретного ключа. Компьютер сервера аутентифицирует пользовательское устройство с помощью криптограммы регистрации. Перед отправкой криптограммы регистрации криптограмма регистрации может быть зашифрована с помощью второго ключа сеанса или другого ключа (например, LUK, открытого ключа компьютера сервера или совместно используемого секретного ключа).
[0156] На этапе 817 может быть выполнен этап 414 способа 400. А именно, удостоверяющие данные могут быть использованы для проведения платежных транзакций. Например, платежный маркер, LUK и/или параметры формирования ключа, содержащиеся в удостоверяющих данных, могут быть использованы для генерирования прямо или косвенно криптограмм транзакции, используемых для аутентификации будущих транзакций, как представлено на фиг. 12-15.
Компьютер сервера
[0157] На фиг. 9 показан приведенный в качестве примера процесс или способ 900 внесения в реестр для предоставления пользовательскому устройству (например, пользовательскому устройству 101) закрытых данных, таких как ключ ограниченного использования, сгенерированных компьютером сервера (например, компьютером 105 сети обработки платежей), согласно некоторым вариантам осуществления. Аспекты процесса 900 могут быть выполнены любым из серверных устройств 102-106 или 300, представленными на фиг. 1 и 3, соответственно. Например, процесс 900 может быть выполнен сервером предоставления и/или сервером регистрации, описанными в данном документе. В одном варианте осуществления этапы 901-911 выполняет сервер предоставления, а этапы 912-916 выполняет сервер регистрации. В одном варианте осуществления сервер предоставления является сервером регистрации.
[0158] На этапе 901 могут быть выполнены этапы 601-612 способа 600. В частности, от пользовательского устройства может быть принято сообщение с запросом предоставления, содержащее комбинированный кратковременный открытый ключ и зашифрованные данные запроса. Первый совместно используемый секретный ключ может быть сгенерирован с помощью комбинированного кратковременного открытого ключа и статического закрытого ключа компьютера сервера. С помощью первого совместно используемого секретного ключа и первых вспомогательных данных может быть сгенерирован первый ключ сеанса. Зашифрованные данные запроса могут быть расшифрованы с помощью первого ключа сеанса для получения данных запроса, содержащих кратковременный открытый ключ, идентификатор пользовательского устройства и идентификационные данные. Идентификационные данные могут быть проверены. Могут быть извлечены аутентификационные данные, связанные с идентификатором пользовательского устройства, и идентификационные данные. С помощью аутентификационных данных и идентификационных данных может быть сгенерирован фактор идентификации. С помощью кратковременного открытого ключа и фактора идентификации может быть проверен комбинированный кратковременный открытый ключ. Может быть сгенерирован криптографический объект nonce. С помощью криптографического объекта nonce и фактора идентификации могут быть заблокированы статический открытый ключ компьютера сервера и/или статический закрытый ключ компьютера сервера. С помощью заблокированного статического закрытого ключа компьютера сервера и кратковременного открытого ключа пользовательского устройства может быть сгенерирован второй совместно используемый секретный ключ. Альтернативно, второй совместно используемый секретный ключ может быть сгенерирован с помощью статического закрытого ключа компьютера сервера и заблокированного кратковременного открытого ключа пользовательского устройства. С помощью второго совместно используемого секретного ключа и вторых вспомогательных данных может быть сгенерирован второй ключ сеанса. Дополнительное описание этих этапов может быть найдено со ссылкой на соответствующие этапы способа 600.
[0159] На этапе 908 могут быть определены параметры формирования ключа. Параметры формирования ключей могут быть использованы с функциями формирования ключей (KDF) для генерирования или формирования ключей, таких как криптограммный ключ, второй ключ сеанса и т. п. В некоторых вариантах осуществления параметры формирования ключа могут содержать команды о том, как получить другие параметры формирования ключа. В некоторых вариантах осуществления параметры формирования ключа могут содержать LUK, который может быть использован для формирования других ключей.
[0160] В некоторых вариантах осуществления ключ ограниченного использования (LUK) может быть определен необязательно. В некоторых вариантах осуществления LUK может быть сгенерирован на основе совместно используемого секретного ключа (например, первого совместно используемого секретного ключа или второго совместно используемого секретного ключа) и/или функции формирования ключа (KDF). В некоторых вариантах осуществления компьютер сервера может содержать базу данных, указывающую главный ключ формирования (MDK) для диапазона PAN/МАРКЕР, и определение LUK включает формирование LUK на основе MDK и PAN/МАРКЕР из платежной транзакции или из запроса регистрации.
[0161] На этапе 910 параметры формирования ключа (которые могут содержать LUK) могут быть включены в удостоверяющие данные. В некоторых вариантах осуществления могут быть включены другие удостоверяющие данные, включая параметры формирования криптограммы, параметры обновления и любые другие подходящие данные.
[0162] На этапе 911 могут быть выполнены этапы 613 и 614 способа 600. А именно, криптографический объект nonce, цепочка сертификатов компьютера сервера и удостоверяющие данные могут быть зашифрованы с помощью второго ключа для генерирования зашифрованных данных ответа. Сообщение с ответом предоставления, содержащее заблокированный статический открытый ключ компьютера сервера и зашифрованные данные ответа, может быть отправлено на пользовательское устройство. В некоторых вариантах осуществления сообщение с ответом предоставления, прежде чем дойти до пользовательского устройства, может проходить через одного или нескольких посредников (например, ненадежную сеть).
[0163] В некоторых вариантах осуществления материалы ключей, такие как совместно используемые секретные ключи, ключи сеансов и т. п., могут быть разрушены или иным образом сделаны недоступными (например, зашифрованы) на компьютере сервера и/или пользовательском устройстве, когда они локально больше не нужны. Предпочтительно, разрушение происходит сразу же или вскоре после того, как материалы ключей становятся ненужными. Например, первый совместно используемый секретный ключ может быть удален с пользовательского устройства сразу же после отправки сообщения с запросом. В качестве другого примера, первый совместно используемый секретный ключ может быть удален с компьютера сервера вскоре после обработки сообщения с запросом от пользовательского устройства.
[0164] На этапе 912 регистрационные данные (например, одноразовый пароль (OTP)) могут быть предоставлены на пользовательское устройство. Компьютер сервера может представлять собой сервер регистрации, который может или не может быть таким же, что и сервер предоставления, описанный выше. Регистрационные данные могут быть переданы на пользовательское устройство с помощью отдельного канала связи по сравнению с каналом связи, используемым для передачи сообщений с запросом/ответом предоставления. Например, регистрационные данные могут быть переданы посредством SMS, электронного письма, телефонного вызова, онлайн-чата, факсимильного сообщения, почтовой связи и т. п., и введены пользователем вручную в пользовательское устройство. В некоторых других вариантах осуществления регистрационные данные могут быть предоставлены по тому же каналу связи, что и сообщения с запросом/ответом предоставления. В таких вариантах осуществления регистрационные данные могут быть предоставлены в сообщении с ответом предоставления или в другом сообщении.
[0165] На этапе 914 от пользовательского устройства может быть принята криптограмма регистрации. Криптограмма регистрации может быть предоставлена пользовательским устройством по тому же каналу связи, что и сообщения с запросом/ответом предоставления, или по отдельному каналу связи, такому как SMS, электронное письмо, телефонный вызов, онлайн-чат, факсимильное сообщение, почтовая связь и т. п.
[0166] На этапе 916 пользовательское устройство может быть аутентифицировано с помощью криптограммы регистрации. В одном примере криптограммный ключ может быть сгенерирован с помощью второго совместно используемого секретного ключа и параметров формирования ключа. Криптограммный ключ может быть использован для шифрования регистрационных данных, которые предоставляют на пользовательское устройство. Получающиеся в результате зашифрованные регистрационные данные могут быть сравнены с принятой криптограммой регистрации для определения наличия соответствия. Если соответствие имеется, пользовательское устройство может быть аутентифицировано. В некоторых вариантах осуществления могут быть выполнены дополнительные этапы аутентификации. Если соответствия нет, пользовательское устройство не аутентифицируют. В некоторых вариантах осуществления определение подлинности криптограммы регистрации может включать сравнение принятой криптограммы регистрации с криптограммой регистрации, связанной с пользовательским устройством и хранимой компьютером сервера.
[0167] В некоторых вариантах осуществления компьютер сервера может быть выполнен с возможностью генерирования криптограммного ключа с помощью ключа ограниченного использования (LUK), связанного с пользовательским устройством. Компьютер сервера может быть дополнительно выполнен с возможностью расшифровки принятой криптограммы регистрации с помощью криптограммного ключа для определения расшифрованного значения. Расшифрованное значение может быть сравнено с регистрационными данными, которые были предоставлены на пользовательское устройство. Ккриптограмма регистрации проходит проверку, если расшифрованная криптограмма регистрации соответствует регистрационным данным.
Схема информационных потоков
[0168] На фиг. 10 показана схема информационных потоков приведенного в качестве примера процесса 1000 внесения в реестр согласно некоторым вариантам осуществления. Как показано на фиг. 10, пользовательское устройство 1002 может генерировать пару кратковременных мобильных открытого/закрытого ключей (ePubM/ePrivM). Пара кратковременных мобильных открытого/закрытого ключей может быть заблокированной. Пользовательское устройство 1002 может предоставлять кратковременный мобильный открытый ключ (ePubM) на компьютер 1004 сервера. Компьютер сервера может использовать кратковременный мобильный открытый ключ (ePubM) и серверный закрытый ключ (PrivS) для генерирования совместно используемого секретного ключа (Z0) с помощью функции Диффи-Хеллмана на эллиптических кривых (ECDH). Совместно используемый секретный ключ может быть известен как пользовательскому устройству, так и компьютеру сервера на обоих концах безопасного канала. Совместно используемый секретный ключ может быть основан на выборах согласованных параметров сервера, алгоритма и/или сертификата сервера. В некоторых вариантах осуществления совместно используемый секретный ключ (Z0) может содержать второй (ответный) совместно используемый секретный ключ, описанный в данном документе. Совместно используемый секретный ключ используют для создания нового рекуррентного совместно используемого секретного ключа (Zn, или Следующий Z) для каждой последующей транзакции. В некоторых вариантах осуществления следующий совместно используемый секретный ключ может быть сформирован с помощью согласованной функции формирования ключа (например, AES) со статическими известными, но рандомизированными, искаженными или защищенными в криптографическом «белом ящике» параметрами.
[0169] Совместно используемый секретный ключ (Z0) и параметры данных формирования ключа (данные формирования) могут быть использованы для формирования ключа разового использования (SUK). Ключ разового использования может быть использован с алгоритмом аутентифицированного шифрования (AE) для шифрования таких данных, как сертификат сервера (Cert S) и данные формирования ключа (Данные формирования). Кроме того, в качестве входных данных функций KDF AES может быть использована рандомизация конфигурации выбора алгоритма и параметров (Конфигурация рандомизации). Конфигурации рандомизации может быть использована для затруднения понимания параметров формирования ключа и/или внедрения участка программного кода (VIP) для пользовательского устройства. Программный код может содержать комплект разработки программного обеспечения (SDK), связанный с платежным приложением (например, приложением электронного кошелька). Код может быть подписан сервером или другим поставщиком, так что пользовательское устройство может аутентифицировать код. Во время внедрения программный код может быть персонализирован или рандомизирован (например, на основе конфигурации рандомизации) для конкретных пользовательских устройств или групп пользовательских устройств, так что разные пользовательского устройства не демонстрируют согласованной схемы поведения ключа. В некоторых вариантах осуществления на стороне сервера предусмотрено по меньшей мере два уровня искажения. На первом уровне сервер может относительно случайным образом назначать разные способы вычисления формирований ключа и криптограмм на основе сочетания используемых атрибутов, порядка используемых атрибутов и ветви кода в коде, который нужно использовать. В некоторых случаях после того как сервер случайным образом выбрал набор атрибутов для формирования ключа, упорядочение атрибутов и/или ветвь кода для криптографического алгоритма, может быть сгенерирована битовая карта, которая содержит эти команды для передачи на пользовательское устройство в зашифрованных данных ответа. Таким образом, для каждого пользовательского устройства или каждой группы пользовательских устройств, и/или для каждой регистрации или повторной синхронизации, сочетание используемых атрибутов, порядок используемых атрибутов и ветвь кода в коде, который нужно использовать, будет разным. Этот подход затрудняет мошеннику обратную разработку программного кода или формирование ключа по украденным параметрам. На втором уровне разные наборы кода могут быть выпущены для разных групп устройств, таких как организация (например, банк эмитента), географическая область, или специальное приложение для организации. Таким образом, размер группы, на которое может быть нацелена обратная разработка, может быть изменен от всех приложений, принимающих определенные PAN, до подгрупп этой группы. Путем изменения программного обеспечения в разных группах пользовательских устройств этот подход ограничивает способность взломщика создавать злонамеренное программное обеспечение (например, вредоносные программы), которое можно повторно использовать на разных устройствах и, следовательно, вред от потенциального нарушения безопасности. В некоторых вариантах осуществления каждый выпуск приложения может использовать новый набор кода, но размер группы для нового набора кода предпочтительно является достаточно большим, чтобы быть подписанным и видимым в рамках одного онлайн магазина приложений (например, магазина Google Play или эквивалента).
[0170] Конфигурация рандомизации, данные (например, относящиеся к формированию ключа, параметрам обновления и/или формированию криптограммы) и сертификат сервера (Cert S) наряду с любой другой подходящей информацией могут быть зашифрованы для генерирования зашифрованных данных ответа. Например, зашифрованные данные ответа могут содержать зашифрованный сертификат сервера (CertS*) и зашифрованные данные (Данные*). Перед шифрованием данные (например, параметры формирования ключа) могут быть искажены с помощью случайной конфигурации. Как оговорено выше, данные могут содержать битовую карту, которая содержит команды, подлежащие передаче на пользовательское устройство относительно случайно выбранного набора атрибутов для формирования ключа, упорядочения атрибутов и/или ветви кода для криптографического алгоритма. Битовая карта может быть включена в зашифрованные данные ответа. Зашифрованные данные ответа могут быть предоставлены на пользовательское устройство 1002.
[0171] Пользовательское устройство 1002 может определять совместно используемый секретный ключ (Z) с помощью кратковременного мобильного закрытого ключа (ePrivM) и открытого ключа сервера (PubS), последний может быть предоставлен компьютером 1004 сервера. Пользовательское устройство 1002 может генерировать ключ разового использования (SUK) с помощью совместно используемого секретного ключа (Z0) и данных формирования. Данные формирования могут содержать ранее предоставленные параметры формирования ключа, параметры формирования криптограммы и т. п. Ключ разового использования (SUK) может быть использован для расшифровывания зашифрованных данных ответа (включая зашифрованные данные (Данные*), зашифрованный сертификат сервера (CertS*) для получения расшифрованных значений. Сертификат сервера (CertS) может быть проверен с помощью открытого ключа органа сертификации (PubCA) и алгоритма цифровой подписи на основе эллиптических кривых (ECDSA). В некоторых случаях некоторые или все расшифрованные данные (например, содержащие описанную выше битовую карту) могут быть дополнительно искажены (Конфигурация данных*) для хранения (например, с помощью технологии шифрования типа «белого ящика»).
[0172] SUK может быть использован для определения криптограммного ключа (CK), который используют для шифрования регистрационных данных (например, одноразового пароля (OTP)), сгенерированных компьютером 1004 сервера и переданных на пользовательское устройство 1002 по вторичному каналу. Вторичный канал может быть отдельным от безопасного канала, используемого для передачи сообщений с запросами и ответами между пользовательским устройством 1002 и компьютером 1004 сервера. Зашифрованные регистрационные данные (Зашифрованный OTP) затем могут быть предоставлены на компьютер 1004 сервера, который может расшифровать зашифрованные регистрационные данные (например, OTP) с помощью криптограммного ключа для проверки подлинности криптограммы регистрации.
Пример потока данных внесения в реестр
[0173] На фиг. 11 показана блок-схема приведенного в качестве примера процесса 1100 внесения в реестр согласно некоторым вариантам осуществления. Как показано на фиг. 11, в качестве части процесса идентификации и формирования ключа для внесения устройства в реестр, между пользовательским устройством 1102 (например, пользовательским устройством 101) и компьютером 1104 сервера (например, компьютером 105 сети обработки платежей или компьютером 106 эмитента) может быть произведен обмен четырьмя сообщениями.
[0174] В первом сообщении пользовательское устройство 1102 может предоставить на компьютер сервера идентификационные данные, относящиеся к пользовательскому устройству 1102 и/или пользователю, связанному с пользовательским устройством 1102. Например, идентификационная информация может содержать аутентификационные удостоверяющие данные, такие как имя пользователя и пароль. Кроме того, пользовательское устройство 1102 может генерировать пару кратковременных открытого/закрытого ключей и предоставить кратковременный открытый ключ в сеть 105 обработки платежей. В некоторых вариантах осуществления первое сообщение может быть передано по безопасному каналу связи. Например, первое сообщение может быть зашифровано с помощью ключа сеанса, сформированного из совместно используемого секретного ключа (Z0), который определен по открытому ключу, связанному с компьютером 1104 сервера, и кратковременному закрытому ключу (EK).
[0175] Во втором сообщении компьютер сервера 1104 передает регистрационные данные (например, одноразовый пароль) на пользовательское устройство 1102. Как правило, регистрационные данные (например, одноразовый пароль) могут быть переданы на пользовательское устройство 1102 с помощью отдельного канала связи. Например, регистрационные данные (например, одноразовый пароль) могут быть переданы посредством SMS, электронного письма и т. п. и введены в пользовательское устройство 101 пользователем вручную.
[0176] Перед отправкой третьего сообщения с компьютера 1104 сервера на пользовательское устройство 1102 компьютер 1104 сервера может сформировать совместно используемый секретный ключ (Z0), связанный с пользовательским устройством 1102, с помощью кратковременного открытого ключа, принятого от пользовательского устройства 1102, и закрытого ключа (PK), связанного с компьютером 1104 сервера. Совместно используемый секретный ключ может быть использован для генерирования ключа сеанса. Компьютер 1104 сервера также может определять параметры формирования ключа для пользовательского устройства 1102. «Параметр формирования ключа» может включать любую информацию, используемую для определения способа формирования ключа, такую как алгоритм формирования ключа, параметры для использования с алгоритмом и т. п. Например, в одном варианте осуществления параметры формирования ключа могут содержать битовую карту, которая идентифицирует один или несколько алгоритмов формирования ключа, которые необходимо использовать при формировании ключа на пользовательском устройстве 1102. Когда параметры формирования ключа определены, компьютер 1104 сервера может зашифровать параметры формирования ключа с помощью ключа сеанса и предоставить зашифрованные параметры формирования ключа на пользовательское устройство 1102. В некоторых вариантах осуществления третье сообщение также может содержать маркер (например, платежный маркер), который может быть зашифрован с помощью ключа сеанса.
[0177] В некоторых вариантах осуществления перечень алгоритмов (например, алгоритмов или функций формирования ключа) и параметров (например, параметров формирования ключа и/или параметров обновления), обсуждаемых в данном документе, может быть уникальным для конкретного устройства или конкретной группы устройств для того, чтобы предотвратить обратную разработку. Изменение от устройства к устройству может быть основано на комплекте разработки программного обеспечения (SDK), установленном на устройстве. В некоторых вариантах осуществления точный алгоритм и/или параметры, используемые для формирования конкретного ключа или совместно используемого секретного ключа, могут быть определены с помощью битовой карты, хранящейся на устройстве. Интерпретация битовой карты и отображение битовой карты на фактический перечень алгоритмов и/или параметров может изменяться зависящим от устройства SDK. Например, на одном устройстве перечень хранимых алгоритмов может иметь вид {alg1, alg2,..., alg8}, тогда как на другом устройстве список хранимых алгоритмов может иметь вид {alg3, alg5, …., alg1}. Аналогично, перечни параметров формирования ключа и/или параметров обновления также могут быть сохранены по-разному на разных устройствах. В некоторых вариантах осуществления алгоритмы и/или параметры могут быть внесены в перечень случайным образом на некоторых или всех устройствах. Битовая карта может указывать на правильный индекс в перечне алгоритмов и/или параметров, который необходимо использовать для фактического генерирования ключа. В некоторых вариантах осуществления данные ответа, предоставляемые компьютером сервера, могут содержать битовую карту, которая указывает на правильные алгоритмы и/или параметры, которые необходимо использовать пользовательскому устройству для генерирования ключей и/или совместно используемых секретных ключей. В некоторых случаях битовая карта, предоставленная компьютером сервера, может быть сгенерирована специально для данного пользовательского устройства на основе порядка, в котором алгоритмы и/или параметры хранятся на пользовательском устройстве.
[0178] В некоторых вариантах осуществления алгоритмы и/или параметры формирования ключа могут быть внесены в перечень случайным образом на некоторых или всех устройствах. Битовая карта может указывать на правильный индекс в перечне алгоритмов и/или параметров формирования ключа, которые необходимо использовать для фактического генерирования ключа. Битовые карты могут быть сохранены на компьютере 1104 сервера и/или пользовательском устройстве 1102. В некоторых вариантах осуществления битовая карта может быть включена в сообщение от пользовательского устройства 1102 на компьютер 1104 сервера или в сообщение от компьютера 1104 сервера на пользовательское устройство 1102. Битовая карта может указывать на надлежащие алгоритмы и/или параметры, которые необходимо использовать принимающему устройству для генерирования или формирования различных ключей. В некоторых вариантах осуществления битовая карта может быть сгенерирована специально для принимающего устройства, поскольку порядок, в котором алгоритмы и/или параметры хранятся на пользовательском устройстве, может отличаться, как обсуждалось выше.
[0179] Перед отправкой четвертого сообщения с пользовательского устройства 1102 на компьютер 1104 сервера, пользовательское устройство 1102 может расшифровать зашифрованные параметры формирования ключа с помощью ключа сеанса. Пользовательское устройство 1102 затем может сформировать криптограммный ключ (CK) с помощью параметров формирования ключа и совместно используемого секретного ключа. Пользовательское устройство 1102 может использовать криптограммный ключ для шифрования регистрационных данных (например, одноразового пароля), принятых во втором сообщении, чтобы определить криптограмму регистрации (RC). Пользовательское устройство 1102 затем отправляет четвертое сообщение, содержащее криптограмму регистрации, по безопасному каналу. Компьютер 1104 сервера также может формировать криптограммный ключ и генерировать криптограмму регистрации. Если принятая и сгенерированная криптограммы соответствуют, маркер, предоставленный на пользовательское устройство 1102, может быть активирован, и внесение в реестр пользовательского устройства 1102 может быть подтверждено. В некоторых вариантах осуществления как пользовательское устройство 1102, так и компьютер 1104 сервера могут сохранять криптограмму регистрации для будущего использования.
ТЕКУЩАЯ ПРОВЕРКА ПОДЛИННОСТИ С ПОМОЩЬЮ ОБНОВЛЯЕМЫХ СОВМЕСТНО ИСПОЛЬЗУЕМЫХ СЕКРЕТНЫХ КЛЮЧЕЙ
[0180] В вариантах осуществления могут использоваться системы и устройства, описанные выше, для проведения платежной транзакции между компьютером сервера и пользовательским устройством. В частности, для данной транзакции (или других защищенных связей), обновляемый/постоянно изменяющийся совместно используемый секретный ключ может быть сгенерирован на основе предыдущего совместно используемого секретного ключа. На основе обновленного совместно используемого секретного ключа и ранее предоставленного ключа ограниченного использования (LUK) новая криптограмма может быть сгенерирована и использована для генерирования криптограммы транзакции, которую, в свою очередь, используют для аутентификации транзакции.
[0181] На фиг. 12-15 показаны некоторые примеры таких способов. В некоторых вариантах осуществления пользовательское устройство может включать пользовательское устройство 101 или 200, представленное на фиг. 1 и 2, соответственно. Компьютер сервера может включать устройство 102, 103, 104, 105, 106 или 300, представленное на фиг. 1 и 3, соответственно.
B. Пользовательское устройство
[0182] На фиг. 12 показан приведенный в качестве примера процесс или способ 1200 транзакции для проведения транзакции между пользовательским устройством и компьютером сервера согласно некоторым вариантам осуществления. Аспекты процесса 1200 могут быть выполнены пользовательским устройством 101 или 200, представленным на фиг. 1 и 2, соответственно.
[0183] На этапе 1202 необязательно обновляют совместно используемый секретный ключ. В некоторых вариантах осуществления совместно используемый секретный ключ может представлять собой совместно используемый секретный ключ, который определен как часть процесса предоставления, например, как описано выше. Процесс предоставления может быть осуществлен как начальная часть транзакции или может быть выполнен немного ранее. Обновление совместно используемого секретного ключа может быть выполнено любым подходящим способом. Например, обновленный совместно используемый секретный ключ может быть сгенерирован как функция предыдущего совместно используемого секретного ключа и другой информации, такой как идентификатор устройства. Например, в одном варианте осуществления обновленный совместно используемый секретный ключ может представлять собой результат хеширования предыдущего совместно используемого секретного ключа и других данных. В некоторых вариантах осуществления следующий совместно используемый секретный ключ может быть определен с помощью параметров обновления, таких как параметры устройства и счета и конфигурационная информация. В некоторых вариантах осуществления параметры обновления могут быть уникальными для конкретного пользовательского устройства или конкретной группы пользовательских устройств. Один или несколько параметров обновления для определения обновленного совместно используемого секретного ключа могут быть подобны параметрам формирования ключа, принятым в предыдущем сообщении с ответом (например, сообщении с ответом предоставления), или отличаться от них. В некоторых вариантах осуществления параметры обновления могут быть предоставлены с параметрами формирования ключа в предыдущем сообщении с ответом. В некоторых других вариантах осуществления параметры обновления могут быть предоставлены в другом сообщении, по сравнению с сообщением, которое содержит параметры формирования ключа.
[0184] В некоторых вариантах осуществления необязательно может быть определен LUK. LUK мог быть предоставлен пользовательскому устройству ранее во время процесса предоставления, такого как представлен на фиг. 8-11. В некоторых вариантах осуществления LUK мог быть зашифрован (например, с помощью ключа сеанса), и определение LUK может включать расшифровку зашифрованного LUK. В некоторых вариантах осуществления этап 1206 может быть опущен, и LUK не определяют.
[0185] На этапе 1208 криптограммный ключ может быть сгенерирован с помощью обновленного совместно используемого секретного ключа и параметров формирования ключа. Параметры формирования ключа могут содержать данные формирования ключа и/или алгоритмы формирования ключа, указанные в предыдущих сообщениях с ответами от компьютера сервера (например, сообщении с ответом предоставления или сообщении с ответом аутентификации). Например, LUK и/или обновленный совместно используемый секретный ключ могут быть предусмотрены в качестве входных данных в функции формирования ключа наряду с определенными данными формирования ключа для создания криптограммного ключа. В качестве другого примера, LUK может быть использован как криптограммный ключ. В некоторых вариантах осуществления LUK и/или криптограммный ключ, сгенерированный с помощью LUK, представляют собой ключ разового использования (SUK), который действителен только для одной единой транзакции. В других вариантах осуществления LUK и/или криптограммный ключ, сгенерированный с помощью LUK, могут быть использованы многократно для более чем одной транзакции.
[0186] На этапе 1210 с помощью криптограммного ключа может быть сгенерирована криптограмма транзакции. В некоторых вариантах осуществления криптограмму транзакции также генерируют с помощью данных транзакции на основе параметров формирования криптограммы, которые были отправлены как часть начального процесса предоставления. В некоторых вариантах осуществления криптограмма транзакции также может содержать данные транзакции (например, сумму транзакции, дату транзакции и т. п.) и детали пользователя/счета (например, платежный маркер, завершение срока действия счета и т. п.), которые зашифрованы с помощью криптограммного ключа.
[0187] На этапе 1212 криптограмма транзакции может быть использована для проведения транзакции (или другой защищенной связи). Как правило, криптограмма транзакции аутентифицирует транзакцию. Например, в некоторых вариантах осуществления пользовательское устройство может предоставить платежный маркер или PAN и криптограмму транзакции устройству доступа или компьютеру продавца, которые затем могут генерировать сообщение с запросом авторизации для транзакции. Сообщение с запросом авторизации может содержать криптограмму транзакции. Криптограмма транзакции может быть проверена субъектом, принимающим сообщение с запросом авторизации (например, компьютером 105 сети обработки платежей, компьютером 106 эмитента, проверяющим подлинность сервером), для определения, следует ли одобрить или отклонить транзакцию.
[0188] В некоторых вариантах осуществления криптограмму транзакции используют для осуществления второй защищенной связи с проверяющим подлинность сервером. Вторая защищенная связь может представлять собой транзакцию авторизации, в которой вторая криптограмма аутентифицирует по меньшей мере один элемент транзакции авторизации.
[0189] В некоторых вариантах осуществления новые совместно используемые секретные ключи могут быть сгенерированы для каждой из множества новых защищенных связей, при этом каждый новый совместно используемый секретный ключ генерируют с помощью предыдущего совместно используемого секретного ключа и параметров обновления. Новые криптограммные ключи могут быть сформированы с помощью новых совместно используемых секретных ключей и параметров формирования ключей. С помощью нового криптограммного ключа могут быть сгенерированы новые криптограммы. С помощью новых криптограмм могут быть осуществлены новые защищенные связи с компьютером проверяющего подлинность сервера.
C. Компьютер сервера
[0190] На фиг. 13 показан приведенный в качестве примера процесс или способ 1300 транзакции для проведения транзакции между пользовательским устройством и компьютером сервера согласно некоторым вариантам осуществления. Аспекты процесса 1300 могут быть выполнены компьютером 102, 103, 104, 105, 106 или 200 сервера, представленным на фиг. 1 и 3, соответственно. В некоторых вариантах осуществления процесс 1300 выполняет проверяющий подлинность сервер, который может быть выполнен с возможностью обработки платежных транзакций.
[0191] На этапе 1302 может быть принята криптограмма транзакции для транзакции. Криптограмма транзакции могла быть сгенерирована пользовательским устройством с помощью способа 1200, представленного выше.
[0192] На этапе 1304 необязательно может быть обновлен совместно используемый секретный ключ. В некоторых вариантах осуществления совместно используемый секретный ключ может представлять собой совместно используемый секретный ключ, который определен как часть более раннего процесса предоставления, например, как описано выше. В других вариантах осуществления транзакция авторизации (например, для доступа к ресурсу, такому как документ или компьютер) может происходить одновременно с процессом предоставления. Обновление совместно используемого секретного ключа может быть выполнено любым подходящим способом. Например, обновленный совместно используемый секретный ключ может быть сгенерирован как функция предыдущего совместно используемого секретного ключа и другой информации, такой как идентификатор устройства. Сохраненный совместно используемый секретный ключ может быть обновлен для определения обновленного совместно используемого секретного ключа. Например, в одном варианте осуществления обновленный совместно используемый секретный ключ может представлять собой результат хеширования предыдущего совместно используемого секретного ключа и других данных. В некоторых вариантах осуществления следующий совместно используемый секретный ключ может быть определен с помощью параметров обновления, таких как параметры устройства и счета и конфигурационная информация. В некоторых вариантах осуществления параметры обновления могут быть уникальными для конкретного пользовательского устройства или конкретной группы пользовательских устройств. Наряду с совместно используемым секретным ключом может быть обновлена и другая информация (например, с помощью параметров обновления) для подготовки к генерированию следующего SUK, включая параметры формирования ключа, счетчики, объекты nonce, данные транзакции и т. п. В некоторых случаях такое генерирование обновленного секретного ключа и/или любой другой необходимой информации может быть выполнено, когда устройство находится в режиме офлайн. Как обсуждалось выше, любая информация, которая больше не нужна локально (например, предыдущий совместно используемый секретный ключ (ключи), предыдущие параметры формирования, данные транзакции и т. п.), может быть удалена, убрана или иным образом сделана недоступной, предпочтительно сразу же после или вскоре после времени, когда такая информация больше не нужна.
[0193] На этапе 1306 обновленный криптограммный ключ может быть сгенерирован с помощью обновленного совместно используемого секретного ключа и/или параметров формирования ключа, связанных с пользовательским устройством. В некоторых вариантах осуществления параметры формирования ключа могут быть извлечены из базы данных.
[0194] На этапе 1308 криптограмма транзакции может быть расшифрована с помощью обновленного криптограммного ключа. В некоторых вариантах осуществления криптограмма транзакции была сгенерирована пользовательским устройством с помощью данных транзакции на основе параметров формирования криптограммы, которые были отправлены как часть начального процесса предоставления. В некоторых вариантах осуществления криптограмма транзакции также может содержать данные транзакции (например, сумму транзакции, дату транзакции и т. п.) и детали пользователя/счета (например, платежный маркер, завершение срока действия счета и т. п.), которые зашифрованы с помощью криптограммного ключа.
[0195] На этапе 1310 может быть проверена подлинность криптограммы. Например, проверка подлинности криптограммы может включать проверку того, что расшифрованная криптограмма содержит маркер или PAN, используемые для проведения транзакции. Проверка подлинности криптограммы также может включать проверку данных транзакции, содержащихся в расшифрованной криптограмме. Проверка подлинности криптограммы также может включать проверку того, что криптограмма и/или криптограммный ключ не были использованы многократно сверх разрешенных лимитов. Например, если криптограммный ключ представляет собой ключ разового использования (SUK), то один и тот же криптограммный ключ, используемый дважды, может указывать на то, что совместно используемый секретный ключ был раскрыт. Кроме того, в некоторых случаях, если подлинность криптограммы не может быть проверена в соответствии со следующим ожидаемым криптограммным ключом, ее подлинность может быть проверена в соответствии с предопределенным количеством будущих криптограммных ключей (например, 5 или менее). Это может обеспечить проверку подлинности без учета небольших проблем синхронизации (например, если две или более платежных транзакций обрабатывают в другом порядке, чем они были проведены, или если транзакция была отменена после того, как криптограмма была сгенерирована для транзакции, но до того, как транзакция была передана на компьютер сервера).
[0196] В некоторых вариантах осуществления проверка подлинности криптограммы транзакции может включать сравнение принятой криптограммы транзакции с криптограммой транзакции, связанной с пользовательским устройством и хранимой компьютером сервера.
[0197] Если криптограмма является недействительной, транзакция может быть отклонена. Иначе, обработка транзакции может продолжаться (например, запрос авторизации на транзакцию может быть направлен на следующий компьютер сервера (например, от компьютера 105 сети обработки платежей на компьютер 106 эмитента).
Схема информационных потоков
[0198] На фиг. 14 показана схема информационных потоков процесса 1400 транзакции согласно некоторым вариантам осуществления. Как показано на фиг. 14, пользовательское устройство 1402 может определять совместно используемый секретный ключ (Z) и использовать совместно используемый секретный ключ (Z) наряду с другими параметрами формирования ключа (например, параметрами устройства и счета и/или конфигурационной информацией) в качестве входных данных для функции формирования ключа (AES KDF) для определения обновленного совместно используемого секретного ключа (Следующий Z). LUK, обновленный совместно используемый секретный ключ, параметры устройства и счета, конфигурационная информация, параметры транзакции (например, маркер, сумма транзакции, метка времени, случайное число и т. п.) и другая информация могут быть использованы в качестве входных данных для функции формирования ключа (AES KDF) для определения криптограммного ключа (CK). В некоторых вариантах осуществления AES является предпочтительным криптографическим алгоритмом, используемым для генерирования следующего совместно используемого секретного ключа и/или LUK (например, SUK) во время транзакции в силу его более быстрой работы по сравнению с другими способами (например, хешированием или операциями на основе эллиптической кривой (EC)). LUK мог быть предоставлен на пользовательское устройство 1402 ранее (например, во время процесса предоставления). Функция формирования ключа, которую используют для определения криптограммного ключа, может или не может быть той же, что и функция формирования ключа, которую используют для определения обновленного совместно используемого секретного ключа. Криптограммный ключ может быть ключом ограниченного использования. В одном примере криптограммный ключ является ключом разового использования (SUK), который действителен только для одной транзакции. Криптограммный ключ затем может быть использован для генерирования криптограммы для использования в транзакции. Криптограмма может быть сгенерирована, например, путем шифрования параметров транзакции (например, суммы транзакции, метки времени транзакции, случайного числа и т. п.) с помощью криптограммного ключа.
[0199] При принятии криптограммы транзакции компьютер 1404 сервера может формировать криптограммный ключ подобным же образом, как описано выше для пользовательского устройства 1402. Криптограмма может быть расшифрована с помощью криптограммного ключа, и расшифрованная криптограмма может быть проверена на подлинность способом, подобным описанному выше, на этапе 1310 способа 1300, представленного на фиг. 13.
Пример выполнения транзакции
[0200] На фиг. 15 показана блок-схема процесса 1500 транзакции согласно некоторым вариантам осуществления. В некоторых вариантах осуществления структурная схема, показанная на фиг. 15, может обеспечивать проведение платежной транзакции офлайн (т. е. так, что пользовательское устройство не требует сетевого подключения к Интернет или другой региональной вычислительной сети (WAN)).
[0201] Как показано на фиг. 15, мобильное приложение, работающее на пользовательском устройстве 1502 (например, пользовательском устройстве 101, представленном на фиг. 1), может быть использовано для проведения платежной транзакции. Например, пользовательское устройство 1502 может быть физически предоставлено продавцу (например, во время NFC-транзакции) или может отправить детали транзакции на компьютер 103 продавца по сети, такой как Интернет.
[0202] Для проведения транзакции пользовательское устройство 1502 может сначала обновить совместно используемый секретный ключ, хранящийся на устройстве (Zn-1). Обновление совместно используемого секретного ключа может быть выполнено любым подходящим способом. Например, обновленный совместно используемый секретный ключ (Zn) может быть сгенерирован как функция предыдущего совместно используемого секретного ключа (Zn-1) и другой информации, такой как идентификатор устройства.
[0203] Когда обновленный совместно используемый секретный ключ (Zn) определен, обновленный совместно используемый секретный ключ может быть использован для генерирования криптограммного ключа (CK). Криптограммный ключ может быть ключом ограниченного использования (LUK). В некоторых случаях криптограммный ключ может быть ключом разового использования (SUK). Криптограммный ключ может быть использован для генерирования криптограммы транзакции, которую передает пользовательское устройство 1502. Криптограмма транзакции может быть сгенерирована любым подходящим способом. Например, в некоторых вариантах осуществления криптограмма транзакции может представлять собой сочетание деталей транзакции (например, суммы транзакции, даты транзакции и т. п.) и деталей пользователя/счета (например, платежного маркера, завершения срока действия счета и т. п.), которые зашифрованы с помощью криптограммного ключа.
[0204] В некоторых вариантах осуществления криптограммный ключ может быть сгенерирован с помощью LUK, который был предоставлен на пользовательское устройство 1502 ранее. LUK мог быть предоставлен в зашифрованной форме с помощью безопасного способа предоставления, представленного на фиг. 8-15.
[0205] Криптограмма транзакции может быть отправлена через POS-устройство 102 и компьютер 104 эквайера на компьютер 1504 сервера (например, компьютер 105 сети обработки платежей или компьютер 106 эмитента). В некоторых вариантах осуществления криптограмма транзакции может быть включена в сообщение с запросом авторизации. Компьютер 1504 сервера может затем обновлять совместно используемый секретный ключ, связанный с пользовательским устройством 1502, определять криптограммный ключ, связанный с устройством, на основе обновленного совместно используемого секретного ключа, и использовать криптограммный ключ для расшифровки принятой криптограммы транзакции. Если криптограмма транзакции определена действительной, компьютер 1504 сервера может авторизовать транзакцию или вызывать дополнительную обработку транзакции (например, анализ на мошенничество). Иначе, если криптограмма транзакции определена недействительной, компьютер 1504 сервера может отклонить транзакцию.
СПОСОБЫ ОБНОВЛЕНИЯ КЛЮЧА
[0206] В вариантах осуществления могут использоваться системы и устройства, описанные выше, для обновления записи пользовательского устройства в реестр компьютера сервера. В частности, во время процесса обновления между пользователем и компьютером сервера может быть создан новый совместно используемый секретный ключ. Кроме того, новые параметры (например, новые параметры формирования ключа, новые параметры формирования криптограммы и/или новые параметры обновления) могут быть предоставлены на пользовательское устройство с целью использования для генерирования криптограмм и/или криптограммных ключей.
[0207] На фиг. 20-22 показаны некоторые примеры таких способов. В некоторых вариантах осуществления пользовательское устройство может включать пользовательское устройство 101 или 200, представленное на фиг. 1 и 2, соответственно. Компьютер сервера может включать устройство 102, 103, 104, 105, 106 или 300, представленное на фиг. 1 и 3, соответственно.
A. Пользовательское устройство
[0208] На фиг. 16 показан приведенный в качестве примера процесс или способ 1600 обновления для обновления в реестре или регистрации пользовательского устройства на компьютере сервера согласно некоторым вариантам осуществления. Аспекты процесса 1600 могут быть выполнены пользовательским устройством 101 или 200, представленным на фиг. 1 и 2, соответственно. В некоторых вариантах осуществления процесс обновления ключа может быть запущен в предопределенные интервалы времени после проведения ряда транзакций, когда возникает подозрение о нарушении безопасности криптограммного ключа, и т. п.
[0209] На этапе 1602, могут быть приняты вторые регистрационные данные (например, второй одноразовый пароль). Первые регистрационные данные могли быть приняты в предыдущем процессе регистрации, таком как этап 808, представленный на фиг. 8. В разных вариантах осуществления регистрационные данные могут содержать другие данные, вместо OTP или в дополнение к нему. Например, регистрационные данные могут содержать данные без паролей, такие как статическая строка, идентификатор уникального устройства или пользователя, фиктивные данные транзакции и т. п. Могут быть использованы любые другие регистрационные данные, пока они поддаются проверке.
[0210] В некоторых вариантах осуществления вторые регистрационные данные могут быть отправлены в ответ на запрос вторых регистрационных данных, который отправляют с пользовательского устройства (например, платежным приложением, работающим на пользовательском устройстве).
[0211] В некоторых вариантах осуществления вторые регистрационные данные могут быть переданы на пользовательское устройство по вторичному каналу связи, который отличается от канала связи, используемого для внесения в реестр и/или транзакции сообщений с запросом/ответом. Например, вторые регистрационные данные могут быть включены в текстовое сообщение, электронное письмо, телефонный вызов, онлайн-чат, факсимильное сообщение, почтовую связь или т. п. В некоторых вариантах осуществления вторые регистрационные данные могут быть отправлены на другое устройство и введены пользователем в пользовательское устройство. Например, если пользовательское устройство представляет собой мобильный телефон пользователя, регистрационные данные (например, одноразовый пароль) могут быть отправлены на настольный компьютер пользователя и введены пользователем в пользовательское устройство.
[0212] На этапе 1604 может быть сгенерирована вторая пара кратковременных открытого/закрытого ключей. Первая пара кратковременных открытого/закрытого ключей могла быть сгенерирована во время последнего процесса предоставления/обновления. В некоторых вариантах осуществления генерирование второй пары кратковременных открытого/закрытого ключей может быть подобно генерированию первой пары кратковременных открытого/закрытого ключей.
[0213] На этапе 1606 на компьютер сервера может быть отправлено сообщение с запросом обновления. Сообщение с запросом обновления может содержать криптограмму регистрации. В некоторых вариантах осуществления криптограмма регистрации может представлять собой криптограмму, определенную во время начального процесса внесения в реестр, например, на этапе 812 способа 800. Криптограмма регистрации затем могла быть сохранена на пользовательском устройстве. Сообщение с запросом обновления также может содержать хеш вторых регистрационных данных и второй кратковременный открытый ключ пользовательского устройства. Сообщение с запросом обновления также может содержать другие данные, подобные данным, включенным в начальный запрос внесения в реестр/предоставления, такие как идентификационная информация устройства или пользователя, информация конфигурации клиента или служебные директивы.
[0214] В некоторых вариантах осуществления сообщение с запросом обновления может быть зашифровано с помощью ключа защиты сообщения (например, ключа сеанса), который формируют из совместно используемого секретного ключа. К примеру, новый совместно используемый секретный ключ может быть сгенерирован на основе второго кратковременного закрытого ключа и открытого ключа компьютера сервера. Новый совместно используемый секретный ключ может быть использован для генерирования ключа сеанса, который может быть использован для шифрования некоторых или всех данных, включенных в сообщение с запросом обновления.
[0215] На этапе 1608 сообщение с ответом обновления может быть принято с компьютера сервера. Сообщение с ответом обновления может содержать вторые параметры формирования ключей для генерирования криптограммных ключей. Например, сообщение с ответом обновления может необязательно содержать второй ключ ограниченного использования (LUK) для пользовательского устройства. Сообщение с ответом обновления также может содержать открытый ключ компьютера сервера (который может или не может быть заблокирован). В некоторых вариантах осуществления сообщение с ответом обновления может содержать другие данные, такие как вторые параметры обновления, вторые параметры формирования криптограммы и т. п.
[0216] В некоторых вариантах осуществления сообщение с ответом обновления может быть зашифровано с помощью первого ключа сеанса, который сгенерирован на основе нового совместно используемого секретного ключа. В таких вариантах осуществления первый ключ сеанса может быть использован для расшифровки сообщения с ответом обновления. В некоторых других вариантах осуществления второй совместно используемый секретный ключ может быть сгенерирован на основе по меньшей мере частично второго кратковременного закрытого ключа пользовательского устройства, открытого ключа компьютера сервера и вторых параметров формирования ключа. В таких вариантах осуществления второй совместно используемый секретный ключ может быть использован для генерирования второго ключа сеанса, и второй ключ сеанса может быть использован для расшифровки сообщения с ответом обновления.
[0217] На этапе 1610 может быть сформирован второй криптограммный ключ с помощью второго кратковременного закрытого ключа пользовательского устройства, открытого ключа компьютера сервера и/или вторых параметров формирования ключа. Первый криптограммный ключ мог быть сгенерирован ранее во время процесса предоставления (например, на этапе 810 способа 800). В некоторых вариантах осуществления новый совместно используемый секретный ключ может быть определен на основе второго кратковременного закрытого ключа пользовательского устройства и/или открытого ключа компьютера сервера. Новый совместно используемый секретный ключ и вторые параметры формирования ключа (которые могут или не могут содержать второй LUK) могут быть использованы для генерирования второго криптограммного ключа. В некоторых других вариантах осуществления второй совместно используемый секретный ключ может быть сгенерирован с помощью второго кратковременного закрытого ключа пользовательского устройства, открытого ключа компьютера сервера (который может или не может быть заблокирован) и/или вторых параметров формирования ключа.
[0218] На этапе 1612 с помощью второго криптограммного ключа (RC) может быть сгенерирована вторая криптограмма регистрации. Вторая криптограмма регистрации может быть сгенерирована путем шифрования вторых регистрационных данных с помощью второго криптограммного ключа. Дополнительно или альтернативно, криптограмма регистрации может быть сгенерирована с помощью других данных, таких как идентификационные данные, аутентификационные данные, другая информация, извлеченная из удостоверяющих данных и/или сообщения с ответом, и т. п.
[0219] На этапе 1614 вторая криптограмма регистрации может быть отправлена на компьютер сервера (например, сервер регистрации) для проверки в сообщении с ответом обновления. Вторая криптограмма регистрации может быть использована для аутентификации пользовательского устройства. Перед отправкой второй криптограммы регистрации вторая криптограмма регистрации может быть зашифрована с помощью ключа сеанса (например, первого ключа сеанса или второго ключа сеанса) или другого ключа (например, LUK, открытого ключа компьютера сервера или совместно используемого секретного ключа). Если подлинность принятой криптограммы регистрации подтверждена, пользовательское устройство может быть успешно повторно внесено в реестр.
[0220] В некоторых вариантах осуществления вторые регистрационные данные и необязательно идентификатор элемента безопасности (например, SIM ID) могут быть зашифрованы с изначально сохраненными регистрационными данными (например, первыми регистрационными данными) с помощью ключа, сформированного в соответствии с новым совместно используемым секретным ключом. Зашифрованное значение затем отправляют на сервер для проверки подлинности. Такие варианты осуществления обеспечивают дополнительную безопасность, поскольку подтверждение подлинности зашифрованного значения гарантирует, что запросчик (например, пользовательское устройство) знает первые и вторые регистрационные данные, а также вновь согласованный совместно используемый секретный ключ.
B. Компьютер сервера
[0221] На фиг. 17 показан приведенный в качестве примера процесс или способ 1700 обновления для обновления в реестре пользовательского устройства на компьютере сервера согласно некоторым вариантам осуществления. Аспекты процесса 1700 могут быть выполнены компьютером сервера, таким как серверное устройство или компьютер 102, 103, 104, 105, 106 или 300. Например, процесс 1700 может быть осуществлен сервером регистрации, как обсуждается в данном документе. Альтернативно или дополнительно, аспекты процесса 1700 могут быть выполнены любыми другими подходящими субъектами.
[0222] На этапе 1702 вторые регистрационные данные (например, второй одноразовый пароль (OTP)) могут быть отправлены на пользовательское устройство. В некоторых вариантах осуществления вторые регистрационные данные могут быть переданы на пользовательское устройство по вторичному каналу связи, который отличается от канала связи, используемого для внесения в реестр и/или транзакции сообщений с запросом/ответом. Например, вторые регистрационные данные могут быть включены в текстовое сообщение, электронное письмо, телефонный вызов, онлайн-чат, факсимильное сообщение, почтовую связь или т. п.
[0223] В некоторых вариантах осуществления регистрационные данные (например, первые регистрационные данные или вторые регистрационные данные) могут быть зашифрованы или иным образом защищены с помощью ключа (например, ключа сеанса), который сформирован из совместно используемого секретного ключа. Таким образом, регистрационные данные могут быть использованы для проверки подлинности собственности пользователей и пользовательских устройств после регистрации или уточнения (например, обновления). В некоторых вариантах осуществления вместо или в дополнение к регистрационным данным может быть использована многофакторная аутентификация.
[0224] На этапе 1704 сообщение с запросом обновления может быть принято от пользовательского устройства. Сообщение с запросом обновления может содержать криптограмму регистрации. В некоторых вариантах осуществления криптограмма регистрации может представлять собой криптограмму, определенную во время начального процесса внесения в реестр, например, на этапе 812 способа 800. Сообщение с запросом обновления может необязательно содержать хеш вторых регистрационных данных и второй кратковременный открытый ключ пользовательского устройства. Сообщение с запросом обновления также может содержать хеш вторых регистрационных данных и второй кратковременный открытый ключ пользовательского устройства. Сообщение с запросом обновления также может содержать другие данные, подобные данным, включенным в начальный запрос внесения в реестр/предоставления, такие как идентификационная информация устройства или пользователя, информация конфигурации клиента или служебные директивы.
[0225] В некоторых вариантах осуществления компьютер сервера может генерировать новый совместно используемый секретный ключ с помощью по меньшей мере второго кратковременного открытого ключа пользовательского устройства, закрытого ключа сервера и/или параметров формирования ключа, связанных с пользовательским устройством. Новый совместно используемый секретный ключ может быть использован для генерирования первого ключа сеанса, который может быть использован для расшифровки сообщения с запросом обновления.
[0226] На этапе 1706 может быть проверена подлинность криптограммы регистрации. В некоторых вариантах осуществления необязательно может быть проверена подлинность хеша вторых регистрационных данных (например, одноразового пароля). Проверка подлинности криптограммы регистрации может включать сравнение принятой криптограммы регистрации с криптограммой регистрации, связанной с пользовательским устройством и хранимой компьютером сервера. Проверка подлинности хеша вторых регистрационных данных (например, одноразового пароля) может включать сравнение принятого хеша вторых регистрационных данных (например, одноразового пароля) с хешем вторых регистрационных данных (например, одноразового пароля), которые были предоставлены на пользовательское устройство, для определения, имеется ли соответствие.
[0227] На этапе 1708, если подлинность криптограммы регистрации и/или хеша вторых регистрационных данных (например, одноразового пароля) подтверждена, сообщение с ответом обновления может быть сгенерировано и отправлено на пользовательское устройство. Сообщение с ответом обновления может содержать вторые параметры формирования ключа для пользовательского устройства. Сообщение с ответом обновления также может содержать открытый ключ компьютера сервера (который может или не может быть заблокирован), второй криптографический объект nonce, вторые параметры формирования криптограммы, вторые параметры обновления и/или любые другие подходящие данные.
[0228] В некоторых вариантах осуществления сообщение с ответом обновления может быть зашифровано с помощью первого ключа сеанса, который сгенерирован на основе нового совместно используемого секретного ключа. В таких вариантах осуществления первый ключ сеанса может быть использован для расшифровки сообщения с ответом обновления. В некоторых других вариантах осуществления второй совместно используемый секретный ключ может быть сгенерирован на основе по меньшей мере частично второго кратковременного закрытого ключа пользовательского устройства, открытого ключа компьютера сервера и вторых параметров формирования ключа. В таких вариантах осуществления второй совместно используемый секретный ключ может быть использован для генерирования второго ключа сеанса, и второй ключ сеанса может быть использован для расшифровки сообщения с ответом обновления.
[0229] На этапе 1710 от пользовательского устройства может быть принята вторая криптограмма регистрации. Вторая криптограмма регистрации может быть зашифрована с помощью ключа сеанса (например, первого ключа сеанса или второго ключа сеанса) или другого ключа (например, LUK, открытого ключа компьютера сервера или совместно используемого секретного ключа). Если подлинность принятой криптограммы регистрации подтверждена, пользовательское устройство может быть успешно повторно внесено в реестр.
[0230] В некоторых вариантах осуществления подлинность второй криптограммы регистрации может быть проверена 1712 с помощью второго кратковременного открытого ключа, закрытого ключа компьютера сервера и вторых параметров формирования ключа. Например, в некоторых вариантах осуществления проверка подлинности второй криптограммы регистрации может включать генерирование второго криптограммного ключа с помощью второго кратковременного открытого ключа, закрытого ключа компьютера сервера и/или вторых параметров формирования ключа. Криптограммный ключ может быть сгенерирован с помощью совместно используемого секретного ключа, который сгенерирован с помощью второго кратковременного открытого ключа, закрытого ключа компьютера сервера и/или вторых параметров формирования ключа. Криптограммный ключ может необязательно быть сгенерирован на основе второго LUK, который был предоставлен на пользовательское устройство. Криптограммный ключ может быть использован для расшифровки принятой криптограммы регистрации. Когда вторую криптограмму регистрации генерируют путем шифрования второго одноразового пароля с помощью криптограммного ключа, принятая вторая криптограмма регистрации может быть расшифрована для определения, соответствует ли расшифрованная криптограмма вторым регистрационным данным (например, одноразовому паролю), которые были предоставлены на пользовательское устройство. В некоторых вариантах осуществления вместо расшифровки принятой криптограммы регистрации принятая криптограмма регистрации может быть сравнена с сохраненной криптограммой регистрации, связанной с пользовательским устройством.
[0231] В некоторых вариантах осуществления вторые регистрационные данные и необязательно идентификатор элемента безопасности (например, SIM ID) могут быть зашифрованы с изначально сохраненными регистрационными данными (например, первыми регистрационными данными) с помощью ключа, сформированного в соответствии с новым совместно используемым секретным ключом. Зашифрованное значение затем отправляют на сервер для проверки подлинности. Проверка подлинности может включать расшифровку зашифрованного значения с помощью нового совместно используемого секретного ключа и проверку подлинности как изначальных (первых) регистрационных данных, так и новых (вторых) регистрационных данных в расшифрованном значении. Такая проверка подлинности обеспечивает дополнительную гарантию того, что запросчик (например, пользовательское устройство) знает первые и вторые регистрационные данные, а также вновь согласованный совместно используемый секретный ключ.
C. Пример схемы информационных потоков при обновлении ключа
[0232] На фиг. 18показана блок-схема процесса 1800 обновления ключа согласно некоторым вариантам осуществления. Как показано на фиг. 18, в качестве части процесса обновления ключа между пользовательским устройством 1802 (например, пользовательским устройством 101) и компьютером 1804 сервера (например, компьютером 105 сети обработки платежей или компьютером 106 эмитента) может быть произведен обмен четырьмя сообщениями.
[0233] В первом сообщении компьютер сервера 1804 может предоставить на пользовательское устройство 1802 вторые регистрационные данные (например, одноразовый пароль). В некоторых вариантах осуществления регистрационные данные (например, одноразовый пароль) могут быть предоставлены с помощью альтернативного средства связи, такого как SMS или электронное письмо.
[0234] Во втором сообщении пользовательское устройство может предоставить на компьютер 1804 сервера криптограмму регистрации (RC), открытый ключ новой пары кратковременных открытого/закрытого ключей и хеш принятых регистрационных данных (например, одноразового пароля). Криптограмма регистрации (RC) могла быть получена во время изначального процесса внесения в реестр (например, согласно способу 800). Компьютер 1804 сервера может проверять криптограмму регистрации и хеш регистрационных данных (например, одноразового пароля) для аутентификации пользовательского устройства 1802.
[0235] В третьем сообщении, если пользовательское устройство 1802 аутентифицировано, компьютер 1804 сервера может предоставить на пользовательское устройство 1102 новые параметры формирования ключа. В некоторых вариантах осуществления в качестве части параметров формирования ключа компьютер 1804 сервера может необязательно предоставить на пользовательское устройство 1802 новый ключ ограниченного использования (LUK). Ключ ограниченного использования может быть использован для генерирования новых криптограммных ключей и/или новых криптограмм (например, криптограмм регистрации и/или криптограмм транзакции).
[0236] Перед отправкой четвертого сообщения пользовательское устройство может формировать новый совместно используемый секретный ключ (новый Z0) с помощью нового кратковременного закрытого ключа (EK) и открытого ключа компьютера сервера и использовать новый совместно используемый секретный ключ (Z0) и новые параметры формирования ключа для определения нового криптограммного ключа (нового CK). В некоторых вариантах осуществления, где новый LUK предоставляет компьютер 1804 сервера, новый криптограммный ключ также может быть сгенерирован на основе LUK. Новый криптограммный ключ затем может быть использован для генерирования новой криптограммы регистрации (новой RC). Например, новая криптограмма может быть использована для шифрования регистрационных данных (например, одноразового пароля), отправленных на пользовательское устройство 1802 в первом сообщении. Пользовательское устройство 1802 затем может отправлять новую криптограмму регистрации (новую RC) на компьютер 1804 сервера. Если подлинность новой криптограммы (новой RC) подтверждается, обновление ключа может быть успешно завершено.
СИНХРОНИЗАЦИЯ
[0237] Потенциальным недостатком способов, описанных в данном документе, является вероятность большого количества прерванных транзакций, приводящих ко многим ситуациям нарушения синхронизации, в которых пользовательское устройство и компьютер сервера имеют или ожидают разные совместно используемые секретные ключи. Например, устройства доступа (например, терминалы NFC) иногда не могут приступить к авторизации, несмотря на то, что пользовательское устройство или платежное приложение на нем успешно завершили обмен данными для NFC-транзакции. В качестве другого примера, иногда неясно, были ли вообще успешно отсканированы QR коды.
[0238] Этот недостаток, связанный с нарушением синхронизации, может быть устранен по меньшей мере частично на стороне сервера путем разрешения серверу проверять подлинность криптограммы для приема или следующего криптограммного ключа (SUK), или следующего n (где n=1, 2, 3, …) криптограммного ключа (ключей) (например, SUK) после отклонения следующего криптограммного ключа. Например, если проверка подлинности криптограммы, сгенерированной с помощью обновленного криптограммного ключа, терпит неудачу, сервер может попытаться проверить подлинность криптограммы с помощью следующего+1 криптограммного ключа (сформированного из следующего+1 совместно используемого секретного ключа), следующего+2 криптограммного ключа (сформированного из следующего+2 совместно используемого секретного ключа) или т. п.
[0239] Дополнительно или альтернативно, пользовательское устройство может быть выполнено с возможностью проверки синхронизации с сервером следующим образом. Когда устройство в следующий раз находится в сети и после генерирования для счета второго или последующего нового совместно используемого секретного ключа, последний совместно используемый секретный ключ посылают на компьютер сервера. Сервер может вычислить или принять последний совместно используемый секретный ключ, если сервер получает уведомления о каждом событии новой транзакции от пользовательских устройств и/или компьютеров сервера. В некоторых вариантах осуществления как пользовательским устройствам, так и серверам необходимо хранить битовые карты согласно способу для вычисления ключей и криптограмм и/или последний совместно используемый секретный ключ (ключи), используемый для вычисления следующего совместно используемого секретного ключа (ключей) и следующей криптограммы (криптограмм). В некоторых вариантах осуществления некоторые или все закрытые данные, такие как битовые карты согласно способу и/или последний совместно используемый секретный ключ (ключи), могут быть сохранены в хранилище маркеров, выполненном с возможностью безопасного хранения платежных маркеров для транзакций. Поскольку хранилище маркеров опрашивается для каждой транзакции, хранение закрытых данных в хранилище маркеров может быть предпочтительным для повышения эффективности (например, ускорения времени опроса). В таких вариантах осуществления последний совместно используемый секретный ключ может быть проверен на соответствие с хранилищем маркеров. В некоторых других вариантах осуществления закрытые данные могут быть сохранены в другом хранилище данных, которое не является хранилищем маркеров.
[0240] Компьютер сервера может содержать список совместно используемых секретных ключей с последней синхронизации для определения, является состояние нарушения синхронизации обратным или прямым. Состояние нарушения синхронизации счета устройства (прямое) может быть использовано для запуска автоматической пересинхронизации без проверки регистрационных данных, поскольку прямое состояние может быть вызвано незавершенными транзакциями устройства, приводящими к генерированию нового совместно используемого секретного ключа. Проблема в виде прямой синхронизации может возникнуть, когда пользовательское устройство генерирует следующие секретные ключи без фактического генерирования транзакции. Обратная синхронизация может возникать, когда сервер опережает пользовательские устройства. Например, некоторые продавцы фактически не отправляют запросы авторизации платежным операторам, когда транзакции фактически происходят. Вместо этого они собирают запросы авторизации в пакеты и отправляют их позже. Это означает, что потребитель мог использовать свое устройство для другой транзакции раньше, чем был отправлен предыдущий запрос авторизации. В результате сервер может получить запросы авторизации для транзакций, которые используют более ранний секретный ключ, после того, как сервером был обработан запрос авторизации, использующий более поздний секретный ключ. Для устранения этого недостатка в некоторых вариантах осуществления сервер может содержать движущееся окно текущего секретного ключа и неиспользованных предыдущих секретных ключей. Тогда сервер может иметь возможность смотреть вперед, поскольку транзакция может использовать будущий секретный ключ, а не следующий секретный ключ. Чем больше окно, тем меньше будет необходимо пересинхронизаций. Недостатком может быть меньшая скорость, с которой сервер может обрабатывать транзакции. В некоторых вариантах осуществления обратные состояния могут быть использованы для выдачи предупреждения о вероятной атаке, поскольку один и тот же совместно используемый секретный ключ может быть использован более одного раза.
ДРУГИЕ ТИПЫ ТРАНЗАКЦИЙ
[0241] В некоторых вариантах осуществления способы, описанные в данном документе, могут быть использованы для аутентификации транзакций, которые не связаны с платежами. К примеру, пользовательское устройство может осуществлять связь с компьютером сервера с целью осуществления доступа к одному или нескольким ресурсам в одной или нескольких не связанных с платежами транзакциях. Компьютер сервера может быть выполнен с возможностью аутентификации пользовательского устройства с помощью способов, описанных в данном документе. Компьютер сервера может быть дополнительно выполнен с возможностью предоставления доступа к одному или нескольким ресурсам на основе результата аутентификации.
[0242] Например, пользовательское устройство и компьютер сервера могут осуществлять связь во время процесса предоставления для предоставления пользовательскому устройству удостоверяющих данных (например, LUK). Связи могут быть осуществлены таким же образом, как описано выше со ссылкой на фиг. 4-12.
[0243] Предоставленные удостоверяющие данные могут быть использованы в последующих транзакциях для разрешения пользовательскому устройству осуществлять доступ к ресурсам, предоставляемым компьютером сервера. Компьютер сервера может быть тем же компьютером сервера, который внес пользовательское устройство в реестр, или другим компьютером сервера. Связи могут быть осуществлены таким же образом, как описано выше со ссылкой на фиг. 16-19. К примеру, предоставленные удостоверяющие данные (например, LUK и/или другие параметры формирования ключа) могут быть использованы для генерирования криптограммного ключа, который может быть использован для генерирования криптограммы, которую используют для аутентификации пользовательского устройства во время транзакции. Криптограммный ключ может быть сгенерирован также на основе совместно используемого секретного ключа, который обновляют для каждой транзакции (например, постоянно изменяющегося совместно используемого секретного ключа). В таких вариантах осуществления генерируемый криптограммный ключ представляет собой ключ разового использования, который действителен только для одной транзакции.
[0244] Удостоверяющие данные могут быть обновлены во время процесса обновления, такого как описан в данном документе. В частности, новые удостоверяющие данные (например, новый LUK) могут быть предоставлены на пользовательское устройство для использования с целью генерирования криптограмм и/или криптограммных ключей. Связи могут быть осуществлены таким же образом, как описано выше со ссылкой на фиг. 16-18. В некоторых вариантах осуществления новый LUK предоставляют безопасным способом, подобным предоставлению LUK во время процесса внесения в реестр.
[0245] В разных вариантах осуществления ресурс может включать вычислительные ресурсы, которые доступны через вычислительное устройство. Такие вычислительные ресурсы могут включать объекты данных, вычислительные устройства или их аппаратные/программные компоненты (например, ЦП, память, приложения), услуги (например, веб-сервисы), виртуальные компьютерные системы, хранение или управление данными, сетевые соединения и интерфейсы и т. п. Например, ресурс может включать одно или несколько вычислительных устройств (например, настольный компьютер, портативный переносной компьютер, планшет, мобильный телефон), файлы или другие данные, хранящиеся в вычислительных устройствах, запоминающее устройство или устройство хранения данных, связанное с вычислительными устройствами, приложения, установленные на компьютерных устройствах, периферические устройства, связанные с вычислительными устройствами, такие как устройства ввода/вывода (например, клавиатура, мышь, микрофон, сенсорный экран, принтер), сетевые интерфейсы, услуги, предоставляемые вычислительными устройствами, и т. п. Вычислительные ресурсы могут включать сетевые или облачные услуги или функциональные возможности, предоставляемые поставщиками услуг. Вычислительный ресурс может включать одно или несколько запоминающих устройств, узлов, систем или их часть, такую как раздел, том, сектор и т. п. Вычислительные ресурсы также могут включать объекты данных, такие как удостоверяющие данные (например, имя пользователя, пароли, криптографические ключи, цифровые сертификаты). В таком случае для доступа к этим удостоверяющим данным могут быть затребованы главные удостоверяющие данные. Ресурс может включать материальные и/или нематериальные ресурсы. Материальные ресурсы могут включать устройства, здания и физические объекты. Нематериальные ресурсы могут включать, например, услуги и время.
ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО
[0246] На фиг. 19 показана блок-схема высокого уровня компьютерной системы, которая может быть использована для осуществления любого из субъектов или компонентов, описанных выше. Подсистемы, показанные на фиг. 19, подключены через системную шину 1975. Дополнительные подсистемы включают принтер 1903, клавиатуру 1906, несъемный диск 1907 и монитор 1909, который подключен к адаптеру 1904 дисплея. Периферийные устройства и устройства ввода/вывода (I/O), которые соединяются с I/O контроллером 1900, могут быть соединены с компьютерной системой с помощью любого количества средств, известных в данной области техники, таких как последовательный порт. Например, последовательный порт 1905 или внешний интерфейс 1908 могут быть использованы для соединения вычислительного устройства с глобальной сетью, такой как Интернет, устройством ввода типа мышь или сканером. Соединение по системной шине 1975 позволяет центральному процессору 1902 осуществлять связь с каждой подсистемой и управлять выполнением команд из системной памяти 1901 или несъемного диска 1907, а также обмен информацией между подсистемами. Системная память 1901 и/или несъемный диск могут представлять собой машиночитаемый носитель.
[0247] Запоминающие носители и машиночитаемые носители для хранения кода или частей кода могут включать любые соответствующие носители, известные или используемые в данной области техники, включая запоминающие носители и средства связи, такие как, но без ограничения, энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения и/или передачи информации, такой как машиночитаемые команды, структуры данных, программные модули или другие данные, включая ОЗУ, ПЗУ, ЭСППЗУ (электрически стираемое программируемое постоянное запоминающее устройство), флеш-память или другую запоминающую технологию, CD-ROM, цифровой универсальный диск (DVD) или другой оптический носитель, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, сигналы данных, передачи данных или любые другие носители, которые могут быть использованы для хранения или передачи желаемой информации и к которым может осуществить доступ компьютер. На основании описания и указаний, представленных в данном документе, для специалиста в данной области техники будут очевидны другие пути и/или способы для осуществления разных вариантов осуществления.
[0248] Описание выше является иллюстративным и не является ограничительным. Многие варианты изобретения могут стать очевидными специалистам в данной области техники по прочтении описания. Следовательно, объем изобретения может быть определен не со ссылкой на вышеприведенное описание, а вместо этого может быть определен со ссылкой на рассматриваемые пункты формулы изобретения наряду с их полным объемом или эквивалентами.
[0249] Следует понимать, что любые из вариантов осуществления настоящего изобретения могут быть реализованы в форме управляющей логики с помощью аппаратного обеспечения (например, специализированной интегральной схемы или перепрограммируемой логической матрицы) и/или с помощью компьютерного программного обеспечения с традиционно программируемым процессором в модульном или целостном режиме. Как используется в данном документе, процессор включает процессор с одним ядром, процессор с несколькими ядрами на одной интегральной микросхеме или несколько процессорных элементов на одной печатной плате или сетевых. На основании описания и указаний, представленных в данном документе, специалисты в данной области техники будут понятны и очевидны другие пути и/или способы реализации вариантов осуществления настоящего изобретения с помощью аппаратного обеспечения и сочетания аппаратного и программного обеспечения.
[0250] Любые программные компоненты или функции, описанные в этой заявке, могут быть реализованы в виде программного кода, подлежащего выполнению процессором, с помощью любого подходящего компьютерного языка, такого как, например, Java, C, C++, C#, Objective-C, Swift или языка сценариев, такого как Perl или Python, с использованием, например, обычного или объектно-ориентированного подхода. Программный код может быть сохранен в виде последовательности команд или командных сигналов на машиночитаемом носителе для хранения и/или передачи. Подходящий энергонезависимый машиночитаемый носитель может включать оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), магнитный носитель, такой как жесткий диск или гибкий диск, или оптический носитель, такой как компакт-диск (CD) или DVD (цифровой универсальный диск), флеш-память и т. п. Машиночитаемый носитель может представлять собой любое сочетание таких устройств хранения или передачи.
[0251] Такие программы также могут быть закодированы и переданы с помощью несущих сигналов, предназначенных для передачи по проводным, оптическим и/или беспроводным сетям, согласно разнообразным протоколам, включая Интернет. По сути, машиночитаемый носитель согласно варианту осуществления настоящего изобретения может быть создан с помощью сигнала данных, закодированного с помощью таких программ. Машиночитаемый носитель, закодированный с помощью программного кода, может быть расположен с совместимым устройством или предоставлен отдельно от других устройств (например, с помощью загрузки через Интернет). Любой такой машиночитаемый носитель может располагаться на или в одном компьютерном продукте (например, жестком диске, CD или целой компьютерной системе) и может быть представлен на или в разных компьютерных продуктах в системе или сети. Компьютерная система может содержать монитор, принтер или другое подходящее устройство отображения для выдачи пользователю любых результатов, упомянутых в данном документе.
[0252] Любые из способов, описанных в данном документе, могут быть полностью или частично выполнены компьютерной системой, содержащей один или несколько процессоров, которые могут быть выполнены с возможностью выполнения этапов. Таким образом, варианты осуществления могут быть направлены на компьютерные системы, выполненные с возможностью выполнения этапов любого из способов, описанных в данном документе, потенциально разными компонентами, выполняющими соответствующие этапы или соответствующую группу этапов. Хотя этапы представлены пронумерованными, этапы способов в данном документе могут быть выполнены одновременно или в разном порядке. Кроме того, части этих этапов могут быть использованы с частями других этапов из других способов. Также, весь этап или его части могут быть необязательными. Кроме того, любой из этапов любого из способов может быть выполнен модулями, элементами, схемами или другими средствами для выполнения этих этапов.
[0253] Характерные детали конкретных вариантов осуществления могут сочетаться любым подходящим образом, не отходя от идеи и объема вариантов осуществления изобретения. Однако другие варианты осуществления изобретения могут быть направлены на особые варианты осуществления, относящиеся к каждому отдельному аспекту или особым сочетаниям этих отдельных аспектов.
[0254] Представленное выше описание приведенных в качестве примера вариантов осуществления изобретения было представлено с целями иллюстрации и описания. Оно не предназначено быть исчерпывающим или ограничивать изобретение точной описанной формой, и в свете представленных выше указаний возможны многие модификации и варианты.
[0255] Формы единственного числа обозначают «один или несколько», если иное не указано отдельно. Использование «или» предназначено для обозначения «включающего или», а не «исключающего или», если иное не указано отдельно.
[0256] Все патенты, патентные заявки, публикации и описания, упомянутые в данном документе, включены посредством ссылки во всей своей полноте для всех целей. Ни один из указанных документов не принимается в качестве прототипа.
Claims (79)
1. Осуществляемый с помощью компьютера способ генерирования криптограмм, включающий:
определение пользовательским устройством пары кратковременных ключей, содержащей кратковременный открытый ключ и кратковременный закрытый ключ;
отправку пользовательским устройством сообщения с запросом предоставления, содержащего кратковременный открытый ключ, на компьютер сервера предоставления;
прием пользовательским устройством сообщения с ответом предоставления, содержащего зашифрованные удостоверяющие данные, от компьютера сервера предоставления;
определение пользовательским устройством ответного совместно используемого секретного ключа с помощью кратковременного закрытого ключа и статического открытого ключа сервера;
расшифровку пользовательским устройством зашифрованных удостоверяющих данных с помощью ответного совместно используемого секретного ключа для определения удостоверяющих данных;
получение параметра формирования ключа из удостоверяющих данных; и
формирование первого криптограммного ключа из ответного совместно используемого секретного ключа с помощью параметра формирования ключа, при этом первый криптограммный ключ используют для генерирования первой криптограммы для использования в первой защищенной связи с компьютером проверяющего подлинность сервера.
2. Осуществляемый с помощью компьютера способ по п. 1, в котором удостоверяющие данные содержат ключ ограниченного использования, используемый пользовательским устройством для формирования первого криптограммного ключа, при этом компьютер проверяющего подлинность сервера имеет доступ к ключу ограниченного использования.
3. Осуществляемый с помощью компьютера способ по п. 1, дополнительно включающий:
генерирование пользовательским устройством запросного совместно используемого секретного ключа с помощью кратковременного закрытого ключа и статического открытого ключа сервера; и
шифрование пользовательским устройством данных запроса с помощью запросного совместно используемого секретного ключа для получения зашифрованных данных запроса, при этом сообщение с запросом предоставления содержит зашифрованные данные запроса.
4. Осуществляемый с помощью компьютера способ по п. 1, в котором ответный совместно используемый секретный ключ определяют с помощью заблокированного ключа, который формируют из статического открытого ключа сервера, используя при этом статический открытый ключ сервера для определения ответного совместно используемого секретного ключа, и при этом сообщение с ответом предоставления также содержит заблокированный ключ.
5. Осуществляемый с помощью компьютера способ по п. 1, в котором ответный совместно используемый секретный ключ определяют без заблокированного ключа, при этом удостоверяющие данные содержат криптографический объект nonce, и при этом первый криптограммный ключ дополнительно формируют с помощью криптографического объекта nonce.
6. Осуществляемый с помощью компьютера способ по п. 1, дополнительно включающий:
обновление пользовательским устройством ответного совместно используемого секретного ключа для определения обновленного совместно используемого секретного ключа с помощью параметра обновления, при этом удостоверяющие данные содержат параметр обновления;
формирование пользовательским устройством второго криптограммного ключа с помощью обновленного совместно используемого секретного ключа и параметра формирования ключа;
генерирование пользовательским устройством второй криптограммы с помощью второго криптограммного ключа; и
осуществление пользовательским устройством второй защищенной связи с компьютером проверяющего подлинность сервера с помощью второй криптограммы.
7. Осуществляемый с помощью компьютера способ по п. 6, дополнительно включающий:
генерирование пользовательским устройством новых совместно используемых секретных ключей для каждого из множества новых защищенных сеансов связи, при этом каждый новый совместно используемый секретный ключ генерируют с помощью предыдущего совместно используемого секретного ключа и параметра обновления;
формирование пользовательским устройством новых криптограммных ключей с помощью новых совместно используемых секретных ключей и параметра формирования ключей;
генерирование пользовательским устройством новых криптограмм с помощью нового криптограммного ключа; и
осуществление пользовательским устройством новых защищенных сеансов связи с компьютером проверяющего подлинность сервера с помощью новых криптограмм.
8. Осуществляемый с помощью компьютера способ по п. 6, в котором вторую криптограмму дополнительно генерируют с помощью данных на основе параметра формирования криптограммы, содержащегося в удостоверяющих данных, и при этом вторая защищенная связь представляет собой запрос авторизации, при этом вторая криптограмма аутентифицирует по меньшей мере один элемент запроса авторизации.
9. Осуществляемый с помощью компьютера способ по п. 6, в котором при генерировании обновленного криптограммного ключа используют параметр формирования ключа, содержащийся в удостоверяющих данных.
10. Осуществляемый с помощью компьютера способ по п. 1, дополнительно включающий:
прием пользовательским устройством первых регистрационных данных;
шифрование пользовательским устройством первых регистрационных данных с помощью первого криптограммного ключа для генерирования первой криптограммы, при этом первая криптограмма представляет собой криптограмму регистрации; и
отправку пользовательским устройством криптограммы регистрации на компьютер сервера регистрации, при этом компьютер сервера регистрации аутентифицирует пользовательское устройство с помощью криптограммы регистрации.
11. Осуществляемый с помощью компьютера способ по п. 10, дополнительно включающий:
сохранение пользовательским устройством ответного совместно используемого секретного ключа, и при этом отправка криптограммы регистрации на компьютер сервера включает шифрование криптограммы регистрации с помощью ответного совместно используемого секретного ключа.
12. Осуществляемый с помощью компьютера способ по п. 10, дополнительно включающий:
прием пользовательским устройством вторых регистрационных данных;
генерирование пользовательским устройством второй пары кратковременных ключей, содержащей второй кратковременный открытый ключ и второй кратковременный закрытый ключ;
отправку пользовательским устройством на компьютер сервера регистрации сообщения с запросом обновления, содержащего криптограмму регистрации и второй кратковременный открытый ключ;
прием пользовательским устройством сообщения с ответом обновления, содержащего второй параметр формирования ключа;
формирование пользовательским устройством второго криптограммного ключа с помощью второго параметра формирования ключа;
генерирование пользовательским устройством второй криптограммы регистрации с помощью второго криптограммного ключа и вторых регистрационных данных; и
отправку пользовательским устройством второй криптограммы регистрации на компьютер сервера, при этом вторая криптограмма регистрации аутентифицирует пользовательское устройство.
13. Осуществляемый с помощью компьютера способ по п. 12, в котором сообщение с запросом обновления дополнительно содержит хеш вторых регистрационных данных.
14. Осуществляемый с помощью компьютера способ формирования и отправки зашифрованных данных, включающий:
прием компьютером сервера сообщения с запросом предоставления, содержащего кратковременный открытый ключ, от пользовательского устройства;
определение компьютером сервера запросного совместно используемого секретного ключа с помощью кратковременного открытого ключа и статического закрытого ключа сервера;
генерирование компьютером сервера ответного совместно используемого секретного ключа с помощью статического закрытого ключа компьютера сервера и кратковременного открытого ключа;
получение параметра формирования ключа для формирования первого криптограммного ключа из ответного совместно используемого секретного ключа;
шифрование компьютером сервера удостоверяющих данных с помощью ответного совместно используемого секретного ключа для определения зашифрованных данных ответа, при этом удостоверяющие данные содержат параметр формирования ключа; и
отправку компьютером сервера на пользовательское устройство сообщения с ответом предоставления, содержащего зашифрованные данные ответа.
15. Осуществляемый с помощью компьютера способ по п. 14, в котором компьютер сервера функционирует как проверяющий подлинность сервер, при этом способ дополнительно включает:
прием компьютером сервера от пользовательского устройства криптограммы пользователя для подтверждения защищенной связи;
формирование первого криптограммного ключа из ответного совместно используемого секретного ключа с помощью параметра формирования ключа;
генерирование первой криптограммы с помощью первого криптограммного ключа и параметра формирования криптограммы, при этом удостоверяющие данные содержат параметр формирования криптограммы; и
проверку компьютером сервера подлинности криптограммы пользователя путем сравнения криптограммы пользователя с первой криптограммой.
16. Осуществляемый с помощью компьютера способ по п. 15, дополнительно включающий:
обновление компьютером сервера ответного совместно используемого секретного ключа для определения обновленного совместно используемого секретного ключа;
прием компьютером сервера от пользовательского устройства новой криптограммы для подтверждения новой защищенной связи;
формирование второго криптограммного ключа из обновленного совместно используемого секретного ключа с помощью параметра формирования ключа;
генерирование второй криптограммы с помощью второго криптограммного ключа и параметра формирования криптограммы; и
проверку компьютером сервера подлинности новой криптограммы путем сравнения новой криптограммы со второй криптограммой.
17. Осуществляемый с помощью компьютера способ по п. 14, в котором компьютер сервера функционирует как сервер регистрации, при этом способ дополнительно включает:
предоставление компьютером сервера первых регистрационных данных на пользовательское устройство;
прием компьютером сервера криптограммы регистрации пользователя от пользовательского устройства;
формирование первого криптограммного ключа из ответного совместно используемого секретного ключа с помощью параметра формирования ключа;
шифрование пользовательским устройством первых регистрационных данных с помощью первого криптограммного ключа для генерирования первой криптограммы регистрации; и
проверку компьютером сервера криптограммы регистрации пользователя путем сравнения криптограммы регистрации пользователя с первой криптограммой регистрации, при этом пользовательское устройство аутентифицируют, если первая криптограмма регистрации проходит проверку.
18. Осуществляемый с помощью компьютера способ по п. 17, в котором первые регистрационные данные содержат одноразовый пароль.
19. Осуществляемый с помощью компьютера способ по п. 17, в котором компьютер сервера функционирует как сервер обновления, и при этом способ дополнительно включает:
отправку вторых регистрационных данных на пользовательское устройство;
прием сообщения с запросом обновления от пользовательского устройства, при этом сообщение с запросом обновления содержит криптограмму регистрации пользователя и второй кратковременный открытый ключ от пользовательского устройства;
проверку подлинности криптограммы регистрации пользователя;
отправку сообщения с ответом обновления на пользовательское устройство, содержащего второй параметр формирования ключа;
прием второй криптограммы регистрации от пользовательского устройства; и
проверку подлинности второй криптограммы регистрации с помощью вторых регистрационных данных.
20. Компьютерная система для генерирования криптограмм, содержащая:
память, которая хранит выполняемые компьютером команды; и
процессор, выполненный с возможностью осуществления доступа к памяти и исполнения выполняемых компьютером команд для выполнения способа по любому из пп. 1 - 13.
21. Компьютерная система для генерирования криптограмм, содержащая:
память, которая хранит выполняемые компьютером команды; и
процессор, выполненный с возможностью осуществления доступа к памяти и исполнения выполняемых компьютером команд для выполнения способа по любому из пп. 14 - 19.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462044172P | 2014-08-29 | 2014-08-29 | |
| US62/044,172 | 2014-08-29 | ||
| PCT/US2015/047824 WO2016033610A1 (en) | 2014-08-29 | 2015-08-31 | Methods for secure cryptogram generation |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| RU2017106105A RU2017106105A (ru) | 2018-10-01 |
| RU2017106105A3 RU2017106105A3 (ru) | 2019-03-13 |
| RU2710897C2 true RU2710897C2 (ru) | 2020-01-14 |
Family
ID=55400753
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2017106105A RU2710897C2 (ru) | 2014-08-29 | 2015-08-31 | Способы безопасного генерирования криптограмм |
Country Status (7)
| Country | Link |
|---|---|
| US (5) | US9813245B2 (ru) |
| EP (1) | EP3195521B1 (ru) |
| CN (2) | CN111756533B (ru) |
| AU (4) | AU2015308608B2 (ru) |
| BR (1) | BR112017002747A2 (ru) |
| RU (1) | RU2710897C2 (ru) |
| WO (1) | WO2016033610A1 (ru) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11588637B2 (en) | 2014-08-29 | 2023-02-21 | Visa International Service Association | Methods for secure cryptogram generation |
| US11856104B2 (en) | 2015-01-27 | 2023-12-26 | Visa International Service Association | Methods for secure credential provisioning |
Families Citing this family (509)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140019352A1 (en) | 2011-02-22 | 2014-01-16 | Visa International Service Association | Multi-purpose virtual card transaction apparatuses, methods and systems |
| US8762263B2 (en) | 2005-09-06 | 2014-06-24 | Visa U.S.A. Inc. | System and method for secured account numbers in proximity devices |
| US7739169B2 (en) | 2007-06-25 | 2010-06-15 | Visa U.S.A. Inc. | Restricting access to compromised account information |
| US7937324B2 (en) | 2007-09-13 | 2011-05-03 | Visa U.S.A. Inc. | Account permanence |
| US8219489B2 (en) | 2008-07-29 | 2012-07-10 | Visa U.S.A. Inc. | Transaction processing using a global unique identifier |
| US20100114768A1 (en) | 2008-10-31 | 2010-05-06 | Wachovia Corporation | Payment vehicle with on and off function |
| US10867298B1 (en) | 2008-10-31 | 2020-12-15 | Wells Fargo Bank, N.A. | Payment vehicle with on and off function |
| US9715681B2 (en) | 2009-04-28 | 2017-07-25 | Visa International Service Association | Verification of portable consumer devices |
| US9038886B2 (en) | 2009-05-15 | 2015-05-26 | Visa International Service Association | Verification of portable consumer devices |
| US10846683B2 (en) | 2009-05-15 | 2020-11-24 | Visa International Service Association | Integration of verification tokens with mobile communication devices |
| US9105027B2 (en) | 2009-05-15 | 2015-08-11 | Visa International Service Association | Verification of portable consumer device for secure services |
| US8534564B2 (en) | 2009-05-15 | 2013-09-17 | Ayman Hammad | Integration of verification tokens with mobile communication devices |
| US8893967B2 (en) | 2009-05-15 | 2014-11-25 | Visa International Service Association | Secure Communication of payment information to merchants using a verification token |
| US10140598B2 (en) | 2009-05-20 | 2018-11-27 | Visa International Service Association | Device including encrypted data for expiration date and verification value creation |
| ES2599985T3 (es) | 2010-01-12 | 2017-02-06 | Visa International Service Association | Validación en cualquier momento para los tokens de verificación |
| US9245267B2 (en) | 2010-03-03 | 2016-01-26 | Visa International Service Association | Portable account number for consumer payment account |
| US9342832B2 (en) | 2010-08-12 | 2016-05-17 | Visa International Service Association | Securing external systems with account token substitution |
| US10586227B2 (en) | 2011-02-16 | 2020-03-10 | Visa International Service Association | Snap mobile payment apparatuses, methods and systems |
| CN106803175B (zh) | 2011-02-16 | 2021-07-30 | 维萨国际服务协会 | 快拍移动支付装置,方法和系统 |
| EP2678812A4 (en) | 2011-02-22 | 2015-05-20 | Visa Int Service Ass | APPARATUSES, METHODS AND SYSTEMS FOR UNIVERSAL ELECTRONIC PAYMENT |
| CN107967602A (zh) | 2011-03-04 | 2018-04-27 | 维萨国际服务协会 | 支付能力结合至计算机的安全元件 |
| US9280765B2 (en) | 2011-04-11 | 2016-03-08 | Visa International Service Association | Multiple tokenization for authentication |
| US9582598B2 (en) | 2011-07-05 | 2017-02-28 | Visa International Service Association | Hybrid applications utilizing distributed models and views apparatuses, methods and systems |
| AU2012278963B2 (en) | 2011-07-05 | 2017-02-23 | Visa International Service Association | Electronic wallet checkout platform apparatuses, methods and systems |
| US9355393B2 (en) | 2011-08-18 | 2016-05-31 | Visa International Service Association | Multi-directional wallet connector apparatuses, methods and systems |
| WO2013019567A2 (en) | 2011-07-29 | 2013-02-07 | Visa International Service Association | Passing payment tokens through an hop/sop |
| US9710807B2 (en) | 2011-08-18 | 2017-07-18 | Visa International Service Association | Third-party value added wallet features and interfaces apparatuses, methods and systems |
| US10825001B2 (en) | 2011-08-18 | 2020-11-03 | Visa International Service Association | Multi-directional wallet connector apparatuses, methods and systems |
| US10242358B2 (en) | 2011-08-18 | 2019-03-26 | Visa International Service Association | Remote decoupled application persistent state apparatuses, methods and systems |
| US12462245B2 (en) | 2011-08-18 | 2025-11-04 | Visa International Service Association | Remote decoupled application persistent state apparatuses, methods and systems |
| US10223730B2 (en) | 2011-09-23 | 2019-03-05 | Visa International Service Association | E-wallet store injection search apparatuses, methods and systems |
| US11354723B2 (en) | 2011-09-23 | 2022-06-07 | Visa International Service Association | Smart shopping cart with E-wallet store injection search |
| WO2013103991A1 (en) * | 2012-01-05 | 2013-07-11 | Visa International Service Association | Data protection with translation |
| US10223710B2 (en) | 2013-01-04 | 2019-03-05 | Visa International Service Association | Wearable intelligent vision device apparatuses, methods and systems |
| WO2013113004A1 (en) | 2012-01-26 | 2013-08-01 | Visa International Service Association | System and method of providing tokenization as a service |
| AU2013214801B2 (en) | 2012-02-02 | 2018-06-21 | Visa International Service Association | Multi-source, multi-dimensional, cross-entity, multimedia database platform apparatuses, methods and systems |
| US10282724B2 (en) | 2012-03-06 | 2019-05-07 | Visa International Service Association | Security system incorporating mobile device |
| WO2013166501A1 (en) | 2012-05-04 | 2013-11-07 | Visa International Service Association | System and method for local data conversion |
| US9524501B2 (en) | 2012-06-06 | 2016-12-20 | Visa International Service Association | Method and system for correlating diverse transaction data |
| US9547769B2 (en) | 2012-07-03 | 2017-01-17 | Visa International Service Association | Data protection hub |
| US9256871B2 (en) | 2012-07-26 | 2016-02-09 | Visa U.S.A. Inc. | Configurable payment tokens |
| US9665722B2 (en) | 2012-08-10 | 2017-05-30 | Visa International Service Association | Privacy firewall |
| WO2014043278A1 (en) | 2012-09-11 | 2014-03-20 | Visa International Service Association | Cloud-based virtual wallet nfc apparatuses, methods and systems |
| US10176478B2 (en) | 2012-10-23 | 2019-01-08 | Visa International Service Association | Transaction initiation determination system utilizing transaction data elements |
| US9911118B2 (en) | 2012-11-21 | 2018-03-06 | Visa International Service Association | Device pairing via trusted intermediary |
| US10304047B2 (en) | 2012-12-07 | 2019-05-28 | Visa International Service Association | Token generating component |
| US9741051B2 (en) | 2013-01-02 | 2017-08-22 | Visa International Service Association | Tokenization and third-party interaction |
| US10740731B2 (en) | 2013-01-02 | 2020-08-11 | Visa International Service Association | Third party settlement |
| US20230196328A1 (en) * | 2013-02-14 | 2023-06-22 | Advanced New Technologies Co., Ltd. | Data interaction method and device, and offline credit payment method and device |
| US11055710B2 (en) | 2013-05-02 | 2021-07-06 | Visa International Service Association | Systems and methods for verifying and processing transactions using virtual currency |
| WO2014186635A1 (en) | 2013-05-15 | 2014-11-20 | Visa International Service Association | Mobile tokenization hub |
| US10878422B2 (en) | 2013-06-17 | 2020-12-29 | Visa International Service Association | System and method using merchant token |
| WO2015013522A1 (en) | 2013-07-24 | 2015-01-29 | Visa International Service Association | Systems and methods for communicating risk using token assurance data |
| CN115907763A (zh) | 2013-07-26 | 2023-04-04 | 维萨国际服务协会 | 向消费者提供支付凭证 |
| US10496986B2 (en) | 2013-08-08 | 2019-12-03 | Visa International Service Association | Multi-network tokenization processing |
| CN105612543B (zh) | 2013-08-08 | 2022-05-27 | 维萨国际服务协会 | 用于为移动设备供应支付凭证的方法和系统 |
| US9350550B2 (en) * | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
| CA2927052C (en) | 2013-10-11 | 2021-09-21 | Visa International Service Association | Network token system |
| US9978094B2 (en) | 2013-10-11 | 2018-05-22 | Visa International Service Association | Tokenization revocation list |
| US10515358B2 (en) | 2013-10-18 | 2019-12-24 | Visa International Service Association | Contextual transaction token methods and systems |
| US10489779B2 (en) | 2013-10-21 | 2019-11-26 | Visa International Service Association | Multi-network token bin routing with defined verification parameters |
| US10366387B2 (en) | 2013-10-29 | 2019-07-30 | Visa International Service Association | Digital wallet system and method |
| SG10201900964QA (en) | 2013-12-19 | 2019-03-28 | Visa Int Service Ass | Cloud-based transactions methods and systems |
| US9922322B2 (en) | 2013-12-19 | 2018-03-20 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
| CN103763103B (zh) * | 2013-12-31 | 2017-02-01 | 飞天诚信科技股份有限公司 | 一种智能卡生成脱机认证凭据的方法 |
| US10433128B2 (en) | 2014-01-07 | 2019-10-01 | Visa International Service Association | Methods and systems for provisioning multiple devices |
| CN111277597B (zh) | 2014-01-13 | 2022-08-16 | 维萨国际服务协会 | 用于在认证交易中保护身份的设备、系统和方法 |
| US9846878B2 (en) | 2014-01-14 | 2017-12-19 | Visa International Service Association | Payment account identifier system |
| US12469021B2 (en) | 2014-02-18 | 2025-11-11 | Visa International Service Association | Limited-use keys and cryptograms |
| US9265079B2 (en) | 2014-03-13 | 2016-02-16 | Microsoft Technology Licensing, Llc | Authentication and pairing of devices using a machine readable code |
| US10026087B2 (en) | 2014-04-08 | 2018-07-17 | Visa International Service Association | Data passed in an interaction |
| US9942043B2 (en) | 2014-04-23 | 2018-04-10 | Visa International Service Association | Token security on a communication device |
| US11748736B1 (en) | 2014-04-30 | 2023-09-05 | Wells Fargo Bank, N.A. | Mobile wallet integration within mobile banking |
| US11663599B1 (en) | 2014-04-30 | 2023-05-30 | Wells Fargo Bank, N.A. | Mobile wallet authentication systems and methods |
| US11461766B1 (en) | 2014-04-30 | 2022-10-04 | Wells Fargo Bank, N.A. | Mobile wallet using tokenized card systems and methods |
| US11610197B1 (en) | 2014-04-30 | 2023-03-21 | Wells Fargo Bank, N.A. | Mobile wallet rewards redemption systems and methods |
| US10997592B1 (en) * | 2014-04-30 | 2021-05-04 | Wells Fargo Bank, N.A. | Mobile wallet account balance systems and methods |
| US11288660B1 (en) | 2014-04-30 | 2022-03-29 | Wells Fargo Bank, N.A. | Mobile wallet account balance systems and methods |
| US9652770B1 (en) | 2014-04-30 | 2017-05-16 | Wells Fargo Bank, N.A. | Mobile wallet using tokenized card systems and methods |
| WO2015168334A1 (en) | 2014-05-01 | 2015-11-05 | Visa International Service Association | Data verification using access device |
| CN106462849B (zh) | 2014-05-05 | 2019-12-24 | 维萨国际服务协会 | 用于令牌域控制的系统和方法 |
| US10846694B2 (en) | 2014-05-21 | 2020-11-24 | Visa International Service Association | Offline authentication |
| US11023890B2 (en) | 2014-06-05 | 2021-06-01 | Visa International Service Association | Identification and verification for provisioning mobile application |
| EP3860041B1 (en) | 2014-06-18 | 2023-03-15 | Visa International Service Association | Efficient methods for authenticated communication |
| US9780953B2 (en) | 2014-07-23 | 2017-10-03 | Visa International Service Association | Systems and methods for secure detokenization |
| US10484345B2 (en) | 2014-07-31 | 2019-11-19 | Visa International Service Association | System and method for identity verification across mobile applications |
| US10445739B1 (en) | 2014-08-14 | 2019-10-15 | Wells Fargo Bank, N.A. | Use limitations for secondary users of financial accounts |
| US9775029B2 (en) | 2014-08-22 | 2017-09-26 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
| US10140615B2 (en) | 2014-09-22 | 2018-11-27 | Visa International Service Association | Secure mobile device credential provisioning using risk decision non-overrides |
| CN104243484B (zh) * | 2014-09-25 | 2016-04-13 | 小米科技有限责任公司 | 信息交互方法及装置、电子设备 |
| ES2732564T3 (es) | 2014-09-26 | 2019-11-25 | Visa Int Service Ass | Sistema y procedimientos de aprovisionamiento de datos cifrados de servidor remoto |
| US11257074B2 (en) | 2014-09-29 | 2022-02-22 | Visa International Service Association | Transaction risk based token |
| US9774591B2 (en) * | 2014-10-15 | 2017-09-26 | Airbnb, Inc. | Password manipulation for secure account creation and verification through third-party servers |
| US10015147B2 (en) | 2014-10-22 | 2018-07-03 | Visa International Service Association | Token enrollment system and method |
| US11399019B2 (en) | 2014-10-24 | 2022-07-26 | Netflix, Inc. | Failure recovery mechanism to re-establish secured communications |
| US11533297B2 (en) * | 2014-10-24 | 2022-12-20 | Netflix, Inc. | Secure communication channel with token renewal mechanism |
| GB201419016D0 (en) | 2014-10-24 | 2014-12-10 | Visa Europe Ltd | Transaction Messaging |
| US9660983B2 (en) * | 2014-10-24 | 2017-05-23 | Ca, Inc. | Counter sets for copies of one time password tokens |
| CN113537988B (zh) | 2014-11-26 | 2024-05-28 | 维萨国际服务协会 | 用于经由访问装置的令牌化请求的方法和设备 |
| US10257185B2 (en) | 2014-12-12 | 2019-04-09 | Visa International Service Association | Automated access data provisioning |
| WO2016094122A1 (en) | 2014-12-12 | 2016-06-16 | Visa International Service Association | Provisioning platform for machine-to-machine devices |
| US10096009B2 (en) | 2015-01-20 | 2018-10-09 | Visa International Service Association | Secure payment processing using authorization request |
| US11250391B2 (en) | 2015-01-30 | 2022-02-15 | Visa International Service Association | Token check offline |
| EP3869730B1 (en) | 2015-02-13 | 2024-06-12 | Visa International Service Association | Confidential communication management |
| US11853919B1 (en) | 2015-03-04 | 2023-12-26 | Wells Fargo Bank, N.A. | Systems and methods for peer-to-peer funds requests |
| US10185949B2 (en) * | 2015-03-05 | 2019-01-22 | American Express Travel Related Services Company, Inc. | System and method for authentication of a mobile device configured with payment capabilities |
| US10164996B2 (en) | 2015-03-12 | 2018-12-25 | Visa International Service Association | Methods and systems for providing a low value token buffer |
| US11429975B1 (en) | 2015-03-27 | 2022-08-30 | Wells Fargo Bank, N.A. | Token management system |
| SG10201908338TA (en) | 2015-04-10 | 2019-10-30 | Visa Int Service Ass | Browser integration with cryptogram |
| US10601818B2 (en) * | 2015-04-13 | 2020-03-24 | Visa International Service Association | Enhanced authentication based on secondary device interactions |
| US9998978B2 (en) | 2015-04-16 | 2018-06-12 | Visa International Service Association | Systems and methods for processing dormant virtual access devices |
| US9635003B1 (en) * | 2015-04-21 | 2017-04-25 | The United States Of America As Represented By The Director, National Security Agency | Method of validating a private-public key pair |
| US10552834B2 (en) | 2015-04-30 | 2020-02-04 | Visa International Service Association | Tokenization capable authentication framework |
| US10949841B2 (en) * | 2015-05-07 | 2021-03-16 | Visa International Service Association | Provisioning of access credentials using device codes |
| US9906505B2 (en) * | 2015-05-08 | 2018-02-27 | Nxp B.V. | RSA decryption using multiplicative secret sharing |
| US12056549B1 (en) * | 2015-06-28 | 2024-08-06 | Lcip Jv | Method and apparatus for activating a remote device |
| US10009324B2 (en) * | 2015-06-29 | 2018-06-26 | American Express Travel Related Services Company, Inc. | Host card emulation systems and methods |
| EP3318003B1 (en) | 2015-06-30 | 2022-03-23 | Visa International Service Association | Confidential authentication and provisioning |
| US10110566B2 (en) | 2015-07-21 | 2018-10-23 | Baffle, Inc. | Systems and processes for executing private programs on untrusted computers |
| US11170364B1 (en) | 2015-07-31 | 2021-11-09 | Wells Fargo Bank, N.A. | Connected payment card systems and methods |
| US9503969B1 (en) | 2015-08-25 | 2016-11-22 | Afero, Inc. | Apparatus and method for a dynamic scan interval for a wireless device |
| US9843929B2 (en) | 2015-08-21 | 2017-12-12 | Afero, Inc. | Apparatus and method for sharing WiFi security data in an internet of things (IoT) system |
| US9390154B1 (en) | 2015-08-28 | 2016-07-12 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
| US10747753B2 (en) | 2015-08-28 | 2020-08-18 | Swirlds, Inc. | Methods and apparatus for a distributed database within a network |
| US11068889B2 (en) | 2015-10-15 | 2021-07-20 | Visa International Service Association | Instant token issuance |
| US10218698B2 (en) * | 2015-10-29 | 2019-02-26 | Verizon Patent And Licensing Inc. | Using a mobile device number (MDN) service in multifactor authentication |
| GB2544109A (en) * | 2015-11-06 | 2017-05-10 | Visa Europe Ltd | Transaction authorisation |
| CN113542293B (zh) | 2015-12-04 | 2023-11-07 | 维萨国际服务协会 | 用于令牌验证的方法及计算机 |
| US11257085B1 (en) * | 2015-12-11 | 2022-02-22 | Wells Fargo Bank, N.A | Systems and methods for authentication device-assisted transactions |
| US10805344B2 (en) | 2015-12-14 | 2020-10-13 | Afero, Inc. | Apparatus and method for obscuring wireless communication patterns |
| US10447784B2 (en) | 2015-12-14 | 2019-10-15 | Afero, Inc. | Apparatus and method for modifying packet interval timing to identify a data transfer condition |
| US10091242B2 (en) * | 2015-12-14 | 2018-10-02 | Afero, Inc. | System and method for establishing a secondary communication channel to control an internet of things (IOT) device |
| DE102015225651A1 (de) * | 2015-12-17 | 2017-06-22 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Übertragen einer Software |
| US9584493B1 (en) | 2015-12-18 | 2017-02-28 | Wickr Inc. | Decentralized authoritative messaging |
| US10198595B2 (en) * | 2015-12-22 | 2019-02-05 | Walmart Apollo, Llc | Data breach detection system |
| US10778435B1 (en) | 2015-12-30 | 2020-09-15 | Jpmorgan Chase Bank, N.A. | Systems and methods for enhanced mobile device authentication |
| WO2017120605A1 (en) | 2016-01-07 | 2017-07-13 | Visa International Service Association | Systems and methods for device push provisioning |
| US10475036B2 (en) * | 2016-01-08 | 2019-11-12 | Ca, Inc. | Restricting account use by controlled replenishment |
| US10103885B2 (en) * | 2016-01-20 | 2018-10-16 | Mastercard International Incorporated | Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography |
| EP3411846A1 (en) | 2016-02-01 | 2018-12-12 | Visa International Service Association | Systems and methods for code display and use |
| US11501288B2 (en) | 2016-02-09 | 2022-11-15 | Visa International Service Association | Resource provider account token provisioning and processing |
| WO2017145021A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to An Automated payroll method and system based on smart contracts |
| CN109155035B (zh) | 2016-02-23 | 2023-07-04 | 区块链控股有限公司 | 用于使用区块链在点对点分布式账簿上有效转移实体的方法及系统 |
| JP6942136B2 (ja) | 2016-02-23 | 2021-09-29 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | デジタルコンテンツの制御及び配信のためのブロックチェーンにより実施される方法 |
| JP6925346B2 (ja) | 2016-02-23 | 2021-08-25 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンベースのトークナイゼーションを用いた交換 |
| GB2562656A (en) | 2016-02-23 | 2018-11-21 | Nchain Holdings Ltd | Agent-based turing complete transactions integrating feedback within a blockchain system |
| MX2018010056A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Un metodo y sistema para asegurar software de computadora usando un cuadro hash distribuido y una cadena de bloques. |
| EP3748903A1 (en) | 2016-02-23 | 2020-12-09 | Nchain Holdings Limited | Universal tokenisation system for blockchain-based cryptocurrencies |
| SG10202011641RA (en) | 2016-02-23 | 2021-01-28 | Nchain Holdings Ltd | Tokenisation method and system for implementing exchanges on a blockchain |
| JP6799061B2 (ja) * | 2016-02-23 | 2020-12-09 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ウォレット管理システムと併せたブロックチェーンベースのシステムのための暗号鍵のセキュアなマルチパーティ損失耐性のある記憶及び転送 |
| JP6528008B2 (ja) | 2016-02-23 | 2019-06-12 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 秘密共有のための楕円曲線暗号化を利用したパーソナルデバイスセキュリティ |
| JP6515246B2 (ja) | 2016-02-23 | 2019-05-15 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 |
| BR112018016815A2 (pt) | 2016-02-23 | 2018-12-26 | Nchain Holdings Ltd | método para gestão e registro automático para contratos inteligentes aplicados através de blockchain |
| FR3050085B1 (fr) * | 2016-04-06 | 2018-04-27 | Sagemcom Energy & Telecom Sas | Procede de chiffrement a clef partagee entre un serveur et un compteur communicant |
| US10313321B2 (en) | 2016-04-07 | 2019-06-04 | Visa International Service Association | Tokenization of co-network accounts |
| US9596079B1 (en) * | 2016-04-14 | 2017-03-14 | Wickr Inc. | Secure telecommunications |
| US9602477B1 (en) | 2016-04-14 | 2017-03-21 | Wickr Inc. | Secure file transfer |
| US11386421B2 (en) | 2016-04-19 | 2022-07-12 | Visa International Service Association | Systems and methods for performing push transactions |
| WO2017184840A1 (en) * | 2016-04-21 | 2017-10-26 | Mastercard International Incorporated | Method and system for contactless transactions without user credentials |
| US10193895B2 (en) | 2016-05-18 | 2019-01-29 | Abdulrahman Alhothaily | System and method for remote authentication with dynamic usernames |
| US11250424B2 (en) | 2016-05-19 | 2022-02-15 | Visa International Service Association | Systems and methods for creating subtokens using primary tokens |
| DE102016209452A1 (de) * | 2016-05-31 | 2017-12-14 | Siemens Aktiengesellschaft | Erzeugung von kryptographischem Schlüsselmaterial oder einer digitalen Signatur für ein eingebettetes System |
| JP2019522270A (ja) | 2016-06-03 | 2019-08-08 | ビザ インターナショナル サービス アソシエーション | コネクテッドデバイス用サブトークン管理システム |
| WO2017214288A1 (en) | 2016-06-07 | 2017-12-14 | Visa International Service Association | Multi-level communication encryption |
| US11068899B2 (en) | 2016-06-17 | 2021-07-20 | Visa International Service Association | Token aggregation for multi-party transactions |
| US11200551B2 (en) * | 2016-06-23 | 2021-12-14 | Mastercard Payment Services Denmark A/S | System for facilitating real-time transactions |
| AU2017281938A1 (en) | 2016-06-24 | 2018-10-25 | Visa International Service Association | Unique token authentication cryptogram |
| CN105959109A (zh) * | 2016-06-28 | 2016-09-21 | 来谊金融信息科技(上海)股份有限公司 | 一种基于主机卡模拟密钥的存储方法及支付方法 |
| WO2018005893A1 (en) | 2016-06-30 | 2018-01-04 | Shape Security, Inc. | Client-side security key generation |
| US11386223B1 (en) | 2016-07-01 | 2022-07-12 | Wells Fargo Bank, N.A. | Access control tower |
| US12130937B1 (en) | 2016-07-01 | 2024-10-29 | Wells Fargo Bank, N.A. | Control tower for prospective transactions |
| US11935020B1 (en) | 2016-07-01 | 2024-03-19 | Wells Fargo Bank, N.A. | Control tower for prospective transactions |
| US11615402B1 (en) | 2016-07-01 | 2023-03-28 | Wells Fargo Bank, N.A. | Access control tower |
| US10992679B1 (en) | 2016-07-01 | 2021-04-27 | Wells Fargo Bank, N.A. | Access control tower |
| US11886611B1 (en) | 2016-07-01 | 2024-01-30 | Wells Fargo Bank, N.A. | Control tower for virtual rewards currency |
| BR102016015611B1 (pt) * | 2016-07-04 | 2022-04-05 | Rpc Rede Ponto Certo Tecnologia E Serviços Ltda | Sistema móvel para atualização transacional de informações em chips do tipo sem contato |
| WO2018013431A2 (en) | 2016-07-11 | 2018-01-18 | Visa International Service Association | Encryption key exchange process using access device |
| US10645577B2 (en) * | 2016-07-15 | 2020-05-05 | Avago Technologies International Sales Pte. Limited | Enhanced secure provisioning for hotspots |
| EP3488406A4 (en) | 2016-07-19 | 2019-08-07 | Visa International Service Association | METHOD OF DISTRIBUTING TOKENS AND MANAGING TOKEN RELATIONS |
| SG10201605974YA (en) * | 2016-07-20 | 2018-02-27 | Mastercard Asia Pacific Pte Ltd | Transaction facilitation |
| US10230700B2 (en) * | 2016-08-09 | 2019-03-12 | Lenovo (Singapore) Pte. Ltd. | Transaction based message security |
| US10509779B2 (en) | 2016-09-14 | 2019-12-17 | Visa International Service Association | Self-cleaning token vault |
| US11468414B1 (en) | 2016-10-03 | 2022-10-11 | Wells Fargo Bank, N.A. | Systems and methods for establishing a pull payment relationship |
| DE102016012189B4 (de) * | 2016-10-11 | 2020-02-06 | Giesecke+Devrient Mobile Security Gmbh | Diffie Hellman Schlüsselableitung, Subskriptionsladen, Authentisierung |
| US10681038B1 (en) * | 2016-10-26 | 2020-06-09 | Marvell Asia Pte, Ltd. | Systems and methods for efficient password based public key authentication |
| CN117009946A (zh) | 2016-11-28 | 2023-11-07 | 维萨国际服务协会 | 供应到应用程序的访问标识符 |
| CN106878012B (zh) * | 2016-12-07 | 2019-07-16 | 中国电子科技集团公司第三十研究所 | 一种无线信道物理层密钥协商与不一致比特去除方法 |
| US10205709B2 (en) | 2016-12-14 | 2019-02-12 | Visa International Service Association | Key pair infrastructure for secure messaging |
| US11315114B2 (en) | 2016-12-28 | 2022-04-26 | Capital One Services, Llc | Dynamic transaction card protected by multi-factor authentication |
| EP3571824B1 (en) | 2017-01-17 | 2023-05-03 | Visa International Service Association | Binding cryptogram with protocol characteristics |
| US12141328B1 (en) | 2017-01-25 | 2024-11-12 | State Farm Mutual Automobile Insurance Company | Systems and methods for fund transfers via blockchain |
| US10560476B2 (en) * | 2017-02-22 | 2020-02-11 | International Business Machines Corporation | Secure data storage system |
| US11038870B2 (en) * | 2017-03-09 | 2021-06-15 | Microsoft Technology Licensing, Llc | Quick response (QR) code for secure provisioning |
| US10915899B2 (en) | 2017-03-17 | 2021-02-09 | Visa International Service Association | Replacing token on a multi-token user device |
| US11128452B2 (en) * | 2017-03-25 | 2021-09-21 | AVAST Software s.r.o. | Encrypted data sharing with a hierarchical key structure |
| US10122699B1 (en) * | 2017-05-31 | 2018-11-06 | InfoSci, LLC | Systems and methods for ephemeral shared data set management and communication protection |
| US11463439B2 (en) * | 2017-04-21 | 2022-10-04 | Qwerx Inc. | Systems and methods for device authentication and protection of communication on a system on chip |
| US11556936B1 (en) | 2017-04-25 | 2023-01-17 | Wells Fargo Bank, N.A. | System and method for card control |
| US10902418B2 (en) | 2017-05-02 | 2021-01-26 | Visa International Service Association | System and method using interaction token |
| US11494765B2 (en) | 2017-05-11 | 2022-11-08 | Visa International Service Association | Secure remote transaction system using mobile devices |
| WO2018234882A1 (en) * | 2017-05-16 | 2018-12-27 | Angus Bernhardt Pohl | SYSTEM AND METHOD FOR REALIZING A TRANSACTION |
| CN110710154B (zh) * | 2017-05-26 | 2024-04-19 | 微芯片技术股份有限公司 | 用于使设备操作模糊化的系统、方法和装置 |
| EP3613169B1 (en) * | 2017-06-14 | 2021-03-17 | Thales Dis France SA | Method for mutual symmetric authentication between a first application and a second application |
| US10313133B2 (en) | 2017-06-21 | 2019-06-04 | Visa International Service Association | Secure communications providing forward secrecy |
| WO2018236401A1 (en) * | 2017-06-23 | 2018-12-27 | Visa International Service Association | Verification and encryption scheme in data storage |
| EP3422628B1 (de) * | 2017-06-29 | 2021-04-07 | Siemens Aktiengesellschaft | Verfahren, sicherheitseinrichtung und sicherheitssystem |
| US11062388B1 (en) | 2017-07-06 | 2021-07-13 | Wells Fargo Bank, N.A | Data control tower |
| JP6745004B1 (ja) * | 2017-07-11 | 2020-08-19 | スワールズ,インコーポレイテッド | ネットワーク内に分散データベースを効率的に実装するための方法及び機器 |
| US10715504B2 (en) * | 2017-07-12 | 2020-07-14 | Wickr Inc. | Provisioning ephemeral key pools for sending and receiving secure communications |
| US11082412B2 (en) * | 2017-07-12 | 2021-08-03 | Wickr Inc. | Sending secure communications using a local ephemeral key pool |
| US11316666B2 (en) | 2017-07-12 | 2022-04-26 | Amazon Technologies, Inc. | Generating ephemeral key pools for sending and receiving secure communications |
| US10491389B2 (en) | 2017-07-14 | 2019-11-26 | Visa International Service Association | Token provisioning utilizing a secure authentication system |
| US11777736B2 (en) | 2017-08-10 | 2023-10-03 | Visa International Service Association | Use of biometrics and privacy preserving methods to authenticate account holders online |
| US20190052610A1 (en) * | 2017-08-11 | 2019-02-14 | Honeywell International Inc. | Apparatus and method for encapsulation of profile certificate private keys or other data |
| CN110998574B (zh) * | 2017-08-23 | 2024-01-19 | 尹泰植 | 认证终端、认证设备及使用这些的认证方法及系统 |
| US11436353B2 (en) * | 2017-09-13 | 2022-09-06 | Vmware, Inc. | Merge updates for key value stores |
| US10567165B2 (en) * | 2017-09-21 | 2020-02-18 | Huawei Technologies Co., Ltd. | Secure key transmission protocol without certificates or pre-shared symmetrical keys |
| US10887090B2 (en) * | 2017-09-22 | 2021-01-05 | Nec Corporation | Scalable byzantine fault-tolerant protocol with partial tee support |
| US10956905B2 (en) * | 2017-10-05 | 2021-03-23 | The Toronto-Dominion Bank | System and method of session key generation and exchange |
| US10623183B2 (en) * | 2017-11-01 | 2020-04-14 | International Business Machines Corporation | Postponing entropy depletion in key management systems with hardware security modules |
| WO2019093478A1 (ja) * | 2017-11-10 | 2019-05-16 | 日本電信電話株式会社 | 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム |
| US10693849B2 (en) * | 2017-11-15 | 2020-06-23 | International Business Machines Corporation | Sending message in multilayer system |
| US10313393B1 (en) * | 2017-11-16 | 2019-06-04 | Capital One Services, Llc | Systems and methods for securely pairing a transmitting device with a receiving device |
| GB201720389D0 (en) * | 2017-12-07 | 2018-01-24 | Nchain Holdings Ltd | Computer-implemented system and method |
| CN107833054B (zh) * | 2017-12-11 | 2019-05-28 | 飞天诚信科技股份有限公司 | 一种蓝牙金融卡及其工作方法 |
| US11227284B2 (en) | 2017-12-13 | 2022-01-18 | Mastercard International Incorporated | Method and system for consumer-initiated transactions using encrypted tokens |
| US10140612B1 (en) | 2017-12-15 | 2018-11-27 | Clover Network, Inc. | POS system with white box encryption key sharing |
| WO2019139595A1 (en) * | 2018-01-11 | 2019-07-18 | Visa International Service Association | Offline authorization of interactions and controlled tasks |
| CN110166226B (zh) * | 2018-02-12 | 2023-06-27 | 北京京东尚科信息技术有限公司 | 一种生成秘钥的方法和装置 |
| US11295297B1 (en) | 2018-02-26 | 2022-04-05 | Wells Fargo Bank, N.A. | Systems and methods for pushing usable objects and third-party provisioning to a mobile wallet |
| CN111819555B (zh) | 2018-03-07 | 2025-07-22 | 维萨国际服务协会 | 利用在线认证的安全远程令牌发布 |
| US10887088B2 (en) * | 2018-03-20 | 2021-01-05 | International Business Machines Corporation | Virtualizing a key hierarchy using a partially-oblivious pseudorandom function (P-OPRF) |
| US10887293B2 (en) | 2018-03-20 | 2021-01-05 | International Business Machines Corporation | Key identifiers in an obliviousness pseudorandom function (OPRF)-based key management service (KMS) |
| US10841080B2 (en) * | 2018-03-20 | 2020-11-17 | International Business Machines Corporation | Oblivious pseudorandom function in a key management system |
| CN108449347B (zh) * | 2018-03-22 | 2021-08-13 | 北京可信华泰信息技术有限公司 | 一种密钥生成服务器 |
| CN108696499A (zh) * | 2018-03-22 | 2018-10-23 | 中国银联股份有限公司 | 用于管理密码的方法、装置和计算机存储介质 |
| KR102582094B1 (ko) * | 2018-03-29 | 2023-09-22 | 비자 인터네셔널 서비스 어소시에이션 | 컨센서스 기반 온라인 인증 |
| CN108494785B (zh) * | 2018-03-29 | 2020-10-16 | 常州信息职业技术学院 | 一种健康数据采集系统及其工作方法 |
| US12483397B1 (en) * | 2018-04-13 | 2025-11-25 | Hushmesh Inc. | Use of cryptographic twins for secure storage and access of entity data |
| WO2019212829A1 (en) * | 2018-04-30 | 2019-11-07 | Visa International Service Association | Techniques for performing secure operations |
| US11074577B1 (en) | 2018-05-10 | 2021-07-27 | Wells Fargo Bank, N.A. | Systems and methods for making person-to-person payments via mobile client application |
| US11775955B1 (en) | 2018-05-10 | 2023-10-03 | Wells Fargo Bank, N.A. | Systems and methods for making person-to-person payments via mobile client application |
| US10721064B2 (en) * | 2018-05-30 | 2020-07-21 | Nxp B.V. | Modular key exchange for key agreement and optional authentication |
| US10797868B2 (en) * | 2018-05-31 | 2020-10-06 | Irdeto B.V. | Shared secret establishment |
| WO2019236482A1 (en) | 2018-06-04 | 2019-12-12 | Rafalko Noah | Telecommunication system and method for settling session transactions |
| US11509475B2 (en) * | 2018-06-15 | 2022-11-22 | Proxy, Inc. | Method and apparatus for obtaining multiple user credentials |
| US11546728B2 (en) | 2018-06-15 | 2023-01-03 | Proxy, Inc. | Methods and apparatus for presence sensing reporting |
| US11462095B2 (en) | 2018-06-15 | 2022-10-04 | Proxy, Inc. | Facility control methods and apparatus |
| US11109234B2 (en) | 2018-06-15 | 2021-08-31 | Proxy, Inc. | Reader device with sensor streaming data and methods |
| US11256789B2 (en) | 2018-06-18 | 2022-02-22 | Visa International Service Association | Recurring token transactions |
| US10546444B2 (en) | 2018-06-21 | 2020-01-28 | Capital One Services, Llc | Systems and methods for secure read-only authentication |
| CN112368730B (zh) | 2018-06-22 | 2024-10-08 | 维萨国际服务协会 | 使用动态安全结账元件的安全远程交易框架 |
| US11777744B2 (en) | 2018-06-25 | 2023-10-03 | Auth9, Inc. | Method, computer program product and apparatus for creating, registering, and verifying digitally sealed assets |
| WO2020006001A1 (en) | 2018-06-25 | 2020-01-02 | Auth9, Inc. | Method, computer program product and apparatus for creating, registering, and verifying digitally sealed assets |
| US20210075604A1 (en) * | 2019-09-06 | 2021-03-11 | STMicroelectronics (Grand Ouest) SAS | Key generation method |
| US11206130B2 (en) * | 2018-07-31 | 2021-12-21 | Nxp B.V. | Customizing cryptographic keys between multiple hosts |
| US11063936B2 (en) * | 2018-08-07 | 2021-07-13 | Microsoft Technology Licensing, Llc | Encryption parameter selection |
| US11716614B2 (en) * | 2018-08-16 | 2023-08-01 | Comcast Cable Communications, Llc | Secured data derivation for user devices |
| SG11202101587SA (en) | 2018-08-22 | 2021-03-30 | Visa Int Service Ass | Method and system for token provisioning and processing |
| US11115206B2 (en) | 2018-08-23 | 2021-09-07 | International Business Machines Corporation | Assymetric structured key recovering using oblivious pseudorandom function |
| US10924267B2 (en) | 2018-08-24 | 2021-02-16 | International Business Machines Corporation | Validating keys derived from an oblivious pseudorandom function |
| US12254463B1 (en) | 2018-08-30 | 2025-03-18 | Wells Fargo Bank, N.A. | Biller directory and payments engine architecture |
| US12045809B1 (en) | 2018-08-30 | 2024-07-23 | Wells Fargo Bank, N.A. | Biller consortium enrollment and transaction management engine |
| CN109245900B (zh) * | 2018-09-14 | 2019-07-16 | 北京清大智信科技有限公司 | 一种毫米级超微型计算机安全交互方法及系统 |
| EP3624392B1 (en) * | 2018-09-17 | 2023-05-10 | Secure-IC SAS | Methods and devices for secure secret key generation |
| US11216806B2 (en) | 2018-09-19 | 2022-01-04 | Capital One Services, Llc | Systems and methods for providing card interactions |
| EP3857812A4 (en) | 2018-09-24 | 2021-09-15 | Visa International Service Association | KEY MANAGEMENT FOR MULTIPARTY CALCULATION |
| US10505738B1 (en) | 2018-10-02 | 2019-12-10 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| JP2022511281A (ja) | 2018-10-02 | 2022-01-31 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー | 非接触カードの暗号化認証のためのシステムおよび方法 |
| US10582386B1 (en) | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| WO2020072687A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10542036B1 (en) | 2018-10-02 | 2020-01-21 | Capital One Services, Llc | Systems and methods for signaling an attack on contactless cards |
| US10489781B1 (en) | 2018-10-02 | 2019-11-26 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| CA3115252A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10554411B1 (en) | 2018-10-02 | 2020-02-04 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| WO2020072670A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10592710B1 (en) | 2018-10-02 | 2020-03-17 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US11210664B2 (en) | 2018-10-02 | 2021-12-28 | Capital One Services, Llc | Systems and methods for amplifying the strength of cryptographic algorithms |
| KR102840730B1 (ko) | 2018-10-02 | 2025-07-30 | 캐피탈 원 서비시즈, 엘엘씨 | 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법 |
| US10565587B1 (en) | 2018-10-02 | 2020-02-18 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10909527B2 (en) | 2018-10-02 | 2021-02-02 | Capital One Services, Llc | Systems and methods for performing a reissue of a contactless card |
| US10607214B1 (en) | 2018-10-02 | 2020-03-31 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10771253B2 (en) | 2018-10-02 | 2020-09-08 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| CA3115142A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10686603B2 (en) | 2018-10-02 | 2020-06-16 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| CA3114753A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10733645B2 (en) | 2018-10-02 | 2020-08-04 | Capital One Services, Llc | Systems and methods for establishing identity for order pick up |
| KR20250105679A (ko) | 2018-10-02 | 2025-07-08 | 캐피탈 원 서비시즈, 엘엘씨 | 비접촉식 카드의 암호화 인증을 위한 시스템 및 방법 |
| JP2022502901A (ja) | 2018-10-02 | 2022-01-11 | キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーCapital One Services, LLC | 非接触カードの暗号化認証のためのシステムおよび方法 |
| US10748138B2 (en) | 2018-10-02 | 2020-08-18 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10949520B2 (en) | 2018-10-02 | 2021-03-16 | Capital One Services, Llc | Systems and methods for cross coupling risk analytics and one-time-passcodes |
| CA3115107A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10579998B1 (en) | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| WO2020072440A1 (en) | 2018-10-02 | 2020-04-09 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10771254B2 (en) | 2018-10-02 | 2020-09-08 | Capital One Services, Llc | Systems and methods for email-based card activation |
| US10511443B1 (en) | 2018-10-02 | 2019-12-17 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US10581611B1 (en) | 2018-10-02 | 2020-03-03 | Capital One Services, Llc | Systems and methods for cryptographic authentication of contactless cards |
| US12028337B2 (en) | 2018-10-08 | 2024-07-02 | Visa International Service Association | Techniques for token proximity transactions |
| US11251960B1 (en) * | 2018-10-19 | 2022-02-15 | Amazon Technologies, Inc. | Server-based Wi-Fi protected setup (WPS) PIN procedure |
| SG11202103704YA (en) * | 2018-10-23 | 2021-05-28 | Visa Int Service Ass | Validation service for account verification |
| SG11202104170PA (en) | 2018-10-29 | 2021-05-28 | Visa Int Service Ass | Efficient authentic communication system and method |
| EP3881258B1 (en) | 2018-11-14 | 2024-09-04 | Visa International Service Association | Cloud token provisioning of multiple tokens |
| EP3654264A1 (en) * | 2018-11-14 | 2020-05-20 | Mastercard International Incorporated | Credential management for mobile devices |
| US20200184467A1 (en) * | 2018-12-07 | 2020-06-11 | MobileCoin | System and method for providing a secure transaction network |
| SG11202105347YA (en) * | 2018-12-10 | 2021-06-29 | Visa Int Service Ass | Two-dimensional code transaction processing common gateway |
| US11979508B2 (en) | 2018-12-14 | 2024-05-07 | Iot And M2M Technologies, Llc | Secure IDS certificate verification for a primary platform |
| US11611539B2 (en) * | 2018-12-16 | 2023-03-21 | Auth9, Inc. | Method, computer program product and apparatus for encrypting and decrypting data using multiple authority keys |
| US10664830B1 (en) | 2018-12-18 | 2020-05-26 | Capital One Services, Llc | Devices and methods for selective contactless communication |
| EP3672142B1 (de) * | 2018-12-20 | 2021-04-21 | Siemens Healthcare GmbH | Verfahren und system zur sicheren übertragung eines datensatzes |
| US11361302B2 (en) | 2019-01-11 | 2022-06-14 | Capital One Services, Llc | Systems and methods for touch screen interface interaction using a card overlay |
| CN109905236B (zh) * | 2019-01-15 | 2023-09-01 | 如般量子科技有限公司 | 基于私钥池的抗量子计算Elgamal加解密方法和系统 |
| US11037136B2 (en) | 2019-01-24 | 2021-06-15 | Capital One Services, Llc | Tap to autofill card data |
| US11463430B2 (en) * | 2019-02-01 | 2022-10-04 | Rsa Security Llc | Authentication based on shared secret updates |
| US11120453B2 (en) | 2019-02-01 | 2021-09-14 | Capital One Services, Llc | Tap card to securely generate card data to copy to clipboard |
| US11190496B2 (en) | 2019-02-12 | 2021-11-30 | Visa International Service Association | Fast oblivious transfers |
| JP7132150B2 (ja) * | 2019-02-18 | 2022-09-06 | 株式会社東芝 | 通信制御システム |
| US12462250B2 (en) * | 2019-03-01 | 2025-11-04 | Visa International Service Association | Mobile payments using multiple cryptographic protocols |
| GB201903141D0 (en) * | 2019-03-08 | 2019-04-24 | Univ Cape Town | System and associated method for ensuring data privacy |
| CN110059458B (zh) * | 2019-03-12 | 2021-06-18 | 北京中海闻达信息技术有限公司 | 一种用户口令加密认证方法、装置及系统 |
| US11044105B2 (en) * | 2019-03-13 | 2021-06-22 | Digital 14 Llc | System, method, and computer program product for sensitive data recovery in high security systems |
| US10523708B1 (en) | 2019-03-18 | 2019-12-31 | Capital One Services, Llc | System and method for second factor authentication of customer support calls |
| US11082229B2 (en) | 2019-03-18 | 2021-08-03 | Capital One Services, Llc | System and method for pre-authentication of customer support calls |
| US10984416B2 (en) | 2019-03-20 | 2021-04-20 | Capital One Services, Llc | NFC mobile currency transfer |
| US10535062B1 (en) | 2019-03-20 | 2020-01-14 | Capital One Services, Llc | Using a contactless card to securely share personal data stored in a blockchain |
| US10970712B2 (en) | 2019-03-21 | 2021-04-06 | Capital One Services, Llc | Delegated administration of permissions using a contactless card |
| US11849042B2 (en) | 2019-05-17 | 2023-12-19 | Visa International Service Association | Virtual access credential interaction system and method |
| WO2020237349A1 (en) * | 2019-05-27 | 2020-12-03 | BicDroid Inc. | Methods and devices for optimal information-theoretically secure encryption key management |
| US11521262B2 (en) | 2019-05-28 | 2022-12-06 | Capital One Services, Llc | NFC enhanced augmented reality information overlays |
| US11444759B2 (en) | 2019-05-29 | 2022-09-13 | Stmicroelectronics, Inc. | Method and apparatus for cryptographically aligning and binding a secure element with a host device |
| US11551190B1 (en) | 2019-06-03 | 2023-01-10 | Wells Fargo Bank, N.A. | Instant network cash transfer at point of sale |
| CN110224812B (zh) * | 2019-06-12 | 2023-03-14 | 江苏慧世联网络科技有限公司 | 一种基于多方安全计算的电子签名移动客户端与协同服务器通信的方法以及设备 |
| US10871958B1 (en) | 2019-07-03 | 2020-12-22 | Capital One Services, Llc | Techniques to perform applet programming |
| US11392933B2 (en) * | 2019-07-03 | 2022-07-19 | Capital One Services, Llc | Systems and methods for providing online and hybridcard interactions |
| US11694187B2 (en) | 2019-07-03 | 2023-07-04 | Capital One Services, Llc | Constraining transactional capabilities for contactless cards |
| US12086852B2 (en) | 2019-07-08 | 2024-09-10 | Capital One Services, Llc | Authenticating voice transactions with payment card |
| US10713649B1 (en) | 2019-07-09 | 2020-07-14 | Capital One Services, Llc | System and method enabling mobile near-field communication to update display on a payment card |
| US10885514B1 (en) | 2019-07-15 | 2021-01-05 | Capital One Services, Llc | System and method for using image data to trigger contactless card transactions |
| US10832271B1 (en) | 2019-07-17 | 2020-11-10 | Capital One Services, Llc | Verified reviews using a contactless card |
| US11182771B2 (en) | 2019-07-17 | 2021-11-23 | Capital One Services, Llc | System for value loading onto in-vehicle device |
| US10733601B1 (en) | 2019-07-17 | 2020-08-04 | Capital One Services, Llc | Body area network facilitated authentication or payment authorization |
| US11521213B2 (en) | 2019-07-18 | 2022-12-06 | Capital One Services, Llc | Continuous authentication for digital services based on contactless card positioning |
| US10506426B1 (en) * | 2019-07-19 | 2019-12-10 | Capital One Services, Llc | Techniques for call authentication |
| US11379835B2 (en) * | 2019-07-31 | 2022-07-05 | Visa International Service Association | System, method, and computer program product to ensure data integrity for conducting a payment transaction |
| US11868981B2 (en) * | 2019-08-02 | 2024-01-09 | Mastercard International Incorporated | System and method to support payment acceptance capability for merchants |
| US20220329439A1 (en) * | 2019-08-05 | 2022-10-13 | Securify Bilisim Teknolojileri Ve Guvenligi Egt. Dan. San. Ve Tic. Ltd. Sti. | Method for generating digital signatures |
| US11296862B2 (en) | 2019-08-29 | 2022-04-05 | Visa International Service Association | Provisioning method and system with message conversion |
| CN110601825B (zh) * | 2019-08-29 | 2022-09-30 | 北京思源理想控股集团有限公司 | 密文的处理方法及装置、存储介质、电子装置 |
| WO2021040721A1 (en) * | 2019-08-29 | 2021-03-04 | Google Llc | Securing external data storage for a secure element integrated on a system-on-chip |
| US11539517B2 (en) * | 2019-09-09 | 2022-12-27 | Cisco Technology, Inc. | Private association of customer information across subscribers |
| EP3796613B1 (en) * | 2019-09-17 | 2023-04-12 | Mastercard International Incorporated | Techniques for repeat authentication |
| EP4035044A4 (en) * | 2019-09-23 | 2022-10-26 | Visa International Service Association | SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR SECURE KEY MANAGEMENT |
| US10701560B1 (en) | 2019-10-02 | 2020-06-30 | Capital One Services, Llc | Client device authentication using contactless legacy magnetic stripe data |
| US10977885B1 (en) * | 2019-10-03 | 2021-04-13 | GM Global Technology Operations LLC | Method for digital key misbehavior and sybil attack detection through user profiling |
| US11671265B2 (en) | 2019-10-25 | 2023-06-06 | John A. Nix | Secure configuration of a secondary platform bundle within a primary platform |
| WO2021087221A1 (en) | 2019-10-30 | 2021-05-06 | Nix John A | Secure and flexible boot firmware update for devices with a primary platform |
| US11709698B2 (en) * | 2019-11-04 | 2023-07-25 | Vmware, Inc. | Multi-site virtual infrastructure orchestration of network service in hybrid cloud environments |
| US11726752B2 (en) | 2019-11-11 | 2023-08-15 | Klarna Bank Ab | Unsupervised location and extraction of option elements in a user interface |
| US11366645B2 (en) | 2019-11-11 | 2022-06-21 | Klarna Bank Ab | Dynamic identification of user interface elements through unsupervised exploration |
| US11379092B2 (en) | 2019-11-11 | 2022-07-05 | Klarna Bank Ab | Dynamic location and extraction of a user interface element state in a user interface that is dependent on an event occurrence in a different user interface |
| EP3822836A1 (en) * | 2019-11-12 | 2021-05-19 | Koninklijke Philips N.V. | Device and method for secure communication |
| US11366933B2 (en) * | 2019-12-08 | 2022-06-21 | Western Digital Technologies, Inc. | Multi-device unlocking of a data storage device |
| AU2020405942B2 (en) * | 2019-12-19 | 2025-11-13 | Gambro Lundia Ab | A medical equipment, an authentication server and methods for authorizing a user access to an equipment via an equipment user interface |
| US11113685B2 (en) | 2019-12-23 | 2021-09-07 | Capital One Services, Llc | Card issuing with restricted virtual numbers |
| US11651361B2 (en) | 2019-12-23 | 2023-05-16 | Capital One Services, Llc | Secure authentication based on passport data stored in a contactless card |
| US10657754B1 (en) | 2019-12-23 | 2020-05-19 | Capital One Services, Llc | Contactless card and personal identification system |
| US10862540B1 (en) | 2019-12-23 | 2020-12-08 | Capital One Services, Llc | Method for mapping NFC field strength and location on mobile devices |
| US10733283B1 (en) | 2019-12-23 | 2020-08-04 | Capital One Services, Llc | Secure password generation and management using NFC and contactless smart cards |
| US11615395B2 (en) | 2019-12-23 | 2023-03-28 | Capital One Services, Llc | Authentication for third party digital wallet provisioning |
| US10885410B1 (en) | 2019-12-23 | 2021-01-05 | Capital One Services, Llc | Generating barcodes utilizing cryptographic techniques |
| US10853795B1 (en) | 2019-12-24 | 2020-12-01 | Capital One Services, Llc | Secure authentication based on identity data stored in a contactless card |
| US11200563B2 (en) | 2019-12-24 | 2021-12-14 | Capital One Services, Llc | Account registration using a contactless card |
| US10664941B1 (en) | 2019-12-24 | 2020-05-26 | Capital One Services, Llc | Steganographic image encoding of biometric template information on a card |
| US10909544B1 (en) | 2019-12-26 | 2021-02-02 | Capital One Services, Llc | Accessing and utilizing multiple loyalty point accounts |
| US10757574B1 (en) | 2019-12-26 | 2020-08-25 | Capital One Services, Llc | Multi-factor authentication providing a credential via a contactless card for secure messaging |
| US11038688B1 (en) | 2019-12-30 | 2021-06-15 | Capital One Services, Llc | Techniques to control applets for contactless cards |
| US11455620B2 (en) | 2019-12-31 | 2022-09-27 | Capital One Services, Llc | Tapping a contactless card to a computing device to provision a virtual number |
| US10860914B1 (en) | 2019-12-31 | 2020-12-08 | Capital One Services, Llc | Contactless card and method of assembly |
| US11409546B2 (en) | 2020-01-15 | 2022-08-09 | Klarna Bank Ab | Interface classification system |
| US11386356B2 (en) | 2020-01-15 | 2022-07-12 | Klama Bank AB | Method of training a learning system to classify interfaces |
| EP3860077A1 (en) * | 2020-01-31 | 2021-08-04 | Nagravision SA | Secured communication between a device and a remote server |
| US11502834B2 (en) | 2020-02-26 | 2022-11-15 | International Business Machines Corporation | Refreshing keys in a computing environment that provides secure data transfer |
| EP3872733A1 (en) | 2020-02-26 | 2021-09-01 | Mastercard International Incorporated | Communication of sensitive data in restricted data channel |
| US11652616B2 (en) | 2020-02-26 | 2023-05-16 | International Business Machines Corporation | Initializing a local key manager for providing secure data transfer in a computing environment |
| US11489821B2 (en) * | 2020-02-26 | 2022-11-01 | International Business Machines Corporation | Processing a request to initiate a secure data transfer in a computing environment |
| US11184160B2 (en) | 2020-02-26 | 2021-11-23 | International Business Machines Corporation | Channel key loading in a computing environment |
| US11546137B2 (en) | 2020-02-26 | 2023-01-03 | International Business Machines Corporation | Generation of a request to initiate a secure data transfer in a computing environment |
| US10846106B1 (en) | 2020-03-09 | 2020-11-24 | Klarna Bank Ab | Real-time interface classification in an application |
| US11496293B2 (en) * | 2020-04-01 | 2022-11-08 | Klarna Bank Ab | Service-to-service strong authentication |
| US11210656B2 (en) | 2020-04-13 | 2021-12-28 | Capital One Services, Llc | Determining specific terms for contactless card activation |
| SG10202003630VA (en) * | 2020-04-21 | 2021-09-29 | Grabtaxi Holdings Pte Ltd | Authentication and validation procedure for improved security in communications systems |
| WO2021216765A1 (en) * | 2020-04-22 | 2021-10-28 | Visa International Service Association | Online secret encryption |
| US11222342B2 (en) | 2020-04-30 | 2022-01-11 | Capital One Services, Llc | Accurate images in graphical user interfaces to enable data transfer |
| US10861006B1 (en) | 2020-04-30 | 2020-12-08 | Capital One Services, Llc | Systems and methods for data access control using a short-range transceiver |
| US10915888B1 (en) | 2020-04-30 | 2021-02-09 | Capital One Services, Llc | Contactless card with multiple rotating security keys |
| US11030339B1 (en) | 2020-04-30 | 2021-06-08 | Capital One Services, Llc | Systems and methods for data access control of personal user data using a short-range transceiver |
| US11823175B2 (en) | 2020-04-30 | 2023-11-21 | Capital One Services, Llc | Intelligent card unlock |
| US10963865B1 (en) | 2020-05-12 | 2021-03-30 | Capital One Services, Llc | Augmented reality card activation experience |
| US11100511B1 (en) | 2020-05-18 | 2021-08-24 | Capital One Services, Llc | Application-based point of sale system in mobile operating systems |
| US11063979B1 (en) | 2020-05-18 | 2021-07-13 | Capital One Services, Llc | Enabling communications between applications in a mobile operating system |
| US11310059B2 (en) | 2020-06-02 | 2022-04-19 | Microsoft Technology Licensing, Llc | Ephemeral cryptography keys for authenticating computing services |
| GB202009728D0 (en) * | 2020-06-25 | 2020-08-12 | British Telecomm | Secure communication of user device data |
| EP3937036A1 (en) * | 2020-07-09 | 2022-01-12 | Thales DIS France SA | Method, user device, verifier device, server and system for authenticating user data while preserving user privacy |
| US11153080B1 (en) * | 2020-07-29 | 2021-10-19 | John A. Nix | Network securing device data using two post-quantum cryptography key encapsulation mechanisms |
| US11062098B1 (en) | 2020-08-11 | 2021-07-13 | Capital One Services, Llc | Augmented reality information display and interaction via NFC based authentication |
| US12165149B2 (en) | 2020-08-12 | 2024-12-10 | Capital One Services, Llc | Systems and methods for user verification via short-range transceiver |
| CN111988138B (zh) * | 2020-08-13 | 2023-09-22 | 广东介诚信息服务有限公司 | 一种基于教育云的信息加密系统 |
| CN112100611A (zh) * | 2020-08-14 | 2020-12-18 | 广州江南科友科技股份有限公司 | 一种密码生成方法、装置、存储介质和计算机设备 |
| GB2598108A (en) | 2020-08-17 | 2022-02-23 | Mastercard International Inc | Card reader, smart card and method for processing a transaction |
| US10992606B1 (en) | 2020-09-04 | 2021-04-27 | Wells Fargo Bank, N.A. | Synchronous interfacing with unaffiliated networked systems to alter functionality of sets of electronic assets |
| WO2022056097A1 (en) * | 2020-09-09 | 2022-03-17 | Springcoin, Inc. | Method and apparatus for third-party managed data transference and corroboration via tokenization |
| AU2021358742A1 (en) | 2020-10-06 | 2023-06-22 | Hedera Hashgraph, Llc | Methods and apparatus for a distributed database within a network |
| US12047517B2 (en) * | 2020-10-09 | 2024-07-23 | Unho Choi | Chain of authentication using public key infrastructure |
| US12149517B2 (en) | 2020-10-26 | 2024-11-19 | Micron Technology, Inc. | Management of identifications of an endpoint having a memory device secured for reliable identity validation |
| US12075520B2 (en) * | 2020-10-26 | 2024-08-27 | Micron Technology, Inc. | Cloud-service on-boarding without prior customization of endpoints |
| US12481599B2 (en) * | 2020-10-26 | 2025-11-25 | Micron Technology, Inc. | Monitor integrity of endpoints having secure memory devices for identity authentication |
| US11165586B1 (en) * | 2020-10-30 | 2021-11-02 | Capital One Services, Llc | Call center web-based authentication using a contactless card |
| WO2022088094A1 (zh) * | 2020-10-30 | 2022-05-05 | 华为技术有限公司 | 一种安全通信方法及装置 |
| US11482312B2 (en) | 2020-10-30 | 2022-10-25 | Capital One Services, Llc | Secure verification of medical status using a contactless card |
| US11373169B2 (en) | 2020-11-03 | 2022-06-28 | Capital One Services, Llc | Web-based activation of contactless cards |
| US12003629B2 (en) | 2020-12-30 | 2024-06-04 | John A. Nix | Secure server digital signature generation for post-quantum cryptography key encapsulations |
| US11216799B1 (en) | 2021-01-04 | 2022-01-04 | Capital One Services, Llc | Secure generation of one-time passcodes using a contactless card |
| US11546338B1 (en) | 2021-01-05 | 2023-01-03 | Wells Fargo Bank, N.A. | Digital account controls portal and protocols for federated and non-federated systems and devices |
| EP4282128A4 (en) * | 2021-01-19 | 2024-07-10 | Visa International Service Association | Mobile user authentication system and method |
| US11682012B2 (en) | 2021-01-27 | 2023-06-20 | Capital One Services, Llc | Contactless delivery systems and methods |
| US11792001B2 (en) | 2021-01-28 | 2023-10-17 | Capital One Services, Llc | Systems and methods for secure reprovisioning |
| US11687930B2 (en) | 2021-01-28 | 2023-06-27 | Capital One Services, Llc | Systems and methods for authentication of access tokens |
| US11562358B2 (en) | 2021-01-28 | 2023-01-24 | Capital One Services, Llc | Systems and methods for near field contactless card communication and cryptographic authentication |
| US11438329B2 (en) | 2021-01-29 | 2022-09-06 | Capital One Services, Llc | Systems and methods for authenticated peer-to-peer data transfer using resource locators |
| TWI827906B (zh) * | 2021-01-29 | 2024-01-01 | 銓安智慧科技股份有限公司 | 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組 |
| US11728974B2 (en) * | 2021-01-29 | 2023-08-15 | Salesforce, Inc. | Tenant-based database encryption |
| US11777933B2 (en) | 2021-02-03 | 2023-10-03 | Capital One Services, Llc | URL-based authentication for payment cards |
| WO2022174122A1 (en) * | 2021-02-11 | 2022-08-18 | Mingtai Chang | Securing secrets and their operation |
| US12141800B2 (en) | 2021-02-12 | 2024-11-12 | Visa International Service Association | Interaction account tokenization system and method |
| US11637826B2 (en) | 2021-02-24 | 2023-04-25 | Capital One Services, Llc | Establishing authentication persistence |
| CN115021949B (zh) * | 2021-03-03 | 2025-01-07 | 美光科技公司 | 具有被保护用于可靠身份验证的存储器装置的端点的识别管理方法和系统 |
| DE102022104834A1 (de) * | 2021-03-03 | 2022-09-08 | Micron Technology, Inc. | Onboarding von cloud-diensten ohne vorherige anpassung der endgeräte |
| CN115037493B (zh) * | 2021-03-03 | 2025-09-02 | 美光科技公司 | 监测具有安全存储器装置的端点的完整性以用于身份认证 |
| US12362917B2 (en) * | 2021-03-10 | 2025-07-15 | Epifi Technologies Private Limited | Methods, systems and computer program products for secure encryption of data for transmission via an untrusted intermediary |
| US12143515B2 (en) | 2021-03-26 | 2024-11-12 | Capital One Services, Llc | Systems and methods for transaction card-based authentication |
| US11245438B1 (en) | 2021-03-26 | 2022-02-08 | Capital One Services, Llc | Network-enabled smart apparatus and systems and methods for activating and provisioning same |
| EP4315739A4 (en) * | 2021-03-30 | 2024-09-25 | Visa International Service Association | AGILE CRYPTOGRAPHIC DEPLOYMENT SERVICE |
| US12160419B2 (en) | 2021-04-15 | 2024-12-03 | Capital One Services, Llc | Authenticated messaging session with contactless card authentication |
| US11935035B2 (en) | 2021-04-20 | 2024-03-19 | Capital One Services, Llc | Techniques to utilize resource locators by a contactless card to perform a sequence of operations |
| US11961089B2 (en) | 2021-04-20 | 2024-04-16 | Capital One Services, Llc | On-demand applications to extend web services |
| US11902442B2 (en) | 2021-04-22 | 2024-02-13 | Capital One Services, Llc | Secure management of accounts on display devices using a contactless card |
| US11354555B1 (en) | 2021-05-04 | 2022-06-07 | Capital One Services, Llc | Methods, mediums, and systems for applying a display to a transaction card |
| GB2606711A (en) * | 2021-05-12 | 2022-11-23 | Mastercard International Inc | Secure channel establishment |
| US12380431B2 (en) * | 2021-05-24 | 2025-08-05 | Mastercard International Incorporated | Systems, methods and computer program products for asynchronous authentication of digital wallet based payment transactions |
| GB202107886D0 (en) * | 2021-06-02 | 2021-07-14 | Nordic Semiconductor Asa | Device identity keys |
| US11646884B2 (en) * | 2021-06-04 | 2023-05-09 | Servicenow, Inc. | Database key management |
| US12278817B1 (en) * | 2021-06-15 | 2025-04-15 | Whatsapp Llc | Methods, mediums, and systems for verifying devices in an encrypted messaging system |
| US12301735B2 (en) | 2021-06-18 | 2025-05-13 | Capital One Services, Llc | Systems and methods for contactless card communication and multi-device key pair cryptographic authentication |
| US12335412B2 (en) | 2021-06-21 | 2025-06-17 | Capital One Services, Llc | Systems and methods for scalable cryptographic authentication of contactless cards |
| US11943360B2 (en) | 2021-06-22 | 2024-03-26 | International Business Machines Corporation | Generative cryptogram for blockchain data management |
| CN113472766A (zh) * | 2021-06-24 | 2021-10-01 | 北京卫达信息技术有限公司 | 一种数据加密系统和方法 |
| US12041172B2 (en) | 2021-06-25 | 2024-07-16 | Capital One Services, Llc | Cryptographic authentication to control access to storage devices |
| US12061682B2 (en) | 2021-07-19 | 2024-08-13 | Capital One Services, Llc | System and method to perform digital authentication using multiple channels of communication |
| US12495042B2 (en) | 2021-08-16 | 2025-12-09 | Capital One Services, Llc | Systems and methods for resetting an authentication counter |
| CN113839773B (zh) * | 2021-08-17 | 2024-07-19 | 厦门市美亚柏科信息股份有限公司 | 一种luks密钥离线提取方法、终端设备及存储介质 |
| US12229735B1 (en) | 2021-08-17 | 2025-02-18 | Wells Fargo Bank, N.A. | Multi-modal parameterization of digital tokens involving multiple entities in defined networks |
| WO2023027756A1 (en) * | 2021-08-26 | 2023-03-02 | Hewlett-Packard Development Company, L.P. | Secure ledger registration |
| JP2023037733A (ja) * | 2021-09-06 | 2023-03-16 | キヤノン株式会社 | 通信装置、通信装置の制御方法、及びプログラム |
| US11863683B2 (en) * | 2021-09-10 | 2024-01-02 | Lenovo (Singapore) Pte. Ltd | Method and device for providing communication path |
| US12062258B2 (en) | 2021-09-16 | 2024-08-13 | Capital One Services, Llc | Use of a payment card to unlock a lock |
| US11995621B1 (en) | 2021-10-22 | 2024-05-28 | Wells Fargo Bank, N.A. | Systems and methods for native, non-native, and hybrid registration and use of tags for real-time services |
| CN114338071A (zh) * | 2021-10-28 | 2022-04-12 | 中能电力科技开发有限公司 | 一种基于风电场通信的网络安全身份认证方法 |
| CN114091094B (zh) * | 2021-11-16 | 2024-08-23 | 中国电子科技集团公司第三十研究所 | 一种支持更新的指纹认证和密钥协商方法 |
| US12192184B2 (en) | 2021-12-08 | 2025-01-07 | John A. Nix | Secure session resumption using post-quantum cryptography |
| US12069173B2 (en) | 2021-12-15 | 2024-08-20 | Capital One Services, Llc | Key recovery based on contactless card authentication |
| US11966460B2 (en) * | 2022-01-25 | 2024-04-23 | Dell Products, L.P. | Facilitating generation of credentials and verification thereof within a distributed object storage system |
| EP4224348A1 (en) * | 2022-02-08 | 2023-08-09 | Schneider Electric Industries SAS | Secured container deployment |
| US12166750B2 (en) | 2022-02-08 | 2024-12-10 | Capital One Services, Llc | Systems and methods for secure access of storage |
| US12225111B2 (en) * | 2022-03-08 | 2025-02-11 | SanDisk Technologies, Inc. | Authorization requests from a data storage device to multiple manager devices |
| US12288213B2 (en) | 2022-03-16 | 2025-04-29 | Mastercard International Incorporated | Systems, methods and computer program products for secure contactless payment transactions |
| US11758393B1 (en) * | 2022-03-31 | 2023-09-12 | Lenovo (Singapore) Pte. Ltd. | VPN authentication with forward secrecy |
| US11836690B1 (en) | 2022-04-12 | 2023-12-05 | Wells Fargo Bank, N.A. | Systems and methods for private network issuance of digital currency |
| US12155641B1 (en) | 2022-04-15 | 2024-11-26 | Wells Fargo Bank, N.A. | Network access tokens and meta-application programming interfaces for enhanced inter-enterprise system data promulgation and profiling |
| US11856105B1 (en) * | 2022-05-22 | 2023-12-26 | Uab 360 It | Secure multi-factor authentication system including identity verification of an authorized user |
| US12354077B2 (en) | 2022-06-23 | 2025-07-08 | Capital One Services, Llc | Mobile web browser authentication and checkout using a contactless card |
| US12217022B2 (en) | 2022-07-11 | 2025-02-04 | Qwerx Inc. | Systems and methods for direct random information generation from quantum random events |
| US12069163B2 (en) | 2022-07-27 | 2024-08-20 | Capital One Services, Llc | Data protection with two password asymmetric encryption |
| US20240048382A1 (en) | 2022-08-03 | 2024-02-08 | 1080 Network, Llc | Systems, methods, and computing platforms for executing credential-less network-based communication exchanges |
| US12354104B2 (en) | 2022-08-09 | 2025-07-08 | Capital One Services, Llc | Methods and arrangements for proof of purchase |
| US12289396B2 (en) | 2022-08-18 | 2025-04-29 | Capital One Services, Llc | Parallel secret salt generation and authentication for encrypted communication |
| US20240121276A1 (en) * | 2022-10-07 | 2024-04-11 | Chime Financial, Inc. | Genterating and providing various degrees of digital information and account-based functionality based on a predicted network security threat |
| CN115396103B (zh) * | 2022-10-26 | 2023-03-24 | 杭州海康威视数字技术股份有限公司 | 基于白盒密钥的ai数据共享方法、系统和装置 |
| US12489747B2 (en) | 2022-11-18 | 2025-12-02 | Capital One Services, LLC. | Systems and techniques to perform verification operations with wireless communication |
| US20240235841A1 (en) * | 2023-01-06 | 2024-07-11 | Capital One Services, Llc | System and method for parallel manufacture and verification of one-time-password authentication cards |
| US12238202B2 (en) | 2023-01-10 | 2025-02-25 | Qwerx Inc. | Systems and methods for continuous generation and management of ephemeral cryptographic keys |
| EP4400993A1 (en) * | 2023-01-11 | 2024-07-17 | Thales Dis France Sas | Secure on-boarding of personal attributes on an external entity |
| US12147983B2 (en) | 2023-01-13 | 2024-11-19 | Capital One Services, Llc | Systems and methods for multi-factor authentication using device tracking and identity verification |
| US12248832B2 (en) | 2023-03-07 | 2025-03-11 | Capital One Services, Llc | Systems and methods for steganographic image encoding and identity verification using same |
| US20240303638A1 (en) * | 2023-03-08 | 2024-09-12 | Capital One Services, Llc | Systems and methods for secure authentication of contactless card |
| US12335256B2 (en) | 2023-03-08 | 2025-06-17 | Capital One Services, Llc | Systems and methods for device binding authentication |
| US12248928B2 (en) | 2023-03-13 | 2025-03-11 | Capital One Services, Llc | Systems and methods of secure merchant payment over messaging platform using a contactless card |
| US12124903B2 (en) | 2023-03-16 | 2024-10-22 | Capital One Services, Llc | Card with a time-sensitive element and systems and methods for implementing the same |
| US12299672B2 (en) | 2023-03-30 | 2025-05-13 | Capital One Services, Llc | System and method for authentication with transaction cards |
| US12432063B2 (en) * | 2023-03-30 | 2025-09-30 | Rakuten Symphony, Inc. | Git webhook authorization for GitOps management operations |
| US12445427B2 (en) | 2023-03-30 | 2025-10-14 | Rakuten Symphony, Inc. | Agentless GitOps and custom resources for application orchestration and management |
| US12499432B2 (en) | 2023-04-06 | 2025-12-16 | Capital One Services, Llc | Techniques to perform operations with a contactless card when in the presence of a trusted device |
| US12373816B2 (en) | 2023-04-19 | 2025-07-29 | Paypal, Inc. | Establishing digital account usage in digital wallets during cross-platform data processing |
| CN116566598B (zh) * | 2023-04-23 | 2025-08-08 | 北京智芯微电子科技有限公司 | 共享密钥的安全协商方法、装置、系统、设备及介质 |
| US12200135B2 (en) | 2023-06-13 | 2025-01-14 | Capital One Services, Llc | Contactless card-based authentication via web-browser |
| US12432042B2 (en) | 2023-06-30 | 2025-09-30 | Scatr, Corp | Network traffic obfuscation |
| US12335160B2 (en) | 2023-06-30 | 2025-06-17 | Scatr Llc | Secure data routing with dynamic packet spoofing |
| US20250007707A1 (en) * | 2023-06-30 | 2025-01-02 | Scatr Llc | Out of band key exchange |
| US20250112928A1 (en) * | 2023-09-29 | 2025-04-03 | Dell Products, L.P. | Securely Accessing a Break-Glass Account |
| US20250193157A1 (en) * | 2023-12-12 | 2025-06-12 | Nxp B.V. | System and method to control access of ultra-wideband (uwb) devices |
| CN120567447A (zh) * | 2025-05-14 | 2025-08-29 | 北京天地智云科技有限公司 | 用于云手机的智能通信方法、系统及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060242407A1 (en) * | 2004-07-29 | 2006-10-26 | Kimmel Gerald D | Cryptographic key management |
| RU2364049C2 (ru) * | 2003-11-27 | 2009-08-10 | Награкард Са | Способ аутентификации приложений |
| US20100100724A1 (en) * | 2000-03-10 | 2010-04-22 | Kaliski Jr Burton S | System and method for increasing the security of encrypted secrets and authentication |
| US20120087493A1 (en) * | 2010-10-12 | 2012-04-12 | Research In Motion Limited | Method for securing credentials in a remote repository |
| US20120221858A1 (en) * | 2011-02-28 | 2012-08-30 | Certicom Corp. | Accelerated Key Agreement With Assisted Computations |
Family Cites Families (68)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1999049613A1 (en) | 1998-02-20 | 1999-09-30 | Fortress Technologies, Inc. | Cryptographic key-recovery mechanism |
| US6453159B1 (en) | 1999-02-25 | 2002-09-17 | Telxon Corporation | Multi-level encryption system for wireless network |
| US7085376B2 (en) | 2001-02-14 | 2006-08-01 | Copytele, Inc. | Method and system for securely exchanging encryption key determination information |
| US7254232B2 (en) | 2001-02-14 | 2007-08-07 | Copytele, Inc. | Method and system for selecting encryption keys from a plurality of encryption keys |
| US7711122B2 (en) | 2001-03-09 | 2010-05-04 | Arcot Systems, Inc. | Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys |
| US20030005317A1 (en) * | 2001-06-28 | 2003-01-02 | Audebert Yves Louis Gabriel | Method and system for generating and verifying a key protection certificate |
| US7103771B2 (en) * | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
| CA2369540C (en) | 2001-12-31 | 2013-10-01 | Certicom Corp. | Method and apparatus for computing a shared secret key |
| JP2003338954A (ja) | 2002-05-21 | 2003-11-28 | Toshiba Corp | デジタルスチルカメラ |
| AU2003301719A1 (en) | 2002-10-25 | 2004-05-25 | Grand Virtual Inc | Password encryption key |
| WO2004051920A1 (ja) | 2002-12-03 | 2004-06-17 | Matsushita Electric Industrial Co., Ltd. | 鍵共有システム、共有鍵生成装置及び共有鍵復元装置 |
| US20060265595A1 (en) | 2003-04-02 | 2006-11-23 | Scottodiluzio Salvatore E | Cascading key encryption |
| KR100571820B1 (ko) | 2003-10-20 | 2006-04-17 | 삼성전자주식회사 | 신원 정보를 기반으로 하는 암호 시스템에서의 컨퍼런스세션 키 분배 방법 |
| US20050149732A1 (en) * | 2004-01-07 | 2005-07-07 | Microsoft Corporation | Use of static Diffie-Hellman key with IPSec for authentication |
| US8031865B2 (en) | 2004-01-08 | 2011-10-04 | Encryption Solutions, Inc. | Multiple level security system and method for encrypting data within documents |
| US7346773B2 (en) | 2004-01-12 | 2008-03-18 | Cisco Technology, Inc. | Enabling stateless server-based pre-shared secrets |
| EP1906587A3 (en) * | 2004-10-29 | 2008-04-16 | Thomson Licensing, Inc. | Secure authenticated channel |
| CN101048970B (zh) * | 2004-10-29 | 2012-05-23 | 汤姆森许可贸易公司 | 安全认证信道 |
| US7627760B2 (en) | 2005-07-21 | 2009-12-01 | Microsoft Corporation | Extended authenticated key exchange |
| EP1748615A1 (en) | 2005-07-27 | 2007-01-31 | Sun Microsystems France S.A. | Method and system for providing public key encryption security in insecure networks |
| DE102006004868B4 (de) | 2005-11-04 | 2010-06-02 | Siemens Ag | Verfahren und Server zum Bereitstellen eines Mobilitätsschlüssels |
| KR101366243B1 (ko) | 2006-12-04 | 2014-02-20 | 삼성전자주식회사 | 인증을 통한 데이터 전송 방법 및 그 장치 |
| US8879727B2 (en) | 2007-08-31 | 2014-11-04 | Ip Reservoir, Llc | Method and apparatus for hardware-accelerated encryption/decryption |
| CN101334369B (zh) | 2007-06-29 | 2010-04-14 | 清华大学 | 检查液态物品中隐藏的毒品的方法和设备 |
| CN101364869B (zh) * | 2007-08-09 | 2012-03-28 | 鸿富锦精密工业(深圳)有限公司 | 电子文档加密系统及方法 |
| EP2073430B1 (en) * | 2007-12-21 | 2013-07-24 | Research In Motion Limited | Methods and systems for secure channel initialization transaction security based on a low entropy shared secret |
| US8656167B2 (en) | 2008-02-22 | 2014-02-18 | Security First Corp. | Systems and methods for secure workgroup management and communication |
| JP4613969B2 (ja) | 2008-03-03 | 2011-01-19 | ソニー株式会社 | 通信装置、及び通信方法 |
| CN101286842B (zh) * | 2008-05-26 | 2011-04-06 | 西安西电捷通无线网络通信股份有限公司 | 一种利用公钥密码技术的密钥分配及其公钥在线更新方法 |
| US8406735B2 (en) | 2008-06-24 | 2013-03-26 | Stmicroelectronics S.R.L. | Method for pairing electronic equipment in a wireless network system |
| US9227036B2 (en) | 2008-12-05 | 2016-01-05 | Cathrx Ltd | Irrigation catheter and a method of fabricating |
| USH2270H1 (en) | 2009-07-09 | 2012-06-05 | Actividentity, Inc. | Open protocol for authentication and key establishment with privacy |
| US10454693B2 (en) * | 2009-09-30 | 2019-10-22 | Visa International Service Association | Mobile payment application architecture |
| US8429408B2 (en) | 2010-06-11 | 2013-04-23 | Certicom Corp. | Masking the output of random number generators in key generation protocols |
| WO2012017343A2 (en) * | 2010-08-05 | 2012-02-09 | Koninklijke Philips Electronics N.V. | Cardiomyocyte containing device, manufacturing method and measuring method |
| AU2011305477B2 (en) | 2010-09-21 | 2015-04-23 | Assa Abloy Ab | Shared secret establishment and distribution |
| EP2434715A1 (en) | 2010-09-24 | 2012-03-28 | Gemalto SA | Method for establishing a secure communication channel |
| EP2518932A3 (en) * | 2010-10-05 | 2015-11-18 | Brandenburgische Technische Universität Cottbus-Senftenberg | A method of password-based authentication and session key agreement for secure data transmission, a method for securely transmitting data, and an electronic data transmission system |
| US8566577B2 (en) | 2010-11-30 | 2013-10-22 | Blackberry Limited | Method and device for storing secured sent message data |
| DE102010055699A1 (de) | 2010-12-22 | 2012-06-28 | Giesecke & Devrient Gmbh | Kryptographisches Verfahren |
| KR101233254B1 (ko) | 2011-04-26 | 2013-02-14 | 숭실대학교산학협력단 | 가변길이 인증코드를 사용하는 무선 통신 단말간 세션키 공유 방법 |
| US20120294445A1 (en) | 2011-05-16 | 2012-11-22 | Microsoft Corporation | Credential storage structure with encrypted password |
| US20120314865A1 (en) | 2011-06-07 | 2012-12-13 | Broadcom Corporation | NFC Communications Device for Setting Up Encrypted Email Communication |
| US20130008076A1 (en) | 2011-07-05 | 2013-01-10 | Joyce Stenklyft | Fishing Hook Storage and Threading Device |
| US20130091353A1 (en) * | 2011-08-01 | 2013-04-11 | General Instrument Corporation | Apparatus and method for secure communication |
| DE102011080876A1 (de) | 2011-08-12 | 2013-02-14 | Tridonic Gmbh & Co Kg | Management des Gerätebesitzes und Inbetriebnahme in drahtlosen Netzwerken mit Verschlüsselung durch öffentliche Schlüssel |
| US20130080768A1 (en) | 2011-09-26 | 2013-03-28 | Erik Lagerway | Systems and methods for secure communications using an open peer protocol |
| JP5367039B2 (ja) | 2011-09-30 | 2013-12-11 | 株式会社東芝 | サーバ装置及びプログラム |
| US8750512B2 (en) * | 2011-10-28 | 2014-06-10 | Aruba Networks, Inc. | Authenticating an ephemeral Diffie-Hellman using a trusted third party |
| KR20140129207A (ko) | 2012-02-21 | 2014-11-06 | 마이크로칩 테크놀로지 인코포레이티드 | 키 암호화 키를 사용하는 암호 송신 시스템 |
| US9842335B2 (en) * | 2012-03-23 | 2017-12-12 | The Toronto-Dominion Bank | System and method for authenticating a payment terminal |
| US8948386B2 (en) * | 2012-06-27 | 2015-02-03 | Certicom Corp. | Authentication of a mobile device by a network and key generation |
| US8742909B2 (en) | 2012-07-09 | 2014-06-03 | International Business Machines Corporation | Vehicle-induced roadway debris monitoring |
| US9106411B2 (en) | 2012-09-30 | 2015-08-11 | Apple Inc. | Secure escrow service |
| EP2907095A1 (en) * | 2012-10-11 | 2015-08-19 | Bull SAS | E-payment architecture preserving privacy |
| US8924709B2 (en) * | 2012-12-31 | 2014-12-30 | Lexmark International, Inc. | Print release with end to end encryption and print tracking |
| KR102084902B1 (ko) | 2013-01-10 | 2020-03-04 | 닛본 덴끼 가부시끼가이샤 | Ue 및 네트워크 양자에서의 키 도출을 위한 mtc 키 관리 |
| US10078524B2 (en) * | 2013-03-01 | 2018-09-18 | Hewlett Packard Enterprise Development Lp | Secure configuration of a headless networking device |
| GB201310084D0 (en) | 2013-06-06 | 2013-07-17 | Mastercard International Inc | Improvements to electronic authentication systems |
| KR102442663B1 (ko) * | 2013-07-15 | 2022-09-13 | 비자 인터네셔널 서비스 어소시에이션 | 보안 원격 지불 거래 처리 |
| DE102013108714B3 (de) | 2013-08-12 | 2014-08-21 | Deutsche Post Ag | Unterstützung einer Entschlüsselung von verschlüsselten Daten |
| SG11201602093TA (en) * | 2013-09-20 | 2016-04-28 | Visa Int Service Ass | Secure remote payment transaction processing including consumer authentication |
| CN111277597B (zh) | 2014-01-13 | 2022-08-16 | 维萨国际服务协会 | 用于在认证交易中保护身份的设备、系统和方法 |
| US10846694B2 (en) * | 2014-05-21 | 2020-11-24 | Visa International Service Association | Offline authentication |
| EP3860041B1 (en) | 2014-06-18 | 2023-03-15 | Visa International Service Association | Efficient methods for authenticated communication |
| RU2710897C2 (ru) | 2014-08-29 | 2020-01-14 | Виза Интернэшнл Сервис Ассосиэйшн | Способы безопасного генерирования криптограмм |
| CN107210914B (zh) | 2015-01-27 | 2020-11-03 | 维萨国际服务协会 | 用于安全凭证供应的方法 |
| WO2017214288A1 (en) | 2016-06-07 | 2017-12-14 | Visa International Service Association | Multi-level communication encryption |
-
2015
- 2015-08-31 RU RU2017106105A patent/RU2710897C2/ru active
- 2015-08-31 CN CN202010573686.9A patent/CN111756533B/zh active Active
- 2015-08-31 BR BR112017002747A patent/BR112017002747A2/pt not_active Application Discontinuation
- 2015-08-31 AU AU2015308608A patent/AU2015308608B2/en active Active
- 2015-08-31 CN CN201580046148.1A patent/CN106797311B/zh active Active
- 2015-08-31 EP EP15835007.4A patent/EP3195521B1/en active Active
- 2015-08-31 US US14/841,589 patent/US9813245B2/en active Active
- 2015-08-31 WO PCT/US2015/047824 patent/WO2016033610A1/en not_active Ceased
-
2017
- 2017-10-02 US US15/723,001 patent/US10389533B2/en active Active
-
2019
- 2019-06-17 US US16/443,610 patent/US11032075B2/en active Active
- 2019-10-03 AU AU2019240671A patent/AU2019240671B2/en active Active
-
2021
- 2021-05-05 US US17/308,749 patent/US11588637B2/en active Active
- 2021-06-09 AU AU2021203815A patent/AU2021203815B2/en active Active
-
2022
- 2022-09-01 AU AU2022224799A patent/AU2022224799B2/en active Active
-
2023
- 2023-01-19 US US18/156,933 patent/US12021987B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100100724A1 (en) * | 2000-03-10 | 2010-04-22 | Kaliski Jr Burton S | System and method for increasing the security of encrypted secrets and authentication |
| RU2364049C2 (ru) * | 2003-11-27 | 2009-08-10 | Награкард Са | Способ аутентификации приложений |
| US20060242407A1 (en) * | 2004-07-29 | 2006-10-26 | Kimmel Gerald D | Cryptographic key management |
| US20120087493A1 (en) * | 2010-10-12 | 2012-04-12 | Research In Motion Limited | Method for securing credentials in a remote repository |
| US20120221858A1 (en) * | 2011-02-28 | 2012-08-30 | Certicom Corp. | Accelerated Key Agreement With Assisted Computations |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11588637B2 (en) | 2014-08-29 | 2023-02-21 | Visa International Service Association | Methods for secure cryptogram generation |
| US11856104B2 (en) | 2015-01-27 | 2023-12-26 | Visa International Service Association | Methods for secure credential provisioning |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2016033610A1 (en) | 2016-03-03 |
| RU2017106105A3 (ru) | 2019-03-13 |
| US20160065370A1 (en) | 2016-03-03 |
| US10389533B2 (en) | 2019-08-20 |
| US20180026787A1 (en) | 2018-01-25 |
| CN106797311B (zh) | 2020-07-14 |
| US20210258162A1 (en) | 2021-08-19 |
| US9813245B2 (en) | 2017-11-07 |
| EP3195521B1 (en) | 2020-03-04 |
| AU2022224799A1 (en) | 2022-09-29 |
| AU2022224799B2 (en) | 2023-08-31 |
| CN111756533A (zh) | 2020-10-09 |
| BR112017002747A2 (pt) | 2018-01-30 |
| US12021987B2 (en) | 2024-06-25 |
| CN106797311A (zh) | 2017-05-31 |
| AU2015308608B2 (en) | 2019-07-04 |
| US20230231715A1 (en) | 2023-07-20 |
| US11588637B2 (en) | 2023-02-21 |
| AU2015308608A1 (en) | 2017-02-02 |
| EP3195521A4 (en) | 2018-03-14 |
| CN111756533B (zh) | 2023-07-04 |
| AU2019240671A1 (en) | 2019-10-24 |
| AU2021203815A1 (en) | 2021-07-08 |
| US11032075B2 (en) | 2021-06-08 |
| EP3195521A1 (en) | 2017-07-26 |
| AU2021203815B2 (en) | 2022-06-02 |
| AU2019240671B2 (en) | 2021-03-11 |
| RU2017106105A (ru) | 2018-10-01 |
| US20190305953A1 (en) | 2019-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| AU2022224799B2 (en) | Methods for secure cryptogram generation | |
| US11856104B2 (en) | Methods for secure credential provisioning | |
| US11394559B2 (en) | Methods and systems for ownership verification using blockchain | |
| JP6371390B2 (ja) | セキュアな遠隔決済取引処理 | |
| CN105745678B (zh) | 包括消费者认证的安全远程支付交易处理 | |
| EP3631717A1 (en) | System of hardware and software to prevent disclosure of personally identifiable information | |
| HK1241588A1 (en) | Methods for secure credential provisioning |