Seguridad de acceso en PHP (I). Contraseñas reversibles.

Es muy normal, cuando desarrollamos una aplicación en PHP, establecer un sistema de logueo de tal modo que sólo los usuarios registrados puedan acceder a dicha aplicación, o a una parte de ella. Por ejemplo, en un foro, un visitante anónimo podrá ver los mensajes que haya, pero necesitará ser usuario registrado y loguearse para postear mensajes o responder a los de otros. La legislación vigente en España (y en otros paises) establece que las contraseñas de los usuarios deben ser almacenadas en la base de datos codificadas, de modo que, ante un posible ataque con robo de información, el atacante no pueda identificar esas contraseñas. La ley prohibe expresamente que las contraseñas se almacenen directamente como las teclea el usuario.

Seguridad de acceso en PHP (II). Contraseñas no reversibles.

En el artículo anterior vimos cómo crear un algoritmo de codificación reversible de las contraseñas. El sistema es suficiente en muchos casos, pero no en aquellas aplicaciones que manejen datos especialmente sensibles o delicados, como la posibilidad de hacer movimientos en una cuenta bancaria, o gestionar trámites con las administraciones públicas. En esos casos, la seguridad debe ser mayor, lo que nos lleva a encriptación no reversible.