RSA безопасная передача публичного ключа
Всем привет, ребят! Помогите пожалуйста разобраться в этом:
Необходимо установить безопасное соединение клиента с сервером (java приложение)
МНЕ ЛИШЬ НУЖНО ПОНЯТЬ МОЖНО ЛИ И ЕСЛИ МОЖНО ТО КАК?
Как мне передать безопасно публичный ключ на сервер, чтобы пока он шел, никто не смог его подменить, и тем самым стать "посредником" который будет сделать и записывать все что проходит через сеть
Возьмём провайдера, для примера, то он по идеи, чисто физически может сделать так:
Клиент генерирует ключи, отправляет свой Публичный ключ на сервер, НО провайдер сохраняет этот ключ и создаёт свою пару ключей, а после, отправляет свой Публичный ключ на сервер
Сервер в свою очередь, отправляет обратно Клиенту что то, но когда это проходит через провайдера, то он расшифровывает то что прислал сервер, сохраняет, зашифровывает публичным ключем клиента и отправляет ему же...
Как быть в таком случае? Как избежать такой схемы?