Skip to main content

¿Qué es un token de acceso?

En los sistemas operativos de computadoras y otros marcos de software, un token de acceso es cualquier estructura de datos que contiene la información de seguridad que necesita un proceso para acceder a un objeto protegido u otro proceso que requiere autorización. Los objetos seguros suelen ser datos en el sistema de archivos con privilegios de lectura y escritura definidos, y un proceso es cualquier otro programa o servicio que requiera autorización para acceder a sus funciones. Si bien un token de acceso es simplemente un contenedor capaz de contener cualquier información, generalmente se usa para almacenar privilegios de usuario.

El concepto de un token de acceso fue concebido y utilizado principalmente por los sistemas operativos y programas de Microsoft®, pero su utilidad los ha llevado a otros lugares. La interfaz de programación de aplicaciones (API) para Google describe un método para usar tokens de acceso mientras se programan aplicaciones que necesitan acceder a datos asociados con la cuenta de un usuario de Google. Algunas de las grandes plataformas de redes sociales también usan tokens de acceso en su API.

Básicamente, cuando un usuario inicia sesión en un sistema operativo o marco de sistema de software, el sistema verifica el usuario y la contraseña en una base de datos de seguridad, y se crea un token de acceso que identifica al usuario ante cualquier objeto o proceso en el sistema. Cualquier proceso, como aplicaciones, programas o servicios, que inicie el usuario llevará consigo el token de acceso. El token de acceso, entonces, necesita almacenar varios bits de datos que otro programa u objeto verifica para otorgar acceso.

Los tokens de acceso contienen los identificadores de seguridad (SID), generalmente códigos numéricos, para el usuario, cualquier grupo de usuarios al que pertenece el usuario y la sesión de inicio de sesión actual. El token también contiene una lista de todos los privilegios que el usuario o los grupos tienen permitido. Hay un par de tipos diferentes de tokens de acceso, por lo que el token también debe identificar su tipo, ya sea primario o de suplantación. Un token de acceso primario es el tipo estándar utilizado, pero también se puede crear un token de suplantación para actuar en nombre del usuario.

Cuando se llama a un token de acceso para hacer su trabajo, se encuentra con un monitor de referencia de seguridad (SRM), un servicio que monitorea el acceso a objetos y procesos en el sistema. El SRM muestra el descriptor de seguridad del objeto o proceso para compararlo con el token de acceso. El descriptor de seguridad contiene una lista de control de acceso (ACL), donde cada entrada de control de acceso (ACE) define ciertos permisos para ese objeto o proceso. Por ejemplo, en el caso de un archivo en el sistema, el descriptor de seguridad contiene información sobre qué usuarios o grupos tienen permiso para leer o escribir en el archivo. Si el token de acceso que solicita acceso para abrir o editar el archivo no coincide con los permisos en el descriptor de seguridad, el acceso falla y se le niega al usuario el acceso al archivo.