Sunteți pe pagina 1din 22

UNIVERSITATEA POLITEHNICA din BUCURETI

Facultatea de Electronic, Telecomunicaii i Tehnologia Informaiei

Sisteme de operare
Sistemul de fiiere NTFS

Coordonator tiinific:
Dr. Ing. Stncescu tefan

Studeni:
Sava Alexandru Nicolae
Lascu Ionu Viorel
Grupa 433A
2015

Cuprins
1. Introducere...............................................................................................................3
2. Capitolul 1: Atributele fiierelor NTFS................................[Sava A.]........................4
3. 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.............................................................................10
4. Capitolul 4: Compresia fiierelor NTFS..............................[Sava A.]......................12
5. Capitolul 5: Criptarea fiierelor NTFS................................[Sava A.]......................14
5.1 Criptarea EFS....................................................................................14
5.2 Structura unui fiier criptat.................................................................15
6. Capitolul 6: Atributele EFS.................................................[Lascu I.]......................19
7. Concluzii.............................................................................[Lascu I.].....................21
8. Bibliografie..............................................................................................................22

Introducere
La 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 fi iere 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 fi iere 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 tranzac iilor importante s fie
finalizate ca un ntreg, pentru a evita pierderea de date i pentru a mbunt i
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 parti iilor 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 spa iu 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 fi iere s aib o lungime de
pn la 255 de caractere, n loc de 8+3 caractere, limitarea conven ional a sitemului
de fiiere FAT.
3

1. Atributele fiierelor NTFS


Sistemul de fiiere NTFS vede fiecare fiier sau dosar ca un set de atribute de
fiier. Elemente cum ar fi numele fiierului, informa ii 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 fi iere MFT
(Master File Table*), acestea sunt numite atribute rezidente. De exemplu, informa ii
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 fi ierelor definite n prezent
de sistemul de fiiere NTFS. Aceast list este extensibil, n sensul c alte atribute
de fiier poate fi definite n viitor.

ID

Tipul Atributului Descriere

0x10

Standard
Information

0x20

Attribute List

0x30

File Name

0x40

Object ID

0x50

Security
Descriptor

Conine informaii despre marcajele de timp i


contorul de link.
Listeaz locaia ctre toate nregistrrile atribut care
nu se regsesc n nregistrarea MFT.
Un atribut repetabil att pentru nume de fi iere
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.
Un identificator unic de fiier pe disc. Acesta este
utilizat de ctre distributed link tracking service. Nu
toate fiierele au identificatori obiect.
Specific cine deine fiierul i cine l poate accesa.

__________________________________________________________________________

ID

Tipul Atributului Descriere

*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", 4
"criptat", etc.

0x60

Volume Name

0x70

Volume
Information

0x80

Data

0x90
0xA0
0xB0

Index Root
Index Allocation
Bitmap

0xC0

Reparse Point

0x100

Logged Utility
Stream

Folosit numai n fiierul $Volume. Conine


versiunea de disc.
Folosit numai n fiierul de sistem $Volume.
Conine versiunea discului.
Conine fiierul cu date. NTFS permite atribute
multiple de date pentru fiecare fiier. Fiecare fi ier
are de obicei un atribut de date anonim. Un fi ier
poate avea, de asemenea, una sau mai multe
nume atribute de date, fiecare folosind o anumit
sintax.
Folosit pentru a crea directoare i ali indici.
Folosit pentru a crea directoare i ali indici.
Folosit pentru a crea directoare i ali indici.
Sunt utilizate de ctre filtrul IFS (Instalabile File
System) pentru a marca anumite fiiere ca
speciale pentru acel driver.
Similar cu un flux de date, dar opera iunile sunt
nregistrate n fiierul jurnal NTFS ca modificri de
metadate NTFS. Aceasta este folosit de EFS.

NTFS creeaz un fiier de nregistrare pentru fiecare fi ier i un dosar de


nregistrare pentru fiecare director creat pe un disc NTFS. MFT include un fi ier de
nregistrare separat pentru MFT n sine. Aceste nregistrri de fi iere i directoare
sunt de 1 KB fiecare i sunt stocate n MFT. Atributele fi ierului sunt scrise n spa iul
alocat n MFT. n afar de atributele fi ierului, fiecare nregistrare fi ier con ine
informaii despre poziia nregistrare fiier n MFT. Fi ierele i dosarele mici (de
obicei, de 900 de bytes sau mai mici) sunt con inute n ntregime n eviden MFT a
fiierului.[2]

2. Directoarele NTFS
n spatele fiecarui obiect NTFS dintr-un disc exist cel puin un fi ier, chiar
directoare. Un director este un indice de nume de fi iere. Din punct de vedere al unui
5

utilizator, un director este un tip special de fi ier care poate con ine alte fi iere. Un
dosar este folosit pentru a crea o ierarhie logic a fi ierelor 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 con in un atribut nume
de fiier. O intrare index este creat pentru fiecare atribut nume de fi ier al fiecrui
fiier coninut n dosar. Acest tip de intrri index pot fi comparate mpreun n ordinea
alfabetic n funcie de atributul nume de fi ier.[1]

ID

Descriere

0x10
0x30
0x50
0x90
0xA0
0xB0

$STANDARD_INFORMATION
$FILE_NAME
$SECURITY_DESCRIPTOR
$INDEX_ROOT
$INDEX_ALLOCATION
$BITMAP

Nume
dirname
$I30
$I30
$I30

Intrare Index (Index Entry): un index reprezint o list cu intrri din Index.
Fiecare intrare conine numele fiierului, informa iile 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 con ine 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 fi ier ntrun folder, care conine un numr mare de fi iere.
6

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 fi iere 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 fi ier 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 autoechilibrare, 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-tree


3.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
7

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 opera iile 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 nl imea 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, inser ii 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 o
frunz, sau niciunul dac arborele este format doar din rdcin.[3]
8

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 pu in 2 noduri la
adncime de 1, cel puin 2*t noduri la adncime de 2, cel pu in 2*t 2 noduri la
adncime de 3, i aa mai departe, pn la adncimea h, unde exist cel pu in 2*t h-1
noduri. Astfel, numrul n de chei satisface inegalitatea t h(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 subdirectorului. 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, fi iere cu nume
similare, iar apoi permite cutarea doar n grupul care con ine fi ierul, minimiznd
numrul fr accese la disc pentru a gsi un anumit fi ier. 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 fi ierelor.

3.2. Clustere de fiiere


n 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 con ine paginile de date ale tabelei
de baz. Nodurile rdcin i la nivel intermediar con ine pagini de index ce de in
rnduri index. Fiecare rnd index conine o valoare cheie i un pointer pentru o
9

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 bidirec ional.
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 parti ie.
Atunci cnd un index cluster are mai multe parti ii, fiecare parti ie are o structur Btree care conine datele specifice pentru acea parti ie. 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 parti ie. 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 parti ie.

10

Figura 2. Structura unui indice cluster ntr-o singur parti ie

11

4. Compresia fiierelor NTFS


ncepnd cu Windows NT/2000, sistemele de operare Windows suport
compresia de fiiere individuale, dosare sau ntregi discuri NTFS. Fi iere 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 aplica ie
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 fi ierul,
nainte de-al face disponibil. De exemplu, dac dorii s copia i un fi ier 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 comprimat

NTFS 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 fi ierul
atunci cnd este deschis i l comprim atunci cnd acesta este nchis. Cnd scrie i
un fiier comprimat, sistemul rezerv spaiu pe disc pentru dimensiunea
necomprimat. Sistemul recupereaz spaiu nefolosit dup realizarea fiecrei
compresii. [6]

12

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 readonly, read-mostly sau lightly loaded s aibe performane bune.
Dac executai un program care utilizeaz tranzac ii cu logare i care scrie
constant ntr-o baz de date sau jurnal, configura i programul pentru a stoca fi ierele
pe un disc care nu este comprimat. Dac un program modific date prin sec iuni
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 func ioneaz 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 performan a
pentru a determina dac procesorul are o capacitate suficient pentru a sprijini
comprimarea/decomprimarea operaiilor care sunt efectuate.

5. Criptarea fiierelor NTFS


13

Encrypting File System (EFS) 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 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 fi iere Windows.

5.1. Criptarea EFS


EFS 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 dispozi ia 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. Opera ii cu chei publice sunt
adesea folosite ca parte a schimbului de chei ini iale sau a opera iunilor de protec ie.
Ct mai des, serviciile criptografice se schimb de la cheia public la opera iunile
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 fi iere simetric (FEK - File
14

Encryption Key) pentru vitez i apoi FEK este asigurat asimetric pentru securitate
maxim. Cnd un utilizator solicit un fi ier 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 criptat


Un fiier criptat conine date criptate i un antet cu cmpuri pentru a stoca
copii ale FEK criptat pentru utilizatorii autoriza i i agen ii de recuperare de date
desemnate (DRA - Data Recovery Agents). Strucura unui fiier criptat este
reprezentat n Figura 4.

Figura 4. Structura unui fiier criptat

Un 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 fi ier temporar text n
directorul temporar al sistemului.
3. Un FEK este generat i folosit pentru a cripta fi ierul folosind DESX ( Data
Encryption Standard X) sau 3DES (Triple Data Encryption Algorithm), n funcie de
politica de securitate. n mod implicit, EFS folose te algoritmul DESX cu cheie de
15

128 de bii pentru a cripta datele de fi iere, 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, cre terea dimensiunii
fiierului este minim, dup criptare. Metadatele, constand n principal din FEK-uri
criptate, este de obicei mai mic de un kilobyte. Mrimea fi ierului n bytes nainte i
dup criptare este raportat ca fiind identic.
7. Fiierul temporar este ters.
Atunci cnd un utilizator salveaz un fi ier ntr-un folder care a fost configurat
pentru criptare, procesul este similar cu excep ia faptului c fi ierul 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 EFS

Dup criptarea fiierului, numai utilizatorii care au DDF sau DRF


corespunztor pot accesa fiierul. Acest mecanism este separat de securitate
16

comun, n sensul c pe lng drepturile de acces la fi ier, 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 fi ierul su.
Iniial doar o DDF este creat pentru utilizatorul care cripteaz fi ierul, 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 dore te 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
17

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:

18

Figura 7. Atribut $EFS detaliat

19

dimensiunea atributului $EFS


Computer SID (Security Identifier) i user number. Aceasta specific
folder-ul unde sunt stocate certificatele EFS. Pentru a ob ine 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 added
Folderul va fi: %User Profile%\Application Data\Microsoft\Crypto\RSA\S-1-5-212025018970-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.

20

Concluzii
Fiiere 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 fi ierelor existente n acel
director. Dac avem permisiunea de Read/Write, putem schimba starea de
compresie la nivel local sau ntr-o reea. Avem op iunea 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 fi iere 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 fi ierele pot fi criptate n siguran
cu impact minim asupra metodelor de suport tehnic.

21

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#ASO
AG600

22

S-ar putea să vă placă și