Вопрос или проблема
Существуют ли какие-либо стандарты или практики в индустрии в отношении реализации DUKPT с AES (в отличие от DUKPT / TDEA, который рассматривается в ANSI X9.24-1:2009)?
Понимая, что DUKPT является схемой управления ключами для получения ключа TDES двойной длины, может ли этот производный 128-битный ключ затем использоваться как ключ AES для шифрования/дешифрования? Или есть какие-то причины, по которым это небезопасно?
Все определения DUKPT приведены в ANSI X9.24 часть 3.
ANSI X9.24 специфицирует, что рабочие ключи должны быть той же силы или слабее, чем ключ, от которого они производятся.
Хотя вы можете получить TDES из начального ключа AES, вы не будете получать его для использования с AES; вы получите ключ AES (либо AES-128, AES-192 или AES-256). Размер этого производного ключа ограничивается вышеуказанным правилом (любой производный рабочий ключ должен быть той же силы или слабее, чем начальный ключ). Если ваш базовый ключ для получения – AES-256, то у вас нет ограничений на размер ваших производных рабочих ключей).
Если вы хотите оставаться с TDEA для использования вашего ключа, вы все еще можете получить ключи 2TDES или 3TDES, но в этом случае вы будете ограничены использованием алгоритмов TDES с этими ключами.
Любой разумный криптографический движок / HSM будет обеспечивать соблюдение этих правил, поэтому попытка использовать ключ TDES с алгоритмом AES быстро приведет к проблемам.
Ответ или решение
Вопрос о стандартах и рекомендациях, касающихся реализации DUKPT с использованием AES, требует внимательного анализа, учитывающего различия между алгоритмами шифрования и стандартами управления ключами.
Введение в DUKPT и AES
DUKPT (Derived Unique Key Per Transaction) — это схема управления ключами, предназначенная для генерации уникальных ключей для каждой транзакции, что повышает безопасность при обработке платежей. Она была изначально разработана для использования с TDEA (Triple Data Encryption Algorithm), что расписано в стандартной спецификации ANSI X9.24-1:2009.
AES (Advanced Encryption Standard) — это современный алгоритм симметричного шифрования, который поддерживает ключи длиной 128, 192 и 256 бит. Несмотря на то что DUKPT изначально не был разработан для поддержки AES, его можно адаптировать для работы с этим алгоритмом.
Стандарты DUKPT и AES
Согласно ANSI X9.24 часть 3, DUKPT определяет процесс управления ключами, где рабочие ключи должны иметь такую же длину или быть слабее базового ключа, от которого они производятся. Это означает, что при использовании AES в качестве начального ключа, вы можете создавать производные ключи AES (AES-128, AES-192 или AES-256) и использовать их для шифрования.
Процесс генерации ключей DUKPT для AES
Для реализации DUKPT с использованием AES, необходимо учесть следующее:
-
Генерация ключей: Если база вашего ключа — это ключ AES, например, AES-256, вы можете без ограничений производить рабочие ключи той же длины (256 бит). Это защищает систему от атак, связанных с недостаточной длиной ключа.
-
Использование ключей: При соблюдении вышеизложенного принципа, производные AES-ключи можно использовать для шифрования и дешифрования. В отличие от TDEA, использование AES может обеспечивать более высокую степень безопасности при выполнении криптографических операций.
-
Безопасность: Есть ли какие-либо причины считать такую схему небезопасной? Использование ключей, производимых из ключей AES, как правило, безопасно, слишком короткие ключи могут подвергать риску криптографическую систему, поэтому необходимо всегда убедиться, что производные ключи соответствуют длине основного ключа.
Заключение
В вопросе внедрения DUKPT с AES стоит отметить, что существуют стандарты, регулирующие этот процесс. Ваши усилия по реализации DUKPT должны соответствовать требованиям ANSI X9.24 и учитывать, что AES ключи могут быть использованы для шифрования при правильном выполнении процесса управления ключами. Всегда следует пользоваться современными криптографическими модулями для соблюдения установленных правил, предотвращая потенциальные риски безопасности.
Таким образом, разумное применение DUKPT с использованием AES возможно и может обеспечить достойный уровень защиты, но требует строгого соблюдения стандартов управления ключами и постоянного контроля безопасности.