- •ЛЕКЦИЯ 13. АСИММЕТРИЧНАЯ
- •Содержание лекции
- •Протокол Диффи-Хеллмана
- •Протокол Диффи-Хеллмана
- •Протокол Диффи-Хеллмана
- •Криптосистема Эль-
- •Гамаля
- •Гамаля
- •Криптосистема на основе
- •Криптосистема на основе
- •криптосистеме на основе
- •криптосистеме на основе
- •Криптосистема на основе
- •Угрозы безопасности
- •Электронная цифровая
- •Алгоритм получения ЭЦП под
- •Алгоритм проверки ЭЦП S
- •Механизм ЭЦП
- •Системы ЭЦП
- •нарушителем ложного
- •открытого ключа (стандарт
- •Элементы инфраструктуры
- •ЭЦП и функции
- •Хеширование
- •Требования к функциям
- •Применение хеширования
- •ЭЦП и функции
- •Способы построения
- •Функции хеширования
- •Протокол Secure Socket Layer
- •Стандартная реализация
- •Составные части протокола
- •Протокол записи SSL
- •Аутентификация и передача
- •Протокол квитирования SSL
- •Аутентификация и передача
- •Завершение квитирования
Протокол 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 и других параметров устанавливаемого с клиентом защищенного соединения, расшифрование полученного от клиента сообщения с помощью только что вычисленного ключа симметричного шифрования клиента.