Como Crear y Cifrar Contraseñas con una Tabula Recta

Estos son mis consejos sobre seguridad de contraseñas basadas en las opiniones de otros:

  1. Escríbela y guárdala en tu billetera,  pues uno suele ser muy bueno protegiendo su billetera. (ref)
  2. Utiliza contraseñas diferentes en cada sitio web porque si no lo haces, si un sitio es hackeado, todas tus contraseñas serán hackeadas. (ref)
  3. Utiliza contraseñas de al menos 12 caracteres. (ref)
  4. Utiliza mayúsculas y minúsculas, números, y caracteres especiales. (ref)

Dicen los investigadores que se necesita una entropía de 80 bits en una contraseña para que sea segura, por lo que necesita ser larga, escogida entre un amplio rango de caracteres, y creada aleatoriamente. Mi sistema otorga 104 bits de entropía.

Mis contraseñas son generadas utilizando un pequeño programa que escribí que elige caracteres aleatoriamente (utilizando un generador criptográfico de números aleatorios seguros) y seguidamente imprimiéndolos en una tabula recta. Si planeas robar mi billetera, encontrarás una hoja de papel que se parece a esta (Un amigo tiene otra copia en un sobre):

Utilizo esta hoja de la siguiente manera. Si me estoy logueando en Amazon busco la intersección de la fila A con la columna M (la primera y segunda letra de Amazon) y leo diagonalmente 16 caracteres desde ahi. Esa será mi contraseña de Amazon (en este caso, TZ'k}T'p39m-Y>4d); si llego al borde de la tabla, sigo hacia abajo por la última columna).

La seguridad de este sistema radica en la aleatoriedad de los caracteres generados en el trozo de papel.

PS Si, es muy fastidioso utilizar contraseñas diferentes, largas y aleatorias.

PPS Puedes incluir un segundo factor en esto (algo que solo tu sepas), en la forma en la que escoges la contraseña de la hoja. Por ejemplo, en vez de utilizar el primer y segundo caracter del nombre del sitio, puedes escoger cualquier otra combinación. También puedes cambiar las letras como te plazca (ej. para Amazon puedes utilizar las dos últimas letras movidas un lugar en el alfabeto; tendrías PO como clave para buscar en la tabla). Tampoco tienes porque leer diagonalmente, si no que puedes utilizar cualquier patrón que te guste(ej. en espiral, verticalmente, desplazándote con movimientos basados en la secuencia de Fibonacci, etc).

Traducido del blog de John Graham-Cumming.

Para facilitar la tarea he creado una aplicación en JAVA que te genera automáticamente una Tabula Recta basada en el algoritmo Blum Blum Shub. La podéis descargar AQUI. Para usarlo:

java -jar Tabula.jar > fichero.txt

1