16.3. Атаки с использованием побочных каналов
313
званного задержкой. Злоумышленник, у которого есть возможность прове-
сти большое количество измерений (например, добраться к вашей машине),
может усреднить полученные результаты и определить примерную величи-
ну случайной задержки. Точное количество попыток, необходимое злоумыш-
леннику для осуществления тайминг-атаки, зависит от порядка разницы во
времени выполнения, которую он стремится обнаружить, и порядка случай-
ной задержки, добавляемой в конец операции. В реальных системах всегда
присутствует множество шумов, поэтому злоумышленник, пытающийся осу-
ществить тайминг-атаку, все равно проводит усреднение результатов. Един-
ственным
вопросом для злоумышленника остается отношение объема основ-
ного сигнала к объему шумов.
Еще один
метод борьбы с тайминг-атаками — стандартизация времени вы-
полнения операции. В процессе разработки системы мы выбираем длитель-
ность
d
, которая превышает любое потенциальное время выполнения данного
вычисления. Затем мы замечаем момент времени
t
, в который было нача-
то вычисление, и выжидаем по окончании вычисления до момента времени
t
+
d
. Данная идея подразумевает несколько расточительное использование
системных ресурсов, но вообще-то она неплоха. Нам нравится это решение,
но оно защищает систему только от тайминг-атак в “чистом” виде. Если зло-
умышленник
способен измерять выдаваемое компьютером радиоизлучение
или, скажем, потребление памяти, он, вероятно, сможет обнаружить задерж-
ку между фактическим окончанием вычисления и моментом времени
t
+
d
.
Это, в свою очередь, позволит злоумышленнику осуществлять тайминг-атаки
наравне с атаками других типов. Тем не менее для
проведения атаки, осно-
ванной на измерении радиоизлучения, злоумышленник должен находиться
в непосредственной близости от атакуемой машины. Это значительно сокра-
щает вероятность угрозы по сравнению с тайминг-атаками, которые с успехом
можно осуществлять и через Internet.
Помимо всего прочего, для защиты от тайминг-атак можно применять
методы, основанные на использовании слепых подписей [55]. Такие методы
позволяют скрыть практически все различия во времени выполнения неко-
торых типов вычислений.
Идеального решения
проблемы тайминг-атак не существует. Мы просто не
в состоянии защитить все продаваемые компьютеры от действительно изощ-
ренных атак, подобных основанным на измерении радиоизлучения. Тем не
менее, несмотря на невозможность создания идеального решения, мы можем
создать
хорошее
решение. Просто будьте предельно внимательны к времени
выполнения операций над открытым ключом. Существует и более удачное
решение. Оно состоит в том, чтобы сделать постоянным время выполнения
не только операций над открытым ключом, но и всей транзакции в целом.
Другими словами, нам следует зафиксировать не только время выполнения