La creación y uso de contraseñas en forma segura

14 Oct 2004 en Seguridad

En Internet, las contraseñas se han convertido en la fórmula de identificación por excelencia. Gracias a ellas podemos demostrar ante un sistema quiénes somos e impedir el acceso indiscriminado de otros usuarios. Sin embargo, estamos expuestos a que un tercero pueda robar o averiguar las contraseñas y se haga pasar por nosotros asumiendo nuestra identidad digital.

Entre las técnicas más empleadas para averiguar contraseñas en los sistemas de autenticación se encuentran los denominados “ataques por diccionario” y “ataques por fuerza bruta”. Para realizarlos con ciertas posibilidades de éxito es necesario conocer el nombre de usuario de una determinada cuenta, lo que en muchas ocasiones es muy sencillo ya que corresponde a valores por defecto (como “root”, “administrator” o “admin.”).

El ataque por diccionario consiste en, dado un nombre de usuario, ir probando contraseñas que se extraen de un listado. Esta operación suele realizarse de forma automática mediante un programa destinado a tal fin, y como fuente de las contraseñas a probar suelen emplearse las entradas de diccionarios reales, ya que muchos usuarios utilizan palabras comunes.

El ataque por fuerza bruta es muy similar al anteriormente mencionado, aunque en vez de utilizar un listado delimitado emplea todas las combinaciones posibles de caracteres. Este tipo de ataques suele ser efectivo cuando la longitud de la contraseña es pequeña, ya que el número de combinaciones posibles a probar es exponencial a la longitud de la misma.

Muchos de los referidos ataques se dirigen a cuentas con máximos privilegios, aprovechando que el sistema utiliza un nombre de usuario conocido por defecto. Así, por ejemplo, en plataformas Windows tenemos al usuario “administrador” (“administrator” en versiones en inglés), que suele ser el objetivo más preciado. Una buena práctica de seguridad es modificar el nombre de usuario de esta cuenta por uno menos obvio y conocido. Adicionalmente, puede dejarse una cuenta señuelo con el nombre por defecto (“administrador”), con mínimos privilegios y una contraseña muy complicada. De esta forma, la cuenta real del administrador estará protegida y al mismo tiempo podremos detectar cualquier intento de ataque, mediante las opciones de auditoría de cuentas de usuario de Windows que permiten registrar los intentos fallidos.

Cómo crear y utilizar contraseñas de forma segura

Una de las reglas fundamentales a la hora de elegir una buena contraseña se basa en su longitud y en la variedad de los caracteres que la componen, ya que cuanto mayor sea su tamaño y más heterogéneos los elementos que la integran más difícil será que la adivine un atacante. Una buena práctica consiste en crear contraseñas de al menos 8 caracteres de longitud, compuesta por letras, dígitos y símbolos especiales (un ejemplo podría ser “ke8_JW.@”).

Si bien la construcción de una contraseña segura no resulta complicada, existen tantas aplicaciones y servicios que las requieren que puede llegar a ser difícil recordar todas y cada una de las empleadas en cada ocasión, y más si se tiene en cuenta que por su diseño no son series de números o palabras comunes fáciles de recordar.

Hay usuarios que optan por utilizar la misma contraseña para varias de sus aplicaciones y servicios, evitando así tener que recordar varias contraseñas diferentes. Esta forma de proceder aumenta el riesgo de que un atacante robe su identidad digital, ya que en cada una de las aplicaciones y servicios la contraseña puede ser almacenada de diferentes formas y estar más o menos expuesta ante terceros. Así, por ejemplo, si empleamos la misma contraseña para acceder al ordenador, al buzón de correo web y a la banca electrónica, y un atacante consigue la contraseña de nuestro ordenador podrá leer nuestro correo y realizar transacciones en nuestro nombre. Por tal motivo, es conveniente utilizar diferentes contraseñas, especialmente en aquellos servicios que contienen información confidencial (como ocurre con la banca electrónica), y sólo emplear contraseñas fáciles y comunes para servicios menos comprometidos (como, por ejemplo, la cuenta para leer el periódico on-line).

Frente a los métodos tradicionales se encuentran los certificados digitales, siendo los más conocidos por los usuarios los que se hallan en los servidores web seguros -como la banca electrónica- y permiten establecer conexiones cifradas a través del protocolo HTTPS. Los certificados digitales para clientes son similares pero, en este caso, permiten verificar la identidad del usuario, añadiendo una capa adicional de seguridad a los sistemas basados únicamente en contraseñas.

En la actualidad, ya son varias las entidades bancarias que están emitiendo certificados digitales para sus clientes. En concreto, les proporcionan un certificado que deben instalar en su PC, impidiendo así a un atacante acceder desde otro ordenador, aunque robe su contraseña de acceso. Para los usuarios móviles, que no siempre se conectan desde un PC determinado, también están distribuyéndose certificados digitales almacenados en llaves USB -del tamaño de una llave convencional-.