Data Protection API

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 5 septembrie 2017; verificările necesită 7 modificări .

Data Protection API (DPAPI) este o interfață de programare a aplicațiilor criptografice din familia de sisteme de operare Windows care oferă protecție ( confidențialitate ) datelor prin criptarea acestora.

Pentru aproape toate criptosistemele, una dintre cele mai dificile sarcini este gestionarea cheilor . În special, stocarea în siguranță a cheilor. Dacă cheia este stocată în text simplu, atunci orice utilizator cu acces la cheie poate accesa și datele criptate. DPAPI permite dezvoltatorilor să cripteze date private sau chei de criptare folosind o cheie simetrică derivată din parola de conectare a proprietarului sau, în cazul criptării sistemului, secretul de autentificare al domeniului .

Istorie

În 2005, Passcape Software a lansat prima aplicație comercială care emulează complet DPAPI în modul offline, adică. fără ca utilizatorul să se conecteze la cont.

În 2010, la Black Hat DC 2010 , Elie Bursztein și Jean-Michel Picode au prezentat o analiză DPAPI numită Reversing DPAPI and Stealing Windows Secrets Offline . Pe lângă informarea lor, Bursztein și Picode au lansat DPAPIck  (link indisponibil) , un utilitar open source care decriptează și datele DPAPI offline.

În Windows 8 , Microsoft a schimbat modul în care funcționează logica DPAPI. Acum pot fi folosite mai multe chei personalizate pentru a decripta cheia principală DPAPI.

În 2012, Passcape Software a publicat pe blogul lor un articol detaliat [1] despre logica internă a DPAPI și a introdus un set de instrumente pentru decriptarea și analiza completă a DPAPI offline. Setul de utilități exploatează erori și vulnerabilități vechi și este pe deplin compatibil cu Windows 8.

Cu Windows 10 , Microsoft a adăugat suport pentru cheile de criptare bazate pe cloud pentru conturile Microsoft.

Arhitectură

DPAPI include funcții pentru criptarea și decriptarea datelor (CryptProtectData și CryptUnprotectData), precum și criptarea și decriptarea memoriei. De exemplu, pentru a preveni vizualizarea parolelor stocate în memorie atunci când acestea sunt în fișierul de paginare . Funcțiile DPAPI efectuează un apel RPC local către serverul local de autentificare de securitate , care la rândul său apelează biblioteca CryptoAPI pentru a efectua operația în contextul său de securitate. Pentru a proteja datele, poate fi folosită parola de conectare a utilizatorului sau poate fi solicitată o parolă diferită.

Vulnerabilități

Prima implementare a DPAPI conținea o eroare logică critică care putea decripta toate obiectele DPAPI criptate fără a cunoaște parola proprietarului.

Windows 10 are un defect critic în implementarea DPAPI [2] care permite decriptarea datelor criptate dpapi ale ultimului cont de utilizator activ.

Aplicație

DPAPI a devenit foarte răspândit și este folosit în multe aplicații și subsisteme Windows: în sistemul de criptare a fișierelor, pentru stocarea parolelor rețelei wireless, în managerul de cont, Internet Explorer , Google Chrome , Microsoft Outlook , Skype, Windows Vault, pentru protejarea cheilor RSA , etc. .d.

Note

  1. Secretele DPAPI . Preluat la 26 iulie 2019. Arhivat din original la 26 aprilie 2022.
  2. Vulnerabilitatea de securitate DPAPI Windows 10 .

Link -uri

Windows Data Protection  (engleză)  (downlink) . Bibliotecă MSDN . Microsoft (octombrie 2001). Consultat la 27 iulie 2012. Arhivat din original la 30 septembrie 2012.