8.14. Резюме
Безопасность представляет собой соединение таких важных свойств, как приватность, целостность и доступность. К сожалению, зачастую трудно сказать, насколько безопасной является система. Однако мы можем неукоснительно соблюдать принципы безопасности, сформулированные Зальцером и Шредером и другими исследователями.
Разумеется, злоумышленники будут пытаться взломать систему, комбинируя базовые составляющие атаки — разведку (попытки выяснить, что, где и при каких условиях происходит), прослушивание (изучение содержимого трафика), подмену данных (выдача себя за другого) и нарушение работы (DoS-атаки). Все эти элементы могут быть чрезвычайно сложными. Для защиты от атак сетевые администраторы устанавливают брандмауэры, системы обнаружения и предотвращения вторжений. Они могут быть развернуты как во всей сети, так и на отдельном хосте, и работают на основе сигнатур или аномалий. В любом случае важным показателем полезности таких решений является число ложноположительных результатов (ложных тревог) и ложноотрицательных результатов (незамеченных атак). В силу так называемой ошибки базовой оценки высокая доля ложноположительных результатов сильно снижает эффективность системы обнаружения вторжений, особенно если атаки происходят редко при большом количестве событий.
Криптография — это инструмент обеспечения конфиденциальности информации, а также проверки ее целостности и аутентичности. Все современные криптографические системы основаны на принципе Керкгоффса, гласящем, что алгоритм должен быть общеизвестным, а ключ — секретным. Чтобы зашифровать открытый текст, многие алгоритмы выполняют сложные преобразования с заменами и перестановками. Между тем если на практике удастся реализовать принципы квантовой криптографии, то с помощью одноразовых блокнотов можно будет создать действительно непробиваемые криптосистемы.
Криптографические алгоритмы делятся на два типа: с симметричным и с открытым ключом. Алгоритмы с симметричным ключом при шифровании искажают значения битов в последовательности итераций, параметризованных ключом. К числу наиболее популярных алгоритмов этого типа относятся тройной DES и AES (Rijndael). Такие алгоритмы могут работать в режиме электронного шифроблокнота, сцепления блоков шифра, потокового шифра и др.
В алгоритмах с открытым ключом для шифрования и дешифрования используются разные ключи, причем ключ дешифрования невозможно вычислить по ключу шифрования. Это позволяет публиковать открытый ключ. Один из самых распространенных алгоритмов такого типа — RSA. Его надежность обусловлена сложностью факторизации больших чисел. Также существуют алгоритмы на основе эллиптических кривых.
Юридические, коммерческие и другие документы необходимо подписывать. Существуют различные методы генерации цифровых подписей, основанные на алгоритмах как с симметричным ключом, так и c открытым. Обычно подписываемые сообщения хешируются с помощью SHA-2 или SHA-3, после чего подписываются полученные хеши, а не исходные сообщения.
Управление открытыми ключами реализуется при помощи сертификатов. Это документы, связывающие между собой открытые ключи и обладающих ими принципалов. Сертификаты подписываются доверенным органом или тем, кто способен предъявить действительную цепочку промежуточных сертификатов, ведущих к нему. Начальное звено этой цепочки (доверенный корневой центр сертификации) должно быть известно заранее, но обычно сертификаты многих из них встроены в браузер.
Эти криптографические методы позволяют обезопасить сетевой трафик. На сетевом уровне работает система IPsec: она шифрует потоки пакетов между хостами. Брандмауэры фильтруют как входящий, так и исходящий трафик, анализируя используемые протоколы и порты. VPN имитируют старые сети на основе выделенных линий, чтобы обеспечить необходимые параметры безопасности. Наконец, в беспроводных сетях требуется серьезная защита, чтобы сообщения не читали все подряд, и такие протоколы, как 802.11i, ее обеспечивают. Рекомендуется выстраивать эшелонированную защиту из нескольких механизмов.
При установлении соединения стороны должны идентифицировать себя и при необходимости определить общий ключ сеанса. Для этого применяются различные протоколы аутентификации, в том числе подразумевающие наличие третьей, доверенной стороны, а также протоколы Диффи — Хеллмана, Kerberos и шифрование с открытым ключом.
Безопасность электронной почты достигается с помощью сочетания методов, представленных в этой главе. К примеру, PGP сжимает сообщение, а потом шифрует его с помощью секретного ключа. В свою очередь, секретный ключ шифруется открытым ключом получателя. Кроме того, вычисляется хеш-функция сообщения. Проверка целостности выполняется за счет того, что хеш перед отправкой подписывается.
Еще одной важной темой является веб-безопасность, и начинается она с защиты имен ресурсов. DNSSEC предотвращает спуфинг DNS. Большинство сайтов электронной коммерции использует протокол TLS для установления надежных, аутентифицированных сеансов между клиентом и сервером. Для борьбы с проблемами, связанными с переносимым кодом, разработаны разные методы, среди которых выполнение в изолированной среде (песочнице) и подписание кода.
Наконец, интернет поднимает много проблем на стыке технологий и государственной политики. К их числу относятся вопросы обеспечения приватности, свободы слова и авторских прав. Решение этих проблем требует участия специалистов из разных сфер. Учитывая, что технологии сегодня развиваются быстро, а сфера законодательства и госуправления — медленно, рискнем предположить, что к моменту публикации следующего издания данной книги эти вопросы все еще будут актуальны. Если прогноз не сбудется, мы подарим каждому читателю по головке сыра.