Я в классе infosec, и я наткнулся на эту концепцию в Интернете, и это заинтриговало меня. Я также рассмотрел несколько веб-сайтов и википедию, которые объясняют концепцию, а также несколько сообщений о stackoverflow, но я все еще запутался. Из того, что я понимаю, в типичном обмене открытым ключом HTTPS, браузер и сервер объединяются с ключами для создания ключа сеанса... если кто-то когда-либо получал закрытый ключ, который выводил ключ сеанса, они могли видеть все данные, которые было отправлено между этой связью, даже в прошлом.
Я понимаю, что с PFS "сеансовый ключ" никогда не отправляется даже в зашифрованном виде. Он хранится в секрете, так что даже если кто-то найдет закрытый ключ, они не смогут получить доступ к зашифрованной записанной информации из прошлого. Правильно ли это?
Мне также интересно, если я принимаю участие в обмене PFS, позвоните мне "A", с сервером "B", PFS должен работать с тем фактом, что если мой ключ станет скомпрометированным, A и B-разговор не станет скомпрометированы, потому что они не знают ключ сеанса. Но как "B" аутентифицирует меня как "A", если мой ключ фактически стал скомпрометированным... например. как бы он знал разницу между мной (A) или другим пользователем (C), используя мой ключ, пытающийся получить доступ к данным.