Использование биометрической криптографии в системе управления доступом

УДК 004.93:[57.087.1]:518.22

ИСПОЛЬЗОВАНИЕ БИОМЕТРИЧЕСКОЙ КРИПТОГРАФИИ В СИСТЕМЕ УПРАВЛЕНИЯ ДОСТУПОМ

О.Ю. Меркушев, аспирант; И.Г. Сидоркина, д.т.н., профессор, декан

Для обеспечения защиты биометрической системы управления доступом на основе нечеткого экстрактора, использующей незащищенные каналы связи от внутренних и от внешних угроз необходимо исключить передачу и хранение биометрических данных и последовательности, сгенерированной на их основе, а также передачу вспомогательных данных нечеткого экстрактора. Предложен протокол аутентификации с нулевым разглашением на основе биометрического нечеткого экстрактора и криптосистемы Эль-Гамаля. Рассмотрены преимущества, недостатки и аспекты практического применения этого протокола.

В данной работе предлагается ZK-протокол, основанный на идентификации по открытому ключу криптосистемы Эль-Гамаля. Проверяющая сторона шифрует произвольное число с помощью открытого ключа доказывающей стороны, если доказывающая сторона сможет правильно расшифровать его с помощью своего секретного ключа, который сгенерирован нечетким экстрактором, то подтвердит свою подлинность.

Преимуществом протокола является отсутствие необходимости хранения конфиденциальных пользовательских данных на стороне подсистемы управления доступом. Основным недостатком можно считать то, что пользователям необходимо хранить носители с их открытыми вспомогательными данными. С другой стороны, информационный носитель является дополнительным фактором аутентификации.

Ключевые слова: биометрическая криптографическая система, нечеткий экстрактор, доказательство с нулевым разглашением, криптосистема Эль-Гамаля.

USE OF BIOMETRIC CRYPTOGRAPHY IN A CONTROL SYSTEM OF ACCESS

Merkushev O.Yu, Postgraduate; SidorkinaI.G. , Ph.D., Professor, Dean

Abstract. For ensuring protection of a biometric control system with access on the basis of the indistinct ex-tractor, using unprotected communication channels from internal and from external threats it is necessary to exclude transfer and storage of biometric data and the sequence generated on their basis, and also transfer of auxiliary data of an indistinct ex-tractor.The ZK authentication protocol based on biometric fuzzy extractor and ElGamal encryption system is proposed. Advantages, disadvantages and aspects of the practical using of this protocol are discussed.

In this work the ZK protocol based on identification on an open key криптосистемы by El-Gamalya is offered. The checking party ciphers any number by means of an open key of the proving party, if the proving party can correctly decipher it by means of the confidential key which is generated by an indistinct ex-tractor, will confirm the authenticity.

Advantage of the protocol is lack of need of storage of confidential user data on the party of a subsystem of management of access. It is possible to consider as the main shortcoming that it is necessary for users to store carriers with their open auxiliary data. On the other hand, the information carrier is an additional factor of authentification.

Keywords: biometric cryptosystem, fuzzy extractor, zero-knowledge proof, ElGamal encryption system.

Одним из основных факторов, определяющих состояние защищенности той или иной ключевой системы информационной инфраструктуры, является эффективность функционирования подсистемы управления доступом ее системы защиты информации. Эффективным будем считать такое функционирование, при котором обеспечиваются максимально возможные надежность и скорость процесса аутентификации, а также конфиденциальность обрабатываемых данных. Поэтому важным аспектом практической реализации подсистемы управления доступом являются методы ее защиты от актуальных угроз, в том числе от несанкционированного доступа к аутентификацион-ным данным ее пользователей. В частности, для биометрических систем управления доступом одним из вариантов является применение так называемой биометрической криптографии [1].

Необходимо отметить, что первоначальной целью биометрической криптографии была защита криптографических ключей с помощью биомет-

рических данных, однако основное практическое применение она нашла в защите биометрических образцов и генерации криптографических ключей.

В настоящее время существуют следующие виды биометрических криптографических систем: системы с освобождением ключа (key release cryptosystems), со связыванием ключа (key binding cryptosystems) и с генерацией ключа (key generation cryptosystems) [2]. Приведем их краткое описание.

Биометрические криптографические системы с освобождением ключа. В режиме освобождения ключа биометрическая аутентификация осуществляется независимо от механизма освобождения ключа, биометрический эталон и ключ хранятся отдельно друг от друга, сам ключ освобождается после успешной биометрической аутентификации.

Такие системы непригодны для применения в приложениях, требующих высокой степени защиты, поскольку имеют две основные уязвимости.

Во-первых, биометрические эталоны не являются защищенными, так как они хранятся локально и к ним требуется доступ в процессе сравнения биометрических данных. Во-вторых, поскольку аутентификация и освобождение ключа абсолютно не связаны между собой, представляется возможным заменить модуль сравнения при выполнении аутентификации, используя вредоносное ПО. В случае реализации этой уязвимости будет принято неверное решение об аутентификации и, соответственно, получен доступ к секретному ключу.

Биометрические криптографические системы со связыванием ключа. Данный вид биометрических криптосистем изначально был разработан для защиты криптографических ключей. Впоследствии такие криптосистемы нашли применение и для защиты биометрических эталонов. Одной из наиболее часто применяемых в этих целях стала схема, предложенная в работе [3], названная нечетким контейнером (fuzzy vault).

Рассмотрим кратко принцип ее функционирования.

Пусть X - биометрический образец с r элементами. Пользователь выбирает ключ K, преобразует его в полином P степени n и вычисляет значение полинома P для всех элементов X. Точки, принадлежащие P (назовем их подлинными), скрывают среди большого количества (обозначенного s) случайных точек, которые не принадлежат P (назовем их случайными); объединение наборов подлинных и случайных точек составляет контейнер V. В случае отсутствия биометрических данных пользователя в вычислительном отношении трудно определить подлинные точки в V. В ходе аутентификации пользователь предоставляет биометрический образец X'. Если X' значительно схож с X, пользователь может определить много точек в V, принадлежащих полиному. Если количество несоответствий между X и X' меньше (r-n)/2, для восстановления P может быть применено декодирование Рида-Соломона, то есть аутентификация пройдет успешно. С другой стороны, если X и X' недостаточно схожи, невозможно восстановить P, то есть аутентификация неуспешна. Существуют варианты схемы нечеткого контейнера для нескольких биометрических образцов, например, представленный К. Нандакумаром и А.К. Джейн [4]. В обоих случаях для каждого пользователя, зарегистрированного в подсистеме управления доступом, создается индивидуальный нечеткий контейнер.

Трудность вычисления подлинных точек в V при отсутствии биометрических данных пользователя обеспечивает безопасность образца. Однако схема нечеткого контейнера не является совершенным способом защиты биометрических образцов. В. Шейрер и Т. Боулт выделяют несколько классов атак схемы нечеткого контейнера [5]: 1) корреляционные атаки (correlation attacks, attacks

via record multiplicity - ARM), 2) атаки с инверсией ключа (surreptitious key-inversion attacks - SKI) и 3) атаки подстановки со смешиванием (blended substitution attacks). Корреляционная атака основана на перехвате зашифрованных данных во время сеансов аутентификации и последующем их соотнесении. Атака с инверсией ключа предполагает получение атакующим закрытого ключа пользователя (в том числе посредством социальной инженерии и др.) и последующее извлечение биометрических данных из соответствующего контейнера. Атака подстановки со смешиванием основана на свойстве аддитивности нечеткого контейнера и состоит в несанкционированном добавлении в него биометрических данных злоумышленника. После такой инжекции и зарегистрированный пользователь, и злоумышленник будут успешно проходить аутентификацию по одной учетной записи.

Биометрические криптографические системы с генерацией ключа. В такой биометрической криптосистеме ключ извлекается непосредственно из биометрических данных пользователя и не хранится в БД. Возможность не хранить ключ, полученный из биометрических данных, является неоспоримым преимуществом метода генерации криптографических ключей из биометрических данных пользователя по сравнению с другими существующими методами.

Использование для генерации криптографических ключей биометрических данных осложняется тем, что они неточно воспроизводятся и не имеют равномерного распределения, тогда как большинство криптографических преобразований требуют точного значения длины ключа. Кроме того, биометрические данные имеют следующие особенности:

- биометрические характеристики могут изменяться со временем, а некоторые зависят от физического и эмоционального состояния их владельца;

- из-за проблемы смены ключей биометрические данные неотзываемы;

- невозможность держать многие биометрические данные в тайне (например, отпечатки пальцев могут быть оставлены на различных поверхностях).

Существуют два подхода, позволяющие генерировать из биометрических данных ключи, удовлетворяющие требованиям современной криптографии, и обладающие при этом низкой вероятностью ошибки второго рода [1]: использование специально обученных больших искусственных нейронных сетей и применение нечетких экстракторов.

Нейронные сети. Нейросетевой преобразователь «биометрия-код» - заранее обученная искусственная нейронная сеть с большим числом входов и выходов, преобразующая частично случай-

ный вектор входных биометрических параметров «СВОЙ» в однозначный код криптографического ключа (длинного пароля), а также любой иной случайный вектор входных данных в случайный выходной код.

Нечеткие экстракторы (fuzzy extractors). Этот способ позволяет однозначно восстанавливать секретный ключ из неточно воспроизводимых биометрических данных при участии так называемых вспомогательных данных (helper data), являющихся открытыми. При этом качество нечетких экстракторов определяется качеством применяемых в них кодов, исправляющих ошибки. Несомненным достоинством способа является отсутствие необходимости хранения секретного ключа, однако требуется хранение вспомогательных данных. Недостаток способа в том, что он позволяет получить только один ключ из одних биометрических данных. Тем не менее это свойство является положительным с точки зрения применения данного способа в протоколах аутентификации, поскольку таким образом устанавливается однозначное соответствие биометрических данных конкретного пользователя ключу, который из них получен. Кроме того, качество выходной ключевой последовательности удовлетворяет всем критериям качества криптографических ключей.

Нечеткие экстракторы подвержены тем же классам атак, что и нечеткие контейнеры [5]. В то же время атаки сложнее в реализации, а некоторые из них становятся невозможными в случае использования усовершенствований. Но и они не лишены недостатков: в частности, решение, предложенное Х. Бойеном, требует участия независимой доверенной третьей стороны.

Наиболее уязвимы нечеткие экстракторы к атакам со стороны квалифицированного персонала, напрямую связанного с функционированием подсистемы управления доступом (такого как администратор сервера БД пользователей). Поэтому в подсистеме управления доступом крайне нежелательна обработка вспомогательных данных, поскольку, если злоумышленник знает алгоритм работы экстрактора, то, скомпрометировав биометрические данные, он сможет легко сгенерировать секретный ключ пользователя. Если аутентификация с помощью нечеткого экстрактора осуществляется по незащищенному каналу связи, необходимо исключить возможность перехвата любых данных, с использованием которых злоумышленник сможет успешно осуществить атаку, то есть исключить передачу как биометрических данных, так и ключевой последовательности, сгенерированной на их основе, а также вспомогательных данных нечеткого экстрактора.

Эффективным решением поставленной задачи является использование некоторого протокола аутентификации, обладающего доказательством с нулевым разглашением (ZK-протокола). ZK-про-

токолы позволяют выполнить процедуры идентификации, обмена ключами и другие основные криптографические операции без утечки любой секретной информации во время информационного обмена. Этой цели можно достичь при помощи демонстрации знания секрета, однако проверяющий должен быть лишен возможности получать дополнительную информацию о секрете. Следуя ZK-протоколу, участвующие стороны создают сеанс интерактивного доказательства, в ходе которого проверяющий и доказывающий обмениваются запросами и ответами. Целью доказывающего является убеждение проверяющего в истинности утверждения. Поверяющий отклоняет или принимает доказательство. Таким образом, ZK-протоко-лы носят вероятностный, а не абсолютный характер. Сторона А владеет секретом s и пытается убедить сторону В в знании секрета.

Основные характеристики ZK-протокола:

- проверяющий не может ничего узнать из протокола;

- доказывающая сторона не может обмануть проверяющую сторону.

Если сторона А не знает секрета s и пытается доказать стороне В его знание, то после нескольких раундов протокола данный факт может быть установлен настолько точно, насколько это необходимо. Протокол также является Cut AND Choose, то есть после первого неудачного раунда сторона В точно знает, что А нелегальна. Проверяющая сторона не может обмануть доказывающую сторону. Сторона В не может вынести из протокола какую-либо информацию, даже если она не следует протоколу. Сторона В может только убедить себя, что сторона А знает секрет.

В данной работе предлагается ZK-протокол, основанный на идентификации по открытому ключу криптосистемы Эль-Гамаля [6]: проверяющая сторона шифрует произвольное число с помощью открытого ключа доказывающей стороны. Если доказывающая сторона сможет верно расшифровать его с помощью своего секретного ключа, сгенерированного нечетким экстрактором, она подтвердит свою подлинность. Чем больше произвольных чисел, зашифрованных проверяющей стороной, сможет расшифровать доказывающая сторона, тем выше вероятность того, что она подлинная. Чтобы скрыть возвращаемое расшифрованное значение, используется однонаправленная хеш-функция. Таким образом, проверяющая сторона фактически проверяет только соответствие присланного доказывающей стороной значения хеш-функции от выбранного числа.

Рассмотрим подробно процессы регистрации и аутентификации, основанные на предложенном протоколе.

Регистрация:

1) нечеткий экстрактор генерирует ключ х>1 из биометрических данных пользователя, вспомога-

тельные данные сохраняются у пользователя (например, на карту памяти или другой носитель);

2) генерируется случайное простое число р>х;

3) выбирается целое число g, являющееся первообразным корнем по модулю р;

4) вычисляется у=gх mod p;

5) открытый ключ (p; g; y), который впоследствии будет использоваться в качестве идентификатора, высылается регистрирующей стороне и сохраняется у пользователя;

6) регистрирующая сторона выбирает сессионный ключ k, взаимно простой с ^-1, то есть наименьший общий делитель от (k, _р-1)=1;

7) вычисляются a=gk mod p и b=ykM mod p, где M - случайное сообщение;

8) шифротекст (a;b) высылается регистрируемому пользователю;

9) на стороне пользователя вычисляется M-b(ax)'lmodp, регистрирующей стороне высылается h(M') - значение хеш-функции от M

10) регистрирующая сторона продолжает повторять пункты 6-10 до достижения требуемой вероятности подлинности регистрируемого пользователя либо отказывает в регистрации в зависимости от верности равенства h(M)=h(M).

Аутентификация:

1) нечеткий экстрактор восстанавливает ключ х из биометрических данных пользователя по сохраненным вспомогательным данным;

2) открытый ключ (p; g; y) высылается проверяющей стороне на проверку наличия его в базе; если ключ отсутствует в базе, сеанс заканчивается, в ином случае выполняются шаги аналогично пунктам 6-10 регистрации.

В данном случае пользователь является доказывающей стороной, а подсистема управления доступом - проверяющей. Если хотя бы на одном из раундов не выполнится равенство h(M)=h(M), в аутентификации будет отказано.

Поскольку проверяющей стороне неизвестен секретный ключ доказывающей стороны, шифрование сообщений в ходе последующего обмена информацией между ними будет осуществляться с использованием других ключей. Возможна передача общего секретного сеансового ключа в сообщении M. В этом случае возникает дополнительное требование к стойкости хеш-функции h.

Таким образом, получен простой и эффективный протокол биометрической аутентификации с

разглашением. Главное условие надежности протокола - однократное использование сессионного ключа k. Преимуществом протокола является отсутствие необходимости хранения конфиденциальных пользовательских данных на стороне подсистемы управления доступом. В отличие от некоторых реализаций не требуется участие третьей стороны. Основной недостаток в том, что пользователям необходимо хранить носители с их открытыми вспомогательными данными. С другой стороны, информационный носитель является дополнительным фактором аутентификации. Кроме того, в сохранности собственных данных пользователи заинтересованы обычно в большей степени, чем персонал систем информационной инфраструктуры.

Предложенный протокол может быть усовершенствован заменой криптосистемы Эль-Гамаля криптосистемой, основанной на эллиптических кривых [6].

Литература

1. Бардаев С.Э., Финько О.А. Многофакторная биометрическая пороговая криптосистема // Изв. ЮФУ. 2010. № 4. С. 148-155.

2. Куликова О.В. Биометрические криптографические системы и их применение // Безопасность информационных технологий. 2009. № 3.

3. Juels A., Sudan M. A Fuzzy Vault Scheme, in Proc. of IEEE Intl. Symp. on Info. Theory, Lausanne, Switzerland, 2002, 408 p.

4. Nandakumar K., Jain A.K. Multibiometric Template Security Using Fuzzy Vault, in Proc. of IEEE Int. Conf. Biometrics: Theory, Applications and Systems, Arlington, VA, Sep. 2008, pp. 1-6.

5. Scheirer W.J., Boult T.E. Cracking Fuzzy Vaults and Biometric Encryption, in Proc. of Biometrics Symposium, 2007.

6. Коробейников А.Г., Воробьев А.О., Сидоркина И.Г., Пылин В.В. Анализ криптографической стойкости алгоритмов асимметричного шифрования информации // Изв. вузов. 2007. Т. 50. № 8. С. 28-32.

References

1. Bardaev S.E., Finko O.A., Izvestiya Yuzhnogo Feder. Univ., 2010, no. 4, pp. 148-155.

2. Kulikova O.V., Bezopasnost informatsionnykh technology [Safety of information technologies], 2009, no. 3.

3. Juels A., Sudan M., Proc. of IEEE Intl. Symp. on Info. Theory, Lausanne, Switzerland, 2002, p. 408.

4. Nandakumar K., Jain A.K., Proc. of IEEE Int. Conf. Biometrics: Theory, Applications and Systems, Arlington, VA, 2008, pp. 1-6.

5. Scheirer W.J., Boult T.E., Proc. of Biometrics Symp., 2007.

6. Korobeinikov A.G., Vorobyov A.O., Sidorkina I.G., Pylin V.V., Izvestiya vuzov, 2007, Vol. 50, no. 8, pp. 28-32.

Вниманию авторов!

Пристатейный список литературы (не менее 3 пунктов) необходимо транслитерировать в соответствии с общепринятыми в мировой практике правилами библиографических описаний на латинице.

Новые редакционные требования на сайте журнала www.swsys.ru.