RU2776258C2 - Biometric comparison for privacy protection using server - Google Patents

Biometric comparison for privacy protection using server Download PDF

Info

Publication number
RU2776258C2
RU2776258C2 RU2020122027A RU2020122027A RU2776258C2 RU 2776258 C2 RU2776258 C2 RU 2776258C2 RU 2020122027 A RU2020122027 A RU 2020122027A RU 2020122027 A RU2020122027 A RU 2020122027A RU 2776258 C2 RU2776258 C2 RU 2776258C2
Authority
RU
Russia
Prior art keywords
biometric
encrypted
server
user
computer
Prior art date
Application number
RU2020122027A
Other languages
Russian (ru)
Other versions
RU2020122027A3 (en
RU2020122027A (en
Inventor
Джон Ф. ШИТС
Ким Р. ВАГНЕР
Санпреет Сингх АРОРА
Лейси БЕСТ-РОУДЕН
Чуньси ЦЗЯН
Original Assignee
Виза Интернэшнл Сервис Ассосиэйшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Виза Интернэшнл Сервис Ассосиэйшн filed Critical Виза Интернэшнл Сервис Ассосиэйшн
Priority claimed from PCT/US2018/043656 external-priority patent/WO2019112650A1/en
Publication of RU2020122027A3 publication Critical patent/RU2020122027A3/ru
Publication of RU2020122027A publication Critical patent/RU2020122027A/en
Application granted granted Critical
Publication of RU2776258C2 publication Critical patent/RU2776258C2/en

Links

Images

Abstract

FIELD: biometric authentication.
SUBSTANCE: system receives a biometric pattern from user equipment, which is encrypted using a public key related to the system. Then, the encrypted biometric pattern is provided to the second subject together with a biometric identifier, after receiving a request for transaction, which includes the biometric identifier and the second biometric pattern. The second subject can encrypt the second biometric pattern, using the same public key related to the system, and compare two encrypted biometric patterns. The resulting data file with coincidence results has already been encrypted and can be provided to the system to determine the degree of coincidence of two biometric patterns.
EFFECT: providing biometric authentication without disclosing closed information to an authorization subject.
20 cl, 6 dwg

Description

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] Эта заявка притязает на преимущество и приоритет предварительной заявки на патент США № 62/596250 под названием «SERVER-ASSISTED PRIVACY PROTECTING BIOMETRIC COMPARISON», поданной 8 декабря 2017 года, которая полностью посредством ссылки включена в данный документ. [0001] This application claims the benefit and priority of U.S. Provisional Application No. 62/596250 entitled "SERVER-ASSISTED PRIVACY PROTECTING BIOMETRIC COMPARISON", filed December 8, 2017, which is incorporated herein by reference in its entirety.

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

[0002] Одним из способов, посредством которого возможна защита доступа к электронным устройствам пользователя или электронным данным, является использование биометрической аутентификации. При биометрической аутентификации биометрический образец, полученный в отношении пользователя, можно сравнить с биометрической информацией, хранящейся в отношении этого пользователя. Биометрические сравнения могут быть выполнены локально или удаленно с помощью сервера. Локальное совпадение (например, совпадение, полученное в результате сравнений, выполненных на мобильном устройстве пользователя), может быть подходящим в разных ситуациях. Например, биометрические сравнения могут быть выполнены локально, даже если мобильное устройство пользователя не имеет соединений для передачи данных с другими устройствами. Другая ситуация, в которой биометрические сравнения должны выполняться локально, может представлять собой ситуацию, когда предпочтительно, чтобы биометрическая информация, полученная для пользователя, никогда не передавалась с мобильного устройства пользователя. [0002] One of the ways in which it is possible to protect access to the user's electronic devices or electronic data is the use of biometric authentication. In biometric authentication, a biometric sample obtained about a user can be compared with biometric information stored about that user. Biometric comparisons can be performed locally or remotely using a server. A local match (eg, a match resulting from comparisons performed on the user's mobile device) may be appropriate in a variety of situations. For example, biometric comparisons can be performed locally even if the user's mobile device does not have data connections to other devices. Another situation in which biometric comparisons must be performed locally may be a situation where it is preferable that the biometric information obtained for the user is never transmitted from the user's mobile device.

[0003] С другой стороны, сравнение на основе сервера, когда выполняется проверка на совпадение с шаблоном регистрации, удаленно хранящимся на сервере, может быть подходящим, если в приоритете находятся другие соображения, такие как размер программного обеспечения для сравнения, или его время выполнения, или желание, чтобы пользователю было удобно использовать несколько устройств, менять устройства и т. д. Сравнение на основе сервера также относится к случаю, когда желательно, чтобы несколько разных приложений на мобильном устройстве пользователя совместно использовали один шаблон регистрации, не ограничиваясь биометрическими решениями, предоставляемыми на уровне операционной системы (такими как Touch ID или Face ID). [0003] On the other hand, a server-based comparison, where a match is made against a registration template remotely stored on a server, may be appropriate if other considerations are prioritized, such as the size of the comparison software, or its execution time, or the desire to make it convenient for the user to use multiple devices, change devices, etc. Server-based comparison also refers to the case where it is desirable that several different applications on the user's mobile device share the same enrollment template, not limited to the biometric solutions provided by at the operating system level (such as Touch ID or Face ID).

[0004] Варианты осуществления настоящего изобретения относятся к подходу на основе сервера и некоторым текущим недостаткам этого подхода: риску нарушения безопасности закрытых биометрических данных, поскольку они находятся на сервере. Например, в подходе на основе сервера биометрические данные или шаблоны могут храниться на сервере. Это может быть проблематичным в случае утечки данных. Если происходит утечка данных, это может иметь особенно вредные последствия, поскольку биометрические данные или шаблоны не могут быть заменены или изменены как пароли и коды доступа. Кроме того, в подходе на основе сервера, даже если один субъект может безопасно хранить данные, маловероятно, что все данные, предоставленные всеми поставщиками услуг, смогут безопасно хранить биометрические данные. Таким образом, существующие системы биометрического сравнения на основе сервера не являются адаптируемыми. [0004] Embodiments of the present invention relate to the server-based approach and some of the current disadvantages of this approach: the risk of breaching the security of private biometric data because it is on the server. For example, in a server-based approach, biometric data or templates may be stored on a server. This can be problematic in the event of a data breach. If data is leaked, it can be especially harmful because biometric data or templates cannot be replaced or changed like passwords and access codes. Furthermore, in a server-based approach, even if one subject can securely store data, it is unlikely that all data provided by all service providers will be able to store biometric data securely. Thus, existing server-based biometric matching systems are not adaptable.

[0005] Варианты осуществления настоящего изобретения устраняют эти и другие проблемы по отдельности и вместе. [0005] Embodiments of the present invention address these and other problems individually and collectively.

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

[0006] В данном документе описаны система и методики для обеспечения возможности биометрической аутентификации без раскрытия субъекту авторизации закрытой информации. В вариантах осуществления настоящего изобретения система может выполнять анализ биометрических совпадений для другого субъекта без ведения записей биометрических данных. В некоторых вариантах осуществления система принимает биометрический шаблон во время фазы регистрации, который шифруется с использованием открытого ключа, связанного с системой. Зашифрованный биометрический шаблон затем предоставляется второму субъекту, который может использовать зашифрованный биометрический шаблон для аутентификации пользователя транзакции без доступа к содержимому в зашифрованном биометрическом шаблоне. Второй субъект (например, сервер проверки на совпадение) может принимать запрос на совершение транзакции, который содержит второй биометрический шаблон. Второй субъект может шифровать второй биометрический шаблон с использованием одного и того же открытого ключа, связанного с системой, и выполнять сравнение между двумя зашифрованными биометрическими шаблонами без необходимости в их расшифровке. Получившийся в результате файл данных с результатами проверки на совпадение (результатами совпадения) по своей сути зашифрован и может быть предоставлен системе для определения степени совпадения двух биометрических шаблонов. [0006] This document describes a system and techniques for enabling biometric authentication without disclosing sensitive information to an authorization subject. In embodiments of the present invention, the system may perform biometric match analysis for another subject without maintaining biometric data records. In some embodiments, the system receives a biometric template during the enrollment phase, which is encrypted using a public key associated with the system. The encrypted biometric template is then provided to the second entity, which can use the encrypted biometric template to authenticate the user of the transaction without access to the content in the encrypted biometric template. The second entity (eg, a match server) may receive a transaction request that contains the second biometric template. The second subject can encrypt the second biometric template using the same public key associated with the system and perform a comparison between the two encrypted biometric templates without the need to decrypt them. The resulting data file with the match results (match results) is inherently encrypted and can be provided to the system to determine the degree of match between the two biometric templates.

[0007] Один вариант осуществления настоящего изобретения направлен на способ, включающий: прием первым компьютером сервера аутентификационных данных для пользователя с устройства пользователя, определение биометрического идентификатора для связывания с аутентификационными данными, передачу биометрического идентификатора на второй компьютер сервера вместе с первым зашифрованным биометрическим шаблоном, связанным с пользователем. Второй компьютер сервера после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор с устройства пользователя и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона. Способ также включает прием зашифрованного файла данных со значениями совпадения, расшифровку зашифрованного файла данных со значениями совпадения для определения расшифрованного файла данных со значениями совпадения и определение на основе расшифрованного файла данных со значениями совпадения значения вероятности совпадения. [0007] One embodiment of the present invention is directed to a method including: receiving, by a first server computer, authentication data for a user from a user device, determining a biometric identifier to associate with the authentication data, transmitting the biometric identifier to a second server computer along with a first encrypted biometric template associated with the user. The second server computer then receives the second encrypted biometric template and the biometric identifier from the user's device and generates an encrypted data file with match values by comparing the first encrypted biometric template and the second encrypted biometric template. The method also includes receiving an encrypted data file with match values, decrypting the encrypted data file with match values to determine the decrypted data file with match values, and determining, based on the decrypted data file with match values, a match probability value.

[0008] Другой вариант осуществления настоящего изобретения направлен на компьютер сервера, содержащий процессор и постоянный машиночитаемый носитель с сохраненным на нем кодом, при этом код приспособлен предписывать процессору: принимать аутентификационные данные для пользователя с устройства пользователя, определять биометрический идентификатор для связывания с аутентификационными данными, передавать биометрический идентификатор на второй компьютер сервера вместе с первым зашифрованным биометрическим шаблоном, связанным с пользователем, при этом второй компьютер сервера после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор с устройства пользователя и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона, приема зашифрованного файла данных со значениями совпадения, расшифровывать зашифрованный файл данных со значениями совпадения для определения расшифрованного файла данных со значениями совпадения и определять на основе расшифрованного файла данных со значениями совпадения значение вероятности совпадения. [0008] Another embodiment of the present invention is directed to a server computer comprising a processor and a permanent computer-readable medium with a code stored thereon, the code being adapted to cause the processor to: receive authentication data for a user from the user's device, determine a biometric identifier to associate with the authentication data, transmit the biometric identifier to the second server computer along with the first encrypted biometric template associated with the user, wherein the second server computer then receives the second encrypted biometric template and the biometric identifier from the user's device and generates an encrypted data file with match values by comparing the first encrypted biometric template and a second encrypted biometric template, receiving the encrypted data file with match values, decrypting the encrypted data file with match values to determine the decrypted data file with the match values, and based on the decrypted data file with the match values, determine the probability value of the match.

[0009] Дополнительные подробности, относящиеся к вариантам осуществления настоящего изобретения, можно найти в разделах подробного описания и описания графических материалов. [0009] Additional details relating to embodiments of the present invention can be found in the detailed description and description sections of the drawings.

КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF GRAPHICS

[0010] На фиг. 1 показана система, содержащая ряд компонентов, согласно варианту осуществления настоящего изобретения; [0010] FIG. 1 shows a system containing a number of components according to an embodiment of the present invention;

[0011] на фиг. 2 изображен иллюстративный пример системы или архитектуры, в которой могут быть реализованы методики обеспечения возможности биометрической аутентификации без раскрытия субъекту авторизации закрытой информации; [0011] in FIG. 2 depicts an illustrative example of a system or architecture in which techniques can be implemented to enable biometric authentication without disclosing sensitive information to the authorization subject;

[0012] на фиг. 3 показана схема последовательности операций способа регистрации согласно варианту осуществления настоящего изобретения; [0012] in FIG. 3 is a flowchart of a registration method according to an embodiment of the present invention;

[0013] на фиг. 4 показана схема последовательности операций способа аутентификации согласно варианту осуществления настоящего изобретения; [0013] in FIG. 4 is a flowchart of an authentication method according to an embodiment of the present invention;

[0014] на фиг. 5 изображена блок-схема, изображающая примерные взаимодействия, которые могут происходить между сервером поставщика услуги регистрации и сервером проверки на совпадение в соответствии с по меньшей мере некоторыми вариантами осуществления; и [0014] in FIG. 5 is a flowchart illustrating exemplary interactions that may occur between a registration service provider server and a matching server, in accordance with at least some embodiments; and

[0015] на фиг. 6 изображена блок-схема, иллюстрирующая примерный процесс определения значения вероятности совпадения для аутентификации пользователя в соответствии с по меньшей мере некоторыми вариантами осуществления. [0015] in FIG. 6 is a flow diagram illustrating an exemplary process for determining a match probability value for user authentication, in accordance with at least some embodiments.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯIMPLEMENTATION OF THE INVENTION

[0016] Перед обсуждением вариантов осуществления настоящего изобретения могут быть более подробно описаны некоторые термины. [0016] Before discussing embodiments of the present invention, some terms may be described in more detail.

[0017] «Приложение» может представлять собой компьютерную программу, которая используется с конкретной целью. [0017] An "application" may be a computer program that is used for a specific purpose.

[0018] «Аутентификация» может включать процесс проверки идентификатора чего-либо (например, пользователя). Одной формой аутентификации может быть биометрическая аутентификация. [0018] " Authentication" may include the process of verifying the identity of something (eg, a user). One form of authentication may be biometric authentication.

[0019] «Биометрическими данными» может быть любая человеческая характеристика, которая уникальна для человека. Например, биометрическими данными может быть отпечаток пальца человека, образец голоса, лицо, ДНК, сетчатка глаза и т. д. [0019] "Biometric data" can be any human characteristic that is unique to a person. For example, biometric data can be a person's fingerprint, voice pattern, face, DNA, retina, etc.

[0020] «Биометрический интерфейс» может быть интерфейсом, посредством которого собирается биометрическая информация. Биометрические интерфейсы включают сканер большого пальца, сканер радужной оболочки или сетчатки глаза, камеру, микрофон, алкотестер и т. д. Биометрические интерфейсы могут присутствовать на пользовательских устройствах, таких как мобильные устройства, или присутствовать в терминале доступа. [0020] A "biometric interface" may be an interface through which biometric information is collected. Biometric interfaces include thumb scanner, iris or retina scanner, camera, microphone, breathalyzer, etc. Biometric interfaces may be present on user devices such as mobile devices or present in an access terminal.

[0021] «Биометрическое устройство считывания» может содержать устройство для сбора данных на основе биометрических данных человека. Примеры биометрических устройств считывания могут включать устройства считывания отпечатков пальцев, фронтальные камеры, микрофоны и сканеры радужной оболочки глаза. [0021] A "biometric reader" may include a device for collecting data based on human biometric data. Examples of biometric readers may include fingerprint readers, front cameras, microphones, and iris scanners.

[0022] «Биометрический образец» может содержать данные, полученные биометрическим устройством считывания. Данные могут быть либо аналоговым, либо цифровым представлением биометрических данных пользователя, сгенерированных до определения различных признаков, необходимых для проверки на совпадение. Например, биометрическим образцом лица пользователя могут быть данные изображения. В другом примере биометрический образец голоса пользователя может представлять собой звуковые данные. [0022] A "biometric sample" may contain data obtained by a biometric reader. The data may be either an analog or digital representation of the user's biometric data generated prior to determining the various features needed to check for a match. For example, the biometric sample of the user's face may be image data. In another example, the biometric sample of the user's voice may be audio data.

[0023] «Биометрический шаблон» или «шаблон биометрического образца» может включать файл, содержащий отличительные характеристики, извлеченные из биометрического образца, который может использоваться во время процесса биометрической аутентификации. Например, биометрический шаблон может быть двоичным математическим файлом, представляющим уникальные признаки отпечатка пальца, глаза, руки или голоса человека, необходимые для выполнения точной аутентификации человека. [0023] A "biometric template" or "biometric sample template" may include a file containing distinctive characteristics extracted from a biometric sample that can be used during the biometric authentication process. For example, a biometric template may be a binary mathematical file representing the unique features of a fingerprint, eye, hand, or voice of a person necessary to perform accurate authentication of a person.

[0024] «Вычислительное устройство» может представлять собой любое подходящее устройство, которое может принимать и обрабатывать данные. Примеры вычислительных устройств могут включать устройства доступа, транспортные компьютеры, компьютеры сети обработки или компьютеры авторизации. [0024] A "computing device" can be any suitable device that can receive and process data. Examples of computing devices may include access devices, transport computers, processing network computers, or authorization computers.

[0025] Термин «криптографический ключ» может относиться к чему-то, что используется при шифровании или расшифровке. В качестве примера, криптографический ключ может относиться к произведению двух больших простых чисел. Криптографический ключ может служить элементом входных данных в криптографическом процессе, таком как RSA или AES, и может использоваться для шифрования открытого текста и создания шифротекста на выходе или расшифровки шифротекста и создания открытого текста на выходе. [0025] The term "cryptographic key" can refer to something that is used in encryption or decryption. As an example, a cryptographic key may refer to the product of two large prime numbers. A cryptographic key may serve as an input to a cryptographic process such as RSA or AES and may be used to encrypt plaintext and produce ciphertext as output, or decrypt ciphertext and produce plaintext as output.

[0026] Термин «гомоморфное шифрование» может относиться к любой подходящей методике шифрования данных, которая позволяет выполнять вычисления на основе получившихся в результате шифротекстов, генерируя зашифрованный результат, который при расшифровке соответствует результату операций, как если бы они были выполнены на открытом тексте. Следует отметить, что вычислительные устройства могут выполнять сложные вычисления с гомоморфно зашифрованными данными, даже не имея доступа к незашифрованным данным. [0026] The term "homomorphic encryption" can refer to any suitable data encryption technique that allows calculations to be performed on the resulting ciphertexts, generating an encrypted result that, when decrypted, matches the result of the operations as if they were performed in plain text. It should be noted that computing devices can perform complex computations on homomorphically encrypted data without even having access to the unencrypted data.

[0027] «Эмитент» может, как правило, относиться к субъекту предпринимательства (например, банку), который поддерживает счет для пользователя. Эмитент может также выдавать потребителю элементы платежных удостоверяющих данных, сохраняемые на устройстве пользователя, таком как сотовый телефон, смарт-карта, планшет или переносной компьютер. [0027] "Issuer" can generally refer to a business entity (eg, a bank) that maintains an account for a user. The issuer may also provide the consumer with payment credential elements stored on the user's device, such as a cell phone, smart card, tablet, or laptop computer.

[0028] «Запоминающее устройство» может представлять собой любые подходящие устройство или устройства, которые могут хранить электронные данные. Подходящее запоминающее устройство может включать постоянный машиночитаемый носитель, хранящий инструкции, которые могут быть исполнены процессором, для осуществления желаемого способа. Примеры запоминающих устройств могут включать одну или более микросхем запоминающего устройства, дисковых накопителей и т. д. Такие запоминающие устройства могут работать с помощью любого подходящего электрического, оптического и/или магнитного режима работы. [0028] A "storage device" can be any suitable device or devices that can store electronic data. Suitable storage device may include a readable medium storing instructions that can be executed by the processor to implement the desired method. Examples of storage devices may include one or more storage chips, disk drives, etc. Such storage devices may operate in any suitable electrical, optical, and/or magnetic mode of operation.

[0029] «Ключ» может относиться к элементу информации, используемому в криптографическом алгоритме для преобразования входных данных в другое представление. Криптографический алгоритм может представлять собой алгоритм шифрования, который преобразовывает оригинальные данные в альтернативное представление, или алгоритм дешифрования, который преобразовывает зашифрованную информацию обратно в оригинальные данные. Примеры криптографических алгоритмов могут включать тройной стандарт шифрования данных (TDES), стандарт шифрования данных (DES), улучшенный стандарт шифрования (AES) и т. д. [0029] A "key" may refer to an element of information used in a cryptographic algorithm to transform input data into another representation. The cryptographic algorithm may be an encryption algorithm that converts the original data to an alternate representation, or a decryption algorithm that converts the encrypted information back to the original data. Examples of cryptographic algorithms may include Triple Data Encryption Standard (TDES), Data Encryption Standard (DES), Advanced Encryption Standard (AES), etc.

[0030] «Закрытый ключ» может включать любой ключ шифрования, который может быть защищен и безопасен. Например, закрытый ключ может быть безопасно сохранен в субъекте, который генерирует пару открытого/закрытого ключей, и может быть использован для расшифровки любой информации, которая была зашифрована связанным открытым ключом пары открытого/закрытого ключей. [0030] The "private key" may include any encryption key that can be protected and secure. For example, the private key may be securely stored in the entity that generates the public/private key pair and may be used to decrypt any information that has been encrypted with the associated public key of the public/private key pair.

[0031] «Процессор» может относиться к любому подходящему устройству или устройствам вычисления данных. Процессор может содержать один или более микропроцессоров, работающих вместе для осуществления желаемой функции. Процессор может включать CPU (центральный процессор), который содержит по меньшей мере один высокоскоростной процессор данных, подходящий для исполнения программных компонентов для исполнения запросов, генерируемых пользователем и/или системой. CPU может представлять собой микропроцессор, такой как Athlon, Duron и/или Opteron от AMD; PowerPC от IBM и/или Motorola; процессор архитектуры Cell от IBM и Sony; Celeron, Itanium, Pentium, Xeon и/или XScale от Intel; и/или подобные процессор (процессоры). [0031] "Processor" may refer to any suitable device or devices for computing data. A processor may comprise one or more microprocessors working together to perform a desired function. The processor may include a CPU (Central Processing Unit) that includes at least one high speed data processor suitable for executing software components to execute user and/or system generated requests. The CPU may be a microprocessor such as an Athlon, Duron and/or Opteron from AMD; PowerPC from IBM and/or Motorola; Cell architecture processor from IBM and Sony; Celeron, Itanium, Pentium, Xeon and/or XScale from Intel; and/or similar processor(s).

[0032] «Открытый (общедоступный) ключ» может включать любой ключ шифрования, который может совместно использоваться в открытом и закрытом видах. Открытый ключ может быть разработан для совместного использования и может быть выполнен таким образом, чтобы любая информация, зашифрованная открытым ключом, могла быть расшифрована только с использованием закрытого (конфиденциального) ключа, связанного с открытым ключом (т.е. пары открытого/закрытого ключей). [0032] A "public key" may include any encryption key that can be shared publicly and privately. The public key can be designed to be shared and can be designed such that any information encrypted with the public key can only be decrypted using the private (confidential) key associated with the public key (i.e. a public/private key pair) .

[0033] «Пара открытого/закрытого ключей» может включать пару связанных криптографических ключей, сгенерированных субъектом. Открытый ключ может быть использован для открытых функций, таких как шифрование сообщения для отправки субъекту или для проверки цифровой подписи, которая предположительно была создана субъектом. Закрытый ключ, с другой стороны, может быть использован для закрытых функций, таких как расшифровка принятого сообщения или наложение цифровой подписи. Открытый ключ обычно авторизует орган, известный как сертифицирующий орган (т.е. орган сертификации), который хранит открытый ключ в базе данных и распределяет его любому другому субъекту, который запрашивает его. Закрытый ключ, как правило, хранится на защищенном носителе данных и обычно известен только субъекту. Однако криптографические системы, описанные в данном документе, могут обладать механизмами восстановления ключа для восстановления потерянных ключей и избегания потери данных. [0033] A "public/private key pair" may include a pair of related cryptographic keys generated by an entity. The public key can be used for public functions, such as encrypting a message to be sent to the subject, or to verify a digital signature that is believed to have been created by the subject. The private key, on the other hand, can be used for private functions such as decrypting a received message or digitally signing it. The public key usually authorizes an authority known as a certifying authority (i.e. a certification authority), which stores the public key in a database and distributes it to any other entity that requests it. The private key is usually stored on a secure storage medium and is usually known only to the subject. However, the cryptographic systems described herein may have key recovery mechanisms to recover lost keys and avoid data loss.

[0034] «Поставщик ресурсов» может представлять собой субъект, который может предоставлять ресурс, такой как товар, услуга, данные и т. д., запрашивающему субъекту. Примеры поставщиков ресурсов могут включать продавцов, государственные органы, которые могут предоставлять доступ к данным, хранилища данных, субъекты, которые могут предоставлять доступ в ограниченные местоположения (например, операторы железнодорожных станций) и т. д. В некоторых вариантах осуществления поставщики ресурсов могут быть связаны с одним или более физическими местоположениями (например, супермаркетами, торговыми центрами, магазинами и т. д.) и онлайн-платформами (например, сайтами электронной торговли, онлайн-компаниями и т. д.). В некоторых вариантах осуществления поставщики ресурсов могут делать доступными для пользователя физические предметы (например, товары, продукты и т. п.). В других вариантах осуществления поставщики ресурсов могут делать доступными для пользователя цифровые ресурсы (например, электронные документы, электронные файлы и т. д). В других вариантах осуществления поставщики ресурсов могут управлять доступом к определенным услугам или данным (например, поставщик цифрового кошелька). [0034] A "resource provider" may be an entity that can provide a resource, such as a good, service, data, etc., to a requesting entity. Examples of resource providers may include vendors, government agencies that may provide access to data, data repositories, entities that may provide access to restricted locations (e.g., train station operators), etc. In some embodiments, resource providers may be associated with one or more physical locations (eg supermarkets, malls, shops, etc.) and online platforms (eg e-commerce sites, online companies, etc.). In some embodiments, resource providers may make physical items (eg, goods, products, etc.) available to the user. In other embodiments, resource providers may make digital resources (eg, electronic documents, electronic files, etc.) available to the user. In other embodiments, resource providers may manage access to certain services or data (eg, a digital wallet provider).

[0035] «Компьютер сервера» может включать мощный компьютер или кластер компьютеров. Например, компьютер сервера может представлять собой крупный универсальный компьютер, кластер мини-компьютеров или группу серверов, функционирующих как один элемент. В одном примере компьютер сервера может представлять собой сервер баз данных, соединенный с веб-сервером. Компьютер сервера может быть соединен с базой данных и может содержать любое аппаратное обеспечение, программное обеспечение, другую логическую часть или комбинацию предыдущего для обслуживания запросов с одного или более клиентских компьютеров. Компьютер сервера может содержать одно или более вычислительных устройств и может использовать любую из множества вычислительных структур, компоновок и компиляций для обслуживания запросов с одного или более клиентских компьютеров. [0035] A "server computer" may include a powerful computer or a cluster of computers. For example, a server computer may be a large mainframe computer, a cluster of minicomputers, or a group of servers that function as one unit. In one example, the server computer may be a database server connected to a web server. The server computer may be connected to the database and may contain any hardware, software, other logic or a combination of the previous to serve requests from one or more client computers. The server computer may include one or more computing devices and may use any of a variety of computing structures, layouts, and compilations to serve requests from one or more client computers.

[0036] «Пользователь» может быть частным лицом. В некоторых вариантах осуществления пользователь может быть связан с одним или более личными счетами и/или устройствами пользователя. [0036] The "User" may be an individual. In some embodiments, a user may be associated with one or more of the user's personal accounts and/or devices.

[0037] «Устройство пользователя» может представлять собой любое подходящее устройство, управляемое пользователем. Подходящие устройства пользователя могут осуществлять связь с внешними субъектами, такими как портативные устройства и удаленные компьютеры сервера. Примеры устройств пользователя включают мобильные телефоны, портативные переносные компьютеры, настольные компьютеры, компьютеры сервера, транспортные средства, такие как автомобили, бытовые приборы, носимые устройства, такие как умные часы и фитнес-браслеты, и т. д. [0037] A "user device" may be any suitable device controlled by a user. Suitable user devices may communicate with external entities such as portable devices and remote server computers. Examples of user devices include mobile phones, portable laptop computers, desktop computers, server computers, vehicles such as automobiles, household appliances, wearable devices such as smart watches and fitness bands, etc.

[0038] На фиг. 1 показана система 100, содержащая ряд компонентов, согласно варианту осуществления настоящего изобретения. Система 100 содержит по меньшей мере устройство 102 пользователя, сервер 104 поставщика услуги регистрации и сервер 106 проверки на совпадение. Компоненты системы 100 могут осуществлять связь непосредственно или с использованием какой-либо сети 108. В некоторых вариантах осуществления система может содержать одно или более устройств 110 доступа. В некоторых вариантах осуществления устройство 110 доступа и сервер 106 проверки на совпадение могут представлять собой один и тот же субъект или ими может управлять один и тот же субъект. Сервер 104 поставщика услуги регистрации может представлять собой пример первого компьютера сервера, и сервер 106 проверки на совпадение может представлять собой пример второго компьютера сервера. Компьютер 104 сервера поставщика услуги регистрации обычно отличается от и пространственно или логически отделен от сервера 106 проверки на совпадение. [0038] FIG. 1 shows a system 100 containing a number of components according to an embodiment of the present invention. The system 100 includes at least a user device 102, a registration service provider server 104, and a matching server 106 . Components of system 100 may communicate directly or using any network 108. In some embodiments, the system may include one or more access devices 110. In some embodiments, the access device 110 and the matching server 106 may be the same entity or may be controlled by the same entity. The registration service provider server 104 may be an example of a first server computer, and the match server 106 may be an example of a second server computer. The server computer 104 of the registration service provider is typically distinct from and spatially or logically separate from the matching server 106 .

[0039] Как изображено, система может содержать устройство 102 пользователя. Устройство 102 пользователя может представлять собой любое электронное устройство, выполненное с возможностью осуществления связи с сервером 104 поставщика услуги регистрации и/или устройством 110 доступа. В некоторых вариантах осуществления устройство 102 пользователя может представлять собой мобильное устройство (например, смартфон). В некоторых вариантах осуществления биометрическая информация (например, изображение) для пользователя может быть собрана с использованием камеры устройства 102 пользователя и передана на сервер 104 поставщика услуги регистрации для обработки. В некоторых вариантах осуществления по меньшей мере часть функциональных возможностей, описанных в данном документе, может быть исполнена посредством мобильного приложения, установленного на устройстве 102 пользователя. Устройство 102 пользователя может быть выполнено с возможностью получения биометрического образца от пользователя, который может затем использоваться для регистрации пользователя в описанной системе. [0039] As shown, the system may include a user device 102. The user device 102 may be any electronic device configured to communicate with the registration service provider server 104 and/or the access device 110 . In some embodiments, the user device 102 may be a mobile device (eg, a smartphone). In some embodiments, biometric information (eg, an image) for a user may be collected using the camera of the user's device 102 and transmitted to the registration service provider's server 104 for processing. In some embodiments, at least a portion of the functionality described herein may be performed by a mobile application installed on the user's device 102. The user device 102 may be configured to obtain a biometric sample from the user, which may then be used to register the user with the described system.

[0040] В некоторых вариантах осуществления устройство 102 пользователя может получать биометрический образец от пользователя и генерировать биометрический шаблон 112 на основе этого биометрического образца. Биометрический шаблон 112 может затем быть зашифрован и передан на сервер 104 поставщика услуги регистрации. Например, в некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием ключа шифрования, характерного для устройства 102 пользователя. В другом примере биометрический шаблон может быть зашифрован с использованием открытого ключа шифрования (пары открытого/закрытого ключей), связанного с сервером 104 поставщика услуги регистрации. [0040] In some embodiments, the user device 102 may receive a biometric sample from the user and generate a biometric template 112 based on that biometric sample. The biometric template 112 may then be encrypted and transmitted to the server 104 of the enrollment service provider. For example, in some embodiments, the biometric template may be encrypted using an encryption key specific to the user's device 102. In another example, the biometric template may be encrypted using a public encryption key (public/private key pair) associated with the registration service provider server 104 .

[0041] В некоторых вариантах осуществления устройство 102 пользователя может также предоставлять информацию 114 о счете на сервер 104 поставщика услуги регистрации. Например, пользователя могут попросить выбрать или предоставить по меньшей мере один номер основного счета (PAN), который должен быть связан с функциональной возможностью, описанной в данном документе. В этом примере PAN может быть предоставлен на сервер 104 поставщика услуги регистрации. Следует отметить, что в некоторых вариантах осуществления информация о счете может быть предоставлена на сервер 104 поставщика услуги регистрации по отдельному каналу (т.е. посредством устройства, отличного от устройства 102 пользователя). [0041] In some embodiments, the user device 102 may also provide account information 114 to the server 104 of the registration service provider. For example, the user may be asked to select or provide at least one primary account number (PAN) to be associated with the functionality described herein. In this example, the PAN may be provided to the registration service provider server 104 . It should be noted that, in some embodiments, account information may be provided to the registration service provider server 104 over a separate channel (ie, through a device other than user device 102).

[0042] Как изображено, система может содержать сервер 104 поставщика услуги регистрации (т.е. первый компьютер сервера). Сервер 104 поставщика услуги регистрации может представлять собой любое вычислительное устройство, выполненное с возможностью выполнения по меньшей мере части функциональных возможностей, описанных в данном документе. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может принимать биометрическую информацию с устройства 102 пользователя и может обрабатывать эту биометрическую информацию в отношении одного или более счетов. Поставщик услуги регистрации может создавать и распределять подходящим образом приложение поставщика услуги регистрации (например, мобильное приложение для установки на устройстве 102 пользователя и исполнении с него). Сервер 104 поставщика услуги регистрации может, как правило, представлять собой систему, связанную с эмитентом или субъектом (например, банком), который имеет коммерческую связь с сервером 106 проверки на совпадение или другим субъектом. [0042] As depicted, the system may include a registration service provider server 104 (ie, a first server computer). Registration service provider server 104 may be any computing device capable of performing at least a portion of the functionality described herein. In some embodiments, registration service provider server 104 may receive biometric information from user device 102 and may process that biometric information in relation to one or more accounts. The registration service provider may appropriately create and distribute the registration service provider application (eg, a mobile application for installation on and execution from the user's device 102). The registration service provider server 104 may typically be a system associated with an issuer or entity (eg, a bank) that has a commercial relationship with the matching server 106 or other entity.

[0043] Сервер 104 поставщика услуги регистрации может быть выполнен с возможностью шифрования биометрического шаблона 112, принятого с устройства 102 пользователя, с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может сначала расшифровывать биометрический шаблон 112 перед повторным шифрованием биометрического шаблона 112, принятого с устройства 102 пользователя, с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. Например, если биометрический шаблон 112 был зашифрован устройством 102 пользователя с использованием ключа шифрования, характерного для устройства 102 пользователя, то сервер 104 поставщика услуги регистрации может расшифровывать биометрический шаблон 112 с использованием ключа шифрования, индивидуального для устройства 102 пользователя, и может повторно шифровать биометрический шаблон 112 с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. Сервер 104 поставщика услуги регистрации может передавать зашифрованный биометрический шаблон 116 на сервер 106 проверки на совпадение. В некоторых вариантах осуществления биометрический шаблон 112 может быть стерт или иным образом удален из запоминающего устройства сервера 104 поставщика услуги регистрации после отправки зашифрованного биометрического шаблона 116 на сервер 106 проверки на совпадение. [0043] The registration service provider server 104 may be configured to encrypt the biometric template 112 received from the user device 102 using a public key associated with the registration service provider server 104. In some embodiments, the enrollment provider server 104 may first decrypt the biometric template 112 before re-encrypting the biometric template 112 received from the user device 102 using the public key associated with the enrollment provider server 104. For example, if the biometric template 112 was encrypted by the user device 102 using an encryption key specific to the user device 102, then the enrollment provider server 104 may decrypt the biometric template 112 using the encryption key specific to the user device 102 and may re-encrypt the biometric template. 112 using the public key associated with the registration service provider server 104 . The registration service provider server 104 may transmit the encrypted biometric template 116 to the matching server 106 . In some embodiments, the implementation of the biometric template 112 may be erased or otherwise deleted from the storage device of the server 104 of the registration service provider after sending the encrypted biometric template 116 to the server 106 match check.

[0044] Сервер 104 поставщика услуги регистрации может быть дополнительно выполнен с возможностью приема зашифрованного сравнения между двумя биометрическими шаблонами и определения вероятности совпадения. В некоторых вариантах осуществления это может включать первую расшифровку зашифрованного файла данных сравнения, сгенерированного сервером 106 проверки на совпадение. После расшифровки сервер 104 поставщика услуги регистрации может обрабатывать принятый файл данных сравнения с использованием любых подходящих методик биометрической аутентификации. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может отвечать серверу 106 проверки на совпадение указанием вероятности того, что биометрические шаблоны совпадают. В некоторых вариантах осуществления вероятность того, что биометрические шаблоны совпадают, может быть представлена как процентная доля. [0044] The registration service provider server 104 may be further configured to receive an encrypted comparison between the two biometric templates and determine a match probability. In some embodiments, this may include first decrypting the encrypted comparison data file generated by the matching server 106 . Once decrypted, the registration service provider server 104 may process the received comparison data file using any suitable biometric authentication techniques. In some embodiments, the registration service provider server 104 may respond to the matching server 106 with an indication of the likelihood that the biometric templates match. In some embodiments, the probability that the biometric templates match can be represented as a percentage.

[0045] Как изображено, система может содержать сервер 106 проверки на совпадение (т.е. второй сервер). Сервер 106 проверки на совпадение может быть выполнен с возможностью приема данных, выполнения вычислений, передачи данных и т. д. В некоторых вариантах осуществления сервер 106 проверки на совпадение может быть выполнен с возможностью приема и обработки запроса с устройства 110 доступа. Запрос, принятый с устройства 110 доступа, может содержать биометрический шаблон 118, сгенерированный устройством 110 доступа для пользователя, который желает совершить транзакцию. Сервер 106 проверки на совпадение может быть выполнен с возможностью шифрования биометрического шаблона 118 с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации, и сравнения зашифрованного биометрического шаблона с зашифрованным биометрическим шаблоном 116, принятым с сервера 104 поставщика услуги регистрации. При шифровании биометрического шаблона 118 сервер 106 проверки на совпадение может использовать методики шифрования, по существу схожие с теми, которые используются сервером 104 поставщика услуги регистрации для шифрования биометрического шаблона 116. [0045] As shown, the system may include a matching server 106 (ie, a second server). Match server 106 may be configured to receive data, perform calculations, transmit data, etc. In some embodiments, match server 106 may be configured to receive and process a request from access device 110. The request received from the access device 110 may contain a biometric template 118 generated by the access device 110 for a user who wishes to complete a transaction. The matching server 106 may be configured to encrypt the biometric template 118 using the public key associated with the registration service provider server 104 and compare the encrypted biometric template with the encrypted biometric template 116 received from the registration service provider server 104. In encrypting the biometric template 118, the matching server 106 may use encryption techniques substantially similar to those used by the registration service provider server 104 to encrypt the biometric template 116.

[0046] После того как сервер 106 проверки на совпадение зашифровал биометрический шаблон 118, сервер 106 проверки на совпадение может сравнивать зашифрованный биометрический шаблон 118 с зашифрованным биометрическим шаблоном 116. Следует отметить, что не нужно расшифровывать для сравнения два шаблона, если оба биометрических шаблона были зашифрованы с использованием методик гомоморфного шифрования. Действительно, сервер 106 проверки на совпадение может даже не быть выполнен с возможностью расшифровки любого биометрического шаблона. После того как сервер 106 проверки на совпадение сгенерировал сравнение зашифрованных данных, сервер 106 проверки на совпадение может передавать это сравнение на сервер 104 поставщика услуги регистрации. Сервер 104 поставщика услуги регистрации может отвечать серверу 106 проверки на совпадение указанием вероятности того, что два биометрических шаблона совпадают. В некоторых вариантах осуществления сервер 106 проверки на совпадение может затем определять, больше ли значение вероятности некоторого предопределенного порогового значения, и, на основе этого определения, может предоставлять устройству 110 доступа указание того, одобрять или отклонять транзакцию. [0046] Once the matching server 106 has encrypted the biometric template 118, the matching server 106 can compare the encrypted biometric template 118 with the encrypted biometric template 116. It should be noted that it is not necessary to decrypt the two templates for comparison if both biometric templates were encrypted using homomorphic encryption techniques. Indeed, the matching server 106 may not even be capable of decrypting any biometric template. After the matching server 106 has generated a comparison of the encrypted data, the matching server 106 may send the comparison to the registration service provider server 104 . The registration service provider server 104 may respond to the matching server 106 with a probability that the two biometric templates match. In some embodiments, the match server 106 may then determine if the probability value is greater than some predetermined threshold value and, based on this determination, may provide an indication to the access device 110 whether to approve or reject the transaction.

[0047] Сеть 108 может представлять собой любую подходящую сеть связи или комбинацию сетей. Подходящие сети связи могут включать любое из или комбинацию следующего: прямое соединение; Интернет; локальная вычислительная сеть (LAN); городская вычислительная сеть (MAN); рабочие миссии и узлы в Интернет (OMNI); безопасное обычное соединение; региональная вычислительная сеть (WAN); беспроводная сеть (например, применяющая, но без ограничения, такие протоколы, как протокол для беспроводной передачи данных (WAP), I-mode и/или т. п.); и/или т. п. Сообщения между компьютерами, сетями и устройствами могут быть переданы с помощью протоколов защищенной связи, таких как, но без ограничения, протокол передачи файлов (FTP); протокол передачи гипертекста (HTTP); защищенный протокол передачи гипертекста (HTTPS), уровень защищенных сокетов (SSL), ISO (например, ISO 8583) и/или т. п. [0047] Network 108 may be any suitable communications network or combination of networks. Suitable communication networks may include any or a combination of the following: direct connection; Internet; local area network (LAN); city computer network (MAN); operational missions and nodes on the Internet (OMNI); secure regular connection; regional area network (WAN); a wireless network (eg, employing, but not limited to, protocols such as WAP, I-mode, and/or the like); and/or the like. Messages between computers, networks, and devices may be transmitted using secure communication protocols such as, but not limited to, File Transfer Protocol (FTP); Hypertext Transfer Protocol (HTTP); Hypertext Transfer Protocol Secure (HTTPS), Secure Sockets Layer (SSL), ISO (e.g. ISO 8583), and/or the like.

[0048] Устройство 110 доступа может быть выполнено с возможностью управления доступом к конкретному ресурсу. После приема запроса от пользователя на доступ к этому ресурсу устройство 110 доступа может быть выполнено с возможностью получения биометрического образца от этого пользователя. Устройство 110 доступа может затем генерировать второй биометрический шаблон 118 (например, шаблон аутентификации) с использованием процесса, по существу схожего с процессом, используемым устройством 102 пользователя для генерирования биометрического шаблона 112. Биометрический шаблон 118 может затем быть передан на сервер 106 проверки на совпадение для аутентификации. В некоторых вариантах осуществления устройство 110 доступа может принимать ответ с сервера 106 проверки на совпадение, который содержит указание того, была ли аутентифицирована транзакция. Устройство 110 доступа может затем совершить транзакцию способом, схожим с обычными способами, с использованием информации о счете, предоставленной посредством устройства 102 пользователя. [0048] Access device 110 may be configured to control access to a particular resource. Upon receiving a request from a user to access that resource, access device 110 may be configured to obtain a biometric sample from that user. The access device 110 may then generate a second biometric template 118 (eg, an authentication template) using a process substantially similar to the process used by the user device 102 to generate the biometric template 112. The biometric template 118 may then be transmitted to the server 106 to check for a match for authentication. In some embodiments, access device 110 may receive a response from match server 106 that contains an indication of whether a transaction has been authenticated. Access device 110 may then complete the transaction in a manner similar to conventional methods using the account information provided by user device 102.

[0049] Для простоты представления на фиг. 1 показано определенное количество компонентов. Однако следует понимать, что варианты осуществления настоящего изобретения могут содержать каждый компонент в количестве более одного. В дополнение, некоторые варианты осуществления настоящего изобретения могут содержать меньшее или большее количество компонентов, чем количество всех компонентов, показанных на фиг. 1. В дополнение, компоненты по фиг. 1 могут осуществлять связь посредством любой подходящей среды связи (включая сеть Интернет) с использованием любого подходящего протокола связи. [0049] For ease of presentation in FIG. 1 shows a certain number of components. However, it should be understood that embodiments of the present invention may contain more than one of each component. In addition, some embodiments of the present invention may contain fewer or more components than all of the components shown in FIG. 1. In addition, the components of FIG. 1 may communicate over any suitable communication medium (including the Internet) using any suitable communication protocol.

[0050] На фиг. 2 изображен иллюстративный пример системы или архитектуры 200, в которой могут быть реализованы методики обеспечения возможности биометрической аутентификации без раскрытия субъекту авторизации закрытой информации. В архитектуре 200 один или более потребителей и/или пользователей могут использовать устройство 102 пользователя. В некоторых примерах устройство 102 пользователя может находиться в связи с сервером 104 поставщика услуги регистрации и/или устройством доступа через сеть 108 или через другие сетевые соединения. Устройство доступа может, в свою очередь, находиться в связи с сервером 106 проверки на совпадение. Устройство 102 пользователя, сервер 104 поставщика услуги регистрации, сеть 108 и сервер 106 проверки на совпадение могут быть примерами соответственных компонентов, изображенных на фиг. 1. [0050] FIG. 2 depicts an illustrative example of a system or architecture 200 in which techniques can be implemented to enable biometric authentication without disclosing sensitive information to the authorization subject. In architecture 200, one or more consumers and/or users may use user device 102. In some examples, the user device 102 may be in communication with the registration service provider server 104 and/or the access device via the network 108 or other network connections. The access device may in turn be in communication with the matching server 106 . The user device 102, the registration service provider server 104, the network 108, and the matching server 106 may be examples of the respective components shown in FIG. one.

[0051] Устройство 102 пользователя может представлять собой вычислительное устройство любого типа, включая, но без ограничения, мобильный телефон, смартфон, личный цифровой помощник (PDA), портативный переносной компьютер, настольный компьютер, компьютер сервера, устройство для тонкого клиента, планшетный персональный компьютер и т. д. Устройство 102 пользователя может содержать запоминающее устройство 202 и один или более процессоров 204, выполненных с возможностью обработки пользовательских входных данных. Устройство 102 пользователя может также содержать один или более датчиков входных данных, таких как съемочные устройства 206, для приема пользовательских входных данных. Как известно в данной области техники, существуют множество датчиков входных данных, выполненных с возможностью обнаружения пользовательских входных данных, такие как акселерометры, видеокамеры, микрофоны и т. д. Пользовательские входные данные, полученные датчиками входных данных, могут иметь форму множества типов входных данных, включая, но без ограничения, звуковые данные, визуальные данные или биометрические данные. В некоторых вариантах осуществления съемочные устройства 206 могут включать ряд разных типов съемочных устройств, одно или более из которых может представлять собой устройство в виде дальнокамерной камеры (например, датчик глубины), выполненное с возможностью генерирования удаленного изображения, а другое из которых может представлять собой камеру, выполненную с возможностью сбора информации изображения. Соответственно, биометрическая информация, полученная посредством съемочного устройства, может включать информацию изображения и/или глубинную информацию (например, карту удаленности лица). [0051] User device 102 may be any type of computing device, including, but not limited to, a mobile phone, smartphone, personal digital assistant (PDA), portable laptop computer, desktop computer, server computer, thin client device, tablet personal computer and so on. User device 102 may include a storage device 202 and one or more processors 204 configured to process user input. User device 102 may also include one or more input sensors, such as cameras 206, for receiving user input. As is known in the art, there are a variety of input sensors configured to detect user input, such as accelerometers, video cameras, microphones, etc. The user input received by the input sensors may be in the form of multiple types of input, including, but not limited to, audio data, visual data, or biometric data. In some embodiments, imaging devices 206 may include a number of different types of imaging devices, one or more of which may be a distance camera device (e.g., a depth sensor) configured to generate a distant image, and another of which may be a camera. configured to collect image information. Accordingly, the biometric information obtained by the capture device may include image information and/or depth information (eg, a face distance map).

[0052] Варианты осуществления приложения на устройстве 102 пользователя могут быть сохранены и выполнены из его запоминающего устройства 202. Запоминающее устройство 202 может хранить программные инструкции, которые могут быть загружены и исполнены на процессоре (процессорах) 204, а также данные, генерируемые во время исполнения этих программ. В зависимости от конфигурации и типа устройства 102 пользователя запоминающее устройство 202 может быть энергозависимым (таким как оперативное запоминающее устройство (RAM)) и/или энергонезависимым (таким как постоянное запоминающее устройство (ROM), флэш-память и т. д.). Устройство 102 пользователя также может содержать дополнительную память, такую как либо съемная память, либо несъемная память, включая, но без ограничения, магнитную память, оптические диски и/или память на ленте. Дисковые накопители и связанные с ними машиночитаемые носители могут предоставлять энергонезависимую память для машиночитаемых инструкций, структур данных, программных модулей и других данных для вычислительных устройств. В некоторых реализациях запоминающее устройство 202 может включать несколько разных типов запоминающего устройства, таких как статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM) или ROM. Обращаясь к содержимому запоминающего устройства 202 более подробно, запоминающее устройство 202 может содержать операционную систему и одну или более прикладных программ или служб для реализации признаков, раскрытых в данном документе, включая по меньшей мере модуль для генерирования биометрического шаблона на основе биометрического образца (модуль 208 генерирования биометрического шаблона). Запоминающее устройство 202 может также содержать инструкции, которые обеспечивают шифрование устройством 102 пользователя любого генерируемого биометрического шаблона. В некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием ключа шифрования, характерного для устройства 102 пользователя. В некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием открытого ключа шифрования, связанного с сервером 104 поставщика услуги регистрации. [0052] Embodiments of the application on the user's device 102 may be stored and executed from its storage device 202. The storage device 202 may store program instructions that can be loaded and executed on the processor(s) 204, as well as data generated during execution. these programs. Depending on the configuration and type of user device 102, storage device 202 may be volatile (such as random access memory (RAM)) and/or nonvolatile (such as read only memory (ROM), flash memory, etc.). The user device 102 may also include additional memory, such as either removable memory or non-removable memory, including, but not limited to, magnetic memory, optical disks, and/or tape memory. Disk drives and associated computer-readable media can provide non-volatile memory for computer-readable instructions, data structures, program modules, and other data for computing devices. In some implementations, storage device 202 may include several different types of storage device, such as static random access memory (SRAM), dynamic random access memory (DRAM), or ROM. Referring to the contents of the storage device 202 in more detail, the storage device 202 may contain an operating system and one or more application programs or services for implementing the features disclosed herein, including at least a module for generating a biometric template based on a biometric sample (module 208 generating biometric template). Memory 202 may also contain instructions that cause user device 102 to encrypt any generated biometric template. In some embodiments, the biometric template may be encrypted using an encryption key specific to the user's device 102. In some embodiments, the implementation of the biometric template may be encrypted using a public encryption key associated with the server 104 of the registration service provider.

[0053] В некоторых вариантах осуществления модуль 208 генерирования биометрического шаблона может содержать код, который при исполнении вместе с процессорами 204 обеспечивает получение устройством 102 пользователя биометрического образца от пользователя и генерирования биометрического шаблона на основе этого биометрического образца. В некоторых вариантах осуществления биометрический шаблон может быть двоичным математическим файлом, представляющим уникальные признаки отпечатка пальца, глаза, руки или голоса человека, необходимые для выполнения точной аутентификации человека. Биометрический шаблон может быть сгенерирован посредством ряда подходящих способов. Например, биометрический шаблон может хранить указание взаимодействия между различными биометрическими признаками для пользователя, которые получают на основе биометрического образца. В качестве иллюстративного примера, биометрический шаблон может хранить указание местоположения глаза пользователя относительно носа этого пользователя. Следует отметить, что, хотя для полного биометрического образца может потребоваться большой объем памяти для хранения, биометрический шаблон, полученный из биометрического образца, который хранит указание взаимосвязей между признаками, обнаруженными в образце, может потребовать значительно меньше памяти для хранения. [0053] In some embodiments, biometric template generation module 208 may comprise code that, when executed with processors 204, causes user device 102 to obtain a biometric sample from the user and generate a biometric template based on that biometric sample. In some embodiments, the biometric template may be a binary mathematical file representing the unique features of a fingerprint, eye, hand, or voice of a person necessary to perform accurate authentication of a person. The biometric template may be generated in a number of suitable ways. For example, a biometric template may store an indication of the interaction between various biometric features for a user that are derived from the biometric sample. As an illustrative example, the biometric template may store an indication of the location of a user's eye relative to that user's nose. It should be noted that while a complete biometric sample may require a large amount of storage space, a biometric template derived from a biometric sample that stores an indication of relationships between features found in the sample may require significantly less storage space.

[0054] Запоминающее устройство 202 и любая дополнительная память, как съемная, так и несъемная, являются примерами постоянных машиночитаемых запоминающих носителей. Например, машиночитаемые запоминающие носители могут включать энергозависимые или энергонезависимые, съемные или несъемные носители, реализованные любыми способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. В контексте данного документа модули могут относиться к программным модулям, исполняемым вычислительными системами (например, процессорами), которые являются частью устройства 102 пользователя или сервера 104 поставщика услуги регистрации. Устройство 102 пользователя может также содержать соединения связи, которые обеспечивают устройству 102 пользователя возможность связи с сохраненной базой данных, другим вычислительным устройством или сервером, терминалами пользователя и/или другими устройствами в сети 208. Устройство 102 пользователя также может содержать устройство (устройства) ввода/вывода (I/O) и/или порты, например, для обеспечения соединения с клавиатурой, мышью, пером, устройством речевого ввода, устройством сенсорного ввода, дисплеем, динамиками, принтером и т. д. [0054] The storage device 202 and any additional memory, whether removable or non-removable, are examples of persistent computer-readable storage media. For example, computer readable storage media may include volatile or nonvolatile, removable or non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules, or other data. As used herein, modules may refer to software modules executed by computing systems (eg, processors) that are part of a user device 102 or a registration service provider server 104 . The user device 102 may also include communications connections that allow the user device 102 to communicate with a stored database, another computing device or server, user terminals, and/or other devices on the network 208. The user device 102 may also include input device(s). output (I/O) and/or ports, e.g. for connecting to a keyboard, mouse, pen, speech input device, touch input device, display, speakers, printer, etc.

[0055] В некоторых примерах сеть 208 может включать любую из или комбинацию многих разных типов сетей, таких как кабельные сети, Интернет, беспроводные сети, сотовые сети и другие приватные и/или публичные сети. Следует отметить, что описанные методики могут относиться к другим клиент-серверным схемам (например, приставкам и т. п.), а также неклиент-серверным схемам (например, локально хранимым приложениям, пиринговым системам и т. п.). [0055] In some examples, network 208 may include any or a combination of many different types of networks, such as cable networks, the Internet, wireless networks, cellular networks, and other private and/or public networks. It should be noted that the techniques described may apply to other client-server schemes (eg, set-top boxes, etc.) as well as non-client-server schemes (eg, locally stored applications, peer-to-peer systems, etc.).

[0056] Сервер 104 поставщика услуги регистрации и/или сервер 106 проверки на совпадение могут представлять собой вычислительное устройство любого типа, включая, но без ограничения, мобильный телефон, смартфон, личный цифровой помощник (PDA), портативный переносной компьютер, настольный компьютер, компьютер сервера, устройство для тонкого клиента, планшетный персональный компьютер и т. д. Дополнительно следует отметить, что в некоторых вариантах осуществления одно или оба из изображенных вычислительных устройств могут быть исполнены одной или более виртуальными машинами, реализованными в размещаемой вычислительной среде. Размещаемая вычислительная среда может содержать один или более быстро предоставляемых и освобождаемых вычислительных ресурсов, причем эти вычислительные ресурсы могут содержать вычислительные, сетевые и/или запоминающие устройства. Размещаемая вычислительная среда также может быть названа облачной вычислительной средой. [0056] The registration service provider server 104 and/or the matching server 106 may be any type of computing device, including, but not limited to, a mobile phone, a smartphone, a personal digital assistant (PDA), a portable laptop computer, a desktop computer, a computer server, thin client device, tablet personal computer, etc. Additionally, it should be noted that in some embodiments, one or both of the depicted computing devices may be executed by one or more virtual machines implemented in a hosted computing environment. The hosted computing environment may include one or more rapidly provisioned and released computing resources, and these computing resources may include computing, networking, and/or storage devices. A hosted computing environment may also be referred to as a cloud computing environment.

[0057] В одной иллюстративной конфигурации сервер 104 поставщика услуги регистрации может содержать по меньшей мере одно запоминающее устройство 210 и один или более процессорных элементов (или процессоров) 212. Процессор (процессоры) 212 может быть реализован по необходимости в виде аппаратного обеспечения, исполняемых компьютером инструкций, программно-аппаратного обеспечения или их комбинаций. Реализации процессора (процессоров) 212 в виде исполняемых компьютером инструкций или программно-аппаратного обеспечения могут включать исполняемые компьютером или исполняемые машиной инструкции, написанные на любом подходящем языке программирования, для выполнения различных описанных функций. [0057] In one exemplary configuration, the registration service provider server 104 may include at least one storage device 210 and one or more processing elements (or processors) 212. The processor(s) 212 may be implemented as necessary in the form of hardware executed by a computer. instructions, firmware, or combinations thereof. Computer executable instructions or firmware implementations of processor(s) 212 may include computer executable or machine executable instructions written in any suitable programming language to perform the various functions described.

[0058] Обращаясь к содержанию запоминающего устройства 210 более подробно, запоминающее устройство 210 может содержать модуль 214 шифрования шаблонов, который при использовании вместе с процессором (процессорами) 212 выполнен с возможностью шифрования биометрических шаблонов, принятых с одного или более устройств 102 пользователя, с использованием методик гомоморфного шифрования. Модуль 214 шифрования шаблонов может быть выполнен с возможностью использования открытого ключа шифрования, связанного с сервером 104 поставщика услуги регистрации, для шифрования биометрического шаблона. В некоторых вариантах осуществления модуль 214 шифрования шаблонов может расшифровывать биометрический шаблон, принятый с устройства 102 пользователя перед повторным шифрованием биометрического шаблона. В некоторых вариантах осуществления модуль 214 шифрования шаблонов может использовать одну или более гомоморфных криптосистем, доступных в библиотеках с открытым доступом, таких как библиотека HElib, библиотека FHEW и/или библиотека TFHE. [0058] Referring to the contents of the storage device 210 in more detail, the storage device 210 may include a template encryption module 214 that, when used in conjunction with the processor(s) 212, is configured to encrypt biometric templates received from one or more user devices 102 using homomorphic encryption techniques. The template encryption module 214 may be configured to use the public encryption key associated with the registration service provider server 104 to encrypt the biometric template. In some embodiments, template encryption module 214 may decrypt the biometric template received from user device 102 before re-encrypting the biometric template. In some embodiments, template encryption module 214 may use one or more homomorphic cryptosystems available in open source libraries such as the HElib library, the FHEW library, and/or the TFHE library.

[0059] Запоминающее устройство 210 может содержать модуль 216 гомоморфной верификации, который при использовании вместе с процессором (процессорами) 212 выполнен с возможностью расшифровки зашифрованного результата совпадения, принятого с сервера проверки на совпадение, и определения степени, в которой совпадение является успешным. В некоторых вариантах осуществления модуль 216 гомоморфной верификации может принимать файл данных с сервера 106 проверки на совпадение, который представляет сравнение или схожесть между двумя зашифрованными биометрическими шаблонами. Поскольку два биометрических шаблона были зашифрованы с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации, с использованием методик гомоморфного шифрования, принятый файл данных также зашифровывается и может быть расшифрован с использованием закрытого ключа, связанного с сервером поставщика услуги регистрации. Модуль 216 гомоморфной верификации может быть выполнен с возможностью расшифровки принятого файла данных для определения степени, в которой совпадают два биометрических шаблона. В некоторых вариантах осуществления файл данных может содержать указание того, насколько схожи или отличаются два биометрических шаблона. Модуль 216 гомоморфной верификации может генерировать значение, которое представляет вероятность того, что пользователи, связанные с двумя биометрическими шаблонами, представляют собой одного и того же пользователя. Этот результат, который может быть представлен в виде числового значения (например, процентной доли), может быть предоставлен обратно на сервер 106 проверки на совпадение. В некоторых вариантах осуществления результат может быть предоставлен на устройство 102 пользователя, связанное с файлом данных. [0059] Memory 210 may include a homomorphic verification module 216 that, when used in conjunction with processor(s) 212, is configured to decrypt the encrypted match result received from the match check server and determine the extent to which the match is successful. In some embodiments, the homomorphic verification module 216 may receive a data file from the matching server 106 that represents a comparison or similarity between two encrypted biometric templates. Since the two biometric templates have been encrypted using the public key associated with the registration service provider server 104 using homomorphic encryption techniques, the received data file is also encrypted and can be decrypted using the private key associated with the registration service provider server. The homomorphic verification module 216 may be configured to decrypt the received data file to determine the extent to which the two biometric templates match. In some embodiments, the data file may contain an indication of how similar or different the two biometric templates are. The homomorphic verification module 216 may generate a value that represents the probability that the users associated with the two biometric templates are the same user. This result, which may be represented as a numeric value (eg, a percentage), may be provided back to the matching server 106 . In some embodiments, the result may be provided to the user device 102 associated with the data file.

[0060] Дополнительно запоминающее устройство 210 может содержать данные 218 ключей шифрования, которые хранят открытый и закрытый ключ шифрования, связанный с сервером 104 поставщика услуги регистрации, а также ключи шифрования, связанные с рядом устройств 102 пользователя. Запоминающее устройство может также содержать данные 220 о счете, которые могут хранить информацию для одного или более пользователей и/или устройств 102 пользователя, а также платежную/аутентификационную информацию для соответственных пользователей и/или устройств 102 пользователя. Данные 218 ключей шифрования и/или данные 220 о счете могут быть сохранены в одной или более базах данных. [0060] Additionally, the storage device 210 may contain encryption key data 218 that store the public and private encryption key associated with the registration service provider server 104, as well as encryption keys associated with a number of user devices 102. The storage device may also contain account data 220, which may store information for one or more users and/or user devices 102, as well as payment/authentication information for the respective users and/or user devices 102. Encryption key data 218 and/or account data 220 may be stored in one or more databases.

[0061] Сервер 106 проверки на совпадение может относиться к любому подходящему типу вычислительного устройства, которое взаимодействует с устройством доступа для аутентификации пользователя при транзакции. Сервер 106 проверки на совпадение может содержать запоминающее устройство 222 и один или более процессоров 224, выполненных с возможностью обработки пользовательских входных данных. Варианты осуществления приложения на сервере 106 проверки на совпадение могут сохраняться и исполняться с его запоминающего устройства 222. Запоминающее устройство 222 может хранить программные инструкции, которые могут быть загружены и исполнены на процессоре (процессорах) 224, а также данные, генерируемые во время исполнения этих программ. Запоминающее устройство 222 может содержать операционную систему и одну или более прикладных программ или служб для реализации признаков, раскрытых в данном документе, включая по меньшей мере модуль для шифрования биометрического шаблона (модуль 226 шифрования шаблонов) и/или модуль для выполнения гомоморфного сравнение по зашифрованным данным (модуль 228 сравнения шаблонов). Модуль 226 шифрования шаблонов может быть по существу схожим с модулем 214 шифрования шаблонов, описанным выше. Следует отметить, что в некоторых вариантах осуществления биометрический шаблон может быть зашифрован посредством устройства доступа перед передачей на сервер проверки на совпадение. [0061] The matching server 106 may refer to any suitable type of computing device that interacts with an access device to authenticate a user in a transaction. The matching server 106 may include a storage device 222 and one or more processors 224 configured to process user input. Embodiments of the application on the matching server 106 may be stored and executed from its storage device 222. The storage device 222 may store program instructions that can be loaded and executed on the processor(s) 224, as well as data generated during the execution of these programs. . Memory 222 may comprise an operating system and one or more application programs or services for implementing the features disclosed herein, including at least a module for encrypting a biometric template (template encryption module 226) and/or a module for performing homomorphic comparison on encrypted data. (module 228 pattern comparison). The template encryption module 226 may be substantially similar to the template encryption module 214 described above. It should be noted that, in some embodiments, the biometric template may be encrypted by the access device prior to transmission to the matching server.

[0062] Модуль 228 сравнения шаблонов может быть выполнен с возможностью сравнения двух биометрических шаблонов, которые были зашифрованы с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. Следует отметить, что сервер 106 проверки на совпадение может не иметь доступа к закрытому ключу, связанному с сервером 104 поставщика услуги регистрации, следовательно, модуль 228 сравнения шаблонов не может быть выполнен с возможностью расшифровки биометрических шаблонов. Однако поскольку биометрические шаблоны были зашифрованы с использованием методик гомоморфного шифрования, модуль 228 сравнения шаблонов может обрабатывать зашифрованные биометрические шаблоны, как если бы это были незашифрованные биометрические шаблоны, для создания файла данных, который представляет разницы или схожести между двумя биометрическими шаблонами. Файл данных, созданный этим способом, сам по себе зашифрован, и сервер проверки на совпадение также не может расшифровать файл данных. Вместо этого сервер 106 проверки на совпадение может быть выполнен с возможностью передачи сгенерированного файла данных на сервер 104 поставщика услуги регистрации, который, в свою очередь, расшифровывает файл данных (например, посредством модуля 216 гомоморфной верификации) и возвращает указание вероятности совпадения между двумя биометрическими шаблонами. [0062] The template comparison module 228 can be configured to compare two biometric templates that have been encrypted using the public key associated with the registration service provider server 104 . It should be noted that the matching server 106 may not have access to the private key associated with the registration service provider server 104, therefore, the pattern matching module 228 cannot be configured to decrypt the biometric templates. However, since the biometric templates have been encrypted using homomorphic encryption techniques, the template comparison module 228 can process the encrypted biometric templates as if they were unencrypted biometric templates to create a data file that represents differences or similarities between the two biometric templates. The data file created in this way is itself encrypted, and the matching server cannot decrypt the data file either. Instead, the matching server 106 may be configured to send the generated data file to the enrollment service provider server 104, which in turn decrypts the data file (eg, via homomorphic verification module 216) and returns an indication of the probability of a match between the two biometric templates. .

[0063] На фиг. 3 показана схема последовательности операций способа регистрации согласно варианту осуществления настоящего изобретения. Процесс 300 или по меньшей мере его части могут быть выполнены посредством примерного устройства 102 пользователя, сервера 104 поставщика услуги регистрации и сервера 106 проверки на совпадение, как изображено на фиг. 1 и фиг. 2 и описано выше. [0063] FIG. 3 is a flowchart of a registration method according to an embodiment of the present invention. Process 300, or at least portions thereof, may be performed by exemplary user device 102, registration service provider server 104, and matching server 106, as depicted in FIG. 1 and FIG. 2 and described above.

[0064] В варианте осуществления настоящего изобретения пользователь может регистрироваться в мобильном приложении поставщика услуги регистрации на устройстве 102 пользователя, таком как смартфон пользователя. Регистрация может включать регистрацию одного или более платежных инструментов, таких как кредитные карты, и получение с использованием устройства 102 пользователя биометрического образца, такого как изображение лица. Она может также включать форму аутентификации с демонстрацией серверу 104 поставщика услуги регистрации того, что регистрируемый пользователь является законным владельцем платежных инструментов. В некоторых вариантах осуществления это может быть выполнено пользователем, вводящим код или пароль, таким образом обеспечивается вход пользователя в учетную запись, хранимую сервером 104 поставщика услуги регистрации. В некоторых вариантах осуществления данные регистрации могут содержать биометрический шаблон (зашифрованный или незашифрованный), а также указание счета для связывания с вариантами осуществления настоящего изобретения. После приема данных регистрации процесс может включать сохранение данных регистрации как в связи с информацией о счете, так и с устройством пользователя, с которого данные регистрации были приняты. В некоторых вариантах осуществления данные регистрации могут заменять существующие данные регистрации. Например, пользователь может захотеть использовать новый биометрический образец и/или связать существующий биометрический шаблон с другим счетом. [0064] In an embodiment of the present invention, a user may register with a registration service provider's mobile application on the user's device 102, such as the user's smartphone. Registration may include registering one or more payment instruments, such as credit cards, and obtaining, using the user's device 102, a biometric sample, such as an image of a face. It may also include an authentication form demonstrating to the registration service provider server 104 that the user being registered is the legal owner of the payment instruments. In some embodiments, this may be done by the user entering a code or password, thereby ensuring that the user is logged into an account held by the server 104 of the registration service provider. In some embodiments, the enrollment data may comprise a biometric template (encrypted or unencrypted) as well as an indication of an account for association with embodiments of the present invention. After receiving the registration data, the process may include storing the registration data both in connection with the account information and with the device of the user from which the registration data was received. In some embodiments, registration data may replace existing registration data. For example, the user may wish to use a new biometric template and/or associate an existing biometric template with a different account.

[0065] На этапе S302 устройство 102 пользователя может принимать биометрический образец от пользователя устройства 102 пользователя. В некоторых вариантах осуществления у пользователя могут запросить ввести биометрические данные с использованием биометрического устройства считывания, что приводит к сбору биометрического образца. В некоторых вариантах осуществления биометрический образец может быть собран в ответ на запрос пользователю зарегистрироваться в системе, которая предоставляет биометрический доступ к ресурсу. В некоторых вариантах осуществления от пользователя может потребоваться аутентификация того, что пользователь является тем, кем себя заявляет, на этапе S302. Например, от пользователя может потребоваться войти в учетную запись, поддерживаемую сервером 104 поставщика услуги регистрации. Вход в учетную запись может быть выполнен через мобильное приложение, установленное на устройстве 102 пользователя и исполняемое с него. [0065] In step S302, user device 102 may receive a biometric sample from a user of user device 102. In some embodiments, the user may be prompted to enter biometric data using a biometric reader, resulting in the collection of a biometric sample. In some embodiments, a biometric sample may be collected in response to a request from a user to register with a system that provides biometric access to a resource. In some embodiments, the user may be required to authenticate that the user is who he claims to be in step S302. For example, the user may be required to log into an account maintained by the server 104 of the registration service provider. Login to the account can be performed through a mobile application installed on the user's device 102 and executed from it.

[0066] На этапе S304 устройство 102 пользователя может обрабатывать биометрический образец в первый биометрический шаблон. В некоторых вариантах осуществления это может включать идентификацию различных биометрических признаков внутри полученного биометрического образца и идентификацию взаимосвязей между одним или более этими признаками. Указание этих взаимосвязей может затем быть сформировано в биометрический шаблон. Например, биометрический шаблон может содержать указание относительного расстояния между различными чертами лица пользователя 104. В этом примере биометрический шаблон может хранить указание расстояния между ртом пользователя и носом пользователя по отношению к расстоянию между носом пользователя и лбом пользователя. [0066] In step S304, the user device 102 may process the biometric sample into a first biometric template. In some embodiments, this may include identifying various biometric features within the resulting biometric sample and identifying relationships between one or more of these features. An indication of these relationships can then be formed into a biometric template. For example, the biometric template may contain an indication of the relative distance between various facial features of the user 104. In this example, the biometric template may store an indication of the distance between the user's mouth and the user's nose in relation to the distance between the user's nose and the user's forehead.

[0067] На этапе S306 приложение поставщика услуги регистрации на устройстве 102 пользователя может шифровать первый биометрический шаблон в форме, которая защищает его конфиденциальность и сохранность, а также подтверждает его происхождение. Например, это может быть выполнено с использованием аутентификационного шифрования полученными симметричными ключами, когда сервер 104 поставщика услуги регистрации может иметь главный ключ, который был предварительно использован для получения конкретного ключа или ключей пользователя от пользователя или на основе данных о счете (таких как PAN). В некоторых вариантах осуществления устройство 102 пользователя может, в ответ на запрос на регистрацию пользователя, быть обеспечено ключом шифрования для использования при шифровании биометрического шаблона. В некоторых вариантах осуществления ключ шифрования может представлять собой ключ шифрования, характерный для устройства, который связан с тем устройством 102 пользователя. В некоторых вариантах осуществления устройство 102 пользователя может быть обеспечено открытым ключом (из пары открытого и закрытого ключей), связанным с сервером 104 поставщика услуги регистрации. В некоторых вариантах осуществления совместно используемый секретный ключ может быть создан для устройства 102 пользователя и сервера 104 поставщика услуги регистрации с использованием комбинации пар открытого и закрытого ключа (например, с помощью обмена ключами по методу Диффи-Хеллмана). Биометрический шаблон может затем быть зашифрован с использованием предоставленного ключа шифрования. [0067] In step S306, the enrollment service provider application on the user's device 102 may encrypt the first biometric template in a form that protects its privacy and security and also confirms its origin. For example, this can be done using received symmetric key authentication encryption, where the registration service provider server 104 can have a master key that has been previously used to obtain a specific user key or keys from the user or based on account data (such as PAN). In some embodiments, the user device 102 may, in response to a user registration request, be provided with an encryption key for use in encrypting the biometric template. In some embodiments, the encryption key may be a device-specific encryption key that is associated with that user device 102. In some embodiments, the user device 102 may be provided with a public key (of a public/private key pair) associated with the registry service provider server 104. In some embodiments, a shared secret key may be generated for the user device 102 and the registry service provider server 104 using a combination of public and private key pairs (eg, Diffie-Hellman key exchange). The biometric template can then be encrypted using the provided encryption key.

[0068] На этапе S308 устройство 102 пользователя может передавать сообщение, содержащее зашифрованный биометрический шаблон и идентификационные данные пользователя, на сервер 104 поставщика услуги регистрации. Идентификационные данные пользователя могут идентифицировать пользователя для сервера 104 поставщика услуги регистрации. В некоторых вариантах осуществления идентификационные данные пользователя могут представлять собой пароль, маркер или номер основного счета (PAN). Идентификационные данные пользователя могут быть зашифрованы таким же способом, как и зашифрованный биометрический шаблон. В некоторых вариантах осуществления зашифрованный биометрический шаблон и идентификационные данные пользователя могут быть зашифрованы разными способами. [0068] In step S308, the user device 102 may send a message containing the encrypted biometric template and the user's identity to the server 104 of the registration service provider. The user identity may identify the user to the registration service provider server 104 . In some embodiments, the user's identity may be a password, a token, or a master account number (PAN). The user's identity can be encrypted in the same manner as an encrypted biometric template. In some embodiments, the encrypted biometric template and the user's identity may be encrypted in different ways.

[0069] На этапе S310 после приема сообщения сервер 104 поставщика услуги регистрации может расшифровывать зашифрованный биометрический шаблон и идентификационные данные пользователя. Сервер 104 поставщика услуги регистрации может проверять сохранность и происхождение сообщения. Процесс может дополнительно включать сохранение данных регистрации как в связи с информацией о счете, так и с устройством пользователя, с которого данные регистрации были приняты. В некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. В по меньшей мере некоторых из этих вариантов осуществления зашифрованный биометрический шаблон может быть сохранен после приема. [0069] In step S310, upon receiving the message, the registration service provider server 104 may decrypt the encrypted biometric template and the user's identity. The registration service provider server 104 may check the validity and origin of the message. The process may further include storing the registration data both in connection with the account information and with the user's device from which the registration data was received. In some embodiments, the implementation of the biometric template may be encrypted using the public key associated with the server 104 of the registration service provider. In at least some of these embodiments, the encrypted biometric template may be stored upon receipt.

[0070] На этапе S312 сервер 104 поставщика услуги регистрации может генерировать биометрический идентификатор, также называемый указателем (иногда называемый в данном документе как CH), соответствующий пользователю. Биометрический идентификатор может быть использован внешними сторонами. Биометрический идентификатор может быть сгенерирован таким образом, что он не раскрывает какую-либо информацию о пользователе или не имеет ссылок на идентификатор пользователя или его счет (PAN). В некоторых вариантах осуществления биометрический идентификатор может представлять собой случайный номер или строку символов. В некоторых вариантах осуществления биометрический идентификатор может быть сохранен в базе данных сервера поставщика услуги регистрации в отношении пользователя. [0070] In step S312, the registration service provider server 104 may generate a biometric identifier, also referred to as a pointer (sometimes referred to herein as CH), corresponding to the user. The biometric identifier can be used by external parties. The biometric identifier may be generated in such a way that it does not reveal any information about the user or has no reference to the user's identifier or account (PAN). In some embodiments, the implementation of the biometric identifier may be a random number or a string of characters. In some embodiments, the implementation of the biometric identifier may be stored in the server database of the registration service provider in relation to the user.

[0071] На этапе S314 сервер 104 поставщика услуги регистрации может шифровать расшифрованный первый биометрический шаблон (иногда называемый в данном документе TE), предварительно принятый от пользователя, посредством открытого ключа поставщика услуги регистрации (называемого в данном документе Pb), при этом шифрование может быть записано как Pb{TE} для первого зашифрованного биометрического шаблона. Если криптографическая система, использующая открытый ключ, основана на эллиптических кривых, то может использоваться шифрование Эль-Гамаля, когда первый зашифрованный биометрический шаблон будет подвергаться гомоморфным операциям и как таковой не может использовать смешанную схему шифрования, где полезные данные шифруются симметричным шифром, а симметричный ключ, в свою очередь, шифруется открытым ключом. [0071] In step S314, the registration service provider server 104 may encrypt the decrypted first biometric template (sometimes referred to herein as TE) previously received from the user with the registration service provider's public key (herein referred to as Pb), wherein the encryption may be written as Pb{TE} for the first encrypted biometric template. If the public key cryptographic system is based on elliptic curves, then ElGamal encryption can be used where the first encrypted biometric template will be subject to homomorphic operations and as such cannot use a mixed encryption scheme where the payload is encrypted with a symmetric cipher and the symmetric key , in turn, is encrypted with the public key.

[0072] На этапе S316 после шифрования расшифрованного первого биометрического шаблона для создания первого зашифрованного биометрического шаблона сервер 104 поставщика услуги регистрации может передавать первый зашифрованный биометрический шаблон и биометрический идентификатор на сервер 106 проверки на совпадение. Биометрический идентификатор может быть использован сервером 106 проверки на совпадение, чтобы ссылаться на счет пользователя без предоставления подробностей о пользователе. Передача с сервера 104 поставщика услуги регистрации на сервер 106 проверки на совпадение может быть защищенной, то есть аутентифицированной и зашифрованной, например, посредством протокола безопасности транспортного уровня (TLS). [0072] In step S316, after encrypting the decrypted first biometric template to create the first encrypted biometric template, the registration service provider server 104 may transmit the first encrypted biometric template and the biometric identifier to the matching server 106 . The biometric identifier may be used by the matching server 106 to refer to the user's account without providing details about the user. The transmission from the registration service provider server 104 to the matching server 106 may be secure, that is, authenticated and encrypted, for example, via Transport Layer Security (TLS).

[0073] В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может удалить расшифрованный первый биометрический шаблон, а также первый зашифрованный биометрический шаблон со своей системы (например, базы данных сервера поставщика услуги регистрации), поскольку они могут больше не требоваться на сервере 104 поставщика услуги регистрации. Таким образом, на сервере 104 поставщика услуги регистрации не остается остаточной информации о первом биометрическом шаблоне, даже в зашифрованной форме. [0073] In some embodiments, the registry service provider server 104 may remove the decrypted first biometric template as well as the first encrypted biometric template from its system (e.g., registry service provider server database) as they may no longer be required on the service provider server 104 registration. Thus, no residual information about the first biometric template remains on the registration service provider server 104, even in encrypted form.

[0074] На этапе S318 после приема первого зашифрованного биометрического шаблона и биометрического идентификатора сервер 106 проверки на совпадение может сохранять связь биометрического идентификатора с первым зашифрованным биометрическим шаблоном в базе данных. Следует отметить, что поскольку сервер 106 проверки на совпадение не имеет закрытого ключа поставщика услуги регистрации, связанного с открытым ключом поставщика услуги регистрации, он не может расшифровывать первый зашифрованный биометрический шаблон или открывать первый биометрический шаблон любым способом. Таким образом, сервер 106 проверки на совпадение безопасно сохраняет первый зашифрованный биометрический шаблон, и ни сервер 106 проверки на совпадение, ни субъект, который взламывает сервер 106 проверки на совпадение, не могут получить первый биометрический шаблон, поскольку он зашифрован. [0074] In step S318, after receiving the first encrypted biometric template and the biometric ID, the matching server 106 may store the association of the biometric ID with the first encrypted biometric template in the database. It should be noted that since the matching server 106 does not have the private key of the registration service provider associated with the public key of the registration service provider, it cannot decrypt the first encrypted biometric template or open the first biometric template in any way. Thus, the matching server 106 securely stores the first encrypted biometric template, and neither the matching server 106 nor the entity that hacks the matching server 106 can obtain the first biometric template because it is encrypted.

[0075] В некоторых вариантах осуществления устройство 102 пользователя может не передавать зашифрованный биометрический шаблон на сервер 104 поставщика услуги регистрации, но может передавать идентификационные данные пользователя. В таком случае сервер 104 поставщика услуги регистрации может проверять пользователя по идентификационным данным пользователя. Сервер 104 поставщика услуги регистрации может затем генерировать биометрический идентификатор и потом передавать биометрический идентификатор на устройство 102 пользователя. Устройство 102 пользователя может затем шифровать первый биометрический шаблон посредством открытого ключа поставщика услуги регистрации и потом передавать первый зашифрованный биометрический шаблон, а также биометрический идентификатор на сервер 106 проверки на совпадение. [0075] In some embodiments, the user device 102 may not transmit the encrypted biometric template to the enrollment service provider server 104, but may transmit the user's identity. In such a case, the registration service provider server 104 may verify the user against the user's identity. The registration service provider server 104 may then generate a biometric identifier and then transmit the biometric identifier to the user's device 102. The user device 102 may then encrypt the first biometric template with the registration service provider's public key and then transmit the first encrypted biometric template as well as the biometric identifier to the matching server 106 .

[0076] На фиг. 4 показана схема последовательности операций способа аутентификации согласно варианту осуществления настоящего изобретения. Подобно процессу, изображенному на фиг. 3, процесс 400 или по меньшей мере его части могут быть выполнены посредством примерного устройства 102 пользователя, сервера 104 поставщика услуги регистрации и сервера 106 проверки на совпадение, как изображено на фиг. 1 и фиг. 2 и описано выше. [0076] FIG. 4 is a flowchart of an authentication method according to an embodiment of the present invention. Similar to the process depicted in Fig. 3, process 400, or at least portions thereof, may be performed by exemplary user device 102, registration service provider server 104, and matching server 106 as depicted in FIG. 1 and FIG. 2 and described above.

[0077] Аутентификация может иметь место в ситуации оплаты внутри приложения, которая может не контролироваться сервером 104 поставщика услуги регистрации, но может контролироваться, например, поставщиком ресурса, или при просмотре и активации приложения на основе Java-скрипта со страницы поставщика ресурса. Когда пользователь выполняет аутентификацию, он может делать это в приложении или в Java-скрипте на основе браузера, таком как приложение поставщика ресурсов, расположенное на устройстве 102 пользователя. Приложение поставщика ресурсов может иметь доступ к открытому ключу поставщика услуги регистрации и/или открытому ключу сервера проверки на совпадение. [0077] Authentication may take place in an in-app payment situation, which may not be controlled by the registration service provider server 104, but may be controlled by, for example, the resource provider, or when browsing and activating a Java script based application from the resource provider page. When the user authenticates, the user may do so in an application or in a browser-based Java script such as a resource provider application located on the user's device 102. The resource provider application may have access to the public key of the registration service provider and/or the public key of the matching server.

[0078] На этапе S402 приложение поставщика ресурсов или Java-скрипт могут контактировать с одним из сервера 104 поставщика услуги регистрации или сервера 106 проверки на совпадение для открытия биометрического идентификатора на основе информации, которой может обладать сторона о пользователе (например, маркер или PAN). В некоторых вариантах осуществления приложение поставщика ресурсов на устройстве 102 пользователя может передавать сообщение с запросом биометрического идентификатора на сервер 104 поставщика услуги регистрации. Сообщение с запросом биометрического идентификатора может содержать идентификационные данные пользователя, запрос на биометрический идентификатор и любую другую подходящую информацию. Идентификационные данные пользователя могут представлять собой маркер, PAN или любой другой подходящий идентификатор. [0078] In step S402, the resource provider application or Java script may contact one of the registration service provider server 104 or the matching server 106 to open a biometric identifier based on information the party may have about the user (e.g., token or PAN) . In some embodiments, the resource provider application on the user device 102 may send a biometric identifier request message to the enrollment service provider server 104 . The biometric identifier request message may contain the user's identity, the request for a biometric identifier, and any other suitable information. The user identity may be a token, a PAN, or any other suitable identifier.

[0079] На этапе S404 сервер 104 поставщика услуги регистрации может передавать биометрический идентификатор, связанный с идентификационными данными пользователя, на устройство 102 пользователя в ответ на принятый запрос. В некоторых вариантах осуществления биометрический идентификатор может быть зашифрован перед передачей на устройство 102 пользователя. Например, биометрический идентификатор может быть зашифрован с использованием ключа шифрования, для которого устройство 102 пользователя имеет доступ к ключу расшифровки. [0079] In step S404, the registration service provider server 104 may transmit a biometric identifier associated with the user's identity to the user device 102 in response to the received request. In some embodiments, the implementation of the biometric identifier may be encrypted before transmission to the device 102 of the user. For example, the biometric identifier may be encrypted using an encryption key for which the user device 102 has access to the decryption key.

[0080] После открытия биометрического идентификатора устройством 102 пользователя, на этапе S406, пользователя могут запросить передать биометрический образец на устройство 102 пользователя, например, сделать фото себя (например, селфи) с использованием камеры на устройстве 102 пользователя. [0080] After opening the biometric identifier by the user device 102, in step S406, the user may be requested to transfer the biometric sample to the user device 102, such as taking a photo of themselves (eg, a selfie) using the camera on the user device 102.

[0081] На этапе S408 устройство 102 пользователя может обрабатывать биометрический образец во второй биометрический шаблон (называемый в данном документе TA). Второй биометрический шаблон может быть сгенерирован с использованием методик, по существу схожих с теми, что используются для генерирования первого биометрического шаблона. В некоторых вариантах осуществления приложение или программа, используемые для генерирования второго биометрического шаблона, могут быть одинаковыми приложением или программой, используемыми для генерирования первого биометрического шаблона. [0081] In step S408, the user device 102 may process the biometric sample into a second biometric template (referred to herein as TA). The second biometric template may be generated using techniques substantially similar to those used to generate the first biometric template. In some embodiments, the application or program used to generate the second biometric template may be the same application or program used to generate the first biometric template.

[0082] На этапе S410 в некоторых вариантах осуществления приложение поставщика ресурсов или Java-скрипт могут шифровать второй биометрический шаблон посредством открытого ключа поставщика услуги регистрации, создавая в результате второй зашифрованный биометрический шаблон, Pb{TA}. Следует отметить, что в некоторых вариантах осуществления сервер 106 проверки на совпадение может шифровать второй биометрический шаблон посредством открытого ключа поставщика услуги регистрации, создавая в результате второй зашифрованный биометрический шаблон, Pb{TA}. Приложение поставщика ресурсов может затем шифровать зашифрованный (или незашифрованный) второй биометрический шаблон, биометрический идентификатор и идентификатор транзакции (называемый в данном документе TI) посредством открытого ключа сервера проверки на совпадение (называемого в данном документе PbMS), создавая в результате зашифрованный набор из n элементов, PbMS{Pb{TA}, CH, TI}. Открытый ключ сервера проверки на совпадение может быть смешанной формы, как описано выше. [0082] In step S410, in some embodiments, the resource provider application or Java script may encrypt the second biometric template with the registry service provider's public key, resulting in a second encrypted biometric template, Pb{TA}. It should be noted that in some embodiments, the match server 106 may encrypt the second biometric template with the registration service provider's public key, resulting in a second encrypted biometric template, Pb{TA}. The resource provider application can then encrypt the encrypted (or unencrypted) second biometric template, biometric identifier, and transaction identifier (herein referred to as TI) with the public key of the matching server (herein referred to as PbMS), resulting in an encrypted set of n elements , PbMS{Pb{TA}, CH, TI}. The public key of the matching server may be of a mixed form, as described above.

[0083] На этапе S412 приложение поставщика ресурсов может передавать зашифрованный набор из n элементов на сервер 106 проверки на совпадение. Зашифрованный набор из n элементов может быть передан на сервер 106 проверки на совпадение в форме, которая защищает его сохранность и конфиденциальность. [0083] In step S412, the resource provider application may transmit an encrypted set of n elements to the matching server 106 . The encrypted set of n elements can be transmitted to the matching server 106 in a form that protects its safety and confidentiality.

[0084] На этапе S414 после приема сервером 106 проверки на совпадение зашифрованного набора из n элементов из приложения поставщика ресурсов сервер 106 проверки на совпадение может затем расшифровывать зашифрованный набор из n элементов посредством закрытого ключа сервера проверки на совпадение, соответствующего открытому ключу сервера проверки на совпадение, создавая в результате второй зашифрованный биометрический шаблон, биометрический идентификатор и идентификатор транзакции. [0084] In step S414, after the server 106 receives the encrypted set of n elements from the resource provider application, the matching server 106 may then decrypt the encrypted set of n elements with the private key of the matching server corresponding to the public key of the matching server , resulting in a second encrypted biometric template, a biometric identifier, and a transaction identifier.

[0085] На этапе S416 сервер 106 проверки на совпадение может использовать биометрический идентификатор для поиска первого зашифрованного биометрического шаблона, сохраненного на этапе S318. Это может включать запрашивание у базы данных зашифрованных биометрических шаблонов, сохраненных в связи с биометрическими идентификаторами. [0085] In step S416, the matching server 106 may use the biometric identifier to search for the first encrypted biometric template stored in step S318. This may include querying a database for encrypted biometric templates stored in connection with biometric identifiers.

[0086] На этапе S418 сервер 106 проверки на совпадение может выполнить процесс гомоморфного сравнения между первым зашифрованным биометрическим шаблоном и вторым зашифрованным биометрическим шаблоном, создавая в результате зашифрованный файл данных (т.е. зашифрованный результат совпадения), при этом зашифрованный файл данных находится в области шифрования поставщика услуги регистрации. Другими словами, созданный в результате файл данных может уже быть зашифрован посредством открытого ключа, связанного с сервером 104 поставщика услуги регистрации, при его генерировании. Гомоморфное сравнение может иметь форму обработки зашифрованных данных, которая обеспечивает вычисление по зашифрованным данным с генерированием зашифрованного результата, который при расшифровке совпадает с результатом вычислений, как если бы они были выполнены по незашифрованным данным. Другими словами, два шаблона, которые сравниваются, должны находиться в одной и той же области шифрования, в этом случае области шифрования поставщика услуги регистрации, для выполнения гомоморфной проверки на совпадение, при этом результат совпадения должен также находиться в одной и той же области шифрования. В некоторых вариантах осуществления это может быть представлено как Pb{m} := HE_match( Pb{TE}, Pb{TA} ). Следует отметить, что, несмотря на то, что сервер 104 проверки на совпадение может выполнить гомоморфное сравнение, сервер проверки на совпадение не может интерпретировать результаты этого сравнения, поскольку у него нет доступа к закрытому ключу сервера поставщика услуги регистрации. [0086] In step S418, the matching server 106 may perform a homomorphic comparison process between the first encrypted biometric template and the second encrypted biometric template, resulting in an encrypted data file (i.e., an encrypted match result), wherein the encrypted data file is in Encryption area of the enrollment service provider. In other words, the resulting data file may already be encrypted with the public key associated with the registration service provider server 104 when it is generated. The homomorphic comparison may take the form of encrypted data processing that performs a computation on the encrypted data to generate an encrypted result that, when decrypted, matches the result of the computations as if they had been performed on the unencrypted data. In other words, the two patterns being compared must be in the same encryption region, in this case the registry service provider's encryption region, in order to perform a homomorphic match, the result of the match must also be in the same encryption region. In some embodiments, this may be represented as Pb{m} := HE_match( Pb{TE}, Pb{TA} ). It should be noted that although the matcher 104 can perform a homomorphic comparison, the matcher cannot interpret the results of the match because it does not have access to the registration service provider server's private key.

[0087] На этапе S420 сервер 106 проверки на совпадение может передавать зашифрованный результат совпадения, биометрический идентификатор и идентификатор транзакции на сервер 104 поставщика услуги регистрации с использованием защищенного канала. [0087] In step S420, the match server 106 may transmit the encrypted match result, the biometric ID, and the transaction ID to the registration service provider server 104 using a secure channel.

[0088] На этапе S422 сервер 104 поставщика услуги регистрации может расшифровывать зашифрованный результат совпадения посредством закрытого ключа поставщика услуги регистрации, соответствующего открытому ключу поставщика услуги регистрации, создавая результат совпадения. [0088] In step S422, the registration service provider server 104 may decrypt the encrypted match result with the registration service provider's private key corresponding to the registration service provider's public key, generating a match result.

[0089] Результат совпадения указывает вероятность того, совпадают ли первый биометрический шаблон и второй биометрический шаблон. Результат совпадения может иметь любую подходящую форму. Например, в некоторых вариантах осуществления результат совпадения может представлять собой значение от нуля до ста, при этом нулевое значение означает, что шаблоны не совпадают, и при этом значение, составляющее сто, означает, что шаблоны полностью совпадают. В этом примере значение может быть представлено как процентное значение. В других вариантах осуществления результат совпадения может быть представлен либо как «есть совпадение», либо как «нет совпадения». [0089] The match result indicates the probability that the first biometric template and the second biometric template match. The result of the match can be in any suitable form. For example, in some embodiments, the result of the match may be a value from zero to one hundred, where a value of zero means that the patterns do not match, and a value of one hundred means that the patterns match completely. In this example, the value can be represented as a percentage. In other embodiments, the result of a match may be represented as either "match" or "no match".

[0090] В дополнительных вариантах осуществления после получения файла данных с результатами совпадений сервер 104 поставщика услуги регистрации может передавать уведомление, относящееся к результату совпадения, на устройство 102 пользователя. Уведомление может содержать результат совпадения, а также информацию, относящуюся к результату совпадения и/или идентификатору транзакции. Например, уведомление может быть представлено как «биометрические данные для транзакции #521 совпадают с сохраненными биометрическими данными». [0090] In additional embodiments, after receiving the data file with the results of the matches, the registration service provider server 104 may send a notification related to the result of the match to the user's device 102. The notification may contain the result of the match, as well as information related to the result of the match and/or the transaction ID. For example, a notification might be presented as "the biometric data for transaction #521 matches the stored biometric data."

[0091] В других вариантах осуществления, сервер 104 поставщика услуги регистрации может передавать результат совпадения, биометрический идентификатор и идентификатор транзакции в приложение поставщика ресурсов и/или сервер 106 проверки на совпадение. [0091] In other embodiments, the registration service provider server 104 may transmit the match result, biometric identifier, and transaction identifier to the resource provider application and/or the match check server 106 .

[0092] В некоторых вариантах осуществления результат совпадения может быть использован для аутентификации транзакции, соответствующей идентификатору транзакции. В некоторых вариантах осуществления транзакция может быть аутентифицирована после определения того, что значение результата совпадения больше какого-либо предопределенного порогового значения приемлемого риска. В некоторых вариантах осуществления пороговое значение приемлемого риска может изменяться на основе устройства доступа, с которого был принят запрос, или типа транзакции для аутентификации. Например, некоторые устройства доступа (или субъекты, которые управляют этими устройствами доступа) могут быть склонны к принятию большего уровня риска, чем другие устройства доступа. Следует отметить, что более высокое пороговое значение приемлемого риска приведет к повышению безопасности за счет большего числа ложных отклонений. [0092] In some embodiments, the result of a match may be used to authenticate a transaction corresponding to a transaction ID. In some embodiments, a transaction may be authenticated upon determining that the value of the match result is greater than some predetermined threshold of acceptable risk. In some embodiments, the acceptable risk threshold may vary based on the access device from which the request was received or the type of transaction to be authenticated. For example, some access devices (or the entities that manage those access devices) may be inclined to accept a greater level of risk than other access devices. It should be noted that a higher acceptable risk threshold will result in increased safety due to more false positives.

[0093] На фиг. 5 изображена блок-схема, изображающая примерные взаимодействия, которые могут происходить между сервером поставщика услуги регистрации и сервером проверки на совпадение в соответствии с по меньшей мере некоторыми вариантами осуществления. [0093] FIG. 5 is a flowchart illustrating exemplary interactions that may occur between a registration service provider server and a matching server, in accordance with at least some embodiments.

[0094] В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может принимать запрос на регистрацию с устройства 102 пользователя. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может отвечать на запрос на регистрацию путем предоставления ключа шифрования (например, открытого ключ шифрования, связанного с сервером 104 поставщика услуги регистрации). После приема устройством 102 пользователя ключа шифрования оно может запросить у пользователя предоставить биометрический образец посредством одного или более датчиков входных данных устройства 102 пользователя. Например, устройство пользователя может запросить у пользователя сделать фотографию его лица с использованием съемочного устройства, установленного в устройстве 102 пользователя. Устройство 102 пользователя может генерировать биометрический шаблон на основе принятого биометрического образца. В некоторых вариантах осуществления устройство пользователя может также запрашивать у пользователя пароль или другое средство аутентификации, которое может использоваться для проверки подлинности пользователя. Дополнительно устройство 102 пользователя может запрашивать у пользователя предоставление указания одного или более счетов (например, платежных счетов) для регистрации в системе, описанной в данном документе. Устройство пользователя может передавать каждое из биометрического шаблона и указания счета на сервер поставщика услуги регистрации на этапе 502. В некоторых вариантах осуществления сервер поставщика услуги регистрации может назначать биометрический идентификатор для связывания с биометрическим шаблоном и устройством 102 пользователя. Сервер поставщика услуги регистрации может передавать биометрический идентификатор на устройство 102 пользователя (например, с подтверждением того, что биометрический шаблон был принят). [0094] In some embodiments, the registration service provider server 104 may receive a registration request from the user's device 102. In some embodiments, the registration service provider server 104 may respond to the registration request by providing an encryption key (eg, a public encryption key associated with the registration service provider server 104). After the user device 102 receives the encryption key, it may request the user to provide a biometric sample through one or more user device 102 input sensors. For example, the user's device may request the user to take a photo of their face using the camera device installed in the user's device 102. The user device 102 may generate a biometric template based on the received biometric sample. In some embodiments, the user's device may also prompt the user for a password or other means of authentication that may be used to authenticate the user. Additionally, the user device 102 may prompt the user to provide an indication of one or more accounts (eg, billing accounts) to register with the system described herein. The user device may transmit each of the biometric template and account indication to the enrollment provider server at step 502. In some embodiments, the enrollment provider server may assign a biometric identifier for association with the biometric template and the user device 102. The registration service provider server may send the biometric identifier to the user device 102 (eg, with confirmation that the biometric template has been received).

[0095] На этапе 504 сервер 104 поставщика услуги регистрации может генерировать гомоморфно зашифрованный биометрический шаблон на основе биометрического шаблона, который он принял с устройства пользователя на этапе 502. Чтобы это сделать, сервер 104 поставщика услуги регистрации может шифровать принятый биометрический шаблон с использованием своего открытого ключа. Зашифрованный биометрический шаблон может затем быть отправлен на сервер 106 проверки на совпадение. Следует отметить, что хотя взаимодействия, изображенные на фиг. 5, иллюстрируют вариант осуществления, в котором сервер поставщика услуги регистрации шифрует биометрический шаблон, в по меньшей мере некоторых вариантах осуществления биометрический шаблон может быть зашифрован устройством 102 пользователя. В по меньшей мере некоторых из тех вариантов осуществления устройство пользователя может также передавать зашифрованный биометрический шаблон непосредственно на сервер 106 проверки на совпадение (например, с помощью мобильного приложения, установленного на устройстве 102 пользователя). [0095] In step 504, the enrollment provider server 104 may generate a homomorphically encrypted biometric template based on the biometric template it received from the user's device in step 502. To do this, the enrollment provider server 104 may encrypt the received biometric template using its public key. The encrypted biometric template may then be sent to a matching server 106 . It should be noted that although the interactions depicted in FIG. 5 illustrate an embodiment where the registration service provider server encrypts the biometric template, in at least some embodiments the biometric template can be encrypted by the user device 102. In at least some of those embodiments, the user's device may also transmit the encrypted biometric template directly to the matching server 106 (eg, using a mobile application installed on the user's device 102).

[0096] На этапе 506 сервер 106 проверки на совпадение может принимать зашифрованный биометрический шаблон и биометрический идентификатор с сервера 104 поставщика услуги регистрации. Сервер 106 проверки на совпадение может хранить зашифрованный биометрический шаблон в связи с биометрическим идентификатором в базе данных или другом средстве хранения. В этот момент взаимодействия между различными компонентами системы могут прекратиться (относительно этой конкретной транзакции), пока оператор устройства 102 пользователя не захочет совершить транзакцию с использованием системы. [0096] At step 506, the matching server 106 may receive the encrypted biometric template and the biometric identifier from the registration service provider server 104 . The matching server 106 may store the encrypted biometric template in association with the biometric identifier in a database or other storage medium. At this point, interactions between the various components of the system may cease (with respect to that particular transaction) until the operator of the user device 102 wishes to complete the transaction using the system.

[0097] Когда оператор устройства 102 пользователя готов совершить транзакцию с использованием описанной системы, устройство пользователя может предоставить биометрический образец (или биометрический шаблон, сгенерированный на основе биометрического образца) на устройство 110 доступа вместе с биометрическим идентификатором. В случае, когда устройство 110 доступа принимает биометрический образец (например, в случае, когда биометрический образец получен камерой устройства доступа), устройство 110 доступа может генерировать биометрический шаблон на основе этого биометрического образца, который он может передавать на сервер 106 проверки на совпадение. На этапе 508 сервер 106 проверки на совпадение может принимать биометрический шаблон и биометрический идентификатор с устройства 110 доступа. Устройство доступа может представлять собой любое вычислительное устройство, которое управляет доступом к ресурсу, включая веб-сайт, который продает товары и/или услуги (например, интернет-магазин). В некоторых вариантах осуществления сервер 106 проверки на совпадение может быть оператором веб-сайта. [0097] When the operator of the user device 102 is ready to make a transaction using the described system, the user device can provide a biometric sample (or a biometric template generated from a biometric sample) to the access device 110 along with a biometric identifier. In the case where the access device 110 receives a biometric sample (for example, in the case where the biometric sample is received by the camera of the access device), the access device 110 can generate a biometric template based on this biometric sample, which it can send to the matching server 106 . At 508, the matching server 106 may receive the biometric template and the biometric identifier from the access device 110 . An access device may be any computing device that manages access to a resource, including a website that sells goods and/or services (eg, an online store). In some embodiments, the match server 106 may be a website operator.

[0098] На этапе 510 сервер 106 проверки на совпадение может генерировать гомоморфно зашифрованный биометрический шаблон. Чтобы это сделать, сервер 106 проверки на совпадение может использовать открытый ключ, связанный с сервером 104 поставщика услуги регистрации, для шифрования биометрического шаблона, принятого с устройства 110 доступа по существу тем же способом, каким был сгенерирован зашифрованный биометрический шаблон на этапе 504, с одной только разницей в процессе, заключающейся в том, какой основной биометрический шаблон шифруется. [0098] At step 510, the matching server 106 may generate a homomorphically encrypted biometric template. To do this, the matching server 106 may use the public key associated with the registration service provider server 104 to encrypt the biometric template received from the access device 110 in essentially the same manner that the encrypted biometric template was generated in step 504, with one the only difference in the process is which primary biometric template is encrypted.

[0099] На этапе 512 сервер 106 проверки на совпадение может извлекать зашифрованный биометрический шаблон, принятый на этапе 506 (например, на основе предоставленного биометрического идентификатора). После извлечения сервер 106 проверки на совпадение может выполнить сравнение между зашифрованным биометрическим шаблоном, принятым на этапе 506, и зашифрованным биометрическим шаблоном, сгенерированным на этапе 510. Сервер 106 проверки на совпадение может генерировать файл данных с результатами совпадений, который представляет схожесть или разницу между двумя биометрическими шаблонами. Поскольку каждый из биометрических шаблонов зашифрован с использованием методик гомоморфного шифрования, созданный в результате файл данных будет по сути зашифрован. Следовательно, сервер 106 проверки на совпадение не сможет интерпретировать файл данных с результатами совпадений, даже если он сгенерировал этот файл данных. Соответственно, для извлечения результата совпадения сервер 106 проверки на совпадение может передавать файл данных с результатами совпадений на сервер 104 поставщика услуги регистрации. Файл данных с результатами совпадений может быть обеспечен биометрическим идентификатором, а также идентификатором транзакции. [0099] At step 512, the matching server 106 may retrieve the encrypted biometric template received at step 506 (eg, based on the provided biometric identifier). Upon retrieval, the matching server 106 may perform a comparison between the encrypted biometric template received at step 506 and the encrypted biometric template generated at step 510. The matching server 106 can generate a match result data file that represents the similarity or difference between the two biometric templates. Since each of the biometric templates is encrypted using homomorphic encryption techniques, the resulting data file will be essentially encrypted. Therefore, the matching server 106 will not be able to interpret the data file with the results of the matches, even if it generated the data file. Accordingly, in order to retrieve the match result, the match server 106 may send a data file with the match results to the registration service provider server 104 . The data file with the results of the matches may be provided with a biometric identifier as well as a transaction identifier.

[0100] На этапе 514 сервер 104 поставщика услуги регистрации может принимать файл данных с результатами совпадений с сервера 106 проверки на совпадение. В некоторых вариантах осуществления сервер поставщика услуги регистрации может также принимать биометрический идентификатор, а также идентификатор транзакции, которые могут использоваться для идентификации транзакции/пользователя, связанных с результатом совпадения. После приема результата совпадения сервер 104 поставщика услуги регистрации может расшифровывать файл данных с результатами совпадений с использованием своего закрытого ключа. [0100] At step 514, the registration service provider server 104 may receive a data file with match results from the match check server 106 . In some embodiments, the registration service provider server may also receive a biometric identifier as well as a transaction identifier, which may be used to identify the transaction/user associated with the match result. Upon receipt of the match result, the registration service provider server 104 may decrypt the data file containing the match results using its private key.

[0101] На этапе 516 сервер 104 поставщика услуги регистрации может интерпретировать расшифрованный файл данных с результатами совпадений для определения вероятности того, что два биометрических шаблона сгенерированы на основе биометрических образцом, взятых у одного и того же пользователя. В некоторых вариантах осуществления расшифрованный файл данных может представлять разницу или схожесть между двумя биометрическими шаблонами. Например, биометрические шаблоны могут содержать указание взаимосвязей между различными биометрическими признаками пользователя. В этом примере файл данных с результатами совпадений может содержать указание того, насколько отличаются те взаимосвязи между двумя биометрическими шаблонами. В некоторых вариантах осуществления вероятность совпадения может быть выражена числовым значением. Сервер 104 поставщика услуги регистрации может предоставлять указание значения вероятности совпадения на сервер 106 проверки на совпадение и/или устройство 102 пользователя. [0101] In step 516, the registry service provider server 104 may interpret the decrypted match results data file to determine the likelihood that two biometric templates were generated based on biometric samples taken from the same user. In some embodiments, the decrypted data file may represent a difference or similarity between two biometric templates. For example, biometric templates may contain an indication of relationships between various biometric features of a user. In this example, the match result data file may contain an indication of how different those relationships are between the two biometric templates. In some embodiments, the probability of a match may be expressed as a numeric value. The registration service provider server 104 may provide an indication of the probability of matching value to the matching server 106 and/or the user device 102 .

[0102] На этапе 518 сервер 106 проверки на совпадение может принимать значение вероятности совпадения и определять на основе принятого значения вероятности совпадения, одобрять или отклонять транзакцию. В некоторых вариантах осуществления сервер 106 проверки на совпадение может иметь предопределенное пороговое значение приемлемого риска, которое представляет числовое значение, по которому следует считать, что биометрические шаблоны были сгенерированы одним и тем же пользователем. Например, сервер 106 проверки на совпадение может иметь пороговое значение приемлемого риска 98%, в котором значения вероятности совпадения, большие или равные 98%, будут считаться аутентифицированными. [0102] At step 518, the match checking server 106 may receive a match probability value and determine, based on the received match probability value, whether to approve or reject the transaction. In some embodiments, the matching server 106 may have a predetermined acceptable risk threshold, which is a numeric value by which to consider that the biometric templates were generated by the same user. For example, the matching server 106 may have an acceptable risk threshold of 98%, in which match probability values greater than or equal to 98% would be considered authenticated.

[0103] На этапе 520 сервер 106 проверки на совпадение может одобрять или отклонять транзакцию на основе того, является значение вероятности совпадения выше или ниже порогового значения приемлемого риска. В некоторых вариантах осуществления сервер 106 проверки на совпадение может передавать значение вероятности совпадения на устройство 110 доступа, которое может определять, одобрять или отклонять транзакцию. В некоторых вариантах осуществления сервер 106 проверки на совпадение может обеспечить устройство 110 доступа указанием о том, является аутентификация пользователя успешной или нет. [0103] At 520, the match server 106 may approve or reject the transaction based on whether the match probability value is above or below an acceptable risk threshold. In some embodiments, the match server 106 may send a match probability value to the access device 110, which may determine whether to approve or reject the transaction. In some embodiments, the match server 106 may provide the access device 110 with an indication of whether the user authentication is successful or not.

[0104] На фиг. 6 изображена блок-схема, иллюстрирующая примерный процесс определения значения вероятности совпадения для аутентификации пользователя в соответствии с по меньшей мере некоторыми вариантами осуществления. Процесс 600 может быть выполнен примерным сервером 104 поставщика услуги регистрации, как изображено на фиг. 1. [0104] In FIG. 6 is a flow diagram illustrating an exemplary process for determining a match probability value for user authentication, in accordance with at least some embodiments. Process 600 may be performed by an exemplary registration service provider server 104, as depicted in FIG. one.

[0105] Процесс 600 может начинаться с этапа 602, когда сервер поставщика услуги регистрации принимает аутентификационные данные с устройства пользователя. В некоторых вариантах осуществления аутентификационные данные могут содержать биометрический шаблон, а также информацию о счете для связывания с биометрическим шаблоном на сервере поставщика услуги регистрации. [0105] Process 600 may begin at step 602 when the registration service provider server receives authentication data from the user's device. In some embodiments, the authentication data may comprise a biometric template as well as account information for linking to the biometric template on the enrollment service provider's server.

[0106] На этапе 604 процесс 600 может включать определение биометрического идентификатора для связывания с принятыми аутентификационными данными. В некоторых вариантах осуществления биометрический идентификатор может быть сгенерирован в виде строки случайных символов. В некоторых вариантах осуществления биометрический идентификатор может назначен в качестве первичного ключа, предназначенного для уникальной идентификации записей таблицы в таблице базы данных, в которой хранится по меньшей мере часть аутентификационных данных. В некоторых вариантах осуществления процесс 600 может включать шифрование биометрического шаблона, принятого с устройства 102 пользователя (например, в аутентификационных данных) и, в некоторых случаях, сохранение этого зашифрованного биометрического шаблона в базе данных в отношении биометрического идентификатора. [0106] At 604, process 600 may include determining a biometric identifier to associate with the received authentication data. In some embodiments, the biometric identifier may be generated as a string of random characters. In some embodiments, a biometric identifier may be assigned as a primary key for uniquely identifying table entries in a database table that stores at least a portion of the authentication data. In some embodiments, the process 600 may include encrypting the biometric template received from the user device 102 (eg, in authentication data) and, in some cases, storing this encrypted biometric template in a database in relation to the biometric identifier.

[0107] На этапе 606 процесс 600 может включать передачу биометрического идентификатора на устройство пользователя и/или сервер проверки на совпадение. В некоторых вариантах осуществления биометрический идентификатор может быть передан на сервер проверки на совпадение вместе с первым зашифрованным биометрическим шаблоном. В по меньшей мере некоторых из этих вариантов осуществления биометрический идентификатор может также быть передан на устройство пользователя, с которого были приняты аутентификационные данные. В некоторых вариантах осуществления биометрический идентификатор может быть передан на устройство пользователя вместе с открытым ключом шифрования, связанным с системой. В по меньшей мере некоторых вариантах осуществления устройство пользователя может генерировать и после этого зашифровывать биометрический шаблон с использованием предоставленного ключа шифрования. Устройство пользователя может затем передавать зашифрованный биометрический шаблон непосредственно на сервер проверки на совпадение вместе с биометрическим идентификатором. В каждом из случаев, представленных выше, сервер проверки на совпадение может затем сохранять биометрический идентификатор в отношении зашифрованного биометрического шаблона. [0107] At 606, process 600 may include transmitting a biometric identifier to a user's device and/or a matching server. In some embodiments, the implementation of the biometric identifier may be transmitted to the server check for a match, along with the first encrypted biometric template. In at least some of these embodiments, the biometric identifier may also be transmitted to the user's device from which the authentication data was received. In some embodiments, the biometric identifier may be transmitted to the user's device along with a public encryption key associated with the system. In at least some embodiments, the user device may generate and thereafter encrypt the biometric template using the provided encryption key. The user's device may then transmit the encrypted biometric template directly to the matching server along with the biometric identifier. In each of the cases above, the matching server may then store the biometric identifier in relation to the encrypted biometric template.

[0108] На этапе 608 процесс 600 может включать прием зашифрованного файла данных со значениями совпадения. В некоторых вариантах осуществления компьютер сервера проверки на совпадение после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор с устройства пользователя и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона. Второй зашифрованный биометрический шаблон может быть зашифрован с использованием одного и того же открытого ключа, как и первый зашифрованный биометрический шаблон. Файл данных со значениями совпадения может содержать допустимую ошибку, или разницу, или схожесть в данных между первым зашифрованным биометрическим шаблоном и вторым зашифрованным биометрическим шаблоном. Следует отметить, что генерирование зашифрованного файла данных со значениями совпадения не должно включать расшифровку данных на основе либо первого зашифрованного биометрического шаблона, либо второго зашифрованного биометрического шаблона. [0108] At 608, process 600 may include receiving an encrypted data file with match values. In some embodiments, the match server computer then receives the second encrypted biometric template and biometric identifier from the user's device and generates an encrypted data file with match values by comparing the first encrypted biometric template and the second encrypted biometric template. The second encrypted biometric template may be encrypted using the same public key as the first encrypted biometric template. The match value data file may contain a valid error or difference or similarity in data between the first encrypted biometric template and the second encrypted biometric template. It should be noted that generating an encrypted data file with match values need not involve decrypting the data based on either the first encrypted biometric template or the second encrypted biometric template.

[0109] На этапе 610 процесс 600 может включать расшифровку принятого файла данных со значениями совпадения. Чтобы это сделать, система может использовать закрытый ключ, соответствующий открытому ключу, используемому для шифрования как первого зашифрованного биометрического шаблона, так и второго зашифрованного биометрического шаблона. Специалисту в данной области техники будет понятно, что на этом этапе для использования доступен ряд методик расшифровки. Конкретная используемая методика расшифровки будет зависеть от типа методик шифрования. [0109] At 610, process 600 may include decrypting a received data file with match values. To do this, the system may use a private key corresponding to the public key used to encrypt both the first encrypted biometric template and the second encrypted biometric template. One skilled in the art will appreciate that a number of decryption techniques are available for use at this stage. The particular decryption technique used will depend on the type of encryption techniques.

[0110] На этапе 612 процесс 600 может включать определение значения вероятности совпадения. В некоторых вариантах осуществления это может включать интерпретацию расшифрованного файла данных с результатами совпадений для определения вероятности того, что два биометрических шаблона сгенерированы на основе биометрических образцов, взятых у одного и того же пользователя. В некоторых вариантах осуществления расшифрованный файл данных со значениями совпадения может представлять разницу или схожесть между двумя биометрическими шаблонами. Например, биометрические шаблоны могут содержать указание взаимосвязей между различными биометрическими признаками пользователя. В этом примере файл данных с результатами совпадений может содержать указание того, насколько отличаются те взаимосвязи между двумя биометрическими шаблонами. В некоторых вариантах осуществления вероятность совпадения может быть выражена числовым значением. В некоторых вариантах осуществления система может предоставлять указание значения вероятности совпадения на сервер проверки на совпадение и/или устройство пользователя. [0110] At 612, process 600 may include determining a match probability value. In some embodiments, this may include interpreting the decrypted match result data file to determine the likelihood that two biometric templates were generated from biometric samples taken from the same user. In some embodiments, the decrypted data file with match values may represent a difference or similarity between two biometric templates. For example, biometric templates may contain an indication of relationships between various biometric features of a user. In this example, the match result data file may contain an indication of how different those relationships are between the two biometric templates. In some embodiments, the probability of a match may be expressed as a numeric value. In some embodiments, the system may provide an indication of the probability of a match to a matching server and/or user device.

[0111] Варианты осуществления настоящего изобретения обеспечивают ряд преимуществ над традиционными системами. Например, описанная система позволяет субъектам использовать биометрическую аутентификацию в своих приложениях без раскрытия этим субъектам закрытой информации. В вариантах осуществления системы разработчик может включить биометрическую аутентификацию (например, распознавание лиц) пользователя в свое приложение без предоставления этому пользователю доступа к расшифрованной биометрической информации. Следовательно, разработчик, который может быть ненадежной стороной, не сможет затем перераспределить биометрическую информацию пользователя или использовать ее в нечестных целях. В то же время, позволяя третьим сторонам (например, серверу проверки на совпадение) выполнять сравнения биометрических шаблонов, система может значительно снизить собственную рабочую нагрузку, что приводит к значительному увеличению доступной вычислительной мощности. [0111] Embodiments of the present invention provide a number of advantages over conventional systems. For example, the described system allows subjects to use biometric authentication in their applications without disclosing sensitive information to those subjects. In embodiments of the system, a developer may include biometric authentication (eg, face recognition) of a user in their application without giving that user access to the decrypted biometric information. Therefore, the developer, who may be an untrustworthy party, cannot then redistribute the user's biometric information or use it for dishonest purposes. At the same time, by allowing third parties (such as a match server) to perform biometric pattern comparisons, the system can significantly reduce its own workload, resulting in a significant increase in available computing power.

[0112] Кроме того, способы и системы являются защищенными и адаптируемыми. Поскольку данные биометрического шаблона зашифрованы на сервере проверки на совпадение, они защищены от взлома данных, поскольку зашифрованные данные шаблона сами по себе непригодны. Кроме того, каждый сервер проверки на совпадение может обслуживаться разными субъектами, такими как разные продавцы, разные банки или разные организации. Каждый субъект может хранить данные своих пользователей и выполнять процесс криптографической проверки на совпадение. Это не только разделяет данные согласно подходящему субъекту, но, как отмечено выше, распределяет вычислительные требования, связанные с выполняемыми процессами проверки на совпадение. Однако сервер регистрации может быть единственным компьютером в системе, который когда-либо содержал биометрический шаблон в незашифрованном виде. Таким образом, только один компьютер сервера должен быть защищен, в то время как могут существовать несколько других серверов проверки на совпадение, которые могут иметь меньшую безопасность, чем сервер регистрации. Таким образом, варианты осуществления настоящего изобретения являются очень адаптируемыми. [0112] In addition, the methods and systems are secure and adaptable. Because the biometric template data is encrypted at the matching server, it is protected from data breaches because the encrypted template data is not usable on its own. In addition, each matching server may be served by different entities, such as different merchants, different banks, or different organizations. Each entity can store its users' data and perform a cryptographic matching process. This not only separates the data according to the suitable subject, but, as noted above, distributes the computational requirements associated with the matching processes being performed. However, the enrollment server may be the only computer in the system that has ever contained a biometric template in plain text. Thus, only one server machine needs to be secured, while there may be several other matching servers that may be less secure than the registration server. Thus, embodiments of the present invention are highly adaptable.

[0113] Следует понимать, что любые из вариантов осуществления настоящего изобретения могут быть реализованы в форме управляющей логики с использованием аппаратного обеспечения (например, интегральной схемы специального назначения или программируемой пользователем вентильной матрицы) и/или с использованием компьютерного программного обеспечения с традиционно программируемым процессором в модульном или целостном режиме. В контексте данного документа процессор включает процессор с одним ядром, процессор с несколькими ядрами на одной и той же интегральной микросхеме или ряд процессорных устройств на одной печатной плате или сетевых. На основе раскрытия и указаний, представленных в данном документе, специалисту в данной области техники будут понятны и очевидны другие пути и/или способы реализации вариантов осуществления настоящего изобретения с использованием аппаратного обеспечения и комбинации аппаратного обеспечения и программного обеспечения. [0113] It should be understood that any of the embodiments of the present invention can be implemented in the form of control logic using hardware (for example, an application-specific integrated circuit or a field programmable gate array) and/or using computer software with a conventionally programmable processor in modular or holistic mode. As used herein, a processor includes a processor with a single core, a processor with multiple cores on the same integrated circuit, or a number of processor devices on a single circuit board or network. Based on the disclosure and guidance provided herein, those skilled in the art will recognize and appreciate other ways and/or methods for implementing embodiments of the present invention using hardware and combinations of hardware and software.

[0114] Любые из программных компонентов или функций, описанных в этой заявке, могут быть реализованы в виде программного кода, который должен быть исполнен процессором, с использованием любого подходящего компьютерного языка, такого как, например, Java, C, C++, C#, Objective-C, Swift, или языка сценариев, такого как Perl или Python, с использованием, например, традиционных или объектно-ориентированных подходов. Программный код может быть сохранен в виде последовательности инструкций или команд на машиночитаемом носителе для хранения и/или передачи, при этом подходящие носители включают оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), магнитный носитель, такой как жесткий диск или гибкий диск, или оптический носитель, такой как компакт-диск (CD) или DVD (цифровой универсальный диск), флэш-память и т. п. Машиночитаемый носитель может представлять собой любую комбинацию таких устройств хранения или передачи. [0114] Any of the software components or functions described in this application may be implemented as program code to be executed by a processor using any suitable computer language such as, for example, Java, C, C++, C#, Objective -C, Swift, or a scripting language such as Perl or Python using, for example, traditional or object-oriented approaches. The program code may be stored as a series of instructions or instructions on a computer readable medium for storage and/or transmission, suitable media include random access memory (RAM), read only memory (ROM), magnetic media such as a hard disk or floppy disk. , or optical media such as a compact disc (CD) or DVD (digital versatile disk), flash memory, and the like. A computer-readable media can be any combination of such storage or transmission devices.

[0115] Такие программы могут также быть закодированы и переданы с использованием несущих сигналов, предназначенных для передачи по проводным, оптическим и/или беспроводным сетям согласно разнообразным протоколам, включая Интернет. Таким образом, машиночитаемый носитель согласно варианту осуществления настоящего изобретения может быть создан с использованием сигнала данных, закодированного с помощью таких программ. Машиночитаемые носители, закодированные с помощью программного кода, могут быть представлены с совместимым устройством или предоставлены отдельно от других устройств (например, посредством скачивания через Интернет). Любой такой машиночитаемый носитель может располагаться на или в одном компьютерном продукте (например, жестком диске, CD или целой компьютерной системе) и может быть представлен на или в разных компьютерных продуктах в системе или сети. Компьютерная система может содержать монитор, принтер или другое подходящее устройство отображения для предоставления пользователю любых результатов, упомянутых в данном документе. [0115] Such programs may also be encoded and transmitted using carrier signals designed for transmission over wired, optical, and/or wireless networks according to a variety of protocols, including the Internet. Thus, a computer-readable medium according to an embodiment of the present invention can be created using a data signal encoded with such programs. Computer-readable media encoded with program code may be provided with a compatible device or provided separately from other devices (eg, via Internet download). Any such computer-readable medium may reside on or in a single computer product (eg, a hard drive, CD, or an entire computer system) and may be present on or in different computer products on a system or network. The computer system may include a monitor, printer, or other suitable display device to provide the user with any of the results mentioned herein.

[0116] Вышеприведенное описание является иллюстративным и не является ограничительным. Многие варианты настоящего изобретения станут очевидными специалистам в данной области техники по прочтении настоящего описания. Следовательно, объем настоящего изобретения следует определять не со ссылкой на вышеприведенное описание, а вместо этого следует определять со ссылкой на рассматриваемые пункты формулы изобретения, наряду с их полным объемом или эквивалентами. [0116] The above description is illustrative and is not restrictive. Many variations of the present invention will become apparent to those skilled in the art upon reading the present description. Therefore, the scope of the present invention should not be determined with reference to the above description, but should instead be determined with reference to the claims in question, along with their full scope or equivalents.

[0117] Один или более признаков из любого варианта осуществления можно скомбинировать с одним или более признаками любого другого варианта осуществления, не отходя от объема настоящего изобретения. [0117] One or more features from any embodiment can be combined with one or more features from any other embodiment without departing from the scope of the present invention.

[0118] В контексте данного документа использование формы единственного числа обозначает «по меньшей мере один», если иное не указано отдельно. [0118] In the context of this document, the use of the singular means "at least one", unless otherwise indicated separately.

Claims (42)

1. Компьютерно-реализуемый способ биометрической аутентификации, содержащий этапы, на которых:1. A computer-implemented biometric authentication method, comprising the steps of: принимают посредством первого компьютера сервера аутентификационные данные для пользователя от пользовательского устройства;receiving, by means of the first server computer, authentication data for the user from the user device; определяют посредством первого компьютера сервера биометрический идентификатор, подлежащий связыванию с аутентификационными данными;determining, by means of the first server computer, a biometric identifier to be associated with the authentication data; передают посредством первого компьютера сервера биометрический идентификатор на второй компьютер сервера вместе с первым зашифрованным биометрическим шаблоном, связанным с пользователем, при этом второй компьютер сервера после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор от пользовательского устройства и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона;transmitting, by means of the first server computer, the biometric identifier to the second server computer together with the first encrypted biometric template associated with the user, while the second server computer then receives the second encrypted biometric template and the biometric identifier from the user device and generates an encrypted data file with match values by comparison a first encrypted biometric template and a second encrypted biometric template; принимают посредством первого компьютера сервера зашифрованный файл данных со значениями совпадения; receiving, by means of the first server computer, an encrypted data file with match values; расшифровывают посредством первого компьютера сервера зашифрованный файл данных со значениями совпадения для определения расшифрованного файла данных со значениями совпадения и decrypting, by means of the first server computer, the encrypted data file with the match values to determine the decrypted data file with the match values, and определяют исходя из расшифрованного файла данных со значениями совпадения значение вероятности совпадения.determining, based on the decrypted data file with match values, a match probability value. 2. Способ по п.1, в котором первый компьютер сервера представляет собой компьютер сервера регистрации, а второй компьютер сервера представляет собой компьютер сервера проверки на совпадение.2. The method of claim 1, wherein the first server computer is a registration server computer and the second server computer is a matching server computer. 3. Способ по п.1, в котором второй зашифрованный биометрический шаблон принимается вторым компьютером сервера в отношении транзакции, совершаемой пользователем.3. The method of claim 1, wherein the second encrypted biometric template is received by the second server computer in relation to a transaction made by the user. 4. Способ по п.1, в котором значение вероятности совпадения представляет вероятность того, что первый зашифрованный биометрический шаблон и второй зашифрованный биометрический шаблон сгенерированы от одного и того же пользователя.4. The method of claim 1, wherein the match probability value represents the probability that the first encrypted biometric template and the second encrypted biometric template are generated from the same user. 5. Способ по п.1, в котором значение вероятности совпадения представляется в виде числового значения.5. The method of claim 1, wherein the match probability value is represented as a numeric value. 6. Способ по п.1, дополнительно содержащий этап, на котором сравнивают значения вероятности совпадения с пороговым значением приемлемого риска, чтобы определить, аутентифицирован ли пользователь.6. The method of claim 1, further comprising comparing the match probability values with an acceptable risk threshold to determine if the user is authenticated. 7. Способ по п.1, в котором каждый из первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона зашифрован с использованием общедоступного ключа, связанного с первым компьютером сервера.7. The method of claim 1, wherein each of the first encrypted biometric template and the second encrypted biometric template is encrypted using a public key associated with the first server computer. 8. Способ по п.7, в котором файл данных со значениями совпадения расшифровывают с использованием конфиденциального ключа, связанного с первым компьютером сервера.8. The method of claim 7, wherein the data file with the match values is decrypted using the private key associated with the first server computer. 9. Способ по п.1, дополнительно содержащий этап, на котором передают посредством первого компьютера сервера биометрический идентификатор в пользовательское устройство.9. The method according to claim 1, further comprising the step of transmitting, by means of the first server computer, a biometric identifier to the user device. 10. Способ по п.1, дополнительно содержащий этап, на котором предоставляют второму компьютеру сервера указание того, основывается ли первый зашифрованный биометрический шаблон и второй зашифрованный биометрический шаблон на значении вероятности совпадения или нет.10. The method of claim 1, further comprising providing the second server computer with an indication of whether the first encrypted biometric template and the second encrypted biometric template are based on a match probability value or not. 11. Компьютер регистрации, используемый в биометрической аутентификации, содержащий:11. Registration computer used in biometric authentication, containing: процессор иprocessor and постоянный машиночитаемый носитель с сохраненным на нем кодом, при этом код приспособлен предписывать процессору:a permanent computer-readable medium with a code stored thereon, the code being adapted to instruct the processor: принимать аутентификационные данные для пользователя от пользовательского устройства;receive authentication data for the user from the user device; определять биометрический идентификатор, подлежащий связыванию с аутентификационными данными; determine a biometric identifier to be associated with the authentication data; передавать биометрический идентификатор на второй компьютер сервера вместе с первым зашифрованным биометрическим шаблоном, связанным с пользователем, при этом второй компьютер сервера после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор от пользовательского устройства и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона;transmit the biometric identifier to the second server computer along with the first encrypted biometric template associated with the user, wherein the second server computer then receives the second encrypted biometric template and the biometric identifier from the user device and generates an encrypted data file with match values by comparing the first encrypted biometric template and a second encrypted biometric template; принимать зашифрованный файл данных со значениями совпадения; receive an encrypted data file with match values; расшифровывать зашифрованный файл данных со значениями совпадения, чтобы определить расшифрованный файл данных со значениями совпадения; и decrypt the encrypted data file with match values to determine the decrypted data file with match values; and определять исходя из расшифрованного файла данных со значениями совпадения значение вероятности совпадения.to determine, based on the decrypted data file with the match values, the value of the match probability. 12. Компьютер регистрации по п.11, причем второй компьютер сервера не имеет доступа к данным в форме открытого текста в первом зашифрованном биометрическом шаблоне.12. The enrollment computer of claim 11, wherein the second server computer does not have access to the clear text data in the first encrypted biometric template. 13. Компьютер регистрации по п.11, причем оба из первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона зашифрованы с использованием общедоступного ключа, связанного с компьютером регистрации, и с использованием одной и той же методики шифрования.13. The enrollment computer of claim 11, wherein both of the first encrypted biometric template and the second encrypted biometric template are encrypted using a public key associated with the enrollment computer and using the same encryption technique. 14. Компьютер регистрации по п.13, причем методика шифрования содержит методику гомоморфного шифрования.14. The registration computer of claim 13, wherein the encryption technique comprises a homomorphic encryption technique. 15. Компьютер регистрации по п.11, причем зашифрованный файл данных со значениями совпадения содержит указание схожести между первым зашифрованным биометрическим шаблоном и вторым зашифрованным биометрическим шаблоном.15. The enrollment computer of claim 11, wherein the encrypted data file with the match values contains an indication of the similarity between the first encrypted biometric template and the second encrypted biometric template. 16. Компьютер регистрации по п.15, причем расшифрованный файл данных со значениями совпадения содержит указание схожести между первым расшифрованным биометрическим шаблоном и вторым расшифрованным биометрическим шаблоном.16. The enrollment computer of claim 15, wherein the decrypted match value data file contains an indication of the similarity between the first decrypted biometric template and the second decrypted biometric template. 17. Компьютер регистрации по п.16, в котором значение вероятности совпадения определяется на основе указанной схожести.17. The registration computer of claim 16, wherein the match probability value is determined based on said similarity. 18. Компьютер регистрации по п.11, причем биометрический идентификатор передается на второй компьютер сервера по защищенному каналу.18. Registration computer according to claim 11, wherein the biometric identifier is transmitted to the second server computer via a secure channel. 19. Компьютерно-реализуемый способ биометрической аутентификации, содержащий этапы, на которых:19. A computer-implemented biometric authentication method, comprising the steps of: принимают на сервере проверки на совпадение от компьютера поставщика услуг ряд зашифрованных биометрических шаблонов; receiving, at a matching server, a number of encrypted biometric templates from the service provider's computer; принимают посредством сервера проверки на совпадение от устройства доступа зашифрованный биометрический шаблон аутентификации, связанный с транзакцией, и биометрический идентификатор; receiving, by means of a matching server, from the access device an encrypted biometric authentication template associated with the transaction and a biometric identifier; генерируют посредством сервера проверки на совпадение зашифрованный файл данных с результатами проверки на совпадение путем сравнения зашифрованного биометрического шаблона аутентификации с одним из упомянутого ряда зашифрованных биометрических шаблонов; generating, by means of the matching server, an encrypted data file with the matching results by comparing the encrypted biometric authentication template with one of said series of encrypted biometric templates; передают посредством сервера проверки на совпадение зашифрованный файл данных с результатами проверки на совпадение на компьютер поставщика услуг, при этом компьютер поставщика услуг расшифровывает зашифрованный результат проверки на совпадение, определяет значение вероятности совпадения и передает значение вероятности совпадения на сервер проверки на совпадение;transmitting, by means of the matching server, an encrypted data file with the matching results to the service provider's computer, wherein the service provider's computer decrypts the encrypted matching result, determines a matching probability value, and transmits the matching probability value to the matching server; принимают от компьютера поставщика услуг значение вероятности совпадения иreceive a match probability value from the service provider's computer, and инициируют упомянутую транзакцию с использованием информации о счете после приема значения вероятности совпадения.initiating said transaction using the account information after receiving the match probability value. 20. Сервер проверки на совпадение для биометрической аутентификации, содержащий:20. Matching server for biometric authentication, comprising: процессор иprocessor and постоянный машиночитаемый носитель с сохраненным на нем кодом, при этом код приспособлен предписывать процессору выполнять способ по п. 19.a permanent computer-readable medium with a code stored thereon, wherein the code is adapted to cause the processor to perform the method of claim 19.
RU2020122027A 2017-12-08 2018-07-25 Biometric comparison for privacy protection using server RU2776258C2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762596250P 2017-12-08 2017-12-08
US62/596,250 2017-12-08
PCT/US2018/043656 WO2019112650A1 (en) 2017-12-08 2018-07-25 Server-assisted privacy protecting biometric comparison

Publications (3)

Publication Number Publication Date
RU2020122027A3 RU2020122027A3 (en) 2022-01-10
RU2020122027A RU2020122027A (en) 2022-01-10
RU2776258C2 true RU2776258C2 (en) 2022-07-15

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2434340C2 (en) * 2006-06-27 2011-11-20 Майкрософт Корпорейшн Infrastructure for verifying biometric account data
US20140115324A1 (en) * 2006-04-17 2014-04-24 Broadcom Corporation System and Method for Secure Remote Biometric Authentication
US20140337930A1 (en) * 2013-05-13 2014-11-13 Hoyos Labs Corp. System and method for authorizing access to access-controlled environments
US20170094507A1 (en) * 2011-06-30 2017-03-30 Xiaojun Liu Wireless application protocol gateway
US20170104597A1 (en) * 2015-10-09 2017-04-13 Intel Corporation Technologies for end-to-end biometric-based authentication and platform locality assertion
US20170134375A1 (en) * 2015-11-11 2017-05-11 Kim Wagner Server based biometric authentication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115324A1 (en) * 2006-04-17 2014-04-24 Broadcom Corporation System and Method for Secure Remote Biometric Authentication
RU2434340C2 (en) * 2006-06-27 2011-11-20 Майкрософт Корпорейшн Infrastructure for verifying biometric account data
US20170094507A1 (en) * 2011-06-30 2017-03-30 Xiaojun Liu Wireless application protocol gateway
US20140337930A1 (en) * 2013-05-13 2014-11-13 Hoyos Labs Corp. System and method for authorizing access to access-controlled environments
US20170104597A1 (en) * 2015-10-09 2017-04-13 Intel Corporation Technologies for end-to-end biometric-based authentication and platform locality assertion
US20170134375A1 (en) * 2015-11-11 2017-05-11 Kim Wagner Server based biometric authentication

Similar Documents

Publication Publication Date Title
CN111466097B (en) Server-assisted privacy preserving biometric comparison
US11895239B1 (en) Biometric electronic signature tokens
US11310058B2 (en) Methods for digitally signing an electronic file and authentication method
US20220052852A1 (en) Secure biometric authentication using electronic identity
US20240129304A1 (en) Biometric electronic signature authenticated key exchange token
US20230403160A1 (en) Use of biometrics and privacy preserving methods to authenticate account holders online
US20230016784A1 (en) Biometric validation process utilizing access device and location determination
JP2023062065A (en) Using contactless card to securely share personal data stored in blockchain
CN110290134B (en) Identity authentication method, identity authentication device, storage medium and processor
CN115867910A (en) Privacy preserving identity attribute verification using policy tokens
KR20170141976A (en) System and method for providing electronic signature service
CA3057398C (en) Securely performing cryptographic operations
EP3443501B1 (en) Account access
US11070378B1 (en) Signcrypted biometric electronic signature tokens
US11405387B1 (en) Biometric electronic signature authenticated key exchange token
EP3769465B1 (en) Distributed biometric comparison framework
RU2776258C2 (en) Biometric comparison for privacy protection using server
CN110689351A (en) Financial service verification system and financial service verification method
JP7259979B2 (en) Information matching system and information matching method
Dinesh Babu Cloud Data security enhancements through the biometric and encryption system
WO2023158930A1 (en) Privacy-preserving biometrics for multi-factor authentication
WO2021236446A1 (en) Systems and methods for whitebox device binding
CN118018230A (en) Authentication method, device, equipment and storage medium for network element equipment