¿Sabes qué es el salting en criptografía y por qué es una práctica recomendable en el almacenamiento de contraseñas? En programación, es muy común tener que gestionar contraseñas de usuarios, pues existen muchas aplicaciones que cuentan con sistemas de registro. Sin embargo, las credenciales confidenciales de las personas deben manejarse con cuidado, debido a que son susceptibles a muchos ciberataques.
Un ciberataque muy común consiste en filtrar las bases de datos de una aplicación web. Esto ocurre cuando la ciberseguridad de un sitio no se encuentra bien configurada. Por medio de un ataque de inyección SQL o métodos de OSINT, es posible acceder a bases de datos sensibles para luego usarlas de forma maliciosa.
Es común que los usuarios usen la misma contraseña para varias de sus cuentas, ya que es difícil recordar una diferente y compleja para cada registro. Por eso, cuando se filtra una base de datos, los atacantes usarán las contraseñas encontradas en plataformas como Google, Facebook, etc., con el fin de hackear cuentas vulnerables.
Por todo esto, a continuación, veremos qué es el salting en criptografía y cómo ayuda a prevenir estos ataques.
¿Qué es el salting en criptografía?
Para entender qué es el salting en criptografía, es necesario saber que la mejor forma de almacenar una contraseña es guardar su código hash, elaborado por medio de un algoritmo criptográficamente seguro. De esta forma, se puede verificar la autenticidad de la sesión del usuario sin tener que guardar directamente datos de contraseñas.
Es importante utilizar funciones hash que sean seguras para contraseñas, ya que algunas no lo son. Sin embargo, de nada sirve contar con la función hash más sofisticada, si un usuario utiliza contraseñas demasiado fáciles, como podrían ser “1234”, “0000”, “contraseña”, “qwerty”, etc.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaEl salting es una técnica que consiste en añadirle un factor aleatorio a cada hash con el fin de que un atacante no pueda predecirlo, a pesar de que la contraseña del usuario no sea la más compleja. En lugar de hashear solamente el valor de la contraseña, la “sal” es una cadena de datos aleatoria que se le suma al mensaje antes de pasarlo por el algoritmo.
Los sistemas que utilizan salting complican los ataques de diccionario e impiden completamente descifrar contraseñas por medio de ataques de tablas de arcoíris. Por eso, se recomienda como medida para proteger a aquellos usuarios que escogen contraseñas con dificultades intermedias y que, quizás, las están reutilizando por doquier.
Función de derivación de claves
Ya sabes qué es el salting en criptografía. Ahora, mencionaremos otro método que se apoya en el salting para reforzar la seguridad del almacenamiento de claves.
Si bien el salting es un sistema que refuerza la seguridad de los códigos hash de las contraseñas de una base de datos, una función de derivación de claves es un mecanismo aún más reforzado. Se diseñó especialmente para hashear contraseñas y son muy resistentes a los ataques de fuerza bruta. Calcular el hash de una contraseña con este método tarda un poco más, lo cual se ha hecho así con la intención de dificultar los ciberataques de terceros.
¿Cómo aprender más?
Ahora sabes qué es el salting en criptografía y por qué es bueno para hacer un almacenamiento seguro de contraseñas. Si quieres aprender más y especializarte en ciberseguridad, nosotros tenemos la mejor opción para ti. No dudes en unirte al Ciberseguridad Full Stack Bootcamp y conviértete en todo un experto en menos de 7 meses. ¿A qué estás esperando? ¡Inscríbete ya y destaca en el sector IT!