Защита электронной почты в Internet
| Категория реферата: Рефераты по коммуникации и связи
| Теги реферата: реферат образ жизни, вулканы доклад
| Добавил(а) на сайт: Фелица.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Получив сообщение 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. На этом процесс квитирования завершается, и теперь клиент и сервер могут начать обмен данными на уровне приложения.
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 (Internet
Engineering Task Force – проблемная группа проектирования 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.
Рекомендуем скачать другие рефераты по теме: права человека реферат, реферат влияние.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата