Взлом криптоалгоритмов: мифы и реалии
 

<<  cтр. 1
стр. 2

Лично мне представляется, что взлом RSA — это решение сложной математической проблемы и нахождение (альтернативного) потайного входа стало бы великим математическим открытием, которое заставило бы полпланеты переделывать свои криптосистемы защиты данных, настраивая их на другие алгоритмы/ключи и т. д.
Также появляются сведения о раскрытии шифра для определенной длины ключа. Например, в конце 1995 года удалось практически реализовать раскрытие шифра RSA для 500-значного ключа. Для этого с помощью Интеpнета было задействовано 1600 компьютеров. Здесь также имеет смысл говорить о длительности вычислений — ведь за три-пять лет (практическое время взлома) зачастую информация устаревает. Сами авторы RSA рекомендуют использовать следующие размеры модуля n:
- 768 бит — для частных лиц;
- 1024 бит — для коммерческой информации;
- 2048 бит — для особо секретной информации.
Хочу обратить внимание читателя на запись в табл. 2: «Требует существенных изменений в технологии». О ней-то мы сейчас и поговорим.

Квантовый компьютер IBM

В августе 2000 года корпорация IBM объявила о разработке первого в мире квантового компьютера. Экспериментальная модель, построенная на пяти атомах, продемонстрировала потенциал систем такого рода, решая определенные задачи со скоростью, значительно превышающей быстродействие обычных компьютеров. Что получится, если количество работающих атомов увеличить до тысячи? А до миллиона? Как признался руководитель группы ученых из IBM, Стэнфордского университета и Университета Калгари Исаак Чуанг (Isaac Chuang), квантовый компьютер можно использовать, в частности, и для взлома криптографических шифров.

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

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

Криптоанализ

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

Таблица 2. Трудоемкость разложения на множители произведения простых чисел.Современная криптография исходит из принципа, что стойкость криптографического преобразования должна обеспечиваться только сохранением в тайне ключа. При проектировании криптографической системы изначально предполагается, что алгоритм является открытым (или как минимум известен вероятному противнику), а ключ, наоборот, надежно защищен. Стойкость алгоритма шифрования обычно оценивают в количестве типовых операций, требующихся для расшифрования зашифрованного сообщения и/или подбора ключа шифрования наилучшим алгоритмом.
Криптоанализ традиционно используется для решения следующих задач:
- восстановление исходной информации по ее криптограмме;
- вычисление закрытого ключа по известному открытому;
- формирование электронной цифровой подписи сообщения без знания закрытого ключа;
- создание фальшивого электронного документа, соответствующего известной подписи.
Помимо классического криптоанализа для атак на криптосистемы могут использоваться недостатки в реализации криптоалгоритмов. Вспомним, для иллюстрации, найденные дыры в парольной системе защиты известного архиватора Pkzip/WinZip.
Какие возможны вообще атаки на системы криптографической защиты данных?
 
Атака с возможностью экспериментов

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

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

Атака на шифрованное сообщение

В данном случае атакующий не знает ничего о содержании сообщения, и ему приходится работать лишь с самим шифрованным текстом. На практике часто можно сделать правдоподобные предположения о структуре текста, поскольку многие сообщения имеют стандартные заголовки. Даже обычные письма и документы начинаются с легко предсказуемой информации, например «здравствуйте» или «привет». Также часто можно предположить, что некоторый блок информации содержит заданное слово (например, в документах MS Word содержится строка вроде «Microsoft Word 9.0»).

Атака с подменой ключей

Эта атака зачастую основана на нападении на протокол обмена ключами. Суть в том, что, когда две стороны обмениваются ключами для секретной связи, противник внедряется между ними на линии обмена сообщениями. Далее он выдает каждой стороне свои ключи. В результате обе стороны будет иметь разные ключи, каждый из которых известен противнику. Теперь противник будет расшифровывать каждое сообщение своим ключом и затем зашифровывать его с помощью другого ключа перед отправкой адресату. Стороны будут иметь иллюзию секретной переписки, в то время как на самом деле противник читает все сообщения. Конечно, не все так просто, и против такого приема придумано множество всяческих «противоядий», но задуматься стоит.

Панацея

Как я уже отмечал, симметричные криптосистемы считаются более «стабильными к взлому» по сравнению с криптосистемами с открытым ключом. Более того, самым лучшим способом защиты принимаются симметричные криптосистемы с одноразовым случайным ключом. Ключ должен быть действительно случайным, а не псевдослучайным. Главное и решающее преимущество симметричной криптосистемы на одноразовых ключах — ее независимость от прогресса в математической теории (конечно, у любого симметричного алгоритма есть множество недостатков, главный из которых — управление ключами; но речь сейчас не об этом). То есть — абсолютная надежность и гарантированная стойкость (насколько позволяет сам алгоритм). Не зря же их используют разведчики всего мира (благо их «трафик» невелик). Стойкость же любого другого криптоалгоритма может катастрофически меняться (в меньшую сторону). Оценить стойкость криптоалгоритма можно, только зная самый эффективный способ его взлома. А такие способы имеют свойство все время появляться (изобретаться), так же как и производительность компьютеров — расти.

Причины ненадежности криптографических программ

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

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

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

Заключение

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

Литература и ссылки по теме

[1] Bruce Schneier, Self-Study Course in Block Cipher Cryptanalysis Cryptologia, v.24, n.1, pp. 18-34, Jan 2000.
[2] В. Зима, А. Молдовян, Н. Молдовян, Безопасность глобальных сетевых технологий. — СПб.: BHV, 2001.
[3] Максим Левин, Безопасность в сетях Internet и intranet. — М.: «Познавательная книга плюс», 2001.
[4] А. В. Бабаш, Г. П. Шанкин, Криптография. Аспекты защиты. — М.: «Солон-Р», 2002.
[5] А. В. Домашев, М. Л. Грунтовик, В. О. Попов, Д. И. Правиков, А. Ю. Щербина, И. В. Прокофьев, Программирование алгоритмов защиты информации. Издатель Могачева С. В. — М.: «Нолидж», 2002.
[6] Много всего о криптоанализе и криптографии: http://www.ssl.stu/. neva.ru/psw/crypto.html.
[7] Некоммерческий проект проверки криптостойкости алгоритмов при помощи распределенных вычислений: http://www.distributed.net/.



 
<<  cтр. 1
стр. 2


  МАТЕРИАЛЫ ПО ТЕМЕ  

 SecExMail: шифрование электронной почты
 Crypto Anywhere – шифрование электронной почты
 Программа - электронный шпион
 Настройка фильтров против спама в Outlook Express
 В антиспамовых программах начинают применять зачатки AI — искусственного интеллекта
 Взлом криптоалгоритмов: мифы и реалии
 SpamGuard остановит СПАМ
 Secure Email Attachments – защита e-mail-сообщений
 Защититься от спама... можно
 Panda Software против Лаборатории Касперского
 Утилита защиты данных
 AppScan DE отыщит ошибки в кодах программ Microsoft
 Утилита для очистки системы
 Утилита для шифрования данных в Windows
 Новый программный продукт "Лаборатории Касперского" Kaspersky Anti-Spam

 

© Антон Тульчинский,19.05.2003

 

Меню по безопасности

Сайт управляется системой uCoz