ЗАЩИЩЕННАЯ СИСТЕМА ЭЛЕКТРОННОЙ ПОЧТЫ СОДЕРЖАНИЕ ВВЕДЕНИЕ .............................................................................................................. 2 1. ОРГАНИЗАЦИЯ СЛУЖБЫ ЭЛЕКТРОННОЙ ПОЧТЫ В ИНТЕРНЕТ ....... 4 1.1 Роль и функции электронной почты ............................................................ 4 1.2 Основные принципы организации электронной почты ............................. 6 1.3 Риски, связанные с использованием электронной почты........................ 13 2. ПОЧТОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ....................................................... 22 2.1 Протокол SMTP ........................................................................................... 22 2.2 Основные команды протокола POP3 ......................................................... 26 2.3 Формат почтового сообщения (RFC-822) ................................................. 29 2.4 Спецификация MIME (Multipurpose Internet Mail Extension) ................. 31 3. ОСНОВНЫЕ МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ЭЛЕКТРОННОЙ ПОЧТЫ ................................................................................................................... 35 3.1 Защита на уровне приложений ................................................................... 35 3.2 Протоколы SSL и TLS ................................................................................. 50 3.3 Защита на уровне IP..................................................................................... 72 ЗАКЛЮЧЕНИЕ ..................................................................................................... 91 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ ............................................. 94 2 ВВЕДЕНИЕ Электронная почта - один из важнейших информационных ресурсов Internet. Она является самым массовым средством электронных коммуникаций. Любой из пользователей Internet имеет свой почтовый ящик в сети. Если учесть, что через Internet можно принять или послать сообщения еще в два десятка международных компьютерных сетей, некоторые из которых не имеют on-line сервиса вовсе, то становится понятным, что почта предоставляет возможности в некотором смысле даже более широкие, чем просто информационный сервис Internet. Через почту можно получить доступ к информационным ресурсам других сетей. Посылка письма по электронной почте обходится значительно дешевле посылки обычного письма. Кроме того сообщение, посланное по электронной почте дойдет до адресата за несколько часов, в то время как обычное письмо может добираться до адресата несколько дней, а то и недель. В настоящее время электронная почта становится все более важным условием ведения повседневной деятельности. Удобство и практичность электронной почты очевидны. Однако не учитывать проблемы, которые возникают в связи с неконтролируемым ее использованием, уже нельзя. Большинство электронной проблем, почты с (спам, которыми сталкиваются вирусы, разнообразные пользователи атаки на конфиденциальность писем и т. д.), связано с недостаточной защитой современных почтовых систем. С этими проблемами приходится иметь дело и пользователям общедоступных публичных систем, и организациям. Практика показывает, что одномоментное решение проблемы защиты электронной почты невозможно. Спамеры, создатели и распространители вирусов, хакеры изобретательны, и уровень защиты электронной почты, вполне удовлетворительный вчера, сегодня может оказаться недостаточным. Для того чтобы защита электронной почты была на максимально возможном 3 уровне, а достижение этого уровня не требовало чрезмерных усилий и затрат, необходим систематический и комплексный, с учетом всех угроз, подход к решению данной проблемы. Все вышеперечисленные факторы и обусловили актуальность нашего исследования. Цель дипломной работы - рассмотреть методы и средства защиты электронной почты В соответствии с поставленной целью решались следующие основные задачи: - определить роль и функции электронной почты; - рассмотреть основные принципы организации электронной почты; - изучить риски, связанные с использованием электронной почты; - рассмотреть почтовые протоколы; - проанализировать защиту на уровне приложений; - изучить протоколы SSL и TSL; - рассмотреть защиту на уровне IP. Методы исследования: - обработка, анализ научных источников; - анализ научной литературы, учебников и пособий по исследуемой проблеме. Объект исследования – электронная почта Предмет исследования – принципы организации и механизм функционирования защищенной электронной почты. Теоретическую и методологическую базу исследования составляют труды отечественных и зарубежных специалистов, таких как Акулова О.А., Березина С., Вильяма Столингса, Галатенко В.А., Герасименко В.А., Гулевича Д. С., Лапониной О.Р., Микова А.И., Олифера В.Г., Олифер Н.А., Кузьмина А.С., Снейдера Й., Ульмана Д., Хаулета Т., и др. 4 1. ОРГАНИЗАЦИЯ СЛУЖБЫ ЭЛЕКТРОННОЙ ПОЧТЫ В ИНТЕРНЕТ 1.1 Роль и функции электронной почты Электронная почта — один из наиболее широко используемых видов сервиса, как в корпоративных сетях, так и в Интернет. Она является не просто способом доставки сообщений, а важнейшим средством коммуникации, распределения информации и управления различными процессами в бизнесе. Роль электронной почты становится очевидной, если рассмотреть функции, которые выполняет почта: обеспечивает внутренний и внешний информационный обмен; является компонентом системы документооборота; формирует транспортный протокол корпоративных приложений; является средством образования инфраструктуры электронной коммерции. Благодаря выполнению этих функций электронная почта решает одну из важнейших на настоящий момент задач — формирует единое информационное пространство. В первую очередь это касается создания общей коммуникационной инфраструктуры, которая упрощает обмен информацией между отдельными людьми, подразделениями одной компании и различными организациями1. Использование электронной почты для обмена информацией между людьми как внутри отдельно взятой организации, так и за ее пределами способно коренным образом изменить технологии и методы ведения дел. Переход к обмену документами в электронном виде открывает новые возможности для повышения эффективности труда и экономии средств и времени. 1 Березин С. Internet у вас дома - СПб, 1997. - 400 с. 5 Электронная почта обладает рядом преимуществ по сравнению с обычными способами передачи сообщений (традиционная почта или факсимильная связь). К ним относятся следующие: 1) Оперативность и легкость использования Электронная почта — это глобальная система, позволяющая передавать письма в любую точку мира за считанные минуты, независимо от времени суток. Отправка и прием сообщений электронной почты не требуют глубоких знаний компьютерных технологий, благодаря чему этот сервис широко применяется не только в бизнесе, но и для личного общения. Кроме того современные условия требуют оперативного реагирования на процессы, происходящие информацию, в бизнесе. принимать Электронная решения и почта доводить позволяет их до собирать различных подразделений компании и партнеров по бизнесу. 2) Доступность практически в любом месте Главное преимущество электронной почты — ее доступность. И хотя огромные пространства еще «не освоены» электроникой, стремительное развитие электронных коммуникаций, в конечном счете, приведет к тому, что «глобальная паутина» покроет весь земной шар. 3) Универсальность форматов писем и вложений Удобство использования электронной почты состоит в том, что она способна «переносить» большие объемы информации различных форматов данных. В одном письме могут быть одновременно переданы графическая, видео, текстовая информация, файлы баз данных, приложений и т.п. 4) Дешевизна сервиса Отправить электронное письмо стоит значительно дешевле, чем обычное или сделать междугородный или тем более международный телефонный звонок. Электронная почта позволяет рассылать письма сразу нескольким адресатам без дополнительных затрат. 5) Надежность и скорость инфраструктуры доставки 6 Так как электронная почта пересылается непосредственно с сервера отправителя на сервер получателя по каналам Интернет, этот процесс протекает быстро, даже если эти серверы расположены на противоположных сторонах земного шара. Фактически на передачу текстового сообщения, например, из России в Америку требуется не более 1-2 минут2. 6) Использование для обработки электронной почты прикладного специального программного обеспечения Электронный характер письма позволяет проводить его обработку при помощи дополнительного программного обеспечения. При этом виды обработки электронной почты зависят от характера деятельности организации. Это может быть: создание базы данных электронной почты, формирование различных отчетов, проведение анализа деятельности компании и т.п. Все это позволяет создать единую систему управления документооборотом, полностью интегрированную с остальными информационными процессами в компании. 1.2 Основные принципы организации электронной почты Электронная почта во многом похожа на обычную почтовую службу. Корреспонденция подготавливается пользователем на своем рабочем месте либо программой подготовки почты, либо просто обычным текстовым редактором. Обычно программа подготовки почты вызывает текстовый редактор, который пользователь предпочитает всем остальным программам этого типа. Затем пользователь должен вызвать программу отправки почты (программа подготовки почты вызывает программу отправки автоматически). Электронная почта - это служба пересылки сообщений между зарегистрированными адресами. Изначально речь идет только о текстовых 2 Левин Д.Р., Бароди К. Секреты Интернет. - К.: Диалектика, ICE, 1996. 7 сообщениях в узком смысле; о пересылке двоичного содержимого. Под текстовыми сообщениями в узком смысле понимаются сообщения, состоящие из строк ограниченной длины, каждая строка состоит из алфавитно-цифровых символов базового набора ASCII и знаков препинания (такие сообщения также называют 7-битовыми). Символы с 8-битовыми кодами (например, кириллица) в этот набор не входят3. Адрес электронной почты состоит выглядит как почтовый_ящик@почтовый.домен m2@vvsu.ru Sidor.Ivanov@athena.vvsu.ru где почтовый.домен - некое доменное имя, а почтовый_ящик - имяидентификатор корреспондента. Почтовый ящик может соответствовать одному человеку, группе людей, официальному почтовому адресу, автоматуобработчику и т.д. - форма адреса от этого не зависит. Далее в этом пункте будем считать, что почтовые ящики являются персональными. Почтовый домен - это доменное имя, для которого в системе DNS существует запись типа MX, либо запись типа A, если MX отсутствует. Компьютер, на который указывает запись MX, является почтовым сервером для данного почтового домена. Вся почта, направленная на адреса в данном почтовом домене, поступает на этот сервер, которые принимает решение о том, как дальше поступить с этой почтой, см. ниже. Основную роль в системе электронной почты играют программы трех типов: транспортные агенты (MTA - Mail Transport Agent), агенты доставки (MDA - Mail Delivery Agent), пользовательские агенты (MUA - Mail User Agent). Взаимодействие этих программ и работа системы электронной почты представлены на рисунке 1.1. 3 Таненбаум Э.Компьютерные сети. СПб.: Издательский дом Питер, 2003 8 Рис. 1.1. Организация и функционирование службы электронной почты Транспортный агент работает, как правило, на почтовом сервере. Транспортный агент функционирует как маршрутизатор почтовых сообщений. Его функции следующие: анализ и преобразование адресов и заголовков почтовых сообщений, в том числе: - разбор списков рассылки, пседонимов, переадресации (форвардинг), - преобразование адресов в формат другой почтовой системы, если MTA функционирует как шлюз между двумя почтовыми системами (например, между Internet Mail и Sprint Mail), - преобразование имени почтового домена отправителя (маскарад), - установка служебных заголовков в сообщении, отражающих его маршрут и процесс обработки; опрос DNS на предмет имени и адреса почтового сервера адресата сообщения; 9 определение агента доставки для каждого сообщения и передача сообщения выбранному агенту доставки; управление очередью сообщений, отложенный и повторный вызов агентов доставки в случае невозможности немедленной доставки сообщения; возврат сообщений, которые по каким-либо причинам невозможно доставить по назначению. Агент доставки производит доставку сообщения каким-либо специфическим способом. Существует несколько стандартных типов агентов доставки: local - письмо направлено на почтовый ящик, находящийся на этом же компьютере; доставка производится, например, добавлением содержимого сообщения в определенный файл (в Unix это файл /var/mail/почтовый_ящик). SMTP - письмо направлено на почтовый ящик в другом почтовом домене; доставка производится путем соединения с транспортным агентом на удаленном сервере с помощью протокола SMTP. prog - письмо должно быть обработано какой-либо программой; доставка производится вызовом этой программы, на вход которой подается содержимое письма. Вообще методы доставки (и, соответственно, агенты) могут быть разнообразными: например, сохранение письма в базе данных; пересылка письма по факсу и т.д. Выбор агента доставки для каждого конкретного письма производится транспортным агентом в соответствии с заданной конфигурацией транспортного агента и адресом назначения письма4. Пользовательский агент является оболочкой пользователя для работы с электронной почтой, его функции: получение сообщений с почтового сервера; 4 Карпенко С. Internet в вопросах и ответах - СПб, 1998. - 464 с. 10 презентация, хранение, удаление и каталогизирование почтовых сообщений; создание нового сообщения и передача его транспортному агенту для дальнейшей обработки и доставки. Рассмотрим работу службы электронной почты на примере (рис. 1.1). Пусть почтовый сервер, изображенный на рисунке, имеет адрес m.vvsu.ru и сконфигурирован для приема почты с адресами типа некто@cts.vvsu.ru. Соответственно, в базе данных DNS для зоны vvsu.ru есть запись вида cts.vvsu.ru. IN MX 10 m.vvsu.ru. Пусть также пользователь, изображенный на рисунке, имеет адрес ivanov@cts.vvsu.ru. Рассмотрим входящее сообщение (красные стрелки) от bg@aquarium.ru к ivanov@cts.vvsu.ru. Сообщение поступает по сети к транспортному агенту. (Для передачи сообщений транспортному агенту по сети используется протокол SMTP, (который будет рассмотренный ниже). MTA, проанализировав заголовок сообщения, определяет, что оно адресовано в почтовый домен cts.vvsu.ru, который он обслуживает. В соответствии с этим выбирается агент доставки local, запускается программа этого агента и на вход ей подается текст сообщения со всеми заголовками. Агент доставки каким-то способом, не интересным для транспортного агента, производит доставку сообщения и прекращает свою работу. Транспортный агент анализирует статус выхода (exit status) программы агента доставки, по которому определяет было ли сообщение успешно доставлено или произошла ошибка. В случае ошибки MTA формирует сообщение об ошибке, исходящее с адреса MAILER-DAEMON@m.vvsu.ru, которое будет отправлено отправителю письма (и, как правило, администратору почтового сервера по адресу postmaster@m.vvsu.ru). В случае успешного завершения работы агента доставки письмо считается доставленным получателю. Агент доставки local (в Unix это программа mail, запущенная как «mail -d ivanov») производит доставку методом добавления содержимого письма к 11 файлу /var/mail/ivanov (в дальнейшем для упрощения мы будем говорить о почтовом сервере под Unix, хотя при обсуждении общей организации системы электронной почты это не имеет принципиального значения)5. Иванов (точнее, пользовательский агент Иванова) может получить доступ к своей почте двумя способами: a) Иванов работает на том же компьютере, где находится почтовый сервер. В этом случае MUA Иванова тривиальным образом считывает поступившее сообщение из файла /var/mail/ivanov и сохраняет его, в случае необходимости, куда-то в свой каталог для осуществления своих функций, описанных выше. Этому способу на рисунке соответствует красный пунктир. б) Иванов работает на другом компьютере (точнее, Иванов не имеет возможности или желания работать на почтовом сервере). Эта ситуация наиболее типична для пользователей почты в организациях или сообществах. В этом случае для доступа к файлу /var/mail/ivanov через сеть используется протокол POP-3. На почтовом сервере запущена программа POP-сервер, а в MUA Иванова встроен POP-клиент. Этот вариант отражен на рисунке непрерывной красной линией, отходящей от почтовых ящиков. Подробно протокол POP-3 (который будет рассмотрен ниже). Так как протокол POP-3 работает поверх TCP/IP, нет никаких ограничений на местоположение компьютера Иванова (красная линия на рисунке, исходящая от POP-сервера, в общем случае проходит через Интернет). В настоящее время получает распространение протокол IMAP-4, по существу являющийся расширенной версией протокола POP-3. Он, в частности, позволяет пользовательскому агенту каталогизировать и хранить сообщения на почтовом сервере, а не на компьютере пользователя, как это происходит при использовании POP-36. Это удобно в случае, когда Иванов не 5 Снейдер Й. Эффективное программирование TCP/IP. Издательский дом Питер, 2001 6 Bryan Costales, Eric Allman «Sendmail Desktop Reference» - O'Reilly, First Edition, March 1997 12 имеет постоянно закрепленного за собой компьютера - например, Иванов студент, работающий с почтой из компьютерного класса. Теперь рассмотрим исходящее сообщение (сиреневые стрелки) от ivanov@cts.vvsu.ru к bg@aquarium.ru. Сообщение поступает к транспортному агенту двумя способами в зависимости от того, где работает Иванов. Если Иванов работает на почтовом сервере, то его MUA напрямую обращается к транспортному агенту и передает ему сообщение для БГ (сиреневый пунктир). Если же Иванов работает на другом компьютере, то его MUA связывается с транспортным агентом через сеть по протоколу SMTP. (Опять, так как протокол SMTP работает поверх TCP/IP, нет никаких ограничений на местоположение компьютера Иванова - сиреневая линия на рисунке, исходящая от компьютера Иванова, в общем случае проходит через Интернет.) Получив сообщение, MTA анализирует его заголовок и определяет, что это сообщение направлено в другой почтовый домен и не попадает ни под какие особые случаи (например, не должно быть доставлено через UUCP или отослано по факсу - это все определяется конфигурацией MTA). Следовательно, для доставки этого сообщения выбирается агент SMTP, при этом MTA делает запрос в DNS на предмет того, кто является обработчиком почты для домена aquarium.ru. (DNS вернет relay.rinet.ru, IP- адрес=195.54.192.35). Этот адрес вместе с текстом сообщения будет передан агенту доставки, который по протоколу SMTP соединится с указанным адресом и таким образом отправит сообщение транспортному агенту сервера relay.rinet.ru. Если во время этой операции произошла нефатальная ошибка (например, удаленный сервер временно выключен), то агент SMTP вернется со статусом «Отложено» и MTA поставит сообщение в очередь для повторной отправки. Если запись MX для почтового домена получателя не найдена в DNS, будет сделана попытка найти запись типа А (IP-адрес) для того же доменного имени, т.е. делается предположение, что почтовый домен является именем 13 реального компьютера и на этом компьютере запущен MTA - это справедливо для большинства Unix-систем. Агент доставки попытается доставить сообщение непосредственно на этот адрес. 1.3 Риски, связанные с использованием электронной почты Электронная почта обладает многочисленными достоинствами, но именно из-за этих достоинств возникают основные риски, связанные с ее использованием. К примеру, доступность электронной почты превращается в недостаток, когда пользователи начинают применять почту для рассылки спама, легкость в использовании и бесконтрольность приводит к утечкам информации, возможность пересылки разных форматов документов — к распространению вирусов и т.д. В конечном итоге любой из этих рисков может привести к серьезным последствиям для компании. Это и потеря эффективности работы, и снижение качества конфиденциальной услуг информационных информации. систем, Недостаточное и внимание разглашение к данной проблеме грозит значительными потерями в бизнесе, а в некоторых случаях даже привлечением к юридической ответственности в связи с нарушением законодательства7. 7 Торокин А.А. Основы инженерно-технической защиты информации. М: “Ось-89”, 1998, 334 с. 14 Рис.1.2.Проблемы и негативное воздействие различных факторов на незащищенную почтовую систему Компания подвергается данным рискам в силу ряда свойств электронной почты. Например, благодаря применению MIME-стандарта электронная почта может переносить большие объемы информации различных форматов данных в виде прикрепленных к сообщениям файлов. Такой возможностью сразу воспользовались злоумышленники. Достоинство электронной почты превратилось в угрозу, поскольку электронная почта стала представлять собой практически идеальную среду для переноса различного рода «опасных» вложений, а именно компьютерных вирусов, вредоносных программ, «троянских» программ и т.п. Если надлежащий контроль за использованием электронной почты не обеспечен, это может привести к чрезвычайно серьезным последствиям и даже нанести непоправимый ущерб. Избавиться от данного риска можно лишь путем блокировки писем с «опасными» вложениями, а также антивирусной проверки прикрепленных файлов. На практике же оптимальным средством может оказаться блокировка определенных типов файлов. Это, как правило, исполняемые 15 файлы (exe, com, bat) и файлы, содержащие макросы и OLE-объекты (файлы, созданные в приложениях MS Office). Рис.1.3. Проблемы, возникающие при пересылке электронной почты через Интернет Серьезную опасность для корпоративной сети представляют различного рода атаки с целью «засорения» почтовой системы. Это, в первую очередь, пересылка в качестве вложений в сообщениях электронной почты файлов больших объемов или многократно заархивированных файлов. «Открытие» таких файлов или попытка «развернуть» архив может привести к «зависанию» системы. При этом одинаково опасны как умышленные атаки этого типа, например, «отказ в обслуживании» (Denial of Service) и «почтовые бомбы» (mail-bombs), так и «неумышленные», когда пользователи отправляют электронные письма с вложениями большого объема, просто не подумав о том, к каким последствиям может привести открытие подобного файла на компьютере адресата. Действенный способ избавиться от «засорения» почтовой системы и ее перегрузки — фильтрация по объему 16 передаваемых данных, по количеству вложений в сообщения электронной почты и глубине вложенности архивированных файлов. Другой особенностью электронной почты является ее доступность и простота в использовании. Во многом результатом этого стало широкое и повсеместное применение этого вида сервиса Интернет. Стихийность развития и отсутствие единых правил функционирования почтового сервиса привели к неконтролируемому использованию электронной почты, а в связи с этим, и к возникновению целого ряда рисков, связанных с неуправляемой циркуляцией электронной почты в сети8. Отсутствие контроля над почтовым потоком, как правило, становится причиной того, что сотрудники компании используют электронную почту в целях, не связанных с деятельностью компании (например, для обмена видео-файлами и графикой, частной переписки, ведения собственного бизнеса с использованием почтовых ресурсов компании, рассылки резюме в различные организации и т.п.). Это приводит к резкому падению производительности труда в целом по компании, поскольку результатом такой деятельности сотрудников является: Снижение производительности работы информационной системы (увеличение объема неделового трафика); Снижение производительности работы отдельного сотрудника (неоправданная потеря рабочего времени); «Засорение» ресурсов информационной системы (занятие дискового пространства под неделовую почту). Кроме того, к такому же результату может привести непродуктивное использование почтовых ресурсов в трудовой деятельности сотрудников (например, чрезмерное увлечение почтовой перепиской в случаях, когда необходимости в такой переписке нет, использование электронной почты не по назначению и т.п.). Причиной этого, как правило, является отсутствие в 8 Снейдер Й. Эффективное программирование TCP/IP. Издательский дом Питер, 2001 17 компании правил, регламентирующих использование системы электронной почты. Последствиями непродуктивного использования почтового сервиса являются снижение производительности труда в компании, а также излишние финансовые затраты. Сэкономить средства в значительной степени поможет проведение анализа эффективности использования системы электронной почты, который основывается на базе статистических данных о функционировании системы. Подобную статистику возможно получить лишь в случае ведения архива электронной почты. Обработка информации, содержащейся в архиве, позволяет получать отчеты о различных параметрах электронной почты, ее объемах и структуре, представить наглядную картину использования почтового трафика сотрудниками компании, а это, в свою очередь, поможет предотвратить использование электронной почты, несвязанное с деятельностью компании, и повысить эффективность работы корпоративной почтовой системы. Передача в электронных письмах графических, видео и звуковых файлов, которые, как правило, имеют большой объем даже если такая передача предусмотрена значительной финансовым исследованиям условиями перегрузке затратам около на 30% сети, ее ведения бизнеса, соответственно обслуживание. почтовых к к дополнительным Согласно ресурсов приводит проведенным среднестатистической компании ежедневно затрачивается на пересылку графических, видео и звуковых файлов. Избежать этого, а значит и добиться значительной экономии средств компании, поможет, так называемая, отложенная доставка писем, которая позволяет доставлять сообщения больших объемов в то время, когда загрузка сети не имеет критического значения (например, в ночное время, в выходные дни и т.п.). К «засорению» трафика также ведет рассылка спама. Как правило, это письма, содержащие навязчивые предложения самых разнообразных услуг, товаров и т.п. Такого рода почта является «группой риска» с точки зрения переноса вирусов. Большое количество ненужной почты загружает каналы, 18 «замусоривает» почтовые ящики, отнимает время на удаление ненужных писем и повышает вероятность случайного удаления нужных. Конечно рассылка, например, сообщений рекламного характера, напрямую не преследует цели «засорить» почтовую систему организации, однако косвенно приводит к негативным последствиям. Использование списков рассылки, в которую могут входить все пользователи одной корпоративной сети, и получение одновременно всеми этими пользователями сообщений рекламного характера грозит компании снижением производительности ее сетевых ресурсов. Блокировка спама, в первую очередь, связана с контекстным анализом сообщений, то есть проверкой электронной почты на наличие ключевых слов и выражений, которые обычно употребляются в сообщениях рекламного характера9. Переписка с внешними корреспондентами представляет наибольшую угрозу из-за особенностей электронной почты (невозможность контролировать маршрут передачи писем, а также их копирование и перенаправление, осуществлять аутентификацию отправителя/получателя, возвращать письма после их отправления). Кроме того невозможен либо затруднен контроль количества отправляемых копий письма. Содержимое сообщения может быть прочитано в процессе передачи его по Интернету, поскольку заголовки и содержимое электронных писем часто передаются в открытом виде. Другой проблемой, связанной с особенностями электронной почты, является то, что электронная почта позволяет неконтролируемое накопление информации в архивах и практически неуничтожима. В противоположность бытующему мнению, удалить электронную почту непросто. Резервные копии сообщений могут оставаться на персональных компьютерах отправителя и получателя или в сети компаний, где они работают. Если электронное 9 Лапонина О.Р. «Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия», 2005г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 672с. 19 почтовое сообщение отправлено через коммерческую службу или через Интернет, то оно будет передаваться через несколько различных серверов. Каждый сервер в цепочке между отправителем и получателем может сохранить копию сообщения в своих архивах. Даже методичное выяснение местонахождения каждой копии электронного письма с последующим его удалением не дает никакой гарантии того, что сообщение не осталось на жестком диске компьютера или сервера. С помощью широко доступного программного обеспечения даже рядовой пользователь сможет восстановить сообщение электронной почты после того, как его якобы удалили. Все эти особенности, а также простота копирования электронного сообщения и невозможность проконтролировать данную операцию приводят к тому, что сотрудник может передать корпоративную информацию любому количеству людей как внутри, так и за пределами компании анонимно и без соответствующего разрешения, сразу или по истечении какого-либо времени. При этом, такая информация может представлять собой служебную информацию компании (тексты договоров, сведения о планируемых сделках и т.п.), пароли, системные данные, исходные коды программ или другую конфиденциальную информацию. Это, в конечном итоге, грозит серьезным нарушением конфиденциальности и может привести к неприятным для компании последствиям. В отличие от бумажной корреспонденции, электронную почту очень легко неумышленно отправить по неверному адресу. Причиной этого может быть как неумелое использование адресных книг, так и ошибка в указании адреса получателя или, что еще хуже, случайный выбор опции, предусматривающей рассылку сообщения большой группе пользователей, в то время как сообщение является конфиденциальным10. Чтобы обеспечить защиту от утечки конфиденциальной информации из сети, 10 необходимо осуществлять контроль адресатов, Новиков Ю.В., Кондратенко С.В Основы локальных сетей - ИНТУИТ.ру, 2005 г., 360 с. фильтрацию 20 передаваемых данных на наличие в текстах сообщений или в прикрепленных к электронному письму файлах слов и выражений, имеющих отношение к «закрытой» тематике, осуществлять разграничение доступа различных категорий пользователей к архивам электронной почты и т.п. Одно из основных отличий электронной почты состоит в формальном к ней отношении коммуникаций). (по сравнению Во-первых, с другими большинство видами пользователей коммерческих относятся к электронной почте как к чему-то временному, то есть поступают с ней по принципу «прочитал и выкинул». При таком отношении существует риск случайного удаления значимой информации. Кроме того, существует опасность потери переписки с важным клиентом. Все эти проблемы решаются путем создания в организации архива электронной почты. Вовторых, такое отношение к электронной почте приводит к тому, что из-за кажущейся недолговечности электронных сообщений люди часто используют их для того, чтобы выразить чувства и мнения в выражениях, которые они никогда не позволили бы себе употребить в традиционных письмах. Публикация таких писем в сети может нанести серьезный ущерб репутации компании или явиться причиной юридических исков к ней11. Еще одна область связана с возможностью привлечения к юридической ответственности компании и ее сотрудников — за нарушение авторского права. Защищенные этим правом материалы могут содержаться или в сообщении электронной почты, или в присоединенных файлах. К подобным материалам относятся графическая, аудио, видео и различная текстовая информация, т. е. любая информация, которая может быть представлена в электронном виде и передана по компьютерным сетям. Копирование или распространение этих материалов без предварительного согласия автора или владельца авторских прав является нарушением закона. Если компания допускает, чтобы материалы почты, защищенные авторским правом, 11 Информатика. Учебник под ред. А.П.Алексеев, М. «Солон-р», 2002 г. 21 использовались сотрудниками, не имеющими на это полномочий, то она может быть привлечена к ответственности за прямое или косвенное пособничество нарушению авторского права. 22 2. ПОЧТОВЫЕ ПРОТОКОЛЫ ИНТЕРНЕТ 2.1 Протокол SMTP Simple Mail Transfer Protocol (SMTP) был разработан для обмена почтовыми сообщениями в сети Internet. SMTP не зависит от транспортной среды и может использоваться для доставки почты в сетях с протоколами, отличными от TCP/IP и Х.25. Достигается это за счет концепции IPCE (InterProcess Communication Environment). IPCE позволяет взаимодействовать процессам, поддерживающим SMTP в интерактивном режиме, а не в режиме «STOP-GO»12. Модель протокола. Взаимодействие в рамках SMTP строится по принципу двусторонней связи, которая устанавливается между отправителем и получателем почтового сообщения. При этом отправитель инициирует соединение и посылает запросы на обслуживание, а получатель на эти запросы отвечает. Фактически, отправитель выступает в роли клиента, а получатель - сервера. Рис. 2.1. Схема взаимодействия по протоколу SMTP 12 Олифер Н.А., Олифер В.Г. Сетевые операционные системы. Изд-во «Питер», 2003 23 Канал связи устанавливается непосредственно между отправителем и получателем сообщения. При таком взаимодействии почта достигает абонента в течение нескольких секунд после отправки. Дисциплины работы и команды протокола. Обмен сообщениями и инструкциями в SMTP ведется в ASCII-кодах. В протоколе определено несколько видов взаимодействия между отправителем почтового сообщения и его получателем, которые здесь называются дисциплинами. Наиболее распространенной дисциплиной является отправка почтового сообщения, которая начинается по команде MAIL, идентифицирующей отправителя: MAIL FROM: paul@quest.polyn.kiae.su Следующей командой определяется адрес получателя: RCPT TO: paul@apollo.polyn.kiae.su После того, как определен отправитель и получатель почтового сообщения, можно отправлять последнее: DATA Команда DATA вводится без параметров и идентифицирует начало ввода почтового сообщения. Сообщение вводится до тех пор, пока не будет введена строка с точкой в первой позиции. Согласно стандарту почтового сообщения RFC822 отправитель передает заголовок и тело сообщения, которые разделены пустой строкой. Сам протокол SMTP не накладывает каких-либо ограничений на информацию, которая заключена между командой DATA и "." в первой позиции последней строки. Приведем пример обмена сообщениями при дисциплине отправки почты: S: MAIL FROM: <paul@quest.polyn.kiae.su> R: 250 Ok S: RCPT TO: <dobr@kiae.su> R: 250 Ok S: DATA R: 354 Start mail input; end with <CRLF>.<CRLF> 24 S: Это текст почтового сообщения S: . R: 250 Другой дисциплиной, определенной в протоколе SMTP является перенаправление почтового сообщения (forwarding). Если получатель не найден, но известно его местоположение, то сервер может выдать сообщение: R: 251 User not local; will forward to <user@domain.domain> Если сервер может сделать только предположение о дальнейшей рассылке, то ответ будет несколько иным: R: 551 User not local; please try <user@host.domain> Верификация и расширение адресов составляют дисциплину верификации. В ней используются команды VRFY и EXPN. По команде VRFY сервер подтверждает наличие или отсутствие указанного пользователя: S: VRFY paul R: 250-Paul Khramtsov<paul@quest.polyn.kiae.su> Используя команду EXPN можно получить список местных пользователей: S: EXPN Example-People R: 250-Paul Khramtsov<paul@quest.polyn.kiae.su> R: 250-Vladimir Drach-Gorkunov<vovka@quest.polyn.kiae.su> В список дисциплин, разрешенных протоколом SMTP входит кроме отправки почты еще и прямая рассылка сообщений. В этом случае сообщение будет отправляться не в почтовый ящик, а непосредственно на терминал пользователя, если пользователь в данный момент находится за своим терминалом. Прямая рассылка осуществляется по команде SEND, которая имеет такой же синтаксис, как и команда MAIL. Кроме SEND 25 прямую рассылку осуществляют SOML (Send or Mail) и SAML (Send and Mail). Назначение этих команд легко понять из их названия. Для инициализации канала обмена почтой и его закрытия используются команды HELO и QUIT соответственно. Первой командой сеанса должна быть команда HELO. Протокол допускает рассылку почтовых сообщений в режиме оповещения. Для этой цели отправитель в адресе получателя может указать несколько пользователей или групповой адрес. Обычно, программное обеспечение SMTP выбирает эту информацию из заголовка почтового сообщения и на ее основе формирует параметры команд протокола. Если сообщение по какой-либо причине не может быть разослано, то получатель формирует сообщение о неразосланном сообщении: S: MAIL FROM:<> R: 250 Ok S: RCPT TO: <@host.domain:JOE@host.domain> R: 250 Ok S: DATA R: 354 send the mail data, end with . S: Date 23 Oct 95 11:23:30 S: From: SMTP@remote.domain S: To: <JOE@host.domain> S: S: Undelivered message. Your message lost. 550 No such user. S: . При использовании доменных имен следует использовать канонические имена, т.к. некоторые системы не могут определить синоним по базе данных named. Кроме выше перечисленных дисциплин протокол позволяет отправителю и получателю меняться ролями друг с другом. Происходит это по команде TURN. 26 Для отладки или проверки соединения по SMTP можно использовать telnet. Для этого вслед за адресом машины следует ввести номер порта: /users/local>telnet apollo.polyn.kiae.su 25 25 порт используется в Internet для обмена сообщениями по протоколу SMTP. В интерактивном режиме пользователь сам изображает клиента SMTP и может посмотреть реакцию удаленной машины на его действия. 2.2 Основные команды протокола POP3 Post Office Protocol (POP) - протокол доставки почты пользователю из почтового ящика почтового сервера РОР. Многие концепции, принципы и понятия протокола POP выглядят и функционируют подобно SMTP. Команды POP практически идентичны командам SMTP, отличаясь в некоторых деталях. На рисунке изображена модель клиент-сервер по протоколу POP. Сервер POP находится между агентом пользователя и почтовыми ящиками13. Рис.2.2. Конфигурация модели клиент-сервер по протоколу РОР PОРЗ разработан с учетом специфики доставки почты на персональные компьютеры и имеет соответствующие операции для этого. 13 Галатенко В.А. «Основы информационной безопасности», изд. Интуит, 2005г. 27 Назначение протокола РОРЗ Ранее почтовые сообщения большинства сетей доставлялись непосредственно от одного компьютера к другому. И если пользователь часто менял рабочие компьютеры или один компьютер принадлежал нескольким пользователям, существовали определенные проблемы. В наши дни общепринята доставка сообщения не на компьютеры пользователя, а в специальные почтовые ящики почтового сервера организации, который круглосуточно работает (включен)14. Описание протокола РОРЗ Конструкция протокола РОРЗ обеспечивает возможность пользователю обратиться к своему почтовому серверу и изъять накопившуюся для него почту. Пользователь может получить доступ к РОР-серверу из любой точки доступа к Интернет. При этом он должен запустить специальный почтовый агент (UA), работающий по протоколу РОРЗ, и настроить его для работы со своим почтовым сервером. Итак, во главе модели POP находится отдельный персональный компьютер, работающий исключительно в качестве клиента почтовой системы (сервера). Подчеркнем также, что сообщения доставляются клиенту по протоколу POP, а посылаются по-прежнему при помощи SMTP. То есть на компьютере пользователя существуют два отдельных агента-интерфейса к почтовой системе - доставки (POP) и отправки (SMTP). Разработчики протокола РОРЗ называет такую ситуацию «раздельные агенты» (split UA). Концепция раздельных агентов кратко обсуждается в спецификации РОРЗ. В протоколе РОРЗ оговорены три стадии процесса получения почты: авторизация, транзакция и обновление. После того как сервер и клиент РОРЗ установили соединение, начинается стадия авторизации. На стадии авторизации клиент идентифицирует себя для сервера. Если авторизация 14 Craig Hunt «TCP/IP Network Administration», 3.4. Mail Services; 10. sendmail; Appendix E. A sendmail Reference - O'Reilly, Second Edition, December 1997 28 прошла успешно, сервер открывает почтовый ящик клиента и начинается стадия транзакции. В ней клиент либо запрашивает у сервера информацию (например, список почтовых сообщений), либо просит его совершить определенное действие (например, выдать почтовое сообщение). Наконец, на стадии обновления сеанс связи заканчивается. В табл.2.1 перечислены команды протокола РОРЗ, обязательные для работающей в Интернет реализации минимальной конфигурации. Таблица 2.1. Команды протокола POP версии 3 (для минимальной конфигурации) Команда Описание USER Идентифицирует пользователя с указанным именем PASS Указывает пароль для пары клиент-сервер QUIT Закрывает TCP-соединение STAT Сервер возвращает количество сообщений в почтовом ящике плюс размер почтового ящика LIST Сервер возвращает идентификаторы сообщений вместе с размерами сообщений (параметром команды может быть идентификатор сообщения) RETR Извлекает сообщение из почтового ящика (требуется указывать аргумент- идентификатор сообщения) DELE Отмечает сообщение (требуется указывать для удаления аргумент - идентификатор сообщения) NOOP Сервер возвращает положительный ответ, но не совершает никаких действий LAST Сервер возвращает наибольший номер сообщения из тех, к которым ранее уже обращались RSET Отменяет удаление сообщения, 29 отмеченного ранее командой DELE В протоколе РОРЗ определено несколько команд, но на них дается только два ответа: +ОК (позитивный, аналогичен сообщению- подтверждению АСK) и -ERR (негативный, аналогичен сообщению «не подтверждено» NAK). Оба ответа подтверждают, что обращение к серверу произошло и что он вообще отвечает на команды. Как правило, за каждым ответом следует его содержательное словесное описание. В RFC 1225 есть образцы нескольких типичных сеансов РОРЗ. Сейчас мы рассмотрим несколько из них, что даст возможность уловить последовательность команд в обмене между сервером и клиентом. 2.3 Формат почтового сообщения (RFC-822) При обсуждении примеров отправки и получения почтовых сообщений уже упоминался формат почтового сообщения. Разберем его подробнее. Формат почтового сообщения Internet определен в документе RFC-822 (Standard for ARPA Internet Text Message). Это довольно большой документ объемом в 47 страниц машинописного текста, поэтому рассмотрим формат сообщения на примерах. Почтовое сообщение состоит из трех частей: конверта, заголовка и тела сообщения. Пользователь видит только заголовок и тело сообщения. Конверт используется только программами доставки. Заголовок всегда находится перед телом сообщения и отделен от него пустой строкой. RFC-822 регламентирует содержание заголовка сообщения15. Заголовок состоит из полей. Поля состоят из имени поля и содержания поля. Имя поля отделено от содержания символом ":". Минимально необходимыми являются поля Date, From, cc или To, например: 15 Бройдо В.Л., Матвеев Л.А., Макарова Н.В. Информатика. –М.: Финансы и статистика, 2001. –768 с. 30 Поле Date определяет дату отправки сообщения, поле From отправителя, а поля сс и To - получателя(ей). Чаще заголовок содержит дополнительные поля: В данном случае поле Sender указывает, что George Jones не является автором сообщения. Он только переслал сообщение, которое получил из Secy@SHOST. Поле Message-ID содержит уникальный идентификатор сообщения и используется программами доставки почты. Следующее сообщение демонстрирует все возможные поля заголовка: Поле Subject определяет тему сообщения, Reply-To - пользователя, которому отвечают, Comment - комментарий, In-Reply-To - показывает, что сообщение относится к типу «В ответ на Ваше сообщение, отвечающее на сообщение, отвечающее ...», X-Special-action пользователем, которое не определено в стандарте. - поле, определенное 31 Следует сказать, что формат сообщения постоянно дополняется и совершенствуется. В RFC-1327 введены дополнительные поля для совместимости с почтой X.400. Кроме этого, следует обратить внимание на поля некоторых довольно часто встречающихся заголовков, которые не регламентированы в RFC-822. Так первое предложение заголовка, которое начинается со слова From, содержит UUCP-путь сообщения, по которому можно определить, через какие машины сообщение «пробиралось». Поле Received: содержит транзитные адреса почтовых серверов с датой и временем прохождения сообщения. Вся эта информация полезна при разборе трудностей с доставкой почты16. 2.4 Спецификация MIME (Multipurpose Internet Mail Extension) Стандарт MIME (или в нотации Internet, RFC-1341) предназначен для описания тела почтового сообщения Internet. Предшественником MIME является Стандарт почтового сообщения ARPA (RFC-822). Стандарт RFC822 был разработан для обмена текстовыми сообщениями. С момента опубликования стандарта возможности аппаратных средств и телекоммуникаций ушли далеко вперед и стало ясно, что многие типы информации, которые широко используются в сети, невозможно передать по почте без специальных преобразований. Так в тело сообщения нельзя включить графику, аудио, видео и другие типы информации. RFC-822 не дает возможностей для передачи даже текстовой информации, которую нельзя реализовать 7-битовой кодировкой ASCII. Естественно, что при использовании RFC-822 не может быть и речи о передаче размеченного текста для отображения его различными стилями. Ограничения RFC-822 становятся еще более очевидными, когда речь заходит об обмене сообщениями в разных почтовых системах. Например, для приема/передачи 16 Олифер Н.А., Олифер В.Г. Сетевые операционные системы. Изд-во «Питер», 2003 32 сообщений из/в X.400 (новый стандарт ISO), который позволяет иметь двоичные данные в теле сообщения, ограничения старого стандарта могут стать фатальными, так как не спасает старый испытанный способ кодировки информации процедурой uuencode, так как эти данные могут быть по различному проинтерпретированы в X.400 и в программе рассылки почты в Internet (mail-agent). В некотором смысле стандарт MIME ортогонален стандарту RFC-822. Если последний подробно описывает в заголовке почтового сообщения текстовое тело письма и механизм его рассылки, то MIME, главным образом, ориентирован на описание в заголовке письма структуры тела почтового сообщения и возможности составления письма из информационных единиц различных типов17. В стандарте зарезервировано несколько способов представления разнородной информации. Для этого используются специальные поля заголовка почтового сообщения: поле версии MIME, которое используется для идентификации сообщения, подготовленного в новом стандарте; поле описания типа информации в теле сообщения, которое позволяет обеспечить правильную интерпретацию данных; поле типа кодировки информации в теле сообщения, указывающее на тип процедуры декодирования; два дополнительных поля, зарезервированных для более детального описания тела сообщения. Стандарт MIME разработан как расширяемая спецификация, в которой подразумевается, что число типов данных будет расти по мере развития форм представления данных. При этом следует учитывать, что анархия типов (безграничное их увеличение) тоже не допустима. Каждый новый тип в 17 Столингс В. Криптография и защита сетей: принципы и практика, 2-е издание: пер. с английского – М, : Издательский дом «Вильямс», 2001. 33 обязательном порядке должен быть зарегистрирован в IANA (Internet Assigned Numbers Authority). Поле версии MIME (MIME-Version) Поле версии указывается в заголовке почтового сообщения и позволяет определить программе рассылки почты, что сообщение подготовлено в стандарте MIME. Формат поля выглядит как: MIME-Version: 1.0 Поле версии указывается в общем заголовке почтового сообщения и относится ко всему сообщению целиком. Здесь уместно отметить, что в отличие от стандарта RFC822, стандарт MIME позволяет перемешивать поля заголовка сообщения с телом сообщения. Поэтому все поля делятся на два класса: общие поля заголовка, которые записываются в начале почтового сообщения и частные поля заголовка, которые относятся только к отдельным частям составного сообщения и записываются перед ними18. Поле типа содержания тела почтового сообщения (Content-Type) Поле типа используется для описания типа данных, которые содержатся в теле почтового сообщения. Это поле сообщает программе чтения почты какого сорта преобразования необходимы для того, чтобы сообщение правильно проинтерпретировать. Эта же информация используется и программой рассылки при кодировании/декодировании почты. Стандарт MIME определяет семь типов данных, которые можно передавать в теле письма: текст (text); смешанный тип (multipart); почтовое сообщение (message); графический образ (image); аудио информация (audio); фильм или видео (video); приложение (application). Общая форма записи поля выглядит в записи Бекуса-Наура как: 18 Левин Д.Р., Бароди К. Секреты Интернет. - К.: Диалектика, ICE, 1996. 34 Таким применения образом, стандарт электронной MIME почты, позволяет обеспечить расширить доступ информационным ресурсам сети в стандартных форматах. к область другим 35 3. ОСНОВНЫЕ МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ЭЛЕКТРОННОЙ ПОЧТЫ 3.1 Защита на уровне приложений Система PGP PGP (англ. Pretty Good Privacy) — компьютерная программа, позволяющая выполнять операции шифрования (кодирования) и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде. Первоначально разработана Филиппом Циммерманном в 1991 году19. PGP имеет множество реализаций, совместимых между собой и рядом других программ (GnuPG, FileCrypt и др.) благодаря стандарту OpenPGP (RFC 2440), но имеющих разный набор функциональных возможностей. Существуют реализации операционных PGP систем. Кроме для всех свободно наиболее распространённых распространяемых, есть коммерческие реализации: PGP Universal PGP Corporate Desktop PGP Workgroup Desktop PGP Command Line PGP Personal Desktop PGP Whole Disk PGP SDK PGP Mobile Ключ – это число, которое используется криптографическим алгоритмом для шифрования текста. Как правило, ключи - это очень большие числа. Размер ключа измеряется в битах. Число, представленное 1024 битами – 19 Акулов О.А., Медведев Н.В. Информатика: базовый курс. –М.: Омега, 2004. –551 с. 36 очень большое. В публичной криптографии, чем больше ключ, тем его сложнее взломать. В PGP применяется принцип использования двух взаимосвязанных ключей: открытого и закрытого. Это означает, что некий пользователь может сообщить о своем публичном ключе всему свету, при этом другие пользователи программы смогут отправлять ему зашифрованные сообщения, которые никто, кроме него, расшифровать не сможет. Сам же он расшифровывает эти сообщения с помощью своего второго, секретного ключа, который, разумеется, держится в тайне. Публичный ключ выглядит как небольшой текстовый блок, его можно разместить на какой-либо Webстранице или послать его электронной почтой своему абоненту20. В то время как открытый и закрытый ключи взаимосвязаны, чрезвычайно сложно получить закрытый ключ исходя из наличия только открытого ключа, однако это возможно при наличии большой компьютерной мощности. Поэтому крайне важно выбирать ключи подходящего размера: достаточно большого для обеспечения безопасности и достаточно малого для обеспечения быстрого режима работы. Кроме этого, необходимо учитывать личность того, кто намеревается прочитать ваши зашифрованные сообщения, насколько он заинтересован в их расшифровке, каким временем он обладает, и какие у него имеются ресурсы. Более большие ключи будут более надежными в течение более длительного срока времени. Ключи хранятся на жестком диске вашего компьютера в зашифрованном состоянии в виде двух файлов: одного для открытых ключей, а другого - для закрытых. Эти файлы называются «кольцами» (keyrings). При генерации ключей задаются их владелец (Имя и адрес электронной почты), тип ключа, длина ключа и срок его действия. 20 Галатенко В.А. «Основы информационной безопасности», изд. Интуит, 2005г. 37 PGP поддерживает три типа ключей RSA v4, RSA legacy (v3) и DiffieHellman/DSS (Elgamal в терминологии GnuPG). Для ключей RSA legacy длина ключа может составлять от 1024 до 2048 бит, а для Diffie-Hellman/DSS и RSA — от 1024 до 4096. Ключи RSA legacy содержат одну ключевую пару, а ключи Diffie-Hellman/DSS и RSA могут содержать один главный ключ и дополнительные ключи для шифрования. При этом ключ электронной подписи в ключах Diffie-Hellman/DSS всегда имеет размер 1024. Срок действия для каждого из типов ключей может быть определён как неограниченный или до конкретной даты. Для защиты ключевого контейнера используется секретная фраза. Программа PGP использует гибридную криптографическую систему. Кодирование и декодирование происходят в несколько этапов Таблица 3.1 Основные этапы кодирования и декодирования в PGP Кодирование сжатие открытых данных (plaintext), предназначенных к пересылке (что повышает скорость передачи и снижает вероятность использования взломанных фрагментов текста для декодирования всего пакета), зашифрованные данные невозможно подвергнуть дополнительному сжатию, создание ключа сессии (session key) - секретного одноразового ключа (secret key) (ключ генерируется программой как производная случайных перемещений мыши и данных, набранных на клавиатуре), шифрование данных с помощью секретного ключа сессии (session key), шифрование самого ключа сессии (session key) посредством общественного ключа (public key), 38 передача зашифрованного текста (ciphertext) и зашифрованного ключа сессии (session key) получателю Декодирование получатель использует свой собственный частный ключ (private key) для декодирования использованного отправителем ключа сессии (session key), зашифрованный текст (ciphertext) вскрывается ключом сессии (session key), >распаковка данных, сжатых при отправлении (plaintext) Когда пользователь шифрует сообщение с помощью PGP, то программа сначала сжимает текст, что сокращает время на отправку сообщения через модем и увеличивает надежность шифрования. Большинство приемов криптоанализа (взлома зашифрованных сообщений) основаны на исследовании «рисунков», присущих текстовым файлам, что помогает взломать ключ. Сжатие ликвидирует эти «рисунки» и таким образом повышает надежность зашифрованного сообщения. Затем PGP генерирует сессионный ключ, который представляет собой случайное число, созданное за счет движений вашей мышки и нажатий на клавиши клавиатуры21. Как только данные будут зашифрованы, сессионный ключ зашифровывается с помощью публичного ключа получателя сообщения, который отправляется к получателю вместе с зашифрованным текстом. Расшифровка происходит в обратной последовательности. Программа PGP получателя сообщения использует закрытый ключ получателя для извлечения временного сессионного ключа, с помощью которого программа затем дешифрует зашифрованный текст. Цифровая подпись 21 Гулевич Д. С. знаний, 2007 г., 184 с. Сети связи следующего поколения - ИНТУИТ.ру, БИНОМ. Лаборатория 39 Огромным преимуществом публичной криптографии также является возможность использования цифровой подписи, которая позволяют получателю сообщения удостовериться в личности отправителя сообщения, а также в целостности (верности) полученного сообщения. Цифровая подпись исполняет ту же самую функцию, что и ручная подпись. Однако ручную подпись легко подделать. Цифровую же подпись почти невозможно подделать. Хэш-функция Еще одно важное преимущество использования PGP состоит в том, что PGP применяет так называемую «хэш-функцию», которая действует таким образом, что в том случае какого-либо изменения информации, пусть даже на один бит, результат «хэш-функции» будет совершенно иным. С помощью «хэш-функции» и закрытого ключа создается «подпись», передаваемая программой вместе с текстом. При получении сообщения получатель использует PGP для восстановления исходных данных и проверки подписи. При условии использования надежной формулы «хэш-функции» невозможно вытащить подпись из одного документа и вложить в другой, либо каким-то образом изменить содержание сообщения. Любое изменение подписанного документа сразу же будет обнаружено при проверке подлинности подписи Шифрование Шифрование производится с использованием одного из пяти симметричных алгоритмов (AES, CAST5, TripleDES, IDEA, Twofish) на сеансовом ключе. Сеансовый ключ генерируется с использованием криптографически стойкого генератора псевдослучайных чисел. Сеансовый ключ зашифровывается открытым ключом получателя с использованием алгоритмов RSA или Elgamal (в зависимости от типа ключа получателя). В целях уменьшения объёма сообщений и файлов и, возможно, для затруднения криптоанализа PGP производит сжатие данных перед шифрованием. Сжатие производится по одному из алгоритмов ZIP, ZLIB, 40 BZIP2. Для сжатых, коротких и слабосжимаемых файлов сжатие не выполняется. Стоимость В 2007 году вышла новая версия PGP 9.6. Она поддерживает 32-битную ОС Windows Vista. К основным изменениям также можно отнести улучшенную поддержку Lotus Notes и новую технологию хранения содержимого на мобильных устройствах и съемных дисках. Стоимость пакета PGP Desktop Email 9.6 – perpetual составляет 45005000 руб. В PGP Desktop Email 9.6 – perpetual входит - PGP Desktop Email – это автоматическая кодировка электронной почты для настольных и переносных компьютеров. - PGP Desktop Email обеспечивает организацию автоматизированным и прозрачным набором решений кодировки для обеспечения безопасной передачи конфиденциальных сообщений по электронной почте. С помощью PGP Desktop Email организации могут защитить свой бизнес и соответствовать правовым стандартам своих партнеров. - Мощный инструмент обеспечения безопасного соединения. PGP Desktop Email обеспечивает пользователя полным функционалом, необходимым для защиты электронных соединений с помощью всего одного решения. Безопасные почтовые отправления из компании получателям (включая все промежуточные пункты) проходят автоматическую проверку через центральную консоль кодировок. PGP Desktop Email поддерживает основные стандарты безопасности и незаметно для пользователя сочетается с другими решениями. Для получателя без почтовых систем безопасности предусмотрена опция PGP Zip, так что защищенная информация отсылается как стандартный прикрепленный к письму файл. Система S/MIME Система S/MIME (Secure/Multipurpose Internet Mail Extension – защищённые многоцелевые расширения электронной почты) является усовершенствованием с точки зрения защиты стандарта формата MIME 41 электронной почты в Internet, базирующимся на использовании технологии RSA Data Security.Существуют основания полагать, что S/MIME станет стандартом коммерческого и промышленного использования, в то время как PGP останется альтернативой для защиты личной электронной почты большинства индивидуальных пользователей22. Secure MIME (S/MIME) - решение безопасности, реализованное в большинстве современных почтовых программ, которое поможет сохранить конфиденциальность, целостность почтовых сообщений и проверить подлинность данных. S/MIME обеспечивает сквозную защиту - не только в процессе пересылки сообщений, но и при хранении в базе данных почтового сервера. До появления S/MIME администраторы использовали для передачи сообщений электронной почты широко применявшийся протокол SMTP, изначально обладавший меньшим уровнем защищенности. Кроме этого, администраторы применяли более безопасные, но самостоятельно разработанные и, следовательно, специфичные решения. В сущности, перед ними стоял выбор между безопасностью и совместимостью. С появлением стандарта S/MIME администраторы получили альтернативу, обеспечивающую более высокий уровень безопасности, чем протокол SMTP, а также широкую совместимость и безопасность обмена сообщениями электронной почты. Стандарт S/MIME включает в себя две службы безопасности: цифровые подписи; шифрование сообщений. Эти две службы являются главными компонентами системы безопасности, основанной на стандарте S/MIME. Все остальные понятия, относящиеся к защите сообщений, предназначены для поддержки этих двух служб. Несмотря на то, что вся система защиты сообщений может показаться 22 Кнут Д.Э. Искусство программирования, т. 1. Основные алгоритмы, 3-е изд. -М.: Вильямс, 2000. -720 с. 42 сложной для понимания, две указанные службы являются основой обеспечения безопасности сообщений. Цифровые подписи и шифрование сообщений не являются взаимоисключающими службами. Каждая из них направлена на решение определенных задач обеспечения безопасности. Цифровые подписи предназначены для решения задач проверки подлинности и предотвращения отказа от авторства, а шифрование сообщений направлено на обеспечение конфиденциальности. Поскольку каждая из этих служб выполняет только свою задачу, стратегия защиты сообщений требует работы обеих служб, причем зачастую одновременно. Обе службы разработаны с учетом возможности их совместного использования, так как каждая в отдельности обслуживает одну из сторон взаимоотношений отправителя и получателя. Служба цифровых подписей занимается вопросами безопасности, относящимися к отправителям, а служба шифрования — вопросами, связанными с получателями23. При совместном использовании цифровых подписей и шифрования сотрудники предприятия извлекают пользу их обеих служб. При совместном применении ни одна из них не влияет на использование и работу другой. Цифровые подписи Служба цифровых подписей является более широко используемой службой S/MIME. Как следует из названия, цифровые подписи являются электронным аналогом традиционных подписей на печатных документах, имеющих законную силу. Как и подписи на печатных документах, цифровые подписи обеспечивают следующие возможности защиты: 1) Проверка подлинности Подпись служит для подтверждения личности. Служба проверяет ответ на вопрос «Кто вы?» с помощью средств проверки личности, а также путем получения подтверждения из надежного с точки 23 Лапонина О.Р. «Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия», 2005г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 672с. 43 зрения обеих сторон источника. Поскольку протокол SMTP не поддерживает проверку подлинности, он не дает возможности определить реального отправителя сообщения. Проверка подлинности с помощью цифровой подписи помогает в решении данной проблемы, предоставляя получателю возможность определить, действительно ли сообщение отправлено указанным в нем адресатом. 2) Невозможность отказа от авторства Уникальность подписи помогает доказать ее принадлежность при отказе владельца от своей подписи. Эта функция называется невозможностью отказа от авторства. Таким образом проверка подлинности, которую обеспечивает подпись, является средством реализации невозможности отказа от авторства. Понятие невозможности отказа от авторства наиболее часто используется в контексте договоров на бумажных налагающим носителях. Подписанный ответственность по договор закону. является При этом документом, отказаться от подтвержденной подписи очень трудно. Цифровые подписи служат той же цели и в некоторых областях все чаще принимают на себя функции подписей на бумаге, налагая ответственность по закону. Поскольку протокол SMTP не обеспечивает проверку подлинности, он не может предоставить функции невозможности отказа от авторства. Для отправителя не представляет сложности отказаться от авторства сообщения электронной почты, переданного по протоколу SMTP. 3) Целостность данных Дополнительной функцией защиты, которую обеспечивает служба цифровых подписей, является целостность данных. Проверка целостности данных становится возможной благодаря специальным операциям, необходимым для использования цифровых подписей. При использовании служб сохранения целостности данных получатель сообщения с цифровой подписью проверяет подлинность подписи и при этом удостоверяется, что получено действительно исходное сообщение, и оно не было изменено после его подписания и отправки. Любое изменение, внесенное при передаче сообщения после его подписания, делает 44 подпись недействительной. Таким образом цифровые подписи дают гарантии, которые не могут дать подписи на бумаге, так как документ на бумажном носителе можно изменить после его подписания. Шифрование сообщений Шифрование сообщений — это решение, обеспечивающее неразглашение информации. Службы электронной почты в Интернете на основе протокола SMTP не обеспечивают безопасность сообщений. Сообщение электронной почты, отправленное через Интернет по протоколу SMTP, может прочитать любой человек, обнаруживший его при передаче или в месте его хранения. Стандарт S/MIME помогает в решении этих проблем при помощи шифрования. Шифрование — это метод, при помощи которого данные изменяются таким образом, что их невозможно прочитать и понять, если не вернуть их в доступную для восприятия исходную форму24. Несмотря на то, что шифрование сообщений применяется не так широко, как цифровые подписи, оно направлено на устранение самой серьезной, по мнению многих, уязвимости электронной почты, передающейся через Интернет. Шифрование сообщений обеспечивает две отдельные службы обеспечения безопасности. Конфиденциальность. Шифрование сообщений помогает защитить содержимое сообщения электронной почты. Просматривать содержимое может только предполагаемый получатель, при этом содержимое остается конфиденциальным и недоступным для любого другого лица, имеющего возможность получить или просмотреть сообщение. Шифрование обеспечивает конфиденциальность сообщения при его передаче и хранении 24 Миков А.И., Королев Л.Н. Информатика. Введение в компьютерные науки. – М: Высшая школа, 2003. – 341 с. 45 Целостность данных. Как и цифровые подписи, шифрование сообщений обеспечивает проверку целостности данных благодаря специальным операциям, делающим шифрование возможным. Требования S/MIME Для обеспечения конфиденциальности электронной почты требуется наличие в рабочей среде особых компонентов. Перечислены эти компоненты. 1) Инфраструктура открытых ключей (PKI) Инфраструктура PKI необходима решениям S/MIME, чтобы предоставлять цифровым сертификатам пары открытых или частных ключей и сопоставлять сертификаты в службе Active Directory®. Согласно стандарту S/MIME цифровые сертификаты, использующиеся в S/MIME, соответствуют стандарту X.509 Международного Союза Телекоммуникаций (ITU). Согласно версии 3 стандарта S/MIME цифровые сертификаты должны соответствовать версии 3 стандарта X.509. Поскольку S/MIME основан на установленном общепринятом стандарте структуры цифровых сертификатов, стандарт S/MIME строится на его основе и способствует его признанию. Инфраструктуру PKI для поддержки стандарта S/MIME можно реализовать одним из следующих двух способов: путем предоставления внешней организации инфраструктуры внутреннего сертификата либо путем использования служб сертификации в составе операционной системы Microsoft Windows Server™ 2003 Инфраструктура открытых ключей должна иметь механизм отзыва сертификата. Отзыв сертификата необходим при истечении срока действия сертификата или при возможном нарушении безопасности сертификата злоумышленником. Отзывая сертификат, администратор запрещает доступ любым пользователям, работающим с этим сертификатом. Каждый сертификат содержит данные о местоположении списка аннулированных сертификатов (CRL). 2) Шаблоны сертификатов 46 Система Windows Server 2003 предоставляет определенные шаблоны сертификатов, чтобы выпускать цифровые сертификаты для использования со стандартом S/MIME. Для выдачи сертификатов безопасного обмена сообщениями электронной почты можно использовать три многофункциональных шаблона сертификатов. Администратор. Позволяет администратору использовать сертификат для авторизации, шифрования в файловой системе EFS, безопасного обмена сообщениями электронной почты и подписывания списка надежных сертификатов. Пользователь. Позволяет пользователю применять сертификат для авторизации, шифрования EFS и безопасного обмена сообщениями электронной почты. Пользователь смарт-карты. Позволяет пользователю входить в систему при помощи смарт-карты и подписывать сообщения электронной почты. Кроме того, этот сертификат обеспечивает проверку подлинности клиента. 3) Active Directory Служба реализации Active Directory является ключевым компонентом сертификатов S/MIME. Для развертывания для сертификатов пользователям с целью использования в службах электронной почты администратор может использовать такую функцию групповой политики, как автоматическая подача заявок на сертификаты. Кроме того, служба Active Directory в составе Windows Server 2003 включает в себя встроенную поддержку для нескольких клиентов электронной почты корпорации Майкрософт, в том числе приложений Microsoft Outlook и Outlook Express, а также веб-клиента Outlook (OWA) с S/MIME, в качестве каталога PKI и возможность отображать учетные записи пользователей в сертификаты25 4) Exchange Server 2003 25 Таненбаум Э.Компьютерные сети. СПб.: Издательский дом Питер, 2003 47 Обеспечивая администраторы поддержку сервера ряду Exchange клиентов Server электронной 2003 могут почты, настраивать развертывание клиентов для соответствия конкретным условиям. Поддержка сервером Exchange Server 2003 стандарта S/MIME для клиентов сходна с общей поддержкой клиентов в том аспекте, что пользователь может одновременно работать с любыми клиентами. Таким образом, основанное на S/MIME решение в составе сервера Exchange Server 2003 может поддерживать клиенты Microsoft Outlook, клиенты OWA и клиенты Outlook Express одновременно, используя протокол POP3. Между тем, поскольку клиент электронной почты должен поддерживать S/MIME версии 3 и поддерживаться сервером Exchange Server, не все клиенты могут являться клиентами S/MIME. Поддержка стандарта S/MIME также обеспечивается серверами Exchange Server 2000 и Exchange Server 2007. Клиенты электронной почты Сервер посредством Exchange Server существующей 2003 поддерживает поддержки клиентов протоколов S/MIME клиентов. Если поддерживаемый клиент также обеспечивает поддержку S/MIME, то такой клиент можно использовать совместно с сервером Exchange Server 2003. Если клиент не поддерживает версию 3 стандарта S/MIME , то такой клиент, тем не менее, можно использовать для прочтения четко подписанных сообщений. 1) Microsoft Outlook 2003 Приложение Microsoft Outlook поддерживает соединение с сервером Exchange Server 2003 через интерфейс MAPI. Кроме того, клиент Outlook может подключаться к серверу посредством протоколов POP3 и IMAP4. Сервер Exchange Server 2003 S/MIME можно использовать с любой версией Outlook, поддерживающей цифровые сертификаты стандарта X.509 (версия 3). Полная поддержка приложением Outlook сертификатов стандарта X.509 (версии 3) была впервые введена в Outlook 2000 с набором исправлений 1 (SR-1). 48 2) Клиенты POP3 и IMAP4 Если клиент электронной почты поддерживает версию 2 или 3 стандарта S/MIME, то сервер Exchange Server 2003 обеспечивает полную поддержку клиентов S/MIME с помощью стандартных протоколов POP3 и IMAP4. Любой клиент с поддержкой версии 2 или 3 стандарта S/MIME и поддержкой протокола POP3 или IMAP4 может использоваться в качестве клиента электронной почты в системе защиты сообщений в составе сервера Exchange Server 2003. Поскольку любой клиент с поддержкой стандарта S/MIME обеспечивает полную поддержку всех служб защиты сообщений, такие клиенты могут использоваться в качестве полноценных клиентов электронной почты. Майкрософт обеспечивает поддержку версии 3 стандарта S/MIME в клиентах POP3 и IMAP4 в Outlook Express версии 5.5 и выше и Outlook 2000 с набором исправлений SR-1a или более поздней версии26. Препятствия при практическом использовании S/MIME Не все приложения электронной почты могут обрабатывать S/MIME, что приводит к письмам с приложенным файлом «smime.p7m», что может привести к недоразумению. Иногда считается, что S/MIME не сильно подходит для использования вебпочты. Так как требования безопасности требуют, чтобы сервер никогда не смог получить доступ к закрытому ключу, что уменьшает такое преимущество вебпочты, как доступность из любой точки. Многие различают закрытые ключи для расшифровки и для цифровой подписи. Тех, кто готов предоставить некоторому агенту первый гораздо больше, чем тех, кто готов предоставить второй. Если необходимо безопасное подтверждение авторства (как и обеспечение отсутствия ложного подтверждения), то второй ключ должен быть под 26 Хаулет Т. Защитные средства с открытыми исходными текстами - ИНТУИТ.ру, БИНОМ. Лаборатория знаний, 2007 г., 608 с. 49 строгим контролем владельца, и только его, в течение всего цикла его жизни, от создания, до уничтожения. S/MIME специально предназначено для обеспечения безопасности на пути от отправителя до получателя. Вредоносное ПО, попавшее письмо, без препятствий дойдет до получателя, так как нет средств обнаружить его в этом промежутке. Следовательно, необходимо обеспечивать безопасность на оконечном устройстве. Стоимость S/MIME Основное отличие S/MIME от PGP в том, что здесь понятие «сеть доверия» несколько сужено. Хотя пользователь должен, как и в PGP, иметь два ключа (приватный и публичный), метод получения их несколько иной. Ключи получают вместе с так называемым сертификатом, то есть некой информацией о пользователе, позволяющей определить, что он - тот, за кого себя выдает. Пользуясь аналогией, можно сказать, что сертификат - нечто вроде паспорта, удостоверения личности в цифровом мире. Сертификат содержит в себе открытый ключ пользователя как одно из полей (наряду с его именем, почтовым адресом и т.д.), и для его получения необходимо обратиться в какой-либо центр сертификации, публичный (оказывающий услуги сертификации в Итернете) или корпоративный. Существует множество центров сертификации, в которых можно получить за деньги (евро или доллары) сертификат работы с электронной почтой (стандартного формата Х.509). Самым известным центром сертификации является, видимо, Verisign. Однако совсем не обязательно пользоваться услугами именно этой компании. Также существует еще центр GlobalSign , созданный для выдачи сертификатов жителям Западной Европы. Поскольку для получения сертификата необходимо предоставить центру копию удостоверения личности (например, отправить экспресс-почтой), это обстоятельство может иметь немаловажное значение. Годовой сертификат для электронной почты стоит здесь 16 евро. 50 3.2 Протоколы SSL и TLS SSL (англ. Secure Sockets Layer — протокол защищённых сокетов) криптографический протокол был разработан в 1996 году компанией Netscape и вскоре стал наиболее популярным методом обеспечения защищенного обмена данными через Интернет. Этот протокол интегрирован в большинство браузеров и веб серверов и использует ассиметричную криптосистему с открытым ключом, разработанную компанией RSA. Протокол SSL предназначен для решения традиционных задач обеспечения защиты информационного взаимодействия, которые в среде клиент/сервер интерпретируются следующим образом: - пользователь, подключаясь к серверу, должен быть уверен, что он обменивается информацией не с подставным сервером, а именно с тем, который ему нужен (в противном случае это может привести к курьезным, если не к печальным, последствиям). Во многих приложениях необходимо также, чтобы и сервер мог надежно идентифицировать клиента, не ограничиваясь защитой паролем; - после установления соединения между сервером и клиентом весь информационный поток между ними должен быть защищен от несанкционированного доступа; - при обмене информацией стороны должны быть уверены в отсутствии случайных или умышленных искажений при ее передаче. Безопасный SSL протокол размещается между двумя протоколами: протоколом, который использует программа-клиент (HTTP, FTP, IMAP, LDAP, Telnet и т.д.) и транспортным протоколом TCP/IP. Создавая своего рода заслонки с обеих сторон, он защищает и передает данные на транспортный уровень. Благодаря работе по многослойному принципу, SSL 51 протокол может поддерживать много разных протоколов программклиентов27. Работу протокол SSL можно разделить на два уровня. Первый уровень – слой протокола подтверждения подключения (Handshake Protocol Layer). Он состоит из трех подпротоколов: протокол подтверждения подключения (Handshake Protocol), протокол изменения параметров шифра (Change Cipher Spec Protocol) и предупредительный протокол (Alert protocol). Второй уровень – это слой протокола записи. На рис.3.1 схематически изображены уровни слоев SSL Рис.3.1 Уровни слоев SCC Уровень подтверждения подключения состоит из трех под протоколов: 1) Подтверждение подключения. Этот подпротокол используется для согласования данных сессии между клиентом и сервером. В данные сессии входят: идентификационный номер сессии; сертификаты обеих сторон; параметры алгоритма шифрования, который будет использован; алгоритм сжатия информации, который будет использоваться; «общий секрет», применён для создания ключей; открытый ключ 27 Хорев А.А. Защита информации от утечки по техническим каналам. Часть 1. Технические каналы утечки информации. Учебное пособие. М.: Гостехкомиссия России, 1998, 320 с. 52 2) Изменения параметров шифрования. Этот подпротокол используется для изменения данных ключа (keyingmaterial), который используется для шифрования данных между клиентом и сервером. Данные ключа – это информация, которая используется для создания ключей шифрования. Подпротокол изменения параметров шифрования состоит из одного единственного сообщения. В этом сообщении сервер говорит, что отправитель хочет изменить набор ключей. Дальше, ключ вычисляется из информации, которой обменялись стороны на уровне подпротокола подтверждения подключения. 3) Предупреждение. Предупредительное сообщение показывает сторонам изменение статуса или о возможной ошибке. Существует множество предупредительных сообщений, которые извещают стороны, как при нормальном функционировании, так и при возникновении ошибок. Как правило, предупреждение отсылаются тогда, когда подключение закрыто и получено неправильное сообщение, сообщение невозможно расшифровать или пользователь отменяет операцию. Подпротокол подтверждения подключения обеспечивает реализацию многих функций безопасности. Он производит цепочку обмена данными, что в свою очередь начинает проверку подлинности сторон и согласовывает шифрование, алгоритмы хеширования и сжатия. Установление подлинности участников Для определения подлинности участников обмена данных, протокол подтверждения подключения использует сертификат стандарта Х.509. Это является доказательством для одной стороны, так как помогает подтвердить подлинность другой стороны, которая владеет сертификатом и секретным ключом. Сертификат – это цифровой способ идентификации, который выпускает центр сертификации. В сертификате содержится идентификационная информация, период действия, публичный ключ, серийный номер, и цифровые подписи эмитента28. 28 SCC-протокол защищенных сокетов // http://www.freessl.ru/ 53 Сертификационный центр – это третья сторона, которой по умолчанию доверяют обе стороны. При попытке установить подключение в режиме SSL сессии, сертификационный центр проверяет инициатора (обычно в этой роли выступает пользователь, компьютер клиента), а затем выдает ему сертификат. Если необходимо, сертификационный центр обновляет или конфискует сертификаты. Проверка подлинности проходит по схеме: клиенту предоставлен сертификат сервера; компьютер клиента пытается сопоставить эмитента сертификата сервера со списком доверительных сертификационных центров; если эмитент сертификата – доверительный сертификационный центр, то клиент связывается и этим центром и проверяет, является ли сертификат настоящим, а не подделанным; после проверки сертификата у сертификационного центра, клиент принимает сертификат как свидетельство Шифрование данных Существует два основных способа шифрования данных: симметричный ключ (еще называется «общий секретный ключ») и ассиметричный ключ (второе название «открытый ключ» или «схема открытый-секретный ключ»). Протокол SSL использует как симметричные, так и ассиметричные ключи для шифрования данных. SSL-ключ – это зашифрованные данные, которые используются для определения схемы шифрования данных во время сессии. Чем длиннее ключ, тем труднее его взломать. Как правило, алгоритмы ассиметричных ключей более стойкие их практически невозможно взломать. Симметричный ключ. При шифровании симметричным ключом, используется один и тот же ключ для шифрования данных. Если две стороны хотят обмениваться зашифрованными сообщениями в безопасном режиме, то обе стороны должны иметь одинаковые симметричные ключи. Шифрование симметричным ключом обычно используется для шифрования большого 54 объема данных, так как это процесс проходит быстрее, чем при ассиметричном шифровании. Обычно используются алгоритмы DES (Data Encryption Standard – стандарт шифрования данных), 3-DES (тройной DES), RC2, RC4, и AES (Advanced Encryption Standard – современный стандарт шифрования)29. Ассиметричный ключ. Шифрование с применением ассиметричного (открытого) ключа использует пару ключей, которые оба были получены, пройдя целый комплекс математических вычислений. Один из ключей используется в качестве открытого, как правило, сертификационный центр публикует открытый ключ в самом сертификате владельца (обычно это является заголовком (subject)). Секретный ключ держится в тайне и никогда никому не окрывается. Эти ключи работают в паре: один ключ используется для запуска противоположных функций второго ключа. Так, если открытый ключ используется чтоб шифровать данные, то расшифровать их можно только секретным ключом. Если данные шифруются секретным ключом, то открытый ключ должен это расшифровывать. Такая взаимосвязь позволяет, используя схему шифрования открытым ключом, делать две важные вещи. Во-первых, любой пользователь может получить открытый ключ по назначению и использовать его для шифрования данных, расшифровать которые может только пользователь, у которого есть секретный ключ. Вовторых, если заголовок шифрует данные, используя свой секретный ключ, каждый может расшифровать данные, используя соответствующий открытый ключ. Именно это является основой для цифровых подписей. Самый распространенный алгоритм, который используется при шифровании с ассиметричными ключами – RSA (назван в честь разработчиков Rivest, Shamir, Adleman). Протокол SSL использует шифрование с открытым ключом для того, чтоб подтвердить клиенту подлинность сервера, и наоборот. Шифрование 29 Себеста У. Основные концепции языков программирования. – М.: Вильямс, 2001. –672 с. 55 открытым ключом также используется для определения ключа сессии. Ключ сессии используется симметричными алгоритмами для шифровки большого объема данных. Это объединяет ассиметричное шифрование (для проверки подлинности) и быстрое симметричное шифрование объемных данных (что не требует больших вычислительных ресурсов и больших затрат времени)30. Хэширование Во время подтверждения подключения согласовывается также и хэшалгоритм. Хэш–функция – это односторонняя математическая функция, которая принимает на входе сообщение произвольной длинны и вычисляет из него строку фиксированной длины. Хеш-значение играет роль идентификационной отметки, «отпечаток сообщения». Как и отпечатки пальцев уникальны для каждого человека, хеш-значения тоже уникальны. Кроме того, как отпечатки пальцев значительно меньше, чем сам человек, так и хеш-значение намного меньше оригинального сообщения. Хэширование используется для обеспечения целостности передачи данных. Самыми популярными хэш-алгоритмами являются MD5 (Message Digest 5 – дайджест сообщения, 5 версия) и SHA-1 (Standard Hash Algorithm – стандартный алгоритм хэширования). MD5 создает 128 битное хэш-значение, а SHA-1 создает 160 битное хэш-значение. Есть также новые, более устойчивые алгоритмы хэширования: WHIRLPOOL, SHA-512, SHA-384, HAVAL, Tiger(2). Результатом работы хэш-алгоритма выступает значение, которое используется для проверки целостности переданных данных. Это значение создается с использованием либо MAC либо HMAC. MAC - Message Authentication Code – код проверки сообщения. Он использует отображающую функцию и предоставляет данные в виде значений фиксированного размера, а затем - хэширует само сообщение. MAC 30 Основы криптографии: Учебное пособие. /Алферов А.П., Зубов А.Ю., Кузьмин А.С. Черемушкин А.В. - М.: Гелиос, 2001. 56 гарантирует, что данные не были изменены во время передачи. Разница между MAC и цифровой подписью состоит в том, что цифровая подпись это также способ подтверждения подлинности. SSL использует MAC. HMAC - Hashed Message Authentication Code – хэшированный код проверки сообщения. HMAC похож на MAC, но при этом используется хэшалгоритм вместе с общим секретным ключом. Общий секретный ключ прикрепляется к данным, которые хэшируются. Это позволяет сделать хэширование более безопасным, так как обе стороны должны иметь одинаковые секретные ключи для подтверждения подлинности данных. HMAC используется только протоколом TLC31. Уровень записи Протокол на уровне слоя записи получает зашифрованные данные от программы-клиента и передает его на транспортный слой. Протокол записи берет данные, разбивает на блоки размером, который подходит криптографическому алгоритму, использует MAC (или HMAC) и потом шифрует (расшифровывает) данные. При этом используется информация, которая была согласованна во время протокола подтверждения данных. В некоторых случая на этом уровне проходит сжатие (распаковка) данных. В зависимости от уровня доверия SSL сертификаты бывают: Trusted (доверительные) Self-Signed (недоверительные) Trusted SSL сертификаты (доверительные сертификаты) – цифровые документы выданные, специальными центрами сертификации. При установке подключения с использованием доверительного SSL сертификата программные приложения (например, браузер) доверяет подлинность сертификата автоматически. Как правило, эмитент сертификата является независимой третьей стороной, которая не участвует в процессе обмена данными. 31 Центр сертификации выписывает сертификат Кнут Д.Э. Искусство программирования, т. 3. Сортировка и поиск, 2-е изд. -М.: Вильямс, 2000. -832 с. на 57 сертифицированное доменное имя, указывает срок действия сертификата (1-5 лет), ставит цифровые печати и подписи. Таким образом, подтверждается гарантированный уровень безопасности установленного подключения. В случае взлома доверительного сертификата ответственность ложиться только на центр сертификации, который давал гарантию своего продукта. При использовании доверительного сертификата используется два ключа: открытый и секретный (или приватный). Открытый ключ доступный любому пользователю в сети, в то время как секретный – только серверувладельцу. Такая схема позволяет сохранять секретность передачи информации32. Self-Signed SSL сертификат (недоверительный, созданный самостоятельно сертификаты) можно сгенерировать самостоятельно, при этом, подлинность сертификата подтверждается его создателем; т.е. подписан он недоверительным лицом. По этому, программные приложения не доверяют Self-Signed сертификатам и выдают предупреждение, что во время сессии будет использован недоверительный сертификат. Так, при взломе Self-Signed SSL сертификата никто возмещать Вам ущерб не будет. Кроме того, может возникнуть ситуации, при которой к Вам будут применены штрафные санкции, о размерах которых лучше даже не знать. Схема использования недоверительного сертификата предполагает, что подпись сертификата можно проверить, только используя публичный ключ, часть которого находится в самом сертификате. Т.е. сертификат подтверждается, публичным ключом который является частью самого сертификата (сертификат подтверждает сам себя). Именно по этой причине браузеры не доверяют таким сертификатам. TLS 32 Гулевич Д. С. знаний, 2007 г., 184 с. Сети связи следующего поколения - ИНТУИТ.ру, БИНОМ. Лаборатория 58 Основная функция протокола TLS состоит в обеспечении защиты и целостности данных между двумя взаимодействующими приложениями, одно из которых является клиентом, а другое – сервером. Протокол TLS (Transport Layer Security) разрабатывался на основе спецификации протокола SSL 3.0 (Secure Socket Layer), опубликованного корпорацией Netscape. Различия между данным протоколом и SSL 3.0 несущественны, но важно заметить, что TLS 1.0 и SSL 3.0 несовместимы, хотя в TLS 1.0 предусмотрен механизм, который позволяет реализациям TLS иметь обратную совместимость с SSL 3.033. Целями протокола TLS в порядке приоритетности являются: 1) Криптографическая безопасность: TLS должен использоваться для установления безопасного соединения между двумя участниками. 2) Интероперабельность: независимые разработчики могут создавать приложения, которые будут взаимодействовать по протоколу TLS, что позволит устанавливать безопасные соединения. 3) Расширяемость: TLS формирует общий каркас, в который могут быть встроены новые алгоритмы открытого ключа и симметричного шифрования. Это также избавляет от необходимости создавать новый протокол, что сопряжено с опасностью появления новых слабых мест, и предотвращает необходимость полностью реализовывать новую библиотеку безопасности. 4) Относительная эффективность: криптографические операции интенсивно используют ЦП, особенно операции с открытым ключом. Для этого вводится понятие сессии, для которой определяются алгоритмы и их параметры. В рамках одной сессии может быть создано несколько соединений (например, ТСР). TLS позволяет кэшировать сессии для уменьшения количества выполняемых действий при соединения. Это снижает нагрузку как на ЦП, так и на трафик. 33 Гордеев А.В. Операционные системы. Учебник для ВУЗов. –М. Питер, 2004. –416 с. установлении 59 Протокол состоит из двух уровней. Нижним уровнем, расположенным выше некоторого надежного протокола (а именно, протокола ТСР) является протокол Записи. Протокол Записи обеспечивает безопасность соединения, которая основана на следующих двух свойствах: 1) Конфиденциальность соединения. Для защиты данных используется один из алгоритмов симметричного шифрования. Ключ для этого алгоритма создается для каждой сессии и основан на секрете, о котором договариваются в протоколе Рукопожатия. Протокол Записи также может использоваться без шифрования. 2) Целостность соединения. Обеспечивается проверка целостности сообщения с помощью МАС с ключом. Для вычисления МАС используются безопасные хэш-функции SHA-1 и MD5. Протокол Записи может выполняться без вычисления МАС, но обычно функционирует в этом режиме. Протокол записи используется для инкапсуляции различных протоколов более высокого уровня. Одним из протоколов более высокого уровня является протокол Рукопожатия, который использует протокол Записи в качестве транспорта для ведения переговоров о параметрах безопасности. Протокол Рукопожатия позволяет серверу и клиенту аутентифицировать друг друга и договориться об алгоритмах шифрования и криптографических ключах до того, как прикладной протокол, выполняющийся на том же уровне, начнет передавать или принимать первые байты данных34. Протокол Рукопожатия обеспечивает безопасность соединения, которая основана на следующих свойствах: 1) Участники аутентифицированы с использованием криптографии с открытым ключом (т.е. с использованием алгоритмов RSA, DSS и т.д.). Эта 34 Лапонина О.Р. «Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия», 2005г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 672с. 60 аутентификация может быть необязательной, но обычно требуется по крайней мере для сервера. 2) Переговоры о разделяемом секрете безопасны, т.е. этот общий секрет невозможно подсмотреть. 3) Переговоры о разделяемом секрете надежны, если выполнена аутентификация хотя бы одной из сторон. В таком случае атакующий, расположенный в середине соединения, не может модифицировать передаваемый секрет незаметно для участников соединения. Одно из преимуществ TLS состоит в том, что он независим от прикладного протокола. Протоколы более высокого уровня могут прозрачно располагаться выше протокола TLS. Элементы протокола Криптографические операции Определены четыре криптографические операции: цифровая подпись, поточное шифрование, блочное шифрование и шифрование с открытым ключом. В операции цифровой подписи входом в алгоритм подписи является результат применения односторонней хэш-функции к подписываемым данным. Длина входа определяется алгоритмом подписи. При использовании алгоритма RSA подписывается 36-байтная структура, состоящая из конкатенации 20 байтов хэш-кода SHA-1 и 16 байтов хэш-кода MD5. При использовании DSS 20 байтов хэш-кода SHA-1 подаются на вход алгоритму DSA без дополнительного хэширования. При этом создается два значения: r и s. При поточном шифровании для незашифрованного текста выполняется операция XOR с тем же количеством значений, созданных криптографически безопасным (с ключом) генератором псевдослучайных чисел. При блочном шифровании каждый блок незашифрованного текста шифруется, в результате чего создается блок зашифрованного текста. Все 61 алгоритмы блочного шифрования выполняются в режиме СВС, и длина всех шифруемых элементов должна быть кратна длине блока алгоритма шифрования. При шифровании с открытым ключом используется алгоритм открытого ключа, при этом данные могут быть дешифрованы только с помощью соответствующего закрытого ключа. НМАС и псевдослучайная функция Для получения МАС используется НМАС, поэтому если не знать секрета МАС, подделать МАС невозможно. НМАС может использоваться с различными хэш-алгоритмами. TLS задействует при Рукопожатии два алгоритма, MD5 и SHA-1, обозначаемых как HMAC_MD5 (secret, data) и HMAC_SHA (secret, data). Могут быть определены дополнительные хэш-алгоритмы, но в настоящей версии используются только MD5 и SHA-1. В алгоритме определена функция, которая расширяет секрет до нужной длины для создания всех необходимых ключей. Такая псевдослучайная функция, PRF, получает в качестве входа секрет, «зерно» (seed – значение, которое с одной стороны является случайным, а с другой стороны не является секретным, т.е. может стать известно оппоненту) и идентификационную метку, и создает выход требуемой длины35. Для того чтобы сделать PRF как можно более безопасной, используются два безопасных хэш-алгоритма. Во-первых, определяется функция расширения данных P_hash (secret, data), которая применяет единственную хэш-функцию для расширения секрета и «зерна»: P_hash (secret, seed) = HMAC_hash (secret, A(1) + seed) + 35 Лапонина О.Р. «Межсетевое экранирование», 2006г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 343с 62 HMAC_hash (secret, A(2) + seed) + HMAC_hash (secret, A(3) + seed) + ... где + – обозначает конкатенацию. А () – определяется следующим образом: А (0) = seed A (i) = HMAC_hash (secret, A (i – 1)) P_hash может иметь столько итераций, сколько необходимо для создания требуемого количества данных. Например, если P_SHA-1 используется для создания 64 байтов данных, то количество итераций должно быть равно 4, при этом будет создано 80 байтов данных; последние 16 байтов заключительной итерации будут отброшены, чтобы оставить только 64 байта выходных данных. PRF создается путем расщепления секрета на две половины, одна половина используется для создания данных с помощью P_MD5, а другая – для создания данных с помощью P_SHA-1, после чего оба выхода этих функций складываются по модулю 2. PRF определяется как результат сложения по модулю 2 этих двух псевдослучайных значений. PRF (secret, label, seed) = P_MD5 (S1, label + seed) P_SHA-1 (S2, label + seed); Label является фиксированной текстовой строкой. Поскольку MD5 создает 16-байтные значения, а SHA-1 создает 20байтные значения, то границы внутренних итераций не будут совпадать. Например, для создания 80-байтного значения необходимо выполнить 5 итераций P_MD5 и 4 итерации P_SHA-1. Протокол Записи Протокол Записи состоит из нескольких уровней. На каждом уровне сообщения могут включать поля длины, описания и содержимого. Протокол 63 Записи фрагментирует сообщение на блоки нужной длины, осуществляет сжатие данных, применяет МАС и зашифровывает их, после чего результат передается по сети. На другом конце соединения полученные данные дешифруются, проверяется их целостность, далее они декомпрессируются, дефрагментируются и передаются протоколам более высокого уровня36. Выше протокола Записи могут располагаться следующие протоколы: протокол Рукопожатия, Аlert-протокол, протокол изменения шифрования и протокол прикладных данных. Для того чтобы иметь возможность расширения протокола TLS, протокол Записи допускает создание новых типов записей. Если реализация TLS получает тип записи, который она не понимает, она просто игнорирует его. Заметим, что тип и длина записи не зашифрованы, следовательно эти значения не должны содержать секретных данных. Состояния соединения Вводится понятие состояния соединения, которое определяет параметры выполнения протокола Записи. Такими параметрами являются алгоритм сжатия, алгоритм шифрования и МАС-алгоритм, а также параметры этих алгоритмов, т.е. секреты МАС, ключи алгоритма шифрования и инициализационные вектора. Для каждого направления (соответственно чтение или запись) параметры соединения могут различаться. Существует четыре состояния соединения: текущие состояния чтения и записи и ожидаемые состояния чтения и записи. Параметры безопасности для ожидаемых состояний устанавливаются протоколом Рукопожатия, а протокол Изменения шифрования может делать ожидаемое состояние текущим, при этом соответствующее текущее состояние сбрасывается и заменяется ожидаемым. Ожидаемое состояние в этом случае инициализируется в пустое состояние. Разработчики не должны допускать 36 Столингс В., Криптография и защита сетей: принципы и практика, 2-е издание: пер. с английского – М, : Издательский дом «Вильямс», 2001. 64 возможности сделать текущим состояние, которое не было инициализировано параметрами безопасности. Начальное текущее состояние всегда определяется без использования шифрования, сжатия и МАС. Параметры безопасности для состояний чтения и записи устанавливаются с помощью следующих значений (таблица 3.2). Уровень записи использует параметры безопасности для создания следующих шести элементов: client write MAC secret server write MAC secret client write key server write key client write IV – только для блочных алгоритмов server write IV – только для блочных алгоритмов Параметры client write используются сервером, когда он получает сообщения и клиентом, когда тот посылает их. Параметры server write применяются сервером, когда он посылает сообщения и клиентом, когда он получает их. После того как параметры безопасности установлены и ключи созданы, ожидаемые состояния соединения могут быть сделаны текущими. Таблица 3.2 Параметры состояния соединения Конец соединения Каждый участник является либо «клиентом», либо «сервером» Алгоритм симметричного шифрования Алгоритм, используемый для симметричного шифрования. Данное описание включает размер ключа алгоритма, тип алгоритма (блочный или поточный), размер блока алгоритма и информацию о том, является ли он «экспортируемым» МАС алгоритм Алгоритм, используемый для проверки целостности сообщения. Это описание 65 включает размер хэша, который возвращается МАС-алгоритмом Алгоритм сжатия Алгоритм, используемый для сжатия данных. Данное описание включает всю информацию, необходимую алгоритму сжатия Мастер-секрет 48-байтный секрет, разделяемый обоими участниками соединения Случайное число клиента 32-байтное значение, создаваемое клиентом Случайное число сервера 32-байтное значение, создаваемое сервером Алгоритм МАС МАС-секрет Последовательный номер Каждое состояние соединения содержит последовательный номер, который вычисляется независимо для состояний чтения и записи. Последовательный номер должен устанавливаться в ноль всякий раз, когда состояние соединения становится активным, т.е. текущим или ожидаемым. Последовательные номера не могут быть больше 264 - 1. Последовательный номер возрастает после каждой записи Уровень Записи Уровень Записи получает данные от более высоких уровней в блоках произвольной длины. Фрагментация Уровень Записи фрагментирует блоки в записи TLSPlaintext, поддерживая цепочки данных длиной не более 214 байт. Границы записей протоколов более высокого уровня не сохраняются на уровне Записи, т.е. несколько сообщений протокола более высокого уровня некоторого ContentType могут быть размещены в одной записи TLSPlaintext или единственное сообщение может быть фрагментировано в несколько записей. Компрессия и декомпрессия 66 Все записи сжимаются с использованием алгоритма сжатия, определенного в текущем состоянии сессии. Первоначально он определяется как CompressionMethod.null. Алгоритм сжатия преобразует TLSPlaintextструктуру в TLSCompressed-структуру37. Если функция декомпрессированного декомпрессии фрагмента определяет, превышает 214 что байтов, длина возникает фатальная ошибка декомпрессии. struct { ContentType type; /* same as TLSPlaintext.type */ ProtocolVersion version; /* same as TLSPlaintext.version */ uint16 length; opaque fragment[TLSCompressed.length]; } TLSCompressed; length – длина (в байтах) следующего TLSCompressed.fragment. fragment – сжатая форма TLSPlaintext.fragment. Защита полезной информации записи Функции шифрования и МАС преобразуют TLSCompressed-структуру в TLSCiphertext. Функции дешифрования выполняют обратные преобразования. Применение МАС включает последовательный номер, поэтому потерю или повтор сообщений всегда можно обнаружить. struct { 37 Ахо А., Ульман Д., Сети Р. Компиляторы: принципы, технологии, инструментарий. – М.: Вильямс, 2001. – 768 с. 67 ContentType type; ProtocolVersion version; uint16 length; select (CipherSpec.cipher_type) { case stream: GenericStreamCipher; case block: GenericBlockCipher; } fragment; } TLSCiphertext; МАС выполняется перед шифрованием. Потоковый шифратор шифрует весь блок, включая МАС. Если CipherSuite есть TLS_NULL_WITH_NULL_NULL, то шифрование состоит из тождественной операции, т.е. данные TLSCiphertext.length не шифруются есть сумма и МАС не используется. TLSCompressed.length и CipherSpec.hash_size38. Для блочных алгоритмов функции шифрования и МАС преобразуют TLSCompressed.fragment-структуру из блоков TLSCiphertext.fragment- структур. Длина зашифрованных данных (TLSCiphertext.length) есть сумма TLSCompressed.length, CipherSpec.hash_size и padding_length. Вычисление ключей Протокол Записи использует следующий алгоритм для создания ключей, инициализационных векторов и секретов МАС из параметров безопасности, создаваемых протоколом Рукопожатия. Из мастер-секрета с использованием хэш-функций создается последовательность байтов, которая представляет собой МАС-секреты, ключи и инициализационные вектора: client write MAC secret, server write MAC secret, client write key, server write key, client write IV и server write IV. Если некоторое значение не используется, то оно является пустым. Для создания ключа вычисляется: 38 Галатенко В.А. «Стандарты информационной безопасности», изд. Интуит, 2005г. 68 key_block = PRF ( SecurityParameters.master_secret, "key expansion", SecurityParameters.server_random + SecurityParameters.client_random); Вычисления производятся до тех пор, пока не получится выход заданной длины. Затем key_block разбивается на блоки для получения требуемых ключей следующим образом: client_write_MAC_secret [ SecurityParameters.hash_size] server_write_MAC_secret [ SecurityParameters.hash_size] client_write_key [ SecurityParameters.key_material_length] server_write_key [ SecurityParameters.key_material_length] client_write_IV [SecurityParameters.IV_size] server_write_IV [SecurityParameters.IV_size] client_write_IV и server_write_IV создаются только для неэкспортируемых блочных алгоритмов. Для экспортируемых блочных алгоритмов инициализационные вектора создаются другим способом. После выполнения данных вычислений вся информация о мастер-секрете и key_block сбрасывается39. Для экспортируемых алгоритмов шифрования (для которых CipherSpec.is_exportable есть true) требуется дополнительное вычисление ключей записи: final_client_write_key = 39 Ульман Д., Хопкрофт Д., Ахо А. Структуры данных и алгоритмы. –М.: Вильямс, 2000. –384 с. 69 PRF (SecurityParameters.client_write_key, "client write key", SecurityParameters.client_random + SecurityParameters.server_random); final_server_write_key = PRF (SecurityParameters.server_write_key, "server write key", SecurityParameters.client_random + SecurityParameters.server_random); Для экспортируемых алгоритмов шифрования инициализационные вектора вычисляются следующим образом: iv_block = PRF ("", "IV block", SecurityParameters.client_random + SecurityParameters.server_random); IV_block разделяется на два инициализационных вектора аналогично key_block: client_write_IV [SecurityParameters.IV_size] server_write_IV [SecurityParameters.IV_size] В данном случае PRF используется без секрета: это означает, что секрет имеет нулевую длину и на результат вычисления PRF не влияет Протокол Рукопожатия TLS Протокол Рукопожатия состоит из трех протоколов, использование которых позволяет участникам согласовать параметры безопасности для протокола Записи, аутентифицировать друг друга, договориться о 70 параметрах безопасности и сообщить друг другу о возникновении тех или иных ошибок40. В результате выполнения протокола Рукопожатия будут созданы элементы сессии показанные в таблице 3.3. Протокол изменения шифрования Протокол состоит из единственного сообщения, которое зашифровано и сжато, как определено в текущем (не ожидаемом) состоянии соединения. Таблица 3.3 Создаваемые элементы сессии Идентификатор сессии Произвольная последовательность байтов, выбираемая сервером для идентификации активного или возобновляемого состояния сессии Сертификат участника Х.509 v3 сертификат участника. Этот элемент может быть нулевым Метод сжатия Алгоритм, используемый для сжатия данных перед шифрованием Набор алгоритмов Алгоритм симметричного шифрования данных (такой как null, DES и т.д.), МАСалгоритм (такой как MD5 или SHA) и различные криптографические атрибуты, такие как hash_size Мастер-секрет 48-байтный секрет, разделямый клиентом и сервером Возобновляемо Флаг, определяющий, может ли данная сессия использоваться для создания нового соединения Сообщение об изменении шифрования может посылаться как клиентом, так и сервером для уведомления получающей стороны о том, что следующие 40 Хаулет Т. Защитные средства с открытыми исходными текстами - ИНТУИТ.ру, БИНОМ. Лаборатория знаний, 2007 г., 608 с. 71 записи будут защищены алгоритмами и ключами, о которых стороны только что договорились. При поступлении данного сообщения получатель должен информировать протокол Записи о немедленном копировании ожидаемого состояния чтения в текущее состояние чтения. Сразу после посылки данного сообщения отправитель должен информировать протокол Записи на своем конце соединения о немедленном копировании ожидаемого состояния записи в текущее состояние записи. Сообщение об изменении шифрования посылается при Рукопожатии после того, как параметры безопасности согласованы, но перед тем как посылается заключительное верифицирующее сообщение. Alert протокол Одним из протоколов, лежащих выше протокола Записи, является протокол Аlert. Содержимым протокола является либо фатальное, либо предупреждающее сообщение. Фатальное сообщение должно приводить к немедленному разрыву данного соединения. В этом случае другие другие соединения, соответствующие данной сессии, могут быть продолжены, но идентификатор сессии должен быть сделан недействительным для предотвращения использования данной сессии для установления новых соединений. Подобно другим сообщениям, сообщения Alert зашифрованы и сжаты, как определено в текущем состоянии соединения. Сообщения закрытия Клиент и сервер должны оба узнать о том, что соединение завершается. Каждый участник может инициировать обмен сообщениями закрытия. Сообщение close_notify уведомляет получателя о том, что отправитель не будет больше посылать никаких сообщений по данному соединению. Сессия становится невозобновляемой, если хотя бы одно соединение завершено без соответствующего предупреждающего close_notify41. 41 Таненбаум Э.Компьютерные сети. СПб.: Издательский дом Питер, 2003 сообщения 72 Каждый участник может инициировать закрытие посылкой сообщения Alert типа close_notify. Любые данные, отправленные после Alert-закрытия, игнорируются. Требуется, чтобы каждый участник посылал close_notify Alert перед закрытием стороны записи соединения. Это означает, что при получении ответа другого участника с Alert типа close_notify соединение немедленно закрывается и все ожидаемые состояния сбрасываются. Инициатору закрытия не обязательно ждать ответного close_notify Alert перед закрытием стороны чтения соединения. Если прикладной протокол, использующий TLS, предполагает, что какие-либо данные могут передаваться нижележащим транспортом после того как соединение TLS закрыто, реализация TLS должна получать ответный Alert типа close_notify перед тем как сообщать прикладному уровню, что соединение TLS завершено. Если прикладной протокол не будет передавать никаких дополнительных данных, а будет только закрывать нижележащее транспортное соединение, реализация может закрыть соединение без ожидания ответного close_notify. В стандарте TLS не определен способ, которым управляются данные транспорта, включая открытие и закрытие соединений. 3.3 Защита на уровне IP IP Security - это комплект протоколов, касающихся вопросов шифрования, аутентификации и обеспечения защиты при транспортировке IP-пакетов; в его состав сейчас входят почти 20 предложений по стандартам и 18 RFC. Спецификация IP Security (известная сегодня как IPsec) разрабатывается Рабочей группой IP Security Protocol IETF. Первоначально IPsec включал в себя 3 алгоритмо-независимые базовые спецификации, опубликованные в качестве RFC-документов «Архитектура безопасности IP», 73 «Аутентифицирующий заголовок (AH)», «Инкапсуляция зашифрованных данных (ESP)» (RFC1825, 1826 и 1827). Необходимо заметить, что в ноябре 1998 года Рабочая группа IP Security Protocol предложила новые версии этих спецификаций, имеющие в настоящее время статус предварительных стандартов, это RFC2401 - RFC2412. Отметим, что RFC1825-27 на протяжении уже нескольких лет считаются устаревшими и реально не используются. Кроме этого, существуют несколько алгоритмо-зависимых спецификаций, использующих протоколы MD5, SHA, DES42. Рис.3.2. Архитектура IPSec Рабочая группа IP Security Protocol разрабатывает также и протоколы управления ключевой информацией. В задачу этой группы входит разработка Internet Key Management Protocol (IKMP), протокола управления ключами прикладного уровня, не зависящего от используемых протоколов обеспечения безопасности. В настоящее время рассматриваются концепции управления ключами с использованием спецификации Internet Security 42 Петраков А.В. Основы практической защиты информации. М.: Радио и связь, 1999, 368с. 74 Association and Key Management Protocol (ISAKMP) и протокола Oakley Key Determination Protocol43. Спецификация ISAKMP описывает механизмы согласования атрибутов используемых протоколов, в то время как протокол Oakley позволяет устанавливать сессионные ключи на компьютеры сети Интернет. Ранее рассматривались также возможности использования механизмов управления ключами протокола SKIP, однако сейчас такие возможности реально практически нигде не используются. Создаваемые стандарты управления ключевой информацией, возможно, будут поддерживать Центры распределения ключей, аналогичные используемым в системе Kerberos. Протоколами ключевого управления для IPSec на основе Kerberos сейчас занимается относительно новая рабочая группа KINK (Kerberized Internet Negotiation of Keys). Гарантии целостности и конфиденциальности данных в спецификации IPsec обеспечиваются за счет использования механизмов аутентификации и шифрования соответственно. Последние, в свою очередь, основаны на предварительном согласовании сторонами информационного обмена т.н. «контекста безопасности» – применяемых криптографических алгоритмов, алгоритмов управления ключевой информацией и их параметров. Спецификация IPsec предусматривает возможность поддержки сторонами информационного обмена различных протоколов и параметров аутентификации и шифрования пакетов данных, а также различных схем распределения ключей. При этом результатом согласования контекста безопасности является установление индекса параметров безопасности (SPI), представляющего собой указатель на определенный элемент внутренней 43 Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Спб.: Издательский дом Питер, 2002 75 структуры стороны информационного обмена, описывающей возможные наборы параметров безопасности44. По сути, IPSec, который станет составной частью IPv6, работает на третьем уровне, т. е. на сетевом уровне. В результате передаваемые IPпакеты будут защищены прозрачным для сетевых приложений и инфраструктуры образом. В отличие от SSL (Secure Socket Layer), который работает на четвертом (т. е. транспортном) уровне и теснее связан с более высокими уровнями модели OSI, IPSec призван обеспечить низкоуровневую защиту. Таблица 3.4 Модель OSI/ISO К IP-данным, готовым к передаче по виртуальной частной сети, IPSec добавляет заголовок для идентификации защищенных пакетов. Перед передачей по Internet эти пакеты инкапсулируются в другие IP-пакеты. IPSec поддерживает несколько типов шифрования, в том числе Data Encryption Standard (DES) и Message Digest 5 (MD5). Чтобы установить защищенное соединение, оба участника сеанса должны иметь возможность быстро согласовать параметры защиты, такие 44 Лапонина О.Р. «Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия», 2005г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 672с. 76 как алгоритмы аутентификации и ключи. IPSec поддерживает два типа схем управления ключами, с помощью которых участники могут согласовать параметры сеанса. Эта двойная поддержка в свое время вызвала определенные трения в IETF Working Group. С текущей версией IP, IPv4, могут быть использованы или Internet Secure Association Key Management Protocol (ISAKMP), или Simple Key Management for Internet Protocol. С новой версией IP, IPv6, придется использовать ISAKMP, известный сейчас как IKE, хотя не исключается возможность использования SKIP. Однако, следует иметь в виду, что SKIP уже давно не рассматривается как кандидат управления ключами, и был исключён из списка возможных кандидатов ещё в 1997 г. Заголовок AH Аутентифицирующий заголовок (AH) является обычным опциональным заголовком и, как правило, располагается между основным заголовком пакета IP и полем данных. Наличие AH никак не влияет на процесс передачи информации транспортного и более высокого уровней. Основным и единственным назначением AH является обеспечение защиты от атак, связанных с несанкционированным изменением содержимого пакета, и в том числе от подмены исходного адреса сетевого уровня. Протоколы более высокого уровня должны быть модифицированы в целях осуществления проверки аутентичности полученных данных45. Формат AH достаточно прост и состоит из 96-битового заголовка и данных переменной длины, состоящих из 32-битовых слов. Названия полей достаточно ясно отражают их содержимое: Next Header указывает на следующий заголовок, Payload Len представляет длину пакета, SPI является указателем на контекст безопасности и Sequence Number Field содержит последовательный номер пакета. Таблица 3.5 45 Информатика. Учебник под ред. А.П.Алексеев, М. «Солон-р», 2002 г. 77 Формат заголовка AH Последовательный номер пакета был введен в AH в 1997 году в ходе процесса пересмотра спецификации IPsec. Значение этого поля формируется отправителем и служит для защиты от атак, связанных с повторным использованием данных процесса аутентификации. Поскольку сеть Интернет не гарантирует порядок доставки пакетов, получатель должен хранить информацию о максимальном последовательном номере пакета, прошедшего успешную аутентификацию, и о получении некоторого числа пакетов, содержащих предыдущие последовательные номера (обычно это число равно 64). В отличие от алгоритмов вычисления контрольной суммы, применяемых в протоколах передачи информации по коммутируемым линиям связи или по каналам локальных сетей и ориентированных на исправление случайных ошибок среды передачи, механизмы обеспечения целостности данных в открытых телекоммуникационных сетях должны иметь средства защиты от внесения целенаправленных изменений. Одним из таких механизмов является специальное применение алгоритма MD5: в процессе формирования AH последовательно вычисляется хэш-функция от объединения самого пакета и некоторого предварительно согласованного ключа, а затем от объединения полученного результата и преобразованного ключа. Данный механизм применяется по умолчанию в целях обеспечения всех реализаций IPv6, по крайней мере, одним общим алгоритмом, не подверженным экспортным ограничениям. Заголовок ESP 78 В случае использования инкапсуляции зашифрованных данных заголовок ESP является последним в ряду опциональных заголовков, «видимых» в пакете. Поскольку основной целью ESP является обеспечение конфиденциальности данных, разные виды информации могут требовать применения существенно различных алгоритмов шифрования. Следовательно, формат ESP может претерпевать значительные изменения в зависимости от используемых криптографических алгоритмов46. Тем не менее, можно выделить следующие обязательные поля: SPI, указывающее на контекст безопасности и Sequence Number Field, содержащее последовательный номер пакета. Поле «ESP Authentication Data» (контрольная сумма), не является обязательным в заголовке ESP. Получатель пакета ESP расшифровывает ESP заголовок и использует параметры и данные применяемого алгоритма шифрования для декодирования информации транспортного уровня. Рис.3.3. Формат заголовка ESP Различают два режима применения ESP и AH (а также их комбинации) транспортный и туннельный. Транспортный режим Транспортный режим используется для шифрования поля данных IP пакета, содержащего протоколы транспортного уровня (TCP, UDP, ICMP), которое, в свою очередь, содержит информацию прикладных служб. 46 Столингс В., Криптография и защита сетей: принципы и практика, 2-е издание: пер. с английского – М, : Издательский дом «Вильямс», 2001. 79 Примером применения транспортного режима является передача электронной почты. Все промежуточные узлы на маршруте пакета от отправителя к получателю используют только открытую информацию сетевого уровня и, возможно, некоторые опциональные заголовки пакета (в IPv6). Недостатком транспортного режима является отсутствие механизмов скрытия конкретных отправителя и получателя пакета, а также возможность проведения анализа трафика. Результатом такого анализа может стать информация об объемах и направлениях передачи информации, области интересов абонентов, расположение руководителей. Туннельный режим Туннельный режим предполагает шифрование всего пакета, включая заголовок сетевого уровня. Туннельный режим применяется в случае необходимости скрытия информационного обмена организации с внешним миром. При этом, адресные поля заголовка сетевого уровня пакета, использующего туннельный режим, заполняются межсетевым экраном организации и не содержат информации о конкретном отправителе пакета. При передаче информации из внешнего мира в локальную сеть организации в качестве адреса назначения используется сетевой адрес межсетевого экрана. После расшифровки межсетевым экраном начального заголовка сетевого уровня пакет направляется получателю. Security Associations Security Association (SA) – это соединение, которое предоставляет службы обеспечения безопасности трафика, который передаётся через него. Два компьютера на каждой стороне SA хранят режим, протокол, алгоритмы и ключи, используемые в SA. Каждый SA используется только в одном направлении. Для двунаправленной связи требуется два SA. Каждый SA реализует один режим и протокол; таким образом, если для одного пакета необходимо использовать два протокола (как например AH и ESP), то требуется два SA47. 47 Галатенко В.А. «Стандарты информационной безопасности», изд. Интуит, 2005г. 80 Политика безопасности Политика безопасности хранится в SPD (База данных политики безопасности). SPD может указать для пакета данных одно из трёх действий: отбросить пакет, не обрабатывать пакет с помощью IPSec, обработать пакет с помощью IPSec. В последнем случае SPD также указывает, какой SA необходимо использовать (если, конечно, подходящий SA уже был создан) или указывает, с какими параметрами должен быть создан новый SA. SPD является очень гибким механизмом управления, который допускает очень хорошее управление обработкой каждого пакета. Пакеты классифицируются по большому числу полей, и SPD может проверять некоторые или все поля для того, чтобы определить соответствующее действие. Это может привести к тому, что весь трафик между двумя машинами будет передаваться при помощи одного SA, либо отдельные SA будут использоваться для каждого приложения, или даже для каждого TCP соединения. ISAKMP/Oakley Протокол ISAKMP определяет общую структуру протоколов, которые используются для установления SA и для выполнения других функций управления ключами. ISAKMP поддерживает несколько Областей Интерпретации (DOI), одной из которых является IPSec-DOI. ISAKMP не определяет законченный протокол, а предоставляет «строительные блоки» для различных DOI и протоколов обмена ключами. Протокол Oakley – это протокол определения ключа, использующий алгоритм замены ключа Диффи-Хеллмана. Протокол Oakley поддерживает идеальную прямую безопасность (Perfect Forward Secrecy – PFS). Наличие PFS означает невозможность расшифровки всего траффика при компрометации любого ключа в системе48. 48 Гулевич Д. С. знаний, 2007 г., 184 с. Сети связи следующего поколения - ИНТУИТ.ру, БИНОМ. Лаборатория 81 IKE IKE – протокол обмена ключами по умолчанию для ISAKMP, на данный момент являющийся единственным. IKE находится на вершине ISAKMP и выполняет, собственно, установление как ISAKMP SA, так и IPSec SA. IKE поддерживает набор различных примитивных функций для использования в протоколах. Среди них можно выделить хэш-функцию и псевдослучайную функцию (PRF). Хэш-функция – это функция, устойчивая к коллизиям. Под устойчивостью к коллизиям понимается тот факт, что невозможно найти два разных сообщения m1 и m2, таких, что H(m1)=H(m2), где H – хэш функция. Что касается псеводслучайных функций, то в настоящее время вместо специальных PRF используется хэш функция в конструкции HMAC (HMAC механизм аутентификации сообщений с использованием хэш функций). Для определения HMAC нам понадобится криптографическая хэш функция (обозначим её как H) и секретный ключ K. Мы предполагаем, что H является хэш функцией, где данные хэшируются с помощью процедуры сжатия, последовательно применяемой к последовательности блоков данных. Мы обозначим за B длину таких блоков в байтах, а длину блоков, полученных в результате хэширования - как L (L<B). Ключ K может иметь длину, меньшую или равную B. Если приложение использует ключи большей длины, сначала мы должны хэшировать сам ключ с использованием H, и только после этого использовать полученную строку длиной L байт, как ключ в HMAC. В обоих случаях рекомендуемая минимальная длина для K составляет L байт. Определим две следующие различные строки фиксированной длины: ipad = байт 0x36, повторённый B раз; opad = байт 0x5C, повторённый B раз. 82 Для вычисления HMAC от данных 'text' необходимо выполнить следующую операцию: H(K XOR opad, H(K XOR ipad, text)) Из описания следует, что IKE использует для аутентификации сторон HASH величины. Отметим, что под HASH в данном случае подразумевается исключительно название Payload в ISAKMP, и это название не имеет ничего общего со своим содержимым. Атаки на AH, ESP и IKE. Все виды атак на компоненты IPSec можно разделить на следующие группы: атаки, эксплуатирующие конечность ресурсов системы (типичный пример - атака «Отказ в обслуживании», Denial-of-service или DOS-атака), атаки, использующие особенности и ошибки конкретной реализации IPSec и, наконец, атаки, основанные на слабостях самих протоколов. AH и ESP. Чисто криптографические атаки можно не рассматривать - оба протокола определяют понятие «трансформ», куда скрывают всю криптографию. Если используемый криптоалгоритм стоек, а определенный с ним трансформ не вносит дополнительных слабостей (это не всегда так, поэтому правильнее рассматривать стойкость всей системы - Протокол-Трансформ-Алгоритм), то с этой стороны все нормально. Что остается? Replay Attack - нивелируется за счет использования Sequence Number (в одном единственном случае это не работает - при использовании ESP без аутентификации и без AH). Далее, порядок выполнения действий (сначала шифрация, потом аутентификация) гарантирует быструю отбраковку «плохих» пакетов (более того, согласно последним исследованиям в мире криптографии, именно такой порядок действий наиболее безопасен, обратный порядок в некоторых, правда очень частных случаях, может привести к потенциальным дырам в безопасности; к счастью, ни SSL, ни IKE, ни другие распространенные протоколы с порядком действий «сначала аутентифицировать, потом 83 зашифровать», к этим частным случаям не относятся, и, стало быть, этих дыр не имеют). Остается Denial-Of-Service атака49. Как известно, это атака, от которой не существует полной защиты. Тем не менее, быстрая отбраковка плохих пакетов и отсутствие какой-либо внешней реакции на них (согласно RFC) позволяют более-менее хорошо справляться с этой атакой. В принципе, большинству (если не всем) известным сетевым атакам (sniffing, spoofing, hijacking и т.п.) AH и ESP при правильном их применении успешно противостоят. С IKE несколько сложнее. Протокол очень сложный, тяжел для анализа. Кроме того, в силу опечаток (в формуле вычисления HASH_R) при его написании и не совсем удачных решений (тот же HASH_R и HASH_I) он содержит несколько потенциальных «дыр» (в частности, в первой фазе не все Payload в сообщении аутентифицируются), впрочем, они не очень серьезные и ведут, максимум, к отказу в установлении соединения. От атак типа replay, spoofing, sniffing, hijacking IKE более-менее успешно защищается. С криптографией несколько сложнее, - она не вынесена, как в AH и ESP, отдельно, а реализована в самом протоколе. Тем не менее, при использовании стойких алгоритмов и примитивов (PRF), проблем быть не должно. В какой-то степени можно рассматривать как слабость IPsec то, что в качестве единственного обязательного к реализации криптоалгоритма в нынешних спецификациях указывается DES (это справедливо и для ESP, и для IKE), 56 бит ключа которого уже не считаются достаточными. Тем не менее, это чисто формальная слабость - сами спецификации являются алгоритмо-независимыми, и практически все известные вендоры давно реализовали 3DES (а некоторые уже и AES).Таким образом, при правильной реализации, наиболее «опасной» атакой остается Denial-Of-Service. Анализ рынка межсетевых экранов 49 Миков А.И., Королев Л.Н. Информатика. Введение в компьютерные науки. – М: Высшая школа, 2003. – 341 с. 84 Межсетевой Экран (МСЭ) — это локальное (однокомпонентное) или функционально-распределенное программное (программно-аппаратное) средство (комплекс), реализующее контроль за информацией, поступающей в распределенную автоматизированную систему (АС) и/или выходящей из АС. МСЭ обеспечивает защиту АС посредством фильтрации информации, т.е. ее анализа по совокупности критериев и принятия решения о ее распространении в (из) АС на основе заданных правил, проводя таким образом разграничение доступа субъектов из одной АС к объектам другой АС. Итак, аппаратный межсетевой экран представляет собой устройство, в котором сочетаются аппаратные и программные средства, а также сетевые функции, необходимые для построения виртуальных частных сетей (VPN). Фактически аппаратный МСЭ — это специализированный компьютер с операционной системой, оптимизированной для выполнения функций межсетевого экрана. В такой операционной системе «выключены» все «ненужные» сервисы и приложения, что делает сам межсетевой экран неуязвимым к действиям злоумышленников. Примерами таких операционных систем могут быть как оптимизированные соответствующим образом клоны UNIX, так и специально разработанные защищенные операционные системы. Попробуем сформулировать достоинства аппаратных МСЭ более формально: - упрощение выбора устройства, его интеграции и поддержки; - нет необходимости в установке и настройке программного обеспечения и выбора соответствующей аппаратной платформы; - большая часть устройств ориентирована на рынок небольших компаний и обеспечивает режим «plug and play» в сочетании с простотой установки; - наличие дополнительной функциональности, возможностей для построения виртуальных частных сетей. в том числе 85 - простота распространения по партнерским каналам, что привело к быстрому росту именно этого сегмента рынка. К недостаткам аппаратных МСЭ можно отнести более высокую стоимость по сравнению с программными МСЭ. Тем не менее, необходимо отметить, что общая стоимость программных МСЭ, включая стоимость соответствующего сервера, операционной системы, установки и настройки, обычно оказывается выше стоимости аппаратного МСЭ. Другое преимущество программных МСЭ — большая гибкость с точки зрения добавления новой функциональности, поскольку внесение изменений в аппаратные МСЭ связано с значительными временными затратами. И конечно, одним из важных аспектов является повышение производительности: в случае аппаратных МСЭ это влечет замену устройства, тогда как для программных МСЭ повышение производительности достигается за счет более мощного сервера. При этом аппаратные МСЭ обычно обеспечивают большую производительность при меньшей стоимости. Попробуем теперь разделить рынок аппаратных МСЭ по группам на основании их стоимости и области применения, а также обратим внимание на основных игроков в каждой из этих групп. На рис. 3.4 представлены эти группы и прогноз их роста до 2007 года. Рис.3.4. Прогноз роста рынка МСЭ по ценовым группам 86 МСЭ стоимостью выше 30.000 долларов. Обычно используются в сетях крупных компаний и операторов услуг. Несмотря на то, что сейчас эта группа относительно невелика, именно в ней наблюдается наибольший рост. Основные игроки на этом рынке и результаты их деятельности представлены на рисунке 3.5 Рис. 3.5 Рынок межсетевых экранов стоимостью выше 30000 долларов МСЭ стоимостью от 10.000 до 30.000 долларов США используются крупными и средними компаниями. Это наиболее крупный сегмент современного рынка МСЭ. 87 Рис. 3.6. Рынок межсетевых экранов стоимостью от 10.000 до 30.000 долларов При рассмотрении следующей ценовой группы можно увидеть, что доминирующую роль здесь играют те же производители МСЭ, что и в предыдущей группе. 88 Рис. 3.6. Рынок межсетевых экранов стоимостью от 1500 до 9999 долларов На рынке дешевых межсетевых экранов наблюдается стремительный рост числа игроков и уменьшение относительной доли рынка тех компаний, которые доминировали в предыдущих группах. 89 Рис. 3.7. Рынок межсетевых экранов стоимостью от 500 до 1499 долларов С ростом сетей широкополостного доступа растет спрос на дешевые межсетевые экраны, которые могут использоваться надомными рабочими, домашними офисами и небольшими компаниями для защиты своих сетевых ресурсов. Несмотря на то, что эта группа МСЭ невелика по суммарной стоимости, она стремительно растет по количеству продаваемых устройств. 90 Рис. 3.8. Рынок межсетевых экранов стоимостью до 500 долларов Таким образом, посмотрев на текущее состояние рынка, легко заметить, какие компании и продукты являются лидерами на общем рынке МСЭ, включая программные и аппаратные решения, каналы распространения и сервисные службы. 91 ЗАКЛЮЧЕНИЕ Таким образом, электронная почта - это служба пересылки сообщений между зарегистрированными адресами. Изначально речь идет только о текстовых сообщениях в узком смысле; о пересылке двоичного содержимого. Под текстовыми сообщениями в узком смысле понимаются сообщения, состоящие из строк ограниченной длины, каждая строка состоит из алфавитно-цифровых символов базового набора ASCII и знаков препинания (такие сообщения также называют 7-битовыми). Электронная почта (E-mail) - сервис передачи электронных сообщений, для использования которого нужна почтовая программа. Письмо может содержать не только текстовую информацию, но и любой присоединённый к нему файл. Развитие технологии Internet привело к появлению современных протоколов для обмена сообщениями. Эти протоколы предоставляют большие возможности для обработки писем, разнообразные сервисы и удобство в работе. Сейчас приблизительно с равной вероятностью можно встретить примеры работы электронной почты по протоколу UUCP (Unix to Unix cp, где ср - команда, используемая в системе UNIX для копирования файлов) и по современным протоколам - SMTP (Simple Mail Transport Protocol), POP3 (Post Office Protocol, version 3) и IMAP (Internet Mesage Access Protocol). Протокол обмена почтовой информацией POP3 предназначен для разбора почты из почтовых ящиков пользователей на их рабочие места при помощи программ-клиентов. Если по протоколу SMTP пользователи отправляют корреспонденцию через Internet, то по протоколу POP3 пользователи получают корреспонденцию из своих почтовых ящиков на почтовом сервере в локальные файлы Протокол SMTP предназначен для отправки сообщений с компьютера далее к адресату. Работает он в соответсвии с архитектурой клиент-сервер. Обыкновенно доступ к серверу SMTP не защищается паролем, так что вы 92 можете использовать для отправки ваших писем любой известный сервер в сети. В отличие от серверов для отправки писем, доступ к серверам для хранения ваших сообщений защищается паролем. Поэтому необходимо использовать сервер или службу, в которой существует ваша учётная запись. Эти серверы работают по протоколам POP и IMAP, которые различаются способом хранения писем. В дипломной работе были рассмотрены системы защиты, существующих в настоящее время и обеспечивающих надёжную передачу данных (по email). В защите на уровне приложений были рассмотрены системы PGP и S/MIME. PGP (англ. Pretty Good Privacy) — компьютерная программа, позволяющая выполнять операции шифрования (кодирования) и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде. В PGP применяется принцип использования двух взаимосвязанных ключей: открытого и закрытого. Это означает, что некий пользователь может сообщить о своем публичном ключе всему свету, при этом другие пользователи программы смогут отправлять ему зашифрованные сообщения, которые никто, кроме него, расшифровать не сможет. S/MIME безопасности предназначена электронной для почты. обеспечения криптографической Обеспечиваются аутентификация, целостность сообщения и гарантия сохранения авторства, безопасность данных (посредством шифрования). Большая часть современных почтовых программ поддерживает S/MIME. Стандарт S/MIME включает в себя две службы безопасности: цифровые подписи, шифрование сообщений. Эти две службы являются главными компонентами системы безопасности, основанной на стандарте S/MIME Другим решением является размещение средств обеспечения безопасности стандарт SSL (Secure Socket Layer — протокол защищенных 93 сокетов) и его более новая версия — стандарт TLS (Transport Layer Security — протокол защиты транспортного уровня) безопасной передачи данных в Internet. На этом уровне для практической реализации данного подхода имеется две возможности. Самым общим решением является внедрение средств SSL (или TLS) в набор соответствующих протоколов, что обеспечивает прозрачность средств защиты для приложений. В то же время средства SSL можно встраивать и в прикладные программы. Различные средства защиты могут встраиваться и в приложения. Преимущество данного подхода состоит в том, что соответствующие средства защиты могут быть настроены оптимальным образом в зависимости от требований конкретного приложения. Защита на уровне IP Security - это комплект протоколов, касающихся вопросов шифрования, аутентификации и обеспечения защиты при транспортировке IP-пакетов; в его состав сейчас входят почти 20 предложений по стандартам и 18 RFC. Преимущество использования IPSec заключается в том, что этот протокол прозрачен для конечного пользователя и приложений и обеспечивает универсальное решение. Кроме того, протокол IPSec включает средства фильтрации, позволяющие использовать его только для той части потока данных, для которой это действительно необходимо 94 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 1. Акулов О.А., Медведев Н.В. Информатика: базовый курс. –М.: Омега, 2004. –551 с. 2. Ахо А., Ульман Д., Сети Р. Компиляторы: принципы, технологии, инструментарий. – М.: Вильямс, 2001. –768 с. 3. Байков В. Интернет. Первые шаги в России - СПб, 1996. - 160 с. 4. Бен-Ари М. Языки программирования. Практический сравнительный анализ. –М.: Мир, 2000. –366 с. 5. Березин С. Internet у вас дома - СПб, 1997. - 400 с. 6. Бройдо В.Л., Матвеев Л.А., Макарова Н.В. Информатика. –М.: Финансы и статистика, 2001. –768 с. 7. Галатенко В.А. «Основы информационной безопасности», изд. Интуит, 2005г. 8. Галатенко В.А. «Стандарты информационной безопасности», изд. Интуит, 2005г. 9. Герасименко В.А., Малюк А.А. Основы защиты информации.М.: МОПО РФ, МИФИ, 1997, 537 с. 10.Гордеев А.В. Операционные системы. Учебник для ВУЗов. –М. Питер, 2004. –416 с. 11.Гулевич Д. С. Сети связи следующего поколения - ИНТУИТ.ру, БИНОМ. Лаборатория знаний, 2007 г., 184 с. 12.Информатика. Учебник под ред. А.П.Алексеев, М. «Солон-р», 2002 г. 13.Карпенко С. Internet в вопросах и ответах - СПб, 1998. - 464 с. 14.Кнут Д.Э. Искусство программирования, т. 1. Основные алгоритмы, 3-е изд. -М.: Вильямс, 2000. -720 с. 15.Кнут Д.Э. Искусство программирования, т. 3. Сортировка и поиск, 2-е изд. -М.: Вильямс, 2000. -832 с. 16.Лапонина О.Р. «Межсетевое экранирование», 2006г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 343с 95 17.Лапонина О.Р. «Основы сетевой безопасности: криптографические алгоритмы и протоколы взаимодействия», 2005г. М. ИНТУИТ.РУ «Интернет-Университет Информационных Технологий», 672с. 18.Левин Д.Р., Бароди К. Секреты Интернет. - К.: Диалектика, ICE, 1996. 19.Миков А.И., Королев Л.Н. Информатика. Введение в компьютерные науки. – М: Высшая школа, 2003. –341 с. 20.Новиков Ю.В., Кондратенко С.В Основы локальных сетей - ИНТУИТ.ру, 2005 г., 360 с. 21.Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы. Спб.: Издательский дом Питер, 2002 22.Олифер Н.А., Олифер В.Г. Сетевые операционные системы. Изд-во «Питер», 2003 23.Основы криптографии: Учебное пособие. /Алферов А.П., Зубов А.Ю., Кузьмин А.С. Черемушкин А.В. - М.: Гелиос, 2001. 24.Петраков А.В. Основы практической защиты информации. М.: Радио и связь, 1999, 368с. 25.Прикладная криптография. /Б. Шнайер. - М.: Издательство ТРИУМФ,2002. 26.Себеста У. Основные концепции языков программирования. – М.: Вильямс, 2001. –672 с. 27.Семенов. Ю.А. Протоколы и ресурсы Интернет. - М.: Радио и Связь, 1996. 28.Снейдер Й. Эффективное программирование TCP/IP. Издательский дом Питер, 2001 29.Столингс В., Криптография и защита сетей: принципы и практика, 2-е издание: пер. с английского – М, : Издательский дом «Вильямс», 2001. 30.Таненбаум Э.Компьютерные сети. СПб.: Издательский дом Питер, 2003 31.Темерев А. Интернет из Книги рекордов Гиннеса // Мир Internet. – 2001. – №11. 32.Торокин А.А. Основы инженерно-технической защиты информации. М: “Ось-89”, 1998, 334 с. 96 33.Ульман Д., Хопкрофт Д., Ахо А. Структуры данных и алгоритмы. –М.: Вильямс, 2000. –384 с. 34.Хаулет Т. Защитные средства с открытыми исходными текстами ИНТУИТ.ру, БИНОМ. Лаборатория знаний, 2007 г., 608 с. 35.Хорев А.А. Защита информации от утечки по техническим каналам. Часть 1. Технические каналы утечки информации. Учебное пособие. М.: Гостехкомиссия России, 1998, 320 с. 36.Anthes С.Н.. Интернет: история будущего // ComputerWorld. – 1994. – №45. – С. 22–23. 37.Bryan Costales, Eric Allman «Sendmail Desktop Reference» - O'Reilly, First Edition, March 1997 38.Bryan Costales, Eric Allman «Sendmail» - O'Reilly, Second Edition, January 1997. 39.Craig Hunt «TCP/IP Network Administration», 3.4. Mail Services; 10. sendmail; Appendix E. A sendmail Reference - O'Reilly, Second Edition, December 1997 40.PGP в России // http://www.pgpru.com/ 41.SCC-протокол защищенных сокетов // http://www.freessl.ru/