Las contraseñas son terribles. Si usa una contraseña débil para el sitio web de su banco, se arriesga a perder su dinero en un ataque de cracking por fuerza bruta. Pero si eliges la contraseña demasiado al azar, podrías olvidarla y quedar bloqueado en tu cuenta. Puedes elegir recordar sólo una contraseña compleja y usarla en todas partes, pero si lo haces, si la rompes en un sitio web, todas tus cuentas quedarán expuestas. La única forma sensata es pedir ayuda a un administrador de contraseñas y cambiar todas tus contraseñas débiles y duplicadas en cadenas únicas y aleatorias.
Casi todos los administradores de contraseñas contienen un componente generador de contraseñas, así que no tienes que inventarte estas contraseñas aleatorias tú mismo. (Pero si usted quiere una solución de bricolaje, le mostraremos cómo construir su propio generador de contraseñas aleatorias). Sin embargo, no todos los generadores de contraseñas se crean de la misma manera. Si sabes cómo funcionan, puedes elegir el que mejor te funciona y usar el que tienes de forma inteligente.
Contenido:
Generadores de contraseñas, ¿al azar o no?
Si tiras un par de dados, obtienes un resultado verdaderamente aleatorio. Nadie puede predecir si tendrás ojos de serpiente, furgones o un siete de la suerte. Pero en el mundo de las computadoras, no hay generadores físicos aleatorios como los dados. Sí, hay algunas fuentes de números aleatorios basados en la desintegración radiactiva, pero no las encontrarás en el administrador de contraseñas del consumidor medio.
Los gestores de contraseñas y otros programas informáticos utilizan un algoritmo pseudo-aleatorio. Este algoritmo comienza con un número llamado germen. El algoritmo procesa el germen y recibe un nuevo número sin conexión rastreable con el antiguo, y el nuevo número se convierte en el siguiente germen. La semilla original no reaparece hasta que cada segundo número ha aparecido. Si la semilla fuera un entero de 32 bits, esto significa que el algoritmo pasaría por 4.294.967.295 otros números antes de repetirse.
Esto es bueno para el uso diario y para las necesidades de generación de contraseñas de la mayoría de la gente. Sin embargo, es teóricamente posible para un hacker experimentado determinar el algoritmo pseudo-aleatorio utilizado. Dada esta información y la semilla, el hacker podría posiblemente replicar la secuencia de números aleatorios (aunque sería difícil).
Este tipo de hacking dirigido es extremadamente improbable, excepto en el caso de un ataque nacional dedicado o de espionaje corporativo. Si usted es objeto de un ataque de este tipo, es probable que su suite de seguridad no pueda protegerle; afortunadamente, es casi seguro que no es el objetivo de este tipo de ciberespionaje.
No obstante, unos pocos administradores de contraseñas están trabajando activamente para eliminar hasta la más remota posibilidad de un ataque dirigido de este tipo. Al incorporar sus propios movimientos de ratón o caracteres aleatorios en el algoritmo aleatorio, se obtiene un resultado verdaderamente aleatorio. Algunos de los que ofrecen esta generación aleatoria en el mundo real son AceBIT Password Depot, KeePass y Steganos Password Manager. La captura de pantalla muestra el aleatorizador en el estilo de matriz de Password Depot; sí, los caracteres se caen al mover el ratón.
¿Realmente necesitas añadir una verdadera aleatoriedad? Probablemente no. Pero si te hace feliz, ¡pruébalo!
Los administradores de contraseñas reducen la aleatoriedad
Por supuesto, los generadores de contraseñas no devuelven números literalmente aleatorios. Más bien, devuelven una cadena, , donde es un número aleatorio utilizado para seleccionar entre los conjuntos de caracteres disponibles. Siempre debe habilitar el uso de todos los conjuntos de caracteres disponibles, a menos que esté generando una contraseña para un sitio web que no permita caracteres especiales, por ejemplo.
El conjunto de caracteres disponibles incluye 26 letras mayúsculas, 26 minúsculas y 10 dígitos. También incluye una colección de personajes especiales que pueden variar de un producto a otro. Para simplificar, asumimos que hay 18 personajes especiales disponibles. Esto da un bonito total de 80 caracteres para elegir. Para una contraseña completamente aleatoria, hay 80 posibilidades para cada personaje. Si eliges una contraseña de ocho caracteres, el número de posibilidades es de 80 a la potencia de ocho, o 1.677.721.600.600.000.000 – más de un billón. Es un hueso duro de roer para un ataque de fuerza bruta, y adivinar por fuerza bruta es la única forma de descifrar una contraseña verdaderamente aleatoria.
Por supuesto, un generador de números aleatorios totales generará eventualmente «aaaaaaaaaa» y «Covfefe!» y «12345678», ya que estos son tan probables como cualquier otra secuencia de ocho caracteres. Algunos generadores de contraseñas filtran activamente su salida para evitar tales contraseñas. Todo esto está muy bien, pero si un hacker conoce estos filtros, reduce el número de posibilidades y hace más fácil el agrietamiento por fuerza bruta.
He aquí un ejemplo extremo. Hay 40.960.000 posibles contraseñas de cuatro caracteres de una colección de 80 caracteres. Sin embargo, algunos generadores de contraseñas obligan a seleccionar al menos uno de cada tipo de personaje, lo que limita drásticamente las posibilidades. Todavía hay 80 posibilidades para el primer personaje. Supongamos que es una letra mayúscula; la reserva para el segundo carácter es 54 (80 menos las 26 letras mayúsculas). Supongamos que el segundo carácter es una letra minúscula. Para el tercer personaje, sólo quedan números y caracteres especiales, para 28 opciones. Y si el tercer carácter es la puntuación, el último carácter debe ser un dígito, para 10 opciones. Nuestras 40 millones de posibilidades se reducen a 1.209.600.
El uso de todos los conjuntos de caracteres es una necesidad para muchos sitios web. Para evitar que este requisito reduzca el conjunto de contraseñas, establezca la longitud de la contraseña en un valor alto. Si la contraseña es lo suficientemente larga, el efecto de forzar todos los tipos de caracteres se vuelve insignificante.
Otras restricciones que aplican los administradores de contraseñas reducen innecesariamente el conjunto de posibles contraseñas. Por ejemplo, RememBear Premium especifica el número exacto de caracteres de cada uno de los cuatro conjuntos de caracteres, lo que reduce drásticamente el fondo. Por defecto, requiere dos mayúsculas, dos dígitos, 14 minúsculas y ningún símbolo, para un total de 18 caracteres. Esto da como resultado un conjunto de contraseñas que es cientos de millones de veces más pequeño que si sólo se requirieran uno o más caracteres de cada conjunto de caracteres. Una vez más, puedes compensar este problema estableciendo una contraseña de mayor longitud.
Por defecto, LastPass y algunos otros evitan los pares de caracteres ambiguos como el número 0 y la letra O. Si no necesitas recordar la contraseña, no es necesario; desactiva esta opción. Tampoco seleccione la opción de generar una contraseña pronunciable como «entlestmospa». Esta opción sólo es importante si se trata de una contraseña que debe recordar. El uso de esta opción no se limita a las minúsculas solamente, sino que también descarta el gran número de posibilidades que el generador de contraseñas considera impronunciables.
Crear contraseñas largas
Como hemos visto, los generadores de contraseñas no necesariamente seleccionan del conjunto de todas las contraseñas posibles que coinciden con la longitud y los conjuntos de caracteres que han elegido. En el ejemplo extremo de una contraseña de cuatro caracteres que utiliza todos los conjuntos de caracteres, alrededor del 97 por ciento de las posibles contraseñas de cuatro caracteres nunca aparecen. La solución es simple; ¡vete lejos! No necesitas recordar estas contraseñas, así que pueden ser muy grandes. Por lo menos tan grande como el sitio web en cuestión permite; sin embargo, algunos establecen límites.
Cuanto más grande sea el espacio de búsqueda (como llamo al conjunto de contraseñas disponibles), más tiempo tardaría un ataque de fuerza bruta en lanzarse contra su contraseña. Puedes jugar con la calculadora de pajares con contraseña (como en, aguja en un pajar) en el sitio web de Gibson Research para tener una idea del valor de la longitud.
Sólo tienes que introducir una contraseña para ver cuánto tiempo tardaría el cracking. (La página promete «Nada de lo que hagas aquí saldrá nunca de tu navegador. Lo que pasa aquí se queda aquí». Pero ten cuidado de no usar tus contraseñas reales). Una contraseña de cuatro dígitos como 1eA no tardaría mucho en descifrarse si el hacker tiene que enviar adivinanzas en línea. Pero en un escenario fuera de línea, donde el hacker puede tratar de adivinar a alta velocidad, el tiempo para descifrar es sólo una fracción de segundo.
En mi artículo sobre la creación de contraseñas fuertes memorables (para cosas como la contraseña maestra de un administrador de contraseñas), propongo una técnica mnemotécnica que convierte una línea de un poema o juego en una contraseña de aspecto aleatorio. Por ejemplo, una línea de Romeo y Julieta, acto 2, escena 2, se convirtió en «bS,wLtYdWdB?A2S2». No es una contraseña aleatoria, pero un cracker no la conoce. Si la introducimos en la computadora de Gibson, aprendemos que incluso usando una masiva matriz de crackeo, tomaría 1.410 millones de siglos para forzar esta contraseña.
Averigüe cómo elegir un administrador de contraseñas
Así que ahora sabes que el factor más importante para generar contraseñas fuertes y aleatorias es hacerlas largas. Algunos generadores de contraseñas rechazan las contraseñas que no contienen todos los conjuntos de caracteres, algunos rechazan las contraseñas con palabras de diccionario incrustadas, otros rechazan las contraseñas que contienen caracteres ambiguos como la l minúscula y el número 1. Todas estas restricciones limitan el conjunto de posibles contraseñas, pero si la longitud es lo suficientemente larga, esta restricción no importa.
Por supuesto, es teóricamente (si no prácticamente) posible que un culpable piratee el esquema del generador de contraseñas de su administrador de contraseñas favorito y así obtener la capacidad de predecir las contraseñas pseudo-aleatorias que le ofrecerá. Un programa de gestión de contraseñas sospechosas podría enviar sus contraseñas aleatorias a la sede de la empresa. Esto es realmente tan preocupante como lo es la paranoia del sombrero de papel de aluminio. Pero si realmente no quieres depender de otra persona para tus contraseñas aleatorias, puedes crear tu propio generador de contraseñas aleatorias en Excel.