Открыть сервис

ANSI X9.52

ANSI X9.52 — это стандарт Американского национального института стандартов (ANSI), который определяет режим тройного шифрования (Triple Data Encryption Algorithm, TDEA) для блочного шифра Data Encryption Standard (DES). Стандарт был разработан для повышения криптостойкости DES, который к моменту его создания стал уязвим для атак полным перебором ключа. ANSI X9.52 регламентирует исключительно режим шифрования, известный как «внешняя обратная связь по шифротексту» (Outer Cipher Block Chaining, OCB), однако в широком смысле термин часто используется как синоним для тройного DES (3DES) в режиме CBC. Стандарт был опубликован в 1998 году и на протяжении длительного времени являлся основой для обеспечения конфиденциальности в финансовом секторе, в частности, в системах банкоматов и платежных терминалах.

История

Предпосылки создания

К середине 1990-х годов алгоритм DES, принятый в 1977 году, стал считаться недостаточно надёжным. Длина его ключа (56 бит) делала возможным полный перебор всех вариантов с использованием специализированных вычислительных машин. В 1997 году проект Distributed.Net с помощью сети добровольцев вскрыл DES за 140 дней, а в 1998 году Electronic Frontier Foundation (EFF) продемонстрировала машину Deep Crack, которая взломала шифр за 56 часов. Финансовые учреждения, активно использовавшие DES для шифрования PIN-кодов и транзакций, остро нуждались в более стойком, но обратно совместимом решении.

Разработка и публикация

В ответ на эту потребность ANSI, совместно с комитетом по финансовым услугам (Accredited Standards Committee X9, Financial Services), разработал стандарт ANSI X9.52. Он был официально утверждён в 1998 году. Стандарт не вводил новый алгоритм, а определял способ многократного применения существующего DES с тремя независимыми ключами (общая длина 168 бит) или двумя ключами (112 бит). Главным нововведением стала спецификация режима внешней обратной связи по шифротексту (OCB), который отличался от стандартного режима CBC (Cipher Block Chaining), определённого в FIPS 81.

Последующее развитие

Несмотря на то, что тройной DES (3DES) был принят как временная мера, он оставался стандартом де-факто в финансовой индустрии до середины 2010-х годов. В 2016 году Национальный институт стандартов и технологий США (NIST) рекомендовал отказаться от 3DES к 2023 году из-за его уязвимости к атакам с использованием квантовых компьютеров и снижения производительности по сравнению с AES. Стандарт ANSI X9.52 формально не отменён, но его практическое применение резко сократилось. В России тройное шифрование DES не является обязательным для государственных информационных систем, где применяются отечественные стандарты ГОСТ 28147-89 и ГОСТ Р 34.12-2015 («Магма» и «Кузнечик»).

Технические детали

Алгоритм тройного шифрования (TDEA)

Стандарт ANSI X9.52 описывает процесс шифрования, состоящий из трёх последовательных операций DES:

  1. Шифрование первым ключом (K1).
  2. Расшифрование вторым ключом (K2).
  3. Шифрование третьим ключом (K3).

Формула шифрования: C = E_K3(D_K2(E_K1(P))), где P — открытый текст, C — шифротекст, E — шифрование DES, D — расшифрование DES.

Расшифрование выполняется в обратном порядке: P = D_K1(E_K2(D_K3(C))).

Варианты ключей

Стандарт предусматривает три варианта использования ключей, которые различаются по криптостойкости:

ВариантКлючиДлина эффективного ключаСтатус по состоянию на 2024 год
TDEA-3K1, K2, K3 — независимые168 битСчитается безопасным для большинства задач, но уступает AES-256
TDEA-2K1 и K2 — независимые, K3 = K1112 битУязвим для атак с использованием связанных ключей (атака Меркла-Хеллмана)
TDEA-1K1 = K2 = K3 (обратная совместимость с DES)56 битНе рекомендуется, эквивалентен обычному DES

Режим внешней обратной связи по шифротексту (OCB)

Главное отличие ANSI X9.52 от более позднего стандарта NIST SP 800-67 (который описывает 3DES в режиме CBC) заключается в спецификации режима OCB. В этом режиме каждый блок шифротекста зависит не только от текущего блока открытого текста, но и от предыдущего блока шифротекста, а также от начального вектора (IV). Однако на практике в финансовых приложениях чаще использовался режим CBC, описанный в других стандартах, таких как ISO/IEC 10116. Режим OCB, определённый в ANSI X9.52, не получил широкого распространения из-за патентных ограничений и сложности реализации.

Размер блока и ключа

  • Размер блока: 64 бита (8 байт). Это является слабым местом 3DES, так как при большом объёме данных (более 2^32 блоков) возникает риск коллизий в режиме CBC.
  • Размер ключа: 192 бита (24 байта) для TDEA-3, 128 бит (16 байт) для TDEA-2. Однако эффективная криптостойкость составляет 168 и 112 бит соответственно из-за наличия битов чётности в каждом байте ключа DES.

Применение

Финансовый сектор

Основной областью применения ANSI X9.52 была финансовая индустрия. Стандарт использовался для:

  • Шифрования PIN-блоков в банкоматах и POS-терминалах. Протоколы, такие как DUKPT (Derived Unique Key Per Transaction), часто опирались на 3DES.
  • Защиты данных на магнитной полосе карт (Track 1 и Track 2) при их передаче между банками и процессинговыми центрами.
  • Обмена сообщениями в сетях SWIFT и других межбанковских системах.

Безопасность электронных платежей

Стандарт ANSI X9.52 лёг в основу многих спецификаций EMV (Europay, Mastercard, Visa), касающихся аутентификации карт и терминалов. До внедрения AES в 2010-х годах 3DES был обязательным алгоритмом для всех транзакций по чиповым картам.

Государственные и корпоративные системы

Хотя ANSI X9.52 не является обязательным для государственных органов США (где применяется FIPS 140-2 и AES), он активно использовался в корпоративных VPN-решениях и системах управления базами данных для обеспечения обратной совместимости со старым оборудованием.

Критика и ограничения

Производительность

Тройное шифрование DES в три раза медленнее обычного DES. Для процессоров 1990-х и начала 2000-х годов это создавало серьёзные задержки при обработке большого потока транзакций. С появлением аппаратных ускорителей AES (набор инструкций AES-NI) 3DES стал значительно менее эффективным.

Уязвимость к атакам

  • Атака с использованием связанных ключей: Для варианта TDEA-2 (112-битный ключ) существует атака, требующая около 2^32 выбранных открытых текстов, что делает его небезопасным для современных систем.
  • Коллизии в режиме CBC: Из-за 64-битного размера блока после шифрования 2^32 блоков (примерно 32 ГБ данных) вероятность коллизии становится высокой, что может привести к утечке информации.
  • Атака Sweet32: В 2016 году была опубликована атака Sweet32, которая позволяла восстановить открытый текст, используя коллизии в 64-битных блоках. После этого NIST и другие организации рекомендовали полностью отказаться от 3DES.

Устаревание

Стандарт ANSI X9.52 считается устаревшим. NIST в 2018 году официально объявил о прекращении использования 3DES для новых разработок, а с 2023 года запретил его применение в государственных системах США. В России аналогичные рекомендации содержатся в методических документах ФСБ России, где предписывается переход на алгоритмы ГОСТ.

Интересные факты

  1. Название-синоним: Несмотря на то, что ANSI X9.52 технически описывает только режим OCB, в профессиональной среде термин «ANSI X9.52» часто используется как синоним всего тройного DES.
  2. Обратная совместимость: Стандарт был спроектирован так, чтобы при использовании одного и того же ключа (TDEA-1) он полностью имитировал обычный DES, что позволяло постепенно обновлять оборудование без потери функциональности.
  3. Патентные споры: Режим OCB, описанный в стандарте, был запатентован компанией IBM. Это привело к тому, что многие разработчики предпочли использовать режим CBC, который был свободен от патентных ограничений, хотя и не был описан в ANSI X9.52.
  4. Влияние на AES: Опыт разработки и эксплуатации ANSI X9.52 показал, что тройное шифрование не является идеальным решением, и стимулировал конкурс NIST на создание Advanced Encryption Standard (AES), который выиграл алгоритм Rijndael.

Источники

  • ANSI X9.52-1998, «Triple Data Encryption Algorithm (TDEA) Modes of Operation»
  • NIST Special Publication 800-67, «Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher»
  • NIST Special Publication 800-131A, «Transitioning the Use of Cryptographic Algorithms and Key Lengths»
  • «Applied Cryptography» by Bruce Schneier (2nd edition)
  • «Handbook of Applied Cryptography» by Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →