Анализ технологий защиты электронной почты

Автор работы: Пользователь скрыл имя, 17 Июля 2013 в 15:30, курсовая работа

Краткое описание

Второй способ. IP-спуфинг (spoofing) - возможен, когда злоумышленник, находящийся внутри организации или вне ее выдает себя за санкционированного пользователя. Атаки IP-спуфинга часто являются отправной точкой для других атак. Обычно IP-спуфинг ограничивается вставкой ложной информации или вредоносных команд в обычный поток передаваемых по сети данных.
Третий способ – получение пароля на почту. Атаки для получения паролей можно проводить с помощью целого ряда методов, и хотя входное имя и пароль можно получить при помощи IP-спуфинга и перехвата пакетов, их часто пытаются подобрать путем простого перебора с помощью специальной программы

Содержание

Введение 6
1 Способы защиты потока данных 9
2 Защита на уровне приложений 10
2.1 Система PGP 10
2.2 Система S/MIME 14
2.3 Формирование объекта envelopedData (упакованные данные) 17
2.4 Формирование объекта signedData (подписанные данные) 18
2.5 Открытое подписанное сообщение 18
2.6 Криптографические алгоритмы 20
3 Протоколы SSL и TLS 22
3.1 Архитектура SSL 22
3.2 Стек протоколов SSL 22
3.3 Протокол записи SSL 22
3.4 Протокол изменения параметров шифрования 24
3.5 Протокол извещения 25
3.6 Протокол квитирования 25
3.7 Создание главного секретного ключа 30
3.8 Генерирование криптографических параметров 31
3.9 TLS и его отличие от SSL 32
4 Защита на уровне IP 34
4.1 Архитектура защиты на уровне IP 34
4.2 Транспортный режим 35
4.3 Туннельный режим 36
4.4 Заголовок аутентификации (AH) 37
4.5 Использование AH в транспортном и туннельном режиме 38
4.6 Протокол ESP 39
4.7 Шифрование и алгоритмы аутентификации 40
4.9 Туннельный режим ESP 41
4.10 Комбинация защищённых связей 42
Список используемой литературы

Вложенные файлы: 1 файл

4-45 страница.docx

— 373.87 Кб (Скачать файл)

2.2 Система S/MIME

Система S/MIME (Secure/Multipurpose Internet Mail Extension – защищённые многоцелевые расширения электронной почты) является усовершенствованием с точки зрения защиты стандарта формата MIME электронной почты в Internet, базирующимся на использовании технологии RSA Data Security.Существуют основания полагать, что S/MIME станет стандартом коммерческого и промышленного использования, в то время как PGP останется альтернативой для защиты личной электронной почты большинства индивидуальных пользователей.

Стандарт MIME является расширением базового стандарта RFC 822, призванным решить некоторые проблемы и преодолеть ограничения протокола SMTP или некоторого другого протокола передачи почты, и RFC 822. 

Ограничениями протокола  SMTP, которые решает MIME являются:

  1. SMTP не позволяет передавать исполняемые файлы и другие объекты в двоичном формате. Существует ряд схем преобразования двоичных файлов в текстовые (к ним относятся Uuencode/Uudecode для UNIX), которые затем могут быть использованы различными почтовыми системами SMTP/ Однако ни одна из таких схем не является стандартом.
  2. SMTP не позволяет предавать текстовые данные, включающие символы национальных языков.
  3. Шлюзы SMTP, выполняющие трансляцию кодов ASCII в коды EBCDIC и обратно, могут иметь разные таблицы перевода, что выливается в проблемы трансляции.

Исходя из этих недостатков  технические спецификации MIME включают следующие элементы:

  1. Определяется пять новых полей заголовка сообщения, которые могут включаться в заготовок RFC 822. Эти поля несут в себе информацию о теле сообщения.
  2. Определяется несколько форматов содержимого, задающих стандарты представления документов мультимедиа в сообщениях электронной почты.
  3. Определяются стандарты кодировок передаваемых данных, позволяющие защитить содержимое сообщения от изменения при осуществлении почтовыми системами преобразования передаваемых данных из одного формата в другой.

Стандарт MIME определяет пять полей заголовка сообщения, любые или все из которых могут включаться в заголовок RFC 822:

MIME-Version (версия MIME). Соответствующий параметр должен иметь значение 1.0. Это поле указывает, что сообщение соответствует стандартам RFC 2045 и 2046.

Content-Type (тип содержимого). Описывает данные, помещённые в тело сообщения, достаточно подробно для того, чтобы агент получателя смог выбрать соответствующий агент или механизм, позволяющий представить полученные данные пользователю или обработать их каким-то иным соответствующим образом.

Content-Transfer-Encoding (кодировка передаваемого содержания). Указывается тип преобразования, использовавшегося для того, чтобы представить тело сообщения в виде, приемлемом для пересылки почтой.

Сontent-ID (идентификатор содержимого). Служит для того, чтобы уникальным образом идентифицировать объекты MIME среди множества контекстов.

Content-description (описание содержимого). Текстовые описания объекта в теле сообщения; полезно тогда, когда объект имеет форму, недоступную для прочтения (например, звуковые данные).

Любая реализация, как минимум, должна поддерживать обработку полей  MIME-Version, Content-Type и Сontent-Transfer-Encoding.

В S/MIME защита объекта MIME обеспечивается подписью, шифрованием или и тем, и другим одновременно. Объектом MIME может быть как всё сообщение (за исключением его заголовков RFC 822) или, в случае многокомпонентного содержимого MIME, одно или несколько частей сообщения. Объект MIME готовится в соответствии с обычными правилами подготовки сообщений MIME. Затем объект MIME вместе с некоторыми связанными с ним данными защиты (например, идентификаторами алгоритма и сертификатов) обрабатывается S/MIME, чтобы в результате получить то, что обычно называют объектом PKCS (Public-Key Cryptography Specification – спецификация криптографии с открытым ключом). С объектом PKCS затем обращаются как с содержимым сообщения, которое упаковывают в MIME (добавляя соответствующие заголовки MIME).

Помимо типов содержимого  стандарта MIME, в стандарте S/MIME используются ряд новых типов содержимого, перечисленные в таблице. Все эти типы содержимого используют обозначения PKCS, опубликованные RSA Laboratories и доступные для S/MIME.

 

 

 

Таблица 2 – Типы содержимого в стандарте S/MIME

 

Тип

Подтип

Параметр S/MIME

Описание

Multipart (многокомпонентный)

Signed (подписанный)

-

Открытое подписанное сообщение из двух частей: сообщения и его подписи

Application (приложение)

pkcs7-mime

signedData

Подписанные объект S/MIME

 

pkcs7-mime

envelopedData

Шифрованный объект S/MIME

 

pkcs7-mime

Degenerate signedData

Объект, содержащий только сертификаты  открытых ключей

 

pkcs7-signature

-

Тип подписи, являющейся частью сообщения типа multipart/signed

 

 pkcs10-mime

-

Сообщение запроса регистрации сертификата.


 

2.3 Формирование объекта envelopedData (упакованные данные)

При подготовке объекта envelopedData MIME должны быть выполнены следующие действия:

  1. Генерируется псевдослучайный сеансовый ключ для конкретного алгоритма симметричной схемы шифрования (RC2/40 или 3DES).
  2. Для каждого получателя сеансовый ключ шифруется с помощью открытого ключа получателя и RSA.
  3. Для каждого получателя готовится блок данных, называемый RecipientInfo (информация для получателя), содержащий сертификат открытого ключа отправителя, идентификатор алгоритма, использовавшегося для шифрования сеансового ключа, и шифрованный сеансовый ключ.
  4. Содержимое сообщения шифруется с помощью сеансового ключа.

Блоки RecipientInfo, за которыми следует шифрованное содержимое сообщения, вместе составляют блок envelopedData. Эта информация затем кодируется в формате base64 (radix-64).

Пример такого файла:

Content-Type: application/pkcs7-mime; smime-type=enveloped-data;

name=smime.p7m

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename=smime.p7m

2.4 Формирование объекта  signedData (подписанные данные)

  1. Выбирается алгоритм создания профиля сообщения (SHA или MD5).
  2. Вычисляется профиль сообщения (значение хэш-функции) для содержимого, которое должно быть подписано.
  3. Профиль сообщения шифруется с помощью личного ключа стороны, подписавшей документ.
  4. Подготавливается блок, называемый SignedInfo (информация подписавшей стороны), содержащий сертификат открытого ключа подписавшей документ стороны, идентификатор алгоритма, использовавшегося для шифрования профиля сообщения и шифрованного профиля сообщения.

Объект signedData формируется из ряда блоков, включающих идентификатор алгоритма создания профиля сообщения, само подписываемое сообщение и блок SignerInfo. Вся эта информация кодируется в base64.

Пример такого сообщения (с исключёнными заголовками RFC 822):

Content-Type: application/pkcs7-mime; smime-type=signed-data;

name=smime.p7m

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename=smime.p7m

2.5 Открытое подписанное сообщение

Открытое подписанное  сообщение получается тогда, когда  для содержимого используется тип  multipart и подтип signed. Сообщение типа multipart/signed включает две части.

Первая часть может  быть любого типа MIME, но должна быть подготовлена так, чтобы она не была изменена в пути следования от источника к адресату. Это значит, что если первая часть не представлена в 7-битовой кодировке, то данные надо кодировать в формат base64. В первой части располагается открытый текст сообщения.

Вторая часть представляет собой отделённую подпись. Она формируется  по алгоритму объекта signedData. В результате создаётся объект в формате signedData, поле содержимого которого оказывается пустым. Затем этот объект кодируется в формат base64, чтобы стать второй частью многокомпонентного сообщения. Для типа MIME этой второй части выбирается значение application, а для подтипа - pkcs7-signature.

Пример такого сообщения:

Content-Type: multipart/signed;

Protocol=”application/pkcs7- signature”;

Micalg=shal; boundary=boundary42

 -- boundary42

Content-Type: text/plain

Это открытый текст подписанного сообщения.

-- boundary42

Content-Type: application/pkcs7- signature; name=smime.p7m

Content-Transfer-Encoding: base64

Content-Disposition: attachment; filename=smime.p7m

Rfvbn765BghyHhUjfewqwnvdCDC7

-- boundary42 --

Значение параметра protocol указывает но то, что этот объект является двухкомпонентным открытым подписанным сообщением. Значение параметра micalg указывает тип используемого профиля сообщения. Получатель может проверить подпись, вычислив профиль сообщения из первой части и сравнив его с профилем сообщения, который восстанавливается из подписи во второй части.

2.6 Криптографические алгоритмы

В таблице представлены криптографические  алгоритмы, используемы в системе S/MIME.

В S/MIME принята терминология, предложенная  в документе RFC 2119 и позволяющая указать уровень требований.

ОБЯЗАТЕЛЬНО (MUST). Определение является абсолютным требованием спецификации. Любая реализация должна включать это свойство или функцию, чтобы соответствовать данной спецификации.

РЕКОМЕНДУЕТСЯ (SHOULD). В конкретном окружении могут существовать причины игнорировать это свойство или функцию, но рекомендуется, чтобы реализация всё же имела соответствующее свойство или функцию.

Таблица 3 – Криптографические алгоритмы в системе S/MIME

Функция

Требование

Создание профиля сообщения, используемого при формировании цифровой подписи.

ОБЯЗАТЕЛЬНА поддержка SHA-1 и MD5

 

РЕКОМЕНДУЕТСЯ использование SHA-1

Шифрование профиля сообщения для формирования цифровой подписи

Для агентов отсылки и приёма ОБЯЗАТЕЛЬНА  поддержка DSS. Для агента отсылки РЕКОМЕНДУЕТСЯ поддержка шифрования RSA. Для агента приёма РЕКОМЕНДУЕТСЯ поддержка верификации подписей RSA с длиной ключа от 512  до 1024 битов.

Шифрование сеансового ключа для  передачи с сообщением

Для агентов отсылки и приёма ОБЯЗАТЕЛЬНО  поддержка алгоритма Диффи-Хеллмана.

Для агента отсылки РЕКОМЕНДУЕТСЯ  поддержка шифрования RSA с длиной ключа от 512 до 1024 битов.


Продолжение таблицы 3

Шифрование сообщения для передачи с использованием сеансового ключа

Для агента отсылки РЕКОМЕНДУЕТСЯ  поддержка шифрования tripleDES и RC2/40.

Для агента приёма ОБЯЗАТЕЛЬНА поддержка  дешифрования tripleDES и РЕКОМЕНДУЕТСЯ поддержка дешифрования RC2/40.


 

S/MIME объединяет три алгоритма, использующих открытые ключ. Стандарт цифровой подписи (алгоритм DSS) является предпочтительным алгоритмом создания цифровой подписи. Предпочтительным алгоритмом шифрования сеансовых ключей в S/MIME называется алгоритм Диффи-Хеллмана, но фактически в S/MIME используется вариант алгоритма Диффи-Хеллмана, обеспечивающий шифрование/дешифрование  и известный как алгоритм Эль-Гамаля. В качестве альтернативы как для подписей, так и для шифрования сеансовых ключей может использоваться алгоритм RSA.

Для шифрования сообщений  рекомендуется «тройной» DES c тремя ключами (tripleDES), но любая гибкая реализация должна поддерживать 40-битовую версию алгоритма RC2. Последний является весьма слабым алгоритмом шифрования, но зато соответствует экспортным требованиям США.

 

 

 

 

 

 

 

 

 

 

 

3 ПРОТОКОЛЫ SSL и TLS

 

 

3.1 Архитектура SSL

Протокол SSL призван обеспечить возможность  надежной защиты сквозной передачи данных с использованием протокола TCP. SSL представляет собой не один протокол, а два уровня протоколов. Протокол записи SSL (SSL Record Protocol) обеспечивает базовый набор средств защиты, применяемых протоколами более высоких уровней. Эти средства, в частности, может использовать протокол передачи гипертекстовых файлов (HTTP), призванный обеспечить обмен данными при взаимодействии клиентов и серверов Web. Частью SSL считаются и три протокола более высокого уровня: протокол квитирования установления связи (Handshake Protocol), протокол изменения параметров шифрования (Change Cipher Spec Protocol) и протокол извещения (Alert Protocol). Эти протоколы служат для управления обменом данными SSL.

3.2 Стек протоколов SSL

Между любой  парой обменивающихся информацией  сторон (например, приложений типа HTTP клиента и сервера) можно установить много защищенных соединений. Теоретически между сторонами можно установить и несколько одновременно существующих сеансов, но на практике такая возможность не используется.

Соединение (connection) — транспорт,  обеспечивающий сервис некоторого подходящего типа (SMTP, HTTP и т.д.) Каждое соединение ассоциируется только с одним сеансом.

Сеанс (session). Сеанс SSL — это связь между  клиентом и сервером. Сеансы создаются протоколом квитирования SSL (SSL Handshake Protocol). Сеанс определяет набор параметров криптографической защиты, которые могут использоваться несколькими соединениями. Сеансы позволяют избежать   необходимости  ведения  переговоров  об   установлении   параметров защиты для каждого нового соединения.

3.3 Протокол записи SSL

Протокол  записи SSL (SSL Record Protocol) обеспечивает поддержку  двух следующих сервисов для соединений SSL.

Конфиденциальность.    Протокол    квитирования    SSL    (SSL    Handshake Protocol) определяет общий для клиента и сервера  секретный ключ, используемый алгоритмом традиционной схемы для шифрования данных, передаваемых по протоколу SSL.

Целостность сообщений. Помимо обеспечения конфиденциальности, протокол квитирования SSL определяет общий  секретный ключ для вычисления значений MAC (Message Authentication Code — код аутентичности сообщения).

Порядок отправки данных:

  1. Этот протокол, получив сообщение для пересылки другой стороне, сначала фрагментирует данные, разбивая их на блоки подходящего размера;
  2. При необходимости выполняет сжатие данных;
  3. Применяет алгоритм вычисления MAC;
  4. Шифрует данные (MAC +сжатое сообщение);
  5. Добавляет заголовок
  6. Передает полученные пакеты сегменту TCP.

Информация о работе Анализ технологий защиты электронной почты