Основные концепции шифрования
Шифрование представляет собой сокрытие информации от неавторизованных лиц с предоставлением в это же время авторизованным пользователям доступа к ней. Пользователи называются авторизованными, если у них есть соответствующий ключ для дешифрования информации. Это очень простой принцип. Вся сложность заключается в том, как реализуется весь этот процесс.
Еще одной важной концепцией, о которой необходимо знать, является то, что целью любой системы шифрования является максимальное усложнение получения доступа к информации неавторизованными лицами, даже если у них есть зашифрованный текст и известен алгоритм, использованный для шифрования. Пока неавторизованный пользователь не обладает ключом, секретность и целостность информации не нарушается.
С помощью шифрования обеспечиваются три состояния безопасности информации.
- Конфиденциальность. Шифрование используется для сокрытия информации от неавторизованных пользователей при передаче или при хранении.
- Целостность. Шифрование используется для предотвращения изменения информации при передаче или хранении.
- Идентифицируемость. Шифрование используется для аутентификации источника информации и предотвращения отказа отправителя информации от того факта, что данные были отправлены именно им.
Термины, связанные с шифрованием
Перед тем как начать детальный рассказ о шифровании, приведем определения некоторых терминов, которые будут использоваться в обсуждении. Во-первых, мы будем иметь дело с терминами, обозначающими компоненты, участвующие в шифровании и дешифровании. На рисунке 12.1 показан общий принцип, согласно которому осуществляется шифрование.
- Обычный текст. Информация в исходном виде. Также называется открытым текстом.
- Шифрованный текст. Информация, подвергнутая действию алгоритма шифрования.
Рис. 12.1. Общий принцип шифрования - Алгоритм. Метод, используемый для преобразования открытого текста в шифрованный текст.
- Ключ. Входные данные, посредством которых с помощью алгоритма происходит преобразование открытого текста в шифрованный или обратно.
- Шифрование.
Процесс преобразования открытого текста в шифр. - Дешифрование. Процесс преобразования шифра в открытый текст.
Существуют также четыре термина, которые необходимо знать:
- Криптография. Наука о сокрытии информации с помощью шифрования.
- Криптограф. Лицо, занимающееся криптографией.
- Криптоанализ. Искусство анализа криптографических алгоритмов на предмет наличия уязвимостей.
- Криптоаналитик. Лицо, использующее криптоанализ для определения и использования уязвимостей в криптографических алгоритмах.
Атаки на систему шифрования
Системы шифрования могут подвергнуться атакам тремя следующими способами:
- Через слабые места в алгоритме.
- Посредством атаки "грубой силы" по отношению к ключу.
- Через уязвимости в окружающей системе.
При проведении атаки на алгоритм криптоаналитик ищет уязвимости в методе преобразования открытого текста в шифр, чтобы раскрыть открытый текст без использования ключа. Алгоритмы, имеющие такие уязвимости, нельзя назвать достаточно мощными. Причина в том, что известная уязвимость может использоваться для быстрого восстановления исходного текста. Злоумышленнику в этом случае не придется использовать какие-либо дополнительные ресурсы.
Атаки "грубой силы" являются попытками подбора любого возможного ключа для преобразования шифра в открытый текст. В среднем аналитик с использованием этого метода должен проверить действие 50 процентов всех ключей, прежде чем добьется успеха. Таким образом, мощность алгоритма определяется только числом ключей, которые необходимо перепробовать аналитику. Следовательно, чем длиннее ключ, тем больше общее число ключей, и тем больше ключей должен перепробовать злоумышленник до того, как найдет корректный ключ. Атаки с использованием грубой силы теоретически всегда должны заканчиваться успешно при наличии необходимого количества времени и ресурсов. Следовательно, алгоритмы нужно оценивать по периоду времени, в течение которого информация остается защищенной при проведении атаки с использованием "грубой силы".
Алгоритм расценивается как безопасный, если затраты на получение ключа с помощью атаки "грубой силы" превышают стоимость самой защищаемой информации.
Последний тип атак, реализуемый с использованием уязвимостей в компьютерной системе, как правило, не обсуждается в контексте шифрования. Тем не менее, на практике проще атаковать саму компьютерную систему, чем алгоритм шифрования. Продумайте, к примеру, следующую ситуацию: алгоритм является мощным и имеет длинный ключ, и для его раскрытия с помощью атаки "грубой силы" потребуются оборудование стоимостью в миллионы долларов и масса времени. Однако организация, использующая этот алгоритм, передает ключи в удаленные местоположения через обычную электронную почту. Если известно, когда именно передается ключ, то легче будет перехватить сообщение и выяснить этот ключ.
Еще более ярким примером уязвимости является пакет шифрования, используемый многими пользователями. Этот пакет использует мощные алгоритмы шифрования для зашифровки электронной почты и файлов. Атаки на такую систему нельзя легко осуществить с помощью алгоритмов или атак "грубой силы". Тем не менее, ключ пользователя находится в файле на его компьютере. Файл защищен паролем. Принимая во внимание тот факт, что большинство пользователей не используют в своих паролях комбинации случайных символов, гораздо проще угадать пароль пользователя или получить его с помощью атак "грубой силы", чем получить таким же способом ключ пользователя.
Из этого необходимо сделать вывод о том, что система ничуть не меньше влияет на общую безопасность шифров, чем алгоритм шифрования и ключ.