Программа Cryptographic Module Validation Program
Программа Cryptographic Module Validation Program (CMVP) — это совместная программа Национального института стандартов и технологий США (NIST) и Центра безопасности коммуникаций Канады (CSE), предназначенная для сертификации криптографических модулей на соответствие стандарту FIPS 140 (Federal Information Processing Standard). Программа обеспечивает независимую проверку и валидацию того, что программные и аппаратные криптографические модули соответствуют установленным требованиям безопасности, определённым в серии стандартов FIPS 140.
История и предпосылки создания
Предпосылки
До появления CMVP в США и других странах отсутствовала единая система оценки безопасности криптографических модулей. Различные государственные учреждения и коммерческие организации использовали собственные критерии, что затрудняло взаимное признание результатов и создавало риски для безопасности. В 1994 году NIST опубликовал первый стандарт FIPS 140 (FIPS 140-1), который устанавливал требования к криптографическим модулям, используемым в федеральных информационных системах США. Однако для практической реализации стандарта требовалась система валидации.
Создание программы
Программа CMVP была официально запущена в 1995 году как совместная инициатива NIST и CSE. Первоначально она базировалась на стандарте FIPS 140-1, который был заменён на FIPS 140-2 в 2001 году, а затем на FIPS 140-3 в 2019 году. Основной целью программы стало создание единого, прозрачного и авторитетного механизма проверки соответствия криптографических модулей требованиям безопасности.
Стандарты FIPS 140
FIPS 140-1 (1994–2001)
Первый стандарт серии, установивший четыре уровня безопасности (Security Level 1–4) для криптографических модулей. Уровни определяли требования к физической защите, управлению ключами, аутентификации и другим аспектам. Стандарт был ориентирован на аппаратные модули, но допускал и программные реализации.
FIPS 140-2 (2001–2019)
Наиболее широко используемый стандарт на протяжении двух десятилетий. Он расширил требования, добавив:
- Более строгие критерии для программных модулей (например, требования к защите от несанкционированного доступа к памяти).
- Уточнённые требования к криптографическим алгоритмам (включая AES, RSA, ECDSA, SHA).
- Требования к самопроверке модуля (self-tests) при запуске и в процессе работы.
- Требования к управлению ключами и защите от побочных каналов (side-channel attacks).
FIPS 140-3 (с 2019 года)
Текущая версия стандарта, основанная на международном стандарте ISO/IEC 19790:2012. Основные изменения:
- Унификация с международными требованиями.
- Уточнение требований к программным модулям (включая требования к операционной системе и гипервизору).
- Введение новых требований к защите от атак по времени и по энергопотреблению.
- Ужесточение требований к документации и тестированию.
Процесс сертификации
Этапы сертификации
- Разработка модуля: Производитель разрабатывает криптографический модуль в соответствии с требованиями FIPS 140.
- Выбор лаборатории: Производитель выбирает аккредитованную лабораторию из списка, утверждённого NIST и CSE. Лаборатории проходят аккредитацию по программе NVLAP (National Voluntary Laboratory Accreditation Program).
- Тестирование: Лаборатория проводит полное тестирование модуля на соответствие требованиям выбранного уровня безопасности. Тестирование включает:
- Проверку криптографических алгоритмов (через программу Cryptographic Algorithm Validation Program — CAVP).
- Проверку физической защиты (для аппаратных модулей).
- Проверку программной защиты (для программных модулей).
- Проверку документации и руководств.
- Отчёт: Лаборатория составляет отчёт о результатах тестирования, который направляется в NIST и CSE.
- Валидация: NIST и CSE проверяют отчёт и при положительном решении присваивают модулю номер сертификата (например, «#1234»). Модуль вносится в реестр валидированных модулей на сайте NIST.
- Публикация: Информация о валидированном модуле публикуется в открытом доступе.
Уровни безопасности
- Security Level 1: Базовый уровень, без требований к физической защите. Подходит для программных модулей в защищённой среде.
- Security Level 2: Требует физической защиты (например, пломбирование корпуса) и аутентификации пользователя.
- Security Level 3: Требует усиленной физической защиты (например, защита от несанкционированного вскрытия) и криптографической аутентификации.
- Security Level 4: Высший уровень, требующий полной физической защиты от любых атак, включая атаки по побочным каналам.
Применение
Государственные учреждения
CMVP является обязательным требованием для криптографических модулей, используемых в федеральных информационных системах США (согласно закону FISMA и директивам OMB). Аналогичные требования действуют в Канаде для государственных учреждений. Многие другие страны (например, Япония, Австралия, страны Европейского союза) признают сертификаты CMVP или используют их как основу для собственных программ.
Коммерческие организации
Сертификация CMVP часто требуется для продуктов, поставляемых в государственные учреждения, финансовые организации, здравоохранение и другие регулируемые отрасли. Например:
- Банки и финансовые учреждения требуют сертифицированные модули для шифрования транзакций.
- Производители облачных сервисов (например, Amazon Web Services, Microsoft Azure, Google Cloud) используют сертифицированные модули для обеспечения безопасности данных.
- Производители VPN-устройств, смарт-карт, USB-токенов и других криптографических устройств.
Международное признание
Хотя CMVP является американско-канадской программой, её сертификаты признаются во многих странах благодаря соглашениям о взаимном признании. Например, страны Европейского союза используют стандарт EN 419 221-5, который основан на FIPS 140-2. Япония имеет собственную программу JCMVP, основанную на тех же принципах.
Критика и ограничения
Затраты и время
Процесс сертификации может занимать от нескольких месяцев до нескольких лет и стоить от десятков тысяч до сотен тысяч долларов. Это создаёт барьер для малых компаний и стартапов.
Закрытость процесса
Критики отмечают, что процесс сертификации является «чёрным ящиком»: производители не всегда получают детальные объяснения причин отказа в сертификации. Кроме того, результаты тестирования не публикуются в полном объёме.
Устаревание стандартов
Стандарты FIPS 140 обновляются редко (раз в 10–20 лет), что может не успевать за развитием криптографических атак и технологий. Например, требования к защите от квантовых атак пока не включены в стандарт.
Ограниченная область применения
Сертификация CMVP не гарантирует безопасность системы в целом — она проверяет только криптографический модуль, а не его интеграцию в более крупную систему. Модуль может быть сертифицирован, но неправильно использован в приложении.
Интересные факты
- По состоянию на 2025 год в реестре CMVP насчитывается более 3000 валидированных модулей, включая программные библиотеки (например, OpenSSL FIPS Object Module), аппаратные модули (например, HSM от Thales, Utimaco) и встроенные системы.
- Первый сертификат CMVP (номер 1) был выдан в 1995 году для аппаратного модуля Fortezza Card.
- Программа CMVP тесно связана с программой CAVP (Cryptographic Algorithm Validation Program), которая проверяет корректность реализации отдельных криптографических алгоритмов. Модуль не может быть сертифицирован по CMVP, если его алгоритмы не прошли валидацию по CAVP.
- В 2020 году NIST объявил о планах по переходу на стандарт FIPS 140-4, который будет учитывать требования к квантово-устойчивой криптографии, но точные сроки пока не определены.
Источники
- National Institute of Standards and Technology. «FIPS 140-3: Security Requirements for Cryptographic Modules». 2019.
- National Institute of Standards and Technology. «Cryptographic Module Validation Program (CMVP)». Официальный сайт.
- Communications Security Establishment Canada. «CMVP Program Overview». 2023.
- International Organization for Standardization. «ISO/IEC 19790:2012 — Information technology — Security techniques — Security requirements for cryptographic modules».
- National Institute of Standards and Technology. «FIPS 140-2: Security Requirements for Cryptographic Modules». 2001.
- National Institute of Standards and Technology. «Cryptographic Algorithm Validation Program (CAVP)». Официальный сайт.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →