- •Лекция
- •Вопросы
- •Инфраструктура открытых ключей Public Key Infractructure (PKI)
- •Архитектура PKIX
- •Архитектура PKI
- •Структуры данных PKI:
- •Формат сертификата открытого ключа по стандарту ITU X.509
- •Пример сертификата
- •Расширения сертификата
- •Жизненный цикл сертификата
- •Выпуск сертификатов.
- •Примерная политика использования сертификатов
- •Временные периоды использования сертификатов
- •Работа с сертификатами государственных органов
- •Сертификаты в веб-сети
- •Цепочки сертификатов
- •Проверка сертификата веб-сайта.
- •Зачем нужны промежуточные УЦ?
- •Проверка сертификатов
- •Выпуск сертификатов.
- •Виды проверок заявителя
- •2. Сертификаты с расширенным подтверждением (Extended
- •Протоколы защиты на различных уровнях протокола TCP/IP
- •2.Управление ключами в протоколе IPSec
- •Security Association (SA) Безопасная ассоциация Контекст безопасности
- •Установление безопасных ассоциации
- •IP-пакет до и после применения протокола ESP
- •IP-пакет после применения протокола АН в транспортном и туннельном режимах
- •Internet Key Exchange (IKE)
- •Алгоритм Диффи-Хеллмана
- •Атака человек посредине
- •Типы блоков данных
- •Начальный обмен IKE_UNIT_ SA
- •Обмен IKE_AUTH
- •Формат заголовка IKE
- •Блок данных(SA
- •Подструктура Преобразование
- •Обмен IKE_AUTH
- •Блок Аутентификация
- •Содержимое поля Аутентификационные данные при аутентификации с использованием цифровых подписей
- •Содержимое поля Аутентификационные данные при аутентификации с использованием заранее распределенного ключа
- •Начальный обмен IKE_UNIT_ SA
- •Генерация ключевого материала для IKE_SA
- •Принципы обеспечения безопасности протокола IKE
- •Алгоритм Диффи-Хеллмана
- •Атака человек посредине
- •Базовые требования к протоколу обмена ключами
- •Эволюция
- •Протокол ISO
- •Протокол SIGMA
- •Защита идентификаторов
- •Защита идентификаторов
- •SIGMA-R в IKE
- •3. Протокол TLS 1.3 (распределение ключей)
- •TLS (Transport Layer Security – протокол защиты транспортного уровня)
- •Назначение
- •Обеспечивает
- •Криптографические преобразования в протоколе TLS 1.3
- •Уровень протокола
- •Архитектура протокола TLS
- •Протокола согласования (handshake), применяется при первом взаимодействии между клиентом и сервером, позволяет партнерам
- •Базовый вариант протокола TLS
- •Наиболее важные расширения этапа обмена ключами
- •Шифрнаборы
- •AES_GCM (Galois Counter Mode)
- •Server hello
- •Выработка начального секрета
- •Вторая фаза протокола
- •Базовый вариант протокола TLS
- •3-я фаза. Передача данных сервера
- •Этапы генерации ключей в протоколе TLS
- •Возобновление сеанса
- •Вопросы безопасности TLS
- •2. Perfect Forward Secrecy- PFS Совершенная прямая секретность)
- •PFS - продолжение
- •Применение постквантовых алгоритмов в протоколе TLS
- •ключи (SKKEM, PKKEM) для схемы КЕМ. Клиент посылает серверу
- •AES_GCM (Galois Counter Mode)
Обеспечивает
•Конфиденциальность пользовательских данных путем симметричного шифрования.
•Целостность и аутентичность передаваемых данных,
путем шифрования с аутентификацией или применения МАС.
•Доказательство подлинности сторон и защита от атак с человеком посередине с помощью сертификатов X.509.
•Поддержание функции «совершенная прямая секретность - Perfect Forward Secrecy – PFS» посредством обмена одноразовыми ключами по протоколу Диффи-Хеллмана. (вычислительно невозможно расшифровать
TLS- сеанс, даже если закрытый ключ сервера будет в будущем скомпрометирован).
Криптографические преобразования в протоколе TLS 1.3
-симметричное шифрование с аутентификацией и присоединенными данными (АEAD) с использованием шифров: AES-GCM, AES-CCM, Cha-Cha20-Poly1305;
-хеширование HMAC на основе SHA-256, SHA-384;
-обмена ключами с использованием методов: DH, ECDH; -применение псевдослучайной функции HKDF;
-поддержка сертификатов на основе RSA, ECDSA, PureEdDSA.
Уровень протокола
Архитектура протокола TLS
Прикладной протокол
|
|
Переговоры об |
|
|
атрибутах безопасной |
|
|
сессии |
Протокол |
|
|
|
Уведомление получающей |
|
согласования |
|
|
|
стороны об изменении |
|
(handshake) |
|
алгоритмов и ключей |
|
|
Посылка фатального или |
|
|
|
|
|
предупреждающего |
|
|
сообщения |
|
|
|
Протокол записи (record)
Транспортный протокол
Протокола согласования (handshake), применяется при первом взаимодействии между клиентом и сервером, позволяет партнерам выбрать версию протокола и криптографические алгоритмы, проверить подлинность друг друга, создать секретный ключевой материал для общего применения.
Протокола записей (record). Протокол делит трафик на последовательность записей, каждая из которых защищается независимо с использованием ключей трафика, созданных протоколом согласован.
Запись TLS – блок данных, размером < 16 KB. Структура записи:
Заголовок: 1-й байт – тип передаваемых данных (22 для квитирования; 23 для зашифрованных данных; 21 для уведомлений. 2,3-й бвйты – версия протокола. 4,5-й байты- длина передаваемых данных.
Остальные байты – полезная нагрузка.
Базовый вариант протокола TLS
Фаза протокола |
Клиент |
Направление |
Сервер |
|
|
|
|
передачи |
|
|
|
ClientHello |
|
|
|
|
-key_share |
|
|
1. |
Обмен |
-signature_algorithms |
|
|
|
ключами |
-psk_key_exchange_mode |
|
|
|
|
-pre_shared_key |
|
ServerHello |
|
|
|
|
|
|
|
|
|
-key_share |
|
|
|
|
-pre_shared_key |
2. |
Параметры |
|
|
{EncryptedExtensions} |
|
сервера |
|
|
{CertificateRequest} |
|
|
|
|
{Certficate} |
|
|
|
|
{CertificateVerify} |
|
|
|
|
{Finished} |
3.Аутентификация |
|
|
[Данные приложения] |
|
{Certficate}
{CertificateVerify}
{Finished}
[Данные приложения]
[Данные приложения]
Наиболее важные расширения этапа обмена ключами
KeyShare – одно их важных расширений. Данное расширение содержит значение Диффи-Хеллмана (DH), которое необходимо для формирования ключа по методу Диффи-Хеллмана. В расширении может быть представлен список значений DH для разных групп метода Диффи- Хэллмана, параметры которых указаны в расширении SupportedGroups.
SignatureAlgorithms – расширение содержит перечень поддерживаемых алгоритмов ЦП. Могут использоваться криптосистемы подписи на основе схемы RSA, схема подписи на основе эллиптических кривых ECDSA и схема подписи на эллиптических кривых в форме Эдвардса –EdDSA.
PreSharedKey – расширение, которое позволяет противоположной стороне выбрать нужный ключ их списка в случае, если ключи были предварительно распределены между клиентом и сервером каким-либо образом.
PSKKeyExchage Modes - это расширение предназначено для указания режима использования ключей: PSK или PSK вместе с (EC)DHE.
Шифрнаборы
•TLS_AES_256_GCM_SHA384;
•TLS_CHACHA20_POLY1305_SHA256;
•TLS_AES_128_GCM_SHA256;
•TLS_AES_128_CCM_SHA256;
•TLS_AES_128_CCM_SHA256
CCM : режим счетчика с СВС МАС
GCM : режим счетчик с аутентификацией Галуа.
Запись TLS_AES_128_GCM_SHA256 означает, что в протоколе TLS применяется аутентифицированное симметричное шифрование с присоединенными данными на основе шифра AES с длиной ключа 128 бит в режиме гаммирования и аутентификацией данных на основе универсальных хэш-функций, вычисляемых в поле Галуа. Для создания ключей на всех этапах протокола используется криптографическая хэш-функция семейства SHA-2 (SHA256).
AES_GCM (Galois Counter Mode)
N 
Блочный шифр в режиме гаммирования AES_CTR
K
C=C1,C2,…,Cn
T
H |
|
|
|
|
|
|
|
|
|
LenC |
|
K |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
GHASH |
|
|
|
|
|||||||
AES |
|||||||||||||
|
|
|
|
|
|
|
Y |
|
|||||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
N |
||||
|
|
|
|
|
|
|
|
|
|||||
H=AES((K,0) |
|
|
|||||||||||
|
|
|
|
|
|
||||||||
Вычисление аутентификатора Y=(H×C)modh(x) сообщения на основе универсальных
хэш=функций GHASH
Server hello
Сервер выбирает самую старшую версию протокола и предпочтительный комплект шифров из тех, что
поддерживаются клиентом и сервером, Если не удастся согласовать параметры, квитирование завершается безрезультатно.
