понедельник, 11 сентября 2017 г.

ГАММА. Как перестать использовать БиоДСЧ и начать жить

Для работы средств криптографической защиты информации (СКЗИ) требуются случайные числа.

Для большей части случаев пригодны псевдослучайные числа, которые получаются программным способом. Программная генерация псевдослучайных чисел производится путём преобразований действительно случайных чисел, которые нужны в значительно меньшем объёме.

Случайные числа могут быть получены из следующих источников:



ФДСЧ - физический (иногда его называют аппаратный) датчик случайных чисел, который обычно входит в состав аппаратно-программных модулей доверенной загрузки – «Соболь», «Аккорд-АМДЗ», «Криптон-Замок» и т.д.;
БиоДСЧ – биологический ДСЧ, основанный на непредсказуемых параметрах реакции пользователя;

В продуктах С-Терра требуется предоставление случайных чисел при инициализации устройства и при создании долговременного ключа подписи. Если в системе присутствует поддерживаемый ФДСЧ, всё происходит автоматически, без участия пользователя. А если используется только БиоДСЧ, то требуется участие пользователя.

БиоДСЧ в КриптоПро CSP для Windows

БиоДСЧ в С-Терра Шлюз ST

Если устройств много, то постоянно двигать мышкой и нажимать клавиши становится довольно тяжело. Этому есть отличная альтернатива – внешняя гамма. Она представляет собой заранее сформированную последовательность случайных чисел. 

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

Далее рассмотрим варианты изготовления гаммы и примеры её использования в продуктах С-Терра.

Изготовление гаммы с помощью КриптоПро CSP


На компьютере с электронным замком «Соболь» должно быть установлено СКЗИ КриптоПро CSP класса защиты КС2 (далее на примере версии 4.0). В качестве ДСЧ должен быть указан Соболь.

Изготовление гаммы осуществляется утилитой genkpim.exe, которая входит в состав КриптоПро CSP. Утилита запускается из командной строки, запущенной с правами администратора, с аргументами: genkpim.exe y n <p>, где

y – необходимое количество отрезков гаммы (для создания закрытого ключа шифрования используется не менее 2 отрезков, поэтому рекомендуется задавать число отрезков не ниже 10 в тестовом варианте, и, например, 1000 в реальных условиях);
n – номер комплекта внешней гаммы (8 символов в 16-ричном коде), в общем случае любое шестнадцатеричное восьмизначное число, например 12345678;
<p> - путь сохранения файлов гаммы (обратите внимание, что необходимо указывать уже существующую директорию);

Пример использования утилиты: 

C:\Program Files (x86)\Crypto Pro\CSP>genkpim.exe 1000 12345678 C:\gamma\

В результате выполнения утилиты создается заданное число отрезков гаммы, длинною по 36 байт каждый (32 байта отрезка случайной последовательности и 4 байта CRC к отрезку). В каталоге, указанном в атрибуте <p>, будет создано два каталога с именами db1 и db2, содержащие по одному файлу kis_1, данные файлы идентичны и дублируются для повышения надежности.

Для автоматизации создания большого количества файлов гаммы можно использовать скрипты.

Изготовление гаммы с помощью утилиты от С-Терра


На компьютере с электронным замком «Соболь» или «Аккорд-АМДЗ» должен быть установлен S-Terra Client Admin Tool 4.2 ST.

Изготовление гаммы осуществляется утилитой egamma_gen.exe, которая входит в состав административного пакета. Утилита запускается из командной строки, запущенной с правами администратора, с атрибутами: egamma_gen -n <chunks number> -p <path>, где

<chunks number> – необходимое количество отрезков гаммы (для создания закрытого ключа шифрования используется не менее 2 отрезков, поэтому рекомендуется задавать число отрезков не ниже 10 в тестовом варианте, и, например, 1000 в реальных условиях);
<p> - путь сохранения файлов гаммы (обратите внимание, что необходимо указывать уже существующую директорию);

Пример использования утилиты: 

C:\Program Files (x86)\S-Terra Client AdminTool>egamma_gen.exe -n 1000 -p C:\gamma

В результате выполнения утилиты создается заданное число отрезков гаммы, длинною по 36 байт каждый. В каталоге, указанном в атрибуте <p>, будет создан единственный файл с именем eg_data.

Для автоматизации создания большого количества файлов гаммы можно использовать скрипты.

Импорт гаммы в систему управления С-Терра КП


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

На компьютере должны быть установлены С-Терра КП и КриптоПро CSP (далее на примере версий 4.2 и 4.0 соответственно). 

Нужно запустить КриптоПро CSP с правами администратора, далее перейти Hardware -> Configure RNGs. В открывшемся окне Random number generators control нажмите Add… 

В окне мастера установки нажимаем Next. Затем выбираем Crypto-Pro LLC -> Crypto-Pro Source Data


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

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

Также данный способ подходит для других продуктов С-Терра, использующих КриптоПро CSP: S-Terra Client Admin Tool CP и S-Terra Client CP.

Дополнительно на систему управления нужно добавить гамму в формате ST. Делается аналогично S-Terra Client Admin Tool ST, подробнее об этом в следующем пункте.

Импорт гаммы в S-Terra Client Admin Tool ST (для АРМ Администратора)


На компьютере должна быть установлена утилита S-Terra Client Admin Tool (далее на примере версии 4.2 ST).

Создаем директорию C:\ProgramData\s-terra\ext-gamma

Копируем в эту папку файл eg_data, созданный с помощью egamma_gen.exe.

Если гамма создавалась с помощью genkpim.exe, то копируем в указанную выше папку один из файлов, например kis_1, и переименовываем его в eg_data.



Теперь при формировании ключевой информации будет использоваться внешняя гамма.

Импорт гаммы для установки С-Терра Клиент на АРМ Пользователя


Перед установкой клиента (на примере 4.2 ST) действуем по аналогии с предыдущим вариантом.

Создаем директорию C:\ProgramData\s-terra\ext-gamma

Копируем в эту папку файл eg_data, созданный с помощью egamma_gen.exe.

Если гамма, создавалась с помощью genkpim.exe, то копируем в указанную выше папку один из файлов, например kis_1, и переименовываем его в eg_data.

Устанавливаем клиент из ранее созданного дистрибутива. При установке для инициализации будет использоваться внешняя гамма.

Импорт гаммы на С-Терра Шлюз


Копируем в директорию шлюза (на примере 4.2 ST) /var/s-terra/ext-gamma файл eg_data, созданный с помощью egamma_gen.exe.

Если гамма создавалась с помощью genkpim.exe, то копируем в указанную выше папку один из файлов, например kis_1, и переименовываем его в eg_data.

Теперь при инициализации и формировании ключевой информации будет использоваться внешняя гамма.

P.S. В версии 4.2ST появилась утилита excont_mgr set_gamma, которая может установить гамма-материал. При её использовании не требуется ручное копирование и переименование файлов.

P.P.S. Пример гаммы доступен по ссылке. ВНИМАНИЕ: она может быть использована исключительно в тестовых целях, использовать её в продуктивной среде категорически запрещается.

Комментариев нет:

Отправить комментарий