БИОМЕТРИЧЕСКОЕ СРАВНЕНИЕ ДЛЯ ЗАЩИТЫ ПРИВАТНОСТИ С ПОМОЩЬЮ СЕРВЕРА
BIOMETRIC COMPARISON FOR PRIVACY PROTECTION USING SERVER

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001]
Эта заявка притязает на преимущество и приоритет предварительной заявки на патент США № 62/596250 под названием «SERVER-ASSISTED PRIVACY PROTECTING BIOMETRIC COMPARISON», поданной 8 декабря 2017 года, которая полностью посредством ссылки включена в данный документ.
УРОВЕНЬ ТЕХНИКИ
[0002]
Одним из способов, посредством которого возможна защита доступа к электронным устройствам пользователя или электронным данным, является использование биометрической аутентификации. При биометрической аутентификации биометрический образец, полученный в отношении пользователя, можно сравнить с биометрической информацией, хранящейся в отношении этого пользователя. Биометрические сравнения могут быть выполнены локально или удаленно с помощью сервера. Локальное совпадение (например, совпадение, полученное в результате сравнений, выполненных на мобильном устройстве пользователя), может быть подходящим в разных ситуациях. Например, биометрические сравнения могут быть выполнены локально, даже если мобильное устройство пользователя не имеет соединений для передачи данных с другими устройствами. Другая ситуация, в которой биометрические сравнения должны выполняться локально, может представлять собой ситуацию, когда предпочтительно, чтобы биометрическая информация, полученная для пользователя, никогда не передавалась с мобильного устройства пользователя.
[0003]
С другой стороны, сравнение на основе сервера, когда выполняется проверка на совпадение с шаблоном регистрации, удаленно хранящимся на сервере, может быть подходящим, если в приоритете находятся другие соображения, такие как размер программного обеспечения для сравнения, или его время выполнения, или желание, чтобы пользователю было удобно использовать несколько устройств, менять устройства и т. д. Сравнение на основе сервера также относится к случаю, когда желательно, чтобы несколько разных приложений на мобильном устройстве пользователя совместно использовали один шаблон регистрации, не ограничиваясь биометрическими решениями, предоставляемыми на уровне операционной системы (такими как Touch ID или Face ID).
[0004]
Варианты осуществления настоящего изобретения относятся к подходу на основе сервера и некоторым текущим недостаткам этого подхода: риску нарушения безопасности закрытых биометрических данных, поскольку они находятся на сервере. Например, в подходе на основе сервера биометрические данные или шаблоны могут храниться на сервере. Это может быть проблематичным в случае утечки данных. Если происходит утечка данных, это может иметь особенно вредные последствия, поскольку биометрические данные или шаблоны не могут быть заменены или изменены как пароли и коды доступа. Кроме того, в подходе на основе сервера, даже если один субъект может безопасно хранить данные, маловероятно, что все данные, предоставленные всеми поставщиками услуг, смогут безопасно хранить биометрические данные. Таким образом, существующие системы биометрического сравнения на основе сервера не являются адаптируемыми.
[0005]
Варианты осуществления настоящего изобретения устраняют эти и другие проблемы по отдельности и вместе.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006]
В данном документе описаны система и методики для обеспечения возможности биометрической аутентификации без раскрытия субъекту авторизации закрытой информации. В вариантах осуществления настоящего изобретения система может выполнять анализ биометрических совпадений для другого субъекта без ведения записей биометрических данных. В некоторых вариантах осуществления система принимает биометрический шаблон во время фазы регистрации, который шифруется с использованием открытого ключа, связанного с системой. Зашифрованный биометрический шаблон затем предоставляется второму субъекту, который может использовать зашифрованный биометрический шаблон для аутентификации пользователя транзакции без доступа к содержимому в зашифрованном биометрическом шаблоне. Второй субъект (например, сервер проверки на совпадение) может принимать запрос на совершение транзакции, который содержит второй биометрический шаблон. Второй субъект может шифровать второй биометрический шаблон с использованием одного и того же открытого ключа, связанного с системой, и выполнять сравнение между двумя зашифрованными биометрическими шаблонами без необходимости в их расшифровке. Получившийся в результате файл данных с результатами проверки на совпадение (результатами совпадения) по своей сути зашифрован и может быть предоставлен системе для определения степени совпадения двух биометрических шаблонов.
[0007]
Один вариант осуществления настоящего изобретения направлен на способ, включающий: прием первым компьютером сервера аутентификационных данных для пользователя с устройства пользователя, определение биометрического идентификатора для связывания с аутентификационными данными, передачу биометрического идентификатора на второй компьютер сервера вместе с первым зашифрованным биометрическим шаблоном, связанным с пользователем. Второй компьютер сервера после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор с устройства пользователя и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона. Способ также включает прием зашифрованного файла данных со значениями совпадения, расшифровку зашифрованного файла данных со значениями совпадения для определения расшифрованного файла данных со значениями совпадения и определение на основе расшифрованного файла данных со значениями совпадения значения вероятности совпадения.
[0008]
Другой вариант осуществления настоящего изобретения направлен на компьютер сервера, содержащий процессор и постоянный машиночитаемый носитель с сохраненным на нем кодом, при этом код приспособлен предписывать процессору: принимать аутентификационные данные для пользователя с устройства пользователя, определять биометрический идентификатор для связывания с аутентификационными данными, передавать биометрический идентификатор на второй компьютер сервера вместе с первым зашифрованным биометрическим шаблоном, связанным с пользователем, при этом второй компьютер сервера после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор с устройства пользователя и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона, приема зашифрованного файла данных со значениями совпадения, расшифровывать зашифрованный файл данных со значениями совпадения для определения расшифрованного файла данных со значениями совпадения и определять на основе расшифрованного файла данных со значениями совпадения значение вероятности совпадения.
[0009]
Дополнительные подробности, относящиеся к вариантам осуществления настоящего изобретения, можно найти в разделах подробного описания и описания графических материалов.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[0010]
фиг. 1
На  показана система, содержащая ряд компонентов, согласно варианту осуществления настоящего изобретения;
[0011]
фиг. 2
на  изображен иллюстративный пример системы или архитектуры, в которой могут быть реализованы методики обеспечения возможности биометрической аутентификации без раскрытия субъекту авторизации закрытой информации;
[0012]
фиг. 3
на показана схема последовательности операций способа регистрации согласно варианту осуществления настоящего изобретения;
[0013]
фиг. 4
на  показана схема последовательности операций способа аутентификации согласно варианту осуществления настоящего изобретения;
[0014]
фиг. 5
на  изображена блок-схема, изображающая примерные взаимодействия, которые могут происходить между сервером поставщика услуги регистрации и сервером проверки на совпадение в соответствии с по меньшей мере некоторыми вариантами осуществления; и
[0015]
фиг. 6
на  изображена блок-схема, иллюстрирующая примерный процесс определения значения вероятности совпадения для аутентификации пользователя в соответствии с по меньшей мере некоторыми вариантами осуществления.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0016]
Перед обсуждением вариантов осуществления настоящего изобретения могут быть более подробно описаны некоторые термины.
[0017]
«Приложение» может представлять собой компьютерную программу, которая используется с конкретной целью.
[0018] «
Аутентификация» может включать процесс проверки идентификатора чего-либо (например, пользователя). Одной формой аутентификации может быть биометрическая аутентификация.
[0019]
«Биометрическими данными» может быть любая человеческая характеристика, которая уникальна для человека. Например, биометрическими данными может быть отпечаток пальца человека, образец голоса, лицо, ДНК, сетчатка глаза и т. д.
[0020]
«Биометрический интерфейс» может быть интерфейсом, посредством которого собирается биометрическая информация. Биометрические интерфейсы включают сканер большого пальца, сканер радужной оболочки или сетчатки глаза, камеру, микрофон, алкотестер и т. д. Биометрические интерфейсы могут присутствовать на пользовательских устройствах, таких как мобильные устройства, или присутствовать в терминале доступа.
[0021]
«Биометрическое устройство считывания» может содержать устройство для сбора данных на основе биометрических данных человека. Примеры биометрических устройств считывания могут включать устройства считывания отпечатков пальцев, фронтальные камеры, микрофоны и сканеры радужной оболочки глаза.
[0022]
«Биометрический образец» может содержать данные, полученные биометрическим устройством считывания. Данные могут быть либо аналоговым, либо цифровым представлением биометрических данных пользователя, сгенерированных до определения различных признаков, необходимых для проверки на совпадение. Например, биометрическим образцом лица пользователя могут быть данные изображения. В другом примере биометрический образец голоса пользователя может представлять собой звуковые данные.
[0023]
«Биометрический шаблон» или «шаблон биометрического образца» может включать файл, содержащий отличительные характеристики, извлеченные из биометрического образца, который может использоваться во время процесса биометрической аутентификации. Например, биометрический шаблон может быть двоичным математическим файлом, представляющим уникальные признаки отпечатка пальца, глаза, руки или голоса человека, необходимые для выполнения точной аутентификации человека.
[0024]
«Вычислительное устройство» может представлять собой любое подходящее устройство, которое может принимать и обрабатывать данные. Примеры вычислительных устройств могут включать устройства доступа, транспортные компьютеры, компьютеры сети обработки или компьютеры авторизации.
[0025]
Термин «криптографический ключ» может относиться к чему-то, что используется при шифровании или расшифровке. В качестве примера, криптографический ключ может относиться к произведению двух больших простых чисел. Криптографический ключ может служить элементом входных данных в криптографическом процессе, таком как RSA или AES, и может использоваться для шифрования открытого текста и создания шифротекста на выходе или расшифровки шифротекста и создания открытого текста на выходе.
[0026]
Термин «гомоморфное шифрование» может относиться к любой подходящей методике шифрования данных, которая позволяет выполнять вычисления на основе получившихся в результате шифротекстов, генерируя зашифрованный результат, который при расшифровке соответствует результату операций, как если бы они были выполнены на открытом тексте. Следует отметить, что вычислительные устройства могут выполнять сложные вычисления с гомоморфно зашифрованными данными, даже не имея доступа к незашифрованным данным.
[0027]
«Эмитент» может, как правило, относиться к субъекту предпринимательства (например, банку), который поддерживает счет для пользователя. Эмитент может также выдавать потребителю элементы платежных удостоверяющих данных, сохраняемые на устройстве пользователя, таком как сотовый телефон, смарт-карта, планшет или переносной компьютер.
[0028]
«Запоминающее устройство» может представлять собой любые подходящие устройство или устройства, которые могут хранить электронные данные. Подходящее запоминающее устройство может включать постоянный машиночитаемый носитель, хранящий инструкции, которые могут быть исполнены процессором, для осуществления желаемого способа. Примеры запоминающих устройств могут включать одну или более микросхем запоминающего устройства, дисковых накопителей и т. д. Такие запоминающие устройства могут работать с помощью любого подходящего электрического, оптического и/или магнитного режима работы.
[0029]
«Ключ» может относиться к элементу информации, используемому в криптографическом алгоритме для преобразования входных данных в другое представление. Криптографический алгоритм может представлять собой алгоритм шифрования, который преобразовывает оригинальные данные в альтернативное представление, или алгоритм дешифрования, который преобразовывает зашифрованную информацию обратно в оригинальные данные. Примеры криптографических алгоритмов могут включать тройной стандарт шифрования данных (TDES), стандарт шифрования данных (DES), улучшенный стандарт шифрования (AES) и т. д.
[0030]
«Закрытый ключ» может включать любой ключ шифрования, который может быть защищен и безопасен. Например, закрытый ключ может быть безопасно сохранен в субъекте, который генерирует пару открытого/закрытого ключей, и может быть использован для расшифровки любой информации, которая была зашифрована связанным открытым ключом пары открытого/закрытого ключей.
[0031]
«Процессор» может относиться к любому подходящему устройству или устройствам вычисления данных. Процессор может содержать один или более микропроцессоров, работающих вместе для осуществления желаемой функции. Процессор может включать CPU (центральный процессор), который содержит по меньшей мере один высокоскоростной процессор данных, подходящий для исполнения программных компонентов для исполнения запросов, генерируемых пользователем и/или системой. CPU может представлять собой микропроцессор, такой как Athlon, Duron и/или Opteron от AMD; PowerPC от IBM и/или Motorola; процессор архитектуры Cell от IBM и Sony; Celeron, Itanium, Pentium, Xeon и/или XScale от Intel; и/или подобные процессор (процессоры).
[0032]
«Открытый (общедоступный) ключ» может включать любой ключ шифрования, который может совместно использоваться в открытом и закрытом видах. Открытый ключ может быть разработан для совместного использования и может быть выполнен таким образом, чтобы любая информация, зашифрованная открытым ключом, могла быть расшифрована только с использованием закрытого (конфиденциального) ключа, связанного с открытым ключом (т.е. пары открытого/закрытого ключей).
[0033]
«Пара открытого/закрытого ключей» может включать пару связанных криптографических ключей, сгенерированных субъектом. Открытый ключ может быть использован для открытых функций, таких как шифрование сообщения для отправки субъекту или для проверки цифровой подписи, которая предположительно была создана субъектом. Закрытый ключ, с другой стороны, может быть использован для закрытых функций, таких как расшифровка принятого сообщения или наложение цифровой подписи. Открытый ключ обычно авторизует орган, известный как сертифицирующий орган (т.е. орган сертификации), который хранит открытый ключ в базе данных и распределяет его любому другому субъекту, который запрашивает его. Закрытый ключ, как правило, хранится на защищенном носителе данных и обычно известен только субъекту. Однако криптографические системы, описанные в данном документе, могут обладать механизмами восстановления ключа для восстановления потерянных ключей и избегания потери данных.
[0034]
«Поставщик ресурсов» может представлять собой субъект, который может предоставлять ресурс, такой как товар, услуга, данные и т. д., запрашивающему субъекту. Примеры поставщиков ресурсов могут включать продавцов, государственные органы, которые могут предоставлять доступ к данным, хранилища данных, субъекты, которые могут предоставлять доступ в ограниченные местоположения (например, операторы железнодорожных станций) и т. д. В некоторых вариантах осуществления поставщики ресурсов могут быть связаны с одним или более физическими местоположениями (например, супермаркетами, торговыми центрами, магазинами и т. д.) и онлайн-платформами (например, сайтами электронной торговли, онлайн-компаниями и т. д.). В некоторых вариантах осуществления поставщики ресурсов могут делать доступными для пользователя физические предметы (например, товары, продукты и т. п.). В других вариантах осуществления поставщики ресурсов могут делать доступными для пользователя цифровые ресурсы (например, электронные документы, электронные файлы и т. д). В других вариантах осуществления поставщики ресурсов могут управлять доступом к определенным услугам или данным (например, поставщик цифрового кошелька).
[0035]
«Компьютер сервера» может включать мощный компьютер или кластер компьютеров. Например, компьютер сервера может представлять собой крупный универсальный компьютер, кластер мини-компьютеров или группу серверов, функционирующих как один элемент. В одном примере компьютер сервера может представлять собой сервер баз данных, соединенный с веб-сервером. Компьютер сервера может быть соединен с базой данных и может содержать любое аппаратное обеспечение, программное обеспечение, другую логическую часть или комбинацию предыдущего для обслуживания запросов с одного или более клиентских компьютеров. Компьютер сервера может содержать одно или более вычислительных устройств и может использовать любую из множества вычислительных структур, компоновок и компиляций для обслуживания запросов с одного или более клиентских компьютеров.
[0036]
«Пользователь» может быть частным лицом. В некоторых вариантах осуществления пользователь может быть связан с одним или более личными счетами и/или устройствами пользователя.
[0037]
«Устройство пользователя» может представлять собой любое подходящее устройство, управляемое пользователем. Подходящие устройства пользователя могут осуществлять связь с внешними субъектами, такими как портативные устройства и удаленные компьютеры сервера. Примеры устройств пользователя включают мобильные телефоны, портативные переносные компьютеры, настольные компьютеры, компьютеры сервера, транспортные средства, такие как автомобили, бытовые приборы, носимые устройства, такие как умные часы и фитнес-браслеты, и т. д.
[0038]
На фиг. 1 показана система 100, содержащая ряд компонентов, согласно варианту осуществления настоящего изобретения. Система 100 содержит по меньшей мере устройство 102 пользователя, сервер 104 поставщика услуги регистрации и сервер 106 проверки на совпадение. Компоненты системы 100 могут осуществлять связь непосредственно или с использованием какой-либо сети 108. В некоторых вариантах осуществления система может содержать одно или более устройств 110 доступа. В некоторых вариантах осуществления устройство 110 доступа и сервер 106 проверки на совпадение могут представлять собой один и тот же субъект или ими может управлять один и тот же субъект. Сервер 104 поставщика услуги регистрации может представлять собой пример первого компьютера сервера, и сервер 106 проверки на совпадение может представлять собой пример второго компьютера сервера. Компьютер 104 сервера поставщика услуги регистрации обычно отличается от и пространственно или логически отделен от сервера 106 проверки на совпадение.
[0039]
Как изображено, система может содержать устройство 102 пользователя. Устройство 102 пользователя может представлять собой любое электронное устройство, выполненное с возможностью осуществления связи с сервером 104 поставщика услуги регистрации и/или устройством 110 доступа. В некоторых вариантах осуществления устройство 102 пользователя может представлять собой мобильное устройство (например, смартфон). В некоторых вариантах осуществления биометрическая информация (например, изображение) для пользователя может быть собрана с использованием камеры устройства 102 пользователя и передана на сервер 104 поставщика услуги регистрации для обработки. В некоторых вариантах осуществления по меньшей мере часть функциональных возможностей, описанных в данном документе, может быть исполнена посредством мобильного приложения, установленного на устройстве 102 пользователя. Устройство 102 пользователя может быть выполнено с возможностью получения биометрического образца от пользователя, который может затем использоваться для регистрации пользователя в описанной системе.
[0040]
В некоторых вариантах осуществления устройство 102 пользователя может получать биометрический образец от пользователя и генерировать биометрический шаблон 112 на основе этого биометрического образца. Биометрический шаблон 112 может затем быть зашифрован и передан на сервер 104 поставщика услуги регистрации. Например, в некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием ключа шифрования, характерного для устройства 102 пользователя. В другом примере биометрический шаблон может быть зашифрован с использованием открытого ключа шифрования (пары открытого/закрытого ключей), связанного с сервером 104 поставщика услуги регистрации.
[0041]
В некоторых вариантах осуществления устройство 102 пользователя может также предоставлять информацию 114 о счете на сервер 104 поставщика услуги регистрации. Например, пользователя могут попросить выбрать или предоставить по меньшей мере один номер основного счета (PAN), который должен быть связан с функциональной возможностью, описанной в данном документе. В этом примере PAN может быть предоставлен на сервер 104 поставщика услуги регистрации. Следует отметить, что в некоторых вариантах осуществления информация о счете может быть предоставлена на сервер 104 поставщика услуги регистрации по отдельному каналу (т.е. посредством устройства, отличного от устройства 102 пользователя).
[0042]
Как изображено, система может содержать сервер 104 поставщика услуги регистрации (т.е. первый компьютер сервера). Сервер 104 поставщика услуги регистрации может представлять собой любое вычислительное устройство, выполненное с возможностью выполнения по меньшей мере части функциональных возможностей, описанных в данном документе. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может принимать биометрическую информацию с устройства 102 пользователя и может обрабатывать эту биометрическую информацию в отношении одного или более счетов. Поставщик услуги регистрации может создавать и распределять подходящим образом приложение поставщика услуги регистрации (например, мобильное приложение для установки на устройстве 102 пользователя и исполнении с него). Сервер 104 поставщика услуги регистрации может, как правило, представлять собой систему, связанную с эмитентом или субъектом (например, банком), который имеет коммерческую связь с сервером 106 проверки на совпадение или другим субъектом.
[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 проверки на совпадение.
[0044]
Сервер 104 поставщика услуги регистрации может быть дополнительно выполнен с возможностью приема зашифрованного сравнения между двумя биометрическими шаблонами и определения вероятности совпадения. В некоторых вариантах осуществления это может включать первую расшифровку зашифрованного файла данных сравнения, сгенерированного сервером 106 проверки на совпадение. После расшифровки сервер 104 поставщика услуги регистрации может обрабатывать принятый файл данных сравнения с использованием любых подходящих методик биометрической аутентификации. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может отвечать серверу 106 проверки на совпадение указанием вероятности того, что биометрические шаблоны совпадают. В некоторых вариантах осуществления вероятность того, что биометрические шаблоны совпадают, может быть представлена как процентная доля.
[0045]
Как изображено, система может содержать сервер 106 проверки на совпадение (т.е. второй сервер). Сервер 106 проверки на совпадение может быть выполнен с возможностью приема данных, выполнения вычислений, передачи данных и т. д. В некоторых вариантах осуществления сервер 106 проверки на совпадение может быть выполнен с возможностью приема и обработки запроса с устройства 110 доступа. Запрос, принятый с устройства 110 доступа, может содержать биометрический шаблон 118, сгенерированный устройством 110 доступа для пользователя, который желает совершить транзакцию. Сервер 106 проверки на совпадение может быть выполнен с возможностью шифрования биометрического шаблона 118 с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации, и сравнения зашифрованного биометрического шаблона с зашифрованным биометрическим шаблоном 116, принятым с сервера 104 поставщика услуги регистрации. При шифровании биометрического шаблона 118 сервер 106 проверки на совпадение может использовать методики шифрования, по существу схожие с теми, которые используются сервером 104 поставщика услуги регистрации для шифрования биометрического шаблона 116.
[0046]
После того как сервер 106 проверки на совпадение зашифровал биометрический шаблон 118, сервер 106 проверки на совпадение может сравнивать зашифрованный биометрический шаблон 118 с зашифрованным биометрическим шаблоном 116. Следует отметить, что не нужно расшифровывать для сравнения два шаблона, если оба биометрических шаблона были зашифрованы с использованием методик гомоморфного шифрования. Действительно, сервер 106 проверки на совпадение может даже не быть выполнен с возможностью расшифровки любого биометрического шаблона. После того как сервер 106 проверки на совпадение сгенерировал сравнение зашифрованных данных, сервер 106 проверки на совпадение может передавать это сравнение на сервер 104 поставщика услуги регистрации. Сервер 104 поставщика услуги регистрации может отвечать серверу 106 проверки на совпадение указанием вероятности того, что два биометрических шаблона совпадают. В некоторых вариантах осуществления сервер 106 проверки на совпадение может затем определять, больше ли значение вероятности некоторого предопределенного порогового значения, и, на основе этого определения, может предоставлять устройству 110 доступа указание того, одобрять или отклонять транзакцию.
[0047]
Сеть 108 может представлять собой любую подходящую сеть связи или комбинацию сетей. Подходящие сети связи могут включать любое из или комбинацию следующего: прямое соединение; Интернет; локальная вычислительная сеть (LAN); городская вычислительная сеть (MAN); рабочие миссии и узлы в Интернет (OMNI); безопасное обычное соединение; региональная вычислительная сеть (WAN); беспроводная сеть (например, применяющая, но без ограничения, такие протоколы, как протокол для беспроводной передачи данных (WAP), I-mode и/или т. п.); и/или т. п. Сообщения между компьютерами, сетями и устройствами могут быть переданы с помощью протоколов защищенной связи, таких как, но без ограничения, протокол передачи файлов (FTP); протокол передачи гипертекста (HTTP); защищенный протокол передачи гипертекста (HTTPS), уровень защищенных сокетов (SSL), ISO (например, ISO 8583) и/или т. п.
[0048]
Устройство 110 доступа может быть выполнено с возможностью управления доступом к конкретному ресурсу. После приема запроса от пользователя на доступ к этому ресурсу устройство 110 доступа может быть выполнено с возможностью получения биометрического образца от этого пользователя. Устройство 110 доступа может затем генерировать второй биометрический шаблон 118 (например, шаблон аутентификации) с использованием процесса, по существу схожего с процессом, используемым устройством 102 пользователя для генерирования биометрического шаблона 112. Биометрический шаблон 118 может затем быть передан на сервер 106 проверки на совпадение для аутентификации. В некоторых вариантах осуществления устройство 110 доступа может принимать ответ с сервера 106 проверки на совпадение, который содержит указание того, была ли аутентифицирована транзакция. Устройство 110 доступа может затем совершить транзакцию способом, схожим с обычными способами, с использованием информации о счете, предоставленной посредством устройства 102 пользователя.
[0049]
Для простоты представления на фиг. 1 показано определенное количество компонентов. Однако следует понимать, что варианты осуществления настоящего изобретения могут содержать каждый компонент в количестве более одного. В дополнение, некоторые варианты осуществления настоящего изобретения могут содержать меньшее или большее количество компонентов, чем количество всех компонентов, показанных на фиг. 1. В дополнение, компоненты по фиг. 1 могут осуществлять связь посредством любой подходящей среды связи (включая сеть Интернет) с использованием любого подходящего протокола связи.
[0050]
фиг. 2
На изображен иллюстративный пример системы или архитектуры 200, в которой могут быть реализованы методики обеспечения возможности биометрической аутентификации без раскрытия субъекту авторизации закрытой информации. В архитектуре 200 один или более потребителей и/или пользователей могут использовать устройство 102 пользователя. В некоторых примерах устройство 102 пользователя может находиться в связи с сервером 104 поставщика услуги регистрации и/или устройством доступа через сеть 108 или через другие сетевые соединения. Устройство доступа может, в свою очередь, находиться в связи с сервером 106 проверки на совпадение. Устройство 102 пользователя, сервер 104 поставщика услуги регистрации, сеть 108 и сервер 106 проверки на совпадение могут быть примерами соответственных компонентов, изображенных на фиг. 1.
[0051]
Устройство 102 пользователя может представлять собой вычислительное устройство любого типа, включая, но без ограничения, мобильный телефон, смартфон, личный цифровой помощник (PDA), портативный переносной компьютер, настольный компьютер, компьютер сервера, устройство для тонкого клиента, планшетный персональный компьютер и т. д. Устройство 102 пользователя может содержать запоминающее устройство 202 и один или более процессоров 204, выполненных с возможностью обработки пользовательских входных данных. Устройство 102 пользователя может также содержать один или более датчиков входных данных, таких как съемочные устройства 206, для приема пользовательских входных данных. Как известно в данной области техники, существуют множество датчиков входных данных, выполненных с возможностью обнаружения пользовательских входных данных, такие как акселерометры, видеокамеры, микрофоны и т. д. Пользовательские входные данные, полученные датчиками входных данных, могут иметь форму множества типов входных данных, включая, но без ограничения, звуковые данные, визуальные данные или биометрические данные. В некоторых вариантах осуществления съемочные устройства 206 могут включать ряд разных типов съемочных устройств, одно или более из которых может представлять собой устройство в виде дальнокамерной камеры (например, датчик глубины), выполненное с возможностью генерирования удаленного изображения, а другое из которых может представлять собой камеру, выполненную с возможностью сбора информации изображения. Соответственно, биометрическая информация, полученная посредством съемочного устройства, может включать информацию изображения и/или глубинную информацию (например, карту удаленности лица).
[0052]
Варианты осуществления приложения на устройстве 102 пользователя могут быть сохранены и выполнены из его запоминающего устройства 202. Запоминающее устройство 202 может хранить программные инструкции, которые могут быть загружены и исполнены на процессоре (процессорах) 204, а также данные, генерируемые во время исполнения этих программ. В зависимости от конфигурации и типа устройства 102 пользователя запоминающее устройство 202 может быть энергозависимым (таким как оперативное запоминающее устройство (RAM)) и/или энергонезависимым (таким как постоянное запоминающее устройство (ROM), флэш-память и т. д.). Устройство 102 пользователя также может содержать дополнительную память, такую как либо съемная память, либо несъемная память, включая, но без ограничения, магнитную память, оптические диски и/или память на ленте. Дисковые накопители и связанные с ними машиночитаемые носители могут предоставлять энергонезависимую память для машиночитаемых инструкций, структур данных, программных модулей и других данных для вычислительных устройств. В некоторых реализациях запоминающее устройство 202 может включать несколько разных типов запоминающего устройства, таких как статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM) или ROM. Обращаясь к содержимому запоминающего устройства 202 более подробно, запоминающее устройство 202 может содержать операционную систему и одну или более прикладных программ или служб для реализации признаков, раскрытых в данном документе, включая по меньшей мере модуль для генерирования биометрического шаблона на основе биометрического образца (модуль 208 генерирования биометрического шаблона). Запоминающее устройство 202 может также содержать инструкции, которые обеспечивают шифрование устройством 102 пользователя любого генерируемого биометрического шаблона. В некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием ключа шифрования, характерного для устройства 102 пользователя. В некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием открытого ключа шифрования, связанного с сервером 104 поставщика услуги регистрации.
[0053]
В некоторых вариантах осуществления модуль 208 генерирования биометрического шаблона может содержать код, который при исполнении вместе с процессорами 204 обеспечивает получение устройством 102 пользователя биометрического образца от пользователя и генерирования биометрического шаблона на основе этого биометрического образца. В некоторых вариантах осуществления биометрический шаблон может быть двоичным математическим файлом, представляющим уникальные признаки отпечатка пальца, глаза, руки или голоса человека, необходимые для выполнения точной аутентификации человека. Биометрический шаблон может быть сгенерирован посредством ряда подходящих способов. Например, биометрический шаблон может хранить указание взаимодействия между различными биометрическими признаками для пользователя, которые получают на основе биометрического образца. В качестве иллюстративного примера, биометрический шаблон может хранить указание местоположения глаза пользователя относительно носа этого пользователя. Следует отметить, что, хотя для полного биометрического образца может потребоваться большой объем памяти для хранения, биометрический шаблон, полученный из биометрического образца, который хранит указание взаимосвязей между признаками, обнаруженными в образце, может потребовать значительно меньше памяти для хранения.
[0054]
Запоминающее устройство 202 и любая дополнительная память, как съемная, так и несъемная, являются примерами постоянных машиночитаемых запоминающих носителей. Например, машиночитаемые запоминающие носители могут включать энергозависимые или энергонезависимые, съемные или несъемные носители, реализованные любыми способом или технологией для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. В контексте данного документа модули могут относиться к программным модулям, исполняемым вычислительными системами (например, процессорами), которые являются частью устройства 102 пользователя или сервера 104 поставщика услуги регистрации. Устройство 102 пользователя может также содержать соединения связи, которые обеспечивают устройству 102 пользователя возможность связи с сохраненной базой данных, другим вычислительным устройством или сервером, терминалами пользователя и/или другими устройствами в сети 208. Устройство 102 пользователя также может содержать устройство (устройства) ввода/вывода (I/O) и/или порты, например, для обеспечения соединения с клавиатурой, мышью, пером, устройством речевого ввода, устройством сенсорного ввода, дисплеем, динамиками, принтером и т. д.
[0055]
В некоторых примерах сеть 208 может включать любую из или комбинацию многих разных типов сетей, таких как кабельные сети, Интернет, беспроводные сети, сотовые сети и другие приватные и/или публичные сети. Следует отметить, что описанные методики могут относиться к другим клиент-серверным схемам (например, приставкам и т. п.), а также неклиент-серверным схемам (например, локально хранимым приложениям, пиринговым системам и т. п.).
[0056]
Сервер 104 поставщика услуги регистрации и/или сервер 106 проверки на совпадение могут представлять собой вычислительное устройство любого типа, включая, но без ограничения, мобильный телефон, смартфон, личный цифровой помощник (PDA), портативный переносной компьютер, настольный компьютер, компьютер сервера, устройство для тонкого клиента, планшетный персональный компьютер и т. д. Дополнительно следует отметить, что в некоторых вариантах осуществления одно или оба из изображенных вычислительных устройств могут быть исполнены одной или более виртуальными машинами, реализованными в размещаемой вычислительной среде. Размещаемая вычислительная среда может содержать один или более быстро предоставляемых и освобождаемых вычислительных ресурсов, причем эти вычислительные ресурсы могут содержать вычислительные, сетевые и/или запоминающие устройства. Размещаемая вычислительная среда также может быть названа облачной вычислительной средой.
[0057]
В одной иллюстративной конфигурации сервер 104 поставщика услуги регистрации может содержать по меньшей мере одно запоминающее устройство 210 и один или более процессорных элементов (или процессоров) 212. Процессор (процессоры) 212 может быть реализован по необходимости в виде аппаратного обеспечения, исполняемых компьютером инструкций, программно-аппаратного обеспечения или их комбинаций. Реализации процессора (процессоров) 212 в виде исполняемых компьютером инструкций или программно-аппаратного обеспечения могут включать исполняемые компьютером или исполняемые машиной инструкции, написанные на любом подходящем языке программирования, для выполнения различных описанных функций.
[0058]
Обращаясь к содержанию запоминающего устройства 210 более подробно, запоминающее устройство 210 может содержать модуль 214 шифрования шаблонов, который при использовании вместе с процессором (процессорами) 212 выполнен с возможностью шифрования биометрических шаблонов, принятых с одного или более устройств 102 пользователя, с использованием методик гомоморфного шифрования. Модуль 214 шифрования шаблонов может быть выполнен с возможностью использования открытого ключа шифрования, связанного с сервером 104 поставщика услуги регистрации, для шифрования биометрического шаблона. В некоторых вариантах осуществления модуль 214 шифрования шаблонов может расшифровывать биометрический шаблон, принятый с устройства 102 пользователя перед повторным шифрованием биометрического шаблона. В некоторых вариантах осуществления модуль 214 шифрования шаблонов может использовать одну или более гомоморфных криптосистем, доступных в библиотеках с открытым доступом, таких как библиотека HElib, библиотека FHEW и/или библиотека TFHE.
[0059]
Запоминающее устройство 210 может содержать модуль 216 гомоморфной верификации, который при использовании вместе с процессором (процессорами) 212 выполнен с возможностью расшифровки зашифрованного результата совпадения, принятого с сервера проверки на совпадение, и определения степени, в которой совпадение является успешным. В некоторых вариантах осуществления модуль 216 гомоморфной верификации может принимать файл данных с сервера 106 проверки на совпадение, который представляет сравнение или схожесть между двумя зашифрованными биометрическими шаблонами. Поскольку два биометрических шаблона были зашифрованы с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации, с использованием методик гомоморфного шифрования, принятый файл данных также зашифровывается и может быть расшифрован с использованием закрытого ключа, связанного с сервером поставщика услуги регистрации. Модуль 216 гомоморфной верификации может быть выполнен с возможностью расшифровки принятого файла данных для определения степени, в которой совпадают два биометрических шаблона. В некоторых вариантах осуществления файл данных может содержать указание того, насколько схожи или отличаются два биометрических шаблона. Модуль 216 гомоморфной верификации может генерировать значение, которое представляет вероятность того, что пользователи, связанные с двумя биометрическими шаблонами, представляют собой одного и того же пользователя. Этот результат, который может быть представлен в виде числового значения (например, процентной доли), может быть предоставлен обратно на сервер 106 проверки на совпадение. В некоторых вариантах осуществления результат может быть предоставлен на устройство 102 пользователя, связанное с файлом данных.
[0060]
Дополнительно запоминающее устройство 210 может содержать данные 218 ключей шифрования, которые хранят открытый и закрытый ключ шифрования, связанный с сервером 104 поставщика услуги регистрации, а также ключи шифрования, связанные с рядом устройств 102 пользователя. Запоминающее устройство может также содержать данные 220 о счете, которые могут хранить информацию для одного или более пользователей и/или устройств 102 пользователя, а также платежную/аутентификационную информацию для соответственных пользователей и/или устройств 102 пользователя. Данные 218 ключей шифрования и/или данные 220 о счете могут быть сохранены в одной или более базах данных.
[0061]
Сервер 106 проверки на совпадение может относиться к любому подходящему типу вычислительного устройства, которое взаимодействует с устройством доступа для аутентификации пользователя при транзакции. Сервер 106 проверки на совпадение может содержать запоминающее устройство 222 и один или более процессоров 224, выполненных с возможностью обработки пользовательских входных данных. Варианты осуществления приложения на сервере 106 проверки на совпадение могут сохраняться и исполняться с его запоминающего устройства 222. Запоминающее устройство 222 может хранить программные инструкции, которые могут быть загружены и исполнены на процессоре (процессорах) 224, а также данные, генерируемые во время исполнения этих программ. Запоминающее устройство 222 может содержать операционную систему и одну или более прикладных программ или служб для реализации признаков, раскрытых в данном документе, включая по меньшей мере модуль для шифрования биометрического шаблона (модуль 226 шифрования шаблонов) и/или модуль для выполнения гомоморфного сравнение по зашифрованным данным (модуль 228 сравнения шаблонов). Модуль 226 шифрования шаблонов может быть по существу схожим с модулем 214 шифрования шаблонов, описанным выше. Следует отметить, что в некоторых вариантах осуществления биометрический шаблон может быть зашифрован посредством устройства доступа перед передачей на сервер проверки на совпадение.
[0062]
Модуль 228 сравнения шаблонов может быть выполнен с возможностью сравнения двух биометрических шаблонов, которые были зашифрованы с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. Следует отметить, что сервер 106 проверки на совпадение может не иметь доступа к закрытому ключу, связанному с сервером 104 поставщика услуги регистрации, следовательно, модуль 228 сравнения шаблонов не может быть выполнен с возможностью расшифровки биометрических шаблонов. Однако поскольку биометрические шаблоны были зашифрованы с использованием методик гомоморфного шифрования, модуль 228 сравнения шаблонов может обрабатывать зашифрованные биометрические шаблоны, как если бы это были незашифрованные биометрические шаблоны, для создания файла данных, который представляет разницы или схожести между двумя биометрическими шаблонами. Файл данных, созданный этим способом, сам по себе зашифрован, и сервер проверки на совпадение также не может расшифровать файл данных. Вместо этого сервер 106 проверки на совпадение может быть выполнен с возможностью передачи сгенерированного файла данных на сервер 104 поставщика услуги регистрации, который, в свою очередь, расшифровывает файл данных (например, посредством модуля 216 гомоморфной верификации) и возвращает указание вероятности совпадения между двумя биометрическими шаблонами.
[0063]
На фиг. 3 показана схема последовательности операций способа регистрации согласно варианту осуществления настоящего изобретения. Процесс 300 или по меньшей мере его части могут быть выполнены посредством примерного устройства 102 пользователя, сервера 104 поставщика услуги регистрации и сервера 106 проверки на совпадение, как изображено на фиг. 1 и фиг. 2 и описано выше.
[0064]
В варианте осуществления настоящего изобретения пользователь может регистрироваться в мобильном приложении поставщика услуги регистрации на устройстве 102 пользователя, таком как смартфон пользователя. Регистрация может включать регистрацию одного или более платежных инструментов, таких как кредитные карты, и получение с использованием устройства 102 пользователя биометрического образца, такого как изображение лица. Она может также включать форму аутентификации с демонстрацией серверу 104 поставщика услуги регистрации того, что регистрируемый пользователь является законным владельцем платежных инструментов. В некоторых вариантах осуществления это может быть выполнено пользователем, вводящим код или пароль, таким образом обеспечивается вход пользователя в учетную запись, хранимую сервером 104 поставщика услуги регистрации. В некоторых вариантах осуществления данные регистрации могут содержать биометрический шаблон (зашифрованный или незашифрованный), а также указание счета для связывания с вариантами осуществления настоящего изобретения. После приема данных регистрации процесс может включать сохранение данных регистрации как в связи с информацией о счете, так и с устройством пользователя, с которого данные регистрации были приняты. В некоторых вариантах осуществления данные регистрации могут заменять существующие данные регистрации. Например, пользователь может захотеть использовать новый биометрический образец и/или связать существующий биометрический шаблон с другим счетом.
[0065]
На этапе S302 устройство 102 пользователя может принимать биометрический образец от пользователя устройства 102 пользователя. В некоторых вариантах осуществления у пользователя могут запросить ввести биометрические данные с использованием биометрического устройства считывания, что приводит к сбору биометрического образца. В некоторых вариантах осуществления биометрический образец может быть собран в ответ на запрос пользователю зарегистрироваться в системе, которая предоставляет биометрический доступ к ресурсу. В некоторых вариантах осуществления от пользователя может потребоваться аутентификация того, что пользователь является тем, кем себя заявляет, на этапе S302. Например, от пользователя может потребоваться войти в учетную запись, поддерживаемую сервером 104 поставщика услуги регистрации. Вход в учетную запись может быть выполнен через мобильное приложение, установленное на устройстве 102 пользователя и исполняемое с него.
[0066]
На этапе S304 устройство 102 пользователя может обрабатывать биометрический образец в первый биометрический шаблон. В некоторых вариантах осуществления это может включать идентификацию различных биометрических признаков внутри полученного биометрического образца и идентификацию взаимосвязей между одним или более этими признаками. Указание этих взаимосвязей может затем быть сформировано в биометрический шаблон. Например, биометрический шаблон может содержать указание относительного расстояния между различными чертами лица пользователя 104. В этом примере биометрический шаблон может хранить указание расстояния между ртом пользователя и носом пользователя по отношению к расстоянию между носом пользователя и лбом пользователя.
[0067]
На этапе S306 приложение поставщика услуги регистрации на устройстве 102 пользователя может шифровать первый биометрический шаблон в форме, которая защищает его конфиденциальность и сохранность, а также подтверждает его происхождение. Например, это может быть выполнено с использованием аутентификационного шифрования полученными симметричными ключами, когда сервер 104 поставщика услуги регистрации может иметь главный ключ, который был предварительно использован для получения конкретного ключа или ключей пользователя от пользователя или на основе данных о счете (таких как PAN). В некоторых вариантах осуществления устройство 102 пользователя может, в ответ на запрос на регистрацию пользователя, быть обеспечено ключом шифрования для использования при шифровании биометрического шаблона. В некоторых вариантах осуществления ключ шифрования может представлять собой ключ шифрования, характерный для устройства, который связан с тем устройством 102 пользователя. В некоторых вариантах осуществления устройство 102 пользователя может быть обеспечено открытым ключом (из пары открытого и закрытого ключей), связанным с сервером 104 поставщика услуги регистрации. В некоторых вариантах осуществления совместно используемый секретный ключ может быть создан для устройства 102 пользователя и сервера 104 поставщика услуги регистрации с использованием комбинации пар открытого и закрытого ключа (например, с помощью обмена ключами по методу Диффи-Хеллмана). Биометрический шаблон может затем быть зашифрован с использованием предоставленного ключа шифрования.
[0068]
На этапе S308 устройство 102 пользователя может передавать сообщение, содержащее зашифрованный биометрический шаблон и идентификационные данные пользователя, на сервер 104 поставщика услуги регистрации. Идентификационные данные пользователя могут идентифицировать пользователя для сервера 104 поставщика услуги регистрации. В некоторых вариантах осуществления идентификационные данные пользователя могут представлять собой пароль, маркер или номер основного счета (PAN). Идентификационные данные пользователя могут быть зашифрованы таким же способом, как и зашифрованный биометрический шаблон. В некоторых вариантах осуществления зашифрованный биометрический шаблон и идентификационные данные пользователя могут быть зашифрованы разными способами.
[0069]
На этапе S310 после приема сообщения сервер 104 поставщика услуги регистрации может расшифровывать зашифрованный биометрический шаблон и идентификационные данные пользователя. Сервер 104 поставщика услуги регистрации может проверять сохранность и происхождение сообщения. Процесс может дополнительно включать сохранение данных регистрации как в связи с информацией о счете, так и с устройством пользователя, с которого данные регистрации были приняты. В некоторых вариантах осуществления биометрический шаблон может быть зашифрован с использованием открытого ключа, связанного с сервером 104 поставщика услуги регистрации. В по меньшей мере некоторых из этих вариантов осуществления зашифрованный биометрический шаблон может быть сохранен после приема.
[0070]
На этапе S312 сервер 104 поставщика услуги регистрации может генерировать биометрический идентификатор, также называемый указателем (иногда называемый в данном документе как CH), соответствующий пользователю. Биометрический идентификатор может быть использован внешними сторонами. Биометрический идентификатор может быть сгенерирован таким образом, что он не раскрывает какую-либо информацию о пользователе или не имеет ссылок на идентификатор пользователя или его счет (PAN). В некоторых вариантах осуществления биометрический идентификатор может представлять собой случайный номер или строку символов. В некоторых вариантах осуществления биометрический идентификатор может быть сохранен в базе данных сервера поставщика услуги регистрации в отношении пользователя.
[0071]
На этапе S314 сервер 104 поставщика услуги регистрации может шифровать расшифрованный первый биометрический шаблон (иногда называемый в данном документе TE), предварительно принятый от пользователя, посредством открытого ключа поставщика услуги регистрации (называемого в данном документе Pb), при этом шифрование может быть записано как Pb{TE} для первого зашифрованного биометрического шаблона. Если криптографическая система, использующая открытый ключ, основана на эллиптических кривых, то может использоваться шифрование Эль-Гамаля, когда первый зашифрованный биометрический шаблон будет подвергаться гомоморфным операциям и как таковой не может использовать смешанную схему шифрования, где полезные данные шифруются симметричным шифром, а симметричный ключ, в свою очередь, шифруется открытым ключом.
[0072]
На этапе S316 после шифрования расшифрованного первого биометрического шаблона для создания первого зашифрованного биометрического шаблона сервер 104 поставщика услуги регистрации может передавать первый зашифрованный биометрический шаблон и биометрический идентификатор на сервер 106 проверки на совпадение. Биометрический идентификатор может быть использован сервером 106 проверки на совпадение, чтобы ссылаться на счет пользователя без предоставления подробностей о пользователе. Передача с сервера 104 поставщика услуги регистрации на сервер 106 проверки на совпадение может быть защищенной, то есть аутентифицированной и зашифрованной, например, посредством протокола безопасности транспортного уровня (TLS).
[0073]
В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может удалить расшифрованный первый биометрический шаблон, а также первый зашифрованный биометрический шаблон со своей системы (например, базы данных сервера поставщика услуги регистрации), поскольку они могут больше не требоваться на сервере 104 поставщика услуги регистрации. Таким образом, на сервере 104 поставщика услуги регистрации не остается остаточной информации о первом биометрическом шаблоне, даже в зашифрованной форме.
[0074]
На этапе S318 после приема первого зашифрованного биометрического шаблона и биометрического идентификатора сервер 106 проверки на совпадение может сохранять связь биометрического идентификатора с первым зашифрованным биометрическим шаблоном в базе данных. Следует отметить, что поскольку сервер 106 проверки на совпадение не имеет закрытого ключа поставщика услуги регистрации, связанного с открытым ключом поставщика услуги регистрации, он не может расшифровывать первый зашифрованный биометрический шаблон или открывать первый биометрический шаблон любым способом. Таким образом, сервер 106 проверки на совпадение безопасно сохраняет первый зашифрованный биометрический шаблон, и ни сервер 106 проверки на совпадение, ни субъект, который взламывает сервер 106 проверки на совпадение, не могут получить первый биометрический шаблон, поскольку он зашифрован.
[0075]
В некоторых вариантах осуществления устройство 102 пользователя может не передавать зашифрованный биометрический шаблон на сервер 104 поставщика услуги регистрации, но может передавать идентификационные данные пользователя. В таком случае сервер 104 поставщика услуги регистрации может проверять пользователя по идентификационным данным пользователя. Сервер 104 поставщика услуги регистрации может затем генерировать биометрический идентификатор и потом передавать биометрический идентификатор на устройство 102 пользователя. Устройство 102 пользователя может затем шифровать первый биометрический шаблон посредством открытого ключа поставщика услуги регистрации и потом передавать первый зашифрованный биометрический шаблон, а также биометрический идентификатор на сервер 106 проверки на совпадение.
[0076]
На фиг. 4 показана схема последовательности операций способа аутентификации согласно варианту осуществления настоящего изобретения. Подобно процессу, изображенному на фиг. 3, процесс 400 или по меньшей мере его части могут быть выполнены посредством примерного устройства 102 пользователя, сервера 104 поставщика услуги регистрации и сервера 106 проверки на совпадение, как изображено на фиг. 1 и фиг. 2 и описано выше.
[0077]
Аутентификация может иметь место в ситуации оплаты внутри приложения, которая может не контролироваться сервером 104 поставщика услуги регистрации, но может контролироваться, например, поставщиком ресурса, или при просмотре и активации приложения на основе Java-скрипта со страницы поставщика ресурса. Когда пользователь выполняет аутентификацию, он может делать это в приложении или в Java-скрипте на основе браузера, таком как приложение поставщика ресурсов, расположенное на устройстве 102 пользователя. Приложение поставщика ресурсов может иметь доступ к открытому ключу поставщика услуги регистрации и/или открытому ключу сервера проверки на совпадение.
[0078]
На этапе S402 приложение поставщика ресурсов или Java-скрипт могут контактировать с одним из сервера 104 поставщика услуги регистрации или сервера 106 проверки на совпадение для открытия биометрического идентификатора на основе информации, которой может обладать сторона о пользователе (например, маркер или PAN). В некоторых вариантах осуществления приложение поставщика ресурсов на устройстве 102 пользователя может передавать сообщение с запросом биометрического идентификатора на сервер 104 поставщика услуги регистрации. Сообщение с запросом биометрического идентификатора может содержать идентификационные данные пользователя, запрос на биометрический идентификатор и любую другую подходящую информацию. Идентификационные данные пользователя могут представлять собой маркер, PAN или любой другой подходящий идентификатор.
[0079]
На этапе S404 сервер 104 поставщика услуги регистрации может передавать биометрический идентификатор, связанный с идентификационными данными пользователя, на устройство 102 пользователя в ответ на принятый запрос. В некоторых вариантах осуществления биометрический идентификатор может быть зашифрован перед передачей на устройство 102 пользователя. Например, биометрический идентификатор может быть зашифрован с использованием ключа шифрования, для которого устройство 102 пользователя имеет доступ к ключу расшифровки.
[0080]
После открытия биометрического идентификатора устройством 102 пользователя, на этапе S406, пользователя могут запросить передать биометрический образец на устройство 102 пользователя, например, сделать фото себя (например, селфи) с использованием камеры на устройстве 102 пользователя.
[0081]
На этапе S408 устройство 102 пользователя может обрабатывать биометрический образец во второй биометрический шаблон (называемый в данном документе TA). Второй биометрический шаблон может быть сгенерирован с использованием методик, по существу схожих с теми, что используются для генерирования первого биометрического шаблона. В некоторых вариантах осуществления приложение или программа, используемые для генерирования второго биометрического шаблона, могут быть одинаковыми приложением или программой, используемыми для генерирования первого биометрического шаблона.
[0082]
На этапе S410 в некоторых вариантах осуществления приложение поставщика ресурсов или Java-скрипт могут шифровать второй биометрический шаблон посредством открытого ключа поставщика услуги регистрации, создавая в результате второй зашифрованный биометрический шаблон, Pb{TA}. Следует отметить, что в некоторых вариантах осуществления сервер 106 проверки на совпадение может шифровать второй биометрический шаблон посредством открытого ключа поставщика услуги регистрации, создавая в результате второй зашифрованный биометрический шаблон, Pb{TA}. Приложение поставщика ресурсов может затем шифровать зашифрованный (или незашифрованный) второй биометрический шаблон, биометрический идентификатор и идентификатор транзакции (называемый в данном документе TI) посредством открытого ключа сервера проверки на совпадение (называемого в данном документе PbMS), создавая в результате зашифрованный набор из n элементов, PbMS{Pb{TA}, CH, TI}. Открытый ключ сервера проверки на совпадение может быть смешанной формы, как описано выше.
[0083]
На этапе S412 приложение поставщика ресурсов может передавать зашифрованный набор из n элементов на сервер 106 проверки на совпадение. Зашифрованный набор из n элементов может быть передан на сервер 106 проверки на совпадение в форме, которая защищает его сохранность и конфиденциальность.
[0084]
На этапе S414 после приема сервером 106 проверки на совпадение зашифрованного набора из n элементов из приложения поставщика ресурсов сервер 106 проверки на совпадение может затем расшифровывать зашифрованный набор из n элементов посредством закрытого ключа сервера проверки на совпадение, соответствующего открытому ключу сервера проверки на совпадение, создавая в результате второй зашифрованный биометрический шаблон, биометрический идентификатор и идентификатор транзакции.
[0085]
На этапе S416 сервер 106 проверки на совпадение может использовать биометрический идентификатор для поиска первого зашифрованного биометрического шаблона, сохраненного на этапе S318. Это может включать запрашивание у базы данных зашифрованных биометрических шаблонов, сохраненных в связи с биометрическими идентификаторами.
[0086]
На этапе S418 сервер 106 проверки на совпадение может выполнить процесс гомоморфного сравнения между первым зашифрованным биометрическим шаблоном и вторым зашифрованным биометрическим шаблоном, создавая в результате зашифрованный файл данных (т.е. зашифрованный результат совпадения), при этом зашифрованный файл данных находится в области шифрования поставщика услуги регистрации. Другими словами, созданный в результате файл данных может уже быть зашифрован посредством открытого ключа, связанного с сервером 104 поставщика услуги регистрации, при его генерировании. Гомоморфное сравнение может иметь форму обработки зашифрованных данных, которая обеспечивает вычисление по зашифрованным данным с генерированием зашифрованного результата, который при расшифровке совпадает с результатом вычислений, как если бы они были выполнены по незашифрованным данным. Другими словами, два шаблона, которые сравниваются, должны находиться в одной и той же области шифрования, в этом случае области шифрования поставщика услуги регистрации, для выполнения гомоморфной проверки на совпадение, при этом результат совпадения должен также находиться в одной и той же области шифрования. В некоторых вариантах осуществления это может быть представлено как Pb{m} := HE_match( Pb{TE}, Pb{TA} ). Следует отметить, что, несмотря на то, что сервер 104 проверки на совпадение может выполнить гомоморфное сравнение, сервер проверки на совпадение не может интерпретировать результаты этого сравнения, поскольку у него нет доступа к закрытому ключу сервера поставщика услуги регистрации.
[0087]
На этапе S420 сервер 106 проверки на совпадение может передавать зашифрованный результат совпадения, биометрический идентификатор и идентификатор транзакции на сервер 104 поставщика услуги регистрации с использованием защищенного канала.
[0088]
На этапе S422 сервер 104 поставщика услуги регистрации может расшифровывать зашифрованный результат совпадения посредством закрытого ключа поставщика услуги регистрации, соответствующего открытому ключу поставщика услуги регистрации, создавая результат совпадения.
[0089]
Результат совпадения указывает вероятность того, совпадают ли первый биометрический шаблон и второй биометрический шаблон. Результат совпадения может иметь любую подходящую форму. Например, в некоторых вариантах осуществления результат совпадения может представлять собой значение от нуля до ста, при этом нулевое значение означает, что шаблоны не совпадают, и при этом значение, составляющее сто, означает, что шаблоны полностью совпадают. В этом примере значение может быть представлено как процентное значение. В других вариантах осуществления результат совпадения может быть представлен либо как «есть совпадение», либо как «нет совпадения».
[0090]
В дополнительных вариантах осуществления после получения файла данных с результатами совпадений сервер 104 поставщика услуги регистрации может передавать уведомление, относящееся к результату совпадения, на устройство 102 пользователя. Уведомление может содержать результат совпадения, а также информацию, относящуюся к результату совпадения и/или идентификатору транзакции. Например, уведомление может быть представлено как «биометрические данные для транзакции #521 совпадают с сохраненными биометрическими данными».
[0091]
В других вариантах осуществления, сервер 104 поставщика услуги регистрации может передавать результат совпадения, биометрический идентификатор и идентификатор транзакции в приложение поставщика ресурсов и/или сервер 106 проверки на совпадение.
[0092]
В некоторых вариантах осуществления результат совпадения может быть использован для аутентификации транзакции, соответствующей идентификатору транзакции. В некоторых вариантах осуществления транзакция может быть аутентифицирована после определения того, что значение результата совпадения больше какого-либо предопределенного порогового значения приемлемого риска. В некоторых вариантах осуществления пороговое значение приемлемого риска может изменяться на основе устройства доступа, с которого был принят запрос, или типа транзакции для аутентификации. Например, некоторые устройства доступа (или субъекты, которые управляют этими устройствами доступа) могут быть склонны к принятию большего уровня риска, чем другие устройства доступа. Следует отметить, что более высокое пороговое значение приемлемого риска приведет к повышению безопасности за счет большего числа ложных отклонений.
[0093]
На фиг. 5 изображена блок-схема, изображающая примерные взаимодействия, которые могут происходить между сервером поставщика услуги регистрации и сервером проверки на совпадение в соответствии с по меньшей мере некоторыми вариантами осуществления.
[0094]
В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может принимать запрос на регистрацию с устройства 102 пользователя. В некоторых вариантах осуществления сервер 104 поставщика услуги регистрации может отвечать на запрос на регистрацию путем предоставления ключа шифрования (например, открытого ключ шифрования, связанного с сервером 104 поставщика услуги регистрации). После приема устройством 102 пользователя ключа шифрования оно может запросить у пользователя предоставить биометрический образец посредством одного или более датчиков входных данных устройства 102 пользователя. Например, устройство пользователя может запросить у пользователя сделать фотографию его лица с использованием съемочного устройства, установленного в устройстве 102 пользователя. Устройство 102 пользователя может генерировать биометрический шаблон на основе принятого биометрического образца. В некоторых вариантах осуществления устройство пользователя может также запрашивать у пользователя пароль или другое средство аутентификации, которое может использоваться для проверки подлинности пользователя. Дополнительно устройство 102 пользователя может запрашивать у пользователя предоставление указания одного или более счетов (например, платежных счетов) для регистрации в системе, описанной в данном документе. Устройство пользователя может передавать каждое из биометрического шаблона и указания счета на сервер поставщика услуги регистрации на этапе 502. В некоторых вариантах осуществления сервер поставщика услуги регистрации может назначать биометрический идентификатор для связывания с биометрическим шаблоном и устройством 102 пользователя. Сервер поставщика услуги регистрации может передавать биометрический идентификатор на устройство 102 пользователя (например, с подтверждением того, что биометрический шаблон был принят).
[0095]
На этапе 504 сервер 104 поставщика услуги регистрации может генерировать гомоморфно зашифрованный биометрический шаблон на основе биометрического шаблона, который он принял с устройства пользователя на этапе 502. Чтобы это сделать, сервер 104 поставщика услуги регистрации может шифровать принятый биометрический шаблон с использованием своего открытого ключа. Зашифрованный биометрический шаблон может затем быть отправлен на сервер 106 проверки на совпадение. Следует отметить, что хотя взаимодействия, изображенные на фиг. 5, иллюстрируют вариант осуществления, в котором сервер поставщика услуги регистрации шифрует биометрический шаблон, в по меньшей мере некоторых вариантах осуществления биометрический шаблон может быть зашифрован устройством 102 пользователя. В по меньшей мере некоторых из тех вариантов осуществления устройство пользователя может также передавать зашифрованный биометрический шаблон непосредственно на сервер 106 проверки на совпадение (например, с помощью мобильного приложения, установленного на устройстве 102 пользователя).
[0096]
На этапе 506 сервер 106 проверки на совпадение может принимать зашифрованный биометрический шаблон и биометрический идентификатор с сервера 104 поставщика услуги регистрации. Сервер 106 проверки на совпадение может хранить зашифрованный биометрический шаблон в связи с биометрическим идентификатором в базе данных или другом средстве хранения. В этот момент взаимодействия между различными компонентами системы могут прекратиться (относительно этой конкретной транзакции), пока оператор устройства 102 пользователя не захочет совершить транзакцию с использованием системы.
[0097]
Когда оператор устройства 102 пользователя готов совершить транзакцию с использованием описанной системы, устройство пользователя может предоставить биометрический образец (или биометрический шаблон, сгенерированный на основе биометрического образца) на устройство 110 доступа вместе с биометрическим идентификатором. В случае, когда устройство 110 доступа принимает биометрический образец (например, в случае, когда биометрический образец получен камерой устройства доступа), устройство 110 доступа может генерировать биометрический шаблон на основе этого биометрического образца, который он может передавать на сервер 106 проверки на совпадение. На этапе 508 сервер 106 проверки на совпадение может принимать биометрический шаблон и биометрический идентификатор с устройства 110 доступа. Устройство доступа может представлять собой любое вычислительное устройство, которое управляет доступом к ресурсу, включая веб-сайт, который продает товары и/или услуги (например, интернет-магазин). В некоторых вариантах осуществления сервер 106 проверки на совпадение может быть оператором веб-сайта.
[0098]
На этапе 510 сервер 106 проверки на совпадение может генерировать гомоморфно зашифрованный биометрический шаблон. Чтобы это сделать, сервер 106 проверки на совпадение может использовать открытый ключ, связанный с сервером 104 поставщика услуги регистрации, для шифрования биометрического шаблона, принятого с устройства 110 доступа по существу тем же способом, каким был сгенерирован зашифрованный биометрический шаблон на этапе 504, с одной только разницей в процессе, заключающейся в том, какой основной биометрический шаблон шифруется.
[0099]
На этапе 512 сервер 106 проверки на совпадение может извлекать зашифрованный биометрический шаблон, принятый на этапе 506 (например, на основе предоставленного биометрического идентификатора). После извлечения сервер 106 проверки на совпадение может выполнить сравнение между зашифрованным биометрическим шаблоном, принятым на этапе 506, и зашифрованным биометрическим шаблоном, сгенерированным на этапе 510. Сервер 106 проверки на совпадение может генерировать файл данных с результатами совпадений, который представляет схожесть или разницу между двумя биометрическими шаблонами. Поскольку каждый из биометрических шаблонов зашифрован с использованием методик гомоморфного шифрования, созданный в результате файл данных будет по сути зашифрован. Следовательно, сервер 106 проверки на совпадение не сможет интерпретировать файл данных с результатами совпадений, даже если он сгенерировал этот файл данных. Соответственно, для извлечения результата совпадения сервер 106 проверки на совпадение может передавать файл данных с результатами совпадений на сервер 104 поставщика услуги регистрации. Файл данных с результатами совпадений может быть обеспечен биометрическим идентификатором, а также идентификатором транзакции.
[0100]
На этапе 514 сервер 104 поставщика услуги регистрации может принимать файл данных с результатами совпадений с сервера 106 проверки на совпадение. В некоторых вариантах осуществления сервер поставщика услуги регистрации может также принимать биометрический идентификатор, а также идентификатор транзакции, которые могут использоваться для идентификации транзакции/пользователя, связанных с результатом совпадения. После приема результата совпадения сервер 104 поставщика услуги регистрации может расшифровывать файл данных с результатами совпадений с использованием своего закрытого ключа.
[0101]
На этапе 516 сервер 104 поставщика услуги регистрации может интерпретировать расшифрованный файл данных с результатами совпадений для определения вероятности того, что два биометрических шаблона сгенерированы на основе биометрических образцом, взятых у одного и того же пользователя. В некоторых вариантах осуществления расшифрованный файл данных может представлять разницу или схожесть между двумя биометрическими шаблонами. Например, биометрические шаблоны могут содержать указание взаимосвязей между различными биометрическими признаками пользователя. В этом примере файл данных с результатами совпадений может содержать указание того, насколько отличаются те взаимосвязи между двумя биометрическими шаблонами. В некоторых вариантах осуществления вероятность совпадения может быть выражена числовым значением. Сервер 104 поставщика услуги регистрации может предоставлять указание значения вероятности совпадения на сервер 106 проверки на совпадение и/или устройство 102 пользователя.
[0102]
На этапе 518 сервер 106 проверки на совпадение может принимать значение вероятности совпадения и определять на основе принятого значения вероятности совпадения, одобрять или отклонять транзакцию. В некоторых вариантах осуществления сервер 106 проверки на совпадение может иметь предопределенное пороговое значение приемлемого риска, которое представляет числовое значение, по которому следует считать, что биометрические шаблоны были сгенерированы одним и тем же пользователем. Например, сервер 106 проверки на совпадение может иметь пороговое значение приемлемого риска 98%, в котором значения вероятности совпадения, большие или равные 98%, будут считаться аутентифицированными.
[0103]
На этапе 520 сервер 106 проверки на совпадение может одобрять или отклонять транзакцию на основе того, является значение вероятности совпадения выше или ниже порогового значения приемлемого риска. В некоторых вариантах осуществления сервер 106 проверки на совпадение может передавать значение вероятности совпадения на устройство 110 доступа, которое может определять, одобрять или отклонять транзакцию. В некоторых вариантах осуществления сервер 106 проверки на совпадение может обеспечить устройство 110 доступа указанием о том, является аутентификация пользователя успешной или нет.
[0104]
На фиг. 6 изображена блок-схема, иллюстрирующая примерный процесс определения значения вероятности совпадения для аутентификации пользователя в соответствии с по меньшей мере некоторыми вариантами осуществления. Процесс 600 может быть выполнен примерным сервером 104 поставщика услуги регистрации, как изображено на фиг. 1.
[0105]
Процесс 600 может начинаться с этапа 602, когда сервер поставщика услуги регистрации принимает аутентификационные данные с устройства пользователя. В некоторых вариантах осуществления аутентификационные данные могут содержать биометрический шаблон, а также информацию о счете для связывания с биометрическим шаблоном на сервере поставщика услуги регистрации.
[0106]
На этапе 604 процесс 600 может включать определение биометрического идентификатора для связывания с принятыми аутентификационными данными. В некоторых вариантах осуществления биометрический идентификатор может быть сгенерирован в виде строки случайных символов. В некоторых вариантах осуществления биометрический идентификатор может назначен в качестве первичного ключа, предназначенного для уникальной идентификации записей таблицы в таблице базы данных, в которой хранится по меньшей мере часть аутентификационных данных. В некоторых вариантах осуществления процесс 600 может включать шифрование биометрического шаблона, принятого с устройства 102 пользователя (например, в аутентификационных данных) и, в некоторых случаях, сохранение этого зашифрованного биометрического шаблона в базе данных в отношении биометрического идентификатора.
[0107]
На этапе 606 процесс 600 может включать передачу биометрического идентификатора на устройство пользователя и/или сервер проверки на совпадение. В некоторых вариантах осуществления биометрический идентификатор может быть передан на сервер проверки на совпадение вместе с первым зашифрованным биометрическим шаблоном. В по меньшей мере некоторых из этих вариантов осуществления биометрический идентификатор может также быть передан на устройство пользователя, с которого были приняты аутентификационные данные. В некоторых вариантах осуществления биометрический идентификатор может быть передан на устройство пользователя вместе с открытым ключом шифрования, связанным с системой. В по меньшей мере некоторых вариантах осуществления устройство пользователя может генерировать и после этого зашифровывать биометрический шаблон с использованием предоставленного ключа шифрования. Устройство пользователя может затем передавать зашифрованный биометрический шаблон непосредственно на сервер проверки на совпадение вместе с биометрическим идентификатором. В каждом из случаев, представленных выше, сервер проверки на совпадение может затем сохранять биометрический идентификатор в отношении зашифрованного биометрического шаблона.
[0108]
На этапе 608 процесс 600 может включать прием зашифрованного файла данных со значениями совпадения. В некоторых вариантах осуществления компьютер сервера проверки на совпадение после этого принимает второй зашифрованный биометрический шаблон и биометрический идентификатор с устройства пользователя и генерирует зашифрованный файл данных со значениями совпадения путем сравнения первого зашифрованного биометрического шаблона и второго зашифрованного биометрического шаблона. Второй зашифрованный биометрический шаблон может быть зашифрован с использованием одного и того же открытого ключа, как и первый зашифрованный биометрический шаблон. Файл данных со значениями совпадения может содержать допустимую ошибку, или разницу, или схожесть в данных между первым зашифрованным биометрическим шаблоном и вторым зашифрованным биометрическим шаблоном. Следует отметить, что генерирование зашифрованного файла данных со значениями совпадения не должно включать расшифровку данных на основе либо первого зашифрованного биометрического шаблона, либо второго зашифрованного биометрического шаблона.
[0109]
На этапе 610 процесс 600 может включать расшифровку принятого файла данных со значениями совпадения. Чтобы это сделать, система может использовать закрытый ключ, соответствующий открытому ключу, используемому для шифрования как первого зашифрованного биометрического шаблона, так и второго зашифрованного биометрического шаблона. Специалисту в данной области техники будет понятно, что на этом этапе для использования доступен ряд методик расшифровки. Конкретная используемая методика расшифровки будет зависеть от типа методик шифрования.
[0110]
На этапе 612 процесс 600 может включать определение значения вероятности совпадения. В некоторых вариантах осуществления это может включать интерпретацию расшифрованного файла данных с результатами совпадений для определения вероятности того, что два биометрических шаблона сгенерированы на основе биометрических образцов, взятых у одного и того же пользователя. В некоторых вариантах осуществления расшифрованный файл данных со значениями совпадения может представлять разницу или схожесть между двумя биометрическими шаблонами. Например, биометрические шаблоны могут содержать указание взаимосвязей между различными биометрическими признаками пользователя. В этом примере файл данных с результатами совпадений может содержать указание того, насколько отличаются те взаимосвязи между двумя биометрическими шаблонами. В некоторых вариантах осуществления вероятность совпадения может быть выражена числовым значением. В некоторых вариантах осуществления система может предоставлять указание значения вероятности совпадения на сервер проверки на совпадение и/или устройство пользователя.
[0111]
Варианты осуществления настоящего изобретения обеспечивают ряд преимуществ над традиционными системами. Например, описанная система позволяет субъектам использовать биометрическую аутентификацию в своих приложениях без раскрытия этим субъектам закрытой информации. В вариантах осуществления системы разработчик может включить биометрическую аутентификацию (например, распознавание лиц) пользователя в свое приложение без предоставления этому пользователю доступа к расшифрованной биометрической информации. Следовательно, разработчик, который может быть ненадежной стороной, не сможет затем перераспределить биометрическую информацию пользователя или использовать ее в нечестных целях. В то же время, позволяя третьим сторонам (например, серверу проверки на совпадение) выполнять сравнения биометрических шаблонов, система может значительно снизить собственную рабочую нагрузку, что приводит к значительному увеличению доступной вычислительной мощности.
[0112]
Кроме того, способы и системы являются защищенными и адаптируемыми. Поскольку данные биометрического шаблона зашифрованы на сервере проверки на совпадение, они защищены от взлома данных, поскольку зашифрованные данные шаблона сами по себе непригодны. Кроме того, каждый сервер проверки на совпадение может обслуживаться разными субъектами, такими как разные продавцы, разные банки или разные организации. Каждый субъект может хранить данные своих пользователей и выполнять процесс криптографической проверки на совпадение. Это не только разделяет данные согласно подходящему субъекту, но, как отмечено выше, распределяет вычислительные требования, связанные с выполняемыми процессами проверки на совпадение. Однако сервер регистрации может быть единственным компьютером в системе, который когда-либо содержал биометрический шаблон в незашифрованном виде. Таким образом, только один компьютер сервера должен быть защищен, в то время как могут существовать несколько других серверов проверки на совпадение, которые могут иметь меньшую безопасность, чем сервер регистрации. Таким образом, варианты осуществления настоящего изобретения являются очень адаптируемыми.
[0113]
Следует понимать, что любые из вариантов осуществления настоящего изобретения могут быть реализованы в форме управляющей логики с использованием аппаратного обеспечения (например, интегральной схемы специального назначения или программируемой пользователем вентильной матрицы) и/или с использованием компьютерного программного обеспечения с традиционно программируемым процессором в модульном или целостном режиме. В контексте данного документа процессор включает процессор с одним ядром, процессор с несколькими ядрами на одной и той же интегральной микросхеме или ряд процессорных устройств на одной печатной плате или сетевых. На основе раскрытия и указаний, представленных в данном документе, специалисту в данной области техники будут понятны и очевидны другие пути и/или способы реализации вариантов осуществления настоящего изобретения с использованием аппаратного обеспечения и комбинации аппаратного обеспечения и программного обеспечения.
[0114]
Любые из программных компонентов или функций, описанных в этой заявке, могут быть реализованы в виде программного кода, который должен быть исполнен процессором, с использованием любого подходящего компьютерного языка, такого как, например, Java, C, C++, C#, Objective-C, Swift, или языка сценариев, такого как Perl или Python, с использованием, например, традиционных или объектно-ориентированных подходов. Программный код может быть сохранен в виде последовательности инструкций или команд на машиночитаемом носителе для хранения и/или передачи, при этом подходящие носители включают оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), магнитный носитель, такой как жесткий диск или гибкий диск, или оптический носитель, такой как компакт-диск (CD) или DVD (цифровой универсальный диск), флэш-память и т. п. Машиночитаемый носитель может представлять собой любую комбинацию таких устройств хранения или передачи.
[0115]
Такие программы могут также быть закодированы и переданы с использованием несущих сигналов, предназначенных для передачи по проводным, оптическим и/или беспроводным сетям согласно разнообразным протоколам, включая Интернет. Таким образом, машиночитаемый носитель согласно варианту осуществления настоящего изобретения может быть создан с использованием сигнала данных, закодированного с помощью таких программ. Машиночитаемые носители, закодированные с помощью программного кода, могут быть представлены с совместимым устройством или предоставлены отдельно от других устройств (например, посредством скачивания через Интернет). Любой такой машиночитаемый носитель может располагаться на или в одном компьютерном продукте (например, жестком диске, CD или целой компьютерной системе) и может быть представлен на или в разных компьютерных продуктах в системе или сети. Компьютерная система может содержать монитор, принтер или другое подходящее устройство отображения для предоставления пользователю любых результатов, упомянутых в данном документе.
[0116]
Вышеприведенное описание является иллюстративным и не является ограничительным. Многие варианты настоящего изобретения станут очевидными специалистам в данной области техники по прочтении настоящего описания. Следовательно, объем настоящего изобретения следует определять не со ссылкой на вышеприведенное описание, а вместо этого следует определять со ссылкой на рассматриваемые пункты формулы изобретения, наряду с их полным объемом или эквивалентами.
[0117]
Один или более признаков из любого варианта осуществления можно скомбинировать с одним или более признаками любого другого варианта осуществления, не отходя от объема настоящего изобретения.
[0118]
В контексте данного документа использование формы единственного числа обозначает «по меньшей мере один», если иное не указано отдельно.