QAZwsx no es una buena
contraseña. Tampoco lo es 123456. Los passwords fáciles de adivinar tienen una gran
desventaja: que son fáciles de adivinar. Y aunque me preocuparía obviamente que
un fulano llevara a cabo esta adivinación, es un hecho que existen herramientas
con bastos diccionarios y listas que se encargan automáticamente de intentar
las miles de contraseñas que probablemente un usuario (o administrador) pueda
llegar a usar.
Así pues, 5noopY, 19761976,
4dmin, F4ust02000, AlejanDRO, Facebook1, tequiero o ammerica no son buenas
elecciones aunque a primera vista puedan parecerlo. Los atacantes ya se saben
los truquitos de cambiar algunas letras por números, poner sólo algunas letras
en mayúsculas o la costumbre de usar nombres de artistas o equipos de futbol
como contraseñas (sin olvidar poner 2000 al inicio o al final, es clásico). Y a
partir de ahí, se hacen variantes (AlejandRO, AlejanDRO, AlejaNDRO, etc.) y se
construye una lista con la cual se efectuarán los cientos de miles de intentos
(online u offline).
Y a veces no es necesario
hacer listas interminables de posibles contraseñas, basta ver el ejemplo del
gusano Morto.
Las contraseñas hoy en día
se usan para acceder a redes inalámbricas, para entrar a un sistema de cómputo,
un servicio online (Facebook), entrar a la banca en línea o proteger un disco
duro cifrado entre muchos otros usos cuyo objetivo es la de autenticar a
alguien.
Muchos usuarios ante la
cantidad considerable de contraseñas que deben de recordar, optan por usar el
mismo password (o máximo un par de ellos) para los N servicios que usan. Y claro,
seleccionan contraseñas fáciles de aprenderse y por lo tanto de adivinar. Los
entiendo. No es fácil recordar 37 diferentes contraseñas complejas: {bL2BgB*~cwS@E:^PR'R"NPF/U&.
Basta de choro. ¿Qué
podemos hacer? A continuación 3 opciones que yo les recomendaría.
Técnica HayStack.
Algunos expertos te dirán
que uses contraseñas mega-complejas, con alta entropía ya que de otra manera no
sirven. Sólo están contentos si seleccionas ##&ñQQ22!(/!4034Fq$RETyu/%GGc.
“¡Maravilloso!”, te dirán. Sí claro, quiero ver quién se lo aprende..me cae que
ni el experto usa esta clase de contraseñas. Ok, qué hacer? Técnica Haystack.
El inventor de este método
es Steve Gibson, un verdadero experto en seguridad. En su página viene mucho mejor explicado. Aquí un resumen. Romper
contraseñas por fuerza bruta se basa en el hecho de probar “n” combinaciones
posibles de contraseñas, empezando por las más comunes y posteriormente “armar”
posibles contraseñas plausibles; todo lo anterior utilizando herramientas de
software que automatizan la labor.
Es posible generar contraseñas
robustas pero fáciles de recordar si se tiene en cuenta el tamaño del “search space” o espacio de búsqueda
según nos lo explica Steve.
Es posible por lo tanto
generar una contraseña fácil de recordar y volverla robusta al completarla con
caracteres (“padding”); de esta
manera hacemos que el espacio de búsqueda o “search space” se amplíe considerablemente haciendo un hackeo por
fuerza bruta excesivamente tardado. Asimismo se puede complementar esta técnica
al introducir mayúsculas y números de tal forma que por ejemplo “teclado” queda
compuesto como: “T3clado..........”
Vemos la “T” mayúscula, un
“3” en lugar de “e” con diez puntos ”.” y según la calculadora del sitio ya mencionado, esta contraseña tardaría varios
millones de años en descubrirse por un método de fuerza bruta/exhaustivo (asumiendo
a un equipo haciendo mil intentos por segundo en tiempo real).
Otros ejemplos:
“Fau5to%%%%%%%%%%%%”, “Rut3ador!!!!!!!!!!!!”, “G4to************”.
La ventaja del método de
Haystack es que se pueden usar palabras comunes y muy fáciles de recordar pero
muy difíciles de hackear por métodos de fuerza bruta. Entre más “padding” se agregue, más robusta será la
contraseña pero mantiene su simplicidad. El tamaño sí importa..no tanto la alta
entropía.
Técnica basada en Frases.
Existen varias maneras de
crear una “passphrase” en lugar de un
“password”. Si buscas en Google “create passphrase” encontrarás varias
sugerencias. Por ejemplo una la propone Microsoft:
Iniciamos con una frase que
te sea fácil de recordar: “Me encanta la pizza”. Le quitamos los espacios en
blanco “Meencantalapizza”. Sustituimos algunas letras por números (se
recomienda siempre sustituir los mismos números por las mismas letras para no
hacerse bolas), por ejemplo “4” en lugar de “a”: “Meenc4nt4l4pizz4”. Vamos bien
pero lo podemos hacer más robusto agregando dos caracteres especiales al final
“Meenc4nt4l4pizz4%%”. Y violà. El enunciado clave fácil de recordar es “me
encanta la pizza”.
Técnica basada en Papel.
Un experto en seguridad te
va a decir que nunca, nunca pongas un password en un papel. Como yo no soy
ningún experto, te digo que sí lo pongas. Claro, siguiendo ciertas reglas.
Googleando “paper password”
encontrarás varias técnicas. Una que me llamó la atención es la de Amit Agarwal
en el sitio de Labnol.
Esta técnica se basa en el
hecho de crear contraseñas que se construyen a partir de algo que se tiene (un
papel de matriz de contraseñas) y algo que se sabe y que es una cadena pequeña
de caracteres que el usuario memoriza para añadirla a lo que será la contraseña
final.
Usando un papel (que
recortaremos y traeremos con nosotros) construiremos una matriz:
Letra
|
A B
|
C D
|
E F
|
G H
|
I J
|
K L
|
M N
|
N O
|
P Q
|
R S
|
T U
|
VW
|
XYZ
|
1°
|
Qi1
|
oc
|
FS
|
DEo
|
ClT
|
f)0
|
SGE
|
5Ss
|
Gr5
|
#$g
|
MN!
|
GT$
|
D&
|
2°
|
Oot
|
9cc
|
~":
|
cj7
|
[aA
|
uic
|
nex
|
3NN
|
:Q$
|
jO
|
Re#
|
Mkb
|
1?p
|
3°
|
xOO
|
%!1
|
0!P
|
F?z
|
TIb
|
57>
|
maz
|
nSe
|
aHl
|
ycI
|
XIr
|
irP
|
DOm
|
4°
|
5f
|
Oot
|
N8h
|
9K
|
Zsm
|
g3I
|
d5
|
dG
|
mD
|
WXd
|
Xk
|
Qip
|
CX
|
5°
|
LD
|
jPW
|
F3
|
fft
|
63Q
|
3E5
|
50D
|
B09
|
yBh
|
jj
|
A40
|
4CF
|
0D
|
Empecemos con una palabra
sencilla de recordar: “gato”. La primera letra “g” se convierte en “Deo”
siguiendo la matriz. Y continuando con el resto de las letras, nos queda que
gato es “DEoOotXIrdG”.
Finalmente agregamos una
serie de caracteres fáciles de recordar. Por ejemplo “México” con un par de
números en lugar de letras: “M3xic0”. Y lo agregamos al final de la serie de
caracteres que ya teníamos: “DEoOotXIrdGM3xic0”.
Si perdemos la matriz
(recuerden que la tenemos impresa), resulta que el atacante no sabe que la
palabra que seleccionamos fue “gato” y tampoco sabrá que le agregamos “M3xic0”
al final.
Conclusión.
El mensaje a final de
cuentas es que uses contraseñas difíciles de adivinar y de ser posible que uses
passwords únicos para cada sitio/servicio/equipo que uses (recuerda que te
puedes apoyar de la herramienta LastPass).
Hay diferentes técnicas que
puedes llegar a utilizar para generar contraseñas robustas (a mí me convence la
HayStack de Gibson); si no te gustan las aquí expuestas busca en Internet otras
que te parezcan útiles, sencillas pero robustas.
A pesar de las promesas de
dispositivos biométricos o los one-time passwords (tokens), hoy por hoy la
manera más usada para autenticar son las contraseñas, así es que mientras otra
cosa no suceda, es mejor aprender a convivir con ellas de la mejor manera
posible, no crees?
7 comentarios:
Muy buen articulo, estaba armando algo similar para mis clientes.
Sobretodo en la grilla para recordar contraseñas.
saludos
Gracias x tu comentario, espero haya sido de utilidad. Un saludo!
Yo uso el metodo del acróstico, arma una frase y solo tomar las primeras palabras. "Maldita de mi ex, devuelveme todo el dinero que te llevaste" >> Mdme,Dte$qtl
WPáez: lo q más me gustó es la frase! :-)
Como siempre, agradezco tus aportes de gran utilidad
Como siempre, agradezco tus aportes de gran utilidad
Gracias Dianely.
Publicar un comentario