2 Стандарты блочного шифрования

Вид материалаРеферат
1.2. Стойкость алгоритмов шифрования
Полное раскрытие
Частичное раскрытие
Тип информации
Таблица 2. Сравнительный анализ времени, затрачиваемого различными группами злоумышленников на нахождение ключа методом перебора
Тип атакующего
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   13

1.2. Стойкость алгоритмов шифрования


Центральным понятием для криптографии является понятие стойкости шифра. К сожалению, получение строгих доказуемых оценок стойкости конкретного шифра остается нерешенной проблемой. Это объясняется отсутствием необходимых для решения такой проблемы математических результатов. Поэтому стойкость конкретного шифра оценивается путем возможных попыток его вскрытия и зависит от квалификации криптоаналитиков, атакующих шифр. Процедуру атаки на шифр с целью выяснения его стойкости называют проверкой стойкости.

Для каждого открытого сообщения существует априорная вероятность выбора, поскольку механизм выбора открытых сообщений можно представить как некоторый вероятностный процесс. Аналогично выбор каждого ключа тоже имеет априорную вероятность. Противник, перехватывающий сообщения, может вычислить апостериорные вероятности как появления открытого сообщения, так и вероятность появления ключа. Набор апостериорных вероятностей представляет собой систему принадлежащих противнику сведений об используемых ключах и передаваемых открытых сообщениях. Причем перед началом перехвата шифрованных сообщений противник имеет в своем распоряжении некоторый набор априорных вероятностей об открытых сообщениях и ключах.

На заре развития криптографии надежность сохранения информации в тайне определялась лишь секретностью самого метода преобразования. Понятно, что в наше время секретность алгоритма не может обеспечить его безусловную стойкость, т.е. невозможность чтения криптограммы противником, обладающим бесконечными вычислительными ресурсами. Поскольку секретные алгоритмы недоступны для широкомасштабных криптоаналитических исследований, то по сравнению с открытыми алгоритмами имеется значительно более высокая вероятность того, что впоследствии будут найдены эффективные методы их взлома. В связи с этим в настоящее время наиболее широко используются открытые алгоритмы, прошедшие длительное тестирование и обсуждение в криптографической литературе1.

Наряду с развитием криптографических систем совершенствовались и методы, позволяющие восстанавливать исходное сообщение исходя из шифртекста и другой известной информации. Успехи этих методов приводили к ужесточению требований к криптографическим алгоритмам.

Голландский криптограф Керкхофф (1835 – 1903) впервые сформулировал правило стойкости шифра, в соответствии с которым:
  1. Весь механизм преобразований считается известным злоумышленнику;
  2. Надежность алгоритма должна определяться только неизвестным значением секретного ключа.

Второе требование означает, что оппонент не сможет разработать методы, позволяющие снять защиту или определить истинный ключ, за время, существенно меньшее, чем время полного (тотального) перебора всего множества возможных секретных ключей.

Правило Керкхоффа стимулировало появление более качественных шифрующих алгоритмов. Можно сказать, что в нем содержится первый элемент стандартизации в области криптографии. В настоящее время это правило интерпретируется более широко: все долговременные элементы системы защиты должны предполагаться известными потенциальному злоумышленнику. В последнюю формулировку криптосистемы входят как частный случай систем защиты.

Итак, что же понимается под стойкостью алгоритма шифрования?

Под раскрытием системы засекреченной связи мы будем понимать одну из следующих планируемых противником операций, направленных на достижение этой цели:
  • Полное раскрытие. Противник находит путем вычислений секретный ключ системы;
  • Нахождение эквивалентного алгоритма. Противник находит алгоритм, функционально эквивалентный алгоритму шифрования, не имея при этом представления об используемом секретном ключе;
  • Нахождение открытого сообщения. Противник находит открытое сообщение, соответствующее одному из перехваченных зашифрованных;
  • Частичное раскрытие. Противник получает частичную информацию об используемом ключе или открытом сообщении.

Каждой из определенных выше целей соответствует свой объем знаний об используемом ключе или переданном открытом сообщении. Чтобы увеличить его, противнику необходимо иметь достаточное количество перехваченных зашифрованных сообщений. Вот почему он осуществляет ряд атак на используемую систему засекреченной связи.

Исходя из вышесказанного, под стойкостью алгоритма шифрования будем понимать способность алгоритма противостоять всем возможным атакам на него.

На практике получение противником требуемых для вскрытия алгоритма апостериорных вероятностей зависит от наличия у него определенных возможностей, среди которых можно отметить следующие:
  1. Противник знает сам шифр и имеет возможности для его предварительного изучения;
  2. Противник знает некоторые характеристики открытых текстов – тематику сообщений, их стиль, стандарты, форматы и т.д.
  3. Противник может перехватывать все зашифрованные сообщения, но не имеет соответствующих им открытых текстов;
  4. Противник может перехватывать все шифрованные сообщения и добывать соответствующие им открытые тексты;
  5. Противник имеет доступ к шифру (но не к ключам) и может зашифровывать и дешифровывать любую информацию.

Теоретически нет такого шифра, который нельзя было бы взломать2. Любой ключ к зашифрованному сообщению, в конце концов, можно подобрать. Вопрос только в том, сколько времени на это понадобится. В большинстве случаев оказывается, что со временем сообщение просто утрачивает свою актуальность (см. таблицу 1), а потому по истечении этого периода его расшифровка злоумышленником не может нанести вреда отправителю и получателю сообщения.

Таблица 1. Время жизни некоторых типов информации


Тип информации

Время жизни

Военная тактическая информация

минуты/часы

Заявления о выпуске продукции

дни/недели

Долгосрочные бизнес-продукции

Годы

Производственные секреты

десятилетия

Секрет создания ядерного оружия

более 40 лет

Информация о разведчиках

более 50 лет

Личная информация

более 50 лет

Дипломатическая тайна

более 65 лет

Информация о переписи населения

100 лет


Стойким считается тот алгоритм, который для своего вскрытия требует от противника практически недостижимых вычислительных ресурсов или недостижимого объема перехваченных зашифрованных сообщений или времени раскрытия, которое превышает время жизни интересующей его информации.

Но поскольку методики взлома шифров непрерывно совершенствуются, нужно быть готовым к адекватному ответу злоумышленникам. Увеличение длины ключа является одним из наиболее радикальных методов противостояния попыткам взлома. Чем длиннее ключ, чем большее количество комбинаций случайных значений в нем, тем больше времени понадобится злоумышленнику на перебор вариантов. Соотношение между длиной ключа и количеством возможных комбинаций носит экспоненциальный характер (удлинение ключа на один бит удваивает количество возможных комбинаций значений ключа и таким образом, в среднем удваивает время на отыскание нужного значения перебором). Удвоение же длины ключа значительно увеличивает степень защиты сообщения.

Необходимую сложность ключа в классических криптографических системах вычислить несложно, если знать технические возможности источника угрозы. Например, одиночка вручную переберет 100 ключей, следовательно, тысячи вариантов ключей достаточно. Это приблизительно 10 бит или 3 – 5 букв. Если же источник угрозы – крупная богатая фирма (которая может нанять криптоаналитиков, суперЭВМ), ясно, что такой длины ключа уже недостаточно. Пусть противник обеспечит проверку 106 вариантов ключей в секунду. Следовательно, число вариантов ключей должно составлять 22 десятичные цифры, а это 70 бит или 30 – 35 букв.

Приведем примеры зависимостей между возможностями злоумышленника и длиной ключа.

Таблица 2. Сравнительный анализ времени, затрачиваемого различными группами злоумышленников на нахождение ключа методом перебора


Тип атакующего

Бюджет

Средства

Время на подбор ключа

Необходимая длина ключа

40 бит

56 бит

Хакеры

Небольшой

ЭВМ

1 неделя

Невозможно

45

400$

FPGA3

5 часов

38 лет

50

Небольшие фирмы

10000$

FPGA

12 минут

18 месяцев

55

Корпоративные департаменты

300000$

FPGA

24 секунды

19 дней

60

ASIC4

18 секунд

3 дня

Большие компании

10000000$

FPGA

7 секунд

13 часов

70

ASIC

0,005 секунды

6 минут


Число необходимых ключей можно вычислить по формуле:

N = время жизни ключа/скорость подбора ключа/шанс взлома5

Раскрытие очень длинного ключа методом тотального перебора в реальных условиях невозможно. Однако не исключена возможность создания принципиально нового метода атаки на шифр.