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) уже достаточно для достижения оставшихся целей.

Спецификация оболочки ключей NIST AES

Было предложено несколько конструкций. К ним относятся:

  • Спецификация переноса ключей 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.

Смотрите также

Рекомендации

  1. ^ «Алгоритм переноса ключей». Получено 26 мая 2016.
  2. ^ «API веб-криптографии». www.w3.org. Получено 16 октября 2019.