Cómo probar que un servidor envió algún archivo a través de HTTPS

7

Quiero probar que algún archivo que recuperé usando HTTPS fue enviado por el servidor. Intenté buscar en línea, pero no encontré lo que buscaba. querer.

¿Cómo probar fácilmente que algún servidor HTTPS envió algún archivo? Debería No requiere permisos especiales y, preferiblemente, debe hacerse con solo Conocido software libre. La prueba debe ser válida siempre que la el certificado del servidor es valido La prueba debe poder ser validado sin acceso a internet.

Un ejemplo es que el contenido de una página web depende de la Ubicación geográfica del cliente. Es algo gracioso cuando Solicitado a mi dirección IP como este uno . Quiero mostrarlo a otra persona. Si yo Dale el enlace, no recibirá la misma página. Si le doy la pagina recuperado de mi computadora, él pensará que he cambiado la página. Afortunadamente, la página se recupera del servidor mediante HTTPS. Si La conexión utiliza un algoritmo de intercambio de claves en el que el servidor firma. los bytes aleatorios en ClientHello y ServerHello, puedo mostrarle el tráfico entre el servidor y mi computadora. Entonces él creerá que es de hecho ese servidor que me ha enviado la página, porque solo un servidor que tiene la clave privada para el certificado puede firmar los bytes aleatorios.

O cómo probar fácilmente la autenticidad de un servidor SSL a alguien si no?

    
pregunta v7d8dpo4 23.11.2016 - 12:04
fuente

3 respuestas

3

Supongo que desea una prueba criptográfica de que el servidor realmente envió esta respuesta exacta. Si el servidor firmó la respuesta TLS con la clave privada, por ejemplo, esto daría una prueba de que el servidor realmente envió esta respuesta.

Lamentablemente, esto no es lo que sucede con TLS. El servidor firma algo (el mensaje ServerKeyExchange) o el cliente cifra algo (el secreto del premaster) para probar que el servidor conoce la clave privada. Después de eso, el secreto maestro está determinado por el cliente y el servidor y utilizan el cifrado simétrico para la comunicación. Puede guardar esto para mostrárselo a otra persona más tarde, pero también puede descifrarlo y cambiarlo, por lo que no sería mucha evidencia de que sea realmente lo que recibió del servidor.

    
respondido por el Sjoerd 29.11.2016 - 22:11
fuente
2

Parece que estás buscando una manera de proteger y probar la integridad y autenticidad de los archivos. Básicamente, si SSL funciona correctamente, su integridad debe estar bien y la autenticidad es tan buena como la que usted confía en el servidor remoto.

Por otro lado, solo puede firmar archivo y verificar la firma localmente.

    
respondido por el Eugene 23.11.2016 - 15:34
fuente
0

Según el ejemplo que dio, puede ser más fácil hacer que la otra persona se conecte a su computadora (a través de webex o alguna alternativa de código abierto) y verlo allí o hacer que la otra persona se conecte a través de una VPN cerca de su ubicación y luego navegar a la página web.

Si desea seguir la ruta de verificación del tráfico, puede usar algo como wireshark para registrar el tráfico entre su computadora y el servidor, descifrar el tráfico, luego extraer los archivos que está buscando y compararlos con lo que Usted guardó el hashing de los dos archivos. Supongo que el hash puede no funcionar debido a las diferencias entre guardar una página web en un navegador y cortar un archivo de wirehark

    
respondido por el D. Stephens 23.11.2016 - 19:49
fuente

Lea otras preguntas en las etiquetas