El modelo de autenticación más básico consiste en decidir si un usuario
es quien dice ser simplemente basándonos en una prueba de conocimiento que
a priori sólo ese usuario puede superar; y desde Alí Babá y su
`Ábrete, Sésamo' hasta los más modernos sistemas Unix, esa prueba
de conocimiento no es más que una contraseña que en principio es secreta.
Evidentemente, esta aproximación es la más vulnerable a todo tipo de
ataques, pero también la más barata, por lo que se convierte en la
técnica más utilizada en entornos que no precisan de una alta seguridad,
como es el caso de los sistemas Unix en redes normales (y en general en todos
los
sistemas operativos en redes de seguridad media-baja); otros entornos en los
que se suele aplicar este modelo de autenticación son las aplicaciones que
requieren de alguna identificación de usuarios, como el software de
cifrado PGP o el escáner de seguridad NESSUS. También se
utiliza como complemento a otros mecanismos de autenticación, por ejemplo en
el caso del Número de Identificación Personal (PIN) a la hora de utilizar
cajeros automáticos.
En todos los esquemas de autenticación basados en contraseñas se cumple
el mismo protocolo: las entidades (generalmente dos) que participan en la
autenticación
acuerdan una clave, clave que han de mantener en secreto si desean que la
autenticación sea fiable. Cuando una de las partes desea autenticarse ante
otra se limita a mostrarle su conocimiento de esa clave común, y si ésta
es correcta se otorga el acceso a un recurso. Lo habitual es que existan unos
roles preestablecidos, con una entidad activa que desea autenticarse y otra
pasiva que admite o rechaza a la anterior (en el modelo del acceso a sistemas
Unix, tenemos al usuario y al sistema que le permite o niega la entrada).
Como hemos dicho, este esquema es muy frágil: basta con que una de las
partes no mantenga la contraseña en secreto para que toda la seguridad del
modelo se pierda; por ejemplo, si el usuario de una máquina Unix comparte
su clave con un tercero, o si ese tercero consigue leerla y rompe su cifrado
(por ejemplo, como veremos luego, mediante un ataque de diccionario),
automáticamente esa persona puede autenticarse ante el sistema con éxito
con la identidad de un usuario que no le corresponde.
En el punto 8.5 hablaremos con más detalle del uso de
contraseñas para el caso de la autenticación de usuarios en Unix.
© 2002 Antonio Villalón Huerta