Приёмочные испытания встроенного ГОСТ¶
Техническая приёмка включает четыре уровня: конфигурация ядра, регистрация алгоритмов, реальные вычисления и использование прикладной подсистемой (например, 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 должно возвращать диагностическую ошибку.
- Старая запись загрузчика не должна ошибочно приниматься за новую версию ядра.
До перевода защищённого системного диска в рабочую эксплуатацию выполните контрольное восстановление на копии тома и подтвердите наличие аварийного пути загрузки.