up 0 down

Насколько я знаю, HTTPS прокси-сервер работает на следующей диаграмме (дайте мне знать, если я понимаю неправильно, пожалуйста),

Browser                        Proxy                        Server
   |                             |                             |
   | <----- TCP handshake -----> |                             |
   |                             |                             |
   | ------ HTTP connect  -----> |                             |
   |                             | <---> TCP handshake         |
   | <-----    200 OK     ------ |                             |
   |                             |                             |
   | ---- SSL Client Hello ----> |                             |
   |                             | ----> SSL Client Hello      |
   | <-- Server Hello & Cert --- |                             |
   |                             | <---- Server Hello & Cert   |
   | --- Client Key Exchange --> |                             |
   |                             | ----> Client Key Exchange   |
   |                             |                             |
   | <= SSL Record (HTTP GET) => | <===>                       |
   |                             |                             |

До пересылки SSL защищенных данных, сообщения между браузером и прокси открытым текстом. Есть еще некоторая важная информация, как имя домена, SNI и т.д., которые видны человеку в середине. Существуют ли какие-либо способы, чтобы скрыть их?

Например, в том, что можно иметь браузер установить соединение SSL перед отправкой HTTP подключения? Конечно, есть некоторые технические препятствия, например, это приведет к B-S SSL, встроенный в B-P SSL (может быть уменьшен путем изменения Cipher на NULL шифра?). Но независимо от того, если сообщения между браузером и прокси-сервера были обеспечены, было бы гораздо проще создать вблизи клиента менее SSLVPN, чтобы избежать текущую уродливую перезапись URL, которые обычно используются в L7 SSL VPN. Пожалуйста, поделитесь своим мнением. Спасибо.