В основном, когда вы делаете SSL-соединения с прокси, вы подключаетесь к прокси и используете что-то вроде HTTP-глагола CONNECT
, который просто просит прокси подключиться к удаленному хосту на указанном порту. В этот момент вы не в безопасности; Вы можете предположить, что прокси слушает разговор. Затем вы запускаете зашифрованный сеанс с удаленным хостом, используя открытый ключ этого хоста, или, скорее, удаленный хост использует свой закрытый ключ, который можно проверить по его открытому ключу, не доверяя прокси-серверу. Алгоритм рукопожатия таков, что прокси-сервер не может видеть, что находится внутри зашифрованного канала (поскольку они не знают ключей сеанса, которые каждая сторона выбрала как часть протокола SSL). Все, что может сделать прокси-сервер, - это ввести случайно обнаруживаемый шум или вызвать разрыв соединения; они могут совершать атаки типа «отказ в обслуживании», но не могут влиять на целостность или секретность любой передаваемой информации.
В этом прелесть использования надлежащего крипто-протокола, такого как SSL.