miércoles, agosto 17, 2022
|
¿Imaginan un futuro en donde por fin no tengan que entrar una clave más en una página web o app para poder acceder? Pues ese futuro ya está aquí, y hoy les explico cómo funciona.
Lo que permite esto es una técnica que en sí existe desde hace años y se llama "criptografía de llaves públicas y privadas", sin embargo hasta recientemente esa técnica se ha utilizado para temas muy específicos de bajo nivel de los cuales la mayoría de usuarios desconoce (por ejemplo, es lo que permite que salga "el candado" que protege tu navegador de Internet cuando estás entrando tus credenciales y compras, y es lo que también permite que distintas entidades bancarias transmitan entre sí información de forma segura por el internet público). Pero desde el 2016, una de las entidades que vela por la estandarización del internet (la W3C) emitió un estándar llamado WebAuthn que por fin está siendo adoptado por las grandes empresas que tienen plataformas con miras al usuario común (como Apple, Google y Microsoft), y que permitirá que por fin nunca tengas más ni que crear, memorizar o escribir claves. Y la razón que escribo este artículo hoy es porque estamos a semanas de que Apple lance su tecnología PassKeys en iOS 16 y en macOS Ventura, que permitirá que cientos de millones de personas inicien a utilizar esta tecnología, lo que la popularizará y masificará y hará que otras plataformas como Android y Windows (que también ya ha sacado tecnologías similares) también expandan su base de usuarios con sus respectivas tecnologías libres de claves que también interoperarán por medio del estándar WebAuthn. Ok, ¿cómo funciona esto? Para entender utilicemos una analogía de cómo funcionan los sistemas tradicionales de "login" de hoy día: Hoy día cuando entras a una página web o app que solicita tu usuario y clave, en esencia lo que está ocurriendo es que la página web o app te está pidiendo que le pases la llave de un candado digital que ellos tienen almacenados en su servidor o app. Y si tu llave abre ese candado entonces eso significa que tus credenciales son válidos y te permiten entrar. Pero en el caso de WebAuthn y PassKeys, lo que sucede es que la página web o app te envía a ti tu candado, y si tu logras abrirlo para ellos entonces esa es la señal de que tus credenciales son válidos ya que tú debiste haber tenido la llave que abre el candado. Eso de paso significa que los administradores de la página web o app nunca tienen acceso a tan siquiera ver tu llave que abre el candado de seguridad, ya que la llave la mantienes tú en todo momento. Pero, ¿cómo es esto posible? Pues lo que sucede tras bastidores es realmente bastante simple: Se utiliza un par de llaves, una privada y una pública, que están relacionadas matemáticamente entre sí, en donde lo que tú cifres con la llave privada solo puede ser descifrado por la llave pública, y viceversa. La llave privada siempre permanece almacenada localmente en tu dispositivo local (digamos, tu celular como ejemplo), y la llave pública (que en este caso podemos ver más como un candado) se la das a todo el mundo que desee poder darte acceso a su página web o app. Y de la manera que funciona el mecanismo es que en el momento que visitas una página web o app por primera vez tu dispositivo le provee automáticamente tu llave pública (el "candado") junto con cualquier otra información requerida (nombre, email, etc). Esto crea tu cuenta y nota que nunca tuviste que escribir una clave. Después de ahí cuando desees entrar a tu cuenta lo que sucede es que la página web o app le pregunta a tu celular quien eres, y este le da tu usuario (digamos, tu email) en cuyo momento la página web o app responde enviándole a tu dispositivo un mensaje cifrado con tu llave pública (el candado), y lo que tu dispositivo tiene que hacer ahora es utilizar tu llave privada (que solo tienes tu) para descifrar el mensaje y que la página web o app sepa que tú eres realmente quien dices ser. Esto es posible ya que solo tu llave privada puede descifrar un mensaje cifrado con tu llave pública. Y es bueno notar que en el paso en donde la página web o app envía tu llave pública que en ese momento tu dispositivo utiliza los datos biométricos asociados a tu dispositivo (como por ejemplo tu huella digital o cara, con tecnologías como Touch ID o Face ID de Apple) para enviar el mensaje cifrado al chip de seguridad de tu celular para que este descifre el mensaje con tu llave privada. O en otras palabras, tus datos biométricos ahora se convierten en tu forma de acceder a una página web o app. Así que en la práctica para entrar por ejemplo a una página web o app el procedimiento sería el siguiente: 1. Visitas la página web o abres el app. 2. Escaneas tu huella digital o cara en el celular. 3. Y esto es todo. Entras inmediatamente al app. Pero ojo, que no es tan solo que ahora con tu huella o cara puedes entrar a una página web o app sin tu hacer nada, la otra gran ventaja de esto es que no existen claves en ningún paso que tengas que crear, almacenar o recordar. Esto es sin duda alguna la forma más transparente que existe a la fecha para que accedas a tus datos sin necesidad alguna de utilizar claves. Pero aparte de que ya no existirían claves que tengas que manejar, la otra gran ventaja de este mecanismo es que eliminarían gran parte de los riesgos de seguridad que existen en el momento que hackers malignos traten de adivinar o robarte tu clave, ya que no hay clave para robar por ningún lado. Incluso si un hacker tuviese grabando todo lo que haces en la pantalla de tu celular, o instalara uno de esos programas troyanos que monitorean tu teclado, aun así no podrán acceder a tus páginas web o app ya que el mecanismo realmente depende de que tu celular utilice tu llave digital privada para descifrar mensajes cifrados con tu llave pública, y esa operación ocurre en un área protegida de tu celular (en iPhones ocurre en el Digital Enclave, un chip que solo puede ser desbloqueado por ti y cuya firma digital almacenada no puede sacarse de ese chip incluso por medio de programación de software; y en Windows y Android existen mecanismos similares: en Windows con la tecnología TPM y en Android hay ejemplos como la tecnología Knox de Samsung). Habiendo dicho todo eso, he aquí ahora algunas respuestas a preguntas que quizás tengan sobre esta tecnología: 1. ¿Cuál es la diferencia entre esto y el usar un Password Manager (Gestionador de Claves) que utiliza mis datos biométricos? Un Gestionador de Claves con lo único que te ayuda es en almacenar tus claves en un lugar centralizado en una zona relativamente segura, y en escribir las claves por ti en páginas web y apps, pero sufren del tema de que todavía estás teniendo que depender de una clave que hay que escribir en algún formulario, y por tanto no te protege en lo absoluto de las más populares formas de ataque (como leer tu teclado, infectar una página web con malware, o simplemente adivinar tu clave de forma bruta probando millones de combinaciones una a la vez). 2. ¿Qué sucede si quiero que alguien más entre a mi cuenta con mis credenciales, no podrán hacerlo si no tienen mis datos biométricos? Para esto esos usuarios tendrían o que (1) entrar de forma tradicional con un usuario y clave, lo que no es muy seguro, o (2) imagino que en un futuro cercano será posible que desde tu celular des permiso en tiempo real a esa otra persona de forma remota para que entre (similar a como con el sistema de ScreenTime de Apple los padres podemos autorizar que nuestros hijos compren cosas por Internet desde sus propios celulares). 3. Si soy usuario de Apple o Google y quiero acceder a un servicio de otro proveedor como Microsoft, Amazon, eBay u otro ¿tengo que tener un dispositivo en esa plataforma para acceder o recrear mis datos biométricos con ellos de alguna forma? La tecnología WebAuthn es totalmente interoperable, por lo que funcionará de forma transparente entre distintas plataformas, proveedores y dispositivos. Eso significa por ejemplo que un usuario de Android que haya instalado el app iTunes de Apple en su celular podrá seguir utilizando sus credenciales de su celular Android para acceder a los servicios de subscripción de Apple sin necesidad de entrar claves. 4. ¿Qué sucede si mi dispositivo no tiene capacidades biométricas para por ejemplos leer mi huella digital o escanear mi cara en 3D? Es posible (a opción del proveedor de tu celular o laptop por ejemplo) de utilizar WebAuthn sin datos biométricos, utilizando un PIN de unos cuantos dígitos, sin embargo esta opción no es tan segura ni conveniente como la opción biométrica, aunque ciertamente es más segura y conveniente que la forma tradicional de hacer login. Mi recomendación es que opten por celulares que al menos puedan leer la huella digital, y noten que ya la nueva generación de laptops y teclados están soportando leer tus huellas digitales (como por ejemplo todas las nuevas laptops de Apple, así como sus teclados externos con Touch ID), por lo que en cuestión de 2 a 5 años esta será la norma. 5. He leído que hackers han podido sacar copias 3D de huellas digitales, ¿no comprometerá eso la seguridad de esta tecnología? Una ventaja de esta tecnología es que tu llave privada está almacenada en tu celular o laptop a mano, por lo que incluso si alguien clonara tu huella digital no les serviría de nada al menos que también tengan acceso físico a tu celular para poner la huella en el lector. 6. ¿Y qué tal de hackers que ponen fotos o estatuas de réplica de una persona para engañar el sistema biométrico de tu cara? El mismo comentario anterior de huellas digitales aplica aquí, si los hackers no tienen acceso a tu celular físicamente no pueden tener acceso a tus credenciales. Noten además que hay dos tipos de reconocimiento facial. Hay una que es utilizada por muchos celulares Android que lo que hacen simplemente es sacarle una foto a tu cara y compararla con una foto previamente tomada. Esta forma no es segura para acceder a tu celular (y recomiendo no utilizarla) ya que es fácilmente penetrable con solo mostrarle una foto de tu cara al celular (lo he hecho personalmente con amigos). La otra forma es lo que hace Apple con Face ID que es totalmente diferente: El iPhone dispara más de 30,000 puntos invisibles a tu cara con los cuales crea una máscara virtual en 3D, cuyos datos combina también con una imagen previamente tomada de tu cara en 2D y 3D, y de paso el iPhone observa tus pupilas para asegurarse de que estés vivo y atento a la pantalla (por eso es que el iPhone te solicita que veas el celular directo). Esto es muchísimo más seguro y es la forma recomendada de implementar reconocimiento facial, y razón por la cual para temas biométricos el iPhone es permitido por varias instituciones financieras para asegurar tus transacciones con tu cara, mientras que no lo permite con varios otros tipos de celulares. En el mundo Android, cuando estés en duda, opta por el momento de escribir este artículo en autenticación biométrica con tu huella digital, al menos que al leer las especificaciones técnicas de tu celular sepas y entiendas qué tipo de autenticación biométrica facial realiza. --- Actualización Febrero 2023: Apple recientemente con iOS 16.3 y macOS 13.2 permite el uso de llaves en hardware para sus dispositivos iPhones, iPad y Macs, lo que se une a la misma funcionalidad que también se puede obtener en Windows y en algunas versiones de Android. Con este tipo de llaves o "Hardware Keys" es posible asegurar aun más tu cuenta, ya que para iniciar sesión en cualquier nuevo dispositivo con tu cuenta debes conectar físicamente (en un puerto USB-A o USB-C o Lightning) o de forma inalámbrica cercana (con NFC, como en todos los iPhones recientes) una llave en forma de memoria USB que contiene tus credenciales para poder entrar. En la implementación de Apple es requerido que tengas que activar dos llaves como mínimo (y un máximo de 6) con la finalidad de que si se te pierde, avería o te roban una, tengas una segunda de repuesto para emergencias. Nota que si por alguna razón pierdes accedo a tus llaves, que Apple te permite devolver a entrar de forma manual con tu clave y PIN siempre y cuando tengas habilitada la función de Autenticación de Dos Factores (2FA, o Two-Factor Authentication), pues es la única forma que pueden asegurarse (en la medida de lo posible) que nadie te pueda hackear remotamente. autor: josé elías |
24 comentarios
885,543 vistas |
Apple / OS X , Futuro Digital , Google , Internet , Linux , Negocios , Pregunta a eliax , Software , Tecno-Seguridad , Windows / Microsoft |
Comentarios
Añadir Comentario |
"[...] pienso lo mismo que tu pero no tenía las palabras que tu utilizaste para exprezar tantas cosas tan interesantes que mucha gente no es capaz de percibirlas como lo dices por lógica o sentido común.
La verdad me encantó el artículo. muchas gracias."
La verdad me encantó el artículo. muchas gracias."
en camino a la singularidad...
©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax
Seguir a @eliax
Espero se implemente algo igual con las tarjetas de crédito ya que en pleno 2022 existiendo la tecnología hoy día es estúpida la cantidad de fraudes que hay de todo tipo con los bancos.