Token de acceso (Access Token)
¿Qué es Token de acceso (Access Token)?
Token de acceso (Access Token)Credencial de corta duracion emitida por un servidor de autorizacion que el cliente presenta a una API para acceder a recursos protegidos en nombre del usuario o servicio.
Un access token representa la autorizacion que un propietario del recurso ha concedido a un cliente, acotada a permisos y audiencias especificos. En OAuth 2.0 (RFC 6749) y OpenID Connect, los access tokens pueden ser opacos (validados llamando al endpoint de introspeccion del servidor de autorizacion, RFC 7662) o JWT autocontenidos validados localmente por firma. Normalmente se envian en la cabecera Authorization: Bearer segun la RFC 6750 y deben viajar siempre sobre TLS.
La debilidad central de un token de portador simple es que la posesion equivale a la autoridad: un token robado del almacenamiento del navegador, de un log o de un proxy puede ser reproducido por cualquiera. Esto impulso el auge de los tokens vinculados al emisor (sender-constrained). La RFC 8705 vincula un token al certificado TLS del cliente (registrando su hash en el claim cnf.x5t#S256), y la RFC 9449 (DPoP) lo vincula a un par de claves en poder del cliente, exigiendo un nuevo JWT de prueba firmado en cada peticion, de modo que un token reproducido resulta inutil sin la clave privada. Los ataques de robo de tokens, incluido el replay de sesion/token visto en Lapsus$ y en diversas intrusiones cloud de tipo "pass-the-token", son precisamente lo que estos mecanismos neutralizan.
Buenas practicas: vidas cortas (minutos), scopes reducidos, validacion estricta de audience e issuer, rechazo del truco JWT alg: none, emparejamiento con refresh tokens para la renovacion y mantener los tokens fuera del almacenamiento accesible desde JavaScript. Para APIs de alto valor, prefiere tokens vinculados con DPoP o mTLS frente a los tokens de portador simples.
flowchart LR RO[Propietario del recurso] -->|otorga consentimiento| AS[Servidor de autorizacion] C[Cliente] -->|peticion de token + clave DPoP/mTLS| AS AS -->|access token de corta duracion<br/>scope + aud + claim cnf| C C -->|Token Bearer + prueba de posesion| RS[Servidor de recursos / API] RS -->|validar firma/introspeccion<br/>comprobar aud, exp, vinculo de clave| RS RS -->|permitir o denegar| C
● Ejemplos
- 01
Un access token OAuth 2.0 con scope=read:invoices y exp a 15 minutos en el futuro.
- 02
Un token opaco validado mediante el endpoint /introspect del servidor de autorizacion.
● Preguntas frecuentes
¿Qué es Token de acceso (Access Token)?
Credencial de corta duracion emitida por un servidor de autorizacion que el cliente presenta a una API para acceder a recursos protegidos en nombre del usuario o servicio. Pertenece a la categoría de Identidad y acceso en ciberseguridad.
¿Qué significa Token de acceso (Access Token)?
Credencial de corta duracion emitida por un servidor de autorizacion que el cliente presenta a una API para acceder a recursos protegidos en nombre del usuario o servicio.
¿Cómo defenderse de Token de acceso (Access Token)?
Las defensas contra Token de acceso (Access Token) combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.