7.8. Использование MAC
131
версию протокола. (Детали того, как именно злоумышленник Е осуществляет
подобные манипуляции, не имеют значения. Чтобы подсистема вычисления
MAC была безопасной, она не должна зависеть от других частей системы.)
В результате этого пользователь Б разбивает сообщение на поля большего
размера, чем нужно, и получает некорректные данные.
Именно здесь на помощь приходит принцип Хортона
5
. Аутентифициро-
вать нужно не само сообщение, а его смысл. Другими словами, значение MAC
должно аутентифицировать не только сообщение
m
, но и всю информацию,
которая применяется пользователем Б для интерпретации этого сообщения.
Обычно подобная информация включает в себя идентификатор протокола,
номер версии протокола, идентификатор сообщения, образованный в соот-
ветствии с данным протоколом, размеры полей и т.п. Одним из частичных
решений
проблемы может стать отказ от простой конкатенации полей и ис-
пользование вместо этого структуры данных наподобие XML, которая мо-
жет быть проанализирована без необходимости предоставления какой-либо
дополнительной информации.
Принцип Хортона — одна из причин того, почему аутентификация для
протоколов нижних уровней не обеспечивает необходимой аутентификации
для протоколов верхних уровней. Система аутентификации на уровне IP-па-
кетов не может знать о том, как почтовый клиент будет интерпретировать
сообщения. Следовательно, она не сможет проверить, действительно ли кон-
текст, в котором интерпретируется сообщение, соответствует контексту, в ко-
тором это сообщение было отослано. Единственным решением данной про-
блемы является создание для почтового клиента собственной системы аутен-
тификации данных (разумеется, в дополнение к системе аутентификации на
нижних уровнях).
В завершение необходимо отметить следующее: тщательно обдумайте, ка-
кие данные включать в процесс аутентификации. Все эти данные вместе с са-
мим сообщением должны быть представлены в виде строки байтов так, чтобы
последнюю можно было уникальным образом разбить на исходные поля. Не
забывайте применять это к результату конкатенации дополнительных дан-
ных и сообщения, которая упоминалась в начале этого раздела. Если вы со-
бираетесь аутентифицировать строку
d
k
m
, постарайтесь сформулировать
фиксированное правило того, как разбивать полученную строку на поля
d
и
m
.
5
Для тех, чье счастливое детство прошло не в США, поясняем: Хортон — один из пер-
сонажей д-ра Сьюсса (Dr. Seuss), автора популярных детских книг [89].