Salesforce MFA: una alternativa con Blockchain

Cuando publiqué el segundo artículo sobre el uso de Salesforce MFA, mi compañero de comunidad Manuel Tejeiro (kudos), me preguntó en Linkedin más o menos esto: nuestros usuarios no tienen dispositivos, implementar MFA se hace muy difícil.

Curiosamente, a mí me ha sucedido algo parecido en mi proyecto, y pensé, ¿cómo puede ser MFA una buena solución, cuando personas distintas en proyectos distintos, de empresas distintas tienen las mismas dificultades, después de tanto tiempo en qué MFA no tarda en llegar a los usuarios finales?

Y la verdad, mi impresión sobre MFA (Multi Factor Authenticator) es que no es una respuesta al problema de la autenticación que tenga futuro.

En este artículo te quiero explicar por qué para mi MFA no es el futuro y además estoy convencido de que no será una solución que debería permanecer, sino todo lo contrario, te explico cuál es una alternativa factible, viable y con futuro.

MFA tal como se define tiene el problema en su naturaleza: algo que yo sé + algo que yo tengo, para intentar solucionar que la autenticación no es fiable, cuando solo usamos credenciales, algo que yo sé. Realmente con MFA el objetivo es confirmar que, como no confiamos en tus credenciales vamos a solicitar más pruebas.

En los últimos años, hemos visto que las credenciales es un mecanismo obsoleto y los usuarios nos vemos obligados a recordar credenciales cada vez más difíciles de recordar, utilizar aplicaciones que nos permitan recordarlas, y en el peor de los casos, reutilizando credenciales, fáciles de suplantar.

Para solventar el problema, con MFA se propone sobrecargar al usuario y al administrador con más procesos, más dispositivos y más fricción entre ellos.

Consecuentemente, complicamos la vida a todos, tanto del usuario como del administrador, porque

  1. Las credenciales no son suficientes para probar la identidad.
  2. Debe usarse un dispositivo, al cual a partir de ahora el usuario quedará ligado, y que además deberá llevar consigo para que el proceso de autenticación sea completo.
  3. Este dispositivo debe cumplir estandares de conectividad, estar conectado a una red de datos, o contener factores biométricos, etc., que complican el proceso de enrollment y crean sobrecarga sobre los administradores de Salesforce, que no sólo tienen que lidiar con las funcionalidades del proyecto, sinó indagar en una diversidad de dispositivos que por supuesto desconocen.
  4. Si se olvidan las credenciales, o el dispositivo, o se pierde, ó si el dispositivo pasa a ser obsoleto, ó si el dispositivo se malmete (usbkey se rompe, la aplicacion de Authenticator no se abre, etc.), la autenticación falla y el usuario no podrá trabajar.

Es decir, MFA es una sobrecarga para todos los actores, sobre una solución obsoleta.

Mi propuesta es utilizar Blockchain, mediante una plataforma de Smart Contracts, usando NFTs.

En una red Blockchain, todos podemos disponer de NFTs, que son tokens no fungibles, únicos en toda la red, y que pertenecen a una billetera electrónica de un único usuario en la red.

Si la pregunta es ¿cómo podemos asegurar la veracidad de mi autenticación a una Org de Salesforce? La respuesta es: proporcionando el NFT que me identifica para esa Org.

Sin ser un experto en tecnología Blockchain, para mi está claro que los NFTs responden mucho mejor a la pregunta, ¿quién eres? Los NFTs, pueden almacenar la información sobre las identidades para identificarme unívoca, imperecedera e inquebrantablemente, porque es la red Blockchain que los contiene, igual que contiene Bitcoins o Eths.

Los NFTs, no están asociados a un dispositivo concreto, Neymar no tiene su mono (Bored Ape) en su móvil, o en un ordenador, está en la red Blockchain. Él puede perder el móvil, olvidar su ordenador, ir a otro país, pero mientras no pierda las 12 /24 palabras de su billetera, y tenga acceso a un dispositivo conectado a la red, no perderá nunca su mono.

El administrador de Salesforce deja de lidiar con dispositivos, procesos, etc., porque es la relación de la red con el usuario donde se centralizan las identidades que pueda tener en su billetera.

¿Esto es una propuesta es viable? Veamos.

  1. Salesforce puede crear una red Blockchain con un plataforma de Smart Constracts con NFTs, como lo son Ethereum o Terra Station.
  2. Cada NFT es una identidad del usuario en una Org.
  3. Salesforce puede crear una billetera, en mi opinión mejor una caliente al estilo de Metamask o Terra o incluirse en estas o a la que prefiera.
    1. Una billetera fría no creo que sea una apuesta correcta en este escenario, aunque si algunos usuarios quieren utilizar llaves como Ledger, también deben poder.
    2. Las identidades de un usuario son NFTs que estarán en su billetera, y él y solo él puede gestionar y los usa, eliminado la necesidad de MFA.
  4. En mi opinión el Smart Contract, no debe permitir la transferencia de NFTs entre usuarios, para evitar que se suplanten identidades (esto es un detalle técnico).

Todas estas tecnologías Blockchain, actualmente existen y son accesibles a Salesforce.

De hecho, si retrocedemos en este artículo, veremos que mi propuesta no es modificar MFA, sinó el proceso de autenticación, para pasar de un Login+MFA a un RFA (Right Factor Authentication).

Espero que sea de ayuda.

Enlaces interesantes

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.