Способ обеспечения криптографической защиты информации в сетевой информационной системе
METHOD OF PROVIDING CRYPTOGRAPHIC PROTECTION OF INFORMATION IN A NETWORK INFORMATION SYSTEM

Область техники, к которой относится изобретение
Предполагаемое изобретение относится к сетевым информационным системам и может быть использовано для обеспечения криптографической защиты информации.
Уровень техники
В настоящий момент в промышленных информационных системах широко распространены счетчики, датчики и др. устройства, использующие микроконтроллеры и включенные в сеть. Данные и сигналы от этих устройств могут использоваться при управлении различными технологическими процессами, нарушение которых может привести к негативным последствиям. Однако, зачастую в устройствах и в сети полностью отсутствует защита информации. Поэтому требуется защитить информацию, которой обмениваются эти устройства.
Этому препятствуют следующие факторы:
низкая вычислительная мощность устройств, которая не позволяет реализовать нужные криптографические функции;
необходимость использовать для защиты информации сертифицированные средства криптографической защиты информации (далее - СКЗИ).
Разработка и внедрение сертифицированного СКЗИ - сложный, трудоемкий и нехарактерный для производителя промышленных устройств процесс.
Превращение каждого промышленного устройства в сертифицированное СКЗИ значительно увеличит его стоимость, что может стать препятствием в автоматизации производства и замедлить процессы развития, повышения эффективности и экономического роста.
Известен способ доставки сертификатов в защищенной сетевой вычислительной системе (патент РФ №2665247, приоритет от 27.10.2017 г.), в котором доставляют сертификаты в сервер распространения доверенным способом; вносят сведения о сервере распространения в средство установки каждого компьютера пользователя; перехватывают на каждом компьютере с помощью средства установки все запросы к внешним по отношению к вычислительной системе удостоверяющим центрам на загрузку сертификатов; перенаправляют все перехваченные запросы к серверу распространения; передают сертификаты в ответ на запросы с помощью сервера распространения в компьютеры пользователей; принимают на компьютере пользователя с помощью средства установки сертификаты, полученные из средства распространения; устанавливают сертификаты на компьютере пользователя с помощью средства установки.
Недостатком известного способа является возможность работы только внутри закрытого контура, в то время как часто требуется наладить защищенный обмен данными между различными удаленными вычислительными системами.
Известны способ обеспечения удаленного криптографического сервиса клиентскому приложению в компьютерной системе (патент РФ №2630751, приоритет от 15.03.2013 г.), включающий
создание посредством модуля сервиса управления ключами, ассоциированного с компьютерной системой поставщика сервиса, ключа шифрования, причем ключ шифрования ассоциирован, по меньшей мере, с одним клиентским приложением из множества клиентских приложений, причем ключ шифрования используется поставщиком криптографического сервиса для шифрования данных приложения;
предоставление API (интерфейса прикладного программирования) поставщика криптографического сервиса множеству клиентских приложений, причем API поставщика криптографического сервиса выполнен с возможностью
доставлять запросы шифрования и запросы дешифрования поставщику криптографического сервиса и
доставлять шифрованные данные и дешифрованные данные множеству клиентских приложений;
получение посредством API поставщика криптографического сервиса запроса шифрования, по меньшей мере, от одного клиентского приложения, причем запрос шифрования включает в себя данные для конечного пользователя, по меньшей мере, одного клиентского приложения, причем запрос шифрования включает в себя, по меньшей мере, один параметр шифрования, заданный, по меньшей мере, одним клиентским приложением для использования при шифровании данных, и причем, по меньшей мере, один параметр шифрования идентифицирует тип шифрования и глубину шифрования;
шифрование данных, используя созданный ключ шифрования, тип шифрования, заданный посредством, по меньшей мере, одного клиентского приложения, и глубину шифрования, заданную посредством, по меньшей мере, одного клиентского приложения;
передачу посредством API поставщика криптографического сервиса зашифрованных данных, по меньшей мере, одному клиентскому приложению без передачи ключа шифрования, по меньшей мере, одному клиентскому приложению;
получение, по меньшей мере, от одного клиентского приложения запроса дешифрования, содержащего, по меньшей мере, часть параметров и зашифрованные данные, причем часть параметров задает тип шифрования, ассоциированный с зашифрованными данными, и глубину шифрования, ассоциированную с зашифрованными данными;
определение идентификационных данных, по меньшей мере, одного клиентского приложения, передающего полученное сообщение, на основании идентификационных данных и части параметров;
дешифрование зашифрованных данных на основании созданного ключа шифрования, типа шифрования и глубины шифрования; и
передачу дешифрованных данных обратно, по меньшей мере, одному приложению.
Компьютерная сетевая система, в которой реализуется способ, содержит сервер с устройством памяти, процессором и программным обеспечением (ПО), включающем API и модуль сервиса управления ключами, а также компьютеры пользователей, на которых установлены клиентские приложения.
Известный способ принимается в качестве прототипа.
Согласно известному способу, криптографические ключи пользователя хранятся не на стороне клиентского приложения, а на стороне сервиса. Это снижает уровень безопасности системы, т.к. позволяет сервису получать доступ к данным пользователя и в ряде случаев действовать от его имени, например, при использовании электронной подписи. В случае успешной атаки на сервер могут быть скомпрометированы ключи всех пользователей системы.
Раскрытие изобретения
Техническим результатом является:
1) снижение затрат для обеспечения информационной безопасности за счет выполнения ресурсоемких криптографических операций на сервере;
2) повышение надежности в целом из-за выполнения криптографических операций на стороне защищаемого сетевого устройства (ЗСУ);
3) повышение защищенности в целом из-за хранения ключей в самих ЗСУ.
Для этого предлагается способ обеспечения криптографической защиты информации в сетевой информационной системе, которая содержит
сервер распространения, причем сервер включает установленное на нем средство распространения, выполненное с возможностью
принимать запросы на передачу данных;
передавать данные в ответ на запрос;
генерировать случайные числа;
формировать криптографические ключи;
формировать запросы на передачу данных;
формировать сертификаты, каждый из которых содержит сведения об издателе сертификата и открытый ключ ключевой пары владельца сертификата;
формировать блоки данных в виде пакета данных;
генерировать ключевые пары, каждая из которых содержит один открытый и один закрытый ключи;
защищаемые сетевые устройства (ЗСУ), причем каждое ЗСУ включает средство обработки, выполненное с возможностью
принимать и обрабатывать данные, полученные от средства распространения и других ЗСУ;
генерировать ключевые пары, каждая из которых содержит один открытый и один закрытый ключи;
генерировать запрос на служебный сертификат ЗСУ;
генерировать запрос на прикладной сертификат ЗСУ;
формировать электронную подпись;
проверять ранее сформированную электронную подпись;
осуществлять проверку сертификата ключа электронной подписи;
зашифровывать данные;
расшифровывать данные; способ, заключающийся в том, что
определяют в средстве распространения список ЗСУ, которые должны обмениваться информацией;
выполняют в средстве распространения следующие действия
генерируют ключевую пару для корневого прикладного сертификата средства распространения;
создают корневой прикладной сертификат средства распространения;
генерируют ключевую пару для корневого служебного сертификата средства распространения;
создают корневой служебный сертификат средства распространения;
генерируют ключевую пару и запрос на служебный сертификат средства распространения;
создают служебный сертификат средства распространения, используя в качестве сертификата издателя корневой служебный сертификат средства распространения;
формируют для каждого ЗСУ пакет данных, содержащий
корневой служебный сертификат средства распространения;
корневой прикладной сертификат средства распространения;
служебный сертификат средства распространения;
множество случайных чисел;
доставляют доверенным способом пакет данных каждому ЗСУ из списка ЗСУ, которые должны обмениваться информацией;
получают в каждом ЗСУ пакет данных;
на каждом ЗСУ с помощью средства обработки выполняют следующие действия
генерируют ключевую пару;
создают запрос на служебный сертификат ЗСУ;
генерируют ключевую пару;
создают запрос на прикладной сертификат ЗСУ;
передают запросы на прикладной и служебный сертификаты ЗСУ в средство распространения;
формируют в средстве распространения для каждого ЗСУ служебный сертификат ЗСУ, используя в качестве сертификата издателя корневой служебный сертификат средства распространения, и прикладной сертификат ЗСУ, используя в качестве сертификата издателя корневым прикладной сертификат средства распространения;
передают из средства распространения в каждый ЗСУ подписанный пакет данных, который содержит служебный и прикладной сертификаты ЗСУ, используя для подписи пакета данных служебный сертификат средства распространения и соответствующий служебному сертификату средства распространения закрытый ключ ключевой пары;
получают на каждом ЗСУ пакет данных;
выполняют на каждом ЗСУ с помощью средства обработки следующие действия:
если в полученном пакете корневой служебный сертификат средства распространения указан в качестве издателя сертификата ключа электронной подписи и электронная подпись корректна, то
сохраняют прикладной и служебный сертификаты ЗСУ; иначе
отклоняют пакет данных,
передают из средства распространения в каждый ЗСУ из списка зашифрованный с использованием открытого ключа из служебного сертификата ЗСУ и подписанный с использованием закрытого ключа ключевой пары для служебного сертификата средства распространения,
пакет данных, содержащий набор прикладных сертификатов ЗСУ из списка;
получают в каждом ЗСУ пакет данных;
выполняют в каждом ЗСУ с помощью средства обработки следующие действия:
если в полученном пакете корневой служебный сертификат средства распространения указан в качестве издателя сертификата ключа электронной подписи и электронная подпись корректна, то
расшифровывают пакет с использованием закрытого ключа ключевой пары для служебного сертификата ЗСУ;
сохраняют прикладные сертификаты ЗСУ, с которыми данное ЗСУ будет обмениваться зашифрованными данными;
иначе
отклоняют пакет данных;
при необходимости, в каждом ЗСУ с помощью средства обработки
зашифровывают данные в адрес других ЗСУ с использованием прикладных сертификатов этих ЗСУ;
формируют электронные подписи с использованием собственного прикладного сертификата ЗСУ и соответствующего собственному прикладному сертификату ЗСУ закрытого ключа ключевой пары и отправляют их другим ЗСУ;
передают зашифрованные данные в виде пакетов другим ЗСУ;
принимают зашифрованные данные в виде пакетов от других ЗСУ;
если в полученных пакетах от других ЗСУ корневой служебный сертификат средства распространения указан в качестве издателя сертификата ЗСУ и электронная подпись корректна, то
расшифровывают данные от других ЗСУ с использованием закрытого ключа из ключевой пары для прикладных сертификатов этих ЗСУ;
используют расшифрованные данные по назначению;
иначе
отклоняют пакет данных;
при необходимости, выполняют в средстве распространения следующие действия:
формируют для каждого ЗСУ из списка отдельный пакет данных обновления, который может содержать:
множество случайных чисел;
корневой служебный сертификат средства распространения;
корневой прикладной сертификат средства распространения;
служебный сертификат средства распространения;
служебный сертификат ЗСУ;
прикладной сертификат ЗСУ;
служебные сертификаты ЗСУ из списка;
прикладные сертификаты ЗСУ из списка;
криптографические ключи;
отправляют в каждое ЗСУ из списка пакеты обновления, зашифрованные с использованием открытых ключей ключевых пар для служебных сертификатов ЗСУ и подписанные с использованием закрытого ключа ключевой пары для служебного сертификата средства распространения;
получают пакеты обновления в каждом ЗСУ;
если в полученном пакете обновления корневой служебный сертификат средства распространения указан в качестве издателя сертификата ключа электронной подписи и электронная подпись корректна, то
расшифровывают данные из пакета обновления с использованием закрытого ключа ключевой пары для служебного сертификата ЗСУ;
обновляют данные в каждом ЗСУ;
иначе
отклоняют пакет обновления.
Особенностью предложенного способа является то, что генерация случайных чисел осуществляется в средстве распространения (сервере), а затем массивы случайных чисел передаются для использования в ЗСУ.
1
2
n
Множество случайных чисел Е={е, е, … e}, n mod 32 = 0, должно быть сгенерировано с помощью криптографически стойкого генератора псевдослучайных чисел. Значение n выбирается исходя из количества ЗСУ и частоты генерации криптографических ключей. Псевдослучайные числа следует сгенерировать на средстве распространения в связи с высокой ресурсоемкостью данной операции и необходимостью использовать специальные сертифицированные программно-аппаратные средства.
p
s
Ключевая пара, содержащая открытый K и закрытый K ключи. В случае генерации ключевой пары для служебного или прикладного сертификата ЗСУ, блок случайных чисел, сгенерированный на средстве распространения, должен быть доставлен на ЗСУ, т.к. на ЗСУ отсутствует собственный криптографически стойкий генератор псевдослучайных чисел. Данный подход позволяет снизить затраты на оснащение ЗСУ, устраняя необходимость оснащения каждого ЗСУ собственным генератором псевдослучайных чисел.
Формируемые закрытые ключи ключевых пар не передаются за пределы устройства, на котором были сгенерированы. Таким образом, закрытые ключи ЗСУ не покидают ЗСУ, а закрытые ключи средства распространения не покидают средство распространения. Это позволяет исключить возможность компрометации ключей ЗСУ в случае компрометации средства распространения.
p
s
Имея ключевую пару K и K можно создать запрос на сертификат
s
где  - функция подписи с использованием секретного ключа K;
р
R - сведения о владельце открытого ключа и открытый ключ К.
Рекомендуется создавать запросы в формате PKCS#10 в связи с его широким распространением.
В ходе реализации предложенного способа осуществляется доставка доверенным способом пакета данных каждому ЗСУ из списка ЗСУ, которые должны обмениваться информацией. Такая доставка может быть выполнена одним из известных методов, например, с использованием обслуживающего персонала сети, с использованием сетевых протоколов с аутентификацией.
si
pi
Имея ключевую пару KK издателя, в качестве которого выступает средство распространения, и получив запрос на сертификат Р10, средство распространения может выпустить сертификат Crt:
где  - функция подписи с использованием секретного ключа издателя;
Р10 - полученный запрос на сертификат;
I - сведения об издателе сертификата.
Выпущенные средством распространения сертификаты могут передаваться по сети без предварительного шифрования (открытый канал).
o
Различные сетевые информационные системы могут подвергаться разным угрозам информационной безопасности, поэтому для конкретной системы обычно формируется модель угроз, и разрабатываются меры защиты. В случае, если модель угроз системы подразумевает возможность "Атаки посредника" [https://m.wikipedia.org/wiki/%D0%90%Dl%82%D0%B0%D0%BA/oD0%B0_%D0%BF%D0%BE%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D0%B8%D0%BA%D0%B0], в запрос на служебный сертификат ЗСУ, а также в запрос на прикладной сертификат ЗСУ, рекомендуется включить значение криптографической хэш-функции от множества случайных чисел, которые были ранее доставлены на ЗСУ доверенным способом. Это позволит при выпуске служебного или прикладного сертификата ЗСУ в средстве распространения убедиться, что запрос на сертификат поступил именно от того ЗСУ, на которое ранее был доставлен пакет от средства распространения.
Рекомендуется выпускать сертификаты в формате Х509, в связи с его широким распространением и поддержкой различными производителями.
1
sl
pl
pi
ЗСУ, владеющее собственной ключевой парой KK и открытым ключом средства распространения K, может формировать в адрес средства распространения зашифрованные и подписанные сообщения С:
где М - исходное сообщение;
sl
1
- функция подписи с использованием секретного ключа K ЗУ;
pi
- функция шифрования с использованием открытого ключа K средства распространения.
1
Эта операция позволит в средстве распространения определить, что сообщение подписано ЗСУ, что целостность сообщения не нарушена, и только после этого расшифровать его.
Рекомендуется использовать подпись в формате PKCS#7 при создании сообщения с электронной подписью, в связи с широким распространением PKCS#7.
1
p1
1
Средство распространения устанавливает отправителя сообщения с помощью функции , которая проверяет подпись зашифрованного и подписанного сообщения С и устанавливает соответствие с ЗСУ благодаря владению открытым ключом K ЗСУ. Функция  позволяет проверить, что целостность сообщения не была нарушена. В случае нарушения целостности сообщения функция укажет ошибку.
После успешной идентификации отправителя средство распространения может получить исходное сообщение М
si
где  - функция расшифрования с использованием секретного ключа K средства распространения.
1
2
3
n
Для отправки сообщения М от ЗСУ в адрес ЗСУ, ЗСУ, …, ЗСУ выполняется шифрование сообщения М, а затем подпись:
sl
1
где K - закрытый ключ ЗСУ;
pi
i
K - открытый ключ ЗСУ.
Как правило, в ходе использования защищенной сети периодически возникает необходимость в обновлении ключей шифрования и сертификатов. Такое обновление может быть осуществлено и в предложенном способе.
Для этого в средстве распространения, по истечении очередного периода обновления, формируются с помощью генератора случайных чисел массивы случайных чисел необходимого объема, которые затем, вместе со служебной информацией, в зашифрованном виде пересылаются в каждый ЗСУ.
После этого в каждом ЗСУ проводится новая генерация ключевых пар и сертификатов и обмен данными с другими ЗСУ, по окончании которого обмен данными уже будет проводиться с использованием других ключей.
Период обновления может быть выбран администратором сети и зависит от количества ЗСУ, производительности средства распространения и ряда других факторов.
В результате, повышается надежность и защищенность сети в целом.
Отсутствие необходимости устанавливать на каждом ЗСУ криптографически стойкий генератор псевдослучайных чисел, сертифицированный у регулятора, позволяет существенно снизить затраты для обеспечения информационной безопасности.
Осуществление изобретения
Реализацию предложенного способа можно рассмотреть на примере защищенной корпоративной сети охраны здания, включающей, например, 50 видеокамер наблюдения, подключенные к сети.
Средство распространения должно быть оборудовано криптографически стойким генератором псевдослучайных чисел, сертифицированным у регулятора. Например, это может быть устройство защиты от несанкционированного доступа и модуль доверенной загрузки - электронный замок "Соболь" [https://www.securitycode.ru/products/pak_sobol/].
В качестве ЗСУ используются, соответственно, видеокамеры, подходящие по параметрам и подключенные к сети.
Средство обработки, входящее в состав каждого ЗСУ, может быть реализована на базе микроконтроллера, например, STM32F427 [https://www.st.com/en/microcontrollers-microprocessors/stm32f427-437.html]. Для соединения средства обработки с ЗСУ можно использовать UART, SPI, 12C, USB, либо другие подходящие интерфейсы. ЗСУ должно обладать соответствующим интерфейсом для связи со средством обработки.
Средство обработки должно быть предварительно спроектировано и изготовлено, а ПО для его функционирования сформировано и встроено. Это могут выполнить специалисты по проектированию электронных устройств и программированию, на основе знания выполняемых функций и используемых выбранных интерфейсов. После изготовления и подготовки средства обработки встраиваются в ЗСУ.
В качестве доверенного канала между средством распространения и ЗСУ можно использовать доставку с привлечением обслуживающего персонала сети, сетевое соединение по протоколу TLS версии 1.2 и выше, с аутентификацией сервера и клиента, либо иной подходящий способ доверенной доставки.
В ходе выполнения способа выполняются с использованием средства распространения следующие действия:
генерация массива случайных чисел;
генерация ключевых пар средства распространения;
выпуск сертификатов средства распространения;
Эти действия могут выполняться автоматически с помощью ПО или вручную, например, администратором сети.
Затем формируется список ЗСУ, которые будут обмениваться данными между собой, и для каждого из ЗСУ формирует пакет. После этого, в зависимости от выбранного варианта, пакеты вручную выгружаются на внешний носитель и доверенным способом (с привлечением обслуживающего персонала) доставляются на соответствующее ЗСУ или передаются в ЗСУ по сети с использованием протокола TLS версии 1.2 и выше, с аутентификацией сервера и клиента. После доставки пакета на ЗСУ и загрузки в средство обработки, средство обработки получает возможность генерировать ключевые пары, т.к. теперь имеет массив случайных чисел.
Средство обработки посредством команды от ЗСУ генерирует ключевые пары и запросы на служебный и прикладной сертификаты. Сертификаты выгружаются по команде ЗСУ из средства обработки и доставляются на сервер распространения по сети, без шифрования. Запросы на сертификат принимаются в средство распространения, инициируют выпуск сертификатов по запросам, после чего формируются пакеты для каждого ЗСУ из списка, содержащий сертификаты. Затем сертификаты доставляются по сети каждому ЗСУ из списка и устанавливаются в средство обработки.
В результате выполнения описанных выше действий развертывается служебная ключевая система, позволяющая ЗСУ и средству обработки безопасно обмениваться данными по сети без криптографической защиты канала передачи данных, а также прикладная ключевая система, позволяющая ЗСУ обмениваться данными сети без криптографической защиты канала передачи данных с другими ЗСУ.
Для обновления ключевой системы, после окончания очередного периода обновления, в средстве распространения формируются пакеты обновлений, которые доставляются по сети без криптографической защиты канала передачи данных в ЗСУ и устанавливается в средства обработки.
Период обновления может быть заранее выбран и установлен администратором сети, зависит от требований безопасности и может составлять, например, 2-3 суток и менее.