Criptarea sistemului de fișiere - Encrypting File System
Sistemul de criptare a fișierelor ( EFS ) de pe Microsoft Windows este o caracteristică introdusă în versiunea 3.0 a NTFS care oferă criptare la nivel de sistem de fișiere . Tehnologia permite criptarea transparentă a fișierelor pentru a proteja datele confidențiale de atacatorii cu acces fizic la computer.
EFS este disponibil în toate versiunile de Windows, cu excepția versiunilor de pornire (a se vedea mai jos Sisteme de operare acceptate ) de la Windows 2000 și mai departe. În mod implicit, niciun fișier nu este criptat, dar criptarea poate fi activată de utilizatori pe bază de fișier, director sau unitate. Unele setări EFS pot fi, de asemenea, mandatate prin intermediul politicii de grup în mediile de domenii Windows .
Sunt disponibile implementări ale sistemului de fișiere criptografice pentru alte sisteme de operare, dar Microsoft EFS nu este compatibil cu niciunul dintre ele. Vezi și lista sistemelor de fișiere criptografice .
Idei de bază
Atunci când un sistem de operare rulează pe un sistem fără criptare a fișierelor, accesul la fișiere trece în mod normal prin autentificarea utilizatorului controlat de sistemul de operare și liste de control al accesului . Cu toate acestea, dacă un atacator obține acces fizic la computer, această barieră poate fi ușor ocolită. O modalitate, de exemplu, ar fi să scoateți discul și să îl puneți într-un alt computer cu un sistem de operare instalat care poate citi sistemul de fișiere; un altul ar fi să reporniți computerul de pe un CD de încărcare care conține un sistem de operare adecvat pentru accesarea sistemului de fișiere local.
Cea mai acceptată soluție la aceasta este stocarea fișierelor criptate pe suportul fizic (discuri, pen drive-uri USB, casete, CD-uri etc.).
În familia de sisteme de operare Microsoft Windows, EFS permite această măsură, deși numai pe unitățile NTFS, și face acest lucru folosind o combinație de criptografie cu cheie publică și criptografie cu cheie simetrică pentru a face decriptarea fișierelor extrem de dificilă fără cheia corectă.
Cu toate acestea, cheile de criptografie pentru EFS sunt, în practică, protejate de parola contului de utilizator și, prin urmare, sunt susceptibile la majoritatea atacurilor cu parole. Cu alte cuvinte, criptarea unui fișier este la fel de puternică ca și parola pentru deblocarea cheii de decriptare.
Operațiune
EFS funcționează prin criptarea unui fișier cu o cheie simetrică în bloc , cunoscută și sub numele de Cheie de criptare fișiere sau FEK. Folosește un algoritm de criptare simetric, deoarece este nevoie de mai puțin timp pentru a cripta și decripta cantități mari de date decât dacă se folosește un cifru de cheie asimetric . Algoritmul de criptare simetric utilizat va varia în funcție de versiunea și configurația sistemului de operare; vezi Algoritmi utilizați de versiunea Windows de mai jos. FEK (cheia simetrică care este utilizată pentru a cripta fișierul) este apoi criptată cu o cheie publică care este asociată cu utilizatorul care a criptat fișierul, iar acest FEK criptat este stocat în fluxul de date alternative $ EFS al fișierului criptat. Pentru a decripta fișierul, driverul componentei EFS folosește cheia privată care se potrivește cu certificatul digital EFS (utilizat pentru a cripta fișierul) pentru a decripta cheia simetrică care este stocată în fluxul $ EFS. Driverul de componentă EFS folosește apoi cheia simetrică pentru a decripta fișierul. Deoarece operațiunile de criptare și decriptare sunt efectuate la un strat sub NTFS, este transparent pentru utilizator și toate aplicațiile acestora.
Dosarele al căror conținut trebuie criptat de sistemul de fișiere sunt marcate cu un atribut de criptare. Driverul de componentă EFS tratează acest atribut de criptare într-un mod care este analog cu moștenirea permisiunilor de fișiere în NTFS: dacă un folder este marcat pentru criptare, atunci în mod implicit toate fișierele și subfolderele care sunt create sub folder sunt de asemenea criptate. Când fișierele criptate sunt mutate într-un volum NTFS, fișierele rămân criptate. Cu toate acestea, există o serie de ocazii în care fișierul ar putea fi decriptat fără ca utilizatorul să solicite în mod explicit Windows să facă acest lucru.
Fișierele și folderele sunt decriptate înainte de a fi copiate într-un volum formatat cu un alt sistem de fișiere, cum ar fi FAT32 . În cele din urmă, când fișierele criptate sunt copiate în rețea utilizând protocolul SMB / CIFS, fișierele sunt decriptate înainte de a fi trimise prin rețea.
Cea mai semnificativă modalitate de prevenire a decriptării pe copiere este utilizarea aplicațiilor de backup care sunt conștiente de API-urile „Raw”. Aplicațiile de rezervă care au implementat aceste API Raw vor copia pur și simplu fluxul de fișiere criptate și fluxul de date alternative $ EFS ca un singur fișier. Cu alte cuvinte, fișierele sunt „copiate” (de exemplu, în fișierul de rezervă) în formă criptată și nu sunt decriptate în timpul copierii de rezervă.
Începând cu Windows Vista , cheia privată a unui utilizator poate fi stocată pe un card inteligent ; Cheile Data Recovery Agent (DRA) pot fi, de asemenea, stocate pe un card inteligent.
Securitate
Vulnerabilități
Două vulnerabilități semnificative de securitate au existat în Windows 2000 EFS și de atunci au fost vizate în mod diferit.
Decriptarea fișierelor utilizând contul de administrator local
În Windows 2000, administratorul local este Agentul de recuperare de date implicit, capabil să decripteze toate fișierele criptate cu EFS de către orice utilizator local. EFS în Windows 2000 nu poate funcționa fără un agent de recuperare, deci există întotdeauna cineva care poate decripta fișierele criptate ale utilizatorilor. Orice computer Windows 2000 neaderat la domeniu va fi susceptibil de decriptare neautorizată EFS de către oricine poate prelua contul de administrator local, ceea ce este banal, având în vedere multe instrumente disponibile gratuit pe Internet.
În Windows XP și versiunile ulterioare, nu există un agent implicit de recuperare a datelor local și nu este necesar să aveți unul. Setarea SYSKEY la modul 2 sau 3 (syskey tastat în timpul pornirii sau stocat pe o dischetă) va atenua riscul decriptării neautorizate prin contul de administrator local. Acest lucru se datorează faptului că hashurile de parolă ale utilizatorului local, stocate în fișierul SAM , sunt criptate cu Syskey, iar valoarea Syskey nu este disponibilă pentru un atacator offline care nu deține fraza de acces Syskey / dischetă.
Accesarea cheii private prin resetarea parolei
În Windows 2000, cheia privată RSA a utilizatorului nu este stocată doar într-o formă cu adevărat criptată, ci există și o copie de rezervă a cheii private RSA a utilizatorului, care este mai slab protejată. Dacă un atacator obține acces fizic la computerul Windows 2000 și resetează parola unui cont de utilizator local, atacatorul se poate conecta ca acel utilizator (sau agent de recuperare) și poate accesa cheia privată RSA care poate decripta toate fișierele. Acest lucru se datorează faptului că backupul cheii private RSA a utilizatorului este criptat cu un secret LSA, care este accesibil oricărui atacator care își poate ridica datele de conectare la LocalSystem (din nou, banal, având în vedere numeroase instrumente pe Internet).
În Windows XP și nu numai, cheia privată RSA a utilizatorului este copiată cu ajutorul unei chei publice offline a cărei cheie privată potrivită este stocată în unul din cele două locuri: discul de resetare a parolei (dacă Windows XP nu este membru al unui domeniu) sau Active Directory (dacă Windows XP este membru al unui domeniu). Aceasta înseamnă că un atacator care se poate autentifica în Windows XP ca LocalSystem încă nu are acces la o cheie de decriptare stocată pe hard disk-ul computerului.
În Windows 2000, XP sau o versiune ulterioară, cheia privată RSA a utilizatorului este criptată folosind un hash al parolei NTLM a utilizatorului hash plus numele de utilizator - utilizarea unui hash sărat face extrem de dificilă inversarea procesului și recuperarea cheii private fără a ști expresia de acces a utilizatorului. De asemenea, din nou, setarea Syskey la modul 2 sau 3 (Syskey tastat în timpul boot-ului sau stocat pe o dischetă) va atenua acest atac, deoarece hash-ul parolei utilizatorului local va fi stocat criptat în fișierul SAM.
Alte probleme
Odată ce un utilizator este conectat cu succes, accesul la propriile sale date criptate EFS nu necesită autentificare suplimentară, decriptarea are loc în mod transparent. Astfel, orice compromis al parolei utilizatorului duce automat la accesul la aceste date. Windows poate stoca versiuni ale expresiilor de acces ale contului de utilizator cu criptare reversibilă, deși acesta nu mai este un comportament implicit; poate fi, de asemenea, configurat pentru a stoca (și va fi implicit în versiunea originală a Windows XP și versiuni inferioare) Lan Manager hash-uri ale parolelor contului de utilizator local, care pot fi atacate și rupte cu ușurință. De asemenea, stochează expresiile de acces ale contului de utilizator local ca hash NTLM , care pot fi atacate destul de ușor folosind „ tabele curcubeu ” dacă parolele sunt slabe (Windows Vista și versiunile ulterioare nu permit parolele slabe în mod implicit) Pentru a atenua amenințarea unor atacuri triviale cu forță brută asupra frazelor de acces locale, versiunile mai vechi ale Windows trebuie configurate (folosind porțiunea Setări de securitate din Politica de grup) pentru a nu stoca niciodată hash-urile LM și, bineînțeles, pentru a nu activa Autologon (care stochează text simplu expresii de acces în registru ). În plus, utilizarea frazelor de acces de cont de utilizator local de peste 14 caractere împiedică Windows să stocheze un hash LM în SAM - și are avantajul suplimentar de a face atacurile cu forță brută împotriva hashului NTLM mai greu.
Când criptați fișiere cu EFS - când convertiți fișiere în text clar în fișiere criptate - fișierele în format clar nu sunt șterse, ci pur și simplu șterse (adică blocuri de date semnalate ca „neutilizate” în sistemul de fișiere). Aceasta înseamnă că, cu excepția cazului în care, de exemplu, sunt stocate pe un SSD cu suport TRIM , pot fi recuperate cu ușurință, cu excepția cazului în care sunt suprascrise. Pentru a atenua pe deplin atacurile tehnice cunoscute, care nu sunt provocatoare împotriva EFS, criptarea ar trebui să fie configurată la nivel de folder (astfel încât toate fișierele temporare, cum ar fi copiile de rezervă ale documentelor Word care sunt create în aceste directoare, să fie, de asemenea, criptate). La criptarea fișierelor individuale, acestea trebuie copiate într-un folder criptat sau criptate „la locul lor”, urmate de ștergerea sigură a volumului discului. Utilitarul Cifrare Windows poate fi utilizat (cu opțiunea / W) pentru a șterge spațiul liber, inclusiv cel care conține în continuare fișiere text în format șters; pot funcționa și diverse utilități terțe.
Oricine poate obține accesul administratorilor poate suprascrie, suprascrie sau modifica configurația Data Recovery Agent. Aceasta este o problemă foarte gravă, deoarece un atacator poate, de exemplu, să pirateze contul de administrator (folosind instrumente de la terți), să seteze orice certificat DRA doresc ca agent de recuperare a datelor și să aștepte. Uneori, acest lucru este denumit un atac în două etape, care este un scenariu semnificativ diferit de riscul datorat unui PC pierdut sau furat, dar care evidențiază riscul cauzat de persoane din interior rău intenționate.
Când utilizatorul criptează fișierele după prima etapă a unui astfel de atac, FEK-urile sunt criptate automat cu cheia publică DRA desemnată. Atacatorul trebuie să acceseze computerul încă o dată în calitate de administrator pentru a obține acces complet la toate acele fișiere criptate ulterior EFS. Chiar și folosind modul Syskey 2 sau 3 nu protejează împotriva acestui atac, deoarece atacatorul ar putea să facă backup fișierelor criptate offline, să le restaureze în altă parte și să utilizeze cheia privată a DRA pentru a decripta fișierele. Dacă un astfel de utilizator rău intenționat poate obține acces fizic la computer, toate caracteristicile de securitate trebuie considerate irelevante, deoarece ar putea instala, de asemenea , rootkit-uri , software sau chiar keylogger-uri hardware etc. pe computer - ceea ce este potențial mult mai interesant și mai eficient decât suprascrierea. Politica DRA.
Recuperare
Fișierele criptate cu EFS pot fi decriptate numai folosind cheia (cheile) RSA private care corespund cheii (cheilor) publice utilizate anterior. Copia stocată a cheii private a utilizatorului este în cele din urmă protejată de parola de conectare a utilizatorului. Accesul la fișiere criptate din afara Windows cu alte sisteme de operare ( Linux , de exemplu) nu este posibil - nu în ultimul rând, deoarece nu există în prezent niciun driver de componentă EFS terță parte. În plus, utilizarea instrumentelor speciale pentru a reseta parola de conectare a utilizatorului va face imposibilă decriptarea cheii private a utilizatorului și, prin urmare, inutilă pentru a avea acces la fișierele criptate ale utilizatorului. Semnificația acestui lucru este pierdută ocazional pentru utilizatori, rezultând pierderea datelor dacă un utilizator își uită parola sau nu reușește să facă backup pentru cheia de criptare. Acest lucru a condus la inventarea termenului „coș de gunoi întârziat”, pentru a descrie inevitabilitatea aparentă a pierderii de date dacă un utilizator neexperimentat își criptează fișierele.
Dacă EFS este configurat să utilizeze chei emise de o infrastructură de chei publice și PKI este configurat pentru a activa arhivarea și recuperarea cheilor, fișierele criptate pot fi recuperate recuperând mai întâi cheia privată.
Taste
- parola utilizatorului (sau cheia privată a cardului inteligent): utilizată pentru a genera o cheie de decriptare pentru a decripta cheia principală DPAPI a utilizatorului
- Cheie masteră DPAPI: utilizată pentru decriptarea cheilor private RSA ale utilizatorului
- Cheie privată RSA: utilizată pentru a decripta FEK-ul fiecărui fișier
- Cheie de criptare fișiere (FEK): utilizată pentru decriptarea / criptarea datelor fiecărui fișier (în fluxul NTFS primar)
- SYSKEY: utilizat pentru a cripta verificatorul de domeniu în cache și hash-urile de parolă stocate în SAM
Sisteme de operare acceptate
Windows
- Edițiile Windows 2000 Professional, Server, Advanced Server și Datacenter
- Windows XP Professional, de asemenea în Tablet PC Edition, Media Center Edition și x64 Edition
- Windows Server 2003 și Windows Server 2003 R2, în edițiile x86 și x64
- Edițiile Windows Vista Business, Enterprise și Ultimate
- Edițiile Windows 7 Professional, Enterprise și Ultimate
- Windows Server 2008 și Windows Server 2008 R2
- Edițiile Windows 8 și 8.1 Pro și Enterprise
- Windows Server 2012 și Windows Server 2012 R2
- Edițiile Windows 10 Pro, Enterprise și Education.
- Windows Server 2016
- Windows Server 2019
Alte sisteme de operare
Niciun alt sistem de operare sau sistem de fișiere nu are suport nativ pentru EFS.
Funcții noi disponibile în versiunea Windows
- Windows XP
- Criptarea memoriei cache pe partea clientului ( baza de date a fișierelor offline )
- Protecția backupului cheii DPAPI Master utilizând cheia publică la nivel de domeniu
- Înregistrarea automată a certificatelor de utilizator (inclusiv certificatele EFS)
- Acces multiplu (partajat) la fișiere criptate (pe bază de fișier cu fișier) și verificarea revocării certificatelor utilizate la partajarea fișierelor criptate
- Fișierele criptate pot fi afișate într-o culoare alternativă (verde în mod implicit)
- Nu există nicio cerință pentru agentul de recuperare obligatoriu
- Avertisment când fișierele pot fi decriptate în mod silențios când se trece la un sistem de fișiere neacceptat
- Discul de resetare a parolei
- EFS prin WebDAV și criptare la distanță pentru servere delegate în Active Directory
- Windows XP SP1
- Suport și utilizare implicită a algoritmului de criptare simetrică AES-256 pentru toate fișierele criptate EFS
- Windows XP SP2 + KB 912761
- Împiedicați înscrierea certificatelor EFS autosemnate
- Windows Server 2003
- Serviciul de gestionare a identității digitale
- Aplicarea setării RSAKeyLength pentru aplicarea unei lungimi minime a cheii la înscrierea certificatelor EFS autosemnate
- Windows Vista și Windows Server 2008
- Criptarea per utilizator a memoriei cache pe partea clientului (fișiere offline)
- Suport pentru stocarea cheilor private RSA (utilizator sau DRA) pe un card inteligent PC / SC
- Expertul re-cheie EFS
- Solicitări de rezervă pentru cheia EFS
- Suport pentru obținerea cheii principale DPAPI de pe cardul inteligent PC / SC
- Suport pentru criptarea pagefile.sys
- Protecția secretelor legate de EFS utilizând BitLocker (Enterprise sau ediția finală a Windows Vista)
- Controalele politicii de grup pentru a aplica
- Criptarea folderului Documente
- Criptarea fișierelor offline
- Indexarea fișierelor criptate
- Necesită card inteligent pentru EFS
- Crearea unei chei de utilizator care poate fi stocată în cache de pe cardul inteligent
- Afișarea unei notificări de rezervă a cheii atunci când este creată sau modificată o cheie de utilizator
- Specificarea șablonului de certificat utilizat pentru înscrierea certificatelor EFS în mod automat
- Windows Server 2008
- Certificatele autosemnate EFS înscrise pe serverul Windows Server 2008 vor fi implicite la lungimea cheii RSA de 2048 biți
- Toate șabloanele EFS (certificate de utilizator și certificate de recuperare a datelor) implicit la lungimea cheii RSA de 2048 biți
- Windows 7 și Windows Server 2008 R2
- Algoritmi criptografici cu curbă eliptică (ECC). Windows 7 acceptă o operare în mod mixt a algoritmilor ECC și RSA pentru compatibilitate inversă
- Certificatele auto-semnate EFS, atunci când se utilizează ECC, vor utiliza implicit cheia de 256 de biți.
- EFS poate fi configurat pentru a utiliza chei 1K / 2k / 4k / 8k / 16k biți atunci când se utilizează certificate RSA autosemnate sau chei 256/384/521 biți atunci când se utilizează certificate ECC.
- Windows 10 versiunea 1607 și Windows Server 2016
- Adăugați suport EFS pe FAT și exFAT.
Algoritmi utilizați de versiunea Windows
Windows EFS acceptă o serie de algoritmi de criptare simetrică, în funcție de versiunea de Windows utilizată atunci când fișierele sunt criptate:
| Sistem de operare | Algoritm implicit | Alți algoritmi |
|---|---|---|
| Windows 2000 | DESX | (nici unul) |
| Windows XP RTM | DESX | Triple DES |
| Windows XP SP1 | AES | Triple DES, DESX |
| Windows Server 2003 | AES | Triple DES, DESX |
| Windows Vista | AES | Triple DES, DESX |
| Windows Server 2008 | AES | Triple DES, DESX (?) |
| Windows 7 Windows Server 2008 R2 |
Mixt (AES, SHA și ECC) | Triple DES, DESX |
Vezi si
- BitLocker
- API de protecție a datelor
- Criptarea discului
- Software de criptare disc
- eCryptfs
- EncFS
- Criptare la nivel de sistem de fișiere
- Criptare pe disc complet bazată pe hardware
Referințe
Lecturi suplimentare
- "Implementarea sistemului de fișiere de criptare în Windows 2000" . Ghidul administratorilor de configurare evaluată Windows 2000 . Microsoft . Adus la 20 decembrie 2014 .
- Bragg, Roberta. "Sistemul de criptare a fișierelor" . TechNet . Microsoft .
- "Criptarea sistemului de fișiere (Windows Server 2008, Windows Vista)" . TechNet . Microsoft . 25 februarie 2009.
- "Criptarea sistemului de fișiere în Windows XP și Windows Server 2003" . TechNet . Microsoft . 11 aprilie 2003.
- Laboratorii asociați de rețea . "Cum se utilizează sistemul de fișiere criptate (Windows Server 2003, Windows XP Professional)" . MSDN . Microsoft .
- "Utilizarea criptării sistemului de fișiere" . Trusa de resurse Windows XP . Microsoft . 3 noiembrie 2005.
- "Criptarea sistemului de fișiere" . Trusa de resurse Windows 2000 . Microsoft .
- „Cum funcționează EFS” . Trusa de resurse Windows 2000 . Microsoft .