¿Cuánto cuesta una solicitud GET a través de HTTPS revelar a un espía?

6

Corríjame si me equivoco, según HTTP v1.1, una simple solicitud CONECTAR inicia un túnel SSL entre el servidor y un cliente. Es solo después de que se crea el túnel que se envía la solicitud GET o POST completa. Lo que se envía inicialmente es una versión simplificada de una solicitud GET / POST para iniciar el SSL.

Cuando se inicia el SSL, como yo sepa, un evesdropper solo puede ver la IP de destino, la IP de origen y el PORT en el paquete TCP / IP. Todo lo demás está encriptado. Por favor, corrígeme otra vez, si tengo una idea equivocada acerca de la misma. Esto es simplemente un conjunto de información recopilada para la que necesito confirmación.

Si lo que he dicho hasta ahora es correcto,

llamando a la URL: www.websiteurl.com?username=name&password=PASSWORD

Debería ser perfectamente seguro siempre y cuando solo se trate de una persona que escucha los paquetes que viajan entre el servidor y el cliente. Sé que dado que las URL se registran en cualquier parte de la computadora local, puede ser peligroso. No estoy planeando implementar un sistema con este conocimiento, pero necesito confirmar si sé lo que sé correctamente.

¿Entonces sería seguro enviar información confidencial a través de GET cuando se usa HTTPS después de que la sesión SSL se inicia con el servidor?

Es posible que esta pregunta no tenga una implementación práctica, ya que no es necesario enviar información confidencial a través de las URL.

    
pregunta Dina 30.10.2014 - 09:52
fuente

3 respuestas

7
  

Corríjame si me equivoco, según HTTP v1.1, una simple solicitud CONECTAR inicia un túnel SSL entre el servidor y un cliente. Es solo después de que se crea el túnel que se envía la solicitud GET o POST completa.

No, esto no es una CONEXIÓN HTTP, es una solicitud de conexión TCP. El método HTTP CONNECT solo se utiliza si se conecta a través de un proxy HTTP y el navegador del cliente no confía en el certificado del servidor proxy. Esto hará que las solicitudes futuras viajen a través del proxy como datos SSL puros (encriptados), en lugar de como solicitudes HTTP (descifradas en el proxy y luego se vuelven a cifrar para el viaje de destino).

  

Cuando se inicia el SSL, como yo sepa, un evesdropper solo puede ver la IP de destino, la IP de origen y el PORT en el paquete TCP / IP. Todo lo demás está encriptado. por favor, corrígeme otra vez

Casi. Pueden ver los puertos de origen y destino y las IP, y si SNI es habilitados pueden ver el nombre de dominio de destino.

  

¿Entonces sería seguro enviar información confidencial a través de GET cuando se usa HTTPS después de que la sesión SSL se inicia con el servidor?

Sí, para estos fines. Un MITM no vería la ruta ni los parámetros de la cadena de consulta en la URL, aunque como usted lo menciona es fácil que estos se filtren en lugares como el historial del navegador, los registros de cualquier servidor proxy de confianza (por ejemplo, un proxy en un entorno corporativo en el que confíe la máquina cliente) o posiblemente en el encabezado referer .

    
respondido por el SilverlightFox 30.10.2014 - 10:32
fuente
3
  

de acuerdo con HTTP v1.1, una simple solicitud CONECTAR inicia un túnel SSL entre el servidor y un cliente.

Realmente no es correcto. CONNECT solo se utiliza junto con proxies. E incluso entonces solo establece un túnel directamente al otro lado, pero aún no el túnel SSL. El túnel SSL es con y sin proxy solo establecido con el protocolo de enlace SSL entre ambas partes.

  

Cuando se inicia el SSL, como yo sepa, un evesdropper solo puede ver la IP de destino, la IP de origen y el PORT en el paquete TCP / IP.

También puede ver el nombre de host solicitado en la mayoría de los casos, porque todos los navegadores modernos usan SNI (indicación del nombre del servidor) para proporcionar soporte para múltiples certificados detrás de la misma IP. E incluso sin esto, puede ver el certificado del servidor, que generalmente incluye el nombre de host solicitado (pero también puede haber otros nombres en el interior). El intruso también puede ver que es SSL, qué sistemas de cifrado se utilizan, qué versión de protocolo se habla, etc.

Pero no puede ver la URL completa o cualquier otra información de la solicitud, como cookies, etc.

  

¿Entonces sería seguro enviar información confidencial a través de GET cuando se usa HTTPS después de que la sesión SSL se inicia con el servidor?

Si la información confidencial no se encuentra en el nombre de host, sino en la ruta o cadena de consulta o la carga útil de una solicitud POST, entonces TLS es suficiente.

    
respondido por el Steffen Ullrich 30.10.2014 - 10:26
fuente
1

Es posible que ya se haya respondido, pero, en un entorno normal (por ejemplo, en casa), solo vería el protocolo TCP y el protocolo SSL entre el servidor y OCS (servidor de contenido original) o servidor web. Solo si está en una configuración de proxy explícita, vería la solicitud HTTP CONNECT, pero eso sería desde el host al proxy. El proxy entonces interceptaría el tráfico. Entonces verías el protocolo de enlace SSL entre el host y el proxy y nada más.

    
respondido por el Asger 26.09.2015 - 15:42
fuente

Lea otras preguntas en las etiquetas