Перейти к содержанию

Приёмочные испытания встроенного ГОСТ

Техническая приёмка включает четыре уровня: конфигурация ядра, регистрация алгоритмов, реальные вычисления и использование прикладной подсистемой (например, dm-crypt). Каждая проверка отвечает на отдельный вопрос.

1. Проверка текущей версии и встроенной конфигурации

uname -r
KVER=$(uname -r)
grep '^CONFIG_CRYPTO_NICEOS_GOST' "/boot/config-$KVER"
grep '^CONFIG_CRYPTO_STREEBOG=y' "/boot/config-$KVER"
grep '^CONFIG_CRYPTO_ECRDSA=y' "/boot/config-$KVER"

2. Проверка регистрируемых имён

В /proc/crypto найдите kuznyechik, magma, gosthash94, streebog256, streebog512, ecrdsa и необходимые варианты ГОСТ 28147. Для встроенных реализаций ожидается module : kernel.

3. Round-trip через AF_ALG

Используйте контрольный Python-пример для cbc(kuznyechik) и xts(kuznyechik): шифрование должно изменить данные, а обратное преобразование — вернуть точные входные байты. Успешный round-trip дополняется испытаниями известными тестовыми векторами из стандартов.

4. Реальный LUKS2 и dm-crypt

Создайте на отдельном файле-образе LUKS2 с kuznyechik-xts-plain64, выполните запись через ext4, закройте и повторно откройте том. Контрольная сумма записанного файла должна совпасть с эталоном. Предыдущие испытания подтвердили эти операции на НАЙС.ОС; после перехода на ядро со встроенным ГОСТ выполните их повторно для контроля совместимости.

5. Проверка ранней загрузки

Для системного зашифрованного диска убедитесь, что ядро имеет встроенный «Кузнечик», а initramfs содержит cryptsetup-окружение, устройство ввода пароля и необходимые драйверы диска. Алгоритм «Кузнечик» проверяется через конфигурацию и реестр ядра, а не через список файлов initramfs.

Дополнительная проверка защиты модулей

Для администратора доступны безопасные команды проверки подписи модуля; испытания запрета неподписанных драйверов выполняйте только в отдельной виртуальной машине.

6. Отрицательные тесты

  • Неверный пароль к LUKS2 должен отклоняться.
  • Искажённые данные после шифрования и расшифрования не должны совпадать с исходным эталоном.
  • Отсутствие разрешения на ключ или неправильный IV для AF_ALG должно возвращать диагностическую ошибку.
  • Старая запись загрузчика не должна ошибочно приниматься за новую версию ядра.

До перевода защищённого системного диска в рабочую эксплуатацию выполните контрольное восстановление на копии тома и подтвердите наличие аварийного пути загрузки.