2010-11-11 13 views
5

¿Cómo se puede asegurar partes de una solicitud HTTP, digamos su ID de sesión? Sé que puede usar HTTPS, pero luego sus servidores deben descifrar toda la solicitud. ¿No sería ideal cifrar solamente las partes requeridas de una solicitud?¿Asegurando partes de una solicitud HTTP?

¿Hay marcos o recursos que le permitan o le informen cómo hacerlo?

Respuesta

10

HTTPS es la herramienta correcta para usar. La carga computacional de descifrado de los paquetes es muy baja. Google cambió a HTTPS por defecto para la totalidad de GMail a principios de este año, e informan que la carga de la CPU en sus servidores para el cifrado/descifrado SSL es de alrededor del 1%.

Si solo encriptas parte de la transmisión, entonces aún tienes el problema de los ataques man-in-the-middle y replay. SSL es la única forma de prevenir esto. Realmente no importa si la ID de sesión está encriptada. Si un hombre en el medio puede capturarlo, puede reutilizarlo en su forma encriptada, y el servidor no sabría la diferencia.

Here's a blog post sobre la experiencia de Google desde el cambio de GMail a 100% SSL.

+0

[Lectura adicional en el Blog de seguridad en línea de Google] (http://googleonlinesecurity.blogspot.com/2009/06/https-security-for-web-applications.html). – alex

3

HTTPS es todo o nada. Si no todos los elementos en una página están protegidos con HTTPS, los usuarios obtendrán un "bloqueo roto" en la esquina superior izquierda. Esto se debe a que un atacante podría usar esto para inyectar un ataque similar a xss y obtener el valor document.cookie.

Más aún si se envía 1 solicitud con un ID de sesión, entonces un atacante puede obtener el valor y autenticarse como usted.