Las contraseñas hoy en día son totalmente necesarias para autenticarnos, ya sea para iniciar sesión en servicios online, o también para autenticarnos en nuestro ordenador o en un servidor local. Teniendo en cuenta que las contraseñas son fundamentales tanto en local como en Internet, es importantísimo saber cómo crear una contraseña segura, para que sea muy difícil de adivinar o crackear por diferentes programas que existen hoy en día.
Una contraseña se considera segura cuando nadie la puede adivinar, y cuando los diferentes programas para crackear contraseñas que existen actualmente, no pueden «adivinarla», o si lo hacen, deberían tardar muchísimo tiempo (años) en llegar a dar con la contraseña correcta. Hoy en día todas las contraseñas que utilizamos, se almacenan localmente hasheadas, esto significa que, si nosotros utilizamos la contraseña «password», jamás se almacenará en texto plano esta contraseña, sino el hash de «password».
Un hash es una función criptográfica en una sola dirección, de tal forma que tendremos una «entrada» que normalmente es la contraseña, y tiene una única salida. Esta función hash representa de manera unívoca a una contraseña, pero también a un documento o un conjunto de datos. Hay funciones hash que siempre tienen una salida de la misma longitud, pero otras, tienen una longitud dinámica ya que depende de la propia entrada. El contenido es ilegible, y, de hecho, teniendo el hash de una clave, no es posible realizar una función matemática para conseguir la «entrada». Es posible que existan hashes iguales para entradas diferentes, porque una función hash, en el caso del SHA-1 tiene 160 bits, y los posibles objetos a «resumir» no tienen un tamaño límite. Esta característica se denomina «colisión», y una función hash se considera que no es segura cuando se conocen este tipo de colisiones.
Las funciones hash tienen una serie de requisitos fundamentales:
Algunos hashes muy utilizados para almacenar contraseñas, con SHA2-256, SHA2-384, SHA2-512, y también hashes que están específicamente diseñados para usarse con contraseñas, como por ejemplo scrypt, bcrypt, argon2 y PBKDF2.
Las contraseñas se almacenan siempre hasheadas por seguridad, de tal forma que, si alguien es capaz de entrar en nuestros sistemas, no obtengan las contraseñas de todos y cada uno de los usuarios, sino que obtengan el «hash» de dicha clave, el cual tendrán que crackear por dos métodos principalmente:
Uno de los mejores programas para crackear los hashes de contraseñas es Hashcat, ya que utiliza tanto la potencia de la CPU de los ordenadores, como también de las GPU. Esto hará que crackear una contraseña de poca longitud lleve muy poco tiempo. Este programa incorpora una grandísima cantidad de hashes diferentes, utilizados por los principales servicios de red.
Para crear una buena clave para un servicio, debemos tener en cuenta cómo diseñarla para que los dos tipos de ataques a contraseñas no le afecten, o al menos, le afecten lo mínimo posible. Debido a estos dos ataques diferentes (diccionario y por fuerza bruta), es fundamental que una contraseña cumpla unos requisitos:
También sería recomendable utilizar una combinación de números, letras mayúsculas, letras minúsculas y símbolos. Esta conjunción de caracteres es recomendable para ponérselo muy difícil a los programas por fuerza bruta, ya que deberán probar todas las combinaciones posibles teniéndolos en cuenta. Por ejemplo, si queremos crear una contraseña segura y fácil de recordar, podemos elegir una frase que nos guste especialmente, y seleccionar la primera letra de cada palabra, y ponerla en mayúscula, y a continuación, poner el número de caracteres que tiene la frase elegida.
Hoy en día existen una gran cantidad de programas gestores de contraseñas, los más conocidos con LastPass y KeePass, estos gestores de claves no solo nos permitirán almacenar todas las contraseñas en un lugar seguro, sino que tienen generadores de claves incorporados que podremos utilizar para proteger nuestros servicios. Sería ideal que, por ejemplo, utilizásemos una clave aleatoria de 15 caracteres de longitud, y formados por mayúsculas, minúsculas, números y símbolos. Un detalle importante, es que si vas a usar símbolos en tu clave WPA2 del router Wi-Fi, debes saber que hay algunos símbolos que no están soportados, por tanto, utiliza símbolos típicos y no símbolos raros.
Con este tipo de programas, tan solo tendremos que recordar una única contraseña, para tener acceso al resto de contraseñas que hemos ido almacenando de manera segura con el programa.
Nunca deberías reutilizar la misma contraseña en varios servicios, sobre todo si son online, porque si uno de estos servicios es hackeado y consiguen crackear la contraseña, podrían utilizar tus credenciales en otros servicios, y afectar de manera colateral a los demás. Ya ha habido una gran cantidad de casos de «hackeos» grandes, como a Dropbox, Sony, Adobe y muchas otras empresas. Por tanto, es fundamental usar diferentes claves para diferentes servicios.
Un pequeño «truco» que podrías hacer (aunque no es muy recomendable, porque podrían ser capaces de adivinar el patrón y atacar únicamente la parte «diferente»), es usar el mismo «inicio» de clave para todos los servicios, y «finalizar» con una cadena de caracteres diferentes.
Hay muchos errores habituales a la hora de crear claves robustas, y hay que evitarlo siempre:
Una forma muy fácil de saber si una contraseña es segura, es pensar como alguien que quiere crackearla, si la respuesta es NO a todas estas preguntas, significa que tendrás una contraseña segura:
También puedes utilizar servicios online para comprobar la «fuerza» de tu contraseña, pero por favor, nunca pongas tu contraseña real que utilizas en un determinado servicio, sino una contraseña similar poniendo diferentes mayúsculas, minúsculas, números y símbolos. Jamás pongas en un servicio online para comprobar la fuerza de tu clave, la contraseña real, porque podrían estar recopilando todas las claves de los usuarios sin que tú te enteres.
Actualmente las contraseñas por sí solas pueden no ser suficientemente seguras, de hecho, es recomendable siempre utilizar un segundo factor de autenticación. Los mecanismos de autenticación que tenemos actualmente son los siguientes:
Una de las combinaciones más seguras, es entrar a un sistema a través de la combinación de dos de estos tres factores que hemos explicado. Por ejemplo, para acceder a un servicio podríamos configurar la contraseña (algo que sabemos) y, además, algo que tenemos (nuestro smartphone con una aplicación autenticadora). Las ventajas de esta combinación, es que aumenta el nivel de seguridad y la dificultad de que un usuario malintencionado acceda a un servicio, ya que deberá cumplir con los dos requisitos y no solamente la contraseña. El inconveniente es que el tiempo para autenticarnos aumentará, ya que deberemos introducir la contraseña y el código generado por nuestro smartphone. Otro inconveniente sería el no tener disponible el segundo factor.
Actualmente existen varios servicios que nos permitirán conocer si nuestras contraseñas o nuestras credenciales digitales se han filtrado a Internet. El primer servicio es haveibeenpwned, con tan solo introducir tu correo electrónico te dirá si estás afectado por algún robo de base de datos, donde ahí aparece el correo electrónico que has introducido, es un servicio completamente gratuito y nos permitirá saberlo de manera muy rápida ya que tiene una gran base de datos de filtraciones que consultar.
El segundo servicio es Firefox Monitor, un servicio muy similar al anterior, y en algunas filtraciones de datos se basa en el servicio anterior. La principal diferencia es que nos enviará un email si en el futuro se ha descubierto que nuestro correo electrónico forma parte de una filtración, algo ideal para poder tomar las medidas oportunas (cambiar contraseñas).
Por último, el propio Google nos permite realizar una comprobación de todas las contraseñas que tenemos recordadas y sincronizadas en Google Chrome. De esta forma, nos avisará si ha habido alguna filtración de datos donde se ha visto expuesta, y también nos dirá si estamos repitiendo la misma clave en diferentes servicios (un error muy común), e incluso también nos indicará si la contraseña es o no robusta.
Tal y como hemosvisto, para crear unas contraseñas seguras es fundamental seguir una serie de pasos, y si es posible, activar siempre la verificación en dos pasos de los diferentes servicios que lo soporten.
Fuente: redeszone
Copyright © 2018 by idescpu ® - Engine by idescpu.co