08 octubre 2015

FIDO: ¿El fin de los passwords?


¿Cuantos password tienen? Yo manejo unos 5 para accesar a unos 30 sitios, tal vez más. Siguiendo la práctica recomendación de Bruce Schneier, están "respaldados" en un par de libretas que cuido igual que a mi billetera. Tengo un solo password de seguridad alta que no está respaldado en ninguna parte y lo uso solo para cosas que quiero mantener realmente en privado: pornografía y cosas por el estilo (ah, solo bromeo).

El sistema de password o "párrafo secreto" está comenzando a hacer crisis por varias razones, al principio todos pensamos que ninguna información que guardamos es demasiado secreta, así es que usamos password ridículamente sencillos (como 12345) o fáciles de deducir (el año de nacimiento, nombre de la mascota y cosas así). Sin embargo, cada día está apareciendo más necesidad de verificar la identidad en cosas como pagos online, acceso a datos privados e incluso cosas tan sencillas como la contraseña de Facebook o Twitter, empiezan a ser delicadas si alguien las llega a saber.

Un tiempo atrás un estafador abrió una página en Facebook con mi nombre, colocando una foto de mi carnet de identidad en el perfil, lleva estafadas como a 200 personas ofreciendo zapatillas que jamás entrega. Fue sencillo desacreditar las demandas cuando me empezaron a llegar, además que el tipo era burdo y pude encontrar su identidad real sin problema, pero ¿que habría pasado si hubiese conocido mi clave de Facebook haciendo las estafas desde mi propia página? Ahi si que estaría en problemas. Mucho peor si llego a perder o me roban la clave de mi correo electrónico, ahora que los jueces aceptan -con una ligereza e ignorancia increíble- los email como pruebas en juicios penales, cualquiera que le roben su clave de correos puede caer preso sin haber cometido ningún delito.

Un detalle no menor es que todo el sistema judicial, desde la policía hasta los jueces son muy ignorantes en asuntos de autentificación y seguridad informática. Los jueces basados en su ignorancia y admitiendo a ciegas testimonios de peritos, que muchas veces son igual de ignorantes que ellos, han estado admitiendo "pruebas" de una manera increíblemente poco rigurosa. Los años en que yo fui perito judicial, por lo general no se aceptaban email u otras evidencias recogidas de computadores como medios de pruebas, pasado el tiempo los peritos -especialmente de las policías con mucho menos escrúpulos técnicos- empezaron a validar "evidencias" que se pueden falsear fácilmente, los jueces se han puesto cada vez más creativos sobre asuntos que apenas entienden. Para que hablar del Ministerio Público. Imaginen lo que podría pasar si alguien se averigua el password de un juez o de un fiscal para entrar a sus documentos online.

El sistema actual, mayormente basado en password es muy fragil. Existe una cadena de debilidades que puede comprometer estos párrafos o palabras secretas. Por ejemplo la longitud: un password corto puede ser roto en segundos por ataque de fuerza bruta, probando todas las combinaciones posibles o por un ataque de diccionario. La necesidad de recordar hace que muchas veces se elijan claves fáciles de deducir por prueba y error. La ingeniería social puede obtener password mediante engaños, particularmente con correos falsos o "pisching" que solicitn entrar el password en un sitio falso. Estas claves también permanecen almacenadas en los servidores y llegado el momento el personal técnico las puede robar, como ha pasado con Ashley Madison, Ebay y muchos otros sitios que han sufrido robo masivo de claves.

La facilidad para obtener el password de otra persona y la ignorancia de esto en todo el sistema judicial son una combinación muy peligrosa, si le agregamos que cada día hacemos más transacciones que involucran dinero y la posibilidad de fraudes online es una situación para preocuparse. ¿Que hacer? Mientras exista el sistema de password para autenticarse hay algunas posibles defensas, aunque ninguna es totalmente segura, por ejemplo:

Elegir claves muy largas y que no sean muy difíciles de recordar, como
Sufroalpensarqueeldestinologrosepararnos
Quesequedeelinfinitiosinestrella$
etc.

A medida que agregamos algo especial -en este caso mayúsculas y minúsculas- se va haciendo más difícil de recordar, siempre existirá ese conflicto porque si un password es fácil de recordar también será fácil de deducir o averiguar usando ingeniería social. Un password "ideal" no debe tener ningún significado, como por ejemplo este
J070-IMHO-rt65-7092

El problema es que esas claves son bastante difíciles de memorizar. Las claves fuertes no son simples y viceversa. Otro dilema es tener una sola clave o muchas diferentes para cada acceso. Yo uso cuatro niveles de claves, partiendo por algunas muy simples para sitios de menor importancia, hasta otras muy complicadas para donde la confidencialidad es importante. Todas las tengo respaldadas por escrito, menos la de nivel más alto que está memorizada. ¿Por que varias? Porque así si roban una clave simple no tendrán acceso a mis datos más privados, el daño queda contenido.

Una debilidad importante es que los password quedan almacenados en los servidores, fuera de nuestro control donde eventualmente podrían ser robados. Una solución alternativa es recibir un código SMS único para cada sesión, pero esto tiene un costo, igual puede ser interceptado y solo sirve si se tiene teléfono y cobertura, además es complicado de usar. La idea es que los password nunca queden guardados en el servidor y el usuario se autentifique con una clave distinta en cada sesión, esto se pude hacer, por ejemplo, con métodos de criptografía de clave pública.

Para solucionar todo esto en el futuro cercano, se ha desarrollado el protocolo FIDO, un acuerdo de estandar abierto liderado por las compañías más grandes como Microsoft, Google, Paypal, Visa y otros por el estilo. Windows 10 ya trae FIDO incorporado para autentificarse de modo seguro online. Usando este estándar el password personal siempre se queda en el lado del usuario y se usa para generar una clave que es la que se envía y se usa una sola vez, una distinta por cada sesión.

Pero todavía tenemos el problema del password, que se puede eliminar por dos vías: biométrica (huella digital, iris, voz, proporciones del rostro, etc.) o guardando la clave en un medio físico, por ejemplo un pendrive. Estas dos alternativas tienen sus problemas (imaginen por ejemplo que queremos acceder desde u dispositivo que no tiene USB o perdemos el pendrive) pero son mucho más robustos que el password o frase secreta, que ya está en vías de colapsar.

9 comentarios:

  1. El tema de los passwords, es algo complejo. la vulnerabilidad ha crecido debido a un factor que no siempre se controla: la ingenieria social. el prestarse o "entregar" las cuentas para que las administre otro, es sumamente complejo. Por ejemplo el marido macabeo o la polola tonta que le da a su pareja el control total de su cuenta, es un riesgo enorme.

    Respecto al hackeo de cuentas, todavía no logro hacer alguna, pues todo lo que he visto hasta ahora son solo lammers con un resultado catastrófico.

    ResponderBorrar
  2. Si alguien está usando una red Wifi abierta (por ejemplo en un McDonalds o aeropuesto) robarle sus claves puede ser pan comido con un analizador de tráfico de red (wireshark o similar), hasta el más lamer lo puede hacer.

    ResponderBorrar
  3. Algunos comentarios

    - Las passwords no se guardan en los servidores (al menos no en servidores de gente responsable), lo que se guarda es un hash generado por un algoritmo el cual se compara en cada ocacion. Por supuesto que los detalles exactos del algoritmo se intenta mantener en secreto lo mas possible, para evitar el uso de "tablas arcoiris"

    - Usar marcadores biometricos es una pesima idea. Una password la puedes cambiar, no asi tu iris o huella dactilar.

    Voy a investigar FIDO

    MV

    ResponderBorrar
  4. Leyendo tu blog me interese el tema y otros asociados; seguro comoces "El pequeño libro rojo del activista en la red" por si algun otro contertulio se interesa,esta en
    https://goo.gl/n3LoRP
    Sin embargo exige el programa Kindle, o al menos a mi se me instalo ahi.

    ResponderBorrar
  5. En todo caso cuando uno se crea una cuenta, ahí mismo aparecen las recomendaciones de que sea más larga e incluso Apple exige que la contraseña tenga números y mayúsculas. Eso sí desde hace tiempo que incluso aparecen tutoriales de cómo descifrar contraseñas como sugerencias en los buscadores, cuya eficacia desconozco. Lo que sí muy mal cómo se está procediendo en lo que son delitos virtuales, supongo que por pereza lo están haciendo así y cambiando de tema, anoche en la radio hablaron de un auto que se maneja solo como de los que usted solía hablar, para qué le cuento cómo me acordé del Templo de Ocio.

    ResponderBorrar
  6. Miguel, hasta donde yo he conocido no se guardan en texto claro sino encriptados, pero SI están en servidores, los email de los ISP que he conocido están en servidores especiales, que estén encriptados no es ninguna garantía porque esa encriptación se hace en el lado de ellos no en el del cliente. Si chequeas el tráfico de una red podrás ver que muchas veces los password se envían en texto claro, incluso si usas HTTPS o SSL al navegar esos no son capas de seguridad robusta, muchos robos masivos de claves han ocurrido atacando esas capas, el bug de heartbleed por ejemplo.

    La autenticación biométrica no sirve para todo, pero hay muchas situaciones en que es muy recomendable, las transferencias de dinero por ejemplo, justamente por el hecho que no se puede cambiar, claro que tiene brechas (a veces tan simples como fotocopiar o fotografiar la huella digital, por ejemplo) pero en muchos casos es lo ideal.

    Wilson, que buena, voy a verlo.

    Las contraseñas son el eslabón más débil de toda la cadena de seguridad, imagina un auto que se maneje solo: tienen que ingresar por contraseña para activarlo, ahora imagina que alguien te averigua la contraseña. Arg.

    ResponderBorrar
  7. una alternativa interesante Latch: El interruptor de seguridad para tu vida digital https://www.youtube.com/watch?v=7_AGqDdHtnk

    ResponderBorrar
  8. Interesante el tema del latch, me mamé toda la charla de Chema Alonso y me entretuvo mucho, aunque creo que está dirigido más que nada a evitar el robo de las bases de datos con contraseñas y datos personales en los servidores, que es solo uno de los problemas

    ResponderBorrar
  9. Latch es una segunda capa de autenticación para el usuario. Es equivalente a (tarjeta de coordenadas, DigiPass, código SMS o telefónico), pero mucho más fácil de habilitar por el administrador del servicio, banco, etc.
    Latch sólo gestiona tokens, no evita robo de DB del administrador, pero si se roban las claves desde del servidor o al usuario, si el latch está cerrado entonces al usuario le llega alerta que alguien uso su contraseña sin su permiso.
    Hay varias charlas de Chema Alonso que vale la pena ver, para darse cuenta que en temas de seguridad informática, hay mucho por mejorar. Esta es una de mis favoritas https://www.youtube.com/watch?v=0QT4YJn7oVI

    ResponderBorrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"