Blindar URL's en aplicaciones web.

Juan Carlos Rodrigo jrodrigog en gmail.com
Sab Sep 23 00:08:03 CEST 2006


> ¿Porque no serviría un hash de comprobación?

Un hash firmado con clave asimetrica... funcionaria perfectamente:

servidor --- Firma con Privada    --> usuario 
servidor <-- Comprueba con Publica -- usuario
 
> Lo de cifrar el "query" de la url, tabien está bien, lo que pasa
> es que dificulta la depuración del cgi cuando este está ya en producción.

Cifrar (opcional) la query es el paso anterior a firmar los datos,
si encriptas la query tienes que hacerlo con un algoritmo
simetrico y has de enviar la clave del algoritmo simetrico,
encriptada con una clave asimetrica, en el URL encriptado.
Sobre lo de la depuracion... El objeto que genera el QueryString
se deberia comportar como un (ver cgi.FieldStorage) diccionario.
Tras leer el QueryString genera un diccionario... Por tanto el
debug se limita a un print, nada mas cargar... y antes de generar
los QueryString encriptados, no tienes porque mirar el URL, la verdad.

[Datos_RC4,RC4_Clave_RSA,Firma_RSA]

Eso seria muy, muy seguro.

El problema esta en que Python no trae nada built-in ni para
encriptar de manera simetrica ni asimetrica...

Solo tiene hashing y el hashing NO es una firma.




Más información sobre la lista de distribución Python-es