Pregunta

Estoy desarrollando una aplicación cliente/servidor que se comunicará mediante reposo.Algunos datos de la solicitud personalizada se almacenarán en el encabezado de la solicitud.Tanto el servidor que envía la solicitud como el servidor que lo recibe tienen un certificado SSL: ¿se cifrarán los encabezados o solo el contenido?

¿Fue útil?

Solución

SSL cifra toda la ruta de comunicación desde el cliente al servidor y viceversa, así que sí, los encabezados se cifrarán.

Por cierto, si desarrolla aplicaciones en red y se preocupa por la seguridad de los datos, lo mínimo que debe hacer es leer un libro como Practical Cryptography, de Niels Ferguson y Bruce Schneier, y probablemente sería una buena idea seguir leyendo más centrado en la seguridad de las aplicaciones web. idea.Si se me permite hacer una observación (y, por favor, no lo digo como una crítica personal), su pregunta indica una falta fundamental de comprensión de tecnologías de seguridad web muy básicas, y eso nunca es una buena señal.

Además, nunca es mala idea confirmar que los datos que se supone que están cifrados lo están.Puede utilizar un analizador de red para monitorear el tráfico en el cable y estar atento a cualquier cosa sensible que se envíe de forma clara.He usado Wireshark para hacer esto antes; a veces, los resultados pueden ser sorprendentes.

Otros consejos

Mientras te comuniques en el túnel SSL, todo lo que se envíe entre el servidor y el cliente estará encriptado.El cifrado se realiza antes de enviar o recibir datos.

Tanto los encabezados como el contenido están cifrados.

Parece pensar que REST es un protocolo distinto.

REST no es un protocolo.Es un estilo de diseño para aplicaciones basadas en HTTP.

Entonces, estás escribiendo una aplicación HTTP.¿Están cifrados los encabezados?Sí, si está utilizando el protocolo HTTPS (HTTP sobre SSL) en lugar de HTTP simple.

Tener certificados en ambos lados no es directamente relevante para su pregunta.Los certificados SSL se utilizan para la autenticación.Ayudan a detectar ataques de intermediario, como los que son posibles mediante el envenenamiento de la caché de DNS.

Tener un certificado no es suficiente, hay que configurar el servidor web para cifrar las conexiones (es decir, usar el certificado) para ese dominio o host virtual.Además, creo que solo necesitaría un certificado único; las respuestas a las solicitudes seguirán estando cifradas.

Y sí, los encabezados HTTP están cifrados al igual que los datos.

SSL... o más bien HTTPS (HTTP sobre SSL) envía todo el contenido HTTP a través de SSL y, como el contenido HTTP y los encabezados son, de hecho, lo mismo, esto significa que los encabezados también están cifrados.Dado que los datos GET y POST se envían a través de encabezados HTTP, entonces solo tiene sentido cuando se envían datos de forma segura, no solo querrá que el código de respuesta o el contenido estén encriptados.

Las otras respuestas son correctas en cuanto a que los encabezados están encriptados, junto con el cuerpo, cuando se usa SSL.Pero tenga en cuenta que la URL, que puede incluir parámetros de consulta, es nunca cifrado.Así que tenga cuidado de no incluir nunca información confidencial en los parámetros de consulta de URL.

Actualizar: como @blowdart señaló a continuación, esto está mal.Vea el comentario a continuación.

No todo está cifrado:la cadena de consulta de solicitud no está cifrada.Créame, he visto solicitudes como esta:

https://midominio.com/authenticate?user=nombre de usuario&contraseña=MyStrongPasswordSentInTheClear

No incluya datos confidenciales como parámetros en la cadena de consulta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top