Компьютерные сети. 6-е изд.
Шрифт:
Формат классического PGP-сообщения показан на илл. 8.46. Помимо него используются и многие другие форматы. Сообщение состоит из трех частей: области IDEA-ключа, области подписи и области сообщения. Первая часть, помимо самого ключа, содержит идентификатор (ID) открытого ключа, так как пользователям разрешено иметь несколько открытых ключей.
Илл. 8.46. PGP-сообщение
Область подписи содержит заголовок, который нас в данный момент не интересует. За ним следует временная метка и идентификатор открытого ключа отправителя, с помощью которого получатель сможет расшифровать хеш-код, используемый в качестве
Область сообщения также содержит заголовок, имя файла по умолчанию (на случай, если получатель сохранит файл на диске), время создания сообщения и, наконец, само сообщение.
Работе с ключами в системе PGP было уделено особое внимание, так как это ахиллесова пята всех систем защиты. Управление ключами осуществляется следующим образом. Локально у каждого пользователя есть две структуры данных: набор закрытых ключей и набор открытых ключей (иногда их называют «связками»). Набор закрытых ключей (private key ring) содержит одну или несколько индивидуальных пар ключей (закрытый/открытый). Несколько пар ключей нужны для того, чтобы пользователи могли их менять (периодически или при опасении, что тот или иной ключ скомпрометирован). Для этого не нужно аннулировать готовые к передаче или уже отправленные сообщения. У каждой пары ключей есть свой идентификатор, так что отправитель может сказать получателю, какой открытый ключ был использован для шифрования. Идентификатор сообщения состоит из 64 младших битов открытого ключа. За отсутствие конфликтов в идентификаторах открытых ключей отвечают сами пользователи. Закрытые ключи на диске зашифрованы специальным паролем произвольной длины, защищающим их от скрытых атак.
Набор открытых ключей (public key ring) содержит открытые ключи собеседников пользователя. Они нужны для шифрования ключей сообщений (последние привязаны к каждому сообщению). Все записи набора открытых ключей включают не только ключ, но и его 64-разрядный идентификатор, а также индикатор степени доверия пользователя этому ключу.
Степень доверия ключу зависит, например, от способа его получения. Предположим, открытые ключи хранятся на веб-сайте. Труди может атаковать этот сайт и подменить размещенный там открытый ключ Боба своим ключом. Если Алиса попытается воспользоваться фальшивым ключом, Труди организует атаку посредника на Боба.
Чтобы предотвратить такие атаки или хотя бы минимизировать их ущерб, Алисе нужно знать, насколько она может доверять «ключу Боба» в ее наборе открытых ключей. Если Боб лично передал ей ключ на компакт-диске (или более современном носителе), ее доверие к этому ключу максимально. В этом и состоит децентрализованный, контролируемый пользователем подход к управлению открытыми ключами, который отличает PGP от централизованной схемы PKI.
Впрочем, в некоторых случаях открытые ключи получают путем запроса к доверенному серверу ключей. Поэтому после стандартизации X.509 система PGP поддерживает эти сертификаты наряду с традиционным для PGP механизмом набора открытых ключей. Все современные версии PGP работают с X.509.
8.11.2. S/MIME
Смелым проектом IETF по обеспечению конфиденциальности электронной почты стала система под названием S/MIME (Secure/MIME — защищенный MIME), описанная в спецификациях RFC 2632–2643. S/MIME обеспечивает аутентификацию, целостность данных, конфиденциальность и проверку подлинности информации. Это довольно гибкая система, поддерживающая множество криптографических алгоритмов. По названию можно догадаться, что S/MIME хорошо сочетается с MIME и позволяет защищать любые типы сообщений. В результате появился целый ряд новых заголовков MIME, например, для цифровых подписей.
В S/MIME нет жесткой иерархии сертификатов и отсутствует единый центр управления, что составляло проблему для более ранней системы почты с повышенной секретностью (Privacy Enhanced Mail, PEM). Вместо этого
45 Речь идет о фразе «The pen is mightier than the sword» («Перо сильнее меча») из пьесы английского писателя-романиста Эдуарда Бульвера-Литтона. — Примеч. ред.
8.12. Веб-безопасность
Мы только что изучили две важные области, в которых требуется защита информации, — соединения и электронная почта. Можно сказать, что это были аперитив и первое блюдо. Теперь самое время перейти к основному вопросу: безопасности данных во Всемирной паутине. Именно здесь большинство злоумышленников проворачивает свои темные дела. В следующих разделах мы рассмотрим некоторые проблемы, касающиеся веб-безопасности.
Эту тему можно условно разделить на три части. Первая связана с безопасным именованием объектов и ресурсов, вторая — с установлением аутентифицированных соединений, третья — с тем, что происходит, когда сайт отправляет клиенту исполняемый код. Мы обсудим все эти вопросы после ознакомления с рядом возможных угроз.
8.12.1. Угрозы
Практически каждую неделю газеты публикуют статьи о проблемах безопасности во Всемирной паутине. Ситуация действительно довольно неприятная. Давайте рассмотрим несколько реальных случаев взлома. Прежде всего, домашние страницы многочисленных организаций самых разных масштабов подвергались атакам взломщиков и заменялись подложными страницами. (В прессе людей, которые атакуют чужие компьютеры, называют хакерами, однако в профессиональном сообществе это слово скорее используется по отношению к великим программистам. Мы предпочитаем термин «взломщик» (cracker).) К числу сайтов, которые однажды подверглись успешной атаке, относятся веб-страницы таких серьезных организаций, как Yahoo!, Вооруженные силы США, Американское бюро кредитной истории Equifax, ЦРУ, НАСА, а также газета New York Times. В большинстве случаев взломщики просто заменяли оригиналы на страницы с каким-нибудь забавным текстом, и уже через несколько часов сайты удавалось восстановить.
Конечно, происходили и гораздо более серьезные атаки. Многие сайты были выведены из строя за счет искусственно созданной чрезмерной нагрузки (DoS-атака), с которой сервер заведомо не может справиться. Зачастую такие нападения совершались сразу с большого количества компьютеров, которые злоумышленник уже взломал (DDoS-атака). Такие атаки настолько распространены, что уже перестали быть новостью. Тем не менее ущерб от них исчисляется миллионами долларов.
В 1999 году шведский взломщик проник на сайт Hotmail (корпорации Microsoft) и создал зеркало, на котором все желающие могли ввести имя любого пользователя этого сайта и прочесть всю его почту, включая архивы.
Русский 19-летний взломщик по имени Максим украл с сайта интернет-магазина номера 300 000 кредитных карт. Затем он обратился к их владельцам и заявил, что если они не заплатят ему $100 000, он опубликует номера кредиток в интернете. Они не поддались на шантаж, и тогда Максим исполнил свою угрозу, что нанесло серьезный ущерб многим невинным жертвам.
Двадцатитрехлетний студент из Калифорнии отправил по электронной почте в агентство новостей фальшивый пресс-релиз, в котором сообщалось об огромных убытках корпорации Emulex и об уходе в отставку ее генерального директора. Спустя несколько часов акции компании упали на 60 %, в результате чего их держатели лишились более $2 млрд. Преступник заработал около четверти миллиона долларов, продав акции без покрытия46 незадолго до своего ложного заявления. Хотя этот случай не является взломом веб-сайта, размещение такого объявления на сайте компании привело бы к аналогичному эффекту.