Введение
Стандарт криптографической защиты правительства США
Федеральная публикация стандарта обработки информации 140-2 (FIPS PUB 140-2) является стандартом компьютерной безопасности правительства США, используемым для утверждения криптографических модулей. Название – «Требования безопасности к криптографическим модулям». Первоначально опубликована 25 мая 2001 года, последний раз обновлена 3 декабря 2002 года. Ее преемник, FIPS 140-3, был утвержден 22 марта 2019 года и вступил в силу 22 сентября 2019 года. Тестирование по стандарту FIPS 140-3 началось 22 сентября 2020 года, а первые сертификаты валидации по FIPS 140-3 были выданы в декабре 2022 года. Тестирование по FIPS 140-2 оставалось доступным до 21 сентября 2021 года (впоследствии изменено для заявок, уже находящихся в процессе рассмотрения, до 1 апреля 2022 года), что создало перекрывающийся переходный период длительностью более одного года. Отчеты о тестировании по FIPS 140-2, которые остаются в очереди CMVP, все еще будут получать подтверждения валидации после этой даты, но все подтверждения по FIPS 140-2 будут перемещены в исторический список 21 сентября 2026 года, независимо от фактической даты их окончательной валидации.
Цель
Национальный институт стандартов и технологий (NIST) выпустил серию публикаций FIPS 140 для координации требований и стандартов к криптографическим модулям, включающим как аппаратные, так и программные компоненты. Защита криптографического модуля в системе безопасности необходима для обеспечения конфиденциальности и целостности информации, защищаемой этим модулем. Данный стандарт определяет требования безопасности, которым должен соответствовать криптографический модуль. Стандарт предусматривает четыре возрастающих качественных уровня безопасности, предназначенных для охвата широкого спектра потенциальных приложений и сред. Требования безопасности охватывают области, связанные с безопасной разработкой и реализацией криптографического модуля. К этим областям относятся: спецификация криптографического модуля; порты и интерфейсы криптографического модуля; роли, сервисы и аутентификация; модель конечных состояний; физическая безопасность; операционная среда; управление криптографическими ключами; электромагнитные помехи / электромагнитная совместимость (EMI/EMC); самотестирование; гарантии проектирования; и смягчение других атак. Федеральные агентства и ведомства могут удостовериться, что используемый модуль соответствует действующему сертификату FIPS 140-1 или FIPS 140-2, в котором указаны точное наименование модуля, аппаратное обеспечение, программное обеспечение, прошивка и/или номера версий апплетов. Криптографические модули разрабатываются частным сектором или сообществами с открытым исходным кодом для использования правительством США и другими регулируемыми отраслями (такими как финансовые и медицинские организации), которые собирают, хранят, передают, обмениваются и распространяют конфиденциальную, но неклассифицированную информацию (SBU). Коммерческий криптографический модуль также часто называют аппаратным модулем безопасности (HSM).
Уровни безопасности
FIPS 140-2 определяет четыре уровня безопасности, обозначенные просто как "Уровень 1" – "Уровень 4". Он не определяет детально, какой уровень безопасности необходим для конкретного применения.
Уровень 1
Уровень безопасности 1 обеспечивает наименьший уровень защиты. Для криптографического модуля определены базовые требования безопасности (например, должен использоваться как минимум один утвержденный алгоритм или утвержденная функция безопасности). В криптографическом модуле уровня безопасности 1 не требуются специальные физические механизмы защиты, за исключением базовых требований к компонентам промышленного качества. Примером криптографического модуля уровня безопасности 1 является плата шифрования для персонального компьютера (ПК).
Уровень 2
Уровень безопасности 2 улучшает физические механизмы безопасности криптографического модуля уровня безопасности 1, требуя наличия средств, обнаруживающих признаки вмешательства, таких как специальные покрытия или пломбы, которые должны быть повреждены для получения физического доступа к открытым криптографическим ключам и критическим параметрам безопасности (CSP) внутри модуля, либо взломостойкие замки на крышках или дверцах для защиты от несанкционированного физического доступа.
Уровень 3
В дополнение к физическим механизмам безопасности, требуемым для уровня безопасности 2, уровень безопасности 3 направлен на предотвращение получения злоумышленником доступа к CSP, хранящимся в криптографическом модуле. Физические механизмы безопасности, требуемые для уровня безопасности 3, должны обеспечивать высокую вероятность обнаружения и реагирования на попытки физического доступа, использования или модификации криптографического модуля. Эти механизмы могут включать в себя использование прочных корпусов и схем обнаружения и реагирования на несанкционированное вмешательство, которые обнуляют все открытые CSP при открытии съемных крышек или дверей криптографического модуля.
Уровень 4
Уровень безопасности 4 обеспечивает наивысший уровень защиты. На этом уровне безопасности физические механизмы защиты обеспечивают полную оболочку защиты вокруг криптографического модуля с целью обнаружения и реагирования на любые несанкционированные попытки физического доступа. Проникновение в корпус криптографического модуля с любого направления имеет очень высокую вероятность быть обнаруженным, что приводит к немедленному удалению всех конфиденциальных данных в открытом виде (CSPs). Криптографические модули уровня безопасности 4 пригодны для работы в физически незащищенных средах. Уровень безопасности 4 также защищает криптографический модуль от компрометации безопасности из-за условий окружающей среды или колебаний параметров, выходящих за пределы нормальных рабочих диапазонов по напряжению и температуре. Намеренное отклонение от нормальных рабочих диапазонов может быть использовано злоумышленником для обхода средств защиты криптографического модуля. Криптографический модуль должен либо включать специальные функции защиты от воздействия окружающей среды, предназначенные для обнаружения колебаний и удаления CSP, либо подвергаться строгим испытаниям на устойчивость к воздействию окружающей среды, чтобы обеспечить разумную уверенность в том, что колебания параметров за пределами нормального рабочего диапазона не повлияют на модуль таким образом, что это может скомпрометировать его безопасность.
Операционная платформа
Для уровней 2 и выше также указывается операционная платформа, к которой применима валидация. Поставщики не всегда поддерживают актуальность своих базовых валидаций.
Испытания по FIPS 140-2 в этой программе
Стандарт FIPS 140-2 — это программа сертификации безопасности информационных технологий для криптографических модулей, разработанных частными компаниями, стремящимися к тому, чтобы их продукты были сертифицированы для использования в государственных учреждениях и регулируемых отраслях (таких как финансовые и медицинские организации), которые собирают, хранят, передают, обмениваются и распространяют конфиденциальную, но неклассифицированную (SBU) информацию. Специальные защитные метки FIPS 140-2 используются для предотвращения и обнаружения несанкционированного вмешательства в модули.
Лаборатории, проводящие испытания
Все тесты в рамках CMVP проводятся сторонними лабораториями, аккредитованными Национальной программой добровольной аккредитации лабораторий (NVLAP) в качестве лабораторий по тестированию криптографических модулей. Поставщики, заинтересованные в валидационном тестировании, могут выбрать любую из двадцати одной аккредитованной лаборатории. Лаборатории по тестированию криптографических модулей, аккредитованные NVLAP, выполняют валидационное тестирование криптографических модулей. Криптографические модули тестируются на соответствие требованиям, указанным в FIPS PUB 140-2, "Требования безопасности к криптографическим модулям". Требования безопасности охватывают 11 областей, связанных с проектированием и реализацией криптографического модуля. В большинстве областей криптографический модуль получает оценку уровня безопасности (1–4, от самого низкого до самого высокого) в зависимости от выполненных требований. Для других областей, не предусматривающих различные уровни безопасности, криптографический модуль получает оценку, отражающую выполнение всех требований для данной области.
Соответствие
Для соответствия требованиям FIPS 140-2, решения для шифрования должны использовать как действующий криптографический модуль, так и наборы шифров с утвержденными алгоритмами или функциями безопасности, определенными в Приложении A к FIPS 140-2.
Прием
Стивен Маркиз высказал критику, согласно которой валидация FIPS 140-2 может создавать стимулы для сокрытия уязвимостей и других дефектов. CMVP может аннулировать сертификацию программного обеспечения, в котором обнаружены уязвимости, однако повторная сертификация может занять до года, что может оставить компании без сертифицированного продукта для отгрузки. В качестве примера Стивен Маркиз приводит уязвимость, которая была обнаружена, обнародована и устранена в производной от OpenSSL с открытым исходным кодом, сертифицированной по FIPS. Публикация этой информации привела к аннулированию сертификации данной производной OpenSSL, что нанесло ущерб компаниям, полагавшимся на сертификацию FIPS этой производной. В то же время компании, переименовавшие и сертифицировавшие копию этой же производной OpenSSL с открытым исходным кодом, не были лишены сертификации, несмотря на их практически полную идентичность и отказ от устранения уязвимости. Стивен Маркиз утверждает, что процесс FIPS непреднамеренно стимулирует сокрытие происхождения программного обеспечения, чтобы отделить его от дефектов, обнаруженных в оригинале, потенциально оставляя сертифицированную копию уязвимой. В последние годы CMVP предприняла шаги для предотвращения ситуации, описанной Маркизом, перенося валидации в Исторический список на основе алгоритмов и функций, содержащихся в модуле, а не на основе его происхождения.