Announcing DPoP Support for Google OAuth: Securing Refresh Tokens
Home/Blog/Tech/Google OAuth añade DPoP Support to Enhance Refresh Token Security
ciberseguridadConfirmado

Google OAuth añade DPoP Support to Enhance Refresh Token Security

Google ha anunciado soporte para DPoP (Demonstrating Proof-of-Possession) en su plataforma OAuth, mejorando significativamente la seguridad de las fichas de actualización contra el malware y ataques de hombre en medio para los desarrolladores.

Fuente de imagen: Google

Datos confirmados

El 15 de octubre de 2026, Google anunció que su plataforma OAuth apoya ahora al DPoP (Demostrando la Prueba de la Posesión). Esta nueva capacidad está diseñada específicamente para captar tokens refrescante-constrain, una medida destinada a neutralizar las amenazas de los ataques de malware Infostealer y adversario en medio (AiTM).

La implementación de DPoP implica tokens de refresco criptográficamente vinculantes de larga duración. Curiosamente, las fichas de acceso seguirán funcionando como fichas estándar de Bearer. Esta distinción estratégica tiene como objetivo proporcionar seguridad credencial robusta sin introducir un alto QPS (queries por segundo) sobre el rendimiento de API, ya que las fichas de acceso se utilizan típicamente para llamadas frecuentes de API.

Además, Google confirmó que los desarrolladores que integran las cargas de trabajo del Protocolo de texto multiagente o modelo (MCP) pueden aprovechar el servicio Google Cloud Secure Token Service (STS) para gestionar la delegación de token segura en cadenas de agentes, utilizando este mecanismo de seguridad mejorado.

Análisis técnico

La integración de DPoP en Google OAuth representa una mejora significativa de la postura de seguridad de las aplicaciones que dependen de los servicios de autenticación de Google. Para entender su impacto, es esencial revisar primero los roles fundamentales y las vulnerabilidades inherentes de las fichas OAuth.

OAuth es un marco de autorización que permite a las aplicaciones obtener acceso limitado a las cuentas de usuario en un servicio HTTP. Normalmente implica dos tipos primarios de fichas: acceso a fichas y fichas de actualización. Las fichas de acceso son credenciales de corta duración utilizadas para acceder a los recursos protegidos en nombre del usuario. Por lo general se presentan como fichas 'Bearer', lo que significa que cualquiera en posesión de la ficha puede utilizarla. Este diseño prioriza la eficiencia para llamadas frecuentes de API, pero inherentemente conlleva un riesgo: si se roba una ficha de acceso de Bearer, puede ser inmediatamente utilizado por un atacante hasta que expire.

Las fichas de referencia, en cambio, son credenciales de larga duración utilizadas para obtener nuevas fichas de acceso una vez que el actual expira. Su longevidad los convierte en un blanco principal para los atacantes. Si un token refrescante se ve comprometido, un atacante puede minar continuamente nuevas fichas de acceso, manteniendo un acceso persistente a los recursos de un usuario sin necesidad de su contraseña. Esta vulnerabilidad es particularmente explotada por amenazas como el malware Infostealer, que exfiltra credenciales de dispositivos cliente comprometidos, y ataques con adversarios en medio (AiTM), donde los atacantes interceptan y reproducen fichas.

DPoP (Demonstrating Proof-of-Possession), definido por IETF RFC 9449, aborda directamente la vulnerabilidad token 'Bearer' introduciendo la unión criptográfica. El mecanismo central involucra al cliente generando un par de teclas privado/público. Cuando un cliente solicita un token de actualización con DPoP, su clave pública (o una referencia criptográfica a ella) se asocia con el token de actualización emitido. Posteriormente, cada vez que el cliente utiliza este refresco para solicitar una nueva ficha de acceso, debe firmar criptográficamente una prueba DPoP (normalmente un JSON Web Token, JWT) utilizando su clave privada. Esta prueba se incluye en un encabezado DPoP en la solicitud.

El servidor, al recibir la solicitud, verifica la firma en el encabezado DPoP contra la llave pública vinculada al token refrescante. Este proceso de verificación confirma que el cliente que hace la solicitud es, de hecho, el titular legítimo de la clave privada asociada con ese refresco específico. Esto hace que el token 'sender-constrained' – sólo la entidad que posee la llave privada correspondiente puede utilizar con éxito el token refrescante. Una inferencia de este mecanismo es que un token de refresco con límite de DPoP robado se vuelve efectivamente inútil para un atacante, ya que carecerían de la llave privada necesaria para generar una prueba de DPoP válida.

Esta aplicación del DPoP aumenta considerablemente la seguridad contra las amenazas identificadas. Para Infostealer malware, incluso si un token refrescante es exfiltrado de un dispositivo comprometido, no puede ser utilizado por el atacante sin la llave privada, que normalmente se almacena de forma segura en el cliente y nunca se transmite. Análogamente, en ataques AiTM, el adversario no puede reproducir ni utilizar un token de refrigerio interceptado de DPoP porque no pueden generar la prueba criptográfica requerida de posesión. Esto mitiga directamente el riesgo de un acceso no autorizado persistente.

Para los desarrolladores, integrar el soporte DPoP para fichas de actualización implica cambios específicos en las implementaciones de OAuth del lado cliente. Los clientes tendrán que generar y gestionar de forma segura una clave privada, que podría implicar el uso de módulos de seguridad de hardware (HSM), enclaves seguros u otros mecanismos de almacenamiento protegidos dependiendo del entorno del cliente. También deben implementar la lógica para crear y firmar pruebas DPoP para las solicitudes de refrescos, incluyendo el encabezado DPoP adecuado. Si bien esto añade complejidad al desarrollo de los clientes, los beneficios de seguridad resultantes son sustanciales, lo que conduce a una aplicación más robusta y fiable.

La decisión de mantener las fichas de acceso como fichas estándar Bearer es una opción de ingeniería práctica. Las fichas de acceso se utilizan para llamadas API de alta frecuencia, y exigir una prueba criptográfica de posesión para cada solicitud de API introduciría una sobrecarga de rendimiento significativa. Al aplicar DPoP sólo a los tokens de refresco menos utilizados, Google equilibra mayor seguridad para las credenciales de larga duración con el mantenimiento de la eficiencia de rendimiento de las fichas de acceso de corta duración. Esto permite que las aplicaciones se beneficien de una seguridad más fuerte sin incurrir en una penalización de rendimiento notable en sus interacciones principales de API.

Además, el anuncio pone de relieve la utilidad de DPoP en escenarios avanzados, específicamente para cargas de trabajo multiagente o de protocolo modelo de contexto. Estos entornos a menudo implican cadenas complejas de agentes o servicios automatizados que necesitan delegar y gestionar de forma segura el acceso a los recursos. The confirmed integration with Google Cloud Secure Token Service (STS) suggests that DPoP will facilitate a more secure model for token delegation in these contexts. Una inferencia es que el STS, junto con el DPoP, puede garantizar que las fichas transmitidas entre los agentes sean constricidas por los remitentes, evitando que los agentes no autorizados mal usen las credenciales delegadas y aumenten la integridad general de los flujos de trabajo multiagentes.

Si bien los beneficios de seguridad son claros, el anuncio no reveló cambios específicos de la API ni guías de aplicación detalladas más allá del marco conceptual de DPoP. Los desarrolladores tendrán que consultar la próxima documentación para pasos precisos de integración. El anuncio tampoco especificó cómo se manejarán los flujos de token de refrescar no-DPoP existentes o si DPoP se convertirá en un requisito obligatorio para nuevas aplicaciones o tipos específicos de clientes. Estos detalles son cruciales para que los desarrolladores planifiquen su migración o nuevas implementaciones.

Announcing DPoP Support for Google OAuth: Securing Refresh Tokens
Fuente de imagen: Google

Fuentes