Key Wrap - Key Wrap
Key Wrap конструкции - это класс симметричное шифрование алгоритмы, предназначенные для инкапсулировать (зашифровать) материал криптографического ключа.[1] Алгоритмы Key Wrap предназначены для таких приложений, как защита ключей в ненадежном хранилище или передача ключей по ненадежным коммуникационным сетям. Конструкции обычно строятся из стандартных примитивов, таких как блочные шифры и криптографические хеш-функции.
Key Wrap можно рассматривать как форму инкапсуляция ключей алгоритм, хотя его не следует путать с более широко известным асимметричный (открытый ключ) инкапсуляция ключей алгоритмы (например, ПЭК-КЭМ ). Алгоритмы Key Wrap могут использоваться в аналогичном приложении: для безопасной передачи сеансового ключа путем его шифрования с помощью долгосрочного ключа шифрования.
Фон
В конце 1990-х гг. Национальный институт стандартов и технологий (NIST) поставил проблему «переноса ключей»: разработать безопасные и эффективные алгоритмы шифрования ключей на основе шифров. Полученные алгоритмы будут формально оценены NIST и в конечном итоге одобрены для использования в сертифицированных NIST криптографических модулях. NIST точно не определил цели безопасности полученного алгоритма и оставил дальнейшую доработку разработчикам алгоритма. Исходя из полученных алгоритмов, требования к дизайну выглядят так: (1) конфиденциальность, (2) защита целостности (аутентификация), (3) эффективность, (4) использование стандартных (утвержденных) базовых примитивов, таких как Расширенный стандарт шифрования (AES) и алгоритм безопасного хеширования (SHA-1 ) и (5) учет дополнительных обстоятельств (например, устойчивость к ошибкам оператора, некачественные генераторы случайных чисел). Цели (3) и (5) особенно важны, учитывая, что многие широко применяемые аутентифицированное шифрование алгоритмов (например, AES-CCM) уже достаточно для достижения оставшихся целей.
Было предложено несколько конструкций. К ним относятся:
- Спецификация переноса ключей AES (Ноябрь 2001 г., RFC 3394 )
- Реализуется тонким API WebCrypto.[2]
- Американский комитет по стандартам ANSX9.102, который определяет четыре алгоритма:
- AESKW (вариант Спецификация переноса ключей AES)
- TDKW (аналог AESKW, построенный из Тройной DES а не AES).
- AKW1 (TDES, два раунда CBC)
- AKW2 (TDES, CBC, затем CBC-MAC)
Каждый из предложенных алгоритмов можно рассматривать как форму аутентифицированное шифрование алгоритм, обеспечивающий конфиденциальность очень энтропийный сообщения, такие как криптографические ключи. Спецификация AES Key Wrap, AESKW, TDKW и AKW1 предназначена для сохранения конфиденциальности в соответствии с адаптивные атаки по выбранному зашифрованному тексту, в то время как алгоритм AKW2 предназначен для защиты только от атак с использованием известного открытого текста (или более слабых). (Заявленная цель AKW2 заключается в использовании в устаревших системах и устройствах с ограниченными вычислительными возможностями, где использование других алгоритмов было бы непрактичным.) AESKW, TDKW и AKW2 также предоставляют возможность аутентификации открытого текста "заголовка", связанного блока данных, который является не зашифровано.
Rogaway и Шримптон оценили дизайн алгоритмов ANSX9.102 в отношении заявленных целей безопасности. Среди общих выводов они отметили отсутствие четко сформулированных целей проектирования алгоритмов и отсутствие доказательств безопасности для всех конструкций.
В своей статье Rogaway и Шримптон предложили доказуемый алгоритм переноса ключей (SIV - режим синтетического вектора инициализации), который аутентифицирует и шифрует произвольную строку и аутентифицирует, но не шифрует дополнительные данные, которые могут быть связаны в завернутый ключ. Это было стандартизировано как новый режим AES в RFC 5297.
Смотрите также
- Аутентифицированное шифрование
- Детерминированное шифрование
- Ключевой менеджмент
- Автономный протокол закрытого ключа
Рекомендации
- ^ «Алгоритм переноса ключей». Получено 26 мая 2016.
- ^ «API веб-криптографии». www.w3.org. Получено 16 октября 2019.
- П. Рогавей, Т. Шримптон. Обеспечение надежной защиты от проблемы переноса ключей.
- NIST, Спецификация переноса ключей AES (Ноябрь 2001 г.)
- Специальная публикация NIST 800-38F, Рекомендации по режимам работы блочного шифра: методы переноса ключей (Декабрь 2012 г.)
- Американский комитет по стандартам, запрос на пересмотр алгоритмов переноса ключей
- Дэн Харкинс (октябрь 2008 г.). «RFC 5297: шифрование с проверкой подлинности синтетического вектора инициализации (SIV) с использованием расширенного стандарта шифрования (AES)». IETF.