Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Терминология [ править ]

Термин « код целостности сообщения» (MIC) часто заменяется термином MAC , особенно в коммуникациях [1], чтобы отличить его от использования последнего в качестве адреса управления доступом к среде ( MAC-адрес ). Однако некоторые авторы [2] используют MIC для обозначения дайджеста сообщения , цель которого - однозначно, но непрозрачно идентифицировать отдельное сообщение. RFC 4949 рекомендует избегать термина « код целостности сообщения» (MIC) и вместо этого использовать контрольную сумму , код обнаружения ошибок , хэш , хэш с ключом , код аутентификации сообщения илизащищенная контрольная сумма .

Определения [ править ]

Неформально система кодов аутентификации сообщений состоит из трех алгоритмов:

  • Алгоритм генерации ключей выбирает ключ из ключевого пространства равномерно и случайным образом.
  • Алгоритм подписи эффективно возвращает тег с учетом ключа и сообщения.
  • Алгоритм проверки эффективно проверяет подлинность сообщения с учетом ключа и тега. То есть возврат принимается, если сообщение и тег не подделаны или подделаны, и в противном случае возврат отклонен .

Код аутентификации безопасного сообщения должен противостоять попыткам злоумышленника подделать теги для произвольных, выбранных или всех сообщений , в том числе в условиях известного или выбранного открытого текста . Вычислить допустимый тег данного сообщения без знания ключа должно быть невозможно с вычислительной точки зрения, даже если в худшем случае мы предполагаем, что злоумышленник знает тег любого сообщения, кроме рассматриваемого. [3]

Формально система кода аутентификации сообщения ( MAC ) представляет собой тройку эффективных [4] алгоритмов ( G , S , V ), удовлетворяющих:

  • G (генератор ключей) выдает ключ k на входе 1 n , где n - параметр безопасности.
  • S (подписывание) выводит тег t на ключ k и входную строку x .
  • V (проверка) выходы, принятые или отклоненные на входах: ключ k , строка x и тег t .

S и V должны удовлетворять следующим условиям:

Pr [ kG (1 n ), V ( k , x , S ( k , x )) = принято ] = 1. [5]

MAC невозможно подделать, если для каждого эффективного противника A

Pr [ kG (1 n ), ( x , t ) ← A S ( k , ·) (1 n ), x ∉ Query ( A S ( k , ·) , 1 n ), V ( k , x , t ) = принято ] <negl ( n ),

где A S ( k , ·) обозначает, что A имеет доступ к оракулу S ( k , ·), а Query ( A S ( k , ·) , 1 n ) обозначает множество запросов к S, сделанных A , которые знает , п . Ясно, что мы требуем, чтобы любой противник не мог напрямую запросить строку x на S , поскольку в противном случае действительный тег может быть легко получен этим противником. [6]

Безопасность [ править ]

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

MAC-адреса отличаются от цифровых подписей, поскольку значения MAC создаются и проверяются с использованием одного и того же секретного ключа. Это означает, что отправитель и получатель сообщения должны согласовать один и тот же ключ перед началом связи, как в случае с симметричным шифрованием . По той же причине MAC не предоставляют свойство неотказуемости, предлагаемое подписями, особенно в случае общесетевого общего секретного ключа: любой пользователь, который может проверить MAC, также способен генерировать MAC для других сообщений. Напротив, цифровая подпись создается с использованием закрытого ключа пары ключей, что является криптографией с открытым ключом. [4]Поскольку этот закрытый ключ доступен только его держателю, цифровая подпись доказывает, что документ был подписан не кем иным, как этим держателем. Таким образом, цифровые подписи обеспечивают защиту от авторства. Однако предотвращение отказа от авторства может быть обеспечено системами, которые надежно связывают информацию об использовании ключа с ключом MAC; один и тот же ключ находится во владении двух человек, но у одного есть копия ключа, который может использоваться для генерации MAC, а у другого есть копия ключа в аппаратном модуле безопасности, который разрешает только проверку MAC. Это обычно делается в финансовой сфере. [ необходима цитата ]

Реализация [ править ]

Алгоритмы MAC могут быть построены из других криптографических примитивов, таких как криптографические хэш-функции (как в случае HMAC ) или из алгоритмов блочного шифрования ( OMAC , CCM , GCM и PMAC ). Однако многие из самых быстрых алгоритмов MAC, такие как UMAC - VMAC и Poly1305-AES , построены на основе универсального хеширования . [7]

Хэш-алгоритмы с внутренними ключами, такие как SipHash , также по определению являются MAC; они могут быть даже быстрее, чем MAC на основе универсального хеширования. [8]

Кроме того, алгоритм MAC может намеренно комбинировать два или более криптографических примитива, чтобы поддерживать защиту, даже если один из них позже окажется уязвимым. Например, в протоколе безопасности транспортного уровня (TLS) входные данные разделяются пополам, каждая из которых обрабатывается с помощью разных примитивов хеширования ( SHA-1 и SHA-2 ), а затем объединяется методом XOR для вывода MAC.

Одноразовый MAC [ править ]

Универсальное хеширование и, в частности, попарно независимые хеш-функции обеспечивают безопасный код аутентификации сообщения, если ключ используется не более одного раза. Это можно рассматривать как одноразовый блокнот для аутентификации. [9]

Простейшая такая попарно независимая хеш-функция определяется случайным ключом key = ( a , b ) , а тег MAC для сообщения m вычисляется как tag = ( am + b ) mod p , где p - простое число.

В более общем смысле, k -независимые функции хеширования обеспечивают безопасный код аутентификации сообщения до тех пор, пока ключ используется менее k раз для k- независимых хэш-функций.

Коды аутентификации сообщений и аутентификация источника данных также обсуждались в рамках квантовой криптографии. В отличие от других криптографических задач, таких как распределение ключей, для довольно широкого класса квантовых MAC-адресов было показано, что квантовые ресурсы не дают никаких преимуществ перед безусловно безопасными одноразовыми классическими MAC. [10]

Стандарты [ править ]

Существуют различные стандарты, определяющие алгоритмы MAC. Это включает:

  • FIPS PUB 113 Computer Data Authentication , [11] отозвано в 2002 году, [12] определяет алгоритм, основанный на DES .
  • FIPS PUB 198-1 Код аутентификации сообщения с ключом- хешем (HMAC) [13]
  • ISO / IEC 9797-1 Механизмы, использующие блочный шифр [14]
  • ISO / IEC 9797-2 Механизмы, использующие выделенную хеш-функцию [15]
  • ISO / IEC 9797-3 Механизмы, использующие универсальную хеш-функцию [16]
  • ISO / IEC 29192-6 Облегченная криптография - Коды аутентификации сообщений [17]

ИСО / МЭК 9797-1 и -2 определяют общие модели и алгоритмы, которые могут использоваться с любым блочным шифром или хеш-функцией, а также с множеством различных параметров. Эти модели и параметры позволяют определять более конкретные алгоритмы путем назначения параметров. Например, алгоритм FIPS PUB 113 функционально эквивалентен алгоритму MAC 1 ISO / IEC 9797-1 с методом заполнения 1 и алгоритму блочного шифрования DES.

Пример использования MAC [ править ]

[18] В этом примере отправитель сообщения запускает его через алгоритм MAC для создания тега данных MAC. Затем сообщение и MAC-тег отправляются получателю. Получатель, в свою очередь, запускает часть сообщения передачи через тот же алгоритм MAC, используя тот же ключ, создавая второй тег данных MAC. Затем приемник сравнивает первый MAC-тег, полученный при передаче, со вторым сгенерированным MAC-тегом. Если они идентичны, получатель может с уверенностью предположить, что сообщение не было изменено или подделано во время передачи ( целостность данных ).

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

См. Также [ править ]

  • Контрольная сумма
  • CMAC
  • Код аутентификации сообщений на основе хэша (HMAC)
  • MAA
  • MMH-Барсук MAC
  • Поли1305
  • Аутентифицированное шифрование
  • UMAC
  • VMAC
  • SipHash

Заметки [ править ]

  1. ^ IEEE 802.11: Технические характеристики управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY) (PDF) . (Редакция 2007 г.). IEEE-SA . 12 июня 2007 г. doi : 10.1109 / IEEESTD.2007.373646 . ISBN 978-0-7381-5656-9.
  2. ^ Фред Б. Шнайдер, Хэши и дайджесты сообщений, Корнельский университет
  3. ^ Предполагается, что самый сильный противник имеет доступ к алгоритму подписи, не зная ключа. Однако ее окончательное поддельное сообщение должно отличаться от любого сообщения, которое она выбрала для запроса алгоритма подписи ранее. См. Обсуждения Pass до def 134.2.
  4. ^ a b Теоретически эффективный алгоритм работает в пределах вероятностного полиномиального времени.
  5. ^ Пройдите, по умолчанию 134,1
  6. ^ Пройдено, по умолчанию 134,2
  7. ^ «VMAC: Код аутентификации сообщения с использованием универсального хеширования» . CFRG Рабочая группа . Проверено 16 марта 2010 года .
  8. ^ Жан-Филипп Аумассон и Даниэль Дж. Бернштейн (2012-09-18). «SipHash: быстрый PRF с коротким вводом» (PDF) .
  9. Перейти ↑ Simmons, Gustavus (1985). «Теория аутентификации / теория кодирования». Достижения в криптологии: материалы CRYPTO 84 . Берлин: Springer. С. 411–431.
  10. ^ Николопулос, Георгиос М .; Фишлин, Марк (2020). "Информационно-теоретически безопасная аутентификация источника данных с использованием квантовых и классических ресурсов" . Криптография . 4 (4): 31. arXiv : 2011.06849 . DOI : 10.3390 / криптография4040031 . S2CID 226956062 . 
  11. ^ «FIPS PUB 113 Аутентификация компьютерных данных » . Архивировано из оригинала на 2011-09-27 . Проверено 10 октября 2010 .
  12. ^ «Публикации федеральных стандартов обработки информации, изъятые из списка FIPS по номеру» . Архивировано из оригинала на 2010-08-01 . Проверено 10 октября 2010 .
  13. ^ Код аутентификации сообщения с ключом-хешем (HMAC)
  14. ^ ISO / IEC 9797-1 Информационные технологии - Методы безопасности - Коды аутентификации сообщений (MAC) - Часть 1: Механизмы, использующие блочный шифр
  15. ^ ISO / IEC 9797-2 Информационные технологии - Методы безопасности - Коды аутентификации сообщений (MAC) - Часть 2: Механизмы, использующие выделенную хеш-функцию
  16. ^ ISO / IEC 9797-3 Информационные технологии - Методы безопасности - Коды аутентификации сообщений (MAC) - Часть 3: Механизмы, использующие универсальную хеш-функцию
  17. ^ ISO / IEC 29192-6 Информационные технологии - Облегченная криптография - Часть 6: Коды аутентификации сообщений (MAC)
  18. ^ «Обзор безопасности Mac», Библия безопасности Mac® , Wiley Publishing, Inc., 2011-11-01, стр. 1-26, doi : 10.1002 / 9781118257739.ch1 , ISBN 9781118257739

Ссылки [ править ]

  • Goldreich, Oded (2001), Основы криптографии I: Основные инструменты , Кембридж: Издательство Кембриджского университета, ISBN 978-0-511-54689-1
  • Goldreich, Oded (2004), Основы криптографии II: Основные приложения (1. изд. Изд.), Кембридж [ua]: Cambridge Univ. Пресса, ISBN 978-0-521-83084-3
  • Пасс, Рафаэль, Курс криптографии (PDF) , получено 31 декабря 2015 г.[1]

Внешние ссылки [ править ]

  • Запись RSA Laboratories на MAC
  • Лекция Рона Ривеста о MAC
  1. ^ 11-12-20C8