Шифрование защищает ваш текст в транспорте, но не доказывает, кто вы. Добавление контроля целостности также подтверждает вашу личность.
Сценарий:
Я могу зашифровать данные между банкоматом и сервером банка. Никто не может перехватить этот трафик и расшифровать его, поэтому вы можете предположить, что он «защищен». Но ничто не мешает посреднику воспроизводить эти транзакции. Или от воспроизведения трафика, видимого в другом месте банкомата, даже если злоумышленник не знает, что на самом деле содержит транзакция. Транзакции не связаны с каким-либо конкретным банкоматом как единое целое. Поэтому, если я снимаю 100 долларов, то посредник может повторить обмен трафиком 10 раз из разных мест и заставить меня снять 1000 долларов.
Добавление контроля целостности к обмену может заблокировать транзакцию только для одной системы, а также доказать, что транзакция не была изменена. Так, например, я могу заставить банкомат подписывать цифровую отметку времени каждой транзакции. Теперь, когда зашифрованный трафик воспроизводится, сервер может сказать, что это ложная транзакция, поскольку временная метка будет старой. Или, если транзакция из аналогичного банкомата в другом месте воспроизводится, то сервер также может убедиться, что он говорит с другой идентификационной информацией, чем та, которую фактически ожидал. Таким образом, в то время как шифрование защищает канал транзакции, целостность гарантирует, что две конечные точки, дешифрующие трафик, фактически общаются с ожидаемой стороной.