31
UNIVERSITATEA POLITEHNICA din BUCUREŞTI Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei Sisteme de operare Sistemul de fişiere NTFS

Sistemul de Fisiere NTFS

  • Upload
    trigunu

  • View
    251

  • Download
    1

Embed Size (px)

DESCRIPTION

O scurta introducere in sistemul de fisiere NTFS

Citation preview

UNIVERSITATEA POLITEHNICA din BUCURETI

Facultatea de Electronic, Telecomunicaii i Tehnologia Informaiei

Sisteme de operareSistemul de fiiere NTFSCoordonator tiinific: Studeni:

Dr. Ing. Stncescu tefan Sava Alexandru Nicolae

Lascu Ionu Viorel

Grupa 433A2015Cuprins

1. Introducere...............................................................................................................32. Capitolul 1: Atributele fiierelor NTFS................................[Sava A.]........................43. Capitolul 2: Directoarele NTFS..........................................[Lascu I.]........................6

4. Capitolul 3: Structura de date B-tree..................................[Sava A.]........................8

3.1. Algoritmul B-tree.................................................................................8

3.2. Clustere de fiiere.............................................................................104. Capitolul 4: Compresia fiierelor NTFS..............................[Sava A.]......................125. Capitolul 5: Criptarea fiierelor NTFS................................[Sava A.]......................14

5.1 Criptarea EFS....................................................................................14

5.2 Structura unui fiier criptat.................................................................156. Capitolul 6: Atributele EFS.................................................[Lascu I.]......................197. Concluzii.............................................................................[Lascu I.].....................21 8. Bibliografie..............................................................................................................22 IntroducereLa nceputul anilor 1990, Microsoft i-a propus s creeze un sistem de operare de nalt performan i fiabilitate, dar totodat s ofere i siguran utilizatorilor. La momentul respectiv, sistemele de operare Microsoft erau MS-DOS (Microsoft Disk Operating System) i Windows 3.x, dar niciunul dintre ele nu avea caracteristicile sau puterea necesar pentru ca Microsoft s depseasc UNIX sau alte sisteme de operare "serioase". Una dintre cele mai mari probleme ale MS-DOS i Windows 3.x a fost c aveau la baz sistemul de fiiere FAT (File Allocation Table). FAT oferea o mic parte din caracteristicile necesare pentru stocarea i gestionarea datelor ntr-un mediu de reea, corporativ. Pentru a crete performanele noului sitem de operare - Windows NT, Microsoft a fost obligat s introduc un nou sistem de fiiere care s nu fie bazat pe FAT. Rezultatul a fost New Technology File System sau NTFS.NTFS a fost conceput pentru a ndeplini o serie de obiective specifice. Cele mai importante dintre acestea sunt:

- Fiabilitate: O caracteristic important a unui sistem de fiiere este aceea de a fi n msur s rezolve orice problem de sistem fr pierderi de date. NTFS pune n aplicare caracteristici specifice pentru a permite tranzaciilor importante s fie finalizate ca un ntreg, pentru a evita pierderea de date i pentru a mbunti tolerana la erori.

- Securitate i controlul accesului la fiiere: O slbiciune major a sistemului de fiiere FAT este c acesta nu include nicio modalitate de a controla accesul la dosare sau fiiere pe un hard disc. Fr acest control, este aproape imposibil de a rula aplicaii i reele care necesit securitate i capacitatea de a gestiona cine poate citi sau scrie diferite date.

- Dimensiune: La nceputul anilor 1990, FAT a fost limitat de catre versiunea FAT16 a sistemului de fiiere, ceea ce a permis utilitarea partiiilor de pn la 4 GB. NTFS a fost proiectat pentru a permite crearea de partiii de dimensiuni foarte mari, n ateptarea creterii capacitilor hard disc-urilor, precum i utilizarea de matrice RAID.

- Eficien la stocare: n momentul n care a fost dezvoltat NTFS, majoritatea calculatoarelor utilizau FAT16, ceea ce duce la neutilizarea unui spaiu semnificativ de pe hard disc. NTFS evit aceast problem prin utilizarea unei metode diferite de alocare a spaiului pentru fiiere.

- Nume de fiiere lungi: NTFS permite numelor de fiiere s aib o lungime de pn la 255 de caractere, n loc de 8+3 caractere, limitarea convenional a sitemului de fiiere FAT.1. Atributele fiierelor NTFSSistemul de fiiere NTFS vede fiecare fiier sau dosar ca un set de atribute de fiier. Elemente cum ar fi numele fiierului, informaii de securitate i chiar datele sale, sunt toate atribute de fiier. Fiecare atribut este identificat printr-un cod de tip atribut i, opional, un nume de atribut.[2]Cnd atributele unui fiier se pot ncadra n nregistrarea de fiiere MFT (Master File Table*), acestea sunt numite atribute rezidente. De exemplu, informaii precum nume de fiier i marcajele de timp sunt ntotdeauna incluse n nregistrarea fiierul MFT.Cnd toate informaiile pentru un fiier sunt prea mari pentru a ncpea n nregistrarea MFT, unele dintre atributele sale devin nerezidente. Atributele nerezidente sunt alocate n alt parte pe disc.Dac atributele nu poate ncpea ntr-o singur nregistrare MFT, NTFS creeaz nregistrri suplimentare MFST i pune atributul Attribute List n primul fiier MFT pentru a arata locul unde sunt toate nregistrrile atribut.

Tabelul de mai jos listeaz principalele atribute ale fiierelor definite n prezent de sistemul de fiiere NTFS. Aceast list este extensibil, n sensul c alte atribute de fiier poate fi definite n viitor.IDTipul AtributuluiDescriere

0x10Standard InformationConine informaii despre marcajele de timp i contorul de link.

0x20Attribute ListListeaz locaia ctre toate nregistrrile atribut care nu se regsesc n nregistrarea MFT.

0x30File NameUn atribut repetabil att pentru nume de fiiere lungi, ct i pentru cele scurte. Numele lungi ale fiierului pot fi de pn la 255 de caractere Unicode. Numele scurt este 8.3, nefacnd diferea ntre litere mici i majuscule. Nume suplimentare sau link-uri cerute de POSIX, pot fi incluse suplimentar ca nume de atribute de fiier.

0x40Object IDUn identificator unic de fiier pe disc. Acesta este utilizat de ctre distributed link tracking service. Nu toate fiierele au identificatori obiect.

0x50Security DescriptorSpecific cine deine fiierul i cine l poate accesa.

__________________________________________________________________________IDTipul AtributuluiDescriere

0x60Volume NameFolosit numai n fiierul $Volume. Conine versiunea de disc.

0x70Volume InformationFolosit numai n fiierul de sistem $Volume. Conine versiunea discului.

0x80DataConine fiierul cu date. NTFS permite atribute multiple de date pentru fiecare fiier. Fiecare fiier are de obicei un atribut de date anonim. Un fiier poate avea, de asemenea, una sau mai multe nume atribute de date, fiecare folosind o anumit sintax.

0x90Index RootFolosit pentru a crea directoare i ali indici.

0xA0Index AllocationFolosit pentru a crea directoare i ali indici.

0xB0BitmapFolosit pentru a crea directoare i ali indici.

0xC0Reparse PointSunt utilizate de ctre filtrul IFS (Instalabile File System) pentru a marca anumite fiiere ca speciale pentru acel driver.

0x100Logged Utility StreamSimilar cu un flux de date, dar operaiunile sunt nregistrate n fiierul jurnal NTFS ca modificri de metadate NTFS. Aceasta este folosit de EFS.

NTFS creeaz un fiier de nregistrare pentru fiecare fiier i un dosar de nregistrare pentru fiecare director creat pe un disc NTFS. MFT include un fiier de nregistrare separat pentru MFT n sine. Aceste nregistrri de fiiere i directoare sunt de 1 KB fiecare i sunt stocate n MFT. Atributele fiierului sunt scrise n spaiul alocat n MFT. n afar de atributele fiierului, fiecare nregistrare fiier conine informaii despre poziia nregistrare fiier n MFT. Fiierele i dosarele mici (de obicei, de 900 de bytes sau mai mici) sunt coninute n ntregime n eviden MFT a fiierului.[2]2. Directoarele NTFS

n spatele fiecarui obiect NTFS dintr-un disc exist cel puin un fiier, chiar directoare. Un director este un indice de nume de fiiere. Din punct de vedere al unui utilizator, un director este un tip special de fiier care poate conine alte fiiere. Un dosar este folosit pentru a crea o ierarhie logic a fiierelor pe un disc.

Din punctul de vedere al sistemului NTFS, un director este un indice de nume de fiiere, sau, mai exact, o secven de intrri de index care conin un atribut nume de fiier. O intrare index este creat pentru fiecare atribut nume de fiier al fiecrui fiier coninut n dosar. Acest tip de intrri index pot fi comparate mpreun n ordinea alfabetic n funcie de atributul nume de fiier.[1]IDDescriereNume

0x10$STANDARD_INFORMATION

0x30$FILE_NAMEdirname

0x50$SECURITY_DESCRIPTOR

0x90$INDEX_ROOT$I30

0xA0$INDEX_ALLOCATION$I30

0xB0$BITMAP$I30

Intrare Index (Index Entry): un index reprezint o list cu intrri din Index. Fiecare intrare conine numele fiierului, informaiile standard i un pointer la informaiile de securitate.

Radacina Index (Index Root): acest atribut, care este rezident ntotdeauna, are mai multe intrri de index. Formeaz rdcina arborelui index.Alocarea Index (Index Allocation): un set de runs* spune sistemului unde sunt ceilali indici.

Index Bitmap: indic clusterele (index-urile) care sunt n uz.Un director nu are atribut de date. Dar, ca un index, acesta are trei atribute de fiier: index_root, index_allocation i bitmap. Indici sunt stocai n nodurile unui arbore B+ n felul urmtor: - fiecare nod al arborelui conine una sau mai multe intrri de index. n cadrul unui nod, intrrile din index sunt sortate n ordine cresctoare; - fiecare intrare index poate indica un alt nod (sub-nod) care conine intrri din index mai mici; - nodul rdcin este n fluxul atributului index_root, alte noduri (sub-noduri) sunt tampoane index.[1]___________________________________________________________________* Atributele nerezidente sunt stocate la intervale de clustere, numite runs. Fiecare run este definit de clusterul su iniial i lungimea sa.Atunci cnd o aplicaie citete un director, NTFS returneaz o list de nume de fiiere, care este deja sortat.

Structura unui arbore B+*, cnd este construit ntr-un mod echilibrat, este mult mai eficient dect o structur liniar pentru a efectua o cutare nume de fiier ntr-un folder, care conine un numr mare de fiiere.

Dei duplicarea fluxului atributului indexat ntr-o intrare index poate dura ceva timp, aceasta este necesar pentru a putea naviga printr-un un index fr a deschide efectiv toate fiierele indexate (FAT i HPFS - High Performance File System fac acest lucru, de asemenea).

ntr-un director, trei atribute de fiier: index_root, index_allocation, i bitmap sunt numite "$I30", iar un director reprezint doar un Index al atributelor de fiier al cror tip este 30. Dar NTFS a fost gndit ca un sistem de fiiere de baze de date i se pot crea, de fapt, index-uri bazate pe orice atribute de fiier care este rezident ntotdeauna. De exemplu, putem crea un nou fiier atribut etichetat "nume autor" i sorta fiierele n funcie de acest criteriu.[1]__________________________________________________________________________*Arborele B+ (B+ Tree): este o structur de date tip arbore care pstreaz datele sortate i permite cutri, acces secvenial, inserii i tergerea unor noduri n timp logaritmic. Arborele B+ reprezint o generalizare a unui arbore binar de cutare, n care un nod poate avea mai mult de doi copii. Spre deosebire de arbori binari de cutare cu auto-echilibrare, arborele B+ este optimizat pentru sisteme care scriu i citesc blocuri mari de date. Acesta este frecvent utilizat n bazele de date i sisteme de fiiere.3. Structura de date B-tree3.1. Algoritmul B-tree

Cnd datele sunt prea mari pentru a ncpea n memoria principal, numrul de accese la disc devine important. Timpul necesar pentru a accesa i a prelua un cuvnt din memorie principal este de cel mult cteva microsecunde, iar timpul necesar pentru a localiza o anumit nregistrare de pe un disc este de ordinul milisecundelor. Astfel timpul necesar pentru un singur acces este de mii de ori mai mare pentru cutarea extern dect pentru recuperarea intern. Principalul scop n cutarea extern este de a minimiza numrul de accese la discuri, deoarece fiecare acces dureaz mult timp, comparativ cu accesarea memoriei interne.

Arborele B-tree a fost creat de ctre Rudolf Bayer i Ed McCreight n timp ce lucrau la Research Boeing Lab. B-trees sunt arbori de cutare echilibrai, special concepui pentru datele stocate pe discurile magnetice. Deoarece operaiile pe discurile magnetice sunt mult mai lente dect cele pe memoria RAM (Random Acces Memory), msurm performana arborilor B-tree nu numai n funcie de timp necesar pentru o operaie, dar i n funcie de numarul acceselor la disc. Pentru fiecare operaie a arborelui B-tree, numrul de accese la disc crete cu nlimea acestuia, care este meninut sczut de modul de formare a arborelui B-tree.[3]n informatic, B-tree este o structur de date tip arbore care pstreaz datele sortate i permite cutri, accese secveniale, inserii i tergeri. Arborele B-tree reprezint o generalizare a unei cutri binare, n care mai un nod poate avea mult de dou ci divergente. Un arbore B-tree (Figura 1) de ordin m este un arbore de cutare n care:

Figura 1. Structura unui arbore B-tree Toate frunzele sunt pe acelai nivel.

Toate nodurile interne, cu excepia rdcinii, au cel putin m/2 copii, iar cel

mult m copii.

Numrul de chei din fiecare nod intern este cu unul mai mic dect numrul

de copii, iar aceste chei mpart cheile din copiilor n maniera unui arbore de cutare.

Rdcina are cel mult m copii, dar pot avea doar 2, dac acesta nu este ofrunz, sau niciunul dac arborele este format doar din rdcin.[3]

Dac un arbore B-tree are nlimea h, rdcina conine cel puin o cheie, iar toate celelalte noduri conin cel puin t-1 chei. Deci, exist cel puin 2 noduri la adncime de 1, cel puin 2*t noduri la adncime de 2, cel puin 2*t2 noduri la adncime de 3, i aa mai departe, pn la adncimea h, unde exist cel puin 2*th-1 noduri. Astfel, numrul n de chei satisface inegalitatea th(n+1)/2. Avnd un algoritm de baz-t al ambelor pri rezult: hlogt h ((n+1)/2).Structurile B-tree sunt utilizate n sistemele de fiiere. Directoare, n NTFS, sunt indexate pentru a face mai rapid gsirea unei anumite intrri. Intrrile sunt salvate, n arborele B-tree, n ordine alfabetic. Aceast organizare necesit mai mult timp pentru adugarea de fiiere (fa de o organizare FIFS), ns este mai rapid cnd utilizm un director. Exist dou atribute de sistem NTFS care descriu coninutul B-Tree: INDEX_ROOT i INDEX_ALLOCATION. INDEX_ROOT reprezint una sau mai multe structuri "Index Entry", care descriu fiecare un fiier sau director. "Index Entry" conine o copie a atributului FILE_NAME al fiierului sau sub-directorului. Pentru directoare mici, atributul INDEX_ALLOCATION nu va exista, iar toate informaiile vor fi salvate n structura INDEX_ROOT. Coninutul acestui atribut este format din unul sau mai multe "Index Buffers". Fiecare "Index Buffers" conine unul sau mai multe structuri "Index Entry", care sunt aceleai cu cele gsite n INDEX_ROOT. Avantajul utilizrii arborelui B-tree este evident atunci cnd NTFS enumer fiierele dintr-un director. [3]Algoritmul B-tree permite NTFS s grupeze, sau indexeze, fiiere cu nume similare, iar apoi permite cutarea doar n grupul care conine fiierul, minimiznd numrul fr accese la disc pentru a gsi un anumit fiier. Datorit structurii B-tree, NTFS este mai rapid decat FAT pentru dosare mari, deoarece FAT trebuie s scaneze toate numele de fiiere dintr-un director, nainte de listarea fiierelor.

3.2. Clustere de fiieren sitemul de fiiere NTFS, indexurile sunt organizate ca arbori B-tree. Fiecare pagin ntr-un index B-tree se numete nod index. Primul nod al arborelui B-tree se numete nodul rdcin. Nivelul inferior de noduri n index este numit noduri frunze. Orice nivel de index ntre rdcin i nodurile frunze este denumit colectiv nivel intermediar. ntr-un index cluster, nodurile frunz conine paginile de date ale tabelei de baz. Nodurile rdcin i la nivel intermediar conine pagini de index ce dein rnduri index. Fiecare rnd index conine o valoare cheie i un pointer pentru o pagin de nivel intermediar n B-tree sau un rnd de date n nivelul de frunze de index. Paginile din fiecare nivel al indexului comunic printr-o legatur bidirecional.Indexurile cluster au cate un rnd n sys.partitions, cu index_id = 1 pentru fiecare partiie folosit de index. n mod implicit, un index cluster are o singur partiie. Atunci cnd un index cluster are mai multe partiii, fiecare partiie are o structur B-tree care conine datele specifice pentru acea partiie. De exemplu, dac un index cluster are patru partiii, exist patru structuri B-tree: cte una n fiecare partiie.

n funcie de tipurile de date din index cluster, fiecare structur index va avea una sau mai multe uniti de alocare, n care se va stoca i gestiona datele pentru o partiie. La un nivel minim, fiecare index cluster va avea o unitate de alocare IN_ROW_DATA pe partiie. Indexurile cluster vor avea o unitate de alocare LOB_DATA pe partiie n cazul n care conine coloane cu obiecte mari (LOB - Large Objects). Acesta va avea, de asemenea, o unitate de alocare ROW_OVERFLOW _DATA pe partiie, n cazul n care conine coloane de lungime variabil care depesc limita de dimensiune/rnd de 8060 byte.Pentru un index cluster, coloana root_page din allocation_units face trimitere ctre vrful indexului pentru o anumit partiie. NTFS coboar indicele pentru a gsi rndul corespunztor unei chei index cluster. Pentru a gsi o serie de chei, NTFS se deplaseaz prin indexuri pentru a gsi valoarea cheie de pornire n gama i apoi scaneaz prin paginile de date folosind indexul anterior sau urmtor. Pentru a gsi prima pagin n lanul de pagini de date, urmeaz cel mai din stnga index, din nodul rdcin al indexului.Figura 2 ilustreaz structura unui indice cluster ntr-un singur partiie.

Figura 2. Structura unui indice cluster ntr-o singur partiie4. Compresia fiierelor NTFSncepnd cu Windows NT/2000, sistemele de operare Windows suport compresia de fiiere individuale, dosare sau ntregi discuri NTFS. Fiiere comprimate pe un volum NTFS pot fi citite i scrise de orice aplicaie Windows, fr a fi mai nti decomprimate de ctre un alt program. Decompresia are loc n mod automat atunci cnd fiierul este citit. Fiierul este comprimat din nou atunci cnd este nchis sau salvat. Fiierele i folderele comprimate au un atribut de C, cnd sunt vizualizate n Windows Explorer.Numai NTFS poate citi forma comprimat a datelor. Atunci cnd o aplicaie precum Microsoft Word sau o comand a sistemului de operare, cum ar fi cererile de copiere sau acces la dosar, driver-ul de filtrare a compresiei decomprim fiierul, nainte de-al face disponibil. De exemplu, dac dorii s copiai un fiier comprimat de la un alt sistem de operare Windows, ntr-un folder comprimat pe hard disc, fiierul este decomprimat la citire, se copiez, iar apoi este recomprimat, cnd se realizeaz salvarea acestuia (Figura 2).[6]

Figura 3. Copierea unui fiier comprimatNTFS permite comprimarea unui ntreg disc, de unul sau mai multe dosare ntr-un disc, sau chiar unul sau mai multe fiiere ntr-un dosar dintr-un disc NTFS.

Algoritmii de compresie din NTFS sunt concepui pentru a suporta dimensiuni de cluster de pn la 4 KB. Cnd dimensiunea cluster-ului este mai mare de 4 KB pe un disc NTFS, niciuna dintre funciile de compresie NTFS nu sunt disponibile.[6]NTFS ofer acces n timp real la un fiier comprimat, decomprim fiierul atunci cnd este deschis i l comprim atunci cnd acesta este nchis. Cnd scriei un fiier comprimat, sistemul rezerv spaiu pe disc pentru dimensiunea necomprimat. Sistemul recupereaz spaiu nefolosit dup realizarea fiecrei compresii. [6]Pentru a realiza comprimarea unui fiier, NTFS mparte datele fiierului n uniti de compresie, reprezentate de blocuri continue de 16 clustere. Cnd fiecare unitate de compresie este scris, se aplic un algoritm de compresie a datelor. Dac rezultatul ncape n mai puin de 16 clustere, atunci este stocat aceast versiune comprimat. [6]Pentru fiiere mai puin utilizate, NTFS folosete o alt tehnic de comprimare, pentru a salva spaiu. Clusterele care conin doar zerouri nu sunt alocate sau stocate pe disc, ci se las guri n secvena numerelor virtuale de clustere stocate n intrarea n MFT pentru acel fiier. n momentul n care se citesc date dintr-un astfel de fiier, dac se gsesc astfel de guri, NTFS umple acea poriune a bufferului. [6]Deoarece compresiea NTFS depinde foarte mult de procesor, costul de performan este mai vizibil pe servere ale cror performane sunt frecvent legate de procesor. Serverele ncrcate cu mult trafic de scriere nu sunt recomandate pentru compresie a datelor. Cu toate acestea, este posibil ca serverele cu mult trafic read-only, read-mostly sau lightly loaded s aibe performane bune.Dac executai un program care utilizeaz tranzacii cu logare i care scrie constant ntr-o baz de date sau jurnal, configurai programul pentru a stoca fiierele pe un disc care nu este comprimat. Dac un program modific date prin seciuni mapate ntr-un fiier comprimat, programul poate produce pagini "murdare" mai repede dect le poate scrie utilizatorul. Din aceast cauz Programe precum Microsoft Message Queuing (cunoscut i sub numele MSMQ) nu funcioneaz cu compresia NTFS.Deoarece directoarele utilizatorilor i profilele roaming folosesc multe operaii de citire i scriere, Microsoft recomand ca directoarele home user i profilele roaming sa fie pe un disc care s nu aib compresie NTFS pe directorul printe sau pe rdcina volumului. Utilizatorii individuali pot permite o compresie pe dosarele lor, dar numrul total de fiiere i foldere comprimate trebuie sa fie ct mai mic. Pe serverele care gazduiesc volume comprimate, trebuie monitorizat atent performana pentru a determina dac procesorul are o capacitate suficient pentru a sprijini comprimarea/decomprimarea operaiilor care sunt efectuate.5. Criptarea fiierelor NTFSEncrypting File System (EFS) pe Microsoft Windows este o caracteristic introdus n versiunea 3.0 a NTFS, care ofer criptare la nivel de sistem de fiiere. Tehnologia permite fiierelor a fi criptate transparent* pentru a proteja datele confideniale de atacatori cu acces fizic la calculator. EFS permite criptarea i decriptarea transparent de fiiere folosind algoritmi de criptare dezvoltai chiar de compania Microsoft. Orice persoan sau program care nu posed cheia de criptare nu poate citi datele criptate. Fiierele criptate pot fi protejate chiar i de cei care obin accesul fizic la calculator. Chiar utilizatorii care sunt autorizai s acceseze calculatorul i sistemul su de fiiere nu pot vizualiza datele. n timp ce i alte strategii defensive ar trebui utilizate, criptarea nu reprezint o contramsur pentru orice ameninare: criptare reprezint o parte a oricrei strategii defensive. EFS este modul implicit de criptare al fiierelor pentru sistemele de fiiere Windows.5.1. Criptarea EFSEFS folosete o combinaie de cheie public i cheie de criptare simetric pentru a se asigura c fiierele sunt protejate de cele mai periculoase metode de atac. Algoritmi de criptare cu cheie public folosesc chei asimetrice pentru criptare i decriptare, ceea ce nseamn c sunt folosite chei diferite pentru a cripta i decripta aceleai date. Criptare cu cheie public presupune utilizarea unei chei private (care este deinut doar de proprietar), i o cheie public (care este la dispoziia publicului n reea). Informaii care sunt criptate folosind cheia public pot fi decriptate doar folosind cheia privat corespunztoare. Cele dou chei, mpreun, sunt numite o pereche de chei (engl. key pair) sau un set de chei (engl. key set).

Criptografia asimetric, cu toate acestea, necesit o cantitate semnificativ de timp de procesare pentru operaiunile sale matematice. Operaii cu chei publice sunt adesea folosite ca parte a schimbului de chei iniiale sau a operaiunilor de protecie. Ct mai des, serviciile criptografice se schimb de la cheia public la operaiunile simetrice, n care aceeai cheie este utilizat att pentru criptare i decriptare. Comparativ cu operaiunile de chei publice, criptare simetric este de obicei de la 100 la 1000 de ori mai rapid.

__________________________________________________________________________

*Transparent Data Encryption (TDE) este o tehnologie dezvolatat att de Microsoft ct i de Oracle pentru a cripta fiierele bazelor de date. TDE ofer criptarea la nivel de fiier. TDE rezolv problema protejrii datelor n repaus, criptarea de date att pe hard disk i, n consecin, asupra mediilor de backup.[7]

EFS urmeaz procedura criptografic standard a industriei de cifrare cu cheie. Datele sunt criptate folosind o cheie de criptare de fiiere simetric (FEK -File Encryption Key) pentru vitez i apoi FEK este asigurat asimetric pentru securitate maxim. Cnd un utilizator solicit un fiier criptat, EFS folosete un FEK generat unic pentru a cripta un fiier i apoi cripteaz FEK folosind cheia public. FEK criptat este stocat ntr-un fiier antet. Atunci cnd un utilizator cere decriptare, EFS decripteaz FEK folosind cheia privat a utilizatorului, iar apoi folosete FEK pentru a decripta fiierul.5.2. Structura unui fiier criptatUn fiier criptat conine date criptate i un antet cu cmpuri pentru a stoca copii ale FEK criptat pentru utilizatorii autorizai i agenii de recuperare de date desemnate (DRA - Data Recovery Agents). Strucura unui fiier criptat este reprezentat n Figura 4.

Figura 4. Structura unui fiier criptatUn fiier criptat conine cel puin un FEK stocat, FEK criptat folosind cheia public encryptor iniial. Domeniul de stocare pentru acest FEK criptat este numit cmpul de decriptare a datelor (DDF - Data Decryption Field). n plus, n cazul n care un fiier criptat EFS este partajat, o copie a FEK-ului este criptat folosind cheia public a utilizatorului nou autorizat, iar FEK-ul criptat este stocat ntr-un alt DDF.[5]Atunci cnd un utilizator cripteaz un fiier existent, au loc urmtoarele procese:[5]1. Serviciul EFS deschide fiierul pentru acces exclusiv. 2. Toate fluxurile de date din fiier sunt copiate ntr-un fiier temporar text n directorul temporar al sistemului.

3. Un FEK este generat i folosit pentru a cripta fiierul folosind DESX (Data Encryption Standard X) sau 3DES (Triple Data Encryption Algorithm), n funcie de politica de securitate. n mod implicit, EFS folosete algoritmul DESX cu cheie de 128 de bii pentru a cripta datele de fiiere, dar Windows poate fi configurat pentru a utiliza algoritmul cu cheie de 168-bit. n acest caz, utilizarea de algoritmi FIPS conformi trebuie s fie pornit n politica LSA (este dezactivat n mod implicit).

4. Un DDF este creat. Acesta conine FEK-ul criptat folosind cheia public a utilizatorului. EFS obine automat cheia public a utilizatorului de la X.509 versiunea 3 a certificatului de criptare de fiiere al utilizatorului.

5. Dac un agent de recuperare a fost desemnat prin politica de grup, este creat un DRF s conin FEK criptat folosind RSA i cheia public a agentului de recuperare. EFS obine automat cheia public a agentului de recuperare pentru recuperarea de fiiere, care este stocat n politica de recuperare EFS. Dac exist mai muli ageni de recuperare, o copie a FEK este criptat folosind cheia public a fiecrui agent, iar apoi este creat un DRF pentru a stoca fiecare FEK criptat.

6. EFS scrie datele criptate, mpreun cu DDF i CRD, napoi la dosar. Deoarece criptarea simetric nu adaug date suplimentare, creterea dimensiunii fiierului este minim, dup criptare. Metadatele, constand n principal din FEK-uri criptate, este de obicei mai mic de un kilobyte. Mrimea fiierului n bytes nainte i dup criptare este raportat ca fiind identic.

7. Fiierul temporar este ters.Atunci cnd un utilizator salveaz un fiier ntr-un folder care a fost configurat pentru criptare, procesul este similar cu excepia faptului c fiierul temporar nu este creat. Modul n care este realizat criptarea unui fiier cu EFS este prezentat in Figura 5.

Figura 5. Criptarea unui fiier cu EFSDup criptarea fiierului, numai utilizatorii care au DDF sau DRF corespunztor pot accesa fiierul. Acest mecanism este separat de securitate comun, n sensul c pe lng drepturile de acces la fiier, acesta trebuie s aib FEK criptat cu cheia public a utilizatorului.[5]Doar utilizatorii care pot decripta FEK cu propria lor cheie privat pot accesa fiierul. Consecina este aceea c utilizatorul care are acces la dosar, poate cripta fisierul astfel ncat proprietarul s nu poat accesa fiierul su.

Iniial doar o DDF este creat pentru utilizatorul care cripteaz fiierul, dar mai trziu, el poate aduga utilizatori suplimentari pentru cheia privat. n acest caz, pur i simplu decripteaz EFS, FEK cu cheia privat a utilizatorului care dorete s dea acces la dosar unui alt utilizator i cripteaz FEK cu cheia public a utilizatorului int, crend astfel un nou DDF care este stocat mpreun cu primul.6. Atributele $EFS

Cnd NTFS cripteaz fiiere, stabilete flags criptate (0x4000) pentru fiier i creeaz $EFS atribut pentru dosarul n care stocheaz DDF-urile i DDR-urile. Acest atribut are id = 0x100 la NTFS i poate fi destul de lung, ocupnd de la 0,5 K la mai muli kilobytes, n funcie de numrul de DDF-uri i DRF-uri. [4]

n Figura 6 este reprezentat atributul $ESF:

Figura 6. Atribut $EFS

n Figura 7 este prezentat un atribut $EFS detaliat:

Figura 7. Atribut $EFS detaliat dimensiunea atributului $EFS Computer SID (Security Identifier) i user number. Aceasta specific folder-ul unde sunt stocate certificatele EFS. Pentru a obine numele folder-ului EFS face urmtoarele operaii: 5A56B378 1C365429 A851FF09 D040000 date salvate n $EFS, 78B3565A 2954361C 09FF15A8 000004D0 inversat 2025018970-693384732-167712168-1232 transformat n zecimal S-1-5-21-2025018970-693384732-167712168-1232 SID prefix addedFolderul va fi: %User Profile%\Application Data\Microsoft\Crypto\RSA\S-1-5-21-2025018970-693384732-167712168-1232\ Amprenta cheii publice

Cheia privat GUID (utilizat ca nume de container). Acest nume EFS se folosete atunci cnd primete informaii de la CryptoAPI. Dac exist un singur atribut DDFin $EFS, numele containerului poate fi extras de la $EFS (acest domeniu), dar mai muli utilizatori adugai la dosar (mai multe DDF-uri sau DRF-uri), PK GUID nu sunt stocate pentru toate acestea i trebuie s fie preluate din depozitul de certificate, bazat pe amprenta cheii publice. Cryptographic provider name = Microsoft Base Cryptographic Provider

User name, arat cui corespunde DDF-ul sau DRF-ul curent FEK criptat. De obicei, FEK are o lungime de 128-bii (n cazul DESX), dar deoarece este criptat cu 1024-bii cheie RSA, lungimea sa criptat este de 1024 bii.ConcluziiFiiere i directoarele de pe un disc NTFS sunt fie comprimate, fie decomprimate. Starea de compresie a unui director nu reflect starea de compresie a fiierelor din acel director. Spre exemplu, un director poate fi comprimat, dar toate sau o parte din fiierele din acel director ar putea fi decomprimate, n cazul n care au fost mutate dintr-un director decomprimat sau dac am ales s decomprimm unele dintre fiierele din directorul respectiv.Putem seta starea de compresie a unui director i comprima sau decomprima fiiere cu ajutorul My Computer sau un program de linie de comand numit Compact. Atunci cnd se utilizeaz My Computer, putem seta starea de compresie a unui director NTFS fr a schimba starea de compresie a fiierelor existente n acel director. Dac avem permisiunea de Read/Write, putem schimba starea de compresie la nivel local sau ntr-o reea. Avem opiunea de a selecta directoare individuale sau fiiere pentru a comprima sau decomprima.Mutarea i copierea fiierelor sau a directoarelor n volume de disc pot schimba starea lor de compresie. Starea de compresie a acestor fiiere i directoare, i sistemul de fiiere n care au fost create, pot avea un impact asupra modului n care acestea sunt afectate n timp ce sunt mutate sau copiate. Starea de compresie a unui fiier sau director NTFS este controlat de atributul de compresie.Encrypting File System poate reprezenta un alt nivel de securitate n cazul n care este configurat corect. Calculatoarele pot fi securizate prin exportul cheii de recuperare (engl. recovery key) i utilizarea programului syskey pentru a fora utilizatorii s introduc o expresie de acces sau o dischet pentru accesarea sistemului. Din nefericire, utilizarea syskey nu este cea mai bun i totodat accesibil soluie. Numai utilizatorii cu calitatea de administrator poate rula programul i nu exist nicio posibilitate pentru a creea o "parol de administrator." ntr-o companie de dimensiuni moderate, acest lucru poate ngreuna munca suportului tehnic. O configurare EFS sigur nu este practic pentru un sistem independent. EFS a fost proiectat pentru a lucra ntr-un mediu Windows. n acest domeniu, nici SAM database, nici cheia de recuperare nu poate fi atacat, deoarece aceasta nu exist fizic pe maina local. Deoarece nimic nu se afl pe hard-disk , nu exist niciun motiv de a folosi utilitarul syskey pentru crearea unei parole de adiministrator. Acest lucru nseamn c toate funciile de management pot fi manipulate de la distan de ctre administratorul de domeniu i c fiierele pot fi criptate n siguran cu impact minim asupra metodelor de suport tehnic.Bibliografie[1]. Rajeev Nagar, Windows NT File System Internals, OReilly, 2000[2]. Mark Russinovich, David A. Solomon, Alex Ionescu, Windows Internals, Sixth Edition, Part 1, Microsoft Press, 2012[3]. Petra Koruga, Miroslav Baca, Analysis of B-tree data structure and its usage in computer forensics, Faculty of Organization and Informatics, University of Zagreb, Croatia, 2010

Referine internet[4]. http://ntfs.com/ntfs-files-types.htm [5]. https://technet.microsoft.com/en-us/library/bb457116.aspx[6]. http://ntfs.com/ntfs-compressed.htm [7]. http://docs.oracle.com/cd/B19306_01/network.102/b14268/asotrans.htm#ASOAG600

*Descrie toate fiierele de pe disk, inclusiv nume fiierelor, marcajele de timp, nume flux, indici, identificatori de securitate i fiierul cu atribute ca "read-only", "comprimat", "criptat", etc.

21