Скачиваний:
0
Добавлен:
04.02.2026
Размер:
221.68 Кб
Скачать

Гибридное шифрование (Hybrid Encryption)

На практике используется комбинация обоих методов:wikipedia+2

Процесс гибридного шифрования:

text

Сценарий: Большой файл 100 МБ нужно передать безопасно

Шаг 1: Генерировать случайный симметричный ключ (AES-256)

K_sym = случайные 256 бит

Шаг 2: Шифровать данные симметричным ключом

Файл + K_sym → AES-256 → Шифрованный файл (быстро!)

Шаг 3: Получить открытый ключ получателя (RSA-2048)

K_pub_получателя

Шаг 4: Шифровать симметричный ключ асимметричным ключом

K_sym + K_pub → RSA → Зашифрованный_K_sym (маленький объём)

Шаг 5: Отправить оба

- Зашифрованный файл (100 МБ, зашифрован симметричным ключом)

- Зашифрованный K_sym (несколько сот байт, зашифрован асимметричным ключом)

Получатель:

Шаг 6: Расшифровать K_sym с помощью своего закрытого ключа

Зашифрованный_K_sym + K_priv → RSA → K_sym

Шаг 7: Расшифровать файл с помощью K_sym

Шифрованный файл + K_sym → AES-256 → Исходный файл

Преимущества гибридного подхода:

  • Скорость симметричного: основной объём данных шифруется быстро

  • Безопасность асимметричного: ключ обмена защищён

  • Лучшее из обоих миров

Организация шифрования на транспортном уровне: tls/ssl

TLS (Transport Layer Security) — это протокол, обеспечивающий защищённую передачу данных между клиентом и сервером на транспортном уровне модели OSI.yandex+2

Предшественник: SSL (Secure Sockets Layer) — TLS 1.0 является надстройкой над SSL 3.0

Текущие версии:

  • TLS 1.2 — широко используется

  • TLS 1.3 — современный стандарт (RFC 8446)

Как работает tls

Уровень расположения:

text

Приложение (HTTP, SMTP, FTP)

TLS/SSL (Транспортный уровень, уровень 4-5)

TCP (Транспортный уровень)

IP, сетевой уровень

...

Процесс TLS Handshake (установление соединения):wikipedia+1

Шаг 1: ClientHello

text

Клиент → Сервер:

- Версия TLS

- Поддерживаемые алгоритмы шифрования

- Поддерживаемые алгоритмы сжатия

- Случайное число (ClientRandom)

Шаг 2: ServerHello

text

Сервер → Клиент:

- Выбранная версия TLS

- Выбранный алгоритм шифрования

- Сертификат сервера (содержит открытый ключ)

- Случайное число (ServerRandom)

Шаг 3: Certificate Verification

text

Клиент:

- Проверяет сертификат сервера

- Проверяет подпись центра сертификации

- Убеждается, что домен совпадает

Шаг 4: Key Exchange

text

Клиент → Сервер:

- Генерирует PreMasterSecret (случайное число)

- Шифрует PreMasterSecret открытым ключом сервера (RSA)

- Отправляет зашифрованный PreMasterSecret

И клиент, и сервер вычисляют:

MasterSecret = PRF(PreMasterSecret, "master secret", ClientRandom + ServerRandom)

Из MasterSecret вычисляют ключи:

- ключ для симметричного шифрования (например, AES)

- ключи для проверки целостности (MAC)

Шаг 5: Finished

text

Обе стороны отправляют сообщение Finished:

- Содержит хеш всех предыдущих сообщений

- Зашифровано вычисленным ключом

- Подтверждает, что соединение установлено правильно

Шаг 6: Передача данных

text

Все последующие данные:

- Шифруются симметричным ключом (быстро)

- Проверяются на целостность (MAC)

- Защищены от перехвата и подделки

HTTPS (HTTP Secure)

HTTPS = HTTP через TLS

  • Порт: 443 (вместо 80)

  • Когда вы вводите https://example.com:

    1. Браузер подключается к port 443

    2. Выполняет TLS handshake (описано выше)

    3. Устанавливает шифрованный канал

    4. Отправляет HTTP запрос через шифрованный канал

    5. Сервер отправляет ответ через шифрованный канал

    6. Браузер расшифровывает и отображает

Соседние файлы в предмете Открытые информационные системы и сети