Para que un probable agresor no le quede tan fácil averiguar las contraseñas, éstas deben ser lo más largas y complejas posible. Ambos aspectos pueden conllevar que sean difíciles de recordar para el usuario, a no ser que utilice alguna solución intermedia, como el “passphrase”.
En la práctica, cuanto mayor sea la longitud de la contraseña, menor es la probabilidad de que los ataques “por fuerza bruta”(*) tengan éxito. Por ejemplo, si utilizáramos sólo números, una contraseña de dos dígitos permitiría 100 combinaciones, mientras que una de 8 dígitos de longitud aumentaría el número de combinaciones a probar a 100 millones. En ambos casos, el número de posibles combinaciones no es muy elevado, si tenemos en cuenta que es posible automatizar los ataques. Por ello, siempre es recomendable aumentar los caracteres utilizados, incluyendo combinaciones de letras, números y signos especiales.
Siguiendo la recomendación anterior, utilizando letras minúsculas y dígitos podemos construir una contraseña de 8 dígitos que permite 400 millones de combinaciones posibles. En un hipotético ataque por fuerza bruta, si estimamos que se necesita 1 hora de proceso para probar todas las combinaciones de una contraseña de 8 dígitos, para hacer lo mismo con la contraseña de la misma longitud que utiliza letras minúsculas y dígitos serían necesarias 65.536 horas.
Además de la longitud y del juego de caracteres utilizados, en la Criptografía formal existen otras características a tener en cuenta como la Entropía, que podríamos resumir como la complejidad de la misma. Así, por ejemplo, es más segura la contraseña “4zJsM9h-f%” que la contraseña “camilo24”, además la segunda es más fácil de averiguar basándose en ataques por diccionario(*).
La elección de contraseñas que encierren cierta complejidad hacen que sea complicado recordarlas y terminen por resultar poco prácticas para los usuarios. Por ello, algunas personas optan por una solución intermedia:
Evitan la complejidad y a cambio aumentan la longitud, es lo que se denomina “passphrase”, es decir, el uso de frases como contraseñas (como, por ejemplo, “Me gusta tomar 1 Café en la Calle 32″… “Mgt1Celc32”). Aunque desde un punto de vista formal estas contraseñas no tienen una entropía adecuada, a efectos prácticos las frases contraseñas son fáciles de recordar y su longitud las hace bastante eficaces contra las técnicas de ataque más usuales.
(*) Información adicional
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, mientras que 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.
Fuente Original: Oxygen3 24h-365d, por Panda Software (http://www.pandasoftware.es)