Introducción a la seguridad informática y el análisis de vulnerabilidades
7.4. Fortalecimiento de contraseñas en los usuarios Cómo se ha analizado en apartados anteriores y como puede comprobarse con ejercicios de cracking de claves, el uso de contraseñas largas con combinaciones complejas de caracteres que incluyan mayúsculas, minúsculas, números y signos de puntuación o símbolos, hace muchísimo más improbable el éxito de un atacante a la hora de obtener las contraseñas de los usuarios, aunque lleguen a filtrarse los hashes de las mismas, sin embargo, estás pueden complicarse aún más mediante la técnica de salting, aunque existen distintas formas de aplicar esta técnica a las contraseñas, lo más habitual es que el sistema añada siempre una cadena de texto concreta a la contraseña definida por el usuario antes de calcular el Hash de forma que, si se usa md5 por ejemplo, el hash será igual a calcular el algoritmo para la contraseña seguida del hash. Se podría mostrar el proceso para la técnica del “salting” como muestra Figura 108.
Figura 108. Técnica del salting para la creación de contraseñas. Fuente: elaboración propia.
Según la Figura anterior, por ejemplo, si un usuario determinado pone una contraseña muy débil, en este caso “password” y una “sal=1$-A4f”, sin la técnica de salting se calcularía el hash md5 de la contraseña que daría este resultado “Hash = 5F4DCC3B5AA765D61D8327DEB882CF99”, mientras que, si se concatena la “sal”, el hash resultante cambia a “$salted_hash=MD5($c+$sal)”. Obviamente el hash resultante no es ni más ni menos complicado, pero se ha hecho que la contraseña pase de 8 a 14 caracteres incluyendo no sólo minúsculas cómo había puesto el usuario, sino que, además se ha añadido mayúsculas, números y símbolos. Un ataque por fuerza bruta sólo por el aumento de longitud tendrá pocas probabilidades de éxito y mediante diccionario la dificultad se ha disparado también. En estos casos la única posibilidad de tener un éxito razonable es que el atacante pueda saber si se está usando la técnica de salting o no y puede llegar a descubrir cuál es, sin embargo, si la “sal” empleada en todas las contraseñas que se cifran es siempre la misma, eventualmente el atacante podría por fuerza bruta conseguir averiguar dicha “sal” y generaría un ataque de diccionario o también de fuerza bruta convencional al que siempre se añadiesen dicha “sal”, para esto se recomienda que Volver al índice
118