La única forma en que un proxy puede actuar como un intermediario (asumiendo que el cliente y el servidor implementan correctamente una versión no rota del protocolo SSL / TLS, y que las autoridades de certificación hacen su trabajo correctamente ) es si su navegador confía en el proxy. Esto se debe a que al inicio de la conexión, el cliente valida que el otro extremo tenga un certificado válido generado por una autoridad de certificación reconocida.
Puede haber un proxy entre el cliente y el servidor. Esto es común en las redes empresariales, por ejemplo, que a menudo no tienen una conexión directa entre los hosts internos e Internet. Pero el proxy solo puede intercambiar bytes de ida y vuelta. No puede saber, y mucho menos modificar, el contenido. Puede saber a qué dirección IP se está conectando, pero no a qué URL está navegando.
Entonces, ¿qué puede salir mal? Si su navegador reconoce una CA que está dispuesta a firmar que proxy.example.com
es el servidor al que el cliente intenta conectarse, entonces proxy.example.com
puede establecer su propia conexión con el servidor, y la conexión del cliente puede redirigirse de forma visible o transparente al proxy. Entonces el proxy es un hombre en el medio.
Algunas redes empresariales configuran a todos los clientes para que confíen en la propia autoridad de certificación de la empresa e imponen un proxy que reescribe todas las conexiones SSL. El cliente ve que cada sitio tiene un certificado firmado por la CA de la empresa. Como todos los certificados tienen una firma válida, no lo notará en el uso diario. La forma de averiguar si esto está sucediendo (suponiendo que el navegador no haya sido alterado, solo su lista de certificados) es verificar quién firmó un certificado en particular, o buscar en la lista de autoridades de certificados de confianza.