Коллектив авторов - Защита от хакеров корпоративных сетей
Ошибки в реализации криптостойких алгоритмов или не предусмотренные разработчиками алгоритмов способы их использования способствуют повышенной уязвимости построенных на их основе криптографических систем. Так, для алгоритма Диффи-Хеллмана опасны атаки «злоумышленник посередине» (man-in-the-middle-type attacks). Сравнительно легко могут быть раскрыты пароли в формате кэш-величин LanManager (LANMAN), зашифрованные с помощью DES. К малоприятным результатам приводит использование легко вскрываемых паролей или ключевых фраз в симметричных криптосистемах. А неверное хранение секретного или личного паролей может вообще сделать бессмысленным шифрование сообщений.
Иногда для хранения информации в тайне используются обратимые или недостаточно криптостойкие алгоритмы. В главе было рассказано об уязвимости недостаточно криптостойких шифров к частотному анализу (frequency analysis), при котором для расшифровки сообщений используются частотные характеристики языка. Известны атаки, основанные на анализе длин открытого и зашифрованного текстов (ciphertext relative lengthanalysis) или анализе сходства зашифрованного и открытого текстов (similar plaintext analysis). Были рассмотрены примеры, когда разработчик пытался сохранить данные в тайне при помощи операций XOR или алгоритма кодирования Base64, и приведены простые примеры программ обратимого кодирования, основанные на этих принципах. Попутно было рассказано об алгоритмах сжатия данных как средства их защиты.
Конспект
Концепции криптографии
· Незашифрованные данные называются открытым (незашифрованным) текстом ( plaintext), а зашифрованные – зашифрованным текстом (ciphertext).
· Криптографические системы могут быть симметричными и асимметричными. В симметричных криптосистемах используется один секретный ключ, в то время как у асимметричных – два: открытый и секретный (личный).
· Криптография с открытым ключом была изобретена Уитфилдом Диффи (Whitfield Diffie) и Мартином Хеллманом (Martin Hellman) как безопасный метод обмена секретными ключами.
Стандарты алгоритмов шифрования
· Причина использования в наши дни большого количества криптографических алгоритмов заключается в том, что каждый алгоритм хорош по-своему. Каждый из них можно охарактеризовать скоростью обработки данных, удобством использования и безопасностью. Для обоснованного выбора наиболее подходящего в конкретной ситуации алгоритма следует досконально знать их возможности.
· Стандарт шифрования данных DES (Data Encryption Standard) – наиболее известный алгоритм шифрования, используемый до сих пор на практике. Но в силу его древности следует избегать применения DES в новых разработках или для защиты особо важных данных.
· Для замены DES был разработан продвинутый стандарт шифрования AES (Advanced Encryption Standard), в котором предусмотрено использование ключей различной длины.
· Принципы работы асимметричных криптосистем отличаются от принципов работы симметричных. Если в симметричных криптосистемах применяется единственный ключ в циклах обработки сообщения, то асимметричный алгоритм основан на факторизации двух больших целых чисел (разложении двух больших целых чисел на сомножители).
· Алгоритмы RSA и Диффи-Хеллмана (Diffie-Hellman) – два наиболее широко используемых асимметричных алгоритма в настоящее время.
«Грубая сила»
· При наличии времени единственная обреченная на успех атака на симметричную криптографическую систему – это атака «грубой силы». Следует позаботиться о том, чтобы необходимое для успешной атаки время составляло годы, десятки лет или еще более длинный период времени.
· Зачастую возможностей одного компьютера для организации атаки «грубой силы» недостаточно. Но если в атаку будут волечены несколько параллельно работающих компьютеров, то шансы на ее успех резко возрастают.
· Наиболее часто атака «грубой силы» используется для вскрытия паролей.
Неверное использование алгоритмов шифрования
· Алгоритм Диффи-Хеллмана обмена ключами уязвим к атакам типа «злоумышленник посередине» (man-in-the-middle attacks).
· По возможности следует избегать использования паролей в формате кэш-величин LANMAN, потому что реализация этого протокола способствует относительно легкому вскрытию паролей.
· Следует особенно внимательно подходить к хранению ключей, поскольку в случае компрометации секретного или личного ключа компрометируются защищаемые ими данные.
Любительская криптография
· Любой недостаточно криптостойкий алгоритм шифрования (подобно алгоритму, основанному на операции XOR) может быть взломан с минимальными усилиями.
· Частотный анализ (frequency analysis) – мощное средство расшифровки сообщений разумного размера, не защищенных современными криптографическими алгоритмами.
· Иногда производители пытаются сохранить информацию в тайне при помощи простых небезопасных криптоалгоритмов (как, например, Base64) или алгоритмов сжатия.
Часто задаваемые вопросы
Вопрос: Существуют ли криптографические алгоритмы, гарантирующие 100 %-ую безопасность?
Ответ: Да, существуют. OTP (One Time Pad) – единственный алгоритм, гарантирующий абсолютную безопасность при безупречной реализации. Алгоритм OTP – это фактически шифр Вернама (Vernam), который был изобретен в компании AT&T в далеком 1917 году. Шифр Вернама (Vernam) представляет класс так называемых потоковых шифров, которые непрерывно, побитно шифруют поток данных вместо шифрования одного блока данных за другим в блочных шифрах. У алгоритма OTP два существенных недостатка. Во-первых, для его использования необходимо сгенерировать последовательность действительно случайных чисел. Во-вторых, количество случайных чисел в последовательности должно совпадать с числом бит в шифруемом сообщении. Для работы алгоритма нужно обеспечить раздельную передачу сообщения и ключа, гарантирующую сохранность ключа в тайне. Никогда один ключ не используется дважды для шифрования другого сообщения. Если будут перехвачены два сообщения, зашифрованные одним и тем же ключом, то восстановить ключ и расшифровать сообщение очень просто. Причина, по которой алгоритм OTP не получил широкого распространения, заключается в сложности построения датчика действительно случайных чисел (как уже об этом упоминалось) и сложности обеспечения безопасности распределенного ключа.
Вопрос: Как долго еще будет использоваться DES? Ответ: Скорее всего, из-за широкого распространения систем на основе DES алгоритм будет активно использоваться еще лет 5-10. Особенно в тех приложениях, где обеспечение безопасности зашифрованных данных не стоит на первом месте. Считается, что для некоторых приложений DES вполне достаточно, потому что средний хакер пока не обладает достаточными ресурсами для эффективного взлома алгоритма. Предполагается, что DES может использоваться как средство, затрудняющее прослушивание трафика, по крайней мере до широкого распространения протокола IPv6. DES гораздо быстрее алгоритма 3-DES и лучше приспособлен к условиям работы в виртуальных частных сетях (VPN) первых поколений, которые могут быть несовместимы снизу вверх с новым стандартом AES. В редких случаях, для обеспечения совместимости, в правительственных учреждениях будут устанавливаться новые криптосистемы, основанные на DES.
Вопрос: После нападений террористов 11 сентября на США особое значение приобрел вопрос использования террористами средств криптографии. Появились высказывания о предоставлении правительственным органам возможности расшифровки зашифрованных сообщений при помощи «потайной калитки», встроенной во все криптосистемы. Почему так нельзя сделать? Ответ: Наличие «потайной калитки» в криптографических алгоритмах, при помощи которой любой может расшифровать сообщение, – головная боль для всех пользователей криптографии. Вероятнее всего, ключи от «потайной калитки» будут храниться в одном месте, на которое тут же нацелятся хакеры. Как только хранилище ключей будет скомпрометировано, а рано или поздно это произойдет, все данные можно считать скомпрометированными. Кроме того, необходимо будет создать новую бюрократическую машину, управляющую доступом через «потайную калитку». Возможно, она будет создана по образу и подобию нынешней организации подключения подслушивающих устройств. Потребуется также создание групп надзора, следящих за соблюдением законности. Дополнительно потребовалось бы дооснастить все эксплуатируемые криптосистемы «потайной калиткой», возможно, в виде комбинации открытого ключа и ключа доверия. Реализация новых программ шифрования потребовала бы месяцы на разработку и годы на внедрение. В этих условиях усилия хакеров сосредоточатся на взломе криптографических алгоритмов при помощи ключа доверия, в лучшем случае поставив под вопрос безопасность криптосистем.