Реферат: Защита электронной почты в Internet

--PAGE_BREAK--Формат передаваемого сообщения.

Сообщение

Подпись

Компонент сеансового ключа

Содержимое

<img width=«244» height=«12» src=«ref-1_255640118-296.coolpic» v:shapes="_x0000_s1026">

<img width=«112» height=«12» src=«ref-1_255640414-281.coolpic» v:shapes="_x0000_s1027"><img width=«184» height=«13» src=«ref-1_255640695-336.coolpic» v:shapes="_x0000_s1028">

<img width=«96» height=«24» src=«ref-1_255641031-180.coolpic» v:shapes="_x0000_s1029 _x0000_s1030">


Данные

Метка даты-времени

Имя файла

Профиль сообщения

Ведущие два октета профиля сообщения

Идентификатор открытого ключа отправителя (KUa)

Метка даты-времени

Сеансовый ключ (Ks)

Идентификатор открытого ключа получателя (Rub)



<img width=«52» height=«12» src=«ref-1_255641211-261.coolpic» v:shapes="_x0000_s1031">

EkRa

<img width=«52» height=«12» src=«ref-1_255641472-261.coolpic» v:shapes="_x0000_s1032">

EkUa



Операция

ZIP

<img width=«436» height=«12» src=«ref-1_255641733-311.coolpic» v:shapes="_x0000_s1033">



Eкs

<img width=«436» height=«12» src=«ref-1_255642044-310.coolpic» v:shapes="_x0000_s1034">



<img width=«550» height=«12» src=«ref-1_255642354-326.coolpic» v:shapes="_x0000_s1035">R64

ERUb–шифрование с использованием личного ключа пользователя B

EKRa–шифрование с использованием открытого ключа пользователя А

EКs–  шифрование с использованием сеансового ключа

ZIP – функция сжатия ZIP

R64 – функция преобразования в формат radix-64.

Компонент подписи включает следующие элементы:

1. Метка даты-времени. Время создания подписи

2. Профиль сообщения. 160-битоавый профиль сообщения, созданный с помощью SHA-1 и шифрованный с использованием личного ключа подписи отправителя (KRа). Профиль вычисляется для метки даты-времени подписи, связанной конкатенацией с порцией данных компонента сообщения. Включение метки даты-времени подписи в профиль обеспечивает защиту от атак воспроизведения сообщения. Исключение имени файла и метки даты-времени компонента сообщения гарантирует, что отделённая подпись будет в точности совпадать с подписью, добавляемой в префикс сообщения. Отделенные подписи вычисляются для файла, в котором нет никаких полей заголовка сообщения.

3. Ведущие два октета профиля сообщения. Чтобы обеспечить получателю возможность определить, соответствующий ли открытый ключ использовался для шифрования профиля сообщения с целью аутентификации, проводится сравнение этих двух октетов открытого текста исходного профиля с первыми двумя октетами дешифрованного профиля. Эти октеты также служат 16-битовой последовательностью, используемой для проверки сообщения.

4. Идентификатор открытого ключа отправителя. Идентифицирует открытый ключ, который должен служить для дешифрования профиля сообщения и, следовательно, идентифицирует личный ключ, использовавшийся для шифрования профиля сообщения.

Компонент сообщения и необязательный компонент подписи могут быть сжаты с помощью ZIPи могут быть зашифрованы с использованием сеансового ключа.

Компонент сеансового ключа включает сеансовый ключ и идентификатор открытого ключа получателя, который использовался отправителем для шифрования данного сеансового ключа.

Весь блок обычно переводиться в формат radix-64. Перевод в формат radix-64 используется для совместимости на уровне электронной почты. Сервис аутентификации предполагает, что мы шифруем только профиль сообщения (цифровая подпись), сервис конфиденциальности предполагает, что мы шифруем само сообщение (сеансовым ключом) и подпись (при наличии последней), таким образом часть или весь выходной блок сообщения представляет собой поток произвольных 8-битовых байтов. Однако многие системы электронной почты позволяют использовать только блоки, состоящие из символов текста ASCII. Чтобы удовлетворить такому ограничению, PGPобеспечивает сервис конвертирования сырого 8-битового двоичного потока в поток печатаемых символов ASCII. Для этого используется схема конвертирования radix-64.
2. 2.
Система S/MIME.

Система S/MIME (Secure/MultipurposeInternetMailExtension – защищённые многоцелевые расширения электронной почты) является усовершенствованием с точки зрения защиты стандарта формата MIMEэлектронной почты в Internet, базирующимся на использовании технологии RSADataSecurity.Существуют основания полагать, что 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-KeyCryptographySpecification– спецификация криптографии с открытым ключом). С объектом PKCS затем обращаются как с содержимым сообщения, которое упаковывают в MIME (добавляя соответствующие заголовки MIME).

Помимо типов содержимого стандарта MIME, в стандарте S/MIMEиспользуются ряд новых типов содержимого, перечисленные в таблице. Все эти типы содержимого используют обозначения PKCS, опубликованные RSALaboratoriesи доступные для 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

-

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



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


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

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
Rfvbn765BghyHhUjfewqwnvdCDC7
Формирование объекта 
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
Rfvbn765BghyHhUjfewqwnvdCDC7
Открытое подписанное сообщение.

Открытое подписанное сообщение получается тогда, когда для содержимого используется тип 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указывает тип используемого профиля сообщения. Получатель может проверить подпись, вычислив профиль сообщения из первой части и сравнив его с профилем сообщения, который восстанавливается из подписи во второй части.
Криптографические алгоритмы.

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

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

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

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

Функция

Требование

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

ОБЯЗАТЕЛЬНА поддержка SHA-1 и MD5
РЕКОМЕНДУЕТСЯ использование SHA-1

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

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

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

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



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

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

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

Для агента приёма РЕКОМЕНДУЕТСЯ поддержка дешифрования RSA

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

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

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

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

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

    продолжение
--PAGE_BREAK--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.



Протокол квитирования
SSL


Протокол изменения параметров шифрования
SSL


Протокол извещения
SSL


FTP,
SMTP, HTTP.


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


TCP

IP

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


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

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

Сеанс (session). Сеанс SSL — это связь между клиентом и сервером. Сеан­сы создаются протоколом квитирования SSL (SSL Handshake Protocol). Се­анс определяет набор параметров криптографической защиты, которые мо­гут использоваться несколькими соединениями. Сеансы позволяют избе­жать   необходимости  ведения  переговоров  об   установлении   параметров защиты для каждого нового соединения.
3.2.
Протокол записи 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.

При принятии данных: данные дешифруются, проверяются, восстанавливаются, собираются вновь и передаются приложениям более высокого уровня.

При вычислении кода аутентичности сообщения используется специальная схема вычисления MAC, в которой используется алгоритм хэширования MD5 или SHA-1.

Сжатое сообщение вместе с добавленным к нему значением MACшифруется.

Используемые алгоритмы шифрования:

Блочное шифрование

Поточное шифрование

Алгоритм

Размер ключа

Алгоритм

Размер ключа

IDEA

128

RC4-40

40

RC2-40

40

RC4-128

128

DES-40

40



DES

56

3DES

168

Fortezza

80

В случае применения алгоритмов поточного шифрования шифруются только сжатое сообщение и добавленное к нему значение MAC.

При использовании алгоритмов блочного шифрования после значения MAC можно добавлять заполнитель. Заполнитель состоит из некоторого числа байтов заполнителя, за которыми следует 1-байтовое значение, указывающее длину за­полнителя. Для общей длины заполнителя выбирается наименьшее из значений, при котором общая длина последовательности данных, подлежащих шифрова­нию (открытый текст + MAC + заполнитель), будет кратна длине блока шифра.

Завершающим шагом в работе протокола записи SSL является создание заго­ловка, состоящего из следующих полей.

•  Тип содержимого (8 битов). Определяет протокол лежащего выше уровня, с помощью которого должен обрабатываться данный фрагмент.

•  Главный номер версии (8 битов). Указывает главный номер версии ис­пользуемого протокола SSL. Для SSLv3 это поле содержит значение 3.

•  Дополнительный номер версии (8 битов). Указывает дополнительный номер версии применяемого протокола SSL. Для SSLv3 это поле содержит значение 0.

•  Длина сжатого фрагмента (16 битов). Длина в байтах данного фрагмента открытого текста (или сжатого фрагмента при сжатии). Максимально до­пустимое значение равно 2^14+ 2048.

Для типа содержимого определены значения change_cipher_spec, alert, handshake и application_data. Первые три значения обозначают протоколы стека SSL.

3. 3. 
Протокол изменения параметров шифрования

Протокол изменения параметров шифрования (Change Cipher Spec Protocol) генерирует однобайтовое со­общение, содержащее значение 1. Единственной задачей этого со­общения является указание начать копирование параметров состояния ожидания в текущее состояние, что приводит к обновлению комплекта шифров, исполь­зуемых для данного соединения.
3. 4.
Протокол извещения

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

Сообщение, генерируемое данным протоколом состоит из 2-х байтов: первый байт — значение, обозначающее уровень предупреждения или уровень неустранимой ошибки, второй байт – код, обозначающий конкретный смысл извещения. Если в первом байте указан уровень неустранимой ошибки, то протокол SSLразрывает соединение, другие соединения могут продолжать существовать, но нового соединения для данного сеанса создать уже будет невозможно.

В протоколе извещения существует 5 извещений, указывающих на неустранимую ошибку и 7 извещений не указывающих на неустранимую ошибку.
3. 5.
Протокол квитирования.

Этот протокол позволяет серверу и клиенту выполнить взаимную аутентификацию, а также согласовать алгоритмы шифрования, вы­числения MAC и криптографические ключи, которые будут служить для защиты данных, пересылаемых в записи SSL. Протокол квитирования должен использо­ваться до начала пересылки данных прикладных программ.

В случае с протоколом квитирования генерируется несколько сообщений, ко­торыми обмениваются клиент и сервер. Любое такое сообщение содержит три следующих поля.

•   Тип (1 байт). Указывает один из 10 допустимых типов сообщения.

•    Длина (3 байта). Длина сообщения в байтах.

•    Содержимое (> 1 байта). Параметры, связываемые с сообщением данного типа.

В содержимом может находится несколько полей, в каждом из которых находятся элементы.

Этапы установления сеанса (session) между клиентом и сервером.

№ этапа

<img width=«102» height=«30» src=«ref-1_255642680-373.coolpic» alt=«Подпись: Client_hello» v:shapes="_x0000_s1036">Типы сообщений

Характеристика этапа

1

<img width=«102» height=«22» src=«ref-1_255643053-366.coolpic» alt=«Подпись: Server_hello» v:shapes="_x0000_s1037"><img width=«135» height=«12» src=«ref-1_255643419-238.coolpic» v:shapes="_x0000_s1038"><img width=«135» height=«12» src=«ref-1_255643657-246.coolpic» v:shapes="_x0000_s1039">

Определяется характеристика защиты, включая номер версии протокола, идентификатор сеанса, комплект шифров, метод сжатия и исходные случайные числа.

2

<img width=«115» height=«22» src=«ref-1_255643903-399.coolpic» alt=«Подпись: server_hello_done» v:shapes="_x0000_s1040"><img width=«127» height=«22» src=«ref-1_255644302-412.coolpic» alt=«Подпись: certificate_request» v:shapes="_x0000_s1041"><img width=«127» height=«22» src=«ref-1_255644714-431.coolpic» alt=«Подпись: server_key_exchange» v:shapes="_x0000_s1042"><img width=«135» height=«12» src=«ref-1_255645145-236.coolpic» v:shapes="_x0000_s1043"><img width=«135» height=«12» src=«ref-1_255645145-236.coolpic» v:shapes="_x0000_s1044"><img width=«135» height=«12» src=«ref-1_255645145-236.coolpic» v:shapes="_x0000_s1045"><img width=«135» height=«12» src=«ref-1_255645145-236.coolpic» v:shapes="_x0000_s1046"><img width=«102» height=«22» src=«ref-1_255646089-327.coolpic» alt=«Подпись: certificate» v:shapes="_x0000_s1047">


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

3

<img width=«126» height=«22» src=«ref-1_255646416-420.coolpic» alt=«Подпись: Sertificate_verify» v:shapes="_x0000_s1048"><img width=«126» height=«22» src=«ref-1_255646836-439.coolpic» alt=«Подпись: client_key_exchange» v:shapes="_x0000_s1049"><img width=«102» height=«22» src=«ref-1_255646089-327.coolpic» alt=«Подпись: certificate» v:shapes="_x0000_s1050"><img width=«135» height=«12» src=«ref-1_255647602-241.coolpic» v:shapes="_x0000_s1051"><img width=«135» height=«12» src=«ref-1_255643657-246.coolpic» v:shapes="_x0000_s1052"><img width=«135» height=«12» src=«ref-1_255643657-246.coolpic» v:shapes="_x0000_s1053">



Клиент передаёт сертификат, если он был запрошен. Клиент передает сообщение обмена ключами. Клиент может передать сообщение верификации сертификата.

4

<img width=«126» height=«22» src=«ref-1_255648335-432.coolpic» alt=«Подпись: Change_cipher_spec» v:shapes="_x0000_s1054"><img width=«126» height=«22» src=«ref-1_255648335-432.coolpic» alt=«Подпись: Change_cipher_spec» v:shapes="_x0000_s1055"><img width=«135» height=«12» src=«ref-1_255649199-237.coolpic» v:shapes="_x0000_s1056"><img width=«102» height=«22» src=«ref-1_255649436-321.coolpic» alt=«Подпись: finished» v:shapes="_x0000_s1057"><img width=«135» height=«12» src=«ref-1_255649199-237.coolpic» v:shapes="_x0000_s1058"><img width=«102» height=«22» src=«ref-1_255649436-321.coolpic» alt=«Подпись: finished» v:shapes="_x0000_s1059"><img width=«135» height=«12» src=«ref-1_255650315-239.coolpic» v:shapes="_x0000_s1060"><img width=«135» height=«12» src=«ref-1_255650554-245.coolpic» v:shapes="_x0000_s1061">


Смена комплекта шифров и завершение работы протокола квитирования

1-ый этап – определение характеристик защиты.

Процесс инициируется клиентом, который передаёт сообщение серверу client_hello, сервер отвечает сообщением server_helloс выбранными параметрами, которые доступны клиенту.

Тип сообщения: client-hello.

Название поля

Характеристика поля

Версия

Наивысший номер версии SSL, поддерживаемый клиентом.

Случайное значение

Генерируемая клиентом случайная структура, содер­жащая 32-битовую метку даты/времени и 28 байтов, полученных с помо­щью защищенного генератора случайных чисел. Эти значения используют­ся в качестве оказий во время обмена ключами с целью защиты от атак воспроизведения.

Комплект шифров

Список, содержащий наборы криптографических алго­ритмов, поддерживаемых клиентом, перечисленные в порядке убывания их приоритета. Каждый элемент списка (каждый комплект шифров) опре­деляет алгоритм обмена ключами для схем традиционного шифрования, вычислений значений MACи другие параметры шифрования. Сервер в server_helloдолжен определить какой-либо комплект шифров.

Метод сжатия

Список методов сжатия, поддерживаемых клиентом. Сервер в server_helloдолжен определить метод сжатии из доступных по списку.

Идентификатор сеанса

Идентификатор переменной длины для данного се­анса. Ненулевое значение говорит о намерении клиента обновить парамет­ры имеющегося соединения или создать новое соединение в рамках того же сеанса. Нулевое значение вводится тогда, когда клиент намерен создать новое соединение в новом сеансе.



2-й этап – Аутентификация сервера и обмен ключами сервера.

Данный этап начинается с отправки сервером его сертификата, если требуется аутентификация сервера. Сообщение certificate (сертификат) требуется для любого из предлагаемых методов обмена ключами, кроме анонимного мето­да Диффи-Хеллмана. При использовании метода Диффи-Хеллмана с фиксированными параметрами это сообщение сертификации (certificate) выполняет функции сообщения обмена ключами (server_key_exchange), поскольку в нем содержатся предлагаемые сервером открытые параметры алгоритма Диффи-Хеллмана.

Затем при необходимости может быть отправлено сообщение server_key_exchange (обмен ключами сервера). Отправка такого сообщения не требуется в двух случаях: (1) когда сервер отправил сертификат для метода Диффи-Хеллмана с фиксированными параметрами или (2) когда предлагается использовать схему обмена ключами RSA. Сообщение server_key_exchange необ­ходимо в случаях, когда используются следующие схемы.

•   Анонимный метод Диффи-Хеллмана.

•   Метод Диффи-Хеллмана с одноразовыми параметрами. Сообщение содер­жит такие же три параметра, как и в случае анонимного метода Диффи-Хеллмана, и еще подпись для этих параметров.

•   Обмен ключами по схеме RSA, когда использующий RSA сервер имеет ключ RSA только для подписи.

•   Fortezza.

            После этого неанонимный сервер (т.е. сервер, не использующий анонимный метод Диффи-Хеллмана) может запросить сертификат клиента. Сообщение certificate_request (запрос сертификата) включает два параметра: certificate_type (тип сертификата, указывающий на применяемый алгоритм шифрования с открытым ключом) и certificate_authorities (центры сертификации). Центры сертификации — список имен до­пустимых центров сертификации.

            Последним (и единственным обязательным) сообщением второго этапа явля­ется сообщение server_done, которым сервер извещает о завер­шении фазы приветствия сервера ввиду отправки им всех соответствующих со­общений. Это сообщение не имеет параметров. После отправки этого сообщения сервер переходит в режим ожидания ответа клиента.
3-й этап — Аутентификация клиента и обмен ключами клиента.

Получив сообщение server_done, клиент должен убедиться в том, что сервер предоставил действительный сертификат (если это требуется) и что параметры сообщения server_hello являются приемлемыми. Если проверка завершается ус­пешно, клиент оправляет серверу следующие сообщения.

1. Если сервер запросил сертификат, клиент начинает данный этап с отправки серверу сообщения certificate. Если у клиента подходящего сертификата нет, клиент отправляет вместо него уведомление no_certificate (нет сертификата).

2. Следующим идет сообщение client_key_exchange (обмен ключами клиента), Содержимое этого сообщения зависит от выбранного метода обмена ключами и может быть следующим.

•    RSA. Клиент генерирует 48-байтовый предварительный главный ключ и шифрует его с помощью открытого ключа из сертификата сервера или с помощью временного ключа RSA из сообщения server_key_exchange. Этот предварительный ключ позволяет вычислить главный ключ.

•    Метод Диффи-Хеллмана с одноразовыми параметрами, или анонимный метод Диффи-Хеллмана. Отправляются открытые параметры клиента для метода Диффи-Хеллмана.

•    Метод Диффи-Хеллмана с фиксированными параметрами. В данном слу­чае открытые параметры клиента для метода Диффи-Хеллмана уже были отправлены в сообщении certificate, поэтому содержимое данного сообще­ния оказывается пустым.

•    Fortezza. Отправляются параметры клиента для алгоритма Fortezza.

В завершение данного этапа клиент может отправить сообщение certificate_verify (проверка сертификата), чтобы обеспечить средства прямой ве­рификации сертификата клиента. Это сообщение отправляется вслед за сертифи­катом клиента, поддерживающим подпись (т.е. вслед за любым сертификатом клиента, кроме тех, которые содержат параметры Диффи-Хеллмана с фиксиро­ванными параметрами). Сообщение включает подпись хэш-кода предыдущего со­общения.
4-ый этап – завершение создания защищённого соединения.

Клиент отправляет сообщение change_cipher_spec (изменение параметров шифрования) и копирует параметры шифрования из поля «комплект шифров» состояния ожидания в поле  текущего состоя­ния. Обратите внимание на то, что это сообщение не считается частью протокола квитирования, а отсылается в рамках протокола изменения параметров шифро­вания (Change Cipher Spec Protocol). В ответ клиент немедленно отправляет со­общение finished, шифрованное новым алгоритмом с новыми ключами и секрет­ными значениями. Сообщение finished подтверждает, что процессы обмена клю­чами и аутентификации завершились успешно. Содержимое сообщения finished представляет собой результат конкатенации следующих двух значений хэш-кода.

MD5 (master_secret || pad_2 || MD5 (handshake_messages || Sender || master_secret || pad_l)),

SHA (master_secret || pad_2 || SHA (handshake_messages || Sender || master_secret || pad_l)),

где Sender — код, указывающий на то, что отправителем является кли­ент,

handshake_messages — все данные сообщений квитирования, за исключением данного сообщения.

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

            В ответ на эти два сообщения сервер посылает свое сообщение change_cipher_spec, переводит параметры шифрования состояния ожидания в те­кущее состояние и посылает свое сообщение finished. На этом процесс квитиро­вания завершается, и теперь клиент и сервер могут начать обмен данными на уровне приложения.
    продолжение
--PAGE_BREAK--3. 6.
Создание главного секретного ключа.

     Создание главного ключа состоит из двух этапов. На первом этапе согласуется значение предварительного главного ключа (pre_master_secret), а на втором обе стороны вычисляют значение главно­го ключа (master_secret). Для передачи друг другу значения pre_master_secret у сторон имеется два варианта.

•    RSA. Генерируемый клиентом 48-байтовый ключ pre_master_secret шиф­руется с помощью открытого ключа RSA сервера и отправляется клиентом серверу. Сервер дешифрует полученный шифрованный текст с помощью своего личного ключа и восстанавливает значение pre_master_secret.

•    Метод Диффи-Хеллмана. И клиент, и сервер генерируют открытые ключи для алгоритма Диффи-Хеллмана.  После обмена этими ключами каждая сторона выполняет определенные вычисления по методу Диффи-Хеллмана, в    результате    которых    получается    совместно    используемое значение pre_master_secret.

Теперь обе стороны могут вычислить значение master_secret по схеме:

master_secret = MD5 (pre_master_secret ||

                          SHA ('A' || pre_master_secret || ClientHello.random || ServerHello.random)) ||

MD5 (pre_master_secret ||

SHA ('BB' || pre_master_secret || ClientHello.random || Server  Hello.random))  ||               

    MD5 (pre_master_secret ||

    SHA ('CCC' || pre_master_secret || ClientHello.random || ServerHello.random)),

где ClientHello.random и ServerHello.random являются значениями оказий, вхо­дящих в оригинальные сообщения приветствия сторон (поле «случайное значение»).
3. 7.
Генерирование криптографических параметров.

Для элемента “Параметры шифрования” поля “комплект шифров” требуются секретный ключ MAC клиента для записи, секретный ключ MAC сервера для записи, ключ клиента для записи, ключ сер­вера для записи, вектор инициализации клиента для записи и вектор инициали­зации сервера для записи. Все эти параметры генерируются из главного ключа путем применения функции хэширования к главному ключу с целью получения защищенной последовательности байтов достаточной длины.

Процедура генерирования ключей из главного ключа аналогична процедуре генерирования главного ключа из предварительного и показана ниже.
key_block = MD5 (master_secret ||

                     SHA ('A' || master_secret || ServerHello.random || ClientHello.random)) ||

                     MD5 (master_secret ||

                     SHA ('BB' || master_secret || Server Hello, random || ClientHello.random)) ||

                     MD5 (master_secret ||SHA('CCC' || master_secret || ServerHello.random || ClientHello.random)) || ...

Процедура выполняется до тех пор, пока не будет сгенерирована последова­тельность достаточной длины. Эта алгоритмическая структура представляет со­бой псевдослучайную функцию. Значение master_secret можно рассматривать как инициализирующее значение для этой функции. Сгенерированные клиентом и сервером случайные числа можно рассматривать как значения модификаторов (salt values), используемых с целью усложнения криптоанализа.
3. 8.
Что такое TLS и его отличие от SSL.

Протокол TLSпредставляет собой результат инициативы IETF(InternetEngineeringTaskForce– проблемная группа проектирования Internet), целью которой является разработка стандарта SSLдля Internet. Текущая версия проекта стандарта TLSочень похожа на SSLv3. Рассмотрим различия между TLSи SSLv3.

1.        Схемы вычислений значений  MACэтих протоколов отличаются по двум параметрам: применяемому алгоритму и области данных, для которых вычисляется значение кода аутентичности сообщения.

2.        В TLSприменяется PRFфункция. PRFфункция служит для получения небольшого по длине секретного значения, которое  служит для генерирования более длинных блоков данных (используя специальную схему расширения данных где использован алгоритм HMAC), защищённых от атак на функции хэширования и вычисления значений кода аутентичности сообщения. Секретное значение получается путём использования той же схемы расширения данных, но с алгоритмом MD5 или SHA.

3.        В   TLSне извещения no_certificate, но определён ряд дополнительных кодов извещения (их всего 12, 9 из которых означают неустранимую ошибку).

4.        В TLSвключены все алгоритмы симметричной схемы шифрования, за исключением Fortezza.

5.        Сообщение finishedв TLSпредставляет собой хэш-код, вычисленный cпомощью master_secret, предыдущих сообщений и метки, идентифицирующей клиент и сервер. Схема вычисления сообщения finishedотличается от схемы, используемой в SSLv3. ВTLS схемывыглядиттак: PRF (master_secret, finished_label, MD5 (handshake_meassages) || SHA-1 (handshake_messages)), где

 finished_label – строка«client finished» дляклиентаи«server_finished» длясервера.

6.        Схема вычисления master_secretдля TLSиная чем в SSLv3.

7.        В SSLбайты заполнителя добавляются к данным пользователя, подлежащим шифрованию,  минимально необходимом количестве, достаточном для того, чтобы получить общую длину данных для шифрования, кратную длине блока шифра. В случае TLSразрешается добавлять любое число заполнителей (до 255 байтов включительно), лишь бы в результате длина блока данных получилась кратной длине блока шифра.
4.
Защита на уровне IP (сетевой уровень).

4. 1.
Архитектура защиты на уровне
IP



IPSec обеспечивает сервис защиты на уровне IP, позволяя системе выбрать необходимые протоколы защиты, определить алгоритм (алгоритмы) для соответ­ствующего сервиса (сервисов) и задать значения любых криптографических ключей, требуемых для запрошенного сервиса. Для защиты используется два протокола: протокол аутентификации, указанный заголовком данного протокола (заголовком аутентификации АН), и комбинированный протокол шифрова­ния/аутентификации, определенный форматом пакета для этого протокола (протокола ESP). В данном случае обеспечиваются следующие виды сервиса:

•   контроль доступа;

•   целостность без установления соединений;

•   аутентификация источника данных;

•   отторжение воспроизведенных пакетов (форма целостности последователь­ностей);

•   конфиденциальность (шифрование);

•   ограниченная конфиденциальность транспортного потока.

В случае ESP есть два варианта: с использованием и без использова­ния опции аутентификации. Как АН, так и ESP имеют возможности контроля доступа, основанного на распределении криптографических ключей и управле­нии транспортными потоками, относящимися к этим протоколам защиты.



Вид сервиса

AH

ESP (
только шифрование)


ESP (
шифрование и аутентификация)


Контроль доступа

ü

ü

ü

Целостность без установления соединений

ü



ü

Аутентификация источника данных

ü



ü

Отторжение воспроизведенных пакетов

ü

ü

ü

Конфиденциальность



ü

ü

Ограниченная конфиденциальность транспортного потока



ü

ü



            Ключевым объектом в механизмах аутентификации и конфиденциальности для IP является защищенная связь (Security Association). Связь представляет со­бой одностороннее отношение между отправителем и получателем, применяю­щим сервис защиты к транспортному потоку. Сервис защиты предоставляет возможность для защищенной связи ис­пользовать либо АН, либо ESP, но никак не обе эти возможности одновременно.

            В любом пакете IP защищенная связь однозначно идентифи­цируется адресом пункта назначения в заголовке IPv4 или IPv6 и индексом па­раметров защиты (даёт возможност ьвыбрать защищённую связь по которой должен обрабатываться полученный пакет) во вложенном заголовке расширения (АН или ESP).

Заголовки АН и ESP поддерживают два режима использования: транспортный и туннельный. Дадим краткий обзором этих режимов.

Транспортный режим.

Транспортный режим обеспечивает защиту прежде всего для протоколов высшего уровня. Это значит, что защита транспортного режима распространяет­ся на полезный груз пакета IP. Примеры включают сегмент TCP  или UDP, или пакет протокола ICMP, которые размещаются непосредственно над IP в стеке главного прото­кола. Когда система использует заголовки АН или ESP над IPv4, полезным грузом являются данные, обычно размещаемые сразу после заголовка IP. Для IPv6 полезным грузом яв­ляются данные, обычно следующие после заголовка IP и всех имеющихся заго­ловков расширений IPv6, за возможным исключением заголовка параметров ад­ресата, который тоже может подлежать защите.

ESP в транспортном режиме шифрует и, если нужно, идентифицирует полез­ный груз IP, но не заголовок IP. АН в транспортном режиме идентифицирует полезный груз IP и некоторые части заголовка IP.

Туннельный режим.

Туннельный режим обеспечивает защиту всего пакета IP. После добавления к пакету IP полей АН или ESP весь пакет, вместе с полями защиты, рассматривается как полезный груз некоторого нового «внешнего» пакета IP с новым внешним заголовком IP. Весь оригинальный, или внутренний, пакет при этом пересылается через «туннель» от одной точки сети IP к другой, и ни один из маршрутизаторов на пути не может проверить внут­ренний заголовок IP. Ввиду того что оригинальный пакет инкапсулирован в но­вый, больший пакет может иметь совершенно другие адреса источника и адреса­та, что усиливает защиту. Туннельный режим используется тогда, когда один или оба конца защищенной связи являются шлюзами защиты, например бранд­мауэрами или маршрутизаторами, которые основаны на IPSec. При использова­нии туннельного режима системы в сетях за брандмауэрами могут осуществлять защищенный обмен данными без применения IPSec. Незащищенные пакеты, ге­нерируемые такими системами, связываются по туннелям, проложенным через внешние сети с помощью туннельного режима защищенной связи, установленно­го программным обеспечением IPSec в брандмауэре или защищенном маршрути­заторе на границе локальной сети.

Функциональные возможности транспортного и туннельного режимов

Вид заголовка

Транспортный режим защи­щенной связи

Туннельный режим защищенной связи

АН


Идентифицирует полезный груз IP, а также отдельные части за­головка IPи заголовков расши­рений IPv6

Идентифицирует весь внутренний пакет IP(заголовок и полезный груз внутреннего пакета IP), а также от­дельные части внешнего заголовка IPи внешних заголовков расшире­ний IPv6

ESP


Шифрует полезный груз IPи все заголовки расширений IPv6, следующие за заголовком ESP

Шифрует внутренний пакет IP

ESP
с аутен­тификацией


Шифрует полезный груз IPи все заголовки расширений IPv6, следующие за заголовком ESP.

Идентифицирует полезный груз IP, но не заголовок IP

Шифрует внутренний пакет IP. Идентифицирует внутренний пакет IP



4. 2.
Заголовок аутентификации (AH).

4. 2. 1.
Структура заголовка.

Заголовок аутентификации (АН) обеспечивает поддержку целостности данных и аутентификации пакетов IP. Свойство целостности данных гарантирует невоз­можность незаметной модификации содержимого пакета в пути следования. Функция аутентификации дает возможность конечной системе или сетевому уст­ройству идентифицировать пользователя или приложение и соответственно от­фильтровать трафик, а также защититься от очень распространенных сегодня в Internetатак с подменой сетевых адресов. Заголовок АН также защищает от атак воспроизведения сообщений.

Заголовок аутентификации состоит из следующих полей

Следующий заголовок

Длина полезного груза

Зарезервировано

Индекс параметров защиты

Порядковый номер

Данные аутентификации (переменой длины)

Заголовок аутентификации
IPSec.


§  Следующий заголовок. Идентифицирует тип заголовка, следую­щего непосредственно за данным заголовком

§  Длина полезного груза (8 битов). Длина заголовка аутентификации в 32-битовых словах, уменьшенная на 2.

§  Зарезервировано (16 битов). Для будущего использования.

§  Индекс параметров защиты (32 бита). Идентифицирует защищенную связь.

§  Порядковый номер (32 бита). Значение счетчика, для сервиса защиты от воспроизведения

§  Данные аутентификации (переменной длины). Поле переменной длины, содер­жащее MACдля данного пакета.

Атаки воспроизведения сообщений заключаются в том, что противник может получить экземпляр удостоверенного пакета и позже предъявить его предпола­гаемому адресату. Повторное получение одинаковых удостоверенных пакетов IPможет каким-то образом нарушить сервис или иметь какие-то другие нежела­тельные последствия.

4. 2. 2.
Использование AH в транспортном и туннельном режиме.

В этом подразделе мы рассмотрим область применения аутентификации, обеспечиваемой с помощью протокола АН, и размещение заголовка аутентифи­кации в каждом из двух режимов. При этом случаи IPv4 и IPv6 несколько раз­личаются.

Для транспортного режимаАН с применением IPv4 данные АН размещаются непосредственно после оригинального заголовка IPи перед полезным грузом IP(например, сегментом TCP). Аутенти­фикации подлежит весь пакет, за исключением изменяемых полей в заголовке IPv4, которые обнуляются для вычисления значения MAC.

  <img width=«700» height=«12» src=«ref-1_255650799-327.coolpic» v:shapes="_x0000_s1063">

Оригинальный заголовок IP

AH

TCP

Данные

  В контексте IPv6 данные АН рассматриваются как полезный груз сквозной передачи; т.е. проверка и обработка этих данных промежуточными маршрутиза­торами не предполагается. Поэтому данные АН размещаются после базового за­головка IPv6 и заголовков расширений транзита, маршрутизации и фрагмента­ции. Заголовок расширения параметров адресации может размещаться до или после заголовка АН — в зависимости от требований семантики. Опять же, ау­тентификация предполагается для всего пакета, за исключением изменяемых полей, которые обнуляются для вычисления значения MAC.

<img width=«700» height=«12» src=«ref-1_255650799-327.coolpic» v:shapes="_x0000_s1065">

Оригинальный заголовок IP

Транзит, адресация, маршрутизация, фрагментация

AH

Адресация

TCP

Данные

    продолжение
--PAGE_BREAK--Для туннельного режимаАН удостоверяется весь оригинальный пакет IP, aзаголовок АН вставляется между оригинальным заголовком IPи новым внеш­ним заголовком IP. Внутренний заголовок IPнесет адреса ориги­нальных источника и адресата, в то время как внешний заголовок IPможет со­держать совершенно другие адреса IP(например, адреса брандмауэров или дру­гих шлюзов защиты).

В туннельном режиме весь внутренний пакет IP, включая весь внутренний заголовок IP, защищается средствами АН. Внешний заголовок IP(а в случае IPv6 и внешние заголовки расширений IP) защищается с исключением изменяе­мых и непрогнозируемых по значению полей.

 


<img width=«700» height=«12» src=«ref-1_255651453-327.coolpic» v:shapes="_x0000_s1067">

Новый заголовок
IP


AH

Оригинальный заголовок
IP


TCP

Данные

  IPv4

<img width=«700» height=«12» src=«ref-1_255650799-327.coolpic» v:shapes="_x0000_s1069">

Новый заголовок
IP


Заголовки расширений

AH

Оригинальный заголовок
IP


Заголовки расширений

TCP

Данные

IPv
6

4. 3.
Протокол
ESP
.


    
4. 3. 1.

Формат пакета ESP


Поля пакета ESP.

•   Индекс параметров защиты (32 бита). Идентифицирует защищенную связь.

•    Порядковый номер (32 бита). Значение счетчика, обеспечивающее функ­цию защиты от воспроизведения, как и в случае для АН.

•   Полезный груз (переменной длины). Это сегмент транспортного уровня (в транспортном режиме) или пакет IP(в туннельном режиме), который за­щищается шифрованием.

•   Заполнитель (0-255 байтов).

•   Длина заполнителя (8 битов). Указывает число байтов заполнителя, непо­средственно предшествующего данному полю.

•   Следующий заголовок (8 битов). Идентифицирует тип данных, содержа­щихся в поле данных полезного груза, с помощью идентификации первого заголовка этого полезного груза (например, заголовка расширения IPv6 или протокола верхнего уровня, такого как TCP).

•   Данные аутентификации (переменной длины). Поле переменной длины, содер­жащее код ICV(IntegrityCheckValue— код контроля целостности), вы­числяемый для всего пакета ESPбез поля данных аутентификации.


Индекс параметров защиты

Порядковый номер

Данные полезного груза

Заполнитель (0-255 байт)


Длина заполнителя

Следующий заголовок

Данные аутентификации (переменной длины)



Поле заполнителя предназначено для следующих целей.

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

•   Формат ESPтребует, чтобы поля длины заполнителя и следующего заго­ловка были выровнены по правому краю в 32-битовом слове. Это эквива­лентно требованию, чтобы шифрованный текст имел длину, кратную 32 битам. Поле заполнителя предназначено для того, чтобы осуществить та­кое выравнивание.

•   Дополнительное заполнение можно использовать тогда,  когда требуется обеспечить   частичную   конфиденциальность   для   транспортного   потока, чтобы скрыть истинную длину полезного груза.

     4. 3. 2.
Шифрование и алгоритмы аутентификации.


Сервис ESPпредполагает шифрование полей полезного груза, заполнителя, длины заполнителя и следующего заголовка.

Имеющиеся на сегодня спецификации требуют, чтобы любая реализация под­держивала использование алгоритма DESв режиме СВС (режим сцепления шифрованных блоков. Другие алгоритм которые могут применяться для сервиса ESP:

•   «тройной» DESс тремя ключами,

•   RC5,

•   IDEA,

•   «тройной» IDEAс тремя ключами,

•   CAST,

•   Blowfish.

            Как и АН, протокол ESPподдерживает использование значений MACдлиной по умолчанию 96 битов. Так же как и в случае с АН, имеющиеся сегодня спе­цификации требуют, чтобы любая реализация поддерживала схемы HMAC-MD5-96 и HMAC-SHA-1-96.

    

    
4. 3. 3.

Транспортный режим
ESP
.


Транспортный режим ESPслужит для шифрования и, если нужно, аутенти­фикации данных, пересылаемых по протоколу IP(например, сегмента TCP). Для этого режима в случае с IPv4 заголовок ESPраз­мещается в пакете IPнепосредственно перед заголовком транспортного уровня (например, TCP, UDP, ICMP), а концевик (trailer) пакета ESP(содержащий поля заполнителя, длины заполнителя и следующего заголовка) размещается после пакета IP; если же используется функция аутентификации, то поле данных ау­тентификации ESPдобавляется после концевика ESP. Весь сегмент транспортно­го уровня вместе с концевиком ESPшифруются. Аутентификация охватывает весь шифрованный текст и заголовок ESP.

  <img width=«460» height=«12» src=«ref-1_255652107-309.coolpic» v:shapes="_x0000_s1071">

  <img width=«352» height=«14» src=«ref-1_255652416-364.coolpic» v:shapes="_x0000_s1073">

Оригинальный заголовок
IP


Заголовок
ESP


TCP

Данные

Концевик
ESP


Аутентификатор
ESP




В контексте IPv6 данные ESPрассматриваются как предназначенный для сквозной пересылки полезный груз, не предполагающий проверку или обработку промежуточными маршрутизаторами. Поэтому заголовок ESPразмещается после основного заголовка IPv6 и заголовков расширений транзита, маршрутизации и фрагментации. Заголовок расширения параметров адресата может быть помещен до или после заголовка ESP— в зависимости от требований семантики. В случае IPv6 шифрование охватывает весь сегмент транспортного уровня вместе с конце­виком ESP, а также заголовок расширения параметров адресата, если этот заго­ловок размещается после заголовка ESP. Аутентификация предполагается для шифрованного текста и заголовка ESP.



  <img width=«424» height=«12» src=«ref-1_255652780-311.coolpic» v:shapes="_x0000_s1075">

  <img width=«352» height=«12» src=«ref-1_255653091-303.coolpic» v:shapes="_x0000_s1077">

Ориги­нальный заголовок
IP


Транзит, адресация, маршру­тизация, фрагмен­тация

Заголовок
ESP


адресация

TCP

Данные

Концевик
ESP


Аутенти­фикатор
ESP




В транспортном режиме выполняются следующие операции:

1.   В узле источника блок данных, состоящий из концевика ESPи всего сег­мента транспортного уровня, шифруется, а открытый текст этого блока за­меняется шифрованным текстом, что формирует пакет IPдля пересылки. Если выбрана опция аутентификации, то добавляется поле аутентификации.

2.   Затем пакет направляется адресату. Каждый промежуточный маршрутиза­тор должен проверить и обработать заголовок IP, а также все заголовки расширений IP, доступные в нешифрованном виде. Шифрованный текст при этом остается неизменным.

3.  Узел адресата проверяет и обрабатывает заголовок IPи все заголовки рас­ширений IP, доступные в нешифрованном виде. Затем на основе информа­ции индекса параметров защиты в заголовке ESPдешифруются остальные части пакета, в результате чего становится доступным сегмент транспорт­ного уровня в виде открытого текста.

            Использование транспортного режима обеспечивает конфиденциальность для любого применяющего этот режим приложения, что позволяет избежать необхо­димости реализации функций обеспечения конфиденциальности в каждом от­дельном приложении. Этот режим достаточно эффективен, а объем добавляемых к пакету IPданных при этом невелик. Недостатком этого режима является то, что при его использовании не исключается возможность анализа трафика пере­сылаемых пакетов.
    
4. 3. 4.

Туннельный режим
ESP
.


            Туннельный режим ESPпредназначен для шифрования всего пакета IP.  Для этого режима заголовок ESPдобавляется к пакету как префикс, а затем такой пакет вместе с концевиком ESPшифруются. Данный метод можно использовать,  когда требуется исключить возможность атак,  построенных на анализе трафика.

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

  <img width=«484» height=«12» src=«ref-1_255653394-312.coolpic» v:shapes="_x0000_s1079">

  <img width=«388» height=«12» src=«ref-1_255653706-307.coolpic» v:shapes="_x0000_s1081">

Новый заголовок
IP


Заголовок
ESP


Оригинальный заголовок IP

TCP

Данные

Концевик
ESP


Аутентификатор
ESP


IPv4


  <img width=«484» height=«12» src=«ref-1_255654013-313.coolpic» v:shapes="_x0000_s1083">

  <img width=«400» height=«12» src=«ref-1_255654326-306.coolpic» v:shapes="_x0000_s1085">

Новый за­головок
IP


Заголовки расшире­ний

Заголовок
ESP


Ориги­нальный заголовок
IP


Заголовок расшире­ний


P


Данные

Концевик
ESP


Аутенти­фикатор
ESP


IPv6

В то время как транспортный режим подходит для защиты соединений меж­ду узлами, поддерживающими сервис ESP, туннельный режим оказывается по­лезным в конфигурации, которая предполагает наличие брандмауэра или иного шлюза защиты, предназначенного для защиты надежной внутренней сети от внешних сетей. В случае с туннельным режимом шифрование используется для обмена только между внешним узлом и шлюзом защиты или между двумя шлю­зами защиты. Это разгружает узлы внутренней сети, избавляя их от необходи­мости шифрования данных, и упрощает процедуру распределения ключей, уменьшая число требуемых ключей. Кроме того, такой подход усложняет про­блему анализа потока сообщений, направляемых конкретному адресату.

Рассмотрим случай, когда внешний узел соединяется с узлом внутренней се­ти, защищенной брандмауэром, и когда ESPиспользуется внешним узлом и брандмауэром. Тогда при пересылке сегмента транспортного уровня от внешнего узла к узлу внутренней сети будут выполнены следующие действия.

1.  Источник готовит внутренний пакет IPс указанием адреса пункта назна­чения, являющегося узлом внутренней сети. К этому пакету в виде пре­фикса добавляется заголовок ESP. Затем пакет и концевик ESPшифруют­ся и к результату могут быть добавлены данные аутентификации. Полу­ченный блок заключается во внешний пакет IPс новым заголовком IP(базовый заголовок плюс необязательные расширения, например парамет­ров маршрутизации и транзита для IPv6), в котором адресом пункта на­значения является адрес брандмауэра.

2.   Внешний пакет отправляется брандмауэру. Каждый промежуточный маршру­тизатор нужно проверить и обработать внешний заголовок IPи все внешние заголовки расширений IP, оставив шифрованный текст неизменным.

3.   Брандмауэр-адресат проверяет и обрабатывает внешний заголовок IPи все внешние заголовки расширений IP. Затем на основе информации индекса параметров защиты в заголовке ESPбрандмауэр дешифрует остальные части пакета, в результате чего становится доступным внутренний пакет IPв виде открытого текста. Этот пакет потом передается по внутренней сети.

4.  Внутренний пакет направляется через маршрутизаторы внутренней сети или непосредственно к узлу-адресату.
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике