Для взламывания криптоалгоритмов используются два принципиально разных подхода:
Атаки на криптосистему как математический объект;
Атаки на систему реализации криптоалгоритма – так называемые атаки по побочным каналам.
Атаки как на математический объект
Первый класс атак, уже не раз упоминавшийся в этой главе, заключается в выяснении секретного ключа, что в симметричных алгоритмах сводится к прямому перебору всех возможных чисел заданной разрядности, а в асимметричных алгоритмах – к разложению на сомножители произведения двух простых чисел.
Поскольку вычислительные мощности год от года растут, то время, за которое атакующий может вычислить ключ простым перебором, - сокращается. Кроме того, активно ведутся работы по совершенствованию методов разложения больших чисел, которые также сокращают время подбора ключа.
Известно, что длительность процедур подбора ключа зависит от их разрядности, поэтому главным средством противостояния атакам на криптоалгоритмы является увеличение длины используемых в этих алгоритмах ключей.
Именно это мы и наблюдаем в последние годы, когда в ответ на очередное известие об успешной попытке разложения RSA-числа (так называют числа, полученные умножением двух простых чисел), изменяются стандартные требования к их длине. Еще недавно стандартом были 56 бит для алгоритма DES и 500 бит для алгоритма RSA, а сегодня, для того чтобы гарантировано обеспечить требуемую стойкость шифрования, стандарты подняты соответственно до 128 бит (AES) и 2048 бит (RSA). Эксперты утверждают, что вероятность взлома ключей такой длины в течение как минимум следующих 10 лет чрезвычайно мала. На момент написания этого текста наибольшее успешно разложенное RSA-число имело длину 768 бит (232 десятичных разряда).
Атаки по побочным каналам
Принципиально другим подходом к раскрытию криптосистемы являются атаки по побочным каналам. Этот сорт атак основывается на анализе параметров работы программно-аппаратного комплекса, реализующего криптоалгоритм. Для каждого конкретного сочетания программы и модели процессора некоторые параметры процесса вычислений – время получения результата, потребляемая мощность, электромагнитное излучение, даже громкость и характер звуков, издаваемых устройством – все они отражают специфику шифруемого текста, и поэтому могут быть в той или иной степени использованы для раскрытия криптосистемы.
Так в 1998 году была успешно проведена атака по времени выполнения (timing attack) против криптоалгоритма RSA. В ней использовалось предположение о различиях во времени выполнения различных операций алгоритма (умножения и возведение в степень). На основании анализа статистических данных о времени вычислений было определено значение секретного ключа.
Рис. 4.14. Измерение уровня энергопотребления при выполнении алгоритма DES
Аналогичным образом проводятся атаки путем измерения уровня энергопотребления (power analysis attack) вычислительной системы во время выполнения криптоалгоритма. На рис. 4.14 показаны графики энергопотребления микросхемы смарт-карты, при выполнении ею программы шифрования по алгоритму DES. На верхнем графике можно ясно разглядеть фазу начальной перестановки, 16 циклов Фейтеля и фазу финальной перестановки. На нижнем графике приведены более детальные измерения энергопотребления на втором и третьем цикле. На основе анализа такого рода измерений можно успешно раскрыть секретный ключ.
Для противодействия атакам по побочным каналам используются экранирование, добавление шума, генерируемого как программно, так и аппаратно, уравнивание времени выполнения операций путем добавления соответствующих задержек для каждого типа операций и множество других достаточно естественных приемов.
Пройти сертификацию
Пройдите тест по содержанию данного курса (рекомендуется после полного прохождения) и получите сертификат, подтверждающий полученные знания.