jueves, 18 de julio de 2013

Seguridad PHP - Autenticación HTTP vs PHP (formularios)

Aunque puedan haber ventajas con el uso de autenticación HTTP, sus desventajas hacen que en la mayoría de los caso se opte por una identificación basada en formularios. En vez de confiar en la identificación a nivel de protocolo. Aquí tenemos algunos inconvenientes:

- La nula posibilidad de 'customizar' que proporciona las ventanas emergentes de identificación HTTP. Las ventanas donde se introducen los datos en este tipo de identificación no permiten modificar su estilo. Lo que hace que tengan un estilo completamente diferente al del resto de la aplicación. Y eso quita atractivo a la aplicación/página web.

- En la autenticación HTTP la información de identificación es recordada hasta que se cierra el navegador. Si no se cierra el navegador seguirá recordando tus datos por lo que no los pedirá. Ya que no proporciona un método sencillo para que el usuario finalice la sesión. Por lo que hay que utilizar algún que otro 'truco'.
La consecuencia de esto es que si otra persona intenta entrar en el sitio web podrá entrar haciéndose pasar por ti, ya que no se le solicitaría ningún tipo de credenciales.

- Implementación deficiente en navegadores antiguos.

- Al final el uso de autenticación HTTP digest no es tan segura como puede parecer. El uso de MD5 hace que por fuerza bruta la información se pueda revertir. Aunque sigue siendo mejor que la autenticación HTTP básica. Pero sigue siendo susceptible a ataques “man in the middle”: Un atacante puede interceptar mensajes entre cliente y servidor, y modificarlos sin que ninguna de las dos partes sepa que ha habido una violación en la seguridad.

Aunque este último punto no es el más determinante a la hora de elegir el método tradicional de autentificación mediante PHP y formularios o autenticación HTTP. Ya que sin el uso del protocolo HTTPS, como veremos,  la información viajará de los formularios al servidor en texto plano. Por lo que la seguridad en caso de nos intercepten la comunicación también es nula.

En otros tutoriales se van a presentar algunas medidas para prevenir ataques en la seguridad en una aplicación web. Estos ataques pueden iniciarse en la introducción de datos en formularios o en la comunicación entre el servidor y el cliente.


Entradas relacionadas

Seguridad PHP - Autenticación HTTP básica
Seguridad PHP - Autenticación HTTP digest

No hay comentarios:

Publicar un comentario