Автор работы: Пользователь скрыл имя, 26 Мая 2013 в 18:21, курсовая работа
Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день, появление вычислительных средств ускорило разработку и совершенствование криптографических методов.
Проблема использования криптографических методов в информационных системах стала в настоящий момент особо актуальна.
С одной стороны, расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем еще недавно считавшихся практически не раскрываемыми.
Современная криптография включает в себя четыре крупных раздела:
- Симметричные криптосистемы.
- Криптосистемы с открытым ключом.
- Системы электронной подписи.
- Управление ключами.
Основные направления использования криптографических методов - передача конфиденциальной информации по каналам связи (например, электронная почта), установление подлинности передаваемых сообщений, хранение информации (документов, баз данных) на носителях в зашифрованном виде.
Криптографические методы защиты информации в автоматизированных системах могут применяться как для защиты информации, обрабатываемой в ЭВМ или хранящейся в различного типа ЗУ, так и для закрытия информации, передаваемой между различными элементами системы по линиям связи. Криптографическое преобразование как метод предупреждения несанкционированного доступа к информации имеет многовековую историю. В настоящее время разработано большое количество различных методов шифрования, созданы теоретические и практические основы их применения. Подавляющие число этих методов может быть успешно использовано и для закрытия информации.
Итак, криптография дает возможность преобразовать информацию таким образом, что ее прочтение (восстановление) возможно только при знании ключа.
Для современных криптографических систем защиты информации сформулированы следующие общепринятые требования:
- зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
- число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
- число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых вычислений);
- знание алгоритма шифрования не должно влиять на надежность защиты;
- незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
- структурные элементы алгоритма шифрования должны быть неизменными;
- дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
- длина шифрованного текста должна быть равной длине исходного текста;
- не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;
- любой ключ из множества возможных должен обеспечивать надежную защиту информации;
- алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
3 КРИПТОГРАФИЧЕСКИЕ АТАКИ
3.1 Аналитические атаки
Все аналитические атаки происходят при допущении, что криптоаналитику известно описание генератора (образующие полиномы, вид нелинейного преобразования), он обладает открытым и соответствующим ему закрытым текстом. Атаки данного класса эквивалентны атакам по известному открытому тексту. Задачей криптоаналитика является определение применяемого ключа (начального заполнения). На рисунке 3.1.1 представлены наиболее известные криптоаналитические атаки, применяемые к синхронным поточным шифрам.
Рисунок 3.1.1 – Криптоаналитические атаки
Наиболее распространенными и упоминаемыми атаками являются корреляционные атаки в силу специфики построения поточных шифров. Показано, что если нелинейная функция пропускает на выход информацию о своих внутренних компонентах, то работа по вскрытию такой системы может быть существенно сокращена. Более того, такая функция существует всегда, даже если она задействует память. В силу данной аксиомы корреляционные атаки используют корреляцию выходной последовательности схемы шифрования с выходной последовательностью регистров для восстановления начального заполнения последних.
Большая часть рассматриваемых атак основана на некотором итерационном исправляющем ошибке алгоритме. Основываясь на допущении, что выходная последовательность генератора {z} коррелирует с выходной последовательностью регистра {x}, для описания и исследования корреляции моделируется поведение выходной последовательности регистра как последовательности, проходящей через некоторый канал. В качестве модели, имитирующей прохождение, рассматривается двоичный симметричный канал (ДСК) с некоторой вероятностью корреляции 1 - р, где 1 - р = Р(xi = zi), р определено как вероятность перехода (вероятность ошибки) в ДСК, полагается р = - δ .
Обобщенная схема корреляционной атаки для восстановления начального состояния представлена на рисунке 3.1.2.
Рисунок 3.1.2 – Обобщенная схема корреляционной атаки для восстановления начального состояния линейного рекуррентного регистра
Например, базовая корреляционная атака Зигенталера. Суть алгоритма основана на идее, что всякая комбинирующая функция f в той или иной мере выдает в гамму шифра {z} некоторую информацию о последовательности {х(j)}, сгенерированной j-тым регистром сдвига. Для выделения воздействия j-го линейного рекуррентного регистра (ЛРР) на гамму шифра {z} моделируется часть генератора как двоичный симметричный канал (ДСК). Алгоритм атаки состоит из двух фаз: фазы вычисления корреляционной ("утекающей") вероятности pj = P(z=х(j)) исходя из комбинирующей функции f и фазы перебора начальных заполнений регистра. В фазе перебора посредством вычисления функции кросс-корреляции и последующего сравнения с некоторым пороговым значением T определяется наличие корреляции данного фрагмента гаммы z с соответствующим фрагментом из x(j).
Пороговое значение Т и необходимое для успешного криптоанализа количество бит гаммы n определяется исходя из следующих соображений. Пусть Pf = P(C{ x(j)},{z} ≥ T | неверная фаза) определена как вероятность “ложной тревоги”, и пусть Pm = P(C{ x(j)},{z} < T | верная фаза) определена как вероятность пропуска истинного начального заполнения. Тогда T и n следуют из вероятности Pm, которая выбирается свободно в соответствии с тем риском, на который можно пойти в пропуске верной фазы, например Pm=0,01, и вероятности Pf, которую рекомендуется выбирать как Pf = 2-L. Вычислительная сложность алгоритма составляет в среднем О( ), что выглядит намного привлекательней по сравнению со сложностью О( ) , требующейся при поиске ключа тотальным перебором. Алгоритм применим лишь при Lj ≤ 50 и в случаях, когда нелинейный комбинирующий узел f допускает утечку информации об отдельных входных переменных.[2]
В последнее время одним из самых актуальных направлений криптоанализа стало осуществление атак, использующих особенности реализации и рабочей среды. Атаки по сторонним, или побочным, каналам — это вид криптографических атак, использующих информацию, полученную по сторонним или побочным каналам. Под информацией из побочных каналов понимается информация, которая может быть получена с устройства шифрования и не является при этом ни открытым текстом, ни шифртекстом. При подготовке этого раздела использовались материалы доклада
Почти все осуществленные на практике удачные атаки на криптосистемы используют слабости в реализации и размещении механизмов криптоалгоритма. Такие атаки основаны на корреляции между значениями физических параметров, измеряемых в разные моменты во время вычислений (потребление энергии, время вычислений, электромагнитное излучение и т.п.), и внутренним состоянием вычислительного устройства, имеющим отношение к секретному ключу. На практике атаки по побочным каналам на много порядков более эффективны, чем традиционные атаки, основанные только на математическом анализе. При этом атаки по побочным каналам используют особенности реализации (поэтому их иногда называют также называют атаками на реализацию - implementation attacks) для извлечения секретных параметров, задействованных в вычислениях. Такой подход менее обобщённый, поскольку привязан к конкретной реализации, но зачастую более мощный, чем классический криптоанализ.
Рисунок 3.2.1 – Источники побочных каналов утечки информации
В последние годы резко возросло количество криптографических атак, использующих особенности реализации и рабочей среды. Например, противник может отслеживать энергию, потребляемую смарт-картой, когда она выполняет операции с закрытым ключом, такие, как расшифрование или генерация подписи. Противник может также замерять время, затрачиваемое на выполнение криптографической операции, или анализировать поведение криптографического устройства при возникновении определённых ошибок. Побочную информацию на практике собрать порой несложно, поэтому нужно обязательно учитывать такую угрозу при оценке защищённости системы.
Атаки по побочным каналам классифицируются по следующим трём типам:
- по контролю над вычислительным процессом: пассивные и активные.
- по способу доступа к модулю: агрессивные (invasive), полуагрессивные (semi-invasive) и неагрессивные (non-invasive).
- по методу, применяемому в процессе анализа: простые – simple side channel attack (SSCA) и разностные – differential side channel attack (DSCA).
На сегодняшний день выделено более десяти побочных каналов. Атаки различаются по виду используемого побочного канала : атаки по времени исполнения (Timing Attacks), атаки по энергопотреблению (Power Analysis Attacks), атаки по ошибкам вычислений (Fault Attacks), атаки по электромагнитному излучению (ElectroMagnetic Analysis), атаки по ошибкам в канале связи (Error Message Attacks). Существуюти более изощренные виды атак: атаки по кэш-памяти (Cache-based Attacks), акустические атаки (Acoustic Attacks), атаки по световому излучению (Visible Light Attacks).[2]
Атака по времени – способ получения какой-либо скрытой информации путем точного измерения времени, которое требуется пользователю для выполнения криптографических операций. Это – самая первая из атак по побочным каналам, появившаяся в гражданской криптографии. Зачастую время обработки данных в криптосистемах немного изменяется в зависимости от входных значений (например, открытого текста или шифртекста). Это является следствием оптимизации производительности и широкого круга иных причин. Атака по времени основана на измерении времени, необходимого модулю шифрования для выполнения операции шифрования. Эта информация может вести к раскрытию информации о секретном ключе. Например, тщательно измеряя время, требуемое для выполнения операций с секретным ключом, атакующий может найти точное значение экспоненты в алгоритме Diffie-Hellman .