Définition du jeton daccès

Dans

les

systèmes informatiques, un jeton d’accès contient les informations d’identification de sécurité pour une session de connexion et identifie l’utilisateur, les groupes d’utilisateurs, les privilèges de l’utilisateur et, dans certains cas, une application particulière. [1] Dans certains cas, on peut demander à une personne d’entrer un jeton d’accès (par exemple 40 caractères aléatoires) plutôt que le mot de passe habituel (il doit donc être gardé secret au même titre qu’un mot de passe).

Vue d’ensemble

Un jeton d’accès est un objet encapsulant l’identité de sécurité d’un processus ou d’un thread. [2] Un jeton est utilisé pour prendre des décisions de sécurité et pour stocker des informations infalsifiables sur une entité système. Alors qu’un jeton est généralement utilisé pour représenter uniquement la sécurité , il est capable de contenir des données supplémentaires de forme libre qui peuvent être jointes lors de la création du jeton. Les jetons peuvent être dupliqués sans privilège spécial, par exemple pour créer un nouveau jeton avec des niveaux inférieurs de droits d’accès afin de restreindre l’accès d’une application lancée. Un jeton d’accès est utilisé par Windows lorsqu’un processus ou un thread tente d’interagir avec des objets qui ont des descripteurs de sécurité (objets sécurisables ). [2] Sous Windows, un jeton d’accès est représenté par l’objet système de type .

Un jeton d’accès est généré par le service d’ouverture de session lorsqu’un utilisateur se connecte au système et que les informations d’identification fournies par l’utilisateur sont authentifiées par rapport à la base de données d’authentification. La base de données d’authentification contient les informations d’identification nécessaires à la construction du jeton initial pour la session d’ouverture de session, y compris son ID utilisateur, son ID de groupe principal, tous les autres groupes dont elle fait partie, et autres informations. Le jeton est attaché au processus initial créé dans la session utilisateur et hérité par les processus ultérieurs créés par le processus initial. [2] Chaque fois qu’un tel processus ouvre un handle à une ressource pour laquelle le contrôle d’accès est activé, Windows rapproche les données du descripteur de sécurité de l’objet cible avec le contenu du jeton d’accès effectif actuel. [3] Le résultat de cette évaluation de vérification d’accès indique si un accès est autorisé et, le cas échéant, quelles opérations (lecture, écriture/modification, etc.) l’application appelante est autorisée à effectuer.

Types de jetons

Il existe deux types de jetons disponibles :

Jeton principal
Les jetons principaux ne peuvent être associés qu’à des processus et représentent le sujet de sécurité d’un processus. La création de jetons primaires et leur association à Les processus sont tous deux des opérations privilégiées, nécessitant deux privilèges différents au nom de la séparation des privilèges : le scénario typique voit le service d’authentification créer le jeton et un service d’ouverture de session l’associer à l’interpréteur de commandes du système d’exploitation de l’utilisateur. Les processus héritent initialement d’une copie du jeton principal du processus parent.
L’emprunt
d’identité est un concept de sécurité implémenté dans Windows NT qui permet à une application serveur d’être temporairement le client en termes d’accès à des objets sécurisés. L’usurpation d’identité a quatre niveaux possibles : anonyme , donnant au serveur l’accès d’un utilisateur anonyme/non identifié, identification , laissant le serveur inspecter l’identité du client mais ne pas utiliser cette identité pour accéder à des objets, usurpation d’identité , laissant le serveur agir au nom du client, et délégation , identique à l’usurpation d’identité mais étendu aux systèmes distants auxquels le serveur se connecte (par la préservation des informations d’identification). Le client peut choisir le niveau d’emprunt d’identité maximal (le cas échéant) disponible pour le serveur en tant que paramètre de connexion. La délégation et l’emprunt d’identité sont des opérations privilégiées (l’emprunt d’identité ne l’était pas au départ, mais une négligence historique dans l’implémentation des API clientes ne parvenant pas à restreindre le niveau par défaut à « l’identification », laissant un serveur non privilégié se faire passer pour un client privilégié réticent, l’exigeait). Les jetons d’emprunt d’identité ne peuvent être associés qu’à des threads et représentent le sujet de sécurité d’un processus client. Les jetons d’emprunt d’identité sont généralement créés et associés au thread actuel, implicitement, par des mécanismes IPC tels que DCE RPC, DDE et des canaux nommés.

Contenu d’un jeton

Un jeton est composé de différents champs, notamment : [4]

  • un identifiant.
  • Identificateur de la session de connexion associée. La session est gérée par le service d’authentification et est renseignée par les packages d’authentification avec une collection de toutes les informations (informations d’identification) fournies par l’utilisateur lors de la connexion. Les informations d’identification sont utilisées pour accéder à des systèmes distants sans que l’utilisateur ait besoin de s’authentifier à nouveau (authentification unique), à condition que tous les systèmes concernés partagent une autorité d’authentification (par exemple, un serveur de tickets Kerberos)
  • l’identificateur de l’utilisateur. Ce champ est le plus important et il est strictement en lecture seule.
  • les identifiants des groupes dont l’utilisateur (ou, plus précisément, le sujet) fait partie. Les identificateurs de groupe ne peuvent pas être supprimés, mais ils peuvent être désactivés ou rendus « refusables uniquement ». Tout au plus l’un des groupes est désigné comme l’identifiant de session , un groupe volatile représentant la session de connexion, permettant l’accès à la les objets associés à la session, tels que l’affichage.
  • Restriction des identificateurs de groupe (facultatif). Cet ensemble supplémentaire de groupes n’accorde pas d’accès supplémentaire, mais le restreint davantage : l’accès à un objet n’est autorisé que s’il est également autorisé à l’un de ces groupes. La restriction des groupes ne peut pas être supprimée ou désactivée. Les groupes de restriction sont un ajout récent, et ils sont utilisés dans l’implémentation des sandbox.
  • les privilèges, c’est-à-dire les capacités spéciales dont dispose l’utilisateur. La plupart des privilèges sont désactivés par défaut, afin d’éviter les dommages causés par des programmes non soucieux de la sécurité. À partir de Windows XP Service Pack 2 et Windows Server 2003, les privilèges peuvent être définitivement supprimés d’un jeton par un appel à avec l’attribut.
  • le propriétaire par défaut, le groupe primaire et la liste de contrôle d’accès du jeton créé par le sujet associé au jeton.

Voir aussi

références