Interfață furnizor de asistență de securitate - Security Support Provider Interface
Interfața furnizorului de asistență de securitate ( SSPI ) este o componentă a API-ului Windows care efectuează operațiuni legate de securitate, cum ar fi autentificarea .
SSPI funcționează ca o interfață comună pentru mai mulți furnizori de asistență de securitate (SSP): Un furnizor de asistență pentru securitate este o bibliotecă cu legături dinamice (DLL) care face unul sau mai multe pachete de securitate disponibile pentru aplicații.
Furnizori
Următoarele SSP-uri sunt incluse în Windows:
- NTLMSSP (msv1_0.dll) - Introdus în Windows NT 3.51 . Oferă autentificare NTLM provocare / răspuns pentru domeniile Windows anterioare Windows 2000 și pentru sistemele care nu fac parte dintr-un domeniu.
- Kerberos (kerberos.dll) - Introdus în Windows 2000 și actualizat în Windows Vista pentru a suporta AES . Efectuează autentificarea pentru domeniile Windows în Windows 2000 și versiuni ulterioare.
- NegotiateSSP (secur32.dll) - Introdus în Windows 2000. Oferă capacitate de conectare unică , denumită uneori autentificare Windows integrată (în special în contextul IIS). Înainte de Windows 7 , acesta încearcă Kerberos înainte de a reveni la NTLM. Pe Windows 7 și versiunile ulterioare, este introdus NEGOExts, care negociază utilizarea SSP-urilor personalizate instalate, care sunt acceptate pe client și server pentru autentificare.
- Secure Channel (schannel.dll) - Introdus în Windows 2000 și actualizat în Windows Vista pentru a sprijini criptarea AES și ECC mai puternice. Acest furnizor folosește înregistrări SSL / TLS pentru a cripta sarcinile utile ale datelor.
- TLS / SSL - Criptografie cu cheie publică SSP care oferă criptare și comunicații sigure pentru autentificarea clienților și serverelor pe internet. Actualizat în Windows 7 pentru a suporta TLS 1.2.
- Digest SSP (wdigest.dll) - Introdus în Windows XP . Oferă autentificare HTTP și SASL bazată pe provocare / răspuns între sistemele Windows și non-Windows în care Kerberos nu este disponibil.
- CredSSP (credssp.dll) - Introdus în Windows Vista și disponibil pe Windows XP SP3. Oferă autentificare unică și autentificare la nivel de rețea pentru serviciile de birou la distanță .
- Autentificare parolă distribuită (DPA, msapsspc.dll) - Introdusă în Windows 2000. Oferă autentificare pe internet utilizând certificate digitale .
- Criptografie cu cheie publică de la utilizator la utilizator (PKU2U, pku2u.dll) - introdus în Windows 7 . Oferă autentificare peer-to-peer utilizând certificate digitale între sisteme care nu fac parte dintr-un domeniu.
Comparaţie
SSPI este o variantă proprietară a interfeței programului de aplicații generice de servicii de securitate (GSSAPI) cu extensii și tipuri de date foarte specifice Windows. A fost livrat cu Windows NT 3.51 și Windows 95 cu NTLMSSP . Pentru Windows 2000, a fost adăugată o implementare a Kerberos 5, utilizând formate de jetoane conforme cu standardul oficial de protocol RFC 1964 (mecanismul Kerberos 5 GSSAPI) și oferind interoperabilitate la nivel de fir cu implementările Kerberos 5 de la alți furnizori.
Jetoanele generate și acceptate de SSPI sunt în mare parte compatibile cu GSS-API, astfel încât un client SSPI pe Windows poate fi capabil să se autentifice cu un server GSS-API pe Unix, în funcție de circumstanțele specifice.
Un neajuns semnificativ al SSPI este lipsa legărilor de canale , ceea ce face imposibilă o anumită interoperabilitate GSSAPI.
O altă diferență fundamentală între GSSAPI definită de IETF și SSPI-ul Microsoft este conceptul de „ uzurpare ”. În acest model, un server poate funcționa cu toate privilegiile clientului autentificat, astfel încât sistemul de operare să efectueze toate verificările de control al accesului , de exemplu la deschiderea fișierelor noi. Dacă acestea sunt mai puține privilegii sau mai multe privilegii decât cele din contul de serviciu original, depinde în totalitate de client. În modelul tradițional (GSSAPI), atunci când un server rulează sub un cont de serviciu, nu își poate ridica privilegiile și trebuie să efectueze controlul accesului într-un mod specific clientului și al aplicației. Implicațiile evidente de securitate negative ale conceptului de uzurpare sunt prevenite în Windows Vista prin restricționarea uzurparii la conturile de servicii selectate. Uzurparea identității poate fi implementată într-un model Unix / Linux utilizând seteuid
apelurile de sistem sau conexe. Deși acest lucru înseamnă că un proces neprivilegiat nu își poate ridica privilegiile, înseamnă, de asemenea, că pentru a profita de uzurparea procesului trebuie să ruleze în contextul contului de utilizator root .