Способ формирования ключа между узлами вычислительной сети с использованием системы квантового распределения ключей
METHOD OF GENERATING A KEY BETWEEN NODES OF A COMPUTER NETWORK USING A QUANTUM KEY DISTRIBUTION SYSTEM

Область техники, к которой относится изобретение
Предполагаемое изобретение относится к области квантовой криптографии, а именно к формированию симметричного ключа между двумя узлами вычислительной сети с системой квантового распределения ключей.
Уровень техники
Системы квантовой криптографии - вычислительные системы, используемые для генерации идентичной последовательно нулей и единиц на двух концах квантового канала. Получаемая последовательность используется для формирования секретного симметричного ключа, называемого квантовым ключом, обладающего теоретико-информационной стойкостью и неизвестного потенциальному нарушителю.
Однако, истинный квантовый ключ возможно получить только на концах одного квантового канала, имеющего ограниченную длину. Одним из способов увеличения расстояния между узлами, для которых надо сформировать симметричный ключ, является последовательное соединение систем квантовой криптографии в вычислительную сеть. При таком удлинении на каждом участке сети генерируется истинный квантовый ключ с последующей генерацией симметричного квантового ключа между требуемыми удаленными узлами вычислительной сети.
Известен способ формирования симметричного ключа между двумя узлами сети с использованием квантового распределения ключей (патент РФ №2621605, приоритет от 02.10.2015 г.). Сеть квантового распределения ключей (КРК), включает в себя, по меньшей мере, две локальные сети с КРК, соединенные волоконно-оптическим каналом связи, причем каждая вышеупомянутая локальная сеть содержит, по меньшей мере, один сервер и, по меньшей мере, одну клиентскую часть, причем сервер включает, по меньшей мере, одну передающую серверную часть и, по меньшей мере, одну вспомогательную клиентскую часть, логически связанную с серверной передающей частью на узле.
При этом способ синхронизации ключей между клиентами, расположенными в разных локальных сетях с квантовым распределением ключей, включает в себя:
осуществление процесса квантового распределения общего секретного ключа между первым клиентом и первым сервером, которые соединены между собой волоконно-оптическим каналом связи и расположены в первой локальной сети, при этом формируется общий ключ K1;
осуществление процесса квантового распределения общего секретного ключа между вторым клиентом и вторым сервером, которые соединены между собой волоконно-оптическим каналом связи и расположены во второй локальной сети, при этом формируется общий ключ K3;
осуществление процесса квантового распределения общего секретного ключа между первым сервером и вспомогательным клиентом второго сервера, которые соединены между собой волоконно-оптическим каналом связи, при этом формируется ключ K2;
После чего первый сервер просматривает позиции ключей K1 и K2 и отправляет первому клиенту номера позиций в ключе K1, значения которых не совпали со значениями в ключе K2.
Первый клиент получает номера несовпавших позиций и формирует ключ K21 путем инвертирования в ключе K1 вышеуказанных несовпавших позиций.
После чего второй сервер просматривает позиции ключей K3 и K2 и отправляет второму клиенту номера позиций в ключе K3, значения которых не совпали со значениями в ключе K2.
Второй клиент получает номера несовпавших позиций и формирует ключ K22 путем инвертирования в ключе K3 вышеуказанных несовпавших позиций.
Данный способ имеет следующие недостатки.
Формирование симметричного ключа между крайними узлами (клиентами из локальных подсетей) происходит с передачей существенного объема информации о квантовых ключах, что позволяет проводить атаки, которые основаны на сборе статистики по побочным каналам.
Также процесс формирования симметричного ключа основан на сравнении с опорным ключом K2, что затрудняет масштабируемость сети и позволяет формировать симметричный ключ только между узлами из разных подсетей.
Известен также способ формирования симметричного ключа с использованием системы КРК (Tajima A. et al. Quantum key distribution network for multiple applications, Quantum Science and Technology, 2017, v. 2, №3, статья по адресу: http://iopscience.iop.org/article/10.1088/2058-9565/aa7154/meta).
Для формирования квантового ключа между двумя удаленными узлами используется цепь последовательно соединенных узлов, имеющими в составе входной и выходной модули аппаратуры КРК. Сначала генерируются квантовые ключи между всеми последовательно соединенными узлами в цепочке. Затем в качестве требуемого квантового ключа принимается полученный квантовый ключ между первым и вторым узлом цепочки.
После этого осуществляется передача квантового ключа до последнего узла цепочки следующим способом:
Начиная со второго узла цепочки передаваемый ключ смешивается с квантовым ключом между текущим и следующим узлом цепочки с помощью операции XOR (исключающее ИЛИ) с использованием шифра типа одноразовый блокнот. Полученное зашифрованное сообщение посылается в следующий узел цепочки. Далее зашифрованное сообщение расшифровывается с помощью шифра типа одноразовый блокнот на квантовом ключе между текущим и предыдущим узлом цепочки. В результате, на промежуточном узле цепочки получается передаваемый квантовый ключ в явном виде.
Такая передача повторяется до тех пор, пока передаваемый квантовый ключ не окажется на последнем узле цепочки. В результате, на первом и последнем узле получается идентичный симметричный квантовый ключ.
Известный способ принят за прототип.
Однако, известный способ имеет недостатки.
Перед очередной пересылкой на каждом узле сети КРК необходимо расшифровывать и зашифровывать один и тот же квантовый ключ, в результате чего ключ появляется в открытом виде на каждом узле, что делает возможным случайное или преднамеренное получение передаваемого ключа злоумышленником при получении им доступа к любому узлу, в связи с чем передаваемый ключ может оказаться скомпрометированным.
При этом в качестве квантового ключа выбирается один из сформированных квантовых ключей, что снижает защищенность передаваемого ключа за счет возможности проведение атак, которые основаны на сборе статистики по побочным каналам, и утечки дополнительной информации о передаваемом ключе злоумышленнику во время непосредственно выработки квантового ключа между первым и вторым узлом.
Помимо этого, не обеспечивается возможность использования разных алгоритмов шифрования на каждом промежуточном звене.
Раскрытие изобретения
Техническим результатом является
1) повышение защищенности передаваемого ключа,
2) возможность использования разных алгоритмов шифрования на каждом участке вычислительной сети,
3) снижение возможности проведения атак, основанных на сборе статистики по побочным каналам.
Для этого предлагается способ формирования ключа между узлами вычислительной сети с использованием системы квантового распределения ключей, причем в сети установлены
последовательно соединенные М узлов, причем
- каждый узел включает
входной и выходной модули аппаратуры квантового распределения ключей, выполненные с возможностью формирования квантовых ключей в результате выполнения установленного протокола квантового распределения ключей,
модуль обработки информации;
входной модуль одного узла и выходной модуль предыдущего узла связаны квантовым каналом связи, выполненным в виде оптоволоконной линии;
модуль обработки информации связан с входным и выходным модулями, цифровой сетью передачи данных и выполнен с возможностью
принимать данные,
генерировать случайные числа,
зашифровывать данные,
расшифровывать данные,
передавать данные;
способ заключается в том, что
формируют ключ K в модуле обработки первого узла на основе случайного числа;
генерируют квантовые ключи между всеми узлами в последовательности узлов;
зашифровывают ключ К с помощью выбранного алгоритма шифрования в модуле обработки первого узла на квантовом ключе между первым и вторым узлом, получая исходное сообщение;
передают исходное сообщение из первого узла во второй узел через цифровую сеть передачи данных;
вычисляют n=2;
(А) если n=2, то
принимают исходное сообщение на узле n;
зашифровывают исходное сообщение с помощью выбранного алгоритма шифрования в модуле обработки на узле n на квантовом ключе между узлами n и n+1, получая промежуточное сообщение,
иначе
принимают выходное сообщение на узле n;
зашифровывают выходное сообщение с помощью выбранного алгоритма шифрования в модуле обработки на узле n на квантовом ключе между узлами n и n+1, получая промежуточное сообщение,
расшифровывают промежуточное сообщение с помощью выбранного алгоритма шифрования в модуле обработки на узле n на квантовом ключе между узлами n и n-1, получая выходное сообщение;
передают выходное сообщение из узла n в узел n+1 через цифровую сеть передачи данных;
вычисляют n=n+1;
если n≠М, то переходят к этапу А;
принимают выходное сообщение на узле М;
расшифровывают выходное сообщение с помощью выбранного алгоритма шифрования в модуле обработки на узле М на квантовом ключе между узлом М - 1 и узлом М, получая ключ K.
Для повышения защищенности передаваемого квантового ключа К на промежуточных узлах используются коммутативные шифры, позволяющие осуществлять специальный порядок преобразований, в результате которого промежуточное сообщение оказывается отличным от передаваемого ключа К.
Коммутативный шифр - шифр для которого выполняется свойство:
где  - функция расшифрования на ключе ,
- функция зашифрования на ключе ,
- используемый ключ шифрования,
Х - сообщение.
В качестве таких шифров могут использоваться, по меньшей мере следующие: шифр типа одноразовый блокнот, поточный алгоритм шифрования (кроме само синхронизирующихся поточных алгоритмов шифрования), блочный алгоритм шифрования (любой) в режиме гаммирования, блочный алгоритм шифрования (любой) в режиме связи по выходу (OFB).
В результате, согласно предложенному способу, на промежуточный узел, допустим, без ограничения общности, узел 2, поступает зашифрованное сообщение
Здесь и далее  - это квантовый ключ между узлами i и j.
В результате первого преобразования получают промежуточное сообщение
Нетрудно показать, что, в общем случае, .
Затем в результате второго преобразования получают для передачи на следующий узел выходное зашифрованное сообщение
В силу свойства (1) для применяемых алгоритмов шифрования, можно показать, что
Таким образом, на рассматриваемом узле 2 никогда не появляется в незашифрованном виде ключ K, следовательно, повышается защищенность передаваемого ключа.
Более того, за счет формирования квантового ключа К непосредственно на первом узле и отсутствия взаимной информации между этим ключом К и квантовыми ключами между соседними узлами сети достигается снижение информации, доступной злоумышленнику для проведения атак по побочным каналам.
На различных участках вычислительной сети можно использовать различные алгоритмы шифрования, удовлетворяющие свойству (1). Выбор алгоритма шифрования для конкретного участка может производиться исходя из скорости генерации квантовых ключей на данном участке, а также требуемой стойкости шифрования. Выбор алгоритма шифрования производится до начала формирования симметричного ключа.
Краткое описание чертежей
На фигуре графического изображения показана схема вычислительной сети с использованием системы квантового распределения ключей.
Использованы следующие обозначения:
1 - входной модуль аппаратуры КРК,
2 - выходной модуль аппаратуры КРК,
3 - модуль обработки информации,
4 - квантовый канал связи на основе оптоволокна,
5 - канал цифрой сети передачи данных.
Осуществление изобретения
Для реализации предложенного способа надо сначала сформировать вычислительную сеть с узлами, содержащими входной, выходной модули аппаратуры КРК, соединенные последовательно квантовым каналом, и модули обработки информации, связанные последовательно через цифровую сеть передачи данных.
В качестве входного и выходного модулей аппаратуры КРК можно, например, использовать известную однопроходную систему КРК (патент РФ №2665249).
Входной модуль аппаратуры КРК должен быть связан с выходным модулем аппаратуры КРК предыдущего узла оптоволоконной линией.
На каждом узле необходимо установить модуль обработки информации с возможностью принимать, передавать, обрабатывать данные и генерировать случайное число. Для модуля обработки информации используем процессор общего назначения Intel Core i7 с операционной системой Linux. Для обеспечения связи через цифровую сеть передачи данных используется, например, ПО ОС Linux.
В качестве протокола КРК может применяться любой протокол с фазовым кодированием, например, протокол ГОКС (Молотков С.Н. О стойкости волоконной квантовой криптографии при произвольных потерях в канале связи: запрет измерений с определенным исходом // Письма в Журнал экспериментальной и теоретической физики, т. 106, 2014).
Для простоты описания осуществления изобретения в качестве алгоритма шифрования выберем одноразовый блокнот. Тогда функции зашифрования и расшифрования сообщения X на ключе k будут иметь вид:
Схематичное изображение используемой сети представлено на фигуре графического изображения.
После сформирования программно-аппаратной части можно выполнить предложенный способ.
Используя генератор случайных чисел первого узла, находящийся, например, в выходном модуле аппаратуры КРК, формируют ключ К, например, длиной 256 бит.
i,(i+1)
Затем генерируются квантовые ключи k длиной 256 бит для i от 1 до М - 1, при условии, что в сети последовательно соединены М узлов.
Осуществляется формирование зашифрованного сообщения
и передача данного сообщения на второй узел сети.
Начиная со второго узла, производится вычисление промежуточного сообщения
и дальнейшее вычисление выходного сообщения
i
M-1
M-1
Затем сформированное сообщение C передают на следующий узел i+1. Вычисление и передача выполняется для i от 2 до М - 1, т.е. до передачи сообщения C на последний узел М. На данном узле производится расшифрование полученного сообщения C, т.е. операция
и на узле М получают ключ K, сформированный на первом узле.