Вопросы безопасности криптопротоколов
Как и в случае использования криптографических алгоритмов, главный вопрос, который задают заинтересованные пользователи, заключается в том, насколько стойким является тот или иной криптопротокол. Ответ на него можно найти при сравнении целого ряда факторов, которые мы рассмотрим ниже. Однако, поскольку в основе многих криптопротоколов лежат именно криптографические алгоритмы, очевидно, что окончательная стойкость будет не больше стойкости используемых криптографических алгоритмов. Она может быть существенно снижена в следующих случаях:
• использование слабых криптографических алгоритмов и некорректная реализация некоторых ее составляющих;
• некорректная логика работы криптопротокола;
• некорректное использование криптографических алгоритмов.
Трудности первой категории решаются в рамках классической криптографии. Типичным примером в этом смысле является использование слабых генераторов случайных чисел.
Проблемы, относящиеся ко второй категории, наиболее распространены. На практике именно по этим «болевым точкам» обычно проводятся атаки на криптопротоколы. Активный нарушитель может оказывать влияние на функционирование криптопротокола путем следующих атак:
• атака с известным ключом. Злоумышленник, получив ключ предыдущей сессии, пытается узнать ключ новой сессии;
• повторная передача. Перехватив в предыдущих сессиях определенную порцию информации, злоумышленник передает ее в последующих сессиях;
• подмена стороны информационного обмена. В процессе установления сеанса связи между легальными пользователями злоумышленник в случае подобной атаки пытается выдать себя за одного из них либо инициировать от имени легального пользователя установление связи;
• атака со словарем. Заключается в подборе пароля, содержащего наиболее часто встречающиеся слова или комбинацию букв/цифр. Обычно преобразованные при помощи неключевой хэш-функции пароли хранятся в файлах на компьютере. Задача злоумышленника состоит в том, чтобы получить искомый файл, преобразовать свой словарь посредством данной хэш-функции и произвести сравнения с целью найти совпадающие значения. Подобный тип атак может применяться и для сообщений;
• подмена сообщений. Производится путем замены во время работы криптопротокола сообщений или данных.
С точки зрения понимания возможных последствий, возникающих при обнаружении недоработок в логике работы криптопротокола, этот пример является очень показательным. Для устранения подобных проблем были специально разработаны средства и методы анализа корректности построения логики работы криптопротоколов. Применение формальных методов позволяет также обнаружить коммуникационную избыточность в крип-топротоколах, что является немаловажным плюсом в условиях постоянно возрастающих требований к оперативности обработки информации в современных сетях передачи данных.
Третья группа атак, существенно понижающих уровень безопасности при использовании криптопротоколов, является наименее распространенной. Об этом, по крайней мере, можно судить по частоте их использования злоумышленниками. Но с другой стороны, в силу их трудного обнаружения, такие попытки являются наиболее опасными, поскольку они во многом зависят от математических свойств используемых криптографических алгоритмов. Подобные уязвимые места не поддаются формальному анализу и поэтому не могут обнаруживаться даже при использовании хорошо изученных криптопротоколов. Особенно характерно появление слабых точек при использовании асимметричных алгоритмов, так как они в основном построены на невозможности эффективного решения некоторых математических задач и не поддаются строгим математическим доказательствам и исследованиям с помощью формальных методов.
Нам остается дать несколько полезных советов, с помощью которых в какой-то мере можно избежать отдельных атак на криптопротоколы.