1
• Продолжаем рассматривать протокол TLS, в этот раз целостность данных - обнаружение случайного или преднамеренного изменения данных.
• Чтобы обеспечить целостность в TLS используется Message Authentication Code (MAC), русскоязычное название имитовставка. Не путать с MAC-адресом на канальном уровне.
• Идея простая: считаем хэш от сообщения с помощью криптографической хэш-функции и добавляем его к сообщению. Получатель также считает хэш по таким же правилам и сравнивает его с хэшем в полученном сообщении. Если хэши совпадают, то сообщение не было изменено.
• Однако такая простая схема не работает: злоумышленник может перехватить сообщение, изменить его, пересчитать хэш, записать обновленное значение хэша в сообщение, а затем передать получателю.
• Поэтому в Message Authentication Code хэш считается не только от самого сообщения, но и от ключа, который есть только у отправителя и получателя. Такой код аутентификации злоумышленник не может подделать (только если не получит доступ к ключу, но в этом случае вся защита закончится).
• В современной версии TLS 1.3 используется еще более сложный подход: шифры типа Authenticated Encryption with Associated Data (AEAD). В них сразу выполняется шифрование и MAC. Примеры таких шифров: AES-GCM, Chacha20-Poly1305.
#Сети #Курс