Jeton de acces

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 24 februarie 2019; verificările necesită 6 modificări .

Un  jeton de acces este un obiect de program al sistemelor de operare din clasa Microsoft Windows care conține informații de securitate a sesiunii și identifică un utilizator, un grup de utilizatori și privilegii de utilizator.

Prezentare generală

Un token de acces este un obiect care încapsulează descriptorul de securitate al unui proces [1] . Aplicat unui proces, descriptorul de securitate identifică proprietarul obiectului [2] [3] . Atâta timp cât marcatorul este folosit pentru a reprezenta doar informații de securitate, conținutul său este tehnic gratuit și poate conține orice date. Jetonul de acces este folosit de Windows atunci când un proces încearcă să interacționeze cu obiecte ai căror descriptori de securitate necesită controlul accesului [1] . Un token de acces este reprezentat de un obiect sistem de tip Token . Deoarece jetonul este un obiect de sistem obișnuit, accesul la jetonul în sine poate fi controlat cu un descriptor de securitate, dar acest lucru nu se face de obicei niciodată în practică.

Un token de acces este generat de serviciul de conectare atunci când un utilizator se înregistrează și este autentificat cu succes prin specificarea drepturilor utilizatorului în descriptorul de securitate inclus în token. Token-ul este atașat fiecărui proces creat de sesiunea utilizatorului (procese deținute de utilizator) [1] . Ori de câte ori un astfel de proces solicită orice resursă controlată cu acces, Windows caută în descriptorul de securitate din jetonul de acces pentru a vedea dacă utilizatorul, proprietarul procesului, are acces la date și, dacă da, ce operațiuni (citire, scriere/ modifica) i se permite. Dacă operațiunea este permisă în contextul utilizatorului dat, Windows permite continuarea procesului, dacă nu, interzice accesul.

Tipuri de jeton de acces

Există două tipuri de jetoane de acces:

Token de acces primar

Tokenurile de acces primare pot fi asociate doar unui proces și sunt subiectul de securitate al procesului. Crearea de jetoane primare și asocierea acestora cu un proces sunt operațiuni privilegiate care necesită două privilegii diferite (pentru privilegii separate). Într-un scenariu tipic, serviciul de identitate creează un token, iar serviciul de conectare îl asociază cu shell-ul sistemului de operare al utilizatorului . La creare, procesele noi moștenesc o copie a simbolului principal al procesului părinte.

Uzurpare identității jetoanelor de acces

Uzurparea identității este un concept de securitate unic pentru Windows NT care permite unei aplicații server să „fie” temporar un client pentru a accesa un obiect protejat. Uzurparea identității constă din trei niveluri posibile: identificarea, care permite serverului să autentifice clientul, uzurparea identității, care permite serverului să acționeze în numele clientului și delegarea, la fel ca uzurparea identității, extinsă doar pentru a lucra cu sisteme de la distanță pe care serverul comunică cu. Clientul poate alege nivelul maxim posibil de uzurpare a identității pe server în parametrul de conectare. Delegarea și uzurparea identității sunt operațiuni privilegiate. Tokenurile de acces de uzurpare a identității pot fi asociate numai cu fire și sunt subiecte de securitate ale procesului client. Tokenurile de uzurpare a identității sunt de obicei create și asociate cu firul curent implicit folosind mecanisme IPC precum DCE RPC , DDE și named pipes .

Componentele unui token de acces

Un simbol de acces constă din diferite câmpuri, inclusiv, dar fără a se limita la următoarele:

  • identificator ;
  • identificatorul sesiunii de conectare asociate. Sesiunea este întreținută de serviciul de identitate și populată cu pachete de identitate cu o colecție a tuturor informațiilor (acreditările) furnizate de utilizator în timpul autentificării. Mandatul este folosit pentru a accesa sistemele de la distanță fără a fi necesară reidentificarea clientului, cu condiția ca toate sistemele implicate să partajeze informații de identitate.
  • numele de utilizator. Acest câmp este cel mai important și este protejat la scriere.
  • identificatorul grupurilor din care face parte utilizatorul (sau, mai precis, subiectul). ID-urile de grup nu pot fi eliminate, dar pot fi dezactivate. Cel mult unuia dintre grupuri i se atribuie un identificator de sesiune, un grup arbitrar reprezentând sesiunea de autentificare, permițând accesul la diferitele obiecte asociate sesiunii.
  • restricţionarea identificatorilor de grup (câmpul este opţional). Acesta este un set suplimentar de grupuri care nu oferă acces suplimentar, dar îl restricționează: accesul la un obiect este deschis doar dacă acesta este deschis și unuia dintre aceste grupuri. Acest tip de grup nu poate fi șters sau dezactivat.
  • privilegii, adică capacitățile speciale ale utilizatorului. Majoritatea privilegiilor sunt dezactivate implicit pentru a preveni posibilele daune din cauza programelor prost protejate. Începând cu Windows XP Service Pack 2 și Windows Server 2003 , privilegiile pot fi eliminate dintr-un simbol de acces apelând AdjustTokenPrivileges() cu atributul SE_PRIVILEGE_REMOVE.

Proprietarul implicit, grupul primar și ACL pentru obiectele create de subiectul asociat cu simbolul utilizatorului.

Note

  1. 1 2 3 Jetoane de acces Arhivat 21 iulie 2012 la Wayback Machine  
  2. Descriptori de securitate Arhivat 5 august 2011 la Wayback Machine  
  3. Obiecte securizate Arhivat 5 august 2011 la Wayback Machine