System Design Space

    Глава 164

    Обновлено: 15 февраля 2026 г. в 08:35

    Шифрование, ключи и TLS: как это работает на практике

    Прогресс части0/12

    Практическое введение в асимметричное шифрование, PKI/сертификаты, инфраструктуру ключей и работу TLS 1.3.

    RFC

    TLS 1.3 (RFC 8446)

    Базовый стандарт современного TLS handshake и key schedule.

    Открыть RFC

    Когда мы говорим про безопасность канала и доверие между сервисами, почти всегда за кулисами работают три слоя: криптографические примитивы, инфраструктура ключей и протокол транспорта. На практике это выглядит как связка асимметрии + PKI + TLS, а не как один «магический» алгоритм.

    Что важно понимать про шифрование

    Asymmetric Encryption

    • Пара ключей: public key можно распространять, private key должен оставаться секретным.
    • Шифрование обычно делают гибридно: данные шифруют симметричным ключом, а ключ - через public key.
    • Основная практическая роль: безопасный обмен ключами и bootstrap доверия.

    Digital Signatures

    • Подпись подтверждает целостность и источник данных (authenticity + integrity).
    • Sign: private key, Verify: public key.
    • В TLS подписи используются для доказательства владения серверным ключом.

    Key Management

    • Реальная безопасность зависит от lifecycle ключей: генерация, хранение, ротация, отзыв.
    • KMS/HSM, key versioning, access policies и audit trail - базовый production минимум.
    • Компрометация private key часто опаснее, чем баг в самом протоколе.

    PKI

    X.509 / RFC 5280

    Стандарт сертификатов и базовых правил certificate chain validation.

    Открыть RFC

    Инфраструктура открытых и закрытых ключей (PKI)

    Root CA

    Якорь доверия. Обычно офлайн, с жестким контролем доступа.

    Intermediate CA

    Подписывает серверные сертификаты, изолируя риск от root ключа.

    Leaf Certificate

    Сертификат конкретного домена/сервиса с public key и сроком действия.

    Revocation / Rotation

    CRL/OCSP, короткие TTL сертификатов и регулярная ротация ключей.

    Production-подход: private keys должны храниться в KMS/HSM с минимальными правами доступа, регулярной ротацией и обязательным аудитом операций с ключами.

    Как работает TLS 1.3 (упрощенно)

    Шаги не запущены
    Handshake messagesECDHE + HKDF key scheduleEncrypted application traffic
    ClientServerClientHellocipher suites, key share, randomServerHello + Certificateselected params, cert chain, signatureShared Secret DerivationECDHE -> HKDF -> session keysFinished Messagesverify handshake transcriptEncrypted Application Data

    До завершения handshake стороны договариваются о параметрах и ключах, после Finished приложение работает через защищённый канал.

    Нажмите Start визуализации, чтобы пройти TLS 1.3 handshake по шагам.

    TLS 1.3 убрал устаревшие механизмы и ускорил handshake при сохранении security guarantees.

    Даже идеальный TLS не решает бизнес-авторизацию: AuthZ должен быть отдельным слоем.

    Типичные ошибки

    • Считать, что 'HTTPS включен' автоматически закрывает все риски: TLS закрывает канал, но не заменяет AuthN/AuthZ.
    • Длинноживущие сертификаты и ключи без ротации.
    • Игнорирование проверки certificate chain и hostname.
    • Хранение private keys в plain text на хостах без KMS/HSM и контроля доступа.
    • Одинаковые ключи для разных сред (dev/stage/prod).
    • Отсутствие мониторинга expiry и процедур аварийного key revoke.

    Связанные главы