Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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

В таблице представлены криптографические алгоритмы, используемы в системе 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. Последний является весьма слабым алгоритмом шифрования, но зато соответствует экспортным требованиям США.

Протоколы SSL и TLS.

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

 

Протокол записи 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.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...