Tecnologías de Vigilancia e Antivigilancia

Ábrete Sésamo: las contraseñas de nuestra vida digital

17/06/2015

Por Lucas Teixeira | #Boletín11

Después de aprender a hacer contraseñas fuertes, siga para nuestro próximo artículo sobre los gestores de contraseñas: Un llavero para tu vida online.


E-mail, redes sociales, fórums, blogs, bancos y muchísimos servicios web que nos piden que nos registremos. ¿Cómo hacer con tantas contraseñas? Con prosa, verso y dibujos trataremos de ayudarte a no enloquecer ni a quedar vulnerable con contraseñas demasiado débiles.

Una de las dificultades de redactar una guía de creación de contraseñas es que las amenazas que rodean las actividades en línea de cada persona son bastante diferentes. En este artículo mostramos los bastidores de la adivinación de contraseñas y ofrecemos una visión, digamos así, artística de cómo crear contraseñas que resistan a las técnicas actuales usadas por los crackers.

Fuerza bruta (o un poco refinada)

Desde que existen las contraseñas y las computadoras, existen programas que prueban todas las posibilidades de contraseñas: si la contraseña está compuesta por hasta ocho caracteres, por ejemplo, el programa tratará desde «a» hasta «////////», pasando por «;9mR» y «u:4+R<cP».

También es tradicional el uso de diccionarios, es decir, archivos con listas de miles de palabras que el software de cracking prueba, una por una, combinándolas entre sí y con el método secuencial indicado arriba. Pero a lo largo del tiempo, los programas de software que descubren contraseñas se volvieron mucho más astutos.

Así como tenemos la tendencia a esconder la llave de casa debajo del tapete o elegir números impares (probablemente con los algoritmos 7 y 3) cuando nos piden que elijamos «aleatoriamente» números entre 1 y 100, nuestras elecciones «astutas» de contraseñas pueden adoptar patrones bastante previsibles.

A lo largo de los años, especialistas en descubrir contraseñas vienen explorando esta área curiosa de la psicología y entendiendo mejor cómo creamos nuestras contraseñas. No fue necesario ningún estudio sofisticado, por ejemplo, para descubrir que muchas contraseñas son palabras con sufijos o prefijos numéricos que no cambian mucho.

Además, mediante técnicas usadas en el análisis de big data, es posible crear programas que descubran y reproduzcan patrones que ni fueron formulados por sus autores: al ser alimentados con gigantescas listas de contraseñas (que pueden comprarse comercialmente), algoritmos de machine learning pueden descubrir patrones difíciles o imposibles de discernir para los seres humanos.

En ese escenario podemos introducir el ingrediente secreto de las mejores contraseñas: la entropía. En teoría de la información, la entropía mide el grado de imprevisibilidad de un mensaje, un concepto matemático que abarca nuestras contraseñas, pero también el lanzamiento de dados y las instrucciones para construir una computadora. El mensaje es un puñado de datos o un evento que nos aporta alguna información. Dicha información puede ser más o menos difícil de prever y la entropía es justamente lo que mide eso.

entropia

«Entropy ≥ Mimesis . Catharsis²» por Jef Safi. Licencia CC by-nc-nd

Un dado «honesto» tiene más entropía que un dado viciado, ya que es más difícil adivinar su resultado (~16,6% de chances para un dado de seis lados). Un símbolo chino tiene mucha más entropía que una letra de nuestro alfabeto: un intento de adivinación aleatorio tiene muchas más chances de acertar en algunas decenas de letras que entre miles de logogramas diferentes.

La entropía de un mensaje depende de lo que aporta de nuevo para quien lo ve. Y la entropía de nuestra contraseña crece cuando nuestros adversarios no la pueden prever.

No repitas contraseñas importantes

Una forma utilizada por los crackers para compilar esas listas de señas para usarlas en ataques de fuerza bruta es a través de sitios web invadidos o que tienen sus bancos de datos expuestos en la red, como ocurrió con LinkedIn, en 2012, y con Adobe, en 2013.

De modo general, los sitios web no deberían tener las contraseñas guardadas. Una técnica de computación llamada hashing ya fue adoptada como práctica de seguridad hace muchos años para esos casos: los bancos de datos almacenan un código derivado de la contraseña (o hash), que puede calcularse muy rápidamente cuando se conoce la contraseña, pero que es muy difícil de usar para llegar a la contraseña, siguiendo el camino inverso. Con eso, quien tiene acceso al banco de datos no puede saber cuál es la contraseña.

Pero las buenas prácticas muchas veces no se siguen: los sitios web guardan señas en plain (sin ninguna protección) o usan algoritmos de hash débiles para los estándares actuales (como el archivo que Jeremi Gosney quebró, que usaba MD5 sin ningún salt).

Usar la misma contraseña en todo lugar, entonces, es una trampa: una vez que se rompe el eslabón más débil, todas sus cuentas están amenazadas.

Llaveros de contraseñas

Si repetir contraseñas es peligroso, memorizar una contraseña bien pensada para cada cuenta que creamos es inviable.

Las aplicaciones conocidas como llaveros sirven para ahorrarnos ese trabajo. Estos programas guardan y organizan logins y contraseñas, cifrándolos con una «contraseña maestra».

Meu chaveiro de senhas

Mi llavero de contraseñas

También vienen equipados con generadores de contraseñas, que reúnen símbolos aleatorios para formar contraseñas fuertes.

Es posible pegar una de las contraseñas del llavero directamente en los campos de contraseña del explorador (Ctrl+C Ctrl+V) y entonces ni siquiera se necesita verlas por detrás de los asteriscos. Cuando uno usa un llavero en el día a día, generalmente tiene una contraseña maestra fuerte y genera contraseñas para cuentas de Internet sin tener que escribirlas ni recordarlas nunca.

La guía Security In a Box explica, paso a paso y con capturas de pantalla, cómo usar el KeePass, la herramienta que también recomendamos para proteger tus contraseñas.

¿Contraseña de criptografía o de acceso?

Las contraseñas con las accedemos a nuestra caja de correo electrónico o iniciamos una sesión en la red social son contraseñas de acceso. Sirven para autenticarnos ante un servicio, demostrando que quien está hablando del otro lado de Internet es la misma persona que se inscribió en el servicio el otro día. Es como un documento de identificación.

En cambio, las que usamos para cifrar documentos y discos —como un archivo Zip, una clave OpenPGP, un volumen de Truecrypt o de FileVault, un llavero de contraseñas, etc.— se usan en el algoritmo para barajar y los protegen matemáticamente a través de la entropía.

Cuando un adversario habilidoso y bien equipado tiene un archivo cifrado en manos, solo se interpone entre él y la información protegida la capacidad de fuerza bruta del hardware y su conocimiento sobre el dueño de la contraseña.

Con alguna inversión, es posible equipar las computadoras con uno o dos procesadores gráficos de alto desempeño del mercado para probar millones de combinaciones por segundo. Para acelerar el proceso, software como oclHashcat hace lo que el consultor de seguridad Jeremi Gosney llama «fuerza bruta inteligente», al permitir seguir reglas de formación de contraseñas de acuerdo con los patrones de contraseñas comunes. Con esa combinación, Jeremi descubrió 90% de las 16.000 contraseñas cuyos *hashs* le fueron suministrados en un desafío del portal de noticias Ars Technica, en 2013.

Es mucho más difícil hacer este tipo de ataque contra las contraseñas de acceso debido a que el canal que el *cracker* tiene para probar las contraseñas (la pantalla de inicio de sesión) es controlado por alguien (por ejemplo una red social). Casi todos los grandes sitios web (y los pequeños que se preocupan mínimamente por la seguridad) imponen algún límite en los intentos de contraseñas (bloquear por 10 minutos después de 5 contraseñas equivocadas, por ejemplo). En esos casos, es posible proteger de amenazas externas contraseñas con un grado de complejidad considerablemente menor.

Los servicios que ofrecen «autenticación en dos pasos», donde además de la contraseña es necesario recibir un código por celular para iniciar una sesión, por ejemplo, también evitan buena parte de los riesgos de robo. Sin embargo, en lo relativo a la privacidad y los servicios en línea que se alimentan de nuestros datos (como Google, Facebook y Twitter), es bueno recordar que el número del celular es un identificador que conecta nuestra vida en línea (navegación, me gusta, preferencias) con la desconectada (compras, ingresos, dirección), que puede comprarse a data brokers.

También vale la pena recordar que las contraseñas de acceso *locales* (para desbloquear la notebook o el smartphone, por ejemplo), son poco útiles si el atacante toma el control de tu dispositivo: para protegerte de robos, usa herramientas de criptografía del disco completo (full disk encryption) – e não deixe que ele seja levado ligado, o que ainda permite ataques cold boot que conseguem extrair a senha da memória RAM do dispositivo.

dados

«Dice», por James Bowe. Licencia CC-by

Pero, ¿cómo se hace para crear una contraseña fuerte?

Para hablar de eso, invitamos a Silvio Rhatto. Silvio es activista de la privacidad y la comunicación segura y trabaja hace más de 10 años voluntariamente desarrollando y manteniendo herramientas de comunicación segura para concientizar al público sobre cuestiones relativas a la protección de datos y el derecho al anonimato.

Además, es poeta. Rhatto cree que «las personas tienen que pensar un poco antes de que les presentemos modelos», y entonces nos mandó el siguiente mensaje:

Senhas

Senha forte
Senha fraca

Arranca a matraca da anta
Repete demais as vogais

Mergulho do murro boçal
Tá cheio de encontro consonantal

DV%y-%!I! \C1Xg1#a=-~a1uR1R»W\lJPJIWH? nDyqtC!!
É palavrão de poesia malcriada!

Senha é poesia
E pode ser carente de rima!

É poesia secreta
Conhecida só por quem autora

Estes versos não mais são
Pois difundidos já estão

E senha compartilhada
Em geral é uma grande roubada

Nem todo segredo é senha!

Desabafos
Confidências e conspirações
Não são senhas
Mas segredos por elas protegidos

Senha é poesia
Mesmo sem significar

De preferência dadaísta
Com palavras tiradas no dado
Ou sorteadas da sacola

Métrica escalafobética
Desnumerológica

De palavras inventadas
Lúdica, brincalhona
Uma ode à entropia

Piada interna
Que só você entende
Que nem você compreende
Mas que só você sabe

Riovém de finício algum
Prapilépricas quipergísticas
Vitrola esmola?
Vodininfantes!!!

Enrolou tua língua?
Então atrasa o lado da trairagem!

Sendo arte do sigilo
A regra de poesia é o estilo

Só que estilo demais
É padrão demais
E entropia de menos

A força de uma senha
Vem da criatividade de quem poeta
De usar e abusar do espaço da poesia
Que é um lugar composto de símbolos
Caracteres
Palavras
Versos e aglomerações maiores

Este aqui é um desafio e um manifesto
Reconhecendo um novo gênero literário
Tímido, complicado
Mas inclusivo

Junte-se a este movimento!
Seja poeta, poetisa de senhas
Mas não divulgue suas composições do gênero!

Se decorares alguns destes versos
Serás capaz de memorizar tuas próprias senhas
Ó, criptopanque!

E o oponente
Será capaz de deduzir nosso subconsciente?

La guía Security in a Box también ofrece buenos consejos sobre cómo crear y mantener contraseñas seguras.

5enh45onho

«5enh4 – 5onho», por lama

¿Anotar o no anotar?

Uno de los puntos polémicos entre las diversas guías es si vale la pena o no anotar una contraseña.
Una vez más, solamente cada uno de nosotros puede evaluar si es una buena opción. A pesar de que anotar en un papel cree el riesgo de que el papel se extravíe o sea robado, también permite crear contraseñas más complejas sin miedo de olvidarlas. Mantener ese recordatorio dentro de la billetera (por lo menos hasta memorizar la contraseña) es relativamente seguro para la mayoría de las personas y su pérdida es fácilmente notada.

Frases como contraseñas y el método Diceware

Una forma práctica de crear contraseñas es concatenando palabras, como lo muestra esta famosa historieta (por primera vez en portugués y español):

Esa obra aislada ya enseña mucho sobre contraseñas por sí sola. Sin embargo, lo que no se considera es la susceptibilidad humana para elegir las palabras. Nuestro vocabulario es limitado y no se sabe qué patrones de elección pueden percibirse analizando un conjunto grande de esas contraseñas (lo que disminuye su entropía, haciendo más fácil que se adivinen las próximas).

Una forma eficiente de crear esas «contraseñas frase» es a través del método Diceware, que «usa datos para seleccionar palabras aleatoriamente en una lista». Esa lista contiene 7776 palabras cortas, exactamente el número de resultados posibles para cinco tiradas de dados. Un ejemplo en español, con cinco palabras, es «multa h64 quien enero tubo» (además de palabras hay pequeñas siglas y abreviaturas).

Al pasar el control de la elección de las palabras a los dados, retiramos nuestra subjetividad de esa etapa (tal vez una persona más mística no concuerde), liberando toda la entropía que nos proporciona una elección entre 7776 posibilidades: cada palabra agrega 12,9 bits; una contraseña frase con cinco palabras tiene 64,5 bits de entropía. ¡También podemos usar y abusar de nuestro inconsciente para recordar la secuencia sorteada!

Existen versiones de la página web de Diceware en español, inglés y otros once idiomas. En ella se explica detalladamente por qué el método funciona y se ofrece un consejo: «una contraseña frase con cinco palabras ofrece un nivel de seguridad mucho mayor que las contraseñas simples que casi todo el mundo usa. Recomendamos un mínimo de siete palabras para usar con el GPG para proteger la señal de Wi-Fi y en programas de cifrado de archivos.»


EDICIÓN (2015-11-29): paso a recomendar siete palabras en lugar de seis para las contraseñas generadas por Diceware. Gracias, Guilherme Gondim.

Tags: , , , , , , , , ,