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