Система и способ аутентификации пользователя при помощи электронной цифровой подписи пользователя
Иллюстрации
Показать всеИзобретение относится к области компьютерной безопасности. Технический результат заключается в повышении безопасности аутентификации пользователя. Система содержит средство управления биометрическими данными для сбора биометрических данных у пользователя, вычисления биометрического ключа на основе собранных данных; средство управления конфиденциальными данными для создания открытого и закрытого криптографических ключей, шифрования закрытого криптографического ключа биометрическим ключом, сохранения зашифрованного закрытого криптографического ключа и открытого криптографического ключа в базе конфиденциальных данных согласно идентификатору пользователя; средство расшифрования для расшифрования зашифрованного закрытого криптографического ключа биометрическим ключом, передачи расшифрованного закрытого криптографического ключа средству шифрования; средство шифрования для создания электронной цифровой подписи пользователя с помощью полученного закрытого криптографического ключа; средство проверки для выполнения проверки полученной электронной цифровой подписи пользователя с помощью открытого криптографического ключа, аутентификации пользователя при получении положительных результатов выполненной проверки. 2 н. и 6 з.п. ф-лы, 3 ил.
Реферат
Область техники
Изобретение относится к области доступа к данным, а более конкретно к системам и способам аутентификации пользователя при помощи электронной цифровой подписи пользователя.
Уровень техники
Широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.), появление доступных высокопроизводительных серверов и вместительных хранилищ данных, многократное увеличению пропускной способности компьютерных сетей и значительное снижение цены на сетевой трафик для конечного пользователя в последние годы дали мощный толчок к использованию отдельными пользователями и целыми организациями внешних серверов для хранения и обработки данных. Все большую и большую популярность набирают облачные технологии, такие как облачные вычисления (технология онлайн-вычислений, обеспечивающая повсеместный и удобный сетевой доступ по требованию к вычислительным ресурсам) и облачные хранилища данных (технология онлайн-хранилищ, обеспечивающая хранение данных на многочисленных распределенных в сети серверах).
Зачастую удаленно хранящиеся и обрабатываемые данные обладают высокой ценностью, и несанкционированный доступ к ним может привести к большим финансовым потерям (например, в случае кражи удаленно хранящихся и обрабатываемых данных). Поэтому большое внимание уделяется безопасности доступа к данным, хранения и использования данных.
Одним из этапов удаленного доступа к данным является аутентификация пользователя в системе хранения данных.
Во время аутентификации пользователь передает на сервер свои аутентификационные данные, такие как, например, логин и пароль.
На этом этапе мошенники имеют возможность перехватить передаваемые пользователем аутентификационные данные для несанкционированного доступа к данным пользователя, хранящимся удаленно. Даже перехватив контрольную сумму от пароля (в качестве контрольной суммы часто используется md5), мошенники могут восстановить пароль, например, методом перебора (англ. bruteforce) или методом поиска коллизий (англ. collision/clash), и получить доступ к другим данным пользователя (например, почте).
Для повышения безопасности аутентификации широко применяется несколько технологий: биометрическая аутентификация (использование отпечатков пальцев, снимка сетчатки глаза, образца речи), многоэтапная аутентификация, когда пользователь указывает аутентификационные данные, полученные из разных источников (например, логин и пароль, которыми владеет пользователь плюс код доступа, который пользователь получает от сервера на мобильный телефон) и т.д. Повышение безопасности аутентификации достигается за счет увеличения количества аутентификационных данных (например, в случае многоэтапной аутентификации), способов их получения (например, в случае биометрической аутентификации), и как следствие, сложности для мошенников в получении и использовании этих аутентификационных данных.
Например, в публикации US 8472680 B2 описана технология аутентификации пользователя с помощью биометрических данных. В качестве аутентификационных данных используются биометрические данные пользователя (а именно отпечатки пальцев), обработанные с использованием технологии нечетких контейнеров (англ. fuzzy vault). Такой подход решает проблемы с изменчивостью биометрических образцов и, как следствие, с отказом идентификации пользователя, поскольку позволяет рассчитывать корректные аутентификационные данные даже при наличии ошибок, полученных во время сканирования биометрических образцов. Для защиты аутентификационных данных предлагается после каждой успешной аутентификации обфусцировать биометрические данные пользователя, что должно усложнить несанкционированную аутентификацию, поскольку потребует предварительную деобфускацию биометрических данных пользователя, что в свою очередь представляет собой ресурсоемкую операцию. К недостаткам данной технологии можно отнести то, что биометрические аутентификационные данные пользователя, пусть и обфусцированные, в явном виде передаются на сервер или хранятся на сервере или клиенте, а значит, могут быть получены мошенниками и использованы ими для несанкционированной аутентификации.
В другой публикации US 7623659 B2 описана технология хранения биометрических данных совместно с ключами шифрования данных (которые используем пользователь для шифрования и расшифрования своих приватных данных) в защищенной области памяти и предоставления доступа к ключам при совпадении биометрических образцов переданных пользователем для сличения и хранящихся в защищенной области памяти. Такой способ организации хранения данных позволяет защитить ключи шифрования, а значит и данные пользователя от несанкционированного копирования. К недостаткам данной технологии можно отнести хранение и передачу биометрических данных в явном виде, что может привести к тому, что мошенники смогут получить доступ к биометрическим данным на этапе их передачи для сличения, что, в свою очередь, может привести к последующему получению доступа к ключам шифрования. Кроме того, описанная выше технология подразумевает хранение в открытом виде так же и ключей шифрования, что делает их хранение уязвимым в случае взлома защищенной области памяти.
Хотя описанные выше способы работы хорошо справляются с задачами аутентификации пользователей и предоставления им хранящихся на серверах данных, они зачастую не помогают при направленных атаках, при которых мошенниками используются не стандартные способы доступа к пользовательским данным (такие как подбор или кража паролей и других конфиденциальных данных), а узконаправленные на конкретную систему (например, через использования уязвимостей в системе) или способ передачи конфиденциальных данных (например, через перехват и последующее использование запросов на аутентификацию).
Настоящее изобретение позволяет решать задачу безопасной и устойчивой к атакам аутентификации пользователя.
Раскрытие изобретения
Изобретение предназначено для аутентификации пользователя при помощи электронной цифровой подписи пользователя.
Технический результат настоящего изобретения заключается в повышении безопасности аутентификации пользователя за счет использования аутентификации пользователя при помощи электронной цифровой подписи пользователя, созданной через криптографическое преобразование данных пользователя с использованием криптографического ключа, вычисленного по биометрическим данным пользователя.
Данный результат достигается с помощью использования системы аутентификации пользователя при помощи электронной цифровой подписи пользователя, которая содержит средство управления конфиденциальными данными, предназначенное для поиска по запросу зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных, передачи найденных зашифрованных конфиденциальных данных средству расшифрования; базу конфиденциальных данных, предназначенную для хранения зашифрованных конфиденциальных данных пользователя; средство расшифрования, предназначенное для расшифрования биометрическим ключом, вычисленным средством управления биометрическими данными, полученных зашифрованных конфиденциальных данных, вычисления криптографического ключа на основе расшифрованных конфиденциальных данных, передачи вычисленного криптографического ключа средству шифрования; средство управления биометрическими данными, предназначенное для сбора биометрических данных у пользователя, вычисления биометрического ключа на основе собранных биометрических данных, передачи вычисленного биометрического ключа средству расшифрования; средство шифрования, предназначенное для создания электронной цифровой подписи пользователя с помощью полученного криптографического ключа, передачи электронной цифровой подписи пользователя средству проверки; средство проверки, предназначенное для выполнения проверки полученной электронной цифровой подписи пользователя с помощью расшифрованных конфиденциальных данных пользователя из базы конфиденциальных данных, аутентификации пользователя при получении положительных результатов выполненной проверки.
В другом частном случае реализации системы в качестве расшифрованных конфиденциальных данных пользователя, используемых для проверки полученной электронной цифровой подписи, выступает по меньшей мере открытый криптографический ключ, переданный ранее пользователем.
Способ аутентификации пользователя с помощью электронной цифровой подписи пользователя, в котором запрашивают зашифрованные конфиденциальные данные пользователя; осуществляют поиск запрошенных зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных; собирают у пользователя биометрические данные; вычисляют биометрический ключ на основе собранных биометрических данных; расшифровывают вычисленным на одном из предыдущих этапов биометрическим ключом зашифрованные конфиденциальные данные пользователя; вычисляют криптографический ключ на основе расшифрованных конфиденциальных данных пользователя; создают электронную цифровую подпись пользователя с помощью вычисленного на одном из предыдущих этапов криптографического ключа; выполняют проверку электронную цифровую подпись с помощью расшифрованных данных пользователя из базы конфиденциальных данных; аутентифицируют пользователя при получении положительных результатов проверки электронной цифровой подписи пользователя.
В другом частном случае реализации способа в качестве расшифрованных конфиденциальных данных пользователя, используемых для проверки полученной электронной цифровой подписи выступает по меньшей мере открытый криптографический ключ, переданный ранее пользователем.
Краткое описание чертежей
Фиг. 1 представляет структурную схему системы аутентификации пользователя.
Фиг. 2 представляет структурную схему способа аутентификации пользователя.
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер.
Хотя изобретение может иметь различные модификации и альтернативные формы, характерные признаки, показанные в качестве примера на чертежах, будут описаны подробно. Следует понимать, однако, что цель описания заключается не в ограничении изобретения конкретным его воплощением. Наоборот, целью описания является охват всех изменений, модификаций, входящих в рамки данного изобретения, как это определено приложенной формуле.
Описание вариантов осуществления изобретения
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Сущность, приведенная в описании, является ничем иным, как конкретными деталями, необходимыми для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется в объеме приложенной формулы.
Введем ряд определений и понятий, которые будут использованы при описании вариантов осуществления изобретения.
Асимметричный алгоритм шифрования - алгоритм шифрования или электронной цифровой подписи, при котором открытый ключ передается по открытому (то есть незащищенному, доступному для наблюдения) каналу и используется для проверки электронной цифровой подписи и для шифрования сообщения. Для создания электронной цифровой подписи и для расшифровки сообщения используется закрытый ключ.
Аутентификация пользователя - процедура проверки подлинности пользователя путем сравнения введенных им конфиденциальных данных (например, пароля) с конфиденциальными данными, сохраненными в базе конфиденциальных данных пользователей.
Биометрические данные - измеримые физиологические (например, отпечаток пальца, снимок сетчатки глаза или образец голоса) и поведенческие (например, стиль рукописного написания текстов, лексические параметры речи или тип жестов или походки) данные живого человека. Биометрические данные уникальны, поэтому могут быть использованы для идентификации пользователя.
Криптографический ключ - это секретная информация, используемая криптографическим алгоритмом при шифровании/расшифровании сообщений, постановке и проверке электронной цифровой подписи и т.д. При использовании одного и того же алгоритма результат шифрования зависит от ключа.
Точки интереса - элементы биометрических данных (например, для отпечатка пальца - элементы папиллярного узора, такие как арки, петли, завитки и т.п.), совокупность параметров которых (например, для отпечатка пальца - координаты расположения элементов папиллярного узора относительно других элементов папиллярного узора, размеры, тип элементов папиллярного узора и т.д.) уникальна для каждого человека.
Электронная цифровая подпись - реквизит электронного документа, полученный в результате криптографического преобразования информации с использованием закрытого ключа подписи и позволяющий установить отсутствие искажения информации в электронном документе с момента формирования подписи и проверить принадлежность подписи владельцу сертификата ключа подписи.
Электронная цифровая подпись предназначена для идентификации лица, подписавшего электронный документ, и позволяет осуществить контроль целостности передаваемого документа: при любом случайном или преднамеренном изменении документа подпись станет недействительной, потому что вычислена она на основании исходного состояния документа и соответствует лишь ему.
Фиг. 1 представляет структурную схему системы аутентификации пользователя.
Структурная схема системы аутентификации пользователя состоит из сервера 100, клиента 101, базы конфиденциальных данных 110, средства управления конфиденциальными данными 120, средства управления биометрическими данными 130, средства расшифрования 140, средства шифрования 150 и средства проверки 160.
Сервер 100 предназначен для хранения, обработки, а также обеспечения контроля (т.е. предоставления доступа к данным только тем пользователям, которые имеют соответствующие права доступа, например, прошедшие аутентификацию) конфиденциальных данных, полученных от клиента 101 и состоит из базы конфиденциальных данных 110, средства управления конфиденциальными данными 120 и средства проверки 160.
Клиент 101 предназначен для создания, обработки и передачи серверу 100 конфиденциальных данных пользователя и состоит из средства управления биометрическими данными 130, средства расшифрования 140 и средства шифрования 150.
База конфиденциальных данных 110, представляющая собой часть сервера 100, предназначена для хранения зашифрованных конфиденциальных данных пользователя, полученных от клиента 101.
В качестве конфиденциальных данных, хранящихся в зашифрованном виде в базе конфиденциальных данных 110, выступают по меньшей мере:
- криптографические ключи для ассиметричной системы шифрования: открытый криптографический ключ (англ. public key) и закрытый криптографический ключ (англ. private key);
- параметры, через которые могут быть вычислены криптографические ключи для ассиметричной системы шифрования (например, 32 4х-байтных числа из которых методом конкатенации будет собран 128-байтный криптографический ключ).
Средство управления конфиденциальными данными 120, представляющее собой часть сервера 100, предназначено для:
- поиска по запросу пользователя зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110;
- передачи найденных зашифрованных конфиденциальных данных пользователя средству расшифрования 140.
В качестве критерия поиска зашифрованных конфиденциальных данных может выступать по меньшей мере:
- логин или контрольная сумма (например, md5) от логина пользователя;
- идентификатор устройства, с которого пользователь осуществляет аутентификацию на сервере 100.
Средство управления биометрическими данными 130, представляющее собой часть клиента 101, предназначено для:
- сбора биометрических данных у пользователя;
- вычисление биометрического ключа на основе собранных биометрических данных;
- передачи вычисленного биометрического ключа средству расшифрования 140.
В качестве биометрического ключа может выступать по меньшей мере набор параметров точек интереса (англ. points of interest, POI) (например, для отпечатка пальца - координат расположения элементов папиллярного узора относительно других элементов папиллярного узора, размеров, типов элементов папиллярного узора).
В качестве способа вычисления биометрического ключа на основе собранных биометрических данных выступает по меньшей мере поиск точек интереса в собранных биометрических данных и последующее определение параметров найденных точек интереса.
Средство расшифрования 140, представляющее собой часть клиента 101, предназначено для:
- расшифрования биометрическим ключом, вычисленного средством управления биометрическими данными 130, зашифрованных конфиденциальных данных пользователя, полученных от средства управления конфиденциальных данных 120;
- вычисление криптографического ключа на основе расшифрованных конфиденциальных данных пользователя;
- передачи вычисленного криптографического ключа средству шифрования 150.
В качестве способа расшифрования биометрическим ключом зашифрованных конфиденциальных данных пользователя выступает по меньшей мере алгоритм работы с нечеткими контейнерами.
В качестве способа вычисления криптографического ключа на основе расшифрованных конфиденциальных данных пользователя, представляющих собой компоненты криптографического ключа, выступает по меньшей мере конкатенация компонент криптографического ключа.
Средство шифрования 150, представляющее собой часть клиента 101, предназначено для:
- создания электронной цифровой подписи пользователя с помощью полученного от средства расшифрования 140 криптографического ключа;
- передачи созданной электронной цифровой подписи пользователя средству проверки 160.
Создание электронной цифровой подписи пользователя выполняется посредством шифрования полученным от средства расшифрования 140 криптографическим ключом набора данных, в качестве которых выступает по меньшей мере:
- случайный набор данных (например, созданный средством шифрования 150 перед началом создания электронной цифровой подписи пользователя);
- временная метка (англ. timestamp) (например, временная метка обращения пользователя к средству управления конфиденциальными данными 120 с целью поиска зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110).
Средство проверки 160, представляющее собой часть сервера 100, предназначено для:
- выполнения проверки полученной от средства шифрования 150 электронной цифровой подписи пользователя с помощью конфиденциальных данных пользователя из базы конфиденциальных данных 110;
- аутентификации пользователя при получении положительных результатов выполненной проверки.
В качестве конфиденциальных данных пользователя, используемых для проверки полученной от средства шифрования 150 электронной цифровой подписи, выступает по меньшей мере:
- открытый криптографический ключ (в случае, когда в качестве зашифрованных конфиденциальных данных, переданных средством управления конфиденциальными данными 120 средству расшифрования 140, выступал закрытый криптографический ключ);
- закрытый криптографический ключ (в случае, когда в качестве зашифрованных конфиденциальных данных, переданных средством управления конфиденциальными данными 120 средству расшифрования 140, выступал открытый криптографический ключ).
В качестве проверки полученной от средства шифрования 150 электронной цифровой подписи с помощью открытого криптографического ключа из базы конфиденциальных данных 110 выступает по меньшей мере один из ассиметричных алгоритмов проверки электронной цифровой подписи, таких как:
- схема Эль-Гамаля;
- схема Шнорра;
- вероятностная схема подписи Рабина;
- и т.п.
В качестве проверки полученной от средства шифрования 150 электронной цифровой подписи с помощью закрытого криптографического ключа из базы конфиденциальных данных 110 выступает по меньшей мере один из ассиметричных алгоритмов шифрования, таких как:
- шифросистема Эль-Гамаля;
- схема обмена ключами Диффи-Хелмана;
- система RSA;
- и т.п.
В качестве результатов проверки полученной от средства шифрования 150 электронной цифровой подписи одним из ассиметричных алгоритмов выступает по меньшей мере
- вердикт о выполнении условия принадлежности открытого криптографического ключа, с помощью которого производилась проверка электронной цифровой подписи к паре криптографических открытого и закрытого ключей, из которой закрытый криптографический ключ использовался средством шифрования 150 для создания проверяемой электронной цифровой подписи. В случае выполнения указанного выше условия результат проверки полученной от средства шифрования 150 электронной цифровой подписи считается положительным;
- вердикт о тождественности расшифрованных закрытым криптографическим ключом зашифрованных данных, представляющих собой электронную цифровую подпись, полученную от средства шифрования 150 с данными, созданными средством проверки 160.
В качестве данных, созданных средством проверки 160 для использования при проверки электронной цифровой подписи, переданной средством шифрования 150 выступает по меньшей мере
- временная метка (например, временная метка обращения пользователя к средству управления конфиденциальными данными 120 с целью поиска зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110).
Рассмотрим работу системы аутентификации пользователя на примере аутентификации пользователя на сервере по отпечатку пальца.
Перед регистрацией на сервере 100 пользователь создал пару криптографических ключей (открытый и закрытый криптографические ключи). После чего зашифровал закрытый криптографический ключ своими биометрическими данными, а зашифрованный закрытый криптографический ключ и открытый криптографический ключ передал на сервер 100, где они были сохранены в базе конфиденциальных данных 110 и привязаны к идентификатору пользователя (например, логину пользователя или контрольной сумме от логина пользователя, идентификатору устройства, с которого пользователь осуществляет аутентификацию на сервере 100).
Процесс шифрования закрытого криптографического ключа биометрическими данными пользователя основан на алгоритме работы с нечеткими контейнерами и состоит в следующем:
- производится снимок отпечатка пальца пользователя;
- по снимку отпечатка пальца пользователя осуществляется поиск точек интереса (элементов папиллярного узора, таких как арки, петли, завитки и т.п.) и вычисляются их параметры (координаты расположения элементов папиллярного узора относительно других элементов папиллярного узора, размеры, тип элементов папиллярного узора и т.д.);
- созданный ранее пользователем закрытый криптографический ключ, представляющий собой 128-байтный (1024-битный) буфер, разбивается на последовательность из 32 4-байтных чисел;
- для параметров (например, одномерных горизонтальных координат расположения элементов папиллярного узора относительно других элементов папиллярного узора) всех точек интересов вычисляется значения полинома
где yj - значение полинома для выбранной точки интереса,
ki - i-ое 4-байтное число, полученное из криптографического закрытого ключа,
- параметр j-ой точки интереса,
N - степень полинома, равная кол-ву чисел, полученных из криптографического закрытого ключа;
- из полученных значений полинома формируют массив значений, который дополняется "мусором" - случайными числами;
- полученный массив представляет собой зашифрованный закрытый криптографический ключ.
При обращении к серверу 100 с целью аутентификации пользователь указывает свой идентификатор. По указанному идентификатору на сервере 100 средство управления конфиденциальными данными 120 осуществляет поиск зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110. В случае успешного поиска средство управления конфиденциальными данными 120 передает пользователю зашифрованный закрытый криптографический ключ.
После получения пользователем от средства управления конфиденциальными данными 120 зашифрованного закрытого криптографического ключа, средство управления биометрическими данными 130 по биометрическому образцу пользователя, такому как отпечаток пальца, собирает биометрические данные, такие как изображение отпечатка пальца. После получения изображения отпечатка пальца средство управления биометрическими данными 130 производит по нему поиск точек интереса (элементов папиллярного узора, таких как арки, петли, завитки и т.п.) и вычисления их параметров (координаты расположения элементов папиллярного узора относительно других элементов папиллярного узора, размеры, тип элементов папиллярного узора и т.д.). Набор вычисленных параметров, представляющий собой биометрический ключ, передается средству расшифрования 140 для расшифрования зашифрованного закрытого криптографического ключа, полученного от средства управления конфиденциальными данными 120.
В одном из вариантов реализации средство расшифрования 140 использует алгоритм работы с нечеткими контейнерами для расшифрования полученного от средства управления конфиденциальными данными 120 зашифрованного закрытого криптографического ключа. Данный алгоритм состоит в следующем:
- берется биометрический ключ, полученный от средства управления биометрическими данными 130, и представляющий собой некоторый набор параметров точек интереса ;
- берется зашифрованный закрытый криптографический ключ, полученный от средства управления конфиденциальными данными 120, и представляющий собой некоторый набор чисел yj;
- решается полином
где yj - значение полинома для выбранной точки интереса,
ki - i-ое 4-байтное число, полученное из криптографического закрытого ключа,
- параметр j-ой точки интереса,
N - степень полинома, равная кол-ву чисел, полученных из криптографического закрытого ключа;
- определяются какие именно числа yj, являющиеся значениями полинома, ведут к более точному решению полинома и, следовательно, являются параметрами для вычисления компонент закрытого криптографического ключа;
- по определенным значениям полинома yj вычисляются коэффициенты полинома ki, являющиеся компонентами закрытого криптографического ключа.
После того как все коэффициенты полинома вычислены, средство расшифрования 140 производит вычисление (или если более точно, то восстановление) закрытого криптографического ключа. В одном из вариантов реализации с этой целью формируется массив из 32 4-байтных коэффициентов, что соответствует 128 байтному (1024 битному) закрытому криптографическому ключу. После чего вычисленный криптографический закрытый ключ передается средству шифрования 150.
Средство шифрования 150 создают случайный набор данных (таким образом набор данных никогда не повторяется от аутентификации к аутентификации). Размер набора данных выбирается из принципа, чтобы вероятность совпадения с созданным при прошлых аутентификациях наборов данных была минимальной (достигается увеличением размера набора данных), но при этом, чтобы скорость передачи данных не была медленной (достигается уменьшением размера набора данных). После чего в одном из вариантов реализации созданный набор данных шифрует полученным от средства расшифрования 140 закрытым криптографическим ключом по асимметричному алгоритму шифрования по схеме Шнорра. После завершения шифрования зашифрованный набор данных, представляющий собой электронную цифровую подпись пользователя, передается средству проверки 160.
Средство проверки 160 проверяет полученную от средства шифрования 150 электронную цифровую подпись ассиметричным алгоритмом шифрования по схеме Шнорра с использованием полученного от средства управления конфиденциальными данными 120 открытого криптографического ключа. Результатом проверки является вердикт о выполнении условия, что текущий открытый криптографический ключ принадлежит к паре криптографических открытого и закрытого ключей, из которой закрытый криптографический ключ использовался средством шифрования 150 для создания проверяемой электронной цифровой подписи. В случае если данное условие выполнено, считается, что пользователь успешно прошел аутентификацию в системе. По присланной электронной цифровой подписи вычисляется контрольная сумма (например, md5), которая сохраняется на сервере 100 в базе конфиденциальных данных 110 для того, чтобы в случае повторной аутентификации той же электронной цифровой подписью не проверять уже проверенную электронную цифровую подпись, а сразу выдавать по ней отказ в аутентификации (таким образом, любая переданная средству проверки 160 электронная цифровая подпись является одноразовой).
При реализации такой схемы аутентификации исключается возможность для мошенников аутентификации пользователя "со стороны" поскольку слабые этапы аутентификации оказываются защищены:
- перехват электронной цифровой подписи с последующей ее передачей серверу (т.е. средству проверки 160) не срабатывает, поскольку текущая электронная цифровая подпись является одноразовой, и средство проверки 160 повторно по полученной цифровой подписи выдает отказ в аутентификации;
- создание мошенниками собственной электронной цифровой подписи невозможно, поскольку закрытый криптографический ключ в явном виде не хранится ни у пользователя, ни на сервере, ни передается между ними;
- расшифровка зашифрованного закрытого криптографического ключа (который можно похитить с устройства пользователя, сервера или во время передачи от сервера на устройство пользователя) невозможна, поскольку отсутствуют биометрические данные, являющиеся ключом для успешной расшифровки закрытого криптографического ключа.
Фиг. 2 представляет пример структурной схемы способа аутентификации пользователя.
Структурная схема способа аутентификации пользователя состоит из следующих этапов: этап 210 на котором получают биометрические данные пользователя, этап 220 на котором вычисляют биометрический ключ, этап 230 на котором осуществляют поиск конфиденциальных данных пользователя, этап 240 на котором расшифровывают конфиденциальные данные пользователя, этап 250 на котором вычисляют криптографический ключ, этап 260 на котором создают электронную цифровую подпись, этап 270 на котором проверяют электронную цифровую подпись и этап 280 на котором аутентифицируют пользователя.
На этапе 210 получают биометрические данные от биометрического образца пользователя (изображение отпечатка пальца, сетчатки глаза и т.п.).
На этапе 220 на основе полученных на этапе 210 биометрическим данным вычисляют биометрический ключ, который будет использован на этапе 240.
В качестве биометрического ключа может выступать по меньшей мере набор параметров точек интереса (например, для отпечатка пальца - координат расположения элементов папиллярного узора относительно других элементов папиллярного узора, размеров, типов элементов папиллярного узора и т.д.).
В качестве способа вычисления биометрического ключа на основе собранных биометрических данных выступает по меньшей мере определение параметров точек интереса.
На этапе 230 осуществляют поиск по запросу пользователя зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110 для использования их на этапах 240 и 270.
В качестве конфиденциальных данных, хранящихся в зашифрованном виде в базе конфиденциальных данных 110, выступают по меньшей мере:
- криптографические ключи для ассиметричной системы шифрования: открытый криптографический ключ (англ. public key) и закрытый криптографический ключ (англ. private key);
- параметры, с помощью которых могут быть вычислены криптографические ключи для ассиметричной системы шифрования (например, 32 4-байтных числа из которых будет собран 1024 битный криптографический ключ).
В качестве критерия поиска зашифрованных конфиденциальных данных может выступать по меньшей мере:
- логин или контрольная сумма (например, md5) от логина пользователя;
- идентификатор устройства, с которого пользователь осуществляет аутентификацию на сервере 100.
На этапе 240 расшифровывают вычисленным на этапе 220 биометрическим ключом найденные на этапе 230 зашифрованные конфиденциальные данные пользователя.
В качестве способа расшифрования биометрическим ключом зашифрованных конфиденциальных данных пользователя выступает по меньшей мере алгоритм работы с нечеткими контейнерами.
На этапе 250 вычисляют криптографический ключ на основе расшифрованных конфиденциальных данных пользователя, полученных на этапе 240.
В качестве способа вычисления криптографического ключа на основе расшифрованных конфиденциальных данных пользователя, представляющих собой компоненты криптографического ключа, выступает по меньшей мере конкатенация компонент криптографического ключа.
На этапе 260 создают электронную цифровую подпись пользователя с помощью полученного на этапе 250 криптографического ключа.
Создание электронной цифровой подписи пользователя выполняется посредством шифрования полученным на этапе 250 криптографическим ключом набора данных, в качестве которых выступает по меньшей мере:
- случайный набор данных (например, созданный перед началом создания электронной цифровой подписи пользователя);
- временная метка (например, временная метка поиска на этапе 230 зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110).
На этапе 270 проверяют электронную цифровую подпись, полученную на этапе 260, с помощью конфиденциальных данных пользователя из базы конфиденциальных данных 110, полученных на этапе 230.
В качестве конфиденциальных данных пользователя, используемых для проверки полученной на этапе 260 электронной цифровой подписи выступает по меньшей мере
- открытый криптографический ключ (в случае, когда в качестве зашифрованных конфиденциальных данных, переданных на этапе 230 средством управления конфиденциальными данными 120 средству расшифрования 140, выступал закрытый криптографический ключ);
- закрытый криптографический ключ (в случае, когда в качестве зашифрованных конфиденциальных данных, переданных на этапе 230 средством управления конфиденциальными данными 120 средству расшифрования 140, выступал открытый криптографический ключ).
В качестве проверки полученной на этапе 260 электронной цифровой подписи с помощью открытого криптографического ключа из базы конфиденциальных данных 110 выступает по меньшей мере один из ассиметричных алгоритмов проверки электронной цифровой подписи.
В качестве проверки полученной на этапе 260 электронной цифровой подписи с помощью закрытого криптографического ключа из базы конфиденциальных данных 110 выступает по меньшей мере один из ассиметричных алгоритмов шифрования.
В качестве результатов проверки полученной на этапе 260 электронной цифровой подписи одним из ассиметричных алгоритмов выступает по меньшей мере:
- вердикт о выполнении условия принадлежности открытого криптографического ключа, с помощью которого производилась проверка электронной цифровой подписи к паре криптографических открытого и закрытого ключей, из которой закрытый криптографический ключ испо