Cómo administrar decenas (o cientos) de passwords y no morir en el intento

Hace unos días, en un grupo de guasap de excompañeros del secundario, uno de ellos (también informático) me pidió recomendación sobre qué password manager usar. Siguió un pequeño ida y vuelta sobre las cosas que uso donde la mayoría, con un bajo nivel de nerdez en sangre, se quedó afuera y, ante el pedido de que traduzca al castellano lo que estaba diciendo, decidí intentar hacerlo y ver si lo comparto con un público más amplio (como ser los 8 lectores de este blog).

Básicamente, un password manager es un programa que te permite administrar todas las claves que usás en distintos lugares y tenerlas guardadas todas juntas en un solo lugar protegido, obviamente, por una (única) clave (one key to rule them all). La (única) clave que protege a las demás, debe ser muy buena.

Digamos que un password manager es equivalente a cambiar los post-it que la mayoría de la gente pega al lado de la computadora para tener las claves a mano, por una libretita con todas las claves juntas metida adentro de una caja fuerte que siempre tenés a mano que se abre con una llave que llevás siempre en el bolsillo.

Ojo, no voy a hacer un análisis de las diferentes opciones que hay en el mercado sino decir cuáles son las que yo uso y cómo protejo mis claves.

Espóiler Alert

TL;DR: Yo uso, hoy en día, una combinación de tres o cuatro productos/servicios distintos para mantener mis claves:

NIUSFLASH (no uso más LastPass)

Al poco tiempo de escribir esta nota, LastPass decidió dar de baja el débito automático de mi cuenta y, al vencer la suscripción, me avisa que en 30 días termina mi «prueba gratis» y que si quería me podía suscribir por el TRIPLE de lo que estaba pagando anualmente (de 12 a 36 dólares estadounidenses anuales).

Me quejé a soporte (de LogMeIn, la empresa que compró LastPass) y me contestaron que el precio fue modificado para «reflejar nuestra inversión contínua en nuestra solución de gestión de claves líder en la industria».

Cuando el departamento de márketing se adueña del soporte, en general es un buen indicador de que conviene abandonar el servicio.

Por suerte, cuando escribía esto me había cruzado con Bitwarden que, por un lado, es de código abierto (es decir, podría hasta instalarlo en un servidor mío y modificarlo si quisiera), y por el otro, el servicio básico gratuito que ofrecen tiene todo lo que yo utilizaba de LastPass, sumado a la posibilidad de compartir algunas claves con otra (única) persona.

Con las instrucciones para migrar de LastPass a Bitwarden del sitio de este último pude pasar todo lo que tenía, dí de baja LastPass y no lo extraño en lo más mínimo.

Sitios y servicios web

… y aplicaciones móviles (que son versiones para móviles de lo mismo)

En principio hay que tener en cuenta que NO HAY QUE USAR LA MISMA CONTRASEÑA EN DISTINTOS SITIOS.

Hace muchos años, yo tenía un algoritmo (mental) para generar contraseñas distintas en cada sitio, pero eso servía cuando los mismos no te pedían que la cambies con alguna frecuencia (cosa que no es una buena práctica y, por suerte, muchos la han abandonado) y cuando no pasaba que cada sitio tenía su particular visión de qué caracteres debe contener una contraseña segura: algunos lugares te piden que uses números y letras; otros que, además haya al menos una mayúscula y una minúscula; otros, que pongas al menos un caracter «especial» (aunque no se ponen de acuerdo en qué caracteres especiales son válidos o no), etc.

Este tipo de requisitos y el deterioro mental, junto con la proliferación descontrolada de servicios en línea, me hicieron, hace como 10 años, complementar mi listadito encriptado de claves (más sobre esto más adelante) con un administrador de claves en línea.

En ese momento mi requerimiento era algo que me permita mantener en forma centralizada y segura mis claves para servicios en línea y que funcionara en Windows y Linux. En aquella época sólo encontré dos productos que me parecían razonables: 1password y LastPass. Como el primero sólo tenía un free trial de un mes o algo así y la versión básica del último era gratis, opté por LastPass.

¿Por qué no guardar las claves en el navegador? en aquel entonces, los navegadores no te permitían sincronizar configuraciones (y claves guardadas) entre distintas instancias y yo usaba tres o cuatro computadoras distintas, amén de que nunca me parecieron suficientemente confiables las medidas de seguridad que tenían (aún poniéndoles una «master password» ). Por otra parte, siempre usé más de un navegador, con lo cual, también tenía que mantener la sincronización entre distintos navegadores aunque estuviera en la misma máquina.

¿Cómo se usa LastPass?

LastPass es un servicio que mantiene tus claves guardadas en un sitio centralizado al que podés acceder desde la web. Ellos lo llaman la «bóveda LastPass» .

Para registrarte, usá una cuenta de mail personal (no del laburo: los laburos, y sus direcciones de mail, van y vienen). Yo en particular uso una cuenta de gmail. Lo otro que tenés que poner es, obviamente, una password. Esta password tiene que ser muy buena ya que es la password que protege todas tus passwords. Más aún no te la podés olvidar, porque no existe un mecanismo para recuperarla (y eso es bueno). Lo que te da LastPass es la posibilidad de guardar un ayudamemoria que le podés pedir si no te acordás la password. Ojo que cualquiera puede ver este ayudamemoria así que poner «la fecha de cumpleaños de la abuela Carlota» no sirve. Tiene que ser algo que te sirva a vos y solamente a vos para acordarte de qué fue lo que pusiste como password (por ejemplo, si usás como clave las 4 últimas palabras al revés -de atrás para adelante- de la tercera estrofa del himno nacional, podrías poner algo como «HN tercera 4 vesre» como ayudamemoria).

Una vez que te registraste en LastPass, lo que tenés que hacer es instalar el plugin en cada navegador que uses. Esto sirve para incorporar la funcionalidad de LastPass a tu navegador. Hay plugins para Firefox, Chrome/Chromium, Explorer, Edge, Safari y Opera, para Windows, Mac y Linux. También hay aplicaciones móviles para IOS y Android, que se bajan de los respectivos stores.

Cada vez que instalás el plugin en un navegador, te va a pedir que pongas la dirección de mail con la que te registraste y la clave. Lo mismo en el móvil. En el celular (al menos en Android) te va a pedir permiso para poder rellenar los campos usuario/clave no sólo en el navegador, sino también en las aplicaciones. Normalmente, las apps están relacionadas con el nombre de la página web del mismo servicio para un navegador, de modo que si guardo mi clave en la página de féisbuc en el plugin del navegador de la compu, cuando abra la app de féisbuc en el móvil, si no tengo la sesión abierta, me va a ofrecer poner el usuario/clave que guardé en LastPass desde el navegador.

El menú contextual (el del botón derecho) de LastPass, te da la posibilidad de generarte una clave «buena» cada vez que lo necesites (por ejemplo, cuando te registrás en una página nueva). Tenés la opción de elegir si querés que tenga mayúsculas, minúsculas, dígitos y caracteres especiales. No importa que no sea fácil de recordar porque igual te la va a guardar LastPass.

LastPass tiene otras funcionalidades que yo nunca usé, pero que pueden ser interesantes: autollenado de formularios, notas, etc. Hay más información en el sitio de LastPass.

¿Qué es lo que me gusta de LastPass?

Las claves y toda tu información se guardan en los servidores de LastPass encriptados con la clave que vos elegiste. El proceso de encriptado se realiza en tu dispositivo (en tu navegador o en tu móvil). Tu clave maestra nunca viaja por la red (ni se guarda en los servidores de LastPass), es por eso que no existe un mecanismo para recuperar la clave. Si hubiese un mecanismo para recuperar la clave maestra eso quiere decir que esa clave debería estar guardada en servidores de LastPass (con alguna protección bajo control de LastPass). Si un atacante lograra ingresar al servidor y desbaratar el mecanismo, tendría acceso al mecanismo de recuperación de claves.

Acá hay algo más de información acerca de cómo funciona.


Lo otro que me gusta es que la empresa ha sido abierta respecto de los incidentes de seguridad que ha tenido. Es decir, al menos dos o tres veces detectaron intrusiones o comportamiento anómalo en sus servidores y, después de resolver el problema, se comunicaron con sus usuarios explicando qué pasó y qué recomendaban hacer (en un caso extremo, si mal no recuerdo llegaron a deshabilitar el uso automático del servicio, forzándote a solicitar la rehabilitación reconfirmando tu dirección de mail registrada y luego obligándote a cambiar la clave maestra).

Información sobre incidentes publicada por la misma empresa

Datos de tarjetas de crédito, cuentas bancarias, sitios bancarios y de pagos, billeteras de criptomonedas

En realidad, KeePass es el primer password manager que usé. Básicamente es una pequeña base de datos con distintos campos (clave/usuario/notas/etc) que se mantiene en un único archivo y ese archivo se encripta con una única password que obviamente tiene que ser muy buena ya que es la password que protege todas tus passwords (esto me suena haberlo leído más arriba).

KeePass fue mi primera «libretita de passwords anotadas» para no olvidarlas.

La diferencia principal con LastPass es que esto es un archivito que está en tu computadora, no en un servicio que dependa de alguien más. Por un lado, creo que cuando empecé a usarlo (hace más de 15 años) no había ningún servicio del estilo de LastPass y, por otro lado, yo sólo tenía ahí anotadas unas pocas claves. Lo usaba más para tener anotados los números de las tarjetas de crédito, datos de cuentas bancarias, claves para recuperación billeteras de bitcoin u otras criptomonedas, etc (de hecho, sigo teniendo esa información en KeePass).

Hace tiempo que sincronizo mi único archivo KeePass usando un servicio parecido a DropBox (o Google Drive o One Drive) pero que opero yo mismo. A los fines prácticos, si tenés cualquiera de estos servicios, lo podés usar para tener tu archivo KeePass sincronizado entre distintas computadoras y tu celular.

Si bien KeePass2 funciona en Linux (usando Mono que es una implementación abierta del framework .NET), hace un tiempo utilizo KeePassXC que es una reescritura (también abierta) multiplataforma que corre nativamente en Linux, Mac y Windows.

En mi teléfono, antes usaba KeePassDroid y ahora estoy usando la versión offline del KeePass2Android que me gusta más.

En la página de downloads de KeePass hay links a todas estas versiones y otras (para iPhone, Blackberry, etc).

Segundo factor de autenticación (2fA)

Es una buena práctica de seguridad combinar múltiples factores de autenticación distintos para validar a un usuario de un servicio.

Un factor de autenticación es algo que si vos sos quien decís ser, se lo podés demostrar a quien te lo requiere para tener acceso a un recurso (un sistema, un edificio, un país, etc).

Los factores de autenticación más usados son:

  • Algo que sabés (por ejemplo, una clave secreta o el nombre de tu primera maestra de primaria)
  • Algo que tenés (como ser tu teléfono, una tarjeta magnética, un dispositivo USB, etc)
  • Algo que sos (una característica física tuya -biométrica- como tu huella digital, el iris de tu ojo, tu forma característica de tipear en el teclado)
  • Un lugar donde estás (un punto geográfico identificado por el GPS, o conectado desde determinada red)

El primer factor de autenticación más usado es, obviamente, una clave secreta (algo que sabés), nuestra vieja, conocida y odiada password.


El segundo factor de autenticación (2fa) más usado es, generalmente, algo que tenés. Últimamente es común que los bancos te den un pequeño dispositivo (token) con un botón y un display que muestra unos números que van cambiando periódicamente (cada 20, 30 o 60 segundos). El banco es posible que te solicite ese número para transferir dinero a otra cuenta. La empresa es posible que te pida ese número para ingresar a los sistemas corporativos (o quizás, para pasar a un sector del edificio). Existen versiones más complejas que te piden un PIN para ver el display y algunos que se conectan vía USB y permiten enviar el código automáticamente sin tipearlo.

Con la popularización de los teléfonos móviles, ahora es muy común utilizarlos como segundo factor de autenticación. Algunos sitios de pagos en línea pueden enviarte un mensaje vía SMS cuando intentás ingresar o hacer un pago.

Ahora que la mayoría de los móviles son «inteligentes» (ponele), se pueden utilizar aplicaciones para validar que el que intenta ingresar a un sitio o servicio es el poseedor del teléfono. Por ejemplo, si intentás ingresar en un servicio de Google en una computadora que no es la tuya con la cuenta que tenés registrada en tu teléfono Android y la clave correcta, te va a llegar una notificación al móvil preguntándote si vos estás intentando ingresar. Si le contentás que sí (en el teléfono) te va a dejar entrar automáticamente en la computadora.

Ahora bien, como hay muchos servicios que no son operados por el fabricante del sistema operativo de tu teléfono, hay aplicaciones que utilizan un estándar llamado TOTP que genera números únicos a partir de una clave secreta inicial (generada automáticamente) combinada con la hora actual. Estas aplicaciones a veces se llaman «soft token» y son cada vez más comunes en los bancos (en general se incluyen en la aplicación propia del banco que se utiliza en el teléfono).

Pero lo más común son las aplicaciones TOTP genéricas, que funcionan con cualquier servicio que permite la sincronización abierta de los parámetros TOTP, usualmente a través de un código QR. La más conocida es Google Authenticator (también para iPhone), pero hay muchas otras: FreeOTP, Microsoft Authenticator, etc.

El problema con estas aplicaciones es el mismo que tenés con cualquier factor de autenticación del tipo «algo que tenés». ¿Qué pasa si te lo roban o lo perdés? Más allá de que puedas tener el uso bloqueado (es decir, que podrías confiar en que no lo usen porque el teléfono se auto-bloquea/borra o el token requiere de un PIN), si lo perdés no lo podés usar. En general todos los sitios tienen algún mecanismo para entrar sin ese factor en particular y regenerarlo, por ejemplo, usando mensajes SMS (para lo cual tenés que, al menos, recuperar la línea telefónica), o con un correo electrónico o algún otro factor de autenticación. Pero después de haber perdido el teléfono (o de haber borrado la aplicación del mismo), tenés que regenerar todos los 2fa de cada uno de los sitios.

Después de usar Google Authenticator, descubrí una aplicación de 2fa hermosa que se llama Authy.

Lo que diferencia a Authy de los demás 2fa es que tiene dos facilidades (relacionadas) que te hacen la vida más fácil: backup en la nube y uso en múltiples dispositivos.

El backup en la nube funciona en forma análoga a lo que hace LastPass: encripta la información de los parámetros y datos secretos de cada uno de los sitios para los que tenés configurado 2fa en tu dispositivo y los sube encriptados a los servidores de Authy.

A su vez, teniendo estos datos en la nube, los podés recuperar desde otro dispositivo (una tablet o, inclusive, una computadora, ya sea portátil o de escritorio) y mantenerlos sincronizados (es decir, si agregás un nuevo servicio en un dispositivo, se sincroniza, a través de la nube, con los demás).

De este modo podés tener Authy configurado y funcionando al mismo tiempo en tu móvil y tu tablet. Si te roban el teléfono, podés seguir usando los sitios con 2fa con la tablet. Más aún, cuando te comprás un teléfono nuevo, recuperás todas las configuraciones. Esto no ocurre con Google Authenticator; si perdés el teléfono, cuando instalás el nuevo tenés que ingresar a cada uno de los servicios y generar un nuevo 2fa en el teléfono nuevo para cada uno.

Cuando empecé a escribir este post, descubrí que LastPass ahora tiene un nuevo servicio llamado LastPass Authenticator que funcionaría en forma similar a Authy, tengo que ver si funciona de modo tal de no quedarme afuera si no tengo el 2fa para poder abrir el 2fa.

Conclusión

Yo utilizo KeePass, LastPass Bitwarden y Authy para mantener mis claves y datos confidenciales seguros.

Supongo que con un poco menos de paranoia, podría tener todo unificado en LastPass: es decir, comenzar a usar LastPass Authenticator en lugar de Authy e incorporar a LastPass toda la información que de un modo u otro significa guita y que hoy tengo en KeePass (a esto último soy realmente reticente).

Espero que le sirva a alguien… si no, al menos queda pensar que este blog se transmite en electrones reciclables.