Федеральный стандарт обработки информации fips что это

Почему вы не должны включать «FIPS-совместимое» шифрование в Windows

Федеральный стандарт обработки информации fips что это

Что такое FIPS-совместимое шифрование?

FIPS расшифровывается как «Федеральные стандарты обработки информации». Это набор государственных стандартов, которые определяют, как определенные вещи используются в правительстве, например, алгоритмы шифрования. FIPS определяет определенные конкретные методы шифрования, которые можно использовать, а также методы генерации ключей шифрования. Он публикуется Национальным институтом стандартов и технологий или NIST.

Настройка в Windows соответствует стандарту FIPS 140 правительства США. Когда он включен, он заставляет Windows использовать только схемы шифрования, проверенные FIPS, и рекомендует приложениям также делать это.

«Режим FIPS» не делает Windows более безопасной. Он просто блокирует доступ к новым схемам криптографии, которые не прошли FIPS-проверку. Это означает, что он не сможет использовать новые схемы шифрования или более быстрые способы использования тех же схем шифрования. Другими словами, это делает ваш компьютер медленным, менее функциональным и, возможно, менее безопасным.

Как Windows ведет себя по-другому, если вы включите этот параметр

Этот параметр делает две вещи для самой Windows. Это заставляет службы Windows и Windows использовать только проверенную FIPS криптографию. Например, служба Schannel, встроенная в Windows, не будет работать со старыми протоколами SSL 2.0 и 3.0, и вместо этого потребуется как минимум TLS 1.0.

Помимо этих двух вещей, включение режима FIPS рекомендует приложениям использовать только проверенное шифрование FIPS. Но это не заставляет больше ничего. Традиционные настольные приложения Windows могут выбрать для реализации любой код шифрования, который им нужен — даже ужасно уязвимое шифрование — или вообще не шифровать. Режим FIPS ничего не делает с другими приложениями, если они не подчиняются этому параметру.

Как отключить режим FIPS (или включить его, если нужно)

Вам не следует включать этот параметр, если вы не используете государственный компьютер и не обязаны это делать. Если вы включите этот параметр, некоторые потребительские приложения могут фактически попросить вас отключить режим FIPS, чтобы они могли работать должным образом.

Если вам нужно включить или отключить режим FIPS — возможно, вы увидели сообщение об ошибке после его включения, вам нужно проверить, как ваше программное обеспечение будет работать на компьютере с включенным режимом FIPS, или вы используете правительственный компьютер и имеете чтобы включить его — вы можете сделать это несколькими способами. Режим FIPS можно включить только при подключении к определенной сети или через общесистемный параметр, который всегда будет применяться.

Чтобы включить режим FIPS только при подключении к определенной сети, выполните следующие действия:

Федеральный стандарт обработки информации fips что это

Этот параметр также можно изменить в масштабе всей системы в редакторе групповой политики. Этот инструмент доступен только в версиях Windows, а не Home для Professional, Enterprise и Education. Вы можете использовать редактор локальной групповой политики только для изменения этого инструмента, если вы находитесь на компьютере, который не присоединен к домену, который управляет параметрами групповой политики вашего компьютера для вас. Если ваш компьютер присоединен к домену, а параметры групповой политики централизованно управляются вашей организацией, вы не сможете изменить его самостоятельно. Чтобы изменить этот параметр в групповой политике:

Федеральный стандарт обработки информации fips что это

Федеральный стандарт обработки информации fips что это

Спасибо @SwiftOnSecurity в Твиттере за то, что вдохновили этот пост!

Источник

Федеральный стандарт обработки информации (FIPS) Публикация 140-2

Стандартный обзор FIPS 140-2

Публикация 140-2 Федерального стандарта обработки информации (FIPS) — это стандарт правительства США, определяющий минимальные требования к безопасности криптографических модулей в продуктах информационных технологий, как это определено в разделе 5131 Закона о реформе управления информационными технологиями 1996 года.

Программа проверки криптографического модуля (CMVP), совместная работа Национального института стандартов и технологий США (NIST) и Канадского центра кибербезопасности (CCCS), проверяет криптографические модули на требования к безопасности для стандарта криптографических модулей (например, FIPS 140-2) и связанных стандартов криптографии FIPS. Требования к безопасности FIPS 140-2 охватывают 11 областей, связанных с проектированием и реализацией криптографического модуля. Лаборатория информационных технологий NIST управляет связанной программой, которая проверяет утвержденные FIPS криптографические алгоритмы в модуле.

Подход Корпорации Майкрософт к проверке FIPS 140-2

Корпорация Майкрософт активно поддерживает выполнение 140-2 требований, проверяя криптографические модули с момента создания стандарта в 2001 году. Корпорация Майкрософт проверяет свои криптографические модули в рамках Программы проверки криптографических модулей Национального института стандартов и технологий (NIST). Эти криптографические модули используют несколько продуктов Майкрософт, в том числе многие облачные службы.

Технические сведения о криптографических модулях Microsoft Windows, политике безопасности для каждого модуля и каталоге сведений о сертификате CMVP см. в Windows и Windows Server FIPS 140-2.

Затрагиваемые облачные платформы и службы Майкрософт

Хотя текущее руководство по внедрению CMVP FIPS 140-2 исключает проверку FIPS 140-2 для самой облачной службы; Поставщики облачных служб могут выбрать для получения и эксплуатации проверенных криптографических модулей FIPS 140 для вычислительных элементов, составляющих их облачную службу. В число веб-служб Microsoft, включающих компоненты, которые были проверены fiPS 140-2, относятся, в частности, следующие:

Azure, Dynamics 365 и FIPS 140-2

Дополнительные сведения о соответствии Azure, Dynamics 365 и другим сетевым службам см. в предложении Azure FIPS 140-2.

Office 365 и FIPS 140-2

Облачные среды Office 365

Microsoft Office 365 — это рассчитанная на множество клиентов гипермасштабируемая облачная платформа с интегрированным интерфейсом приложений и служб, доступная клиентам в нескольких регионах по всему миру. Большинство служб Office 365 позволяют клиентам указывать регион, в котором находятся их данные клиентов. Корпорация Майкрософт может реплицировать данные клиентов в другие регионы в той же географической области (например, в США) для обеспечения устойчивости данных, но корпорация Майкрософт не будет реплицировать данные клиентов за пределами выбранной географической области.

Этот раздел посвящен следующим облачным средам Office 365.

Используйте этот раздел для выполнения своих обязательств по обеспечению соответствия требованиям в регулируемых отраслях и на глобальных рынках. Чтобы узнать, какие службы доступны в тех или иных регионах, см. статьи Информация о доступности в международном масштабе и Где хранятся ваши данные как клиента Microsoft 365. Дополнительные сведения об облачной среде Office 365 для государственных организаций см. в статье Облако Office 365 для государственных организаций.

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

Применимость Office 365 и затрагиваемые службы

Чтобы определить применимость изменений к вашим службам и подписке Office 365, воспользуйтесь следующей таблицей.

ПрименимостьЗатрагиваемые службы
Office 365, GCC, GCC, DoDПроверка FIPS 140-2

Вопросы и ответы

В чем разница между ‘FIPS 140 Validated’ и ‘FIPS 140 compliant’?

«FIPS 140 Validated» означает, что криптографический модуль или продукт, который встраивал модуль, был проверен (‘certified’) cmVP как соответствует требованиям FIPS 140-2. «FIPS 140 compliant» является отраслевым термином для ИТ-продуктов, которые используют продукты FIPS 140 Validated для криптографических функций.

Когда корпорация Майкрософт проводит проверку FIPS 140?

Каденция для запуска проверки модуля совпадает с обновлениями функций Windows 10 и Windows Server. По мере развития индустрии программного обеспечения операционные системы выпускаются чаще, с ежемесячными обновлениями программного обеспечения. Корпорация Майкрософт проводит проверку для выпусков функций, но в период между выпусками стремится свести к минимуму изменения в криптографических модулях.

Какие компьютеры включены в проверку FIPS 140?

Корпорация Майкрософт проверяет криптографические модули в представительном примере конфигураций оборудования, Windows 10 и Windows Server. Это распространенная отраслевая практика, чтобы принять эту проверку FIPS 140-2, когда среда использует оборудование, которое похоже на образцы, используемые для процесса проверки.

На веб-сайте NIST перечислены многие модули. Как узнать, какое из них применимо к моему агентству?

Если требуется использовать криптографические модули, проверенные с помощью FIPS 140-2, необходимо убедиться, что используемая версия отображается в списке проверки. CmVP и Microsoft поддерживают список проверенных криптографических модулей, организованных выпуском продукта, а также инструкции по идентификации модулей, установленных в Windows системе. Дополнительные сведения о настройке систем, которые должны быть совместимы, см. в Windows и Windows содержимого Server FIPS 140-2.

Что означает «При операции в режиме FIPS» в сертификате?

Это предостерегает читателя о необходимости соблюдать правила конфигурации и безопасности, чтобы использовать криптографический модуль таким образом, чтобы он соответствовал политике безопасности FIPS 140-2. Каждый модуль имеет собственную политику безопасности — точную спецификацию правил безопасности, в соответствии с которыми он будет работать, и использует утвержденные алгоритмы шифрования, управление ключами криптографии и методы проверки подлинности. Правила безопасности определяются в политике безопасности для каждого модуля. Дополнительные сведения, в том числе ссылки на политику безопасности для каждого модуля, проверенного с помощью CMVP, см. в Windows и Windows-сервере FIPS 140-2.

Требуется ли проверке FIPS 140-2 fedRAMP?

Да, Федеральная программа управления рисками и авторизацией (FedRAMP) опирается на базовые уровни управления, определенные NIST SP 800-53 Revision 4,включая шифрование SC-13, определяющее использование криптографии с проверкой FIPS или криптографии, утвержденной NSA.

Можно ли использовать присоединение Корпорации Майкрософт к FIPS 140-2 в процессе сертификации моего агентства?

Чтобы соответствовать ТРЕБОВАНИЯМ FIPS 140-2, необходимо настроить систему для работы в утвержденном режиме работы FIPS, который включает в себя обеспечение того, чтобы криптографический модуль использовал только утвержденные FIPS алгоритмы. Дополнительные сведения о настройке систем, которые должны быть совместимы, см. в Windows и Windows содержимого Server FIPS 140-2.

Какова связь между FIPS 140-2 и общими критериями?

Это два отдельных стандарта безопасности с разными, но взаимодополняющими целями. FIPS 140-2 предназначен специально для проверки программных и аппаратных криптографических модулей, а общие критерии предназначены для оценки функций безопасности в ИТ-программах и аппаратных продуктах. При оценке общих критериев часто используются проверки FIPS 140-2 для обеспечения правильной реализации базовых функций криптографии.

Источник

Как активировать или отключить Wi-Fi режим совместимости с FIPS

Федеральный стандарт обработки информации fips что это

В некоторых случаях вам может понадобиться активировать или деактивировать Wi-Fi режим совместимости с FIPS для Windows. CHIP расскажет, как это сделать в Windows.

Федеральный стандарт обработки информации fips что это

FIPS — Federal Information Processing Standards, Федеральные Стандарты Обработки Информации — это открыто публикуемые стандарты, разработанные правительством США, в которых, в том числе, представлены различные криптографические стандарты.

Федеральный стандарт обработки информации fips что этоЕсли вы хотите активировать FIPS на компьютере, откройте Панель управления и перейдите в раздел «Сеть и Интернет», а затем в «Управление беспроводными сетями». Нажмите на имя вашей сети в правой части экрана.

Федеральный стандарт обработки информации fips что этоВ открывшемся окне «Свойства беспроводной сети» перейдите на вкладку «Безопасность». Нажмите на «Дополнительные параметры», а затем откройте вкладку «Параметры 802.11». В открывшемся окне поставьте галочку в чек-боксе «Включить для этой сети режим совместимости с Федеральным стандартом обработки информации (FIPS)» и подтвердите изменение настроек нажатием на «ОК».

Федеральный стандарт обработки информации fips что это Ориентируйтесь на стандарт. Wi-Fi режим совместимости с FIPS обеспечивает бо́льшую Интернет-безопасность Windows

При необходимости отключить Wi-Fi режим совместимости с FIPS вы можете аналогичным способом. Если этот способ не сработал, то удалите профиль Wi-Fi и создайте новый.

Для этого в Windows 10 вам нужно будет открыть меню «Пуск» и перейти к настройкам (значок «зубчатое колесико»). Далее перейдите в раздел «Сеть и Интернет» и в левой части экрана нажмите на «Wi-Fi».

В разделе «Управление беспроводными сетями» найдите свою сеть, нажмите на «Не сохранять». После этого вам будет нужно снова присоединиться к сети Wi-Fi. Теперь FIPS-режим должен быть активирован.

Фото: компании-производители

Источник

Криптографические стандарты для IT-инженера

Стандартов защиты информации – много. Часть из них определяет условия работы механизмов аутентификации, часть описывает физическую защиту активов, часть способы резервного копирования; какие-то стандарты регулируют деятельность в определённой стране, а какие-то – в определённой части отрасли информационной безопасности (скажем, описывают условия безопасной реализации работы с платёжными системами).

Некоторые из этих стандартов касаются практически любой IT-системы, не являясь жёстко “отраслевыми”, поэтому работающему с security-решениями нужно хотя бы рамочно ориентироваться в оных.

Данная статья – краткая выжимка из рассказываемого на курсе Microsoft 2821B, поэтому может рассматриваться как доп.материал для тех, кто нуждается в более глубоких знаниях, чем дающихся на ознакомительных и базовых курсах уровня MCSE / CCIE:Security.

Криптографические стандарты, которые нужно знать каждому IT-инженеру

FIPS 140-1 и FIPS 140-2

FIPS – это Federal Information Processing Standards, разрабатываемые для формализации требований к криптографической защите информации в гос.органах США. Чтобы какое-либо ПО или оборудование могло быть сертифицировано для использования в этих структурах – ну либо связанных с ними – должна быть возможность работы в “FIPS-режиме”.

На данный момент существует 2 принятых версии стандартов FIPS – FIPS 140-1 (с января 1994 года) и FIPS 140-2 (с мая 2001 года) – и рассматриваемый с 2009 года FIPS 140-3.

FIPS не содержит новых стандартов или криптоалгоритмов – он, фактически, задаёт “нижнюю планку”, в явном виде указывая “такой алгоритм использовать нельзя, слабоват” и подобное. Включение FIPS-совместимости не добавляет функционала, а отключает часть возможностей системы.

Включение FIPS 140-1

Совместимость с данным стандартом появилась ещё в древних версиях Windows NT – иначе бы эта ОС не стала основной используемой в американских гос.учреждениях.

Вот так выглядит штатная настройка Windows по включению совместимости с FIPS 140 на уровне ОС:

Теперь немного про специфику применения FIPS-140 в различных подсистемах Windows и ПО.

FIPS 140-1 и EFS

Включение FIPS 140-1 меняет работу встроенной в NTFS 3.0 системы криптографической защиты объектов файловой системы, известной как EFS – Encrypting File System.

Если речь идёт о NT 5.0 / 5.1 SP0 (то есть от Windows 2000 до Windows XP с SP1), то для шифрования EFS используется алгоритм DESX (не обычный DES, это грубая ошибка – именно DESX, потому что уже на момент разработки NT 5.0 есть работы, показывающие, что использовать DES с эффективной длиной ключа в 56 бит для долгосрочного хранения информации небезопасно), использующий до 192 бит ключевого материала, но фактически представляющий из себя обычный DES с 56 эффективными битами ключа, к которому добавляется 2 дополнительных операции – предварительный XOR с первыми 64 битами ключевого материала и, после шифрования, дополнительный XOR с другими 64 битами ключевого материала. Человеческое название DESX – это “DES с забеляющей перестановкой”. В реализации Microsoft Windows данный алгоритм использует 128 бит, т.е. генерится ключевой материал, первой половинкой которого XOR’ят до DES’а, а второй – после.

После включения FIPS 140-1 EFS начинает использовать 3DES. Меняется, в итоге, сам алгоритм – он становится более стойким, т.к. делается не 2 раза XOR и 1 раз DES, а 3 раза DES.

Используемый в данный момент алгоритм можно увидеть вот по такому адресу: HKLM\Software\Microsoft\Windows NT\CurrentVersion\EFS\AlgorithmID

Впрочем, начиная с Windows XP SP1 шифрующая файловая система EFS будет использовать алгоритм AES и включение режима FIPS 140-1 будет давать удивительный побочный эффект – возврат с AES на менее стойкий 3DES. Это получается, потому что реализация криптоалгоритма AES, используемого в EFS в NT 5.1 и 5.2, вбита отдельным модулем в ядро Windows, а не реализуется через обычную схему модулей CryptoAPI. То есть это явный “костыль”, добавленный “сбоку” и не прошедший гос.сертификацию. В NT 6.x это уже поправлено и AES работает штатно и для всей системы и ПО – эта “интеграция” всей криптографии в CNG является одним из тех моментов, благодаря которым Vista стала использоваться в американских гос.структурах.

FIPS 140-1 и Bitlocker

В NT 6.0 фирма Microsoft реализует, в добавление к существующему EFS, механизм шифрования целых разделов – BitLocker.

Из-за того, что один из способов аварийного восстановления доступа к зашифрованному диску – в частности, схема “у нас компьютер входит в домен Active Directory, включаем BitLocker и храним пароль восстановления раздела диска в объекте AD DS, поэтому можем разблокировать в случае любых проблем с данной машиной” – не являлся сертифицированным FIPS (потому что сертификация такого метода влечёт за собой по сути сертификацию всего кода Active Directory), был распространён слух “Microsoft’овский BitLocker небезопасен, потому что раз когда FIPS правительственный включаешь, то битлокер глючит – а значит правительство США не доверяет Microsoft”.

Это не так – BitLocker официально сертифицирован по FIPS 140, просто реализация механизма отправки ключа “наружу” не подпадала под FIPS. Что, в скором времени, было исправлено – поэтому пользуясь ОС NT 6.2 и выше данная тема не особо интересна; BitLocker работает и хранит ключи в Active Directory и без FIPS 140, и с FIPS 140.

FIPS 140-1 и SSL/TLS

Всё просто – FIPS 140-1 исключает использование SSL 2.0 / 3.0, и минимальным используемым протоколом будет TLS. На данный момент это ограничение ничем не чревато, т.к. не-поддерживающих даже TLS 1.0 систем по сути не осталось. Но если где-то всё же есть что-то, к чему надо подключаться по SSL 3.0 – включение FIPS 140-1 сделает работу невозможной.

Т.е. нигде в самом стандарте FIPS 140 не указывается “Нельзя использовать SSL” – просто использование для MAC алгоритмов класса Secure Hash исключает возможность согласовать что-либо из вышеприведённого комплекта, кроме последнего пункта. А он не может использоваться из-за отсутствия в FIPS 140 указаний на использование Fortezza. В результате – ничего из SSL согласовать просто не получится.

FIPS 140-1 и RDP

В ранних версиях протокола RDP был выбор – использовать “родной” Microsoft’овский протокол защиты, или работать поверх TLS 1.0 (после – TLS 1.2). Если точнее, то для подключения к RDP-серверу по TLS нужен как минимум NT 5.2 со стороны сервера и RDP 5.2 со стороны клиента (это Windows Server 2003 и Windows XP).

При включении на уровне системы режима “разрешены только FIPS-совместимые алгоритмы”, равно как и указании в настройках RDP “использовать FIPS-шифрование”, можно будет использовать только вариант защиты RDP over TLS.

FIPS-безопасность RDP также предсказуемо будет обозначать то, что для всех задач вычисления MAC будет использоваться SHA-1, т.к. FIPS 140-1 исключает использование хэш-функций семейства Message Digest (MD2, MD4, MD5), а для шифрования с секретным ключом – 3DES. Поэтому как и в предыдущем случае с cipher suites, подмножество оных, доступное для RDP over TLS, будет сокращено из-за FIPS-ограничений на криптоалгоритмы.

Неочевидные побочные проблемы от включения FIPS-140

Зачастую ПО использует какие-либо криптографические функции не в целях защиты информации. Например, можно считать контрольную сумму не алгоритмами семейства CRC, а хэш-функциями. В этом случае включение FIPS-совместимости может повлечь проблемы в работе ПО, которое вроде как не связано напрямую с задачами обеспечения информационной безопасности на гос.уровне.

Пример такого ПО среди продуктов Microsoft – это Sharepoint. В Sharepoint, начиная с самых ранних версий, GUID создаются путём обработки функцией MD5 псевдослучайных чисел; в результате, включение FIPS-совместимости приводит к невозможности выполнения задачи по созданию GUID’ов. Также MD5 используется в механизме индексирования данных Sharepoint, и для работы с SPFile.

Впрочем, уровень американской коррупции позволил выпустить специальную фетву, которая объясняла, что если на хосте с Windows Server работает Sharepoint, то включать FIPS необязательно – даже если речь идёт о хосте внутри сети АНБ или правительственной структуры; мысль акцентировалась на том, что Sharepoint не использует MD5 для шифрования данных (даже интересно, а кто использует MD5 для ШИФРОВАНИЯ, лол) и для передачи оных. Доказав, что Sharepoint не использует небезопасную функцию в данных двух применениях, эксперты при правительстве США (кстати, по удивительному совпадению, получающие зарплату от фирмы, являющейся партнёром Microsoft), сделали заключение, что не-включение FIPS на отдельно взятых хостах не влияет на безопасность всей системы в целом. Риторический вопрос “ну давайте тогда смасштабируем этот тезис на остальные хосты и спросим, зачем тогда вообще вся эта канитель с сертификациями и стандартами” ни у кого не возник, т.к. не был оплачен спонсором исследования.

Если вы думаете, что всё это касается только “старых версий продуктов, надо просто обновиться и всё” – то будет интересным узнать то, что, например, Microsoft SQL Server Integration Service (SSIS) для SQL Server 2016, имеют проблемы с развёртыванием в случае включения FIPS-совместимости. То есть через 17 лет после появления опции “отключить разные криптоалгоритмы, например MD5” в продукте из комплекта SQL Server 2016 используется функция MD5.

Учитывайте, что иногда включение старых режимов FIPS может снизить безопасность системы, т.к. на момент принятия конкретной версии стандарта существующие в данный момент новые криптоалгоритмы ещё не были одобрены для использования в американских гос.структурах, или вообще не существовали – соответственно, их использование также будет заблокировано.

FIPS 140 и сетевое оборудование

Сетевого оборудования – тьма, и сертификация на FIPS 140 охватывает как само оборудование, так и отдельные модули для него, а также ПО. У целевой системы всё это должно соответствовать нужным требованиям и работать друг с другом по предсказуемым алгоритмам.

Найти оборудование что по алгоритму, что по вендору, либо по другим критериям можно вот по этой ссылке.

С примером официального документа, описывающего, как правильно использовать FIPS 140-совместимые алгоритмы на сертифицированном оборудовании Cisco – в частности, на роутерах Cisco 1905, Cisco 1921, Cisco 1941, Cisco 2901, Cisco 2911, Cisco 2921 – можно ознакомиться здесь. Говоря кратко, никакой “специальной настройки включения FIPS 140”, как в Windows, там нет – надо просто выключить лишнее и включить нужное (это вообще очень дельный подход). Общие сведения о деталях реализации FIPS 140 на оборудовании Cisco есть вот на этой странице.

Если хотите посмеяться над тем, как в 2018 году в отсталых странах пилят госбюджет на теме информационной безопасности, то посмотрите на такую вот картинку:

Многие подумают, что это завхоз Степаныч, по распоряжению пьющего директора Михалыча, поназаклеивал скотчем лишние дырки в компьютерах, потому что Михалыч где-то читал про вирусы, хаки, куки, нюки и троянские кони, ну и случайно принял маршрутизатор за компьютер.

Ничего подобного. Это – официальная мера безопасности у Cisco ISR 2901 в американских гос.структурах, состоящая в покупке фирменного скотча FIPS-SHIELD-2901= и применении оного на устройстве. Стоит эта штука – я про наклейки, да – несколько сотен долларов, и нанесение оной – часть реализации мер стандарта FIPS 140-2, выполняемой авторизованным персоналом, обладающим профильными сертификациями. Без этого система небезопасна. Можете представить себе, что бы было в российских “околоайтишных” и “хайтеховых” СМИ, если бы подобное – что по самому действию “массово заклеить порты на цисках”, что по стоимости “специального скотча” – было бы выставлено как часть мер IT-безопасности на гос.уровне.

FIPS 140 и СПО

Одним из частых заблуждений среди технически малограмотных адептов секты “свободного и открытого американского программного обеспечения” является что-то типа такого:

Злые корпорации, правительства и Система следят за всеми и специально утверждают хитрые стандарты шифрования с закладками.
Хорошо что есть открытое ПО, где простые анонимные эксперты, к которым я отношусь ибо ощущаю сопричастность, постоянно вычитывают код и не допустят того, чтобы в нём были ошибки и закладки.
Поэтому достаточно вместо продукции американской фирмы A, заклеймлённой как “не-свободная и не-открытая”, купить продукцию американской фирмы B, которую кто-то из знаковых фигур нашей религии одобрил как религиозно верную и правильную, свободную и открытую (т.е. подпадающую под американскую лицензию Истинно Верной Свободы ПО, принадлежащую гражданам США и могущую быть изменённой ими в любой момент по своему усмотрению), и всё будет хорошо. Любые затраты на продукцию американской фирмы B не считаются таковыми, ведь это против Системы – никаких денег (не моих, а владельца бизнеса, которого разводят на эти затраты, конечно) не жалко.

Несмотря на то, что корпорации, правительства и прочие действительно следят за всеми, основной постулат ошибочен. Он предполагает, что в США существует некая нерегулируемая хиппи-отрасль разработки ПО для защиты информации на гос.уровне.

Мы можем взять для примера, пожалуй, самую популярную открытую криптобиблиотеку OpenSSL и заметить, что у неё существует специальная FIPS-версия, часть которой прошла гос.сертификацию США и поэтому может быть использована в State/Fed/Gov/Mil целях.

Разрабатывает данное ПО не аморфная и анонимная группа тайных хакеров, а конкретный перечень физических лиц, сотрудничающих с правительством США и подписывающих от своего лица обязывающие документы. Реализация конкретных алгоритмов, а также тестирование и доработка, делается ими, а не неким “СПО-сообществом” – которое, в своей массе, не отличает хэширование от шифрования.

После реализации программного кода он отдаётся в американские гос.структуры на валидацию – по сути, идентичную российской сертификации криптосредств. И, будучи подтверждённым с формулировкой “всё правильно реализовали”, фиксируется и не может быть изменён без письменного разрешения американского АНБ. В случае нарушения – уголовное преследование.

Ещё раз – никакие статусы “открытости” и “свободы” не могут перекрыть законодательство конкретной страны США и подпадающую под регулирование деятельность конкретных физ.лиц и организаций на территории этой страны. Если вы хотите, чтобы ваше ПО вообще рассматривалось как кандидат на использование в инфраструктурных организациях государства, то вы выполняете то, что скажут регулирующие органы. Даже если они, как NIST, прикажут вам добавить признанные небезопасными эллиптические кривые. Потому что сказки про Свободу и Открытость – это одно, а невыполнение требований регулятора – это немного другое. С реальными сроками, вкупе с “организованным преступным сообществом” и “по предварительному сговору”.

Используя “открытую реализацию американского криптоалгоритма” вы используете то, что в явном виде разрешила американская гос.структура с названием АНБ. От факта теоретической доступности исходного кода никак автоматически не возникают практические навыки анализа существующих и разработки собственных криптоалгоритмов – что легко доказывается тем, что на практике в СПО ничего из не-одобренного АНБ не используется. Никакие байки про теоретическую возможность отредактировать исходный код не могут ставить под угрозу безопасность систем государства, поэтому теоретическая возможность этого – она отдельно от практической реализации.

Включать ли поддержку FIPS 140-1?

Впрочем, стандарт нельзя отнести к “вообще устарел” – в нём есть некоторые интересные до сих пор штуки – например, критерии проверки RNG на качество – известные как Monobit / Poker / Runs / Long Run тесты – до сих пор интересны для изучения и позволяют оценить качество работы RNG в до-NIST-SP-800-90B-времена.

FIPS 140-2

FIPS 140-2 – актуальная на момент написания статьи (февраль 2018 года) версия FIPS-140.

Если вы сейчас решили, что дальше будет “Война и Миръ” по объёму, то это не так. Будет максимум такое:

(замечу, что одну из полезных книг про реализацию FIPS 140 для программистов действительно написал человек с фамилией Potter, поэтому картинка выше – не совсем шутка).

Различия между FIPS 140-1 и 140-2 можно посмотреть вот здесь.

Если совсем кратко, то начиная с ядра NT 6.0 в Windows появляется новая версия CryptoAPI – известная или как CAPI 3.0 или как CNG (криптография следующего поколения – Next Generation). И включение режима FIPS 140 уже обозначает совместимость с ней, а не с первым вариантом. То есть путаницы “включил не тот фипс140” у вас не возникнет – до NT 6.0 одна версия стандарта, с NT 6.0 – другая. Это нововведение, кстати – речь про CNG – стало одним из ключевых (вторым был новый сетевой стек с интегрированным IPv6, IPsec и Advanced Firewall’ом), благодаря которым Microsoft смогла продать Vista и Windows Server 2008 в американские гос.структуры – т.к. это были первые ОС с полноценной поддержкой всех-всех-всех новых требований АНБ. Конечно, появились слухи о том, что одни и те же лица и владели системными интеграторами, оказывающими консалтинговые услуги по внедрению в госы, и принимали участие в разработке стандартов, а следовательно где-то за год точно знали что попадёт в финальный вариант, но это, конечно, клевета – как можно представить, чтобы в США крупная корпорация, гос.структуры, системные интеграторы и ребята из АНБ пилили госбюджет? Уму непостижимо же.

Для нас ключевым будет то, что в стандарте FIPS 140-2 появляется поддержка криптографии с эллиптическими кривыми (ECDH, ECDSA) и MAC-алгоритмов семейства SHA-2 – полновесных SHA-2/256 и SHA-2/512 и их урезанных вариантов SHA-2/224 и SHA-2/384 – поэтому они могут применяться в FIPS-решениях. Старые алгоритмы, впрочем, не вычёркиваются – SHA-1 и TDEA (Triple DES Encryption Algorithm) остаются разрешёнными к применению.

Также появляется более строгий критерий оценки RNG – потом, впрочем, вносится корректировка, и его отменяют вообще как класс.

Есть ли какой-то особый переход между FIPS 140-1 и FIPS 140-2?

Расценивайте FIPS 140-2 как текущую версию стандарта FIPS 140, чуть обновлённую относительно классической. В подавляющем большинстве ПО данное изменение не заметно, разве что стало можно использовать криптоалгоритмы, которые были разработаны пару десятилетий назад – типа SHA-2 и прочих.

Приложение А к FIPS 140-2 обновляется, поэтому имеет смысл отслеживать актуальную версию – например, с 2015 года разрешёнными для FIPS-140 являются хэши семейства SHA-3 – это SHA3-224, SHA3-256, SHA3-384, SHA3-512, а также их XOF’ы – SHAKE128, SHAKE256.

Тонкость хранения настроек FIPS 140-1 и FIPS 140-2

Параметр “Включён ли FIPS-140 на уровне системы” хранится в реестре Windows NT. Однако, при переходе версий ОС с ядра NT 5.x на NT 6.0, где параллельно “совместимость с FIPS 140” стала обозначать не валидацию по FIPS 140-1, а FIPS 140-2, изменился ключ, в котором хранится этот параметр. Наша утилита ATcmd позволяет увидеть это наглядно, выводя оба значения ключа:

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

Это значит, что если у вас в сети и Windows XP, и Windows 7, то вы не сможете раздачей одного значения одного ключа реестра массово включить/выключить FIPS-140. Надо будет учитывать, что NT 5.x хранит параметр “Включён ли FIPS 140-1” в одном месте, а NT 6.x параметр “Включён ли FIPS 140-2” в другом.

FIPS 140 и Kerberos

Поддержка протокола Kerberos пятой версии появляется в NT 5.0 и считается одним из ключевых нововведений Active Directory. При этом Microsoft, в плане безопасности, сразу же делает шаг вперёд, и стандартным способом шифрования содержимого kerberos ticket’ов делает не DES, а RC4-128. То есть на момент выхода Windows 2000 в ней наиболее продвинутая реализация Kerberos, и для взаимодействия с *nix-системами нужно делать специальные шаги по снижению безопасности леса Active Directory.

, которые позволяют работать в рамках FIPS 140-1. Но в Windows их реализации нет.

С ними уже проще – AES разрешен в принятой на момент выхода NT 6.0 версии FIPS 140-2 – поэтому можно сделать всю работу Kerberos в лесу Active Directory FIPS-совместимой штатными способами, не прибегая к костылям.

Перейдём к FIPS-180 – там совсем чуть-чуть.

FIPS 180

Стандарты линейки FIPS 180 появляются аж с 1993 года и обновляются до сих пор. Текущая версия – FIPS 180-4.

Этот документ стандартизирует все SHS – Secure Hash Standard’ы, а говоря проще – описывает все функции хэширования, начинающиеся с аббревиатуры SHA. От самой первой SHA-1 до 64х битовой SHA-512/t.

Соответственно, какого-либо “тумблера, включающего FIPS 180 на системе” нет. Если ПО поддерживает новые варианты SHA-x – то они реализуются в соответствии с технической документацией FIPS 180. Если нет – то ПО не поддерживает новые варианты SHA-x.

Заметим, что SHA-3 стандартизируются в другом FIPS – 202м. Одна из причин этого в том, что используемый алгоритм “кеччак” достаточно ощутимо отличается от используемого в MD4-5-SHA-0-1-2 принципа работы хэш-функций.

Что ж, теперь к “Комплекту Б”.

NSA Suite B

Начнём с главного вопроса.

Что стало с NSA Suite A?

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

Говоря без стёба, все алгоритмы из Suite A – чисто армейские и для внутриамериканских задач. Смеющимся над импортозамещением – “ахаха тупая рашка зачем-то свои криптоалгоритмы делает ведь весь мир пользуется американскими широко распространёнными в массовых ОС алгоритмами и всё норм” будет неплохо узнать, что для публики в США используется одно, а для действительно серьёзных задач – другое. Серьёзных – это не защита платежей с пластиковых карт и шифрование данных от жены на флэшке с Bitlocker’ом, а, допустим, оперативное командование армейскими подразделениями. Сами себя т.е. импортозаместили первым делом, сделав варианты “для белых людей” и “для остальных”.

Зачем же тогда NSA Suite B?

NSA Suite B

“Второй Комплект” стандартизируется в 2005 году и проще всего описывается цитатой из первоисточника, АНБ:

The entire suite of cryptographic algorithms is intended to protect both classified and unclassified national security systems and information. Because Suite B is also a subset of the cryptographic algorithms approved by the National Institute of Standards and Technology, Suite B is also suitable for use throughout government. NSA’s goal in presenting Suite B is to provide industry with a common set of cryptographic algorithms that they can use to create products that meet the needs of the widest range of U.S. Government (USG) needs.

Это в общем для задач “попроще”, но государственных, а следовательно важных. Suite B явно задаёт планку настроек для ситуации “надо использовать какой-то из распространённых протоколов, но только закрутив гайки по максимуму”.

Всё остальное – выпадает. То есть это покруче FIPS 140, и ощутимо. Вообще выкидывается обычный DSA и весь DH – включая “толстые” группы с 4096 и 8192 битовыми ключами. Выкидывается SHA-1 и 3DES. Да, и иногда добавляемое “RSA – от 2048 бит” – неверно; фишка Suite B как раз в том, что NSA сказало, что RSA как таковой устарел и будущее – за эллиптическими кривыми.

Точные описания того, как именно настроить распространённые протоколы – например, IPsec или SSH – есть в соответствующих RFC, разработанных штатными сотрудниками АНБ (тут должна была быть шутка про сисадминствующих околоайтишных парней, которые свято уверены, что все RFC открыто пишутся и обсуждаются невидимыми анонимными любителями-экспертами, но мне лень её придумывать).

Вы можете натолкнуться на NSA Suite B, например, в Microsoft AD RMS – Active Directory Rights Management Services. Начиная с Windows Server 2008 R2 SP1, при развёртывании (да и в принципе после) доступен т.н. Cryptographic Mode 2, который использует для криптографических операций над документами алгоритмы, подходящие под NSA Suite B. Это очевидная штука, нужная чтобы можно было продавать продукцию Microsoft в гос.структуры и использовать встроенный IRM-механизм AD RMS без установки дополнительного ПО. Впрочем, точно так же как появляется возможность ставить это в американские гос.структуры, уходит возможность эксплуатации AD RMS в российских; ведь криптографический модуль у AD RMS, выходит, свой личный, а не “стандартный CryptoAPI’шный”, к которому можно прицепить стороннего криптопровайдера с нужным алгоритмом. Система получается не-модернизируемая и не-гибкая – впрочем, повторюсь – подходящая под критерии американских гос.структур.

Внедрять ли Suite B?

По сути, никаких отдельных и специальных процедур для этого нет. Вы можете громко назвать подъём нового CA с алгоритмами шифрования и хэширования у самоподписанного root-сертификата, подпадающими под критерии NSA Suite B как “внедрение Suite B”, но в общем-то вся эта тема – исключительно про подъём “нижней планки пригодных для использования алгоритмов”. Помните, что официально для работы с алгоритмами Suite B надо использовать как минимум Vista SP2 / Windows Server 2008 SP2 – с предыдущими ОС ничего не получится, Suite B – костылей для Windows XP банально нет и не будет.

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

Ну а мы пойдём дальше – к новым вершинам закручивания гаек.

Commercial National Security Algorithm Suite (CNSA Suite)

Домик для настоящих параноиков, которым страшно с Suite B – впрочем, учитывая, что в него входят ненадёжные NIST P256 и P384, это не параноики, а реалисты – находится на отдельном сайте Information Assurance Directorate, входящем в NSA. Не пугайтесь, что на него не захочет заходить браузер – там у парней свой самоподписанный армейский сертификат от DoD, который не входит в trusted root у Windows и других гражданских ОС. Все принципы открытости и прочего уже давно позади, так что такое в некоторых закоулках защищённых сетей скорее правило, чем исключение. Поставьте сертификат (вот отсюда, например) и сможете узнать некоторое новое и интересное.

Кратко задачи создания CNSA формулируются так – безопасная криптография в эру квантовых вычислений. Стандарт выходит через десяток лет после Suite B, поэтому неудивительно, что требования стали ещё жёстче.

То есть это что-то типа Suite B с ещё большим завышением нижней планки – теперь нельзя использовать SHA-256, EC-кривые до 384 бит и у DH и RSA под запретом не только 1024 бита, но и 2048.

И – внимание! – CNSA не признаёт NIST P-521 как более стойкую, чем P384. То есть у всех трёх EC-кривых, добавленных NSA с десяток лет назад и появившихся в NT 6.0, проблемы – 256я и 384я недостаточно стойкие с точки зрения внешних исследователей, а 521я тихо перестала быть “самой безопасной из EC” с точки зрения родительской фирмы, АНБ.

CNSA – не умозрительный эксперимент по “максимальной безопасности”, а реальный уровень, на который структуры NSA и правительства США переходят с февраля 2016 года, считая Suite B недостаточным.

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

CNSA и WPA3

Грядущий вот-вот в 2018 году новый стандарт защиты беспроводных сетей – WPA3 – делается уже с учётом требований CNSA, что повлечёт за собой массу изменений буквально в каждом применении криптографии – от требований к алгоритмам с секретным ключом до использования нового Dragonfly при обмене ключевым материалом – впрочем, про это на отдельном вебинаре.

Ну а пока всё – если придут мысли о каких-то других нужных для ознакомления криптографических стандартах – пишите, добавлю.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *