Вопрос, на который отвечает прямая секретность

Представьте, что злоумышленник записывает ваш зашифрованный трафик сегодня и хранит его. Месяцы спустя он получает долгосрочный закрытый ключ сервера — возможно, через взлом или судебный приказ. Может ли он теперь вернуться и расшифровать перехваченный трафик?

Если ответ нет, у соединения была прямая секретность, иногда называемая совершенной прямой секретностью. Если ответ да, её не было. Разница целиком сводится к обмену ключами, названному в наборе шифров, и поэтому это одна из первых вещей, о которых сообщает декодер.

Статический RSA: удобный и хрупкий

В старом статическом обмене ключами клиент выбирает секрет, который защитит сессию, шифрует его открытым ключом сервера из его сертификата и отправляет. Только закрытый ключ сервера может его расшифровать, поэтому сессия в данный момент закрыта от подслушивающих.

Роковое свойство в том, что секрет сессии был защищён долгосрочным ключом сервера. Если этот ключ когда-нибудь утечёт, каждую прошлую сессию, использовавшую его, можно развернуть из записи, потому что зашифрованный секрет лежит прямо там, в перехваченном рукопожатии. Одна компрометация ключа задним числом ломает каждый разговор, который он когда-либо защищал. Наборы, начинающиеся с TLS_RSA_WITH_, работают так, и декодер помечает их как лишённые прямой секретности.

Эфемерный Диффи-Хеллман: решение

Эфемерный Диффи-Хеллман разрывает связь между секретом сессии и любым долгосрочным ключом. Для каждого соединения обе стороны генерируют свежие, одноразовые пары ключей Диффи-Хеллмана, обмениваются открытыми половинами, и каждая сочетает свою закрытую половину с открытой половиной другой, чтобы прийти к одному и тому же общему секрету. Закрытые половины никогда не покидают своих машин и отбрасываются по завершении соединения.

Поскольку общий секрет никогда не шифровался под долгосрочным ключом сервера, а эфемерных закрытых ключей больше не существует, более поздняя компрометация долгосрочного ключа ничего не раскрывает о прошлых сессиях. В записи попросту нечего разворачивать.

Вы увидите это как ECDHE, эфемерный эллиптический Диффи-Хеллман, или DHE, более старый вариант над конечным полем. быстрее и является современным выбором по умолчанию; выводится из обращения, и поэтому даже сильный набор DHE- вроде TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 теперь несёт пометку не советуется. Статические, неэфемерные родственники ECDH и DH, без завершающей E, не дают прямой секретности.

Аутентификация — отдельная задача

Частое заблуждение — думать, что удаление статического RSA означает удаление RSA. Это не так. Обмен ключами и аутентификация — две разные задачи, и имя набора перечисляет их отдельно.

В TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE выполняет обмен ключами, а RSA — аутентификацию: сервер подписывает эфемерные значения рукопожатия закрытым ключом, стоящим за его сертификатом RSA, доказывая, что он законный владелец. Секрет сессии происходит из эфемерного обмена Диффи-Хеллмана, поэтому прямая секретность сохраняется, тогда как сертификат всё ещё доказывает личность. Статья об анатомии сертификата рассматривает, как работает эта привязка личности.

Почему TLS 1.3 сделал её обязательной

TLS 1.3 закрыл вопрос, удалив статический транспорт ключа RSA полностью. Каждый обмен ключами в TLS 1.3 эфемерен, поэтому прямая секретность больше не является чем-то, что нужно выбирать, подбирая правильный набор; её гарантирует протокол. RSA и остаются лишь как алгоритмы подписи для аутентификации. Именно поэтому имя набора TLS 1.3 вообще не имеет токена обмена ключами: больше нет варианта без прямой секретности, который можно было бы назвать.

Собирай сейчас, расшифруй позже

Прямая секретность защищает от компрометации ключа, происходящей задним числом, но предполагает, что лежащая в основе математика Диффи-Хеллмана остаётся трудной. Надвигающаяся тревога — будущий квантовый компьютер, способный взломать сегодняшние обмены ключами на эллиптических кривых, что даёт записанному трафику долгий срок годности для злоумышленника, готового подождать. Это угроза собирай сейчас, расшифруй позже, и она подталкивает переход к гибридным постквантовым обменам ключами, выполняющим классический и квантово-устойчивый обмен вместе. Прямая секретность остаётся необходимой; она лишь перестала считаться достаточной навсегда.