способ распределения ключей в большой территориально разнесенной системе
Классы МПК: | G06F12/14 защита от обращений к памяти посторонних пользователей G06F15/18 с модификацией программ, осуществляемой самой машиной в соответствии с опытом, накопленным машиной за время полного цикла работы; самообучающиеся машины G06N3/02 использующие модели нейронных сетей |
Автор(ы): | Ефимов Олег Владимирович (RU), Иванов Александр Иванович (RU), Фунтиков Вячеслав Александрович (RU) |
Патентообладатель(и): | Федеральное государственное унитарное предприятие "Пензенский научно-исследовательский электротехнический институт" (ФГУП "ПНИЭИ") (RU) |
Приоритеты: |
подача заявки:
2004-08-16 публикация патента:
10.04.2006 |
Изобретение относится к технике секретной связи и может быть использовано для передачи, распределения и смены криптографических ключей для пользователей в территориально разнесенной системе. Техническим результатом является обеспечение передачи пользователю криптографических ключей, преобразованных с помощью биометрических параметров этого пользователя в нейросеть, по открытому каналу связи. Для этого в центр распределения ключей однократно доставляют биометрические образы пользователя и запоминают эти образы, генерируют исходную искусственную нейросеть и ключ пользователя, обучают упомянутую нейросеть таким образом, чтобы при подаче на ее вход биометрического образа пользователя она порождала на своих выходах ключ пользователя, после чего обученную таким образом нейросеть по открытым каналам связи доставляют на объект пользователя, где запоминают ее и используют для формирования ключа путем подачи на ее вход пользователем своего биометрического образа, а при необходимости смены ключа у пользователя в центре генерируют новый ключ, заново обучают исходную искусственную нейросеть на новом ключе и доставляют по открытому каналу связи преобразованную нейросеть на объект пользователя, где ее запоминают и используют для получения нового ключа. 1 з.п. ф-лы.
Формула изобретения
1. Способ распределения ключей в большой территориально разнесенной системе, включающий операции генерирования в центре ключа для каждого пользователя и доставки его на объект пользователя, отличающийся тем, что пользователи однократно доставляют в центр свои биометрические образы, в центре запоминают эти образы и для каждого пользователя формируют исходную искусственную нейросеть и после генерации ключа пользователя обучают ее таким образом, чтобы при подаче на ее вход биометрического образа пользователя она порождала на своих выходах сгенерированный ранее ключ пользователя, после чего обученную таким образом нейросеть по открытым каналам связи доставляют на объект пользователя, где запоминают ее и используют для формирования ключа путем подачи на ее вход пользователем своего биометрического образа, а при необходимости смены ключа у пользователя в центре генерируют новый ключ, заново обучают исходную искусственную нейросеть на новом ключе и доставляют переобученную нейросеть на объект пользователя, где ее используют для получения нового ключа.
2. Способ по п.1, отличающийся тем, что перед доставкой на объект пользователя новой нейросети по открытому каналу связи ее предварительно шифруют на старом ключе, а после доставки на объект пользователя расшифровывают на этом ключе.
Описание изобретения к патенту
Изобретение относится к технике секретной связи и может быть использовано для передачи, распределения и смены криптографических ключей у пользователей в территориально разнесенной системе.
Для обеспечения передачи секретной информации в любой системе связи необходимо снабдить пользователей этой системы криптографическими ключами, на которых осуществляется шифрование и дешифрование информации. Многие специалисты считают задачу защищенного распространения и замены секретных ключей главной задачей в криптографии [1, с.40]. Эта задача решается путем передачи из доверенного центра распределения ключей (ЦРК) каждому пользователю одного или нескольких криптографических ключей. Для этого используются защищенные от перехвата злоумышленником каналы связи или передача ключей с помощью доверенного курьера, что существенно усложняет организацию системы связи, особенно в тех случаях, когда пользователи распределены на большой территории. Задача распределения ключей еще больше усложняется в случае, когда возможна компрометация объекта, снабженного криптографическими ключами, что вызывает необходимость замены ключей у всех пользователей, имевших связь с скомпрометированным объектом. Известен способ управления криптографическими ключами [2], по которому контроллер управления ключами передает информацию о времени, последняя принимается всеми станциями системы, и в определенный, предварительно установленный момент времени происходит смена шифровальных ключей, используемых для закрытой передачи данных. В системе в случае необходимости предусмотрена возможность передачи запроса о замене ключей.
Недостаток известного способа заключается в его сложности, обусловленной необходимостью первичного распределения набора ключей между станциями сети и связанного с этим применения защищенного от перехвата злоумышленником канала связи.
Известен также способ и устройство обработки данных [3], по которому рабочий ключ, на котором осуществляется шифрование информации, образуется на основе пароля, вводимого пользователем, и «предварительных ключевых данных», при этом секретность пароля обеспечивается пользователем, а секретность рабочего ключа обеспечивается тем, что он существует только в момент шифрования (дешифрования) информации, после чего и пароль, и рабочий ключ уничтожаются. В этом способе отсутствует необходимость предварительной рассылки криптографических ключей, роль которых выполняет пароль, запоминаемый пользователем и полученный, например, в ЦРК, и транспортируемый пользователем на объект. Для того, чтобы организовать смену рабочих ключей на объектах на них необходимо доставить новые пароли, при этом необходимо решить ту же, что и в [2] проблему организации защищенного от перехвата злоумышленником канала доставки пароля. Кроме того, на пользователя возлагается обязанность хранения пароля с целью защиты от несанкционированного доступа (НСД) со стороны посторонних лиц, что дополнительно усложняет способ.
Наиболее близким к предлагаемому техническому решению и выбранным вследствие этого в качестве прототипа является способ распределения ключей [1, с.40], по которому на ЦРК для каждого пользователя i=1, 2..., S формируют секретный ключ Zi , передают по защищенному каналу этот ключ пользователю i, при необходимости организации связи между пользователями i и j от инициатора связи по открытому каналу связи передают запрос на ЦРК с требованием секретного ключа для связи, на ЦРК принимают запрос и формируют новый секретный ключ Zij, зашифровывают сообщение сначала на ключе Zi и передают его пользователю i, а затем на ключе Zj и передают его пользователю j, пользователи принимают зашифрованные сообщения, расшифровывают их и получают секретный ключ Zij для шифрования и дешифрования последующих сообщений, передаваемых между пользователями.
Недостаток способа-прототипа заключается в его большой сложности, обусловленной необходимостью организации защищенного канала связи для доставки ключей пользователям, хранения, надежного стирания и защиты их от НСД на объектах пользователя.
Кроме того, в случае компрометации объекта необходимо повторно организовывать защищенные каналы связи для доставки новых ключей Zi на скомпрометированные объекты, что связано не только с материальными, но и временными затратами, особенно значительными при большом территориальном разнесении объектов.
Задачей предлагаемого способа является уменьшение затрат на организацию доставки и хранения криптографических ключей пользователям.
Технический результат, достигаемый предлагаемым способом, заключается в передаче пользователю криптографических ключей, преобразованных с помощью биометрических параметров этого пользователя в нейросеть, по открытому каналу связи.
Указанный технический результат достигается тем, что в известном способе распределения ключей в большой территориально разнесенной системе, включающем операции генерирования в центре ключа для каждого пользователя и доставки его на объект пользователя, в центр однократно доставляют биометрические образы пользователей, в центре запоминают эти образы и для каждого пользователя формируют структуру связей исходной искусственной нейросети, запоминают эту структуру связей нейросети и после генерации ключа пользователя обучают нейросеть таким образом, чтобы при подаче на ее вход биометрического образа пользователя она порождала на своих выходах сгенерированный ранее ключ пользователя, после чего обученную таким образом нейросеть по открытым каналам связи доставляют на объект пользователя, где запоминают ее и используют для формирования ключа путем подачи на ее вход пользователем своего биометрического образа, а при необходимости смены ключа у пользователя в центре генерируют новый ключ, заново обучают исходную искусственную нейросеть на новом ключе и доставляют по открытому каналу связи переобученную нейросеть на объект пользователя, где ее запоминают и используют для получения нового ключа.
Доставка и смена ключей по предлагаемому способу осуществляется следующим образом.
На ЦРК для каждого пользователя большой территориально-разнесенной системы генерируют криптографический ключ (в дальнейшем просто ключ) в соответствии с правилами генерирования ключей, например на основе физического датчика случайных чисел, описанного в [4] и по существу представляющего генератор шума, вырабатывающий случайную последовательность логических нулей и единиц, из которой формируют ключ.
Пользователь однократно, возможно даже единожды в течение своей жизни, доставляет на ЦРК лично или по защищенному от противника каналу связи свои биометрические образы, например он на ЦРК 12÷16 раз воспроизводит своим рукописным почерком свой пароль (обычно это легко запоминаемый пароль из 5÷6 букв, например слово «Пенза»), как это изложено в [5].
Биометрические образы (12÷16 штук) в виде кривых динамики изменения координат пера при рукописном воспроизведении пароля преобразовывают в цифровую форму и запоминают в виде 12÷16 файлов, и далее хранят в ЦРК. Возможна также передача в ЦРК биометрических образов в цифровом виде. После формирования и запоминания биометрических образов на ЦРК формируют исходную искусственную нейросеть, при этом задают число слоев, число входов и выходов нейросети, число нейронов и число связей в каждом слое, случайные веса каждой связи.
Число слоев в нейросети и число связей нейронов в каждом слое выбирается исходя из заданной надежности хранения (упаковки) ключа в нейросети (в данный момент разрабатывается проект РД «Требования к системам высоконадежной биометрико - нейросетевой аутентификации», который и будет регламентировать эти требования).
Число входов нейросети выбирается ровно столько, сколько параметров биометрического образа человека учитывается, например в [5] для одного варианта нейросети число ее входов выбрано равным 630, для другого 828.
Для рассматриваемого в настоящей заявке примера пароля «Пенза» использовано разбиение кривых динамики положения пера на локальные участки между локальными максимумами с последующим вычислением 16 коэффициентов Фурье, при этом для упомянутого выше пароля из 5 букв система анализа двух координат учитывает порядка (16×5×2)=160 параметров (частных коэффициентов Фурье). Если система учитывает еще и давление пера, то число параметров увеличивается на (16×5)=80 и составляет в сумме 240 параметров. Уточненные значения параметров получаются после анализа 12÷16 рукописных образов пароля пользователя.
Число выходов нейросети совпадает с длиной хранимого в нейросети ключа, равного, например, 256 битам.
В настоящее время не существует универсального метода подбора весов, который гарантировал бы наилучшую начальную точку для любой решаемой задачи. Поэтому на практике чаще всего применяют случайный подбор весов с равномерным распределением значений в заданном интервале [6, с.86, 87].
Из существующих методов хранения нейронных сетей, описанных, например, в [7, с.70-73], наиболее пригодным является метод хранения сети виртуальных нейронов, размещаемых в памяти программируемого универсального или специализированного вычислительного устройства, используемого для моделирования таких сетей - нейронного компьютера.
Пример реализации нейрокомпьютера для хранения сети виртуальных нейронов и моделирования ее приведен в [8], где на фиг.1 приведен фрагмент сети виртуальных нейронов, на фиг.2 - численное представление параметров и структуры указанной сети в блоках оперативной памяти нейронного компьютера, на фиг.3 - структурная схема нейрокомпьютера.
Согласно этому примеру нейронный компьютер содержит процессор для вычисления параметров элементов сети виртуальных нейронов, магистраль и соединенные посредством указанной магистрали память узлов для хранения параметров каждого виртуального нейрона сети, память связей для хранения параметров соединений каждого нейрона и память ссылок для хранения адресов нейронов, с которыми соединен каждый нейрон.
Пример конкретного распределения оперативной памяти для реализации памяти узлов, памяти связей и памяти ссылок приведен на фиг.2 [8].
Работа нейрокомпьютера осуществляется под управлением ЭВМ, к системной магистрали которой он подключен через блок сопряжения. Эта ЭВМ реализует алгоритм обучения нейросети на биометрических образах пользователя.
При обучении используется стратегия так называемого «обучения с учителем» [6, с.25], при котором подбор весовых коэффициентов (весов связей нейронов) должен быть организован так, чтобы фактически выходные сигналы нейрона в выходном слое принимали значения, равные значениям ключа (вектора учителя).
При обучении многослойной сети с использованием упомянутой выше стратегии возможно применение любого известного метода обучения из этого класса, например может быть использован алгоритм обратного распространения ошибки [6, с.51] или итерационный метод минимизации [6, с.68-69]. Обучение нейросети с использованием алгоритма обратного распространения ошибок достаточно подробно изложено в [9, раздел 2.4.2], где на рис.2.11 представлена укрупненная блок-схема алгоритма, на рис.2.22 и рис.А.3 приложения А - примеры реализации с конкретными числовыми значениями. Следует отметить, что уже давно известны многочисленные программы обучения нейросети [6, с.71], поэтому при изложении предлагаемого способа метод обучения нейросети имеет второстепенное значение. Он может быть как хорошо известным, например, из перечисленных выше, так и содержать оригинальные отличия. Главное состоит в том, что этот метод должен позволять автоматически без участия человека формировать искусственную нейросеть, в нашем случае с 160 (240) входами и 256 выходами, связывающую 12-16 входных биометрических образов пользователя с его ключом, длиной 256 бит.
Процессор при предъявлении каждого из 12-16 биометрических образов в соответствии с принятым алгоритмом обучения вычисляет значения параметров нейросети, которые по магистрали заносятся в оперативную память. При предъявлении следующего биометрического образа вычисляются новые уточненные значения параметров, которые заносятся в те ячейки оперативной памяти, в которых хранятся значения параметров, полученных на предыдущем этапе. Цикл обучения повторяется многократно на всех 12-16 образах так, чтобы достичь устойчивого их преобразования в заданный ключ. После последнего этапа обучения будет сформирована обученная нейросеть, хранящаяся в ячейках оперативной памяти, настроенная на биометрический образ и ключ пользователя.
После обучения информацию об обученной нейросети из этих ячеек памяти считывают, запоминают в постоянной памяти (на жестком диске) и передают по открытому каналу связи, например, в форме сообщения, содержащего служебную часть в виде сигналов синхронизации и адресной информации и собственно информацию о нейросети.
При передаче нейросети по каналу связи с ошибками операция доставки может включать в себя операции кодирования информации о нейросети на передающей стороне (в центре) корректирующим ошибки кодом и декодирования на приемной стороне (на объекте пользователя).
На объекте пользователя принимают эту информацию и запоминают в памяти, например, на жестком диске ПЭВМ, где также хранится программа нейросетевого преобразования, аналогичная программе, хранящейся в ЦРК. При необходимости пользователь своим почерком на графическом планшете воспроизводит известный ему слово-пароль. Планшет преобразует колебания пера в электрические сигналы, которые преобразуются в цифровую форму и запоминаются в памяти ПЭВМ [5]. После этого программное обеспечение вычисляет коэффициенты Фурье по кривым колебания пера и подает значения этих коэффициентов на вход эмулятора нейросети. На выходах программного эмулятора нейросети появляется ключ пользователя, который и используется в дальнейших криптопреобразованиях.
При необходимости смены ключа в ЦРК генерируют другой ключ, извлекают из памяти биометрические образы пароля пользователя и вновь обучают исходную нейросеть преобразовывать эти биометрические образы в новый ключ. После обучения доставляют новую нейросеть пользователю по открытому каналу связи, приняв эту нейросеть, пользователь уничтожает старую нейросеть с растворенным в ней старым ключом, запоминает новую нейросеть с новым ключом и начинает использовать ее для выработки нового ключа в соответствии с первым пунктом формулы изобретения.
По второму пункту формулы изобретения перед посылкой новой нейросети по открытому каналу связи ее предварительно шифруют на старом ключе, растворенном в старой нейросети.
Таким образом, при осуществлении предлагаемого способа получаем новый механизм распределения ключей по открытому каналу связи, отказываясь тем самым от использования защищенного канала связи, что приводит к уменьшению затрат на организацию доставки ключей, а также упрощает надежное хранение ключа пользователя.
Кроме того, так как биометрический образ и ключ вырабатываются при личном участии пользователя и только на время передачи и приема информации, хранение которой в объекте можно осуществлять в засекреченном виде, то компрометация объекта (в отсутствие пользователя) не дает возможность злоумышленнику получить ключ и тем самым переданную или принятую на этом ключе информацию. Дополнительно отсутствие ключа на объекте снижает требования к режимности этого объекта, так как последний необходимо охранять только с точки зрения материальной ценности объекта, а не с точки зрения секретности, что в конечном счете снижает затраты на эксплуатацию объекта.
Так как предлагаемый способ использует для передачи ключа, растворенного в нейросети, открытые каналы связи, число которых, как правило, больше, чем закрытых, то появляется возможность более быстрой и практически с любой периодичностью смены ключей, что очень важно с точки зрения уменьшения потерь информации в случае, когда злоумышленником будет получен каким-либо образом ключ. При частой смене ключа злоумышленнику может просто не хватить времени и материальных ресурсов для организации вычисления нового ключа.
В случае компрометации биометрического образа одного из пользователей только этот пользователь доставляет свои новые биометрические образы в центр для переучивания своей нейронной сети. Все остальные пользователи системы не чувствуют неудобства от компрометации биометрических образов одного пользователя. В отличие от этого в известных способах восстановления ключевой сети необходимо доставить новые ключи всем пользователям, имеющим связь с скомпрометированным пользователем.
При компрометации ключа пользователя, но не его биометрического образа, ЦРК меняет ключи всем связанным с ним пользователям через переучивание их нейронных сетей. При этом все пользователи не чувствуют смену ключей, связывающих их с одним пользователем, чей ключ скомпрометирован. Так как пользователи не ощущают процедуру смены ключей их можно менять очень часто, что повышает стойкость системы. Следует подчеркнуть, что в качестве биометрического образа, преобразуемого нейронной сетью в ключ, может быть использован любой нечеткий биометрический образ пользователя. Например, это может быть голосовая фраза или клавиатурный почерк, или расстояния между характерными точками рисунка отпечатка пальца.
В настоящее время в ФГУП "ПНИЭИ" создан действующий макет системы, реализующий способ обучения двухслойной нейросети с 256 выходами за время менее 1 минуты на обычном компьютере. Вероятность правильного получения ключа при входном образе «Свой» Р=0,96. Вероятность случайного получения ключа при случайном входном воздействии на нейросеть Р=10 -20 для среднестатистического пользователя, воспроизводящего рукописный пароль из 5 букв. Увеличение длины хранимого нейросетью ключа и рост числа слоев нейросети приводят к росту стойкости нейросетевого хранителя, к попыткам случайного подбора рукописного образа. Методы извлечения ключа или рукописного образа из параметров нейросети в настоящий момент неизвестны.
Таким образом, предложенный способ обеспечивает следующие технические результаты:
1. Доставку и смену ключей по открытым каналам связи.
2. Хранение ключей, растворенными в нейросети, из которой невозможно их получение без биометрического образа пользователя.
3. Быстрое восстановление сети в случае компрометации одного или нескольких абонентов.
4. Снижение требований к степени режимности объекта пользователя, что в конечном итоге приводит к решению поставленной задачи по уменьшению затрат на организацию передачи секретной информации.
Список использованных источников
1. Дж.Л.Мэсси. «Введение в современную криптологию». ТИИЭР, т. 76, №5. Май 1988, с.40.
2. Патент США №5412722, МПК H 04 L 9/14.
3. Патент ЕПВ №0334503, МПК H 04 L 9/00.
4. «Диоды и транзисторы» под ред. Чернышева А.А., М., Энергия, 1980, с.145.
5. А.И.Иванов и др. «Способ идентификации личности по особенностям подписи». Патент РФ №2148274, МПК G 06 K 9/22.
6. С.Осовский «Нейронные сети для обработки информации». М., Финансы и статистика, 2002.
7. Н.М.Амосов, Т.Н.Байдык «Нейрокомпьютеры и интеллектуальные роботы». Киев, Наукова думка, 1991, с. 70-73.
8. О.В.Прогаров «Способ хранения сети виртуальных нейронов и нейронный компьютер для его осуществления». Патент РФ №2158023, МПК G 06 F 12/06.
9. Р.Калан «Основные концепции нейронных сетей». Издательский дом «Вильяме». М., Санкт-Петербург, Киев, 2003.
Класс G06F12/14 защита от обращений к памяти посторонних пользователей
Класс G06F15/18 с модификацией программ, осуществляемой самой машиной в соответствии с опытом, накопленным машиной за время полного цикла работы; самообучающиеся машины
Класс G06N3/02 использующие модели нейронных сетей