Защита электронной почты в Internet
Рефераты >> Коммуникации и связь >> Защита электронной почты в Internet

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.

Для шифрования сообщений рекомендуется «тройной» 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.

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

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

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

FTP, SMTP, HTTP.

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

TCP

IP


Страница: