Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции (2).doc
Скачиваний:
254
Добавлен:
28.06.2014
Размер:
2.41 Mб
Скачать
  1. Протокол 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}.

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

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

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

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

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

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

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

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

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

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

  4. C->S: ESKC(H(mk,все сообщения кроме данного)) (ЭЦП) (дополнительное сообщение, если у клиента есть сертификат и связанный с ним личный ключ).

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

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

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

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

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

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

  6. C: расшифрование полученного от сервера сообщения с помощью вычисленного на шаге 8 ключа шифрования сервера и проверка расшифрованного сообщения.

Из-за включения в пересылаемые между клиентом и сервером сообщения случайных одноразовых чисел (NC и NS) атака перехвата и воспроизведения невозможна.