epelpad

Protegé todas tus cuentas con una tarjeta: RainbowCards.org

El problema.

Tenemos nombres de usuario y contraseñas en un montón de sitios web, cuentas de correo particulares, de trabajo, de la tarjeta de crédito, de débito, del AFIP, etc. etc. Y en cada una nos piden un conjunto de reglas distinto no menos de x/no mas de y caracteres, con o sin letras/mayúsculas/simbolos/números/espacios. Idealmente deberíamos poder recordar una contraseña de buena fortaleza para cada una de estas cuentas, y estas deberían estar formadas por combinaciones al azar distintas por cada cuenta; pero en la práctica esto es imposible. La gran mayoría de los usuarios usa claves de baja seguridad, como "123456" o "asdfgh", repite el nombre de usuario, o usa el nombre de la pareja/hij@/propio. Un grupo mas reducido de usuarios se las arregla con una o mas claves de mediana seguridad las que alterna o combina, y va rotando entre sitios, como "Us3r_FB", "Us3r_TW", etc. Y finalmente una minoría se toma la molestia de renovar sus claves cada cierto tiempo.

En algunos casos el tema va mas allá y la gente simplemente para evitar mayores complicaciones se arma un solo password y lo usa para absolutamente cualquier cosa. Y si sos técnico a veces hasta te lo confiesa en algún diálogo tipo:

- Bueno, ya está configurado su nuevo perfil de correo; por favor tome asiento y escriba Ud. la clave. Tal como me pidió el sistema no se la volverá a pedir cuando inicie sesión.
- No pibe, dejá, escribila vos, es "poesia". Es la misma que uso para todo! =)
-...


Posibles soluciones

Una alternativa interesante es la que proponen expertos en seguridad de Mozilla en este video:


link: http://www.youtube.com/watch?v=COU5T-Wafa4

Aunque si alguien logra averiguar la parte constante de la contraseña o se las ingenia para deducir de donde sale, tiene ya alguna pista para comenzar a hacer fuerza bruta.

Otra solución muchas veces elegida por los administradores de sistemas consiste en llevar anotaciones de los passwords. En muchas áreas se suele ver el famoso "cuadernito de las claves", y aunque parezca una mala idea porque desde siempre nos han enseñado a no escribir las contraseñas en ningún lado, si las contraseñas son de buena fortaleza puede ser el menor de los males anotarlas. Lo vienen diciendo desde hace mucho expertos en seguridad como Bruce Schneier y Jesper Johanson. El problema reside ahora en proteger el registro en papel.

Mi solución

Intentando buscar un punto intermedio entre facilidad de uso y seguridad, encontré por un amigo una idea que se llama PasswordCard, pero que no me convencía porque no está basada en símbolos que me costaba recordar. Por eso y aprovechando el ocio del censo nacional, puse en línea una aplicación pensada para ayudar con este problema. Se llama RainbowCards y permite generar una tarjeta personalizable que contiene una grilla de letras y números (opcionalmente símbolos y/o un área de solo números) pseudoaleatorios que permiten generar al instante contraseñas con buena fortaleza. Para recordarlas, basta determinar un mecanismo como una combinación de fila y columna, fila y color, iniciales, alguna secuencia interesante, etc. Ahí reside lo interesante de estas tarjetas: al ser personalizables cada uno puede decidir lo que le resulte mas fácil para recordar cómo es que guarda sus claves.

La aplicación genera un PDF con una tarjeta similar a esta:
Protegé todas tus cuentas con una tarjeta: RainbowCards.org.

Para personalizarlas basta con cambiar las opciones del formulario inicial. Los resultados se irán previsualizando automáticamente. Con unos cuantos clics se puede cambiar bastante los resultados. A continuación voy a explicar un poquito las opciones disponibles.

Opciones de personalización

Semilla: Los caracteres que aparecen en una tarjeta se generan a partir de una cadena de texto. Por eso se denomina semilla. Cualquier cambio en este texto altera totalmente el contenido de la tarjeta. Hay dos opciones disponibles que cambian ese texto por nosotros: Generar texto al azar ó usar el tiempo Unix. Brevemente, el tiempo Unix es la cantidad de segundos transcurridos desde las 00:00:00 del 01/01/1970, hora GMT. (Hay mas detalles sobre el tema aqui). Otra buena opción es escribir nuestra propia semilla que puede ser un nombre, fecha, frase, refrán o lo que se nos ocurra, hasta 220 caracteres.

Fila y columna: La grilla de caracteres obtenida a partir de la semilla se etiqueta por fila y columna con el estilo que elijamos. Por mencionar algunos hay letras, números, pares/impares, hexadecimales/binarios, secuencias como la sucesión de Fibonacci, números primos, potencias de 2 y cosas mas locas como permisos Unix o los números de Lost. Si quieren también se puede dejar sin etiquetas.

Colores: Se puede elegir entre un par de paletas (arco iris o descendente), barras grises y blancas intercaladas, o sin colores, para los que no puedan imprimir colores o no los quieran en su tarjeta. La opción "paleta al azar" desordena los colores cada vez que se usa, así que no es posible predecir cómo quedarán los colores. Solo deberían usarla quienes no van a necesitar reimprimir la tarjeta.

Tamaño: adhiriendo al estándar que define tamaños de tarjeta (el ISO/IEC 7810) se puede optar entre el formato de tarjeta de crédito (creo que por lejos el mas usual en estos pagos), el B7 (usado hasta este año en Alemania para tarjetas de identificación), ó el formato Pasaporte/Visa. Para que quepa cómodamente en la billetera del caballero o la cartera de la dama.

Área de PINs: si se marca esta opción, las últimas cuatro filas sólo contendrán números. Aunque esto limita la pseudoaleatoriedad de la tarjeta resultante, puede ser útil para gente que precise muchas claves numéricas.

Símbolos: Esta opción introduce en posiciones fijas de la matriz, transposiciones de carácter a símbolo. Dicho en criollo pone símbolos como "@", "#" o "{" aquí y allá, por si necesitas o preferís que tus claves lleven símbolos.

Modo de uso.

Una vez elegidas las opciones para nuestra tarjeta presionamos el botón "Generar" y se nos ofrece la descarga de un archivo en formato PDF. Conviene guardarlo e imprimirlo. Una vez impreso recortamos la tarjetita, la plastificamos y la llevamos siempre en la billetera.

O modo de referencia. Para obtener claves seguras de una tarjeta, pensaremos un largo de clave (normalmente 6 a 8), una dirección (arriba-abajo, izquierda-derecha, una diagonal, etc. y un mecanismo. Se puede pensar en varios pero puede prestarse a confusiones, por eso recomiendo al menos comenzar con estos criterios simples. Hay mecanismos totalmente diferentes a los que describo, que los he conversado con algunos usuarios y a mi no se me habían ocurrido, pero eso corre ya por cuenta de cada uno. Aquí un usuario nos da un ejemplo que armó el.

¿Que hago si pierdo la tarjeta?

Si esto llegara a pasar y quisieras volver a tener una copia de la misma tarjeta, bastaría con reimprimir el PDF si lo conservaste. Si no, si conservaste el resto de la hoja impresa esta contiene toda la información necesaria para regenerar la tarjeta. Como último recurso, si podes recordar la semilla empleada podrías reconstruirla a partir de ese dato. De otra forma no hay forma de que podamos regenerar tu tarjeta, porque no se lleva registros que ayuden a hacerlo (ver seguridad mas abajo).

La seguridad de todo esto.

La idea de llevar siempre la tarjeta en la billetera incremente la seguridad implícita. De entrada se supone que cuidamos bien nuestra billetera. Y aun si perdemos o nos roban la tarjeta o la billetera, el ladrón no tendrá virtualmente forma de saber cuál es la forma en que la clave está contenida en la grilla. Aquí es importante destacar que no es buena idea marcar la tarjeta, o pasar el dedo donde va la clave porque esto puede ayudar a adivinarlas.

Respecto a la seguridad del servicio, aunque no se ha provisto comunicación segura (porque no puedo en este momento y no me parece realmente imprescindible), se han tomado algunos recaudos en el servidor: no se registra la IP de los visitantes ni otro dato individual de las tarjetas generadas y no se guarda ningún tipo de caché de las imágenes. A quien le interese el algoritmo empleado para obtener las tarjetas en unos días lo voy a poner en la página para quien quiera sacarse la duda de cómo funciona; aunque realmente no tiene nada del otro mundo. También he mantenido al mínimo el código de terceros presente en el sitio.

Sobre colaboraciones y donativos

La cuestión surgió por una iniciativa personal de reforzar mis claves. Le fui agregando detalles y con muy poco esfuerzo podría publicarla y que le sirva a alguien más, y así lo hice. Lo que entre por clics en los avisos o donativos será destinado a fundaciones que defienden y sustentan proyectos de software libre que uso todo el tiempo (Debian, la Wiki, la Free Software Foundation, LibreOffice, etc.). Otra manera de colaborar es comentarme lo que les parezca digno de agregar o mejorar, o contribuir con una traducción. O simplemente difundir la idea.

Espero que les sea de utilidad.

http://www.rainbowcards.org/es

1 comentario - Protegé todas tus cuentas con una tarjeta: RainbowCards.org