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

Тег аутентификации

Тег аутентификации — это блок данных фиксированной длины, создаваемый с помощью криптографического алгоритма на основе секретного ключа и сообщения (или иных данных), который используется для проверки подлинности сообщения и его целостности. Тег аутентификации является выходным значением кода аутентификации сообщения (MAC) или результатом работы режима аутентифицированного шифрования. Он позволяет получателю убедиться, что сообщение не было изменено в процессе передачи и что оно было отправлено именно тем отправителем, который обладает соответствующим секретным ключом.

История

Концепция тегов аутентификации возникла из необходимости защиты целостности и подлинности данных в условиях открытых сетей. В 1970-х годах, с развитием криптографии, были разработаны первые коды аутентификации сообщений (MAC), такие как CBC-MAC, основанные на блочных шифрах. В 1980-х годах появились более эффективные алгоритмы, например, HMAC (Hash-based Message Authentication Code), который использует криптографические хеш-функции. С развитием интернета и электронной коммерции в 1990-х годах теги аутентификации стали неотъемлемой частью протоколов безопасности, таких как SSL/TLS, IPsec и SSH. В 2000-х годах были разработаны режимы аутентифицированного шифрования (например, GCM, CCM, EAX), которые объединяют шифрование и генерацию тега аутентификации в одном процессе.

Принцип работы

Тег аутентификации вычисляется на основе трёх компонентов:

  • Секретный ключ — известен только отправителю и получателю.
  • Сообщение — открытый текст, который передаётся или хранится.
  • Алгоритм — криптографическая функция, которая преобразует ключ и сообщение в тег фиксированной длины (например, 32, 64, 128 или 256 бит).

Отправитель вычисляет тег аутентификации и передаёт его вместе с сообщением (или отдельно). Получатель, используя тот же секретный ключ и тот же алгоритм, повторно вычисляет тег для полученного сообщения. Если вычисленный тег совпадает с переданным, сообщение считается подлинным и не изменённым. Если теги не совпадают, сообщение отвергается.

Виды тегов аутентификации

По типу алгоритма

  1. Коды аутентификации сообщений (MAC) — теги, создаваемые с помощью симметричных криптографических алгоритмов. Примеры:
  • HMAC — использует хеш-функции (SHA-1, SHA-256, MD5). Широко применяется в протоколах TLS, IPsec, SSH.
  • CBC-MAC — основан на блочных шифрах (AES, DES). Используется в стандартах IEEE 802.11i (Wi-Fi) и ISO 9797.
  • CMAC — улучшенная версия CBC-MAC, рекомендованная NIST (США).
  • Poly1305 — быстрый MAC-алгоритм, часто комбинируемый с шифром ChaCha20.
  1. Теги аутентифицированного шифрования — теги, генерируемые в режимах, которые одновременно шифруют данные и создают тег. Примеры:
  • GCM (Galois/Counter Mode) — использует счётчик для шифрования и умножение в поле Галуа для вычисления тега. Применяется в TLS 1.2/1.3, IPsec, Wi-Fi Protected Access 3 (WPA3).
  • CCM (Counter with CBC-MAC) — комбинирует шифрование в режиме счётчика и MAC на основе CBC. Используется в IEEE 802.11i, Bluetooth Low Energy.
  • ChaCha20-Poly1305 — комбинация потокового шифра ChaCha20 и MAC Poly1305. Применяется в TLS 1.3, SSH, WireGuard.

По длине тега

Длина тега аутентификации варьируется в зависимости от алгоритма и требований безопасности. Стандартные длины:

  • 32 бита (4 байта) — минимальная длина, используемая в некоторых протоколах с низкими требованиями к безопасности.
  • 64 бита (8 байт) — распространённая длина, обеспечивающая умеренную защиту от случайных ошибок.
  • 128 бит (16 байт) — стандартная длина для большинства современных алгоритмов (HMAC-SHA256, AES-GCM). Обеспечивает высокую криптостойкость.
  • 256 бит (32 байта) — используется в алгоритмах, требующих максимальной защиты (например, HMAC-SHA512).

Применение

Протоколы безопасности

  • TLS/SSL — в версиях 1.2 и 1.3 используются теги аутентификации для защиты веб-трафика. Например, в TLS 1.3 применяется режим ChaCha20-Poly1305 или AES-GCM.
  • IPsec — в протоколах ESP (Encapsulating Security Payload) и AH (Authentication Header) теги аутентификации обеспечивают целостность и аутентификацию пакетов данных.
  • SSH — использует HMAC для защиты сеансов удалённого доступа.
  • WireGuard — современный VPN-протокол, использующий ChaCha20-Poly1305 для аутентифицированного шифрования.

Беспроводные сети

  • Wi-Fi Protected Access 2 и 3 (WPA2, WPA3) — в протоколах IEEE 802.11i применяются теги аутентификации на основе AES-CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol).
  • Bluetooth — в версии 4.0 и выше используется AES-CCM для защиты данных.

Электронная коммерция и банковские системы

  • EMV-чипы (Europay, Mastercard, Visa) — в платёжных картах используются теги аутентификации для проверки подлинности транзакций.
  • Apple Pay и Google Pay — применяют теги аутентификации в токенизированных транзакциях.

Криптовалюты и блокчейн

  • Биткойн — в протоколе используется HMAC-SHA256 для проверки целостности транзакций и блоков.
  • Ethereum — в смарт-контрактах и протоколах консенсуса применяются теги аутентификации на основе SHA-3.

Хранение данных

  • Дисковые шифраторы (BitLocker, LUKS) — используют теги аутентификации для защиты от несанкционированного изменения зашифрованных данных.
  • Облачные хранилища — в протоколах, таких как Amazon S3 с SSE-C, теги аутентификации проверяют целостность данных при передаче и хранении.

Криптографические свойства

Тег аутентификации должен обладать следующими свойствами:

  • Стойкость к подделке — злоумышленник, не знающий ключа, не может создать корректный тег для произвольного сообщения с вероятностью, превышающей 2^(-n), где n — длина тега в битах.
  • Стойкость к коллизиям — для разных сообщений с высокой вероятностью вычисляются разные теги.
  • Стойкость к атакам по времени — реализация алгоритма должна быть устойчива к атакам, использующим разницу во времени выполнения операций.

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

  • Атака повторного воспроизведения — злоумышленник может перехватить сообщение с тегом и отправить его повторно. Для защиты используются временные метки или одноразовые номера (nonce).
  • Атака на основе длины тега — если длина тега слишком мала (например, 32 бита), злоумышленник может подобрать корректный тег методом перебора.
  • Атака на реализацию — ошибки в программной или аппаратной реализации алгоритма могут привести к утечке ключа или возможности подделки тега.
  • Атака на основе побочных каналов — анализ времени выполнения, потребляемой мощности или электромагнитного излучения может позволить восстановить ключ.

Стандартизация

Теги аутентификации стандартизированы рядом международных организаций:

  • NIST (США) — стандарты SP 800-38B (CMAC), SP 800-38D (GCM), SP 800-38C (CCM).
  • ISO — стандарты ISO/IEC 9797-1 (MAC на основе блочных шифров), ISO/IEC 9797-2 (MAC на основе хеш-функций).
  • IETF — RFC 2104 (HMAC), RFC 5116 (аутентифицированное шифрование), RFC 8439 (ChaCha20-Poly1305).

Сравнение с другими методами аутентификации

  • Цифровая подпись — использует асимметричную криптографию (открытый и закрытый ключи) и обеспечивает неотказуемость. Тег аутентификации, напротив, требует симметричного ключа и не доказывает третьей стороне, что сообщение отправлено конкретным лицом.
  • Хеш-функция — проверяет только целостность, но не аутентичность, так как не требует секретного ключа. Тег аутентификации объединяет обе функции.
  • Контрольная сумма (CRC) — защищает только от случайных ошибок, но не от злонамеренных изменений.

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

  • В протоколе TLS 1.3 по умолчанию используется тег аутентификации длиной 128 бит, что обеспечивает вероятность случайного совпадения 1 к 2^128.
  • Алгоритм Poly1305, разработанный Дэниелом Бернштейном, может обрабатывать до 1,6 гигабайт данных в секунду на современных процессорах.
  • В криптовалюте Биткойн теги аутентификации используются не только для транзакций, но и для проверки целостности блоков в блокчейне.

Источники

  • NIST Special Publication 800-38B: Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication.
  • NIST Special Publication 800-38D: Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC.
  • RFC 2104: HMAC: Keyed-Hashing for Message Authentication.
  • RFC 8439: ChaCha20 and Poly1305 for IETF Protocols.
  • ISO/IEC 9797-1: Information technology — Security techniques — Message Authentication Codes (MACs) — Part 1: Mechanisms using a block cipher.
  • ISO/IEC 9797-2: Information technology — Security techniques — Message Authentication Codes (MACs) — Part 2: Mechanisms using a dedicated hash-function.
  • Menezes, A., van Oorschot, P., Vanstone, S. (1996). Handbook of Applied Cryptography. CRC Press.

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

На главную BFOmetr →