Область техники
Изобретение относится к области доступа к данным, а более конкретно к системам и способам аутентификации пользователя при помощи электронной цифровой подписи пользователя.
Уровень техники
Широкое распространение разнообразных вычислительных устройств (персональных компьютеров, ноутбуков, планшетов, смартфонов и т.д.), появление доступных высокопроизводительных серверов и вместительных хранилищ данных, многократное увеличению пропускной способности компьютерных сетей и значительное снижение цены на сетевой трафик для конечного пользователя в последние годы дали мощный толчок к использованию отдельными пользователями и целыми организациями внешних серверов для хранения и обработки данных. Все большую и большую популярность набирают облачные технологии, такие как облачные вычисления (технология онлайн-вычислений, обеспечивающая повсеместный и удобный сетевой доступ по требованию к вычислительным ресурсам) и облачные хранилища данных (технология онлайн-хранилищ, обеспечивающая хранение данных на многочисленных распределенных в сети серверах).
Зачастую удаленно хранящиеся и обрабатываемые данные обладают высокой ценностью, и несанкционированный доступ к ним может привести к большим финансовым потерям (например, в случае кражи удаленно хранящихся и обрабатываемых данных). Поэтому большое внимание уделяется безопасности доступа к данным, хранения и использования данных.
Одним из этапов удаленного доступа к данным является аутентификация пользователя в системе хранения данных.
Во время аутентификации пользователь передает на сервер свои аутентификационные данные, такие как, например, логин и пароль.
На этом этапе мошенники имеют возможность перехватить передаваемые пользователем аутентификационные данные для несанкционированного доступа к данным пользователя, хранящимся удаленно. Даже перехватив контрольную сумму от пароля (в качестве контрольной суммы часто используется 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 электронной цифровой подписи одним из ассиметричных алгоритмов выступает по меньшей мере:
- вердикт о выполнении условия принадлежности открытого криптографического ключа, с помощью которого производилась проверка электронной цифровой подписи к паре криптографических открытого и закрытого ключей, из которой закрытый криптографический ключ использовался на этапе 260 для создания проверяемой электронной цифровой подписи. В случае выполнения указанного выше условия результат проверки полученной на этапе 260 электронной цифровой подписи считается положительным;
- вердикт о тождественности расшифрованных закрытым криптографическим ключом зашифрованных данных, представляющих собой электронную цифровую подпись, полученную на этапе 260 с данными, созданными на этапе 270.
В качестве данных, созданных на этапе 270 для использования при проверки электронной цифровой подписи, полученной на этапе 260, выступает по меньшей мере
- временная метка (например, временная метка поиска на этапе 230 зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110.
На этапе 280 осуществляется аутентификация пользователя на основе положительных результатов выполненной на этапе 270 проверки.
Рассмотрим работу способа аутентификации пользователя на примере аутентификации пользователя на сервере по отпечатку пальца.
Перед регистрацией на сервере 100 пользователь создал пару криптографических ключей (открытый и закрытый криптографические ключи). После чего зашифровал открытый криптографический ключ своими биометрическими данными, а зашифрованный открытый криптографический ключ и закрытый криптографический ключ передал на сервер 100, где они были сохранены в базе конфиденциальных данных 110 и привязаны к идентификатору пользователя (например, логину пользователя или контрольной сумме от логина пользователя, идентификатору устройства, с которого пользователь осуществляет аутентификацию на сервере 100).
На этапе 210 по биометрическому образцу пользователя, такому как отпечаток пальца, собираются биометрические данные, такие как изображение отпечатка пальца. После получения на этапе 210 изображения отпечатка пальца на этапе 220 производится по нему поиск точек интереса (элементов папиллярного узора, таких как арки, петли, завитки и т.п.) и вычисляются их параметры (координаты расположения элементов папиллярного узора относительно других элементов папиллярного узора, размеры, тип элементов папиллярного узора и т.д.). Набор вычисленных параметров, представляющий собой биометрический ключ, используемый на этапе 240 для расшифрования зашифрованного закрытого криптографического ключа, полученного на этапе 230.
При обращении к серверу 100 с целью аутентификации пользователь указывает свой идентификатор. По указанному идентификатору на сервере 100 на этапе 230 осуществляется поиск зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110. В случае успешного поиска пользователю передается зашифрованный открытый криптографический ключ.
После получения пользователем на этапе 230 зашифрованного открытого криптографического ключа он расшифровывается на этапе 240 полученным на этапе 220 биометрическим ключом. В одном из вариантов реализации с этой целью используется алгоритм работы с нечеткими контейнерами. Данный алгоритм состоит в следующем:
- берется биометрический ключ, полученный на этапе 220, и представляющий собой некоторый набор параметров точек интереса ;
- берется зашифрованный открытый криптографический ключ, полученный на этапе 230, и представляющий собой некоторый набор чисел yj;
- решается полином
- определяются какие именно числа yj, являющиеся значениями полинома, ведут к более точному решению полинома и, следовательно, являются параметрами для вычисления компонент открытого криптографического ключа;
- по определенным значениям полинома yj вычисляются коэффициенты полинома ki, являющиеся компонентами открытого криптографического ключа.
После того как все коэффициенты полинома вычислены, на этапе 250 производится вычисление (или если более точно, то восстановление) открытого криптографического ключа. С этой целью в одном из вариантов реализации формируется массив из 32 4-байтных коэффициентов, что соответствует 128 байтному (1024 битному) открытому криптографическому ключу.
На этапе 260 создается временная метка поиска на этапе 230 зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110 (таким образом временная метка никогда не повторяется от аутентификации к аутентификации). После чего в одном из вариантов реализации созданная временная метка шифруется полученным на этапе 250 открытым криптографическим ключом по асимметричному алгоритму шифрования по схеме RSA. После завершения шифрования зашифрованная временная метка представляет собой электронную цифровую подпись пользователя.
На этапе 270 проверяется полученная на этапе 260 электронная цифровая подпись ассиметричным алгоритмом шифрования по схеме RSA с использованием полученного на этапе 230 закрытого криптографического ключа. Т.е. производится расшифрование электронной цифровой подписи закрытым криптографическим ключом и получение временной метки поиска на этапе 230 зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110. Результатом проверки является вердикт о тождественности расшифрованной закрытым криптографическим ключом зашифрованной временной метки и временной метки поиска на этапе 230 зашифрованных конфиденциальных данных пользователя в базе конфиденциальных данных 110, полученной на этапе 270.
В случае если полученная на этапах 260 и 270 временные метки совпадают, на этапе 280 считается, что пользователь успешно прошел аутентификацию в системе.
При реализации такой схемы аутентификации исключается возможность для мошенников аутентификации пользователя "со стороны" поскольку слабые этапы аутентификации оказываются защищены:
- перехват электронной цифровой подписи с последующей ее передачей серверу (для проверки на этапе 270) не срабатывает, поскольку временная метки запроса на аутентификацию, зашифрованная в электронной цифровой подписи и временная метка текущего запроса на авторизацию не совпадают;
- создание мошенниками собственной электронной цифровой подписи невозможен, поскольку открытый криптографический ключ в явном виде не хранится ни у пользователя, ни на сервере, ни передается между ними;
- расшифровка зашифрованного открытого криптографического ключа (который можно похитить с устройства пользователя, сервера или во время передачи от сервера на устройство пользователя) невозможна, поскольку отсутствуют биометрические данные, являющиеся ключом для успешной расшифровки открытого криптографического ключа
Фиг. 3 представляет пример компьютерной системы общего назначения, персональный компьютер или сервер 20, содержащий центральный процессор 21, системную память 22 и системную шину 23, которая содержит разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, которая способна взаимодействовать с любой другой шинной архитектурой. Системная память содержит постоянное запоминающее устройство (ПЗУ) 24, память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами персонального компьютера 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.
Персональный компьютер 20 в свою очередь содержит жесткий диск 27 для чтения и записи данных, привод магнитных дисков 28 для чтения и записи на сменные магнитные диски 29 и оптический привод 30 для чтения и записи на сменные оптические диски 31, такие как CD-ROM, DVD-ROM и иные оптические носители информации. Жесткий диск 27, привод магнитных дисков 28, оптический привод 30 соединены с системной шиной 23 через интерфейс жесткого диска 32, интерфейс магнитных дисков 33 и интерфейс оптического привода 34 соответственно. Приводы и соответствующие компьютерные носители информации представляют собой энергонезависимые средства хранения компьютерных инструкций, структур данных, программных модулей и прочих данных персонального компьютера 20.
Настоящее описание раскрывает реализацию системы, которая использует жесткий диск 27, сменный магнитный диск 29 и сменный оптический диск 31, но следует понимать, что возможно применение иных типов компьютерных носителей информации 56, которые способны хранить данные в доступной для чтения компьютером форме (твердотельные накопители, флеш-карты памяти, цифровые диски, память с произвольным доступом (ОЗУ) и т.п.), которые подключены к системной шине 23 через контроллер 55.
Компьютер 20 имеет файловую систему 36, где хранится записанная операционная система 35, а также дополнительные программные приложения 37, другие программные модули 38 и данные программ 39. Пользователь имеет возможность вводить команды и информацию в персональный компьютер 20 посредством устройств ввода (клавиатуры 40, манипулятора «мышь» 42). Могут использоваться другие устройства ввода (не отображены): микрофон, джойстик, игровая консоль, сканер и т.п. Подобные устройства ввода по своему обычаю подключают к компьютерной системе 20 через последовательный порт 46, который в свою очередь подсоединен к системной шине, но могут быть подключены иным способом, например, при помощи параллельного порта, игрового порта или универсальной последовательной шины (USB). Монитор 47 или иной тип устройства отображения также подсоединен к системной шине 23 через интерфейс, такой как видеоадаптер 48. В дополнение к монитору 47, персональный компьютер может быть оснащен другими периферийными устройствами вывода (не отображены), например, колонками, принтером и т.п.
Персональный компьютер 20 способен работать в сетевом окружении, при этом используется сетевое соединение с другим или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 являются такими же персональными компьютерами или серверами, которые имеют большинство или все упомянутые элементы, отмеченные ранее при описании существа персонального компьютера 20, представленного на Фиг. 3. В вычислительной сети могут присутствовать также и другие устройства, например, маршрутизаторы, сетевые станции, пиринговые устройства или иные сетевые узлы.
Сетевые соединения могут образовывать локальную вычислительную сеть (LAN) 50 и глобальную вычислительную сеть (WAN). Такие сети применяются в корпоративных компьютерных сетях, внутренних сетях компаний и, как правило, имеют доступ к сети Интернет. В LAN- или WAN-сетях персональный компьютер 20 подключен к локальной сети 50 через сетевой адаптер или сетевой интерфейс 51. При использовании сетей персональный компьютер 20 может использовать модем 54 или иные средства обеспечения связи с глобальной вычислительной сетью, такой как Интернет. Модем 54, который является внутренним или внешним устройством, подключен к системной шине 23 посредством последовательного порта 46. Следует уточнить, что сетевые соединения являются лишь примерными и не обязаны отображать точную конфигурацию сети, т.е. в действительности существуют иные способы установления соединения техническими средствами связи одного компьютера с другим.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ФОРМИРОВАНИЯ ЭЛЕКТРОННОГО БИОМЕТРИЧЕСКОГО УДОСТОВЕРЕНИЯ ЛИЧНОСТИ | 2008 |
|
RU2391704C1 |
СПОСОБ ОБМЕНА ЗАЩИЩЕННЫМИ ДАННЫМИ | 2017 |
|
RU2659730C1 |
СПОСОБ ФОРМИРОВАНИЯ СЕРТИФИКАТА ОТКРЫТОГО КЛЮЧА | 2010 |
|
RU2452013C2 |
СИСТЕМЫ И СПОСОБЫ БЕЗОПАСНОГО ОБРАЩЕНИЯ С БИОМЕТРИЧЕСКИМИ ДАННЫМИ | 2016 |
|
RU2718226C2 |
СПОСОБ И АППАРАТУРА ДЛЯ БЕЗОПАСНОЙ ОБРАБОТКИ ИНФОРМАЦИИ, ПОДЛЕЖАЩЕЙ ЗАЩИТЕ | 2007 |
|
RU2449377C2 |
СПОСОБ ПЕРЕДАЧИ ДОКУМЕНТА ПО ОТКРЫТОМУ КАНАЛУ ОБЩЕГО ДОСТУПА | 2008 |
|
RU2386216C1 |
СПОСОБ ФОРМИРОВАНИЯ АУДИТА ПЕРСОНАЛЬНОЙ БИОМЕТРИЧЕСКОЙ ИНФОРМАЦИИ | 2010 |
|
RU2427921C1 |
АУТЕНТИФИКАЦИЯ УСТРОЙСТВА И ПОЛЬЗОВАТЕЛЯ | 2010 |
|
RU2538283C2 |
ИНФРАСТРУКТУРА ВЕРИФИКАЦИИ БИОМЕТРИЧЕСКИХ УЧЕТНЫХ ДАННЫХ | 2007 |
|
RU2434340C2 |
СПОСОБ ПОДПИСАНИЯ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ АНАЛОГО-ЦИФРОВОЙ ПОДПИСЬЮ С ДОПОЛНИТЕЛЬНОЙ ВЕРИФИКАЦИЕЙ | 2012 |
|
RU2522024C2 |
Изобретение относится к области компьютерной безопасности. Технический результат заключается в повышении безопасности аутентификации пользователя. Система содержит средство управления биометрическими данными для сбора биометрических данных у пользователя, вычисления биометрического ключа на основе собранных данных; средство управления конфиденциальными данными для создания открытого и закрытого криптографических ключей, шифрования закрытого криптографического ключа биометрическим ключом, сохранения зашифрованного закрытого криптографического ключа и открытого криптографического ключа в базе конфиденциальных данных согласно идентификатору пользователя; средство расшифрования для расшифрования зашифрованного закрытого криптографического ключа биометрическим ключом, передачи расшифрованного закрытого криптографического ключа средству шифрования; средство шифрования для создания электронной цифровой подписи пользователя с помощью полученного закрытого криптографического ключа; средство проверки для выполнения проверки полученной электронной цифровой подписи пользователя с помощью открытого криптографического ключа, аутентификации пользователя при получении положительных результатов выполненной проверки. 2 н. и 6 з.п. ф-лы, 3 ил.
1. Система аутентификации пользователя при помощи электронной цифровой подписи пользователя, которая содержит:
а) средство управления биометрическими данными, предназначенное для:
- сбора биометрических данных у пользователя;
- вычисления биометрического ключа на основе собранных биометрических данных;
- передачи вычисленного биометрического ключа средству расшифрования и средству управления конфиденциальными данными;
б) средство управления конфиденциальными данными, предназначенное для:
- создания открытого и закрытого криптографических ключей;
- шифрования созданного ранее закрытого криптографического ключа биометрическим ключом, полученным от средства управления биометрическими данными;
- сохранения созданных ранее зашифрованного закрытого криптографического ключа и открытого криптографического ключа в базу конфиденциальных данных согласно идентификатору пользователя;
- поиска зашифрованного закрытого криптографического ключа и открытого криптографического ключа в базе конфиденциальных данных согласно идентификатору пользователя;
- передачи найденного зашифрованного закрытого криптографического ключа средству расшифрования;
в) базу конфиденциальных данных, предназначенную для хранения зашифрованного закрытого криптографического ключа и открытого криптографического ключа;
г) средство расшифрования, предназначенное для:
- расшифрования зашифрованного закрытого криптографического ключа, полученного от средства работы с конфиденциальными данными, биометрическим ключом, полученным от средства управления биометрическими данными;
- передачи расшифрованного закрытого криптографического ключа средству шифрования;
д) средство шифрования, предназначенное для:
- создания электронной цифровой подписи пользователя с помощью полученного закрытого криптографического ключа;
- передачи электронной цифровой подписи пользователя средству проверки;
е) средство проверки, предназначенное для:
- выполнения проверки полученной электронной цифровой подписи пользователя с помощью открытого криптографического ключа;
- аутентификации пользователя при получении положительных результатов выполненной проверки.
2. Система по п. 1, в которой
- закрытый криптографический ключ шифруют биометрическим ключом с использованием алгоритма работы с нечеткими контейнерами,
- зашифрованный закрытый криптографический ключ расшифровывают биометрическим ключом с использованием алгоритма работы с нечеткими контейнерами.
3. Система по п. 2, в которой алгоритм работы с нечеткими контейнерами, используемый при шифровании конфиденциальных данных пользователя биометрическим ключом, содержит по меньшей мере этапы, на которых:
- по полученным ранее биометрическим данным осуществляют поиск точек интереса;
- вычисляют параметры найденных точек интереса;
- созданный ранее криптографический ключ представляется в виде последовательности чисел;
- для всех точек интересов вычисляют значения полинома
где yi - значение полинома для выбранной точки интереса,
ki - i-oe число, полученное из криптографического ключа,
- параметру i-ой точки интереса,
N - степень полинома, равная кол-ву чисел, полученных из криптографического ключа;
- из полученных значений полинома формируют массив значений, представляющих собой зашифрованный криптографический ключ.
4. Система по п. 3, в которой сформированный массив значений дополняется случайными числами.
5. Способ аутентификации пользователя при помощи электронной цифровой подписи пользователя, в котором:
по меньшей мере один раз перед аутентификацией:
а) собирают у пользователя биометрические данные;
б) вычисляют один биометрический ключ на основании собранных биометрических данных;
в) создают открытый и закрытый криптографические ключи;
г) шифруют вычисленным биометрическим ключом созданный закрытый криптографический ключ;
д) сохраняют зашифрованный закрытый криптографический ключ и созданный открытый ключ согласно идентификатору пользователя, в базе конфиденциальных данных;
для аутентификации:
е) выбирают из базы конфиденциальных данных открытый криптографический ключ и зашифрованный закрытый криптографический ключ согласно идентификатору пользователя;
ж) вычисляют другой биометрический ключ на основании собранных биометрических данных на этапе а);
з) расшифровывают вычисленным биометрическим ключом на этапе ж) выбранный зашифрованный закрытый криптографический ключ;
и) создают электронную цифровую подпись пользователя с помощью расшифрованного закрытого криптографического ключа;
к) выполняют проверку созданной электронной цифровой подписи с помощью выбранного открытого криптографического ключа;
л) аутентифицируют пользователя при получении положительных результатов проверки электронной цифровой подписи пользователя.
6. Способ по п. 5, в котором
- закрытый криптографический ключ шифруют биометрическим ключом с использованием алгоритма работы с нечеткими контейнерами,
- зашифрованный закрытый криптографический ключ расшифровывают биометрическим ключом с использованием алгоритма работы с нечеткими контейнерами.
7. Способ по п. 6, в котором алгоритм работы с нечеткими контейнерами, используемый при шифровании конфиденциальных данных пользователя биометрическим ключом, содержит по меньшей мере этапы, на которых:
- по полученным ранее биометрическим данным осуществляют поиск точек интереса;
- вычисляют параметры найденных точек интереса;
- созданный ранее криптографический ключ представляется в виде последовательности чисел;
- для всех точек интересов вычисляют значения полинома
где yi- - значение полинома для выбранной точки интереса,
ki - i-oe число, полученное из криптографического ключа,
- параметр i-ой точки интереса,
N - степень полинома, равная кол-ву чисел, полученных из криптографического ключа;
- из полученных значений полинома формируют массив значений, представляющих собой зашифрованный криптографический ключ.
8. Способ по п. 7, в котором сформированный массив значений дополняется случайными числами.
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
US 6310966 B1, 30.10.2001 | |||
US 5680460 A, 21.10.1997 | |||
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок | 1923 |
|
SU2008A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
Способ измерения массы жидких тел с помощью сосуда-мерника и поплавка | 1957 |
|
SU110850A1 |
Авторы
Даты
2017-02-14—Публикация
2015-06-05—Подача