Код аутентификации сообщения


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

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

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

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

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

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