8.2. Порядок аутентификации и шифрования
137
шифрования, исправляет недостатки последней и делает ее безопасной. Как
видите, для реальных систем подобные теоретические результаты не име-
ют большого значения. В действительности существуют аналогичные дока-
зательства того, что такая
проблема вообще не возникает для всех поточных
шифров (таких, как режим CTR) и для режима CBC.
Необходимо также отметить, что подход “сначала шифрование, затем
аутентификация” более эффективен при отбрасывании фальсифицирован-
ных сообщений. Если с сообщением все в порядке, пользователь Б должен
и расшифровать сообщение, и проверить его значение MAC независимо от
того, в каком порядке применялись шифрование и аутентификация. Если же
сообщение является поддельным (т.е. имеет неправильное значение MAC),
пользователь Б его отбросит. Если к сообщению вначале применялось шиф-
рование, а затем аутентификация, на стороне получателя операция дешиф-
рования будет проводиться после операции аутентификации. В этом случае
пользователю Б не придется расшифровывать поддельные сообщения, по-
скольку он обнаружит и отбросит их еще до расшифровки. Если же к со-
общению сначала применялась аутентификация, а затем шифрование, поль-
зователю Б придется расшифровывать абсолютно все сообщения — только
так он сможет проверить их значения MAC. Таким образом, во втором слу-
чае пользователю Б придется проделывать лишнюю работу по расшифровке
поддельных сообщений. Данная
проблема становится актуальной тогда, ко-
гда злоумышленник Е отсылает пользователю Б большое количество фальси-
фицированных сообщений. Отбрасывая эти сообщения еще до расшифровки,
пользователь Б снижает нагрузку на процессор. Кроме того, в некоторых (на-
до сказать, весьма редких) случаях применение данного подхода несколько
затрудняет
проведение атак типа “отказ в обслуживании” (denial-of-service —
DOS). На практике большинство DOS-атак направлены на переполнение ка-
нала общения, а вовсе не на загрузку фальсифицированными сообщениями
процессора пользователя Б. Лично нам этот аргумент не кажется убедитель-
ным, так как мы всегда готовы пожертвовать производительностью ради без-
опасности.
Существует два основных аргумента и в пользу второго подхода, при
котором вначале применяется аутентификация, а затем шифрование. Если
шифрование выполняется перед аутентификацией, злоумышленник Е видит
и текст, для которого вычислено значение MAC, и само значение MAC. Ес-
ли же шифрование выполняется после аутентификации, злоумышленник ви-
дит только шифрованный текст и зашифрованное значение MAC; сам текст,
для которого вычислено значение MAC (т.е. открытый текст), и настоящее
значение MAC от него скрыты. Это существенно затрудняет нападение на
функцию вычисления MAC по сравнению с первым подходом. Вообще го-
воря, суть спора о порядке шифрования и аутентификации состоит в том,