Просто и понятно о центре обработки данных (ЦОД) и его разновидностях
ЦОД — аббревиатура центра обработки данных, который стандарт TIA-942 классифицирует как «здание или часть здания, основная функция которого заключается в размещении компьютерного зала и сопутствующих помещений». По сути, это действительно здание или комплекс помещений с десятками, сотнями, тысячами серверов и сопутствующим сетевым оборудованием. Здесь компании хранят и обрабатывают информацию, подключаются к каналам связи и интернету. Здесь запускаются сайты, интернет-магазины и игровые платформы, проходят онлайн-платежи, обновляются клиентские базы и разворачиваются вычислительные мощности для big data: все, что связано с интернетом, финансовыми операциями и связью, так или иначе, проходит через ЦОД (центр обработки данных).
Дата-центр GreenBushDC — центр обработки данных в Москве
ЦОДы большие и маленькие
Пока нет стандартов, классифицирующих ЦОДы по масштабам, центры обработки и хранения данных условно делят на малые, средние и крупные.
Мегацод «Сколково»
Иногда малые ЦОДы путают с серверными. Это технически неверно, потому как категории совершенно разные.
Инфраструктура центра обработки данных зарезервирована по схемам от N до 2(N+1), что обеспечивает возможность автономной работы при отключении центрального энергоснабжения. Серверные, какими бы технически совершенными они ни были, на автономную работу не рассчитаны: при отключении от электропитания, в них отключается все — от системы кондиционирования до серверного и сетевого оборудования.
Корпоративные и коммерческие дата-центры
По принадлежности ЦОДы делят на коммерческие и корпоративные. Коммерческие предоставляют услуги нескольких провайдеров и обслуживают несколько компаний. Стандартный список услуг такого центра обработки данных включает:
-
аренду стоек и стойко-мест,
-
-
аренду виртуальных серверов и IaaS,
-
подключение к оптоволокну и пр.
Поставить свой сервер в стойку или взять в аренду IaaS может любая компания, причем не исключена ситуация, что сервера конкурирующих интернет-магазинов окажутся рядом. И что характерно, это никак не отразится на бизнесе ни того, ни другого.
Другое дело — корпоративный дата-центр. Он строится исключительно под собственные IT-системы и решает задачи компании-владельца. Так работают дата-центры Yahoo, Google, ПАО «Сбербанк». Собственные ЦОДы, как правило, строят крупные телекоммуникационные, финансовые и федеральные компании, которые могут инвестировать в каждые 1000 м² площади от 10 до 15 млн.
Дата-центр Google
Последние 5 лет число стоек в корпоративных ЦОДах США стабильно сокращается на 2,2% в год. При этом на 5% в год увеличивается количество стоек в коммерческих дата-центрах, что свидетельствует об устойчивой тенденции — из корпоративных ЦОДов серверы переезжают в коммерческие. В России эта тенденция пока незаметна, но рано или поздно она доберется и до нас. К этому ведет рост требований к производительности IT-инфраструктуры, увеличение расходов на энергообеспечение и необходимость территориально быть ближе к пользователям.
О безопасности центров обработки данных, технологиях, энергоэффективности и других нюансах внутреннего устройства ЦОД читайте в следующих публикациях блога GreenBushDC. Если точные технические данные, информация о системе безопасности центра обработки данных и детали инженерной инфраструктуры нужны здесь и сейчас — поищите ответы в FAQ или задайте вопрос службе поддержки клиентов.
Что такое дата-центр какие услуги предоставляют дата-центры
Каждая компания, достигнув определенных масштабов, сталкивается с необходимостью переноса своей ИТ-инфраструктуры в ЦОД. Что означает ЦОД? Аббревиатура расшифровывается как «центр обработки данных» и означает помещение или здание с серверами и сетевым оборудованием, подключенными к сети интернет. Также это называют «дата-центр» — калька с английского data center (data означает «данные»).
Зачем нужен ЦОД
В функции ЦОД входит обеспечение защищенной бесперебойной работы серверов и предоставление постоянного интернет-доступа к ним.
Обычно дата-центр — это отдельное здание (или комплекс), оборудованное с учетом определенных требований. В ЦОД создаются оптимальные условия для работы серверного оборудования, прокладываются защищенные каналы связи и обеспечивается высокий уровень безопасности.
Позволить себе собственный дата-центр может не каждая компания. Поэтому крупные ЦОД предоставляют организациям и частным лицам свои серверы в аренду. Чаще всего арендуют мощности дата-центра хостинг-провайдеры. Они сдают их в аренду своим клиентам как виртуальный хостинг, VPS-сервер или выделенный сервер.
В дата-центре можно также арендовать место в стойке или целую стойку под размещение своего оборудования. Крупные хостинг-провайдеры имеют собственные ЦОД (как Hoster.ru).
Выбираем между дата-центром и собственной серверной
Некоторым компаниям не нравится идея хранить свои данные на чужих серверах. Они предпочитают использовать собственное серверное помещение и свое оборудование. Давайте посмотрим, каким стандартам должен соответствовать дата-центр, и сравним, можно ли реализовать такое в серверной.
Защищенное здание
Надежный центр обработки данных — это не только специализированная «начинка». Даже здание проектируется специальным образом и строится с учетом особых требований к:
- высоте потолков;
- площади;
- нагрузке, которую выдерживают перекрытия и кровля;
- устойчивости каркаса здания;
- расположению коммуникаций и т. д.
Бесперебойное питание
В ЦОД обеспечивается непрерывное электропитание оборудования. Для этого устанавливаются промышленные ИБП и создается генераторная, которая может поддерживать питание от нескольких часов до суток и более. Все оборудование резервируется: предусматриваются дополнительные ИБП и генераторы на случай отказа основных.
Вентиляция и охлаждение
Серверы при работе выделяют большое количество тепла, а перегрев негативно влияет на работу серверов, маршрутизаторов, коммутаторов, шлюзов безопасности и т. д. Помещения центров обработки данных оборудуются системами кондиционирования и контроля климата — к уровню влажности также предъявляются строгие требования.
Важный момент для стабильной работы оборудования — отсутствие пыли. Для борьбы с пылью дата-центр оснащается современными фильтрами тонкой очистки воздуха, различными аппаратами для предотвращения попадания пыли с обуви сотрудников и посетителей в помещения и т. п.
Пожарная безопасность
Дата-центр — это объект повышенной пожарной опасности из-за сосредоточения большого количества электрооборудования. При этом обычное пожаротушение с использованием воды или пены применять нельзя: будут повреждены серверы. Чаще всего используется газотушение. В помещение нагнетается газовый агент, который тормозит горение. Детекция возгораний и пожаротушение в дата-центре автоматизированы.
Контроль доступа
Дата-центр обеспечивает высокий уровень физической безопасности хранения данных. Помимо обычных решеток на окнах и надежных дверей помещение оснащается:
- охранной сигнализацией;
- системой круглосуточного видеонаблюдения;
- автоматической системой контроля доступа — по магнитным картам, сканированию отпечатков пальцев или сетчатки глаза. Это исключает влияние человеческого фактора на пропускную систему.
Профессиональное техобслуживание и поддержка
Оборудование центра обработки данных требует специализированного сопровождения на аппаратном и программном уровне. Сотрудники ЦОД — высококвалифицированные системные администраторы, сетевые и технические инженеры, специалисты по информационной безопасности и devOps-ы. Уровень их квалификации выше, чем у обычных сисадминов компаний.
Выбираем надежный ЦОД
У ЦОД есть свои стандарты надежности и безопасности. Они подтверждаются специальными сертификатами от Uptime Institute. После прохождения сертификации дата-центр может получить один из 4 уровней Tier — I, II, III или IV:
- Tier I — старый стандарт. Не предусматривает резервное питание и дублирование активного оборудования. В случае отключения электропитания, поломок сетевого оборудования, выхода из строя серверов работа ЦОД прерывается. Допустимое время простоя — 28,8 часов в год.
- Tier II — от первого уровня отличается повышенными требованиями: должно быть организовано простое резервное электропитание, охлаждение помещений. Предусматривается резервирование активного оборудования. Однако в случае аварии в инженерной инфраструктуре обслуживание клиентов приостанавливается. Допустимое время простоя — 22 часа в год.
- Tier III — наиболее распространённый стандарт среди крупных современных ЦОД. Главное отличие — при сбое практически в любой системе дата-центр не останавливает работу, так как предусмотрено резервирование не только активного, но и инженерного оборудования. Замена устройств, ремонт, профилактическое ТО выполняются без остановки обслуживания клиентов. Допустимое время простоя — 1,6 часов в год.
- Tier IV — все системы в таком дата-центре резервируются и дублируются дважды. Это обеспечивает отказоустойчивость, близкую к 100 % — не более 0,4 часа в год.
Компаниям, для которых безотказность работы сверхкритична (центральный банк страны, военные организации), лучше выбирать дата-центр уровня Tier 4. Крупному и среднему бизнесу подойдет Tier 3.
Какой дата-центр лучше выбрать — российский или зарубежный?
ЦОД в России — сравнительно новое направление, однако оно стремительно растет вместе с развитием экономики. Многие дата-центры имеют сертификаты Tier III и ничем не уступают европейским ЦОД. При этом стоимость обслуживания в них гораздо дешевле, чем в Европе. Кроме того, согласно российскому законодательству некоторые типы данных необходимо хранить на территории страны, и это также весомый аргумент в пользу российского дата-центра.
В каких ЦОД располагаются серверы Hoster.ru
Hoster.ru использует распределенную сеть собственных дата-центров уровня Tier 3, расположенных в Москве, Санкт-Петербурге и Екатеринбурге. ЦОД Hoster.ru — это собственная точка обмена трафиком (540 провайдеров), свыше 3,5 тыс. кв. м площади, около 600 серверных шкафов и современные безотказные инженерные системы.
Кодирование и расшифровка метаданных Cobalt Strike
Крис Наваррете, Дурджеш Сангвикар, Ю Фу, Яньхуи Цзя и Сиддхарт Шибирадж эксплуатация
Этот пост также доступен в: 日本語 (японский)
Краткий обзорCobalt Strike — это коммерческое программное обеспечение для эмуляции угроз, которое имитирует тихого, долгосрочного встроенного в сеть субъекта. Этот субъект, известный как Beacon, связывается с внешним сервером группы для имитации трафика управления и контроля (C2). Благодаря своей универсальности Cobalt Strike обычно используется в качестве законного инструмента красными командами, но также широко используется злоумышленниками для атак в реальном мире. Различные элементы Cobalt Strike способствуют его универсальности, включая процессы, которые шифруют и расшифровывают метаданные, отправляемые на сервер C2.
В предыдущем блоге «Анализ и руководство Cobalt Strike: кодирование и декодирование метаданных CS» мы узнали, что зашифрованные метаданные кодируются для транзакции HTTP.
Когда маяк Cobalt Strike «звонит домой», он шифрует метаданные — информацию о скомпрометированной системе — с помощью открытого ключа алгоритма RSA и отправляет их на сервер Cobalt Strike TeamServer. TeamServer будет использовать закрытый ключ для восстановления метаданных открытого текста Beacon, чтобы различать клиентов Beacon. Кроме того, симметричный ключ AES можно извлечь из расшифрованных метаданных. Клиент и сервер могут использовать ключ AES для шифрования и расшифровки дальнейших данных запроса и ответа, чтобы завершить передачу трафика C2.
В этом сообщении блога мы подробно рассмотрим и продемонстрируем алгоритм шифрования и дешифрования данных, генерацию и извлечение ключей, шифрование и дешифрование метаданных, а также определения схемы метаданных. Одним из интересных компонентов является то, как алгоритм шифрования и дешифрования работает во время передачи трафика C2, и почему эта универсальность делает Cobalt Strike эффективным эмулятором, от которого трудно защититься.
Содержание
Алгоритм шифрования/дешифрования данных
Определение схемы метаданных
Генерация и извлечение открытого/закрытого ключа
Пример шифрования/дешифрования метаданных C2 с помощью RSA и AES
Заключение
Индикаторы компрометации
Дополнительные ресурсы
с TeamServer, используя комбинацию симметричного (AES) и асимметричного (RSA) алгоритмов ключей шифрования. Затем TeamServer создаст новую комбинацию открытого и закрытого ключей и сохранит пару ключей в файле . cobaltstrike.beacon_keys. Файл хранится в том же каталоге, где извлечена установка Cobalt Strike. Если файл уже существует, он использует ту же пару ключей.
Алгоритм асимметричного ключа использует RSA/ECB/PKCS1Padding, тогда как алгоритм симметричного ключа использует формат AES/CBC/NoPadding для шифрования/дешифрования данных. Алгоритм AES инициализируется жестко заданным вектором инициализации (IV). Статический IV — это abcdefghijklmnop.
На рисунке 1 показан трафик C2 между Cobalt Strike Beacon и TeamServer.
Рисунок 1. Связь C2 между процессом Beacon и TeamServer. Определение схемы метаданныхКак следует из названия, метаданные содержат информацию о цели. Метаданные имеют структурированный формат с 4-байтовым магическим числом (0xBEEF) в начале. На рисунке 2 показана структура метаданных.
Расшифрованные данные представляют собой блок различной информации. Структура расшифрованного большого двоичного объекта была обновлена в Cobalt Strike версии 4. 0, а маяк добавил больше информации в метаданные. Размер поля данных составляет 4 байта, и это говорит о том, что автор может обновить структуру метаданных в будущем. На рис. 3 показаны различные типы информации, упакованной в метаданные. Эта структура соответствует текущей реализации.
Ниже приведена разбивка различных полей данных в расшифрованных данных по порядку.
- Первые 16 байтов — это случайные байты, сгенерированные маяком, и они уникальны для каждого запуска процесса. Маяк и TeamServer используют эти байты для создания ключа AES и ключа HMAC. Процесс вычисляет хэш SHA256 байтов. Первые 16 байт SHA256 назначаются в качестве ключа AES для симметричного шифрования, а оставшиеся 16 байтов — это ключи HMAC для кода аутентификации сообщения.
- Следующие два байта с прямым порядком байтов декодируются как кодировка ANSI. Полный список кодировок см. в документации по идентификаторам кодовых страниц.
- Два байта с прямым порядком байтов назначаются наборам символов OEM.
- Четыре байта с обратным порядком байтов представляют собой идентификатор маяка, при этом каждый маяк получает уникальный идентификатор.
- Четыре байта с прямым порядком байтов — это идентификатор процесса маяка на компьютере жертвы.
- Два байта декодируются как порт.
- Один байт декодируется как флаг. В текущей реализации Cobalt Strike значение флага используется для установки архитектуры (32/64 бит) маяка.
- Два байта — это номер версии маяка. Эти байты преобразуются в строку с «.» вставляется между ними. Пример: AB
- Два байта расшифрованы как версия сборки маяка.
- Следующее 4-байтовое значение с обратным порядком байтов используется для префикса указателей на функции, если архитектура маяка 64-битная. Эти 4 байта отбрасываются, если архитектура 32-битная.
- Следующие два 4-байтовых значения являются указателями на GetModuleHandleA и GetProcAddress. Их значения помогут шелл-коду выполнять дальнейшие функции без явного импорта. Если Beacon 64-битный, более ранние значения имеют префикс, а все значение сохраняется в переменной.
- Следующие четыре байта — это IP-адрес цели. Затем байты преобразуются в IPv4-читаемый адрес.
- Последний набор байтов — UTF-8, значения разделены символом \t. В текущей версии данные структурированы как ComputerName\tUserName\tBeaconProcessName
Когда маяк регистрируется, он отправляет большой двоичный объект метаданных, зашифрованный с помощью открытого ключа RSA, на TeamServer. TeamServer использует закрытый ключ для расшифровки и восстановления метаданных в виде обычного текста и извлечения ключа AES вместе с другими метаданными, используемыми для дальнейшего обмена данными. Это может предотвратить атаку «вмешательство посередине» (MitM) и избежать обнаружения, поскольку ключ AES зашифрован асимметричным ключом, который крайне сложно расшифровать. Кроме того, связь C2 шифруется симметричным ключом, что затрудняет поиск отпечатка пальца для ее маркировки.
Когда TeamServer запускается с загруженным профилем, он генерирует пару открытого и закрытого ключей и сохраняет их в файле .cobaltstrike.beacon_keys в корневом каталоге TeamServer, если этот файл не существует.
Мы можем использовать Java-программу дампа ключей, размещенную на GitHub, для извлечения открытого/закрытого ключа. Подробнее о том, как это делается, см. ниже.
1. Пара открытый/закрытый ключ хранится в .cobaltstrike.beacon_keys как объект java.security.KeyPair, как показано на рис. 4.
Рисунок 4. Java-объект пары открытый/закрытый ключ.2. Выполните команду на рис. 5, чтобы скомпилировать и запустить программу Java в корневом каталоге TeamServer, после чего пара открытый/закрытый ключ будет закодирована в base64.
Рисунок 5. Открытый/закрытый ключ. Пример шифрования/дешифрования метаданных C2 с помощью RSA и AESВ следующем примере мы обсудим, как шифрование и дешифрование работают в контексте метаданных Cobalt Strike Beacon и HTTP-трафика C2.
Анализ образца, взятого из дикой природы, загружаемого непосредственно с VirusTotal (SHA256: 50ea11254f184450a7351d407fbb53c54686ce1e62e99c0a41ee7ee3e505d60c).
Анализ трафика C2 для этого примера разделен на три раздела:
- Загрузка маяка Cobalt Strike
- Сердцебиение маяка C2
- Запрос задач C2 и ответ (обратный вызов)
Эти разделы содержат анализ шифрования/дешифрования, который описывает следующий процесс:
- Расшифровка метаданных с использованием открытых/частных ключей RSA для получения ключей AES и HMAC.
- Используйте ключ AES для расшифровки данных задачи, зашифрованных в ответе HTTP GET.
- Используйте ключ AES для расшифровки результата выполнения задачи в теле запроса HTTP POST.
Загрузка маяка Cobalt Strike
Рисунок 6. Загрузка маякаАнализируя конфигурацию с помощью сценария 1768.py, можно показать, что маяк был сгенерирован версией программного обеспечения Cobalt Strike, в которой произошла утечка закрытых ключей RSA.
Рисунок 7. Парсинг маяка/поиск закрытого ключа.C2 Beacon Heartbeat
После того, как Beacon был загружен и запущен, следующим шагом было выполнение проверки C2 на TeamServer и эксфильтрация зашифрованных метаданных о скомпрометированной машине внутри файла cookie HTTP-запроса.
Рисунок 8. Сердцебиение C2.Для расшифровки информации метаданных необходимо выполнить скрипт cs-crypto-parser.py (немного модифицированная версия скрипта cs-mitm.py) и передать значение из файла cookie — XjaoBxbLchqKBL/s/ m8Pgz/wHRbx660/2Aa8Toa9T/AJ0Ns8mgjPBWdYIL9mEFM1DE/5GXGCSURf6RP+wxo5Zx0G/yENlMTuzPaCO11/XPNxRjj69Nf6++05qe7iMKfg8D4ZFGiEQAVo6UXqUteZlAqubJ+uNZBglsyio.
Расшифровка RSA
Первая задача, которую выполняет этот сценарий, — это вызов функции RSADecrypt(), которая получает два параметра: 1) закрытый ключ и 2) зашифрованное значение файла cookie. После завершения этой задачи он декодирует и импортирует закрытый ключ RSA и создает экземпляр нового объекта PKCS1. Наконец, сценарий вызывает функцию расшифровки и передает зашифрованную переменную данных в качестве аргумента для выполнения фактической расшифровки зашифрованного текста.
Рисунок 9. Функция RSADecrypt.Вывод покажет подробную разбивку метаданных вместе с их шестнадцатеричными значениями.
Рисунок 10. Расшифрованные метаданные C2.Читатели могут использовать для справки раздел «Определение схемы метаданных» этого блога.
Запрос задачи C2 и ответ (обратный вызов)
Ключи AES и HMAC
Полезная нагрузка шифруется с использованием шифрования AES256 в режиме CBC с алгоритмом хеширования с ключом HMAC SHA256. Поскольку есть доступ к закрытому ключу RSA и расшифрованным данным, он включает необработанный ключ. Этот ключ имеет длину 16 байт и расположен в восьмом байте расшифрованной полезной нагрузки. В случае с этим образцом вредоносного ПО ключ (шестнадцатеричный) имеет вид 1a 13 7e 76 f9.15 6а 67 f9 99 аф d6 57 64 75 бд. Чтобы сгенерировать ключи AES и HMAC, хэш SHA256 вычисляется из необработанного ключа, где первая половина (16 байтов) — это фактический ключ AES, а вторая половина (16 байтов) — ключ HMAC. На рис. 11 ниже показано такое вычисление при выполнении скрипта криптоанализатора.
Рисунок 11. Хэш и ключи шифрования/дешифрования.Запрос задачи C2
После того, как канал C2 установлен и действие регистрации выполнено, маяк выполняет проверку или любые новые задачи. На рисунке 12 вы увидите, что запрос задачи получил ответную полезную нагрузку от TeamServer.
Рисунок 12. Запрос задачи C2 (извлечение).Данные полезной нагрузки размером 48 байт теперь передаются сценарию для расшифровки. Последние 16 байт зашифрованного большого двоичного объекта — это подпись HMAC, которая действует как мера целостности запроса. На рис. 13 ниже показан анализ данных и расшифровка полезной нагрузки задачи.
Рисунок 13. Расшифровка полезной нагрузки запроса задачи Cobalt Strike.Процесс расшифровки обрабатывается функцией Decrypt(), которая выполняет следующие действия:
- Получает зашифрованные данные в качестве параметра.
- Извлеките подпись HMAC из зашифрованной полезной нагрузки.
- Рассчитайте и проверьте подпись HMAC, используя ключ HMAC в зашифрованной полезной нагрузке.
- Загрузите ключ AES и установите режим (CBC) и его вектор инициализации (IV).
- Расшифровать зашифрованную полезную нагрузку.
Ответ задачи C2
Когда маяк получает и выполняет задачу, предоставленную сервером C2, результаты собираются и возвращаются на TeamServer.
Рисунок 15. Ответ задачи Cobalt Strike (экстракция данных).При использовании той же функции Decrypt(), упомянутой выше, также предоставляется зашифрованная полезная нагрузка. Однако для ответа задачи Cobalt Strike первые четыре байта не учитываются для расшифровки, в результате чего эти байты исключаются из данных, передаваемых функции.
Рисунок 16. Расшифровка ответа задачи Cobalt Strike.Ответ данных задачи, содержащийся в этом запросе, соответствует строке ASCII BOBSPC\\Administrator, которая является машиной и пользователем скомпрометированного компьютера.
Заключение
Cobalt Strike — мощный эмулятор противника после эксплуатации. Описанное выше шифрование/дешифрование метаданных тщательно продумано и предназначено для того, чтобы избежать обнаружения системы безопасности. Одно устройство безопасности не подходит для предотвращения атаки Cobalt Strike. Только комбинация решений безопасности — брандмауэров, песочниц, конечных точек и соответствующего программного обеспечения для интеграции всех этих компонентов — может помочь предотвратить атаку такого рода.
Клиенты Palo Alto Networks получают защиту от атак, аналогичную Cobalt Strike, с помощью:
- Брандмауэры нового поколения (NGFW) с сигнатурами предотвращения угроз 86445 и 86446 идентифицируют запросы HTTP C2 с кодировкой метаданных base64 в профилях по умолчанию. Advanced Threat Prevention имеет новые возможности для обнаружения таких атак без необходимости использования сигнатур.
- WildFire, подписка безопасности NGFW, и Cortex XDR идентифицируют и блокируют маяк Cobalt Strike.
- Пользователи AutoFocus могут отслеживать это действие с помощью тега CobaltStrike .
Образцы CS
- 50ea11254f184450a7351d407fbb53c54686ce1e62e99c0a41ee7ee3e505d60c
Образцы маяков CS
- /lNj8
- SHA256 Хэш:
- e712d670382ad6f837feeb5a66adb2d0f133481b5db854de0dd4636d7e906a8e
- SHA256 Хэш:
IP-адреса CS TeamServer
- 92.255.85[.]93
Cobalt Strike Training
Профиль Cobalt Strike Malleable C2
Расшифровка Cobalt Strike с помощью известного закрытого ключа
Анализ Cobalt Strike и руководство: как профили гибкости C2 затрудняют обнаружение Cobalt Strike
Анализ Cobalt Strike и руководство: Кодирование и декодирование метаданных CS
Пало-Альто
Сети!
Подпишитесь, чтобы получать от нас последние новости, сведения о киберугрозах и исследования
Отправляя эту форму, вы соглашаетесь с нашими Условиями использования и подтверждаете наше Заявление о конфиденциальности.
Программа проверки криптографического алгоритма | CSRC
Проекты Программа проверки криптографических алгоритмов
Ссылки на проекты
Обзор Презентации
Тестирование CAVP: блочные шифры
Спецификации алгоритмов
Спецификации алгоритмов для текущих одобренных FIPS и рекомендованных NIST алгоритмов блочных шифров доступны в Cryptographic Toolkit.
Текущее тестирование включает в себя следующие алгоритмы:
AES
TDES
Skipjack
Требования к проверке проверки алгоритма
.0016
Расширенная система проверки стандартного алгоритма шифрования (AESAVS) определяет требования к проверочному тестированию для ECB (электронная кодовая книга), CBC (цепочка блоков шифрования), OFB (обратная связь по выходу), CFB (обратная связь по шифрованию) и CTR. (Счетчик) режимов для алгоритма AES от СП 800-38А.
Примечания по тестированию
- Предварительные условия для тестирования AES перечислены в разделе часто задаваемых вопросов CAVP (CAVP FAQ) Общий вопрос GEN.5.
Стандартный алгоритм шифрования тройного шифрования (TDES)
TH E NIST Special Publication 800-20, Система валидации Triple Data Ecryption Algorithm (Tmovs): Требования и процедуры. Требования к проверочным испытаниям для режимов ECB (электронная кодовая книга), CBC (цепочка блоков шифров), OFB (обратная связь по выходу), CFB (обратная связь по шифрованию) и CTR (счетчик) для алгоритма Triple DES из SP800-38A. Кроме того, существуют варианты режимов CBC, CFB и OFB Triple DES, которые используют чередование или конвейерную обработку.
Также требуется дополнительный тест Многоблочный тест сообщений (MMT) .
Примечания по тестированию
- Предварительные условия для тестирования TDES перечислены в разделе часто задаваемых вопросов CAVP (CAVP FAQ) Общий вопрос GEN. 5.
- С 01.01.2016 шифрование TDES KO2 больше не соответствует требованиям. Расшифровка TDES KO2 разрешена только для устаревшего использования. (См. SP800-131A, редакция 1.)
Алгоритм Skipjack
Специальная публикация NIST 800-17, Система проверки режимов работы (MOVS): требования и процедуры определяет требования к проверке для алгоритма Skipjack.
Примечания по тестированию
По состоянию на январь 2011 года CAVP проверяет только реализации дешифрования Skipjack для устаревшего использования. См. SP800-131A, редакция 1, Переходы: рекомендации по переходу на использование криптографических алгоритмов и длин ключей , для получения дополнительной информации.
Набор проверочных тестов для реализаций Skipjack, использующих состояние дешифрования, состоит из теста режимов для процесса дешифрования, теста на известный ответ с переменным зашифрованным текстом и теста на известный ответ с переменным ключом для процесса дешифрования. Основываясь на реализованных режимах работы Skipjack, в разделе 5 SP800-17 указаны тесты, необходимые для проверки реализации алгоритма Skipjack.
Специальная публикация NIST 800-17 ошибочно указывает, что KAT начальной перестановки для процесса дешифрования также требуется для проверки Skipjack. Это неправда.
Вернуться к началу
Тестовые векторы
Файлы ответов (.rsp) : тестовые векторы правильно отформатированы в файлах ответов (.rsp). Файлы ответов поставщика должны точно соответствовать этому формату.
Файлы промежуточных результатов (.txt) : файлы с промежуточными результатами (.txt) предоставляются для облегчения отладки. Для теста Монте-Карло даются выходные данные для каждой из первых пяти (5) итераций 10 000, а также окончательный (10 000-й) результат. Промежуточные значения имеют отступ в один табулятор и четко обозначены словом «Промежуточный».
Приведенные ниже тестовые векторы можно использовать для неформальной проверки правильности реализации алгоритма блочного шифра с использованием перечисленных выше систем проверки.