Атака по сторонним каналам
Атака по сторонним (или побочным) каналам (англ. side-channel attack) — класс атак, направленный на уязвимости в практической реализации криптосистемы, или, в более широком смысле, информационной системы.
В отличие от теоретического криптоанализа, атака по сторонним каналам на к использует информацию о физических процессах в устройстве, которые не рассматриваются в теоретическом описании криптографического алгоритма. Хотя подобные атаки были хорошо известны уже в 1980-х годах, они получили широкое распространение после публикации результатов Полом Кохером в 1996 году[1].
Впоследствии, понятие об атаках по сторонним каналам как о специфическом виде атак на безопасность информационных систем было расширено с узкого класса атак против криптографии на более широкий класс атак на информационные системы как таковые.
Введение[править | править код]
Криптографический примитив[2] можно рассматривать с двух разных точек зрения: с одной стороны, это абстрактный математический объект (алгоритм, возможно параметризованный ключом, переводящий некоторый входной текст в выходной текст); с другой стороны, этот примитив в конечном счёте должен быть реализован в программе, исполняемой на определённом процессоре, на определённом оборудовании, таким образом, он будет обладать определённой спецификой, присущей именно этой реализации.
«Классический» криптоанализ рассматривает криптографические примитивы с первой точки зрения. Второй подход используется в криптоанализе по побочным каналам. Среди параметров специфичных для конкретной реализации обычно используют время выполнения операций, потребляемую мощность, электромагнитное излучение, звуки, издаваемые устройством, и другие. Атаки по сторонним каналам обладают меньшей общностью чем традиционные атаки, основанные на математическом анализе криптографического алгоритма, но в то же время они существенно эффективнее. На текущий момент большинство осуществлённых на практике удачных атак используют слабости в реализации и размещении механизмов криптоалгоритма[3].
Примечания[править | править код]
- ↑ Kocher, Paul. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems (англ.) // Advances in Cryptology—CRYPTO’96 : journal. — 1996. — Vol. 1109. — P. 104—113. — doi:10.1007/3-540-68697-5_9. Архивировано 24 сентября 2015 года.
- ↑ Что такое криптографический примитив? Криптография: Общие вопросы (7 октября 2010). — «Источником примитивов являются труднорешаемые математические проблемы (например проблема дискретного логарифма может служить основой однонаправленной функции) и специально созданные конструкции (блочные шифры, хеш-функции).» Дата обращения: 27 ноября 2011. Архивировано 13 мая 2012 года.
- ↑ YongBin Zhou, DengGuo Feng, 2006, p. 3.