Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 13.ppt
Скачиваний:
113
Добавлен:
28.06.2014
Размер:
844.29 Кб
Скачать

Протокол Secure Socket Layer

(SSL)

Разработан компанией Netscape. Достоинства:

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

аутентификация сервера;

возможность автоматической аутентификации клиента;

расширяемость (возможность добавления новых криптоалгоритмов).

Стандартная реализация

SSL

• Использование алгоритма RSA для обмена сеансовыми ключами.

• Использование алгоритма RC4 для симметричного шифрования сообщений.

• Использование функции хеширования MD5 для защиты целостности сообщений.

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

Составные части протокола

SSL

• протокол записи (передачи) – протокол сеансового уровня, обеспечивающий базовый набор средств защиты для протоколов уровня представления и прикладного;

• протокол квитирования (установки сеанса связи между клиентом и сервером);

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

• протокол извещения (три последних протокола относятся к протоколам уровня представления).

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

1.Разбиение данных сообщения на фрагменты длиной ≤ 214 байт.

2.Сжатие фрагментов (необязательное).

3.Добавление HMAC, вычисленного с помощью соответствующего ключа.

4.Шифрование фрагмента и HMAC симметричным алгоритмом с помощью ключа шифрования и (при использовании блочного шифрования) начального вектора.

5.Добавление заголовка.

SSL

Согласование параметров защиты:

1.Клиент C->Сервер S: случайное число NC, идентификатор сеанса ID, предлагаемые клиентом криптоалгоритмы {CAC}.

2.S->C: случайное число NS, ID (или ID′, если ID=0), выбранные сервером криптоалгоритмы {CAS}.

SSL

Аутентификация и передача ключей сервера:

3.S->C: сертификат своего открытого ключа C(PKS).

4.S->C (дополнительное сообщение server_key_exchange требуется при выборе криптографической системы Диффи-Хеллмана с одноразовыми ключами): основание a, модуль p, открытый ключ сервера yS, ESKS(H(NC,NS,a,p,yS)) (ЭЦП для подтверждения подлинности выбранных параметров).

Аутентификация и передача

ключей сервера

5.S->C: тип запрашиваемого сервером сертификата открытого ключа клиента C(PKC) и список доверенных удостоверяющих центров.

6.S->C: сообщение Server_Hello_Done (без параметров).

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

Аутентификация и передача ключей клиента:

7.C->S: сертификат своего открытого ключа C(PKC) (если у клиента есть удовлетворяющий условиям сертификат) или сообщение no_certificate (без параметров).

8.C: генерация предварительного мастер- ключа pmk (для криптосистемы RSA) или вычисление открытого ключа клиента yC (для криптосистемы Диффи-Хеллмана), вычисление мастер-ключа mk и других параметров устанавливаемого с сервером защищенного соединения (ключей шифрования сообщений клиента KC и сервера KS, ключей для вычисления HMAC клиента и сервера, начальных векторов для клиента и сервера).

Аутентификация и передача

ключей клиента

9.C->S: EPKS(pmk) (для криптографической системы RSA) или открытый ключ клиента yC (для криптографической системы Диффи- Хеллмана).

10.C->S: ESKC(H(mk,все сообщения кроме

данного)) (ЭЦП) (дополнительное сообщение, если у клиента есть сертификат и связанный с ним личный ключ).

SSL

Завершение квитирования:

11.C->S: Change_Cipher_Spec (без параметров).

12.C->S: EKC(H(mk, все сообщения кроме данного, C)).

13.S: расшифрование pmk с помощью своего закрытого ключа (для криптосистемы RSA), вычисление мастер-ключа mk и других параметров устанавливаемого с клиентом защищенного соединения, расшифрование полученного от клиента сообщения с помощью только что вычисленного ключа симметричного шифрования клиента.

Соседние файлы в папке Лекции