
- •Лекция
- •Протоколы защиты информации на различных уровнях протокола TCP/IP
- •1.Основные сведения о протоколе IPSec
- •Security Association (SA) Безопасная ассоциация Контекст безопасности
- •Установление безопасных ассоциации
- •IP-пакет до и после применения протокола ESP
- •IP-пакет после применения протокола АН в транспортном и туннельном режимах
- •Internet Key Exchange (IKE)
- •Алгоритм Диффи-Хеллмана
- •Атака человек посредине
- •Начальный обмен IKE_UNIT_ SA
- •Обмен IKE_AUTH
- •Формат заголовка IKE
- •Типы блоков данных
- •Блок данных Контекст Безопасности
- •Подструктура Преобразование
- •Блок Аутентификация
- •Обмен IKE_AUTH
- •Содержимое поля Аутентификационные данные при аутентификации с использованием цифровых подписей
- •Содержимое поля Аутентификационные данные при аутентификации с использованием заранее распределенного ключа
- •Генерация ключевого материала для IKE_SA
- •Принципы обеспечения безопасности протокола IKE
- •Алгоритм Диффи-Хеллмана
- •Атака человек посредине
- •Базовые требования к протоколу обмена ключами
- ••Конфиденциальность ключа.
- •Эволюция
- •Протокол ISO
- •Протокол SIGMA
- •Защита идентификаторов
- •Защита идентификаторов
- •SIGMA-R в IKE
- •2. Протокол, SSL
- •SSL (Secure Socket Layer – протокол защищенных сокетов)
- •Протокол обеспечивает
- •Архитектура протокола SSL (TLS)
- •Обработка фрагментов данных в протоколе SSL
- •Алгоритмы шифрования SSL
- •Вычисление кода аутентичности
- •Схема обмена сообщениями при установке логического соединения между клиентом и сервером
- •1 Этап. Инициализация логического соединения и
- •Способы формирования ключа в SSL протоколе
- •2 Этап. Аутентификация и обмен ключами сервера
- •3 Этап. Аутентификация и обмен ключами клиента
- •Сообщения, передаваемые на 2, 3 этапах
- •Создание главного секретного ключа
- •Главный ключ находится из предварительного ключа с помощью
- •4 Этап. Завершение
- •Особенности протокола TLS v.1.1
- ••Проводя анализ протокола SSL/TLS с позиции выполнения требований по обеспечению безопасности распределения ключей

Алгоритмы шифрования SSL

Вычисление кода аутентичности

Схема обмена сообщениями при установке логического соединения между клиентом и сервером
Клиент |
Сервер Клиент |
Сервер |
1 |
3 |
2 |
4 |

|
|
Выполнение протокола SSL |
4 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I. Установление SSL-сессии |
|
|
|
|
|||||
|
|
Сервер |
1.Инициализация |
Клиент |
|
|
|||||
|
|
|
|
|
|
|
|
||||
|
Предаваемые параметры |
|
логического соединения |
|
Инициализация |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|||
|
сессии: |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
соединения |
|
|
|
||
|
- Идентификатор сессии; |
|
Client_hello |
|
|
|
|
||||
|
|
|
|
|
|
|
|||||
|
- Случайное число (RND_CL); |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||
|
- комплект шифров; |
|
|
|
|
|
|
|
|
|
|
|
- набор алгоритмов сжатия. |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
Принимаемые параметры |
|
|
|||
|
|
|
|
|
|
|
|
сессии: |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
Server_hello |
|
- идентификатор сессии; |
|
|
|||
|
|
|
|
|
|
|
|
- выбранный комплект |
|
|
|
|
|
Обработка запроса |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
шифров; |
|
|
||
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
- случайное число |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
(RND_SR); |
|
|
|
|
|
|
|
2. Аутентификация |
|
|
|
|
|||
|
|
certificate, |
|
|
|
|
|||||
|
|
сервера и обмен |
|
Проверка подлинности |
|
|
|||||
|
|
Server _key_exchange |
ключами сервера |
|
сертификата, получение |
|
|
||||
|
|
Certificate_request, |
|
|
|
|
открытого ключа сервера |
|
|
||
|
|
Server_hello_done |
|
|
|
|
CertServ=SignCA(PKServ) |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

1 Этап. Инициализация логического соединения и
определение характеристик защиты
Client hello (Server hello)
: -Версия; Случайное значение; Идентификатор сеанса; Комплект шифров; Метод сжатия.
Комплект шифров ( CipherSuite): параметры шифрования , метод
обмена ключами
Параметры шифрования CipherSpec

Способы формирования ключа в SSL протоколе
Формировани
е ключей
RSA |
|
Диффи-Хеллмана |
|
|
|
|
|
|
С фиксированными |
|
С одноразовыми |
|
Анонимно |
параметрами |
|
параметрами |
|
|
|
|
|
|
|
2 Этап. Аутентификация и обмен ключами сервера
Server_key_exchange содержит сообщение.
Для анонимного метода Диффи-Хеллмана - простое число и примитивный элемент |
|
поля + окрытый ключ Диффи-Хэллмана. |
p, a, ax |
Для метода Диффи-Хеллмана с одноразовыми параметрами - те же параметры + их |
|
подпись. |
SignServ (ax ) |
|
Для способа DH с фиксированными параметрами это сообщение не передается, так как ключ уже передан в сертификате.
CertServ SignCA (ax )
Для способа RSA, когда сервер имеет ключ RSA, предназначенный только для подписи, прямой обмен ключами не возможен, В этом случае сервер генерирует временную пару ключей . После этого открытый ключ подписывается закрытым ключем сервера и включается в сообщение Server Key Exchange.
SignServ (n, e)
Алгоритм вычисления хэш-кода: для подписи DSS – алгоритм SHA-1, для подписи RSA – два хэш-кода MD5 и SHA-1

4
3. Аутентификация клиента и обмен ключами
Certificate
Client_key_exchange
Certificate_verify
Расшифрование секретным ключом сервера
Pre_MasterSecret = (Е, SK_Serv)
Проверка подписи
Формирование главного ключа MasterSecret = h(Pre_MasterSecret, RND_CL, RND_SR)
Вычисление ключей шифрования, аутентификации и вектора инициализации
Client_key_ex
change
Certificate_verify
Генерация ключа Pre_MasterSecret (48 байт) (для способа обмена RSA)
Шифрование открытым ключом E = f (Pre_MasterSecret,PK_Serv )
Подписание данных блока Client_key_exchange SignClient(HashPre_masterSecret)
Формирование главного ключа MasterSecret = h(Pre_MasterSecret, RND_CL, RND_SR)
Вычисление ключей шифрования, аутентификации и вектора инициализации
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

3 Этап. Аутентификация и обмен ключами клиента
Client_key_exchange зависит от выбранного метода аутентификации:
Для способа RSA клиент генерирует 48 байтовый предварительный ключ, шифрует его с помощью открытого ключа сервера, взятого из сертификата или с помощью временного открытого ключа , полученного в сообщении
Server Key Exchange.
Для метода Диффи-Хеллмана с одноразовыми параметрами или анонимного – передаются открытые значения DH.
Для метод Диффи-Хеллмана с фиксированными параметрами поле пустое
Certificate_verify – подпись предыдущего сообщения.
Цель подписи- проверка наличия у клиента личного ключа его сертификата.

Сообщения, передаваемые на 2, 3 этапах
|
|
Способ обмена ключами |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Передаваемое |
|
|
Диффи-Хеллмана |
|
|
|||
сообщение |
RSA |
|
|
|
|
|
|
|
Фиксиров |
|
Одноразовые |
|
анонимно |
||||
|
|
|
||||||
|
|
параметры |
|
параметры |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Certificate |
Cert(PKserv ) |
Cert( y ) |
|
Cert(PKserv ) |
|
не |
|
|
|
|
|
|
|
|
|
передается |
|
|
|
|
|
|
|
|
||
Server key |
Sigserv{PKserv } |
не |
|
Sigserv{p, , } |
|
( p, , ) |
||
|
|
|
|
|
y |
|
|
х |
|
|
|
|
|
|
|
||
exchange |
|
передается |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Certificate |
Cert(PKclient ) |
Cert( х ) |
|
Cert(PKclient ) |
|
|
не |
|
|
|
|
|
|
|
|
передается |
|
|
|
|
|
|
|
|
|
|
Client key |
EPK ( premasterkey) |
не |
|
( p, , х ) |
|
|
( p, , х ) |
|
exchange |
serv |
передается |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Certificate |
не передается |
не |
|
Sigserv{p, , y } |
|
не |
|
|
verify |
|
передается |
|
|
|
|
передается |
|
|
|
|
|
|
|
|
|
|