Compartir vía


Personificación

La suplantación es la capacidad de un subproceso para ejecutarse en un contexto de seguridad diferente del contexto del proceso que posee el subproceso. Cuando se ejecuta en el contexto de seguridad del cliente, el servidor "es" el cliente, hasta cierto punto. El subproceso de servidor usa un token de acceso que representa las credenciales del cliente para obtener acceso a los objetos a los que tiene acceso el cliente.

La razón principal de la suplantación es hacer que las comprobaciones de acceso se realicen en la identidad del cliente. El uso de la identidad del cliente para las comprobaciones de acceso puede hacer que el acceso esté restringido o expandido, en función de lo que el cliente tenga permiso para hacer. Por ejemplo, supongamos que un servidor de archivos tiene archivos que contienen información confidencial y que cada uno de estos archivos está protegido por una ACL. Para evitar que un cliente obtenga acceso no autorizado a la información de estos archivos, el servidor puede suplantar al cliente antes de acceder a los archivos.

Tokens de acceso para suplantación

Los tokens de acceso son objetos que describen el contexto de seguridad de un proceso o subproceso. Proporcionan información que incluye la identidad de una cuenta de usuario y un subconjunto de los privilegios disponibles para la cuenta de usuario. Cada proceso tiene un token de acceso principal que describe el contexto de seguridad de la cuenta de usuario asociada al proceso. De forma predeterminada, el sistema usa el token principal cuando un subproceso del proceso interactúa con un objeto protegible. Sin embargo, cuando un subproceso suplanta a un cliente, el subproceso de suplantación tiene un token de acceso principal y un token de suplantación . El token de suplantación representa el contexto de seguridad del cliente y este token de acceso es el que se usa para las comprobaciones de acceso durante la suplantación. Cuando se supera la suplantación, el subproceso vuelve a usar solo el token de acceso principal.

Puede usar la función OpenProcessToken para obtener un identificador del token principal de un proceso. Use la función OpenThreadToken para obtener un identificador del token de suplantación de un subproceso.

tokens de acceso de

delegación y suplantación