Способ защиты персональных данных биометрической идентификации и аутентификации
Иллюстрации
Показать всеИзобретение относится к технике защиты данных при реализации механизмов биометрической идентификации и аутентификации, оно может быть использовано при заключении электронных сделок, при электронной торговле, в Интернетбанкинге. Техническим результатом является повышение стойкости нейросетевого контейнера к атакам подбора из-за появления эффекта «размножения ошибок» «Чужого». При нейросетевом хранении биометрических параметров пользователя и его личного ключа шифруют таблицы описания нейросети на фрагментах ключа, размещенного в самой нейронной сети. 2 з.п. ф-лы, 2 ил.
Реферат
Изобретение относится к технике защиты персональных данных при реализации механизмов биометрической идентификации и аутентификации, оно может быть использовано при заключении электронных сделок, при электронной торговле и в Интернетбанкинге.
Известен классический способ защиты данных их шифрованием [1]. Например, биометрический шаблон (база биометрических шаблонов) устройства идентификации или аутентификации пользователя может быть зашифрован на некотором секретном ключе.
Основным недостатком классического способа шифрования является проблема хранения секретного ключа расшифровывания. По правилам обеспечения информационной безопасности хранить в одном устройстве шифротекст и ключ для его расшифровывания нельзя. Физический или программный взлом такого устройства делает защиту шифрованием бесполезной, необходимо ключ хранить отдельно. При этом необходимо поддерживать сложную систему генерации, распространения, хранения носителей ключей, опирающуюся на привлечение доверенных лиц, специальной почты, фельдъегерей, сейфов,...
Известен способ защиты данных, основанный на привлечении биометрии [2]. По этому способу последовательность сырых биометрических данных используется как некоторый код для шифрования персональной информации. В связи с тем, что биометрические данные нестабильны, из них формируют не сам ключ шифрования, а ключ, накрытый некоторым кодом с обнаружением и исправлением ошибок. После процедуры предъявления биометрического образа вычисляют его биометрические параметры, далее их преобразуют в код и пытаются найти и исправить возможные ошибки этого кода. После этого осуществляют расшифровывание персональных данных на исправленном коде ключа.
Основным недостатком предложенного способа является слабость его защиты. Проблема состоит в большой нестабильности сырых биометрических данных, как правило, наиболее часто встречающиеся биометрические данные имеют нестабильную компоненту порядка 30%÷50% от их же стабильной компоненты. Современные же коды обнаружения и исправления ошибок способны эффективно исправлять до 5% ошибок в некотором блоке кода. Для формирования блока кода, способного обнаруживать и исправлять ошибки, приходится использовать только наиболее стабильные параметры. Нестабильность параметров и нестабильность разрядов кода близки по своей сути. Например, для рукописного пароля «Пенза» могут быть вычислены порядка 416 биометрических параметров с нестабильными компонентами, составляющими от 120% до 3% их стабильных компонент (это реальные экспериментально полученные статистические данные). Стабильные биометрические данные, на которых можно строить код с обнаружением и исправлением ошибок, встречаются относительной редко, их мало и, соответственно, длинна ключа шифрования самокорректирующегося кода оказывается мала. Именно это обстоятельство и препятствует широкому использованию способа [2] на практике, способ работоспособен, но не обеспечивает высоконадежной защиты, так как вынужден использовать только 26÷56 наиболее стабильных биометрических параметра. При этом 390÷360 менее стабильных биометрических параметра приходится отбрасывать. Способ позволяет формировать только короткие ключи длинной 26÷56 бит, тогда как практика требует формирования качественных ключей длинной 256 бит и более.
Известен способ сокрытия персональных биометрических данных в параметрах связей обученной нейронной сети [3]. По этому способу используют несколько биометрических образов человека, присваивают человеку код ключа, находят заранее заданное число биометрических параметров человека для каждого из примеров его биометрического образа, формируют нейросеть так, чтобы число ее входов совпадало с заранее заданным числом контролируемых биометрических параметров, а число выходов нейросети совпадало с длинной ключа. Далее обучают нейросеть откликаться на примеры образов «Свой» кодом ключа «Свой», а при подаче на входы нейросети случайных биометрических параметров случайного образа «Чужой» обученная нейросеть должна откликаться случайным выходным кодом.
Положительным свойством размещения биометрических параметров пользователя в связях и параметрах связей обученной нейронной сети по способу [3] является то, что злоумышленник не имеет возможность определить, какие биометрические параметры человека и в какой комбинации используются для защиты. Также злоумышленник, получивший обученную нейросеть человека (например, перехватив ее при передаче ее по открытому каналу связи в соответствии с п.1 формулы изобретения [3]), не может извлечь из нее личный ключ пользователя и не может установить имя пользователя. Способ [3] можно рассматривать как способ защиты персональных биометрических данных пользователя и его личного ключа путем размещения их в нейросетевом контейнере, которым по своей сути является обученная нейросеть (таблицы связей и параметров обученной нейросети).
Недостатком способа [3] является относительно слабая защищенность, обеспечиваемая нейросетевым контейнером. Например, если 2-слойную нейронную сеть с 416 входами обучить давать ключ пользователя длинной 256 бит на рукописном пароле «Пенза», то среднестатистическая стойкость такой защиты к атакам подбора составит 240 попыток (смотри таблицу А2 приложения «А» ГОСТ [4] 2-я строка сверху). Стойкость самого криптографического ключа, размещенного в нейросетевом контейнере, будет составлять 2256. Стойкость к атакам подбора контейнера оказывается много меньше стойкости ключа (она составляет только 240). Это означает, что злоумышленник может попытаться подобрать код ключа, подавая на входы искусственной нейронной сети случайные биометрические образы. Злоумышленник теоретически может использовать контроль неоднородности распределения коэффициентов связей обученной нейронной сети для ускорения работы автомата, реализующего атаку подбора [5].
Целью заявляемого изобретения является усиление стойкости нейросетевой защиты (нейросетевого контейнера) биометрических данных и, соответственно, запакованного в нем личного ключа пользователя к атакам подбора.
Поставленная цель достигается тем, что по п.1. формулы изобретения биометрические параметры биометрического образа пользователя размещают в таблицах связей и таблицах параметров связей искусственной нейронной сети. Для этого задают параметры нейронной сети: число ее входов, число ее выходов, число слоев нейронов, число входов у нейронов, таблицу связей между входами нейронов в одном слое и выходами нейронов в предыдущем слое, нелинейные функции возбуждения нейронов. Совокупность биометрических параметров образа пользователя пакуют в таблицу связей и таблицу параметров этих связей нейросети, осуществляя обучение искусственной нейронной сети. Для обучения нейронной сети используют несколько примеров биометрического образа пользователя и его личный ключ. Примеры биометрического образа обрабатывают, извлекая из них заранее заданное число биометрических параметров, причем каждый из контролируемых биометрических параметров далее подают на свой вход искусственной нейронной сети. Далее одним из известных методов обучения нейронных сетей добиваются того, чтобы все примеры биометрического образа «Свой» порождали на выходе нейронной сети личный ключ пользователя. После обучения нейросети таблица параметров связей нейронной сети фактически аккумулирует в неявной форме биометрические параметры пользователя и его личный ключ. После получения таблиц параметров связей обученной нейронной сети уничтожают примеры биометрического образа, на котором производилось обучение нейросети.
Далее по предложенному способу шифруют таблицу связей и/или таблицу параметров связей. Возможно шифрование каждой из таблиц по отдельности или их совместное шифрование. Начальную часть таблиц (отвечающую, например, за первый бит личного ключа) оставляют незашифрованными. Шифруют связи и/или параметры связей таблиц, на первом бите личного ключа ту часть таблиц связей и/или параметров, которая отвечает за формирование 2-го бита ключа. Далее шифруют на первых двух битах ключа ту часть таблиц связей и/или параметров, которая отвечает за формирование 3-го бита ключа. Эту последовательность повторяют до момента, пока не окажутся зашифрованными все таблицы связей и/или параметров.
Часть фрагментов ключа, размещаемого в параметрах нейросети, используют для шифрования другой части таблиц связей и/или параметров, которые отвечают за формирование других еще не зашифрованных фрагментов таблиц, отвечающих за формирование других фрагментов ключа. Шифрование фрагментов таблиц связей и/или параметров нейросети на фрагментах ключа осуществляют в строго заданном порядке. Фрагменты ключа (группы его разрядов), используемые для шифрования, могут выбираться любым способом, главное, чтобы связь разрядов ключа, которые шифруют фрагменты таблиц, была точно задана (увязана с разрядами ключа, фрагменты таблиц которых шифруются). Описанное выше побитное шифрование является самым простым из всех возможных заранее заданных порядков шифрования.
После того как таблица связей и/или таблица значений параметров зашифрована на фрагментах личного ключа в заданном порядке, этот личный ключ пользователя, использованный ранее при обучении нейросети, уничтожают. Нейросеть в виде почти полностью зашифрованных таблиц связей и/или таблиц значений параметров безопасно хранят на обычных компьютерах или безопасно передают по открытым каналам связи.
При восстановлении личного ключа на входы нейронной сети пользователь подает параметры «Своего» биометрического образа, однако он может использовать только часть этих параметров, для которых фрагменты таблицы связей и/или фрагменты таблицы параметров связей не зашифрованы (открыты). Используя только открытую часть данных таблиц, пользователь программно эмулирует открытую часть нейронной сети и получает на ее выходах первую часть своего личного ключа (в простейшем случае первый бит ключа). Далее пользователь с помощью программного обеспечения расшифровывает другую часть таблиц связей и/или параметров нейросети и, воспроизводя расшифрованный фрагмент нейросети, он получает следующую часть личного ключа на другой группе выходов нейронной сети (в простейшем случае второй бит ключа). Далее новая группа разрядов нейросети (новый фрагмент ключа) используется для расшифровывания параметров следующей части таблиц нейронной сети. Процесс повторяют до момента, пока все части личного ключа не будут восстановлены. Расшифровывание таблиц (таблицы) нейросети и извлечение фрагментов ключа из нейросети ведут в строго заданном изначально порядке, в том же самом порядке, в котором ранее было осуществлено частичное шифрование параметров нейронной сети перед запоминанием частично зашифрованных таблиц. После использования ключа и расшифрованных таблиц его восстановления их уничтожают.
Техническим эффектом от реализации способа по п.1. является усиление стойкости нейросетевого хранителя личной биометрии пользователя и личного ключа пользователя к атакам подбора «Чужих», не знающих биометрического образа «Свой» (биометрии пользователя). Так, если не использовать шифрование, то «Чужой» способен случайно угадывать до 80% бит личного ключа (экспериментальные данные), подставляя на вход нейросети параметры примерно 10000 случайных биометрических образов. При реализации предложенного способа «Чужой» способен угадать не более 50,5% бит личного ключа на том же числе попыток. Возникает эффект «размножения ошибок», характерный для систем криптографической защиты информации. Ранее нейросетевые хранители личных данных пользователей [3], не осуществлявшие шифрование параметров нейросети на ключе, размещенном в ней же, не обладали эффектом «размножения ошибок». Предложенный способ впервые позволяет поднять стойкость биометрико-нейросетевой защиты персональных данных за счет эффекта «размножения ошибок». В классической криптографии криптосхемы без эффекта «размножения ошибок» считаются нестойкими.
Эффект «размножения ошибок» в биометрико-нейросетевых хранителях личной информации можно продемонстрировать на примере ошибки в первой группе разрядов кода ключа. Появление ошибки в первом фрагменте ключа приводит к тому, что параметры таблиц описания обученной нейросети для всех других фрагментов неверно (ошибочно) расшифровываются, ошибочная расшифровка эквивалентна применению необученной нейросети. Необученная нейросеть позволяет даже «Своему» случайно угадывать ровно половину разрядов ключа. Фактически злоумышленник имеет необученную (зашифрованную) нейронную сеть (обученным (незашифрованным) оказывается только ее небольшой начальный фрагмент). Извлечь из необученной нейронной сети верный личный ключ пользователя или код, близкий к верному ключу, практически невозможно.
Еще одним техническим преимуществом способа по п.1 изобретения является то, что подобласти выходного пространства обученной нейронной сети имеют разный «объем» («объем» области ключа «Свой» обычно больше «объемов» образов случайных кодов «Чужой»). Подобная неоднородность достаточно легко наблюдаема и злоумышленник теоретически может попытаться ею воспользоваться для поиска больших областей, похожих на область «Свой». Предложенный способ по п.1 формулы лишает злоумышленника этой возможности. Необученная нейросеть с зашифрованными на фрагментах личного ключа параметрами не имеет значительных неоднородностей, а те, которые есть, порождены случаем, а не обучением на образах «Свой». Техническим преимуществом является исключение возможности изучения распределения параметров обученной нейронной сети (параметры нейросети почти полностью зашифрованы). Для поиска неоднородностей нейросети нужно анализировать совокупность как можно большего числа ее параметров, а как раз этому и противодействует предложенный способ.
Следует отметить, что эффект «размножения ошибки» по п.1. способа имеет не только позитивную, но и негативную сторону. «Своему» легальному пользователю оказывается сложнее воспроизвести свой личный ключ, через нейросетевое преобразование биометрического образа «Свой» в код личного ключа. Даже если пользователь делает всего одну ошибку в начальной части ключа, все последующие фрагменты ключа сильно отклоняются от правильной кодовой комбинации. Снижается вероятность распознавания «Своего» с первой попытки.
Положительный эффект от реализации способа по п.2 формулы сводится к повышению вероятности верного распознавания «Своего» при шифровании таблиц описания параметров нейросети. Положительный эффект достигается тем, что в соответствии с п.2 заявленной формулы изобретения перед шифрованием таблиц описания нейросети личный ключ перекодируют в более длинный код с обнаружением и исправлением ошибок. При этом фрагменты кода нейросети, используемые для последующего шифрования и расшифровывания ее таблиц, выбирают так, чтобы их длина точно совпадала с длинной блока использованного кода с исправлением и обнаружением ошибок. Далее все действия осуществляют так же, как и при кодировании таблиц описания нейросети на фрагментах личного ключа пользователя. Единственным отличием является то, что после каждого извлечения очередного фрагмента кода из нейросети проверяют его правильность. Если код верен, то процедуру расшифровывания таблиц и дальнейшего извлечения фрагментов кода ключа продолжают. Если обнаружена ошибка в очередном извлеченном фрагменте кода, то ее пытаются исправить механизмом, заложенным в использованном коде. Если исправить ошибку не удается (современные коды обнаруживают гораздо больше ошибок, чем могут исправить), то извлечение ключа из нейросетевого контейнера прекращают и об этом сообщают пользователю. Пользователь повторяет попытку извлечения из нейросети своего личного ключа, предъявив еще один пример «Своего» биометрического образа.
Положительным техническим эффектом способа по п.2 заявленного изобретения является повышение вероятности верного распознавания «Своего». Обычно «Свой» пользователь допускает не более 1÷5 ошибок в 256 битном ключе, столь малое число ошибок современные коды способны не только обнаружить, но и исправить. «Чужой» ошибается примерно в половине разрядов кода и делает примерно 128 ошибок. Столь значительное число ошибок современные коды с обнаружением ошибок исправить не могут. То есть, реализация п.2 предложенного способа почти не влияет на стойкость биометрико-нейросетевой защиты к атакам подбора, но при этом существенно увеличивает вероятность узнавания «Своего».
Положительный эффект по п.3 формулы заявленного способа достигается тем, что незначительную открытую (незашифрованную) часть таблиц описаний нейросети (таблицы связей и/или параметров связей) шифруют на ПИН-коде пользователя или его пароле. Только после этого уже полностью зашифрованные таблицы хранят в компьютере или посылают по открытому каналу связи для дистанционной биометрической аутентификации. При своей аутентификации пользовать предъявляет свой ПИН-код или пароль, на нем расшифровывают первую открытую часть таблиц описания нейросети и восстанавливают по ним открытую часть нейросети. Далее предъявляют нейросети параметры проверяемого биометрического образа и получают первый фрагмент ключа на выходах нейросети. Далее все процедуры осуществляют в соответствии с п.1 формулы изобретения, которые описаны выше.
Техническим преимуществом предложенного способа по п.3 является то, что повышается уровень информационной безопасности. Злоумышленник вообще не может наблюдать распределение параметров в таблицах описания нейронной сети. Таблицы параметров связей нейросети оказываются полностью зашифрованы, пароль или ПИН-код пользователя оказываются надежно и безопасно связанными с его биометрией. ПИН-код оказывается начальной частью ключа, на котором шифруются таблицы параметров нейросети.
На фигуре 1 приведена блок-схема реализации предложенного способа по п.1 формулы, где блок - 1 является блоком предобработки данных с выхода графического планшета, на котором пользователь воспроизвел свой рукописный пароль; блок - 2 является блоком вычисления биометрических параметров; блок - 3 является блоком памяти, в котором записываются данные о состояниях входов нейронов сети или выходов промежуточный нейронов сети, уже вычисленных на текущий момент; блок - 4 является блоком памяти, где записываются фрагменты уже восстановленного на текущий момент ключа (блок памяти уже вычисленных выходов всей нейросети); блок - 5 является блоком программы, который последовательно в заданном порядке эмулирует нейроны сети; блок - 6 является блоком памяти, где хранятся зашифрованные и расшифрованные адреса таблицы связей каждого нейрона; блок - 7 является блоком памяти, где хранятся зашифрованные и расшифрованные значения связей каждого нейрона (значения связей могут быть положительными, отрицательными и изменяться в некотором динамическом диапазоне); блоком - 8 является программа шифрования и расшифровывания данных в таблицах связей и таблицах параметров связей нейронной сети. Блоки 6 и 7 при реализации способа могут быть зашифрованы и расшифрованы, на фигуре 1 зашифрованная часть блоков отмечена более темным цветом. При постепенном расшифровывании содержания блоков памяти 6 и 7 уровень затемненной заливки (уровень закрытой части памяти) понижается. Граница между расшифрованными и зашифрованными значениями ячеек блоков памяти выделена темной утолщенной линией, данные, расположенные на этой линии, шифруются и расшифровываются блоком - 8.
Фигура 2 поясняет один из возможных вариантов задания последовательности шифрования (расшифровывания) данных таблиц описания фрагментами личного ключа пользователя. На фигуре 2 приведена условная схема деления личного ключа на фрагменты 1к, 2к, ..., 8к и аналогичного деления таблицы параметров связей на 8 (1п, 2п, ..., 8п) областей, а также деления таблицы связей (адресов связей) на 8 областей (1с, 2с, ..., 8с). Верхняя часть фигуры 2 отражает деление ключа на 8 фрагментов (каждый номер фрагмента ключа имеет окончание - к), средняя часть фигуры 2 отображает деление таблицы параметров связей на 8 фрагментов (каждый номер фрагмента таблицы параметров связей имеет окончание - п). Нижняя часть фигуры 2 отражает деление таблицы адресов связей нейросети на 8 фрагментов (каждый номер фрагмента таблицы связей имеет окончание - с). Выделенные взаимосвязанные фрагменты ключа, таблиц значений связей и таблиц адресов связей расположены друг под другом и имеют одинаковые цифровые обозначения. Стрелками на фигуре 2 показаны заданные заранее связи шифрования и расшифровывания фрагментов таблиц описания нейросети на соседних фрагментах личного ключа.
В качестве примера реализации способа по п.1. формулы рассмотрим простейший нейросетевой преобразователь биометрия-код ключа, состоящий из однослойной нейронной сети, имеющей 416 входов и 256 выходов. Зададим у нейронов нейросети по 24 входа и каждый из этих входов выберем случайно из 416 анализируемых биометрических параметров. Все выбранные случайно связи разместим в таблицу связей для каждого нейрона однослойной нейронной сети.
Способ по п.1 иллюстрируется фигурой 1. При написании пользователем своего рукописного пароля «Пенза» кривые колебания пера графического планшета X(t), Y(t) и кривая давления пера на планшет Z(t) оцифровываются графическим планшетом и подаются в цифровой форме в вычислитель. Блок - 1 (программы предобработки) масштабирует входные данные, выделяет отрывы пера, сглаживает данные и размечает их. Далее биометрические данные обрабатываются блоком-программой - 2, которая вычисляет 416 биометрических параметра (416 коэффициентов дискретного преобразования Фурье кривых X(t), Y(t), Z(t)). Вычисленные 416 биометрических параметров подают на входы эмулятора нейронной сети (блок - 5) через блок памяти - 3, в котором хранятся все данные промежуточных вычислений однослойной нейронной сети. Выходные данные нейросети хранятся в блоке 4.
Обучение нейронной сети (на фигуре 1 не отражено) ведут в соответствии с одним из известных алгоритмов обучения нейросети. Процедура обучения полностью повторяет процедуру обучения прототипа (см. доотличительную часть формулы п.1). Обучение ведут до тех пор, пока входные биометрические параметры примеров образа «Свой» не будут порождать на 256 выходах нейронной сети личный ключ пользователя «Свой». При обучении нейросети осуществляют последовательное программное эмулирование каждого из нейронов блок-программой - 5, при этом блок-программа - 5 входные биометрические данные каждого из нейронов сети берет из памяти - 3 в соответствии с заранее заданной таблицей связей - 6. При обучении промежуточные параметры связей нейронов берутся и затем возвращаются в таблицу параметров связей - 7. На момент окончания обучения в таблице параметров связей нейросети - 7 оказываются размещены связи (весовые коэффициенты) обученной нейронной сети. После обучения примеры образа «Свой», использованные для обучения, уничтожают.
После окончания обучения осуществляют шифрование параметров таблицы адресов связей - 6 и таблицы значений этих связей - 7 на ключе пользователя в заранее заданном порядке. Зададим простой пример порядка шифрования, разбив ключ и таблицы описания нейросети на 8 фрагментов (см. фигуру 2). Каждый из 8 фрагментов ключа длинной 256 бит будет состоять из 32 бит. Параметры первых 32 нейронов однослойной нейронной сети, хранимые в 1с части блока - 6 и 1п части блока - 7 по п.1 формулы, оставляют незашифрованными.
По п.1 формулы шифруют на фрагменте 1к (32 бита) адреса связей -2с и параметры связей - 2п 2-ой из 8 частей блока - 6 и блока - 7.
Далее на фрагментах ключа 1к, 2к (64 бита) шифруют адреса связей - 3с и параметры связей - 3п 3-ей из 8 частей блока - 6 и блока - 7.
Далее на фрагментах ключа 1к, 2к, 3к (96 бит) шифруют адреса связей - 4 с и параметры связей - 4п 4-ой из 8 частей блока - 6 и блока - 7.
Далее на фрагментах ключа 1к, 2к, 3к, 4к (128 бит) шифруют адреса связей - 5с и параметры связей - 5п 5-ой из 8 частей блока - 6 и блока - 7.
...
...
Процедуру повторяют до тех пор, пока не зашифруют все (кроме первой) части блока - 6 и блока - 7. При этом последняя 8-ая части блока - 6 и блока - 7 шифруются на ключе, состоящем из 7 частей личного ключа пользователя, последняя 8-ая часть ключа пользователя в шифровании не участвует.
После почти полного шифрования таблицы связей - 6 и таблицы значений связей - 7 по предложенному способу уничтожают всю информацию о ключе шифрования. Далее сохраняют или пересылают для использования только почти (на 7/8) зашифрованную таблицу связей - 6 и почти (на 7/8) зашифрованную таблицу параметров связей - 7.
Положительный технический эффект способа по п.1 состоит в том, что таблицы описания нейросети на 7/8 оказываются зашифрованными и, соответственно, не поддаются нейрокриптоанализу. Злоумышленник, перехвативший при передаче по открытому каналу связи таблицы описания связей и параметров нейросети, видит их и способен изучать только на 1/8 часть. 7/8 - возможных неоднородностей нейросетевых коэффициентов и 7/8 неоднородностей выходного многомерного пространства состояний нейросети оказываются недоступными для наблюдения и нейрокриптоанализа. Увеличивается уровень информационной безопасности нейросетевого контейнера хранения персональных биометрических данных пользователя и его личного ключа доступа.
При извлечении из нейросети ключа его легальным владельцем он (пользователь) предъявляет свой биометрический образ. Пользователь воспроизводит на графическом планшете своею рукой свой рукописный пароль. Кривые колебаний пера и его давление на графический планшет оцифровываются, нормируются блоком 1 и преобразуются блоком 2 в 416 контролируемых биометрических параметра. Эмулятор нейросети (блок - 5), пользуясь незашифрованными фрагментами 1с и 1п таблиц 6 и 7, восстанавливает 32 выходных состояния первых 32 нейронов однослойной нейронной сети (1/8 часть ключа - фрагмент 1к). Далее, полученный фрагмент ключа - 1к используют для расшифрования фрагментов 2с и 2п таблиц 6 и 7.
Располагая фрагментами 2с и 2п таблиц 6 и 7, эмулятор - 5 восстанавливает фрагмент 2к ключа. Фрагмент 1к и 2к объединяют и на них расшифровывают фрагменты 3с и 3п таблиц 6 и 7. Повторяя процесс расшифровывания фрагментов таблиц 6 и 7, последовательно (в обратном порядке зашифровывания) восстанавливают весь личный ключ пользователя и далее используют его по назначению. После использования ключа и расшифрованных таблиц его восстановления их уничтожают (ключ вообще не хранят, а таблицы хранят только в зашифрованном виде).
Положительным техническим эффектом способа по п.1 является то, что стойкость биометрической защиты к атакам подбора усиливается. Если «Чужой» пытается угадать образ «Свой» и допускает хотя бы одну ошибку в первом фрагменте ключа 1к, то все другие фрагменты ключа 2к, 3к, 4к, 5к, 6к, 7к, 8к «Чужой» уже в принципе угадать не может. Связи и параметры всех нейронов, отвечающих за эти фрагменты ключа, случайны (они неправильно расшифровались). Возникает эффект «размножения ошибок» «Чужого» при угадывании. Стойкость к атакам подбора нейросетевого контейнера с частично зашифрованными связями возрастает, что подтверждают эксперименты. Без шифрования связей «Чужой» иногда способен угадывать до 80% ключа. Вскрывая зашифрованный контейнер, «Чужой» способен угадать не более 50,5% ключа при том же числе попыток подбора.
Следует подчеркнуть, что выше был описан только один из вариантов реализации способа по п.1 формулы изобретения.
Как варианты способа по п.1 могут быть реализованы:
1) способы, по которым шифруют только таблицы связей или их фрагменты;
2) способы, по которым шифруют только таблицы значений связей или их фрагменты;
3) способы, по которым используются многослойные нейронные сети вместо однослойных.
В каком объеме и какие фрагменты таблиц шифруются для заявленного способа, значения не имеет, так как всегда достигается положительный эффект «размножения ошибок» и усиления стойкости защиты к атакам подбора. Этот положительный эффект падает при снижении объемов шифрования таблиц описания, но все же достигнутый положительный эффект всегда остается легконаблюдаемым.
При использовании многослойных нейронных сетей происходит усложнение программирования процедур задания порядка шифрования и расшифровывания таблиц описания нейросети. Суть процессов не меняется, по заявленному способу п.1 формулы могут быть использованы искусственные нейронные сети любой елейности (1-слойные, 2-слойные, 3-слойные, ...).
Как пример реализации способа по п.2 формулы рассмотрим использование блочного кода с обнаружением и исправлением ошибок (длина блока 40 бит из них 32 бита - блок ключа и 8 добавочных бит для обнаружения и частичного исправления ошибок). Такой код способен обнаруживать и исправлять все одиночные ошибки в 32 разрядных блоках ключа и часть двукратных ошибок в 32 разрядных блоках фрагментов ключа. Ошибки большей кратности подобными кодами только обнаруживаются, но не исправляются.
Для реализации п.2. формулы 256-битный код ключа перекодируют в 320-битный эквивалентный код с обнаружением и исправлением ошибок. Затем используют однослойную нейронную сеть с 320 нейронами и обучают ее воспроизводить заданный 320-битный код при предъявлении нейросети 416 параметров примеров образа «Свой».
В том случае, если легальный пользователь допустил незначительную оплошность, которая привела к одиночным ошибкам в части 40 битных блоков фрагментов ключа 1к, и/или 2к, и/или 3к, и/или 4к, и/или 5к, и/или 6к, и/или 7к, и/или 8к, то эти одиночные ошибки обнаруживаются и исправляются кодом. Если даже появились 2-двукратные ошибки в 40-битных блоках, вероятность их обнаружения и исправления остается велика. Если же «Свой» допускает хотя бы одну трехкратную ошибку в 40-битных блоках кода, то код обнаруживает неверный блок и дает сообщение об ошибках. Исправить положение 320-битный избыточный код не может, трехкратные ошибки (и некоторые двукратные ошибки) код с 32 битами информации и 8 битами контроля может только обнаружить.
Положительным техническим эффектом от реализации п.2 формулы является то, что легальный пользователь «Свой» делает редкие одиночные ошибки, которые не размножаются, а исправляются избыточным кодом из 320 бит. Легальный пользователь не чувствует эффекта «размножения ошибок» и ему войти в систему так же легко, как и в систему-прототип.«Чужой» делает много ошибок в коде, которые следуют группами. Как только в одном из 40-битных блоков кода «Чужой» сделает 3 или более ошибок, количество ошибок в последующих блоках лавинообразно увеличивается до 50%. Практика показала, что «Чужой» после тренировок способен иногда (один раз на 10000 попыток) угадывать до 80% бит или «Чужой» постоянно ошибается не менее чем в 8 битах из 40 бит каждого блока. При реализации п.2. предложенного способа стойкость системы к атакам подбора оказывается высока из-за эффекта «размножения ошибок» «Чужого», тогда как «Свой» практически не чувствует присутствия эффекта «размножения ошибок».
Как пример реализации способа по п.3 формулы рассмотрим использование ПИН-кода, состоящего из 4-5 букв (цифр) в 8-разрядной кодировке. По п.3 на этом ПИН-коде (блоке из 32-40 бит) шифруют блоки 1с и 1п таблиц 6 и 7. В этом случае все таблицы связей и параметров 6 и 7 оказываются последовательно зашифрованными на ключах из последовательности блоков;
ключ из 0к - блоки 1с и 1п;
ключ из 0к, 1к - блоки 2с и 2п;
ключ из 0к, 1к, 2к - блоки 3с и 3п;
...
...
ключ из 0к, 1к, 2к, ..., 7к - блоки 8с и 8п.
Положительный технический эффект от реализации п.3. формулы состоит в дополнительном усилении стойкости нейросетевого контейнера к атакам подбора. Зашифрованными на ПИН-коде и ключе оказываются все связи нейросети, злоумышленник полностью лишается возможности проводить нейрокриптоанализ биометрического контейнера. Короткий ПИН-код пользователя оказывается надежно и безопасно связан с хранимыми в нейросетевом контейнере персональными данными человека. ПИН-код оказывается частью длинного ключа, на котором зашифрована информация. Невозможно атаковать систему, подбирая короткий ПИН-код, независимо от подбора всего ключа в совокупности с подбором всех биометрических параметров. Совокупность: биопараметры, код личного ключа, ПИН-код, оказывается в неразрывной связи друг с другом, что и повышает безопасность их хранения (транспортировки). Атаковать защиту, раздельно подбирая ПИН-код, биопараметры или ключ, невозможно, так как они взаимоувязаны.
Литература
1. Романец Ю.В., Тимофеев П.А., Шалыгин В.Ф. Защита информации в компьютерных системах и сетях. М.: Радио и связь-1999 г.
2. Патент РФ № 2263407 С2, Способ защиты данных. МКИ H04L 9/14, приоритет 25.08.1999 DE 19940341.4, дата публикации заявки 20.09.2003, опубликовано 27.10.2005, бюл. №30, авторы ФОГЕЛЬ Коля (DE), БАЙНЛИХ Штефан (DE), МАРТИН Ульрих (DE), патентообладатель ГЕЗИКЕ УВД ДЕВРИЕНТ ГМБХ (DE).
3. Патент РФ №RU 2273877, Способ распределения ключей в большой территориально разнесенной системе, МКИ G06F 12/14; G06F 15/18; G06N 3/02. Опубликовано 10.04.2006, бюл. №10, приоритет 16.08.2004, заявка №2004124971/09, авторы Ефимов Олег Владимирович, Иванов Александр Иванович, Фунтиков Вячеслав Александрович, Патентообладатель ФГУП «Пензенский научно-исследовательский электротехнический институт».
4. ГОСТ Р 52633-2006 «Защита информации. Техника защиты информации. Требования к средствам высоконадежной биометрической аутентификации».
5. Малыгин А.Ю., Волчихин В.И., Иванов А.И., Фунтиков В.А. Быстрые алгоритмы тестирования нейросетевых механизмов биометрико-криптографической защиты информации / Пенза-2006 г., Издательство Пензенского государственного университета., 161 с.
1. Способ защиты персональных данных биометрической идентификации и аутентификации, при котором размещают биометрические параметры пользователя и его личный ключ в таблицах связей и таблицах параметров связей нейросети с числом входов у нейросети, равным числу скрываемых биометрических параметров и числом выходов у нейросети, равным длине личного ключа, задают число слоев нейронов в нейросети и таблицу связей нейронов в каждом слое, обучают нейросеть преобразовывать несколько примеров биометрического образа пользователя в его личный ключ, запоминают таблицу связей обученной нейронной сети и таблицу параметров этих связей, далее уничтожают примеры биометрического образа, на которых нейронная сеть обучалась, отличающийся тем, что таблицу связей и/или таблицу значений параметров шифруют на фрагментах личного ключа в заранее заданном порядке, причем осуществляют только однократное шифрование данных, причем осуществляют шифрование данных, определяющих значения некоторого фрагмента ключа на ином фрагменте ключа в заранее заданном порядке следования фрагментов ключа и после этого уничтожают личный ключ, на котором обучалась нейросеть, и уничтожают исходные данные уже зашифрованных фрагментов таблиц, далее осуществляют транспортировку и/или хранение частично зашифрованных таблиц связей и/или таблиц параметров связей нейросети, при извлечении из нейросети конфиденциальной информации предъявляют на ее входы параметры биометрического образа пользователя и восстанавливают часть выходного кода ключа, используя незашифрованные фрагменты таблиц связей и/или параметров этих связей, далее используют восстановленный фрагмент личного ключа для расшифровывания зашифрованных ранее на нем фрагментов таблиц связей и/или таблиц параметров этих связей в заранее определенном порядке, затем восстанавливают следующий фрагмент личного ключа, параметры таблиц которого только что расшифрованы, процедуру продолжают пока все фрагменты личного ключа не будут восстановлены, через последовательное расшифровывание данных таблиц связей и/или таблиц параметров этих связей и эмуляции соответствующего фрагмента нейросети, на уже восстановленных фрагментах ключа, после использования ключа и расшифрованных фрагментов таблиц их уничтожают.
2. Способ по п.1, отличающийся тем, что перед обучением нейросети личный ключ пер