Проверка подлинности сообщения
В предыдущей главе мы обсудили угрозы целостности данных и использование техники хеширования для обнаружения атак на изменение данных.
Другой тип угрозы для данных - отсутствие message authentication. В этой угрозе пользователь не уверен в отправителе сообщения. Аутентификация сообщения может быть обеспечена с использованием криптографических методов, использующих секретные ключи, как это делается в случае шифрования.
Код аутентификации сообщения (MAC)
Алгоритм MAC - это криптографический метод с симметричным ключом для аутентификации сообщений. Для установления процесса MAC отправитель и получатель используют симметричный ключ K.
По сути, MAC - это зашифрованная контрольная сумма, сгенерированная в базовом сообщении, которое отправляется вместе с сообщением для обеспечения аутентификации сообщения.
Процесс использования MAC для аутентификации изображен на следующей иллюстрации -
Давайте теперь попробуем подробно разобраться во всем процессе -
Отправитель использует некоторый общеизвестный алгоритм MAC, вводит сообщение и секретный ключ K и выдает значение MAC.
Подобно хешу, функция MAC также сжимает произвольный длинный ввод в вывод фиксированной длины. Основное различие между хешем и MAC заключается в том, что MAC использует секретный ключ во время сжатия.
Отправитель пересылает сообщение вместе с MAC. Здесь мы предполагаем, что сообщение отправлено в открытом виде, поскольку мы заботимся об аутентификации источника сообщения, а не о конфиденциальности. Если требуется конфиденциальность, сообщение нуждается в шифровании.
После получения сообщения и MAC получатель передает полученное сообщение и общий секретный ключ K в алгоритм MAC и повторно вычисляет значение MAC.
Теперь получатель проверяет равенство недавно вычисленного MAC с MAC, полученным от отправителя. Если они совпадают, получатель принимает сообщение и убеждается, что сообщение было отправлено предполагаемым отправителем.
Если вычисленный MAC не совпадает с MAC, отправленным отправителем, получатель не может определить, было ли это сообщение изменено или его источник был подделан. В конечном итоге получатель безопасно предполагает, что сообщение не является подлинным.
Ограничения MAC
Есть два основных ограничения MAC, оба из-за его симметричного характера работы:
Establishment of Shared Secret.
Он может обеспечить аутентификацию сообщений среди заранее определенных законных пользователей, имеющих общий ключ.
Это требует установления общего секрета до использования MAC.
Inability to Provide Non-Repudiation
Неотказуемость - это гарантия того, что отправитель сообщения не может отрицать какие-либо ранее отправленные сообщения и обязательства или действия.
Технология MAC не предоставляет услуги предотвращения отказа от авторства. Если отправитель и получатель вовлечены в спор по поводу происхождения сообщения, MAC не может предоставить доказательство того, что сообщение действительно было отправлено отправителем.
Хотя никакая третья сторона не может вычислить MAC, отправитель может отрицать отправку сообщения и утверждать, что получатель подделал его, поскольку невозможно определить, какая из двух сторон вычислила MAC.
Оба эти ограничения могут быть преодолены с помощью цифровых подписей на основе открытого ключа, обсуждаемых в следующем разделе.