Tokens de acceso privado: entramos en el futuro prometido, con privacidad y sin CAPTCHA
Hoy, en su Conferencia Mundial de Desarrolladores, Apple ha presentado una nueva tecnología que permite a los usuarios utilizar Fastly para acceder al contenido de FT.com sin trabas,sin CAPTCHA y un respeto escrupuloso por la privacidad de los usuarios finales. La misión principal de los tokens de acceso privado es ofrecer un marco de autorización, protección contra el fraude y respeto de la privacidad. Este artículo repasa sus funcionalidades y explica cómo pueden probarlos hoy mismo los desarrolladores con Fastly y Apple.
Entre bastidores: una tecnología estandarizada, abierta e impulsada por la comunidad
Desde Fastly hemos trabajado con nuestros compañeros de Apple, Cloudflare y Google para desarrollar y estandarizar la tecnología que utilizan los tokens de acceso privado. Se trata de una iteración del protocolo Privacy Pass</u> más accesible y con más capacidades. Si ya has trabajado con los tokens de confianza de Chrome</u>, los tokens de acceso privado te resultarán familiares.
Estos tokens se basan en las tecnologías mencionadas para crear algo que se pueda usar de forma más general, sin necesitar un complemento en el navegador, y que se pueda configurar para que anonimice a los usuarios finales. Actualmente hay un grupo de trabajo del IETF que está desarrollando y estandarizando</u> esta tecnología con total transparencia, pero ya está lista para que los desarrolladores se lancen a probarla.
Resolución de problemas de UX, accesibilidad y privacidad
Los CAPTCHA parecen ser omnipresentes, y cualquiera que use internet lo sabe bien. Resultan útiles a la hora de proteger los sitios web contra el fraude, pero también hacen que internet sea menos accesible: algunos usuarios no se molestan en resolverlos y pasan a otra cosa, mientras que otros tienen dificultades para hacerlo, de modo que no pueden acceder al contenido deseado.
Además, los más puestos en privacidad quieren saber lo que ocurre con los datos que proporcionan para resolver los CAPTCHA: ¿las soluciones y los tokens de autorización antiguos se usan para seguirnos la pista? Los usuarios que cuentan con configuraciones más privadas en sus navegadores suelen tener que pasar por más filtros de seguridad (como CAPTCHA) que los demás, y eso les puede dar que pensar.
Los tokens de acceso privado representan una alternativa a los CAPTCHA en plataformas compatibles: hacen un uso escrupuloso de la criptografía y los requisitos para garantizar que el sitio web solo sabe lo mínimo de un usuario para reconocerlo y darle acceso a un recurso. Así, no se precisa de interacción humana y no se filtran datos que no sean esenciales.
Cómo funcionan: las partes interesantes
El funcionamiento de los tokens de acceso privado es parecido al de otros marcos de autorización con desafío y respuesta. Aquí</u> encontrarás toda la información necesaria sobre la arquitectura. Lo que hace que sea tan interesante (la eliminación de interacciones humanas y el respeto de la privacidad) se puede resumir en unas cuantas ideas brillantes.
La primera consiste en aprovechar identidades y autenticaciones ya existentes. Para ello, la arquitectura especifica un sistema externo que pueda dar fe solamente de la información necesaria sobre el usuario; lo que se conoce como «attester» (autenticador) en la especificación. Puede que el autenticador tenga acceso a más datos sobre el usuario (piensa en toda la información que hay en tu móvil), pero está diseñado para autenticar única y exclusivamente la información necesaria para interactuar con el sitio web mediante el uso de criptografía.
La segunda idea brillante es la separación de las funciones, que es un comportamiento común en diseños criptográficos como la privacidad diferencial y la computación segura multipartita. En este caso, los tokens de acceso privado especifican que los clientes y los autenticadores (como pueden ser tu dispositivo y Apple) son los únicos que pueden acceder a los datos del usuario necesarios para poder reconocer al cliente. Los orígenes (p. ej., los sitios web) solo se enteran de que un cliente válido accede al sitio, mientras que los emisores (como organizaciones y sitios web que emiten tokens) solo saben que han otorgado un token válido a un cliente.
Por último, pero no menos importante, los tokens de acceso privado se sirven de meticulosos diseños criptográficos, entre los que destacan las firmas ciegas, para que todo ello funcione. En el caso de las firmas ciegas, cuando tu plataforma cliente autentica algo sobre ti, utiliza medios criptográficos para ocultar datos sobre el sitio web que estás visitando. Acto seguido, envía estos datos a un emisor de tokens (que confía en el autenticador), que incluye una firma ciega en los datos y los devuelve. Es decir, el emisor firma los datos sin conocer el contenido, lo cual no es muy buena idea si hablamos de hipotecas, pero funciona en el caso que nos ocupa.
Resumen del flujo de RSA ciego (tipo de token = 2). Encontrarás más información en el documento de especificaciones</u>.
Quitando casos especiales y comprobaciones de errores, el flujo de acciones es el siguiente:
Un usuario («client») solicita el acceso a un recurso protegido de un sitio web («origin»). El sitio web todavía no necesita saber nada del cliente, ni tan siquiera su dirección IP si usa una VPN o Relay privado de iCloud,
sino que se limita a responder con un desafío del token de acceso privado mediante un encabezado de respuesta HTTP «WWW-Authenticate».
A continuación, el cliente oculta el desafío y lo incluye en un mensaje de petición de token dirigido a un sistema (el autenticador) que, primero, puede autenticar la propiedad que el sitio web desea conocer (como la ejecución en un dispositivo iOS verificado) y, segundo, cuenta con la confianza del sistema que envía el token (el emisor).
El autenticador reenvía la petición al emisor del token, que la analiza y, si todo está en orden, la firma a ciegas y proporciona el resultado en una «TokenResponse». Fíjate en que el emisor no sabe nada del cliente gracias al ocultamiento criptográfico realizado por el mismo.
El autenticador reenvía la TokenResponse al cliente, que termina el proceso criptográfico al producir la firma final sobre los datos ocultados (del paso 3). La firma se usa para crear el token que espera el origen.
El cliente proporciona este token al origen (mediante un encabezado HTTP de petición «Authorization», por si te suena) y consigue acceder al recurso. Llegados a este punto, lo único que el sitio web sabe es que el cliente posee un token válido, puesto que ninguna información compartida con el autenticador se ha facilitado a otras partes involucradas.
Si miramos el proceso en su conjunto, vemos que es imposible relacionar la identidad del cliente con la actividad web. Sin embargo, se consigue la autorización para acceder a un sitio web, a la vez que se eliminan las interacciones humanas. ¡Es genial!
Si conoces la tecnología habitual de rastreo de sitios web, pensarás que esto no impide hacer un seguimiento de los visitantes mediante sus direcciones IP, y llevas razón, pero los usuarios tienen cada vez más opciones para taponar también ese goteo de datos, como pueden ser servicios proxy de privacidad como Relay privado de iCloud de Apple, que utiliza el servicio Private Gateway de Fastly</u>.
Pruébalo
Dejemos la teoría a un lado. Hemos trabajado con nuestros partners del ecosistema para crear los cimientos de los tokens de acceso privado que ya están al servicio de los desarrolladores.
Acceso anticipado para un cliente y un autenticador: si quieres ser de las primeras personas en probar las funcionalidades del token de acceso privado en las nuevas versiones de macOS y iOS de Apple, apúntate al programa beta de Apple</u>.
Habilita tokens de acceso privado en tu sitio: los documentos de especificaciones explican cómo emitir un desafío y gestionar un canje de tokens. Seguiremos informando sobre las facilidades que te da el WAF de última generación de Fastly.
Emite un token: Fastly ha desplegado un servicio en vivo para emitir tokens; consulta más abajo los detalles de la configuración. Este punto de conexión admite cualquier origen (¡y es solo para desarrollo!).Prueba a enviar hoy mismo una petición de emisión</u> correcta (desde un dispositivo iOS o macOS compatible) y recibirás un token válido que podrás canjear en un sitio web habilitado.
Configuración de demostración
Nombre del emisor:
demo-issuer.private-access-tokens.fastly.com
Clave pública del emisor codificada en Base64:
MIICUjA9BgkqhkiG9w0BAQowMKANMAsGCWCGSAFlAwQCAqEaMBgGCSqGSIb3DQEBCDALBglghkgBZQMEAgKiAwIBMAOCAg8AMIICCgKCAgEAubzND7lvK-u5aIFHSt_NHIzsUFuHCiwVm88kvUvbvJbjj4be_IdNwpfdfXz-vq6NeEwlKEDLtD9oMVop_kEf5HEBkiipBrcn10h17XvYPuc6lA7Z4Y8IjvSjLVydXmcabmslwreMysD1ZINjzadjlJxiIKWCeS_3OJ4dxMTirt8HMUl8cRQafTjSOBJIZNtoNiT5rr5_5SYfEQW8v25RZcitkL0Lrg1mkSutRR00EE3zMelQBGR0sf8jDgBRiPQ1-sSgaIicIciZ2ysiPdkQZBIDpIFnvqed4yKY9gZCn-ASztoe1JhJvzWUwO7Nyz1Mb6pxAV0aQNfb0rDMTPNtyF4z7kgtFcsr5SXiJUa13bm0G2QvEdhl177poghh2RDaT5tcEmiRRvdQWBTeVgFyjrX3-29TZCT4z8VyvDxPPIUIi2rN8-9lN6mmsF0KhlyKe4jUuDwK7dc6Q0gZyjKiE3n-ygErrlbOYU16MGQiJQRV6Z8j38OSD4Lf5-SzsgkAa6Zbv95Zf8TZRS-fuagiXGZcmfdO9zXkuNlRlGguEUpx520SANRciPIBZxFBDXga6kcT9Hfha0n97Mhq57kFRe2Cox7qpq79x9TjUvHOZkWMSv2KmZpoF0wbI2NvlZngbW6Z1hC-X4C3evilX7O498r45Ct7PNjq11Qjso82DwMCAwEAAQ==
Esto solo es el principio
Ya puedes utilizar el punto de conexión de emisión de tokens de Fastly, configurar tu origen y probar clientes beta de Apple, pero lo mejor está por venir.
Fastly se enorgullece de seguir invirtiendo en la creación de productos y tecnologías que reflejan nuestra manera de entender la seguridad y la privacidad como dos elementos fundamentales para que internet inspire más confianza. Trabajamos activamente con nuestros partners de la comunidad de estándares para añadir más funcionalidades a los tokens de acceso privado, como la limitación de volumen para la protección de contenidos multimedia y las atestaciones que incluyan más propiedades del cliente. Esta tecnología presenta posibles aplicaciones de lo más interesantes: piensa en lo que podrías hacer con garantías criptográficas de que comunicas única y exclusivamente lo que un sitio web necesita saber sobre un usuario, como su edad. Al dar una garantía explícita en este tipo de flujo de datos, podemos proteger tanto a los usuarios como los sitios web.
Por último, no te pierdas la posibilidad de configuración simple y automática de los tokens de acceso privado para que protejan tu sitio web, con la efectividad y facilidad de uso que se espera de nuestro WAF de última generación (con tecnología de Signal Sciences) y la velocidad y escalabilidad de nuestra plataforma de edge cloud de Fastly, ideal para desarrollar.