Есть сервер, есть клиент. У сервера приватный ключ и публичный к нему. Сервер кидает публичный ключ клиенту по незашифрованному каналу связи, клиент получает, шифрует им своё сообщение, передаёт серверу. Сервер приватный ключом расшифровывает. Так? А вот как обратно сервер отправляет ответ, если публичным ключом, как я понимаю, он не может зашифровать сообщение, да и зачем, ведь его перехватили уже все кому не лень, он ведь пересылался по открытому каналу связи. Объясните, пожалуйста.
На ум приходит только ситуация когда новый приватный ключ будет у клиента и он сгенерирует новый публичный ключ под него. То бишь, новая пара приватного/публичного ключей, только теперь у клиента приватный и он будет кидать серверу публичный. Неужели HTTPS так и работает c двумя парами ключей, по приватному и у клиента, и у сервера? Ведь информацию нужно гонять в обе стороны.
Неужели HTTPS так и работает c двумя парами ключей, по приватному и у клиента, и у сервера?
Разумеется. Погуглить асимметричную криптографию никак? Где на пальцах, то есть на примере Алисы и Боба разбирается, как она работает и почему она до сих пор работает :)
(И собственно, почему сейчас наши и не наши законодатели ломают свои и чужие головы над вопросом - как заполучать сессионный ключ юзера, чтобы расшифровывать трафик?)