Sunteți pe pagina 1din 94

Securitatea datelor în sistemele informatice economice

CAPITOLUL 4
TEHNOLOGII DE SECURITATE

4.1. Sisteme criptografice

Criptare – codarea unui mesaj


Decriptare – decodarea unui mesaj criptat
Criptologie – ştiinţa care se ocupă cu studierea criptării şi decriptării
Criptografie – cifrarea conţinutului unui mesaj cu ajutorul metodelor de criptare
Criptoanaliza – studiază metodele de descifrare a conţinutului mesajelor criptate
Obiectivul principal al măsurilor de protecţie într-un sistem de calcul îl constituie
eliminarea posibilităţilor de distrugere accidentală sau voită a informaţiilor, precum şi de
consultare neautorizată a acestora. Accesul neautorizat la informaţii poate provoca serioase
daune prin afectarea caracterului privat al transmisiilor, introducerea unor date false sau
trunchiate, falsificarea identităţii unor calculatoare, terminale ori utilizatori. Dintre obiectivele
importante care trebuie avute în vedere la proiectarea unor mecanisme hardware şi software
pentru protecţia informaţiilor într-o reţea le menţionăm pe cele de prevenire a dezvăluirii
conţinutului în clar al mesajelor, a inserării de mesaje false, a analizei traficului de mesaje,
precum şi pe cele de detectare a modificării, ştergerii sau înlocuirii conţinutului mesajelor, a
încercărilor de conectare neautorizată în reţea.
Obiectivele de prevenire pot fi atinse prin cifrarea informaţiilor, soluţie eficientă când
memorarea sau transmiterea de date se efectuează pe medii nesigure. Obiectivele de detectare
sunt realizate dacă se folosesc protocoale specifice, coroborate cu metode criptografice, care
asigură schimburile de mesaje între entităţile reţelei.
Cifrarea conferă protecţia informaţiei transmise pentru canalele ce sunt ascultate sau
interceptate. În acest scop, emiţătorul alege un algoritm de cifrare şi o cheie, pe care le
comunică receptorului pe cale sigură, de exemplu, prin curier. O altă modalitate este aceea
prin care se folosesc două chei diferite – una la criptare şi alta la decriptare. Criptografia
modernă protejează datele transmise pe linii de mare viteză şi memorate în calculatoare.
Ea urmăreşte două obiective principale, şi anume:
! protecţia sau confidenţialitatea (prevenirea dezvăluirii neautorizate a unor informaţii
transmise sau memorate) şi
! autenticitatea sau integritatea (prevenirea unor modificări neautorizate ale datelor).
Un sistem criptografic (criptosistem) are cinci componente [PATR94]:
! spaţiul mesajelor în text clar, {M};
! spaţiul mesajelor în text cifrat, {C};
! spaţiul cheilor, {K};
! familia transformărilor de cifrare, Ek: M → C, unde K ∈ {K};
! familia transformărilor de descifrare, Dk: C → M, unde K ∈ {K}.
După modul de folosire a cheilor se disting două modalităţi de criptare:
! criptarea cu cheie privată – în care se foloseşte aceeaşi cheie atât la criptare, cât şi
la decriptare. Se mai numeşte şi criptare simetrică sau convenţională datorită
folosirii aceleiaşi chei. În acest caz, transmiterea cheii în siguranţă către destinatar
trebuie să se facă pe un canal absolut sigur.
! criptarea cu chei publice – în care se folosesc chei diferite pentru criptare şi
decriptare. Se mai numeşte şi criptare asimetrică.

87
Securitatea datelor în sistemele informatice economice

Criptografia simetrică
Fiecare transformare de cifrare, Ek, este definită de un algoritm de cifrare, E comun
tuturor transformărilor familiei, şi o cheie, K, distinctă de la o transformare la alta. În mod
similar, fiecare transformare de descifrare, Dk, sunt definite de un algoritm de descifrare D, şi
de cheia K. Pentru un K dat, Dk reprezintă inversa lui Ek, adică:
Dk(Ek((M))=M, ∀M∈{M}

Cheie criptare Cheie decriptare


(privată) C=Ek(M) (privată)
Ek Dk
Mesaj
M Text criptat Mesaj
M=Dk(C)
Text
Text
clar
clar
Figura 32. Sistem criptografic.

În figura 32 este ilustrat modul în care transformările de cifrare şi descifrare sunt


folosite pentru a se asigura protecţia unui transfer de informaţii.
Datele trebuie astfel protejate încât utilizatorii neautorizaţi să nu poată reconstitui textul
clar dintr-un text cifrat interceptat. În acest sens, este necesar să se asigure:
! utilizatorul neautorizat să nu poată determina sistematic transformarea de descifrare,
Dk, din textul cifrat interceptat C, chiar dacă se cunoaşte textul clar, M, corespondent;
! utilizatorul neautorizat să nu poată reconstitui textul clar, M, din textul cifrat, C, fără
cunoaşterea transformării Dk.
Protecţia datelor (confidenţialitatea) impune ca transformarea de cifrare Dk (respectiv
cheia) să fie protejată (figura 33).

Cheie criptare Cheie decriptare


(privată) C=Ek(M) (privată)
Ek Dk
Mesaj
Mesaj
M Text cifrat M=Dk(C)
Text M’
Intrus – încercare Text
clar
de sustragere clar
(M’ # M)

Figura 33. Protecţia datelor.


Autentificarea datelor cere ca un utilizator neautorizat să nu fie capabil în mod obiectiv
să substituie textul cifrat, C, cu un text cifrat fals, C', fără ca acest lucru să fie detectat. Nu
trebuie să i se permită utilizatorului neautorizat:
! să determine sistematic transformarea Ek, cunoscând pe C şi textul clar
corespunzător, M;
! să găsească în mod sistematic C’, astfel ca Dk(C’) să fie un text clar valid în M.
Cerinţele de autentificare impun doar ca transformarea Ek (cheia de cifrare) să fie protejată
(figura 34).

88
Securitatea datelor în sistemele informatice economice

Cheie criptare Cheie decriptare


(privată) C=Ek(M) (privată)
Ek DB
Mesaj Mesaj
M M=Dk(C)
Text criptat
Text M’, C’
Text
clar
Intrus – încercare clar
de substituire
(M’ # M)

Figura 34. Autentificarea datelor.

Criptosisteme cu chei publice


Conceptul de criptosistem cu două chei (asimetric) a fost introdus de Diffie şi Hellman
în anul 1976. Ei propuneau o nouă metodă de cifrare, numită cifrare cu cheie publică, în
cadrul căreia doi utilizatori (procese) pot comunica cunoscând fiecare doar cheia publică a
celuilalt.
În criptosistemele cu chei publice, fiecare utilizator A deţine o transformare de cifrare
publică, Ek, care poate fi memorată într-un registru (fişier) public şi o transformare de
descifrare secretă, Dk, ce nu este posibil să fie obţinută din EA.
Cheia de descifrare (secretă) este derivată din cheia de cifrare (publică) printr-o
transformare greu inversabilă (one-way). În sistemele cu chei publice, protecţia şi
autentificarea sunt realizate prin transformări distincte. Să presupunem că utilizatorul
(procesul) A doreşte să emită un mesaj, M, unui alt utilizator (proces) B. Dacă A cunoaşte
transformarea publică EB, atunci A poate transmite M la B sub forma C=EB(M),
asigurându-se astfel funcţia de protecţie (confidenţialitate) (figura 35).

Cheie criptare Cheie decriptare


(publică) C=EB(M) (privată)
EB EA
Mesaj Mesaj
M M=DB(C)
Text criptat
Text
Text
clar
clar

Figura 35. Protecţia în criptosistemele cu chei publice.

La recepţie, B va descifra criptograma C utilizând transformarea secretă DB, cunoscută


doar de el:
DB(C)=DB(EB(M))=M.
Schema nu furnizează facilităţi de autentificare, deoarece orice utilizator (proces) are
acces la transformarea publică EB a lui B şi îi poate trimite mesaje false M' sub forma
C'=EB(M').

89
Securitatea datelor în sistemele informatice economice

Pentru autentificare, i se aplică lui M transformarea secretă DA lui A. Ignorând protecţia


pentru moment, A va emite C=DA(M) la B, care la recepţie va aplica transformarea publică,
EA a lui A:
EA(C)=EA(DA(M))=M (figura 36).

Cheie criptare Cheie decriptare


(privată) C=EA(M) (publică)
DA EA
Mesaj Mesaj
M M=EA(C)
Text criptat
Text
Text
clar
clar

Figura 36. Autentificarea în sistemele criptografice cu chei publice.


Autentificarea este realizată deoarece numai A poate aplica transformarea DA. Protecţia
nu este asigurată, întrucât este posibil ca M să fie obţinut de oricine aplicând transformarea
publică EA. Pentru a se realiza simultan protecţia şi autentificarea informaţiilor spaţiului {M}
trebuie să fie echivalent spaţiului {C}, aşa încât orice pereche (EA, DA) să fie în măsură să
opereze atât asupra textului clar, cât şi asupra textului cifrat; în plus se cere ca EA şi DA să fie
mutual inverse, adică: EA(DA(M))=DA(EA(M))=M.
Emiţătorul de mesaj A va aplica mai întâi transformarea secretă a sa, DA mesajului M.
Apoi A va cifra rezultatul – utilizând transformarea publică a lui B, EB – şi va emite către
receptor criptograma: C=EB(DA(M)).
Receptorul B îl obţine pe M aplicând la început propria-i funcţie de descifrare, DB, iar
apoi transformarea publică a lui A, EA, cea care furnizează autentificarea:
EA(DB(C))=EA(DB(EB(DA(M)))) =EA(DA(M)) =M. (figura 37)

Cheie criptare Cheie criptare Cheie decriptare Cheie decriptare


(privată) (publică) (privată) (publică)
EA(DA(M))

DA EB DB EA

Text
Mesaj criptat Mesaj
M M=EA(C)
Text
clar Text
Protecţie clar

Autentificare
Figura 37. Protecţia şi autentificarea în criptosistemele cu chei publice.

90
Securitatea datelor în sistemele informatice economice

4.1.1. Criptografia simetrică


La baza criptării convenţionale stau două modalităţi de cifrare:
! transpoziţia;
! substituţia.
Cifrarea prin transpoziţie realizează o permutare a caracterelor din textul clar prin
modificarea poziţiei caracterelor în mesaj.
Cifrarea prin substituţie presupune înlocuirea fiecărui caracter din textul clar cu un
caracter din alfabetul criptogramelor.
Cifrurile prin transpoziţie se pot clasifica după:
! numărul de aplicare al transpoziţiei:
♦ monofazică (se aplică o singură dată);
♦ polifazică (se aplică de mai multe ori).
! elementul unitate de transpoziţie:
♦ monografică (se transpune o singură literă);
♦ poligrafică (se vor transpune grupuri de litere).

Cifrarea prin transpoziţie


Transpoziţia monofazică presupune aplicarea transformării de cifrare o singură dată, în
timp ce transpoziţia polifazică presupune aplicarea transformării de cifrare de mai multe ori.
Dacă în procesul de cifrare elementul de corespondenţă în urma transpoziţiei este o literă,
atunci transformarea este monografică, iar dacă se transpun grupuri de litere, transpoziţia se
numeşte poligrafică.
Un exemplu simplu de folosire a cifrării prin transpoziţie monofazică şi monografică
este următorul:
Să luăm mesajul:
S E C U R I T A T E
Să împărţim mesajul în două blocuri orizontale în felul următor:
S E C U R
I T A T E
Citim mesajul pe coloane vom avea cifrarea:
S I E T C A U T R E
Sau acelaşi mesaj
S E C U R I T A T E
Împărţit în cinci blocuri verticale:
S C R T T
E U I A E
Citind mesajul pe linii vom avea cifrarea:
S C R T T E U I A E

O altă modalitate este aceea prin care textul mesajului se scrie într-o matrice şi se
parcurge matricea pe linii sau coloane dacă textul a fost scris pe coloane sau pe linii rezultând
de fiecare dată un text cifrat. De asemenea, se poate face parcurgerea textului şi în diagonală
sau în zig zag, pornind dintr-unul din colţuri.
Să luăm textul clar: SECURITATEA DATELOR

S E C U R I T A T E A D A T E L O R

91
Securitatea datelor în sistemele informatice economice

Folosim o matrice 4 x 5 pentru reprezentare şi vom înlocui spaţiile din text cu O.


S E C U R
I T A T E
A O D A T
E L O R O
Prin citirea pe coloană a textului, având în vedere că acesta a fost scris pe linie, va
rezulta mesajul:
S I A E E T O L C A D O U T A R R E T O
Sau prin citirea în zig zag pornind din colţul dreapta jos şi apoi în sus:
E A L O O I S T D R O A A E C T T U E R

Stabilirea traseelor de parcurgere a matricei se face în practică cu ajutorul unui cuvânt-


cheie. Cheia are un număr de litere egal cu numărul de coloane din matrice. Literele cheii,
numerotate în ordine alfabetică, se scriu deasupra matricei, în ordinea stabilită de cheie,
furnizată de textul cifrat.
În practica curentă pentru protejarea datelor prin transpoziţie se folosesc cutiile de
transpoziţie (figura 38).

M1 C1
M2 C2
M3 C3
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
Mn Cn

Figura 38. Cutie folosită pentru transpoziţii.

Cifrarea prin substituţie


Procedeul folosit la cifrurile substituţie presupune înlocuirea fiecărui caracter din alfabetul
mesajelor A cu un caracter din alfabetul criptogramelor C. Dacă A={a1, a2, a3,…, an}, atunci
C={f(a1), f(a2), ……, f(an)}, unde F : A → C este funcţia de substituţie care constituie cheia
cifrului.
Cifrarea unui mesaj M=m1, m2, m3, ….., mn se face astfel:
Ek(M)=f(m1)F(m2)f(m3)…f(mn).
Folosindu-se de substituţie, caractere ale alfabetului primar, sunt înlocuite cu caractere
sau grupuri de caractere ale unui alfabet secundar. Aceasta poate fi reprezentată prin formula:
C = aM + b(mod N).
În acest mod se stabileşte o corespondenţă biunivocă între literele alfabetului primar şi
numerele întregi 0, 1, 2, …., N-1.

92
Securitatea datelor în sistemele informatice economice

Substituţii monoalfabetice
Substituţia în care există o singură lege de corespondenţă între literele alfabetului primar
şi cele ale alfabetului secundar se numeşte substituţie monoalfabetică. Cea mai cunoscută
substituţie monoalfabetică este Cifrul lui Cezar. Se folosesc la cele două alfabete, primar şi
secundar, 26 de litere. Legătura între cele două cifruri se obţine prin deplasarea cu un număr
stabilit al alfabetului secundar şi stabilirea apoi a corespondenţei.
În exemplul următor se va folosi o deplasare de 3 caractere. Ci=E(Mi)=Mi+3
MI A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
CI D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
În acest fel textul clar:
Mi S E C U R I T A T E A D A T E L O R
Poate deveni:
Ci V H F X U L W D W H D G D W H O R U

Folosind o corespondenţă biunivocă între literele care formează mesajul (Mi), alfabetul
latin de 26 de litere, şi echivalentul numeric (Ei) unde Ei∈{0, 1, 2, ……, 25}, Cifrul lui Cezar
se mai poate scrie la forma generală:
C(Ei) = Ei + Bi(mod 26).
Prin particularizare, alegând B = 0, se obţine o substituţie de forma:
C(ej) = a*ej(mod 26).
Corespondenţa ej→C(ej) este biunivocă dacă numerele a şi 26 sunt relativ prime, deci
(a, N) = 1, în caz contrar două sau mai multe litere primare vor fi cifrate prin aceeaşi literă şi
funcţia de cifrare nu admite o inversă.
Se alege a astfel încât să fie relativ prim cu N = 26, în acest fel stabilindu-se o
permutare a alfabetului primar. De exemplu, luând a = 3, se obţine următoarea corespondenţă:
Litere primare:
Litere primare A B C …….. X Y Z
Numere echivalente, Ei 0 1 2 …….. 23 24 25
3*Ej (mod 26) 0 3 6 …….. 17 20 23
Cifru rezultat A D G …….. R U X

Literele cifrului se pot obţine din alfabetul primar şi prin următorul proces de selectare:
se alege prima litera A şi apoi, în ordinea ciclică fiecare a treia literă; deci D, G, ..., Y. După
Y şirul cifrului se continuă cu B, deoarece, în ordinea ciclică, a treia literă după Y în alfabetul
primar este B ş.a.m.d., motiv pentru care factorul de amplificare a = 3 se mai numeşte şi
factor de selectare.
Se poate obţine un alfabet de substituire prin compunerea operaţiei de deplasare cu
operaţia de selectare. Astfel, de exemplu, alegând b = 4 şi a = 3 se obţine cifrul: C(ej) = 3(ei
+ 4)(mod 26), ceea ce este echivalent cu o transformare liniară generală de forma:
C(ej) = 3ej + 12(mod26).

Cifrul sau permutarea P a literelor alfabetului primar:


A B C …….. X Y Z
M P S …….. D G J
se poate caracteriza în mod univoc prin perechea de numere (3, 4), în care 3 reprezintă
factorul de selectare, iar 4 coeficientul de deplasare.
Perechea de numere (a, b) care defineşte în mod univoc o transformare liniară poartă
denumirea de cheia substituţiei respective.

93
Securitatea datelor în sistemele informatice economice

Un sistem de criptare bazat pe substituţie se poate obţine şi prin folosirea unei chei
mnemonice. Ca exemplu luăm cheia literală CRIPTARE, apoi scriem cheia numerică, care
se obţine prin numărarea literelor cuvântului-cheie, după aşezarea lor în ordinea alfabetică:

Cheia literară C R I P T A R E
Cheia numerică 2 6 4 5 8 1 7 3

S-au numerotat literele din cuvântul CRIPTARE în ordinea apariţiei în alfabet. La două
apariţii ale aceleiaşi litere în cuvântul-cheie acestea se numerotează diferit. În exemplul de mai
sus litera R a apărut în cheia literară pe poziţiile 6 şi 7. Deci cheia numerică va fi 6 şi 7.
Se scriu literele alfabetului primar sub cheia numerică sub forma:
C R I P T A R E
2 6 4 5 8 1 7 3
A B C D E F G H
I J K L M N O P
Q R S T U V W X
Y Z

Corespondenţa monoalfabetică, corespunzătoare cuvântului-cheie CRIPTARE, se


obţine prin scrierea sub literele alfabetului primar a literelor coloanelor de mai sus în ordinea
crescătoare, adică se obţine permutarea P1 (CRIPTARE):

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
F N V A I Q Z H P X C K S D L T B J R Z G O W E M U
Se observă în acest caz o corespondenţă biunivocă între alfabetul primar şi cel secundar.
Cu ajutorul acestei corespondenţe se poate cifra orice text clar, obţinând textul cifrat. În
acest caz, numărul corespondenţelor posibile creşte de la 26 la 26! şi ca atare această metodă
de cifrare implică operaţii criptanalitice de mare complexitate.
Se mai poate aplica încă o dată acest mod de criptare folosind cuvântul-cheie
CRIPTARE obţinând o nouă permutare. Noul tabel, pentru această substituţie, va fi de
forma:
C R I P T A R E
2 6 4 5 8 1 7 3
F N V A I Q Z H
P X C K S D L T
B J R Z G O W E
M U

de unde rezultă permutarea P2 (CRIPTARE):


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Q D O F P B M H T E V C R A K Z N X J U Z L W I S G

Un cifru de substituţie se poate obţine şi cu ajutorul unui tabel sub formă de scară.
Pentru aceasta se scriu toate literele alfabetului, în ordinea alfabetică, sub literele cheii, cu
condiţia ca linia i să se completeze începând cu coloana i, pentru i = 1, 2, ... Apoi permutarea
fixă sau alfabetul cifrat rezultă din scrierea sub literele alfabetului primar a literelor coloanelor
tabelului scară în ordinea crescătoare.

94
Securitatea datelor în sistemele informatice economice

Astfel, de exemplu, pentru cheia mnemonică:


ALFABET

Cheia literară A L F A B E T
Cheia numerică 1 6 5 2 3 4 7
Se obţine tabelul sub formă de scară:
A L F A B E T
1 6 5 2 3 4 7
A B C D E F G
H I J K
L M N
O P
Q R S T U
V W X Y Z

de unde rezultă permutarea P (ALFABET):


A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A B V C Q W D H R X E I L S Y F J M O T Z G K N P U

Un alt procedeu de obţinere a unui alfabet cifrat constă în repetarea cuvântului-cheie


până rezultă un număr de litere egal cu numărul literelor din alfabetul primar. Acesta se scrie
sub literele alfabetului primar şi se numerotează în ordine alfabetică de la 0 până la 25. Litera
A se cifrează prin acea literă care este deasupra lui 0 ş.a.m.d.
Substituţia omofonică [PATR94]
Cifrurile bazate pe substituţie simplă sunt în general uşor de spart prin atac cu text-
cifrat, utilizând însă şi frecvenţele de apariţie a caracterelor. O variantă de substituţie este cea
omofonică prin care se înlocuieşte fiecare caracter din A cu un caracter dintr-o mulţime f(A).
Funcţia f se defineşte astfel: f : A τ 2C.
Un mesaj clar M = m1m2...mn va fi cifrat sub forma C = c1c2...cn, unde fiecare ci este
ales aleatoriu din mulţimea f(mi).
Cifrurile omofonice sunt mult mai greu de spart decât cele bazate pe substituţie simplă,
în special atunci când cardinalul mulţimii f(mi) este proporţional cu frecvenţa
caracterului mi. În acest fel, se realizează o aplatizare a frecvenţelor de apariţie a diferitelor
caractere, îngreunând munca de criptoanaliză.
În cifrarea omofonică pentru caracterele cu o frecvenţă de apariţie mai mare se creează
mai multe posibilităţi de reprezentare în textul cifrat. De exemplu, în urma unor analize
statistice, numărul de apariţie a literelor într-un text de limba engleză de 100.000 caractere
este: E-12604, T-9042, 'R-8256, ...Q-318, J-198, Z-101.
Pentru literele E, T şi R, având un număr de apariţii mai mare, în cifrarea omofonică se
creează patru posibilităţi de reprezentare. Evident, cu cât alfabetul secundar este mai bogat în
caractere, cu atât este mai uşoară mascarea caracteristicilor statistice ale textului clar. Fiecare
caracter al textului clar poate avea mai multe reprezentări în textul cifrat. Pentru a ilustra acest
lucru se consideră cazul când alfabetul textului clar este format din 26 de caractere, iar
alfabetul secundar conţine 210 + 1024 de caractere de 10 biţi fiecare. Iniţial se face ca pentru
fiecare literă din alfabetul primar să corespundă un număr de cifruri direct proporţionale cu
frecvenţa de apariţie a literei respective în textul considerat. Numărul cuvintelor de cod prin
care sunt codificate literele alfabetului primar este: E-133, T-93, R-85, ..., Q-2, J-2, Z-1.

95
Securitatea datelor în sistemele informatice economice

Prin acest sistem de cifrare se realizează ca frecvenţa de apariţie a cuvintelor de cod să


fie aproape constantă.
Cifrarea monoalfabetică poate fi uşor de implementat. Timpul de criptare a n caractere
este proporţional cu acestea. Există un număr de 26! posibilităţi de cifrare. Dacă se face o
descifrare într-o milisecundă, folosind un atac brut, este nevoie de 1000 ani pentru a testa
toate posibilităţile. Cu toate acestea, frecvenţa literelor în text poate dezvălui mesajul.
Substituţia polialfabetică [PATR94]
Cifrurile bazate pe substituţie polialfabetică constau din utilizarea periodică a unor
substituţii simple diferite. Fie d alfabete de cifrare C1, C2, …, Cd şi d funcţii fi care realizează
substituţia de forma
fi:A→Ci, 1< = i< = d . Un mesaj clar
M = m1m2…mdmd + 1…m2d… va fi cifrat prin repetarea secvenţelor de funcţii f1, ..., fd la
fiecare al d-lea caracter:
Ek(M) = f1 (m1)...fd(md)fi (md + 1).
Utilizarea unei secvenţe periodice de substituţii ale alfabetului măreşte în mod
semnificativ securitatea criptogramei prin nivelarea caracteristicilor statistice ale limbii.
Aceeaşi literă din textul cifrat poate reprezenta mai multe litere din textul clar, cu diverse
frecvenţe de apariţie. În acest caz, numărul cheilor posibile se măreşte de la 26!, câte erau la
substituţia monoalfabetică, la (26!)n.
În substituţia n-alfabetică caracterul m1 al mesajului clar este înlocuit cu un caracter din
alfabetul A1, m2 cu un caracter din alfabetul A2, …, mn cu un caracter din alfabetul An, mn + 1
din nou printr-un caracter în alfabetul A1 etc., conform tabelului:
CARACTER DE INTRARE: m1, m2, m3, m4, m5, m6, m7, m8, m9, …
ALFABET SUBSTITUŢIE: A1, A2, A3, A4, A1, A2, A3, A4, A1…
O versiune cunoscută de substituţie polialfabetică o constituie cifrul Vigenere (tabelul
13), când cheia K este o secvenţă de litere de forma:
K = k1k2...kd.
Funcţiile fi de substituţie se definesc astfel:
fi(a) = (a + ki) (mod n),
unde n este lungimea alfabetului.

96
Securitatea datelor în sistemele informatice economice

Tabelul 13. Cifrul lui Vigenere.


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

97
Securitatea datelor în sistemele informatice economice

Se parcurg următorii paşi:


1. Se alege un cuvânt-cheie.
2. Se împarte textul în grupuri de 5 caractere.
3. Se scrie cuvântul cheie în fiecare din căsuţele atribuite.
4. Se foloseşte cuvântul cheie pentru a stabili coloana din tabel.
5. Se foloseşte textul clar pentru a stabili rândul din tabel.
6. Se criptează textul folosind corespondenţa dintre linie şi coloană unde se va găsi
simbolul folosit pentru cifrare.
Exemplu:
Folosim mesajul clar Mi pe care dorim să-l criptăm folosind cheia Kk.

Mi C R I P T A R E A C U C H E I P R I V A T E

Kk S E C R E T

Kk S E C R E T S E C R E T S E C R E T S E C R
Mi C R I P T A R E A C U C H E I P R I V A T E

Ci U V K G X T J I C T Y V Z I K G V B N E V V

Corespondenta dintre Kk şi Mi va avea ca rezultat Ci. Rezultatul este evidenţiat pe cifrul


lui Vigenere în tabelul 14.

98
Securitatea datelor în sistemele informatice economice

Tabelul 14. Generarea rezultatului folosind cifrul lui Vigenere.


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

0 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
2 C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
3 D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
4 E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
5 F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
6 G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
7 H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
8 I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
9 J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
10 K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
11 L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
12 M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
13 N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
14 O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
15 P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
16 Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
17 R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
18 S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
19 T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
20 U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
21 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
22 W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
23 X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
24 Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
25 Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

99
Securitatea datelor în sistemele informatice economice

Matematic se obţine acelaşi lucru în felul următor:


1. Se consideră aceiaşi cheie de cifrare (Kk) SECRET.
2. Textul clar (Mi) va fi CRIPTAREA CU CHEI PRIVATE.
3. Folosind o corespondenţă biunivocă între literele alfabetului şi elementele inelului
claselor de resturi modulo26 (A = 0, B = 1, ..., Z = 25), substituţia alfabetică
conduce la următorul text cifrat:

Kk S E C R E T S E C R E T S E C R E T S E C R
Mi C R I P T A R E A C U C H E I P R I V A T E

Ci U V K G X T J I C T Y V Z I K G V B N E V V

Textul clar este (Mi) este CRIPTAREA CU CHEI PRIVATE:


Cheie de cifrare (Kk) este SECRET.
C + S = ( 2 + 18)(mod26) = 20(mod26) = 20 = U
R + E = (17 + 4)(mod26) = 21(mod26) = 21 = V
I + C = ( 8 + 2)(mod26) = 10(mod26) = 10 = K
…………………………………………………

T + C = (19 + 2)(mod26) = 21(mod26) = 21 = V


E + R = ( 4 + 17)(mod26) = 21(mod26) = 21 = V
Un cifru Vigenere cu o perioada n, deşi mult mai puternic decât un cifru bazat pe
substituţia monoalfabetică, poate fi spart dacă criptanalistul dispune de cel puţin 2n caractere
din textul cifrat.
O variantă mai nouă a acestui cifru peste un alfabet binar este cifrul Vernam, care se
diferenţiază prin cheia de cifrare care este reprezentată de o secvenţă de caractere aleatorii
care nu se repetă.
Fie M = m1m2... un mesaj clar binar şi K = k1k2... un şir binar care reprezintă cheia.
Criptograma C = EK(M) = C1C2... se obţine determinând fiecare caracter ci astfel:
ci = (mi + ki) (mod n), i = 1, 2, ...
Utilizarea o singură dată a cheii („one time pad“) face ca mesajul să fie foarte
rezistent la criptoanaliză, practic imposibil de spart; aceste cifruri au o largă utilizare în
comunicaţiile diplomatice şi militare.

Substituţia poligramică [PATR94]


Cifrurile bazate pe substituţie poligramică realizează substituirea unor blocuri de
caractere (poligrame) din textul clar, distrugând astfel semnificaţia, atât de utilă în
criptoanaliză, a frecvenţelor diferitelor caractere.
Vom consideră un mesaj M = m1m2...mdmd + 1… şi un cifru care prelucrează poligrame
de lungime d. Criptograma rezultată este C = c1…cdcd + 1…cd + d. Fiecare poligramă mid + 1
+…mid + d va fi prelucrată în poligrama cid + 1…cid + d prin funcţia de substituţie astfel:

cid + j = fj(mid + 1, …, mid + d)

100
Securitatea datelor în sistemele informatice economice

În cazul cifrării literelor singulare, frecvenţa de apariţie a literelor în textul cifrat este
aceeaşi cu frecvenţa de apariţie a literelor corespunzătoare din textul clar. Această invarianţă a
frecvenţelor furnizează o cantitate de informaţie suficientă criptoanalistului pentru spargerea
sistemului de secretizare. Pentru minimizarea informaţiei colaterale furnizate de frecvenţa de
apariţie a literelor s-a procedat la cifrarea grupurilor de n litere (n-grame). În cazul când un
grup de n litere este substituit printr-un alt grup de n-litere, substituţia se numeşte
poligramică. Substituţia poligramică cea mai simplă se obţine pentru n = 2 când digrama
m1m2 din textul clar se substituie cu digrama c1c2 din textul cifrat.
Corespondenţa biunivocă dintre digramele m1m2 şi c1c2 se poate stabili cu ajutorul unui
tabel de formă pătratică. Literele din coloană din stânga pătratului şi din rândul dispus
deasupra pătratului servesc drept coordonate pentru digrama m1m2 din textul clar, iar digrama
cifrată corespunzătoare se scrie la intersecţia liniei m1 cu coloana m2 sub forma:

A B C D E
A QX FN LB YE HJ
B AS EZ BN RD CO
C PD RA MG LU OP

Pentru simplificarea operaţiei de descifrare se poate întocmi „pătratul invers“ care în


punctul de coordonate c1 c2 ţine digrama clară m1 m2.
Un exemplu clasic pentru sustituţia digramelor este cifrul lui PLAYFAIR. Metoda
constă în dispunerea literelor alfabetului latin de 25 de litere (I ≡ J) într-un pătrat de cinci linii
şi cinci coloane de forma:

C I F R U
A B D E G
H K L M N
O P Q S T
V W X Y Z

De regulă, în prima linie a pătratului se scrie un cuvânt cheie, şi apoi se completează


celelalte linii cu literele alfabetului, fără repetarea literelor. Cifrarea se execută după
următoarele reguli:
! dacă m1m2 sunt dispuse în vârfurile opuse ale unui dreptunghi, atunci c1c2 sunt
caracterele din celelalte vârfuri ale dreptunghiului, c2 fiind în aceeaşi linie cu m1. De
exemplu GS devine MN, deci GS→MN;
! dacă m1 şi m2 se găsesc într-o linie, atunci c1 şi c2 se obţin printr-o deplasare ciclică
spre dreapta a literelor m1 şi m2. De exemplu, AD→BF sau CF→DA etc.;
! dacă m1m2 se află în aceeaşi coloană, atunci c1 şi c2 se obţin printr-o deplasare
ciclică a lui m1, m2 de sus în jos. De exemplu, UO→BW sau EZ→FE etc.;
! pentru separarea liniilor identice alăturate se introduc nişte caractere de separare
care, de regulă, au frecvenţă de apariţie redusă, cum sunt de exemplu literele X, Q în limba
română.
Descifrarea se execută după reguli asemănătoare cu cele de cifrare.
O substituţie poligramică interesantă este metoda algebrică de cifrare care se bazează
pe utilizarea unei transformări liniare de forma:
f(M) = PMT,
unde P este o matrice pătratică cu n linii şi n coloane, iar M este un vector coloană cu n
elemente. Elementele matricei transformării P aparţin inelului Z26, iar elementele lui M sunt
echivalente numerice ale n-gramei M = e1, e2, ..., en.

101
Securitatea datelor în sistemele informatice economice

În mod analog cu cifrarea şi descifrarea digramelor se pot prelucra trigramele,


tetragramele sau pentagramele, obţinând un spor de securitate prin creşterea rangului matricei
de cifrare. Aplicând în mod repetat operaţia de transformare liniară se obţine un cifru-produs
definit prin produsul matriceal de forma: C = P1(P2( ...(PkMT)…),
unde matricele Pi, i = 1, 2, ..., k sunt matrice inversabile de tipul nxn, iar M = e1, e2, ..., en este
echivalentul numeric al n-gramei.
Cele n litere ale n-gramei-text clar depind de n-grama-cifru, dar dacă două n-grame din
textul clar au o literă comună, de aici nu se poate deduce că n-gramele-cifru corespunzătoare
au o literă comună şi invers, ceea ce conduce la mascarea caracteristicilor statistice ale
textului clar.

ZECIMAL- BINARĂ

BINAR-ZECIMALĂ
CONVERSIE

CONVERSIE
Figura 39. Cutii de substituţie.

În cadrul cifrurilor computaţionale, folosite în sistemele de securitate ale


calculatoarelor, substituţia simplă se realizează prin aşa-numitele cutii S (figura 39).

Cifruri produs [PATR94]


Un algoritm produs (numit şi cifru produs) reprezintă o compoziţie a t funcţii (cifruri)
f1, f2, …, ft, în care fiecare fi poate fi o substituţie sau o permutare. Shannon a propus
compunerea în diferite feluri a funcţiilor pentru crearea unor transformări mixte care
distribuie în mod uniform mulţimea mesajelor M pe mulţimea tuturor criptogramelor C.
Aceste categorii de cifruri-produs se bazează pe reţele de cutii S-P, în care se obţine
criptograma
C = EK(M) = StPt-1…S2P1S1(M),
unde fiecare Şi, este dependentă de o cheie k, parte din cheia cifrului K.

102
Securitatea datelor în sistemele informatice economice

Metode criptografice simetrice


Cifrul Lucifer [PATR94]
Un exemplu de criptare simetrică îl constituie cifrul Lucifer. Acesta realizează cifrarea/
descifrarea mesajelor divizându-le în blocuri de 128 de biţi. Mesajul poate fi de lungime
oarecare, iar cheia de cifrare este de 128 biţi.
Principiul este ilustrat în figura 40.

α DES DES DES

I 48 48 48 48 I
P P

M C

Pas 1 Pas 2 Pas 15 Pas 16

Figura 40. Sistemul de criptare Lucifer.

Sistemul de criptare Lucifer a fost dezvoltat încă din anul 1974 de către firma IBM.
Ulterior, sistemul de criptare Lucifer a fost denumit DEA – Data Encryption Algorithm.
Acesta foloseşte o serie de cutii S şi cutii mici P, cu n = 4, prin care trec datele de
intrare. Cutiile S vor implementa două substituţii posibile S0 şi S1, făcute publice, a căror
alegere depinde de valoarea unui bit al cheii. Ţinând seama de faptul că sistemul
implementează 16 iteraţii identice, necesarul de cheie fiind de 512 biţi (1 bit/cutie S*32 cutii
S/iteraţie*16 iteraţii). Pentru a se reduce cheia de criptare de la 512 biţi la 128 biţi se
utilizează un algoritm de expandare al ei, care repetă fiecare bit al cheii de patru ori.
Fiecare cutie S de n biţi poate fi implementată ca o memorie de 2n cuvinte de n biţi.
Pentru a se realiza un compromis între cost de implementare şi securitate asigurată s-a ales n = 4,
ceea ce înseamnă pentru fiecare cutie 64 de biţi.
Dispozitivul Lucifer conţine şi un generator de cuvinte de trecere pentru transmisiile de
date importante. Acest generator operează la fiecare capăt al liniei de comunicaţii. Mesajele
care urmează să fie transmise sunt divizate automat în blocuri de D biţi şi combinate la fiecare
impuls de tact al unui ceas, înainte de transmisie, cu un cuvânt de trecere (CT) care
corespunde ieşirii ceasului în acel moment. Rezultă un bloc de 2D biţi care este cifrat prin
ansamblul cutiilor P şi S. Cifrul Lucifer trebuie să gestioneze corect, la descifrare, cheia
aplicată cutiilor S iar cuvântul de trecere cifrat recepţionat trebuie să corespundă cu cel
generat local de ceasul binar care este sincronizat cu cel de transmisie.
Metoda numită şi autentificarea prin înlănţuirea blocurilor prezintă următoarele
avantaje:
! fiecare bloc de text clar şi corespondentul sau cifrat sunt unice, ceea ce înseamnă că
acelaşi mesaj, repetat în transmisie, dă criptograme diferite la timpi diferiţi;
! erorile de transmisie sau utilizarea unei chei neadecvate vor fi sesizate imediat;
! încercările de a transmite mesajele vechi, înregistrate, sunt imediat detectate,
deoarece cuvintele de trecere sunt diferite la momente diferite.

103
Securitatea datelor în sistemele informatice economice

Algoritmul DES
Sistemul DES (Data Encryption Standard) este primul standard dedicat protecţiei
criptografice a datelor din sistemele de calcul. Dezvoltarea lui a început încă din 1972, dar a
fost adoptat oficial în 1976, după îmbunătăţirea cifrului Lucifer.
Sistemul de cifrare DES este o combinaţie între tehnica substituţiei şi tehnica
transpoziţiei. DES reprezintă un cifru-bloc cu lungime de 64 de biţi. Cheia de criptare are
lungimea de 64 de biţi, din care doar 56 sunt efectiv folosiţi, aceştia fiind generaţi aleatoriu,
ceilalţi 8 biţi sunt folosiţi pentru a detecta erorile de transmisie, câte un bit pentru fiecare bloc
de 8 biţi ai cheii. În acest fel, cheia este expandată la lungimea blocului. Cheia este păstrată de
către utilizatori şi este folosită în procesul de cifrare/descifrare.
Sistemul de cifrare DES constă din patru moduri de prelucrări [HSST95]:
ECB – Electronic Code Book
CBC – Cipher Block Chaining
OFB – Output Feedback
CFB – Cipher Feedback
Modul ECB (DES nativ)
Datele de intrare sunt divizate în blocuri de 64 de biţi (8 bytes). Cheia de criptare are de
asemenea 64 de biţi. Din aceştia sunt folosiţi efectiv 56, ceilalţi fiind folosiţi ca informaţie de control.
Se folosesc doi algoritmi distincţi, şi anume:
! algoritmi folosiţi pentru criptare;
! algoritmi pentru planificarea cheilor.
Se efectuează două tipuri de criptări în această fază:
! permutarea
! substituţia.
Pentru realizarea acestor două operaţii se folosesc cutii pentru permutări şi substituţii.
Permutarea cu ajutorul cutiilor.
Vom exemplifica o permutare care are ca date de intrare caracterul „9“ (în EBCDIC),
cu forma binară 11111011, care va fi transformat cu ajutorul cutiei în caracterul „=“ (în
EBCDIC), cu forma binară 01111110 (figura 41).
1 0
1 1
1 1
1 1
1 1
0 1
0 1
1 0
Figura 41. Cutie folosită la permutare.
Procesul de permutare realizat de cutie va disimula informaţia. Dacă considerăm cutia
ca un algoritm de criptare, atunci cheia va fi formată din macheta de conexiune realizată între
conexiunile interne. Procesul de criptare este în acest caz reversibil, dacă aplicăm cheia la
datele de ieşire vom obţine datele de intrare.
Se aplică în continuare o operaţie de tip OR exclusivă (XOR). Aceasta poate fi văzută la
rândul ei ca un nou algoritm de criptare, sau ca un pas suplimentar în criptare (în literatura de
specialitate mai poartă denumirea de modulul al doilea adiţional). Acest pas suplimentar
este exemplificat în tabelul 15.

104
Securitatea datelor în sistemele informatice economice

Tabelul 15. Modulul al doilea adiţional.


Tip/
Şirul de biţi Semnificaţie Operaţie
Operaţie
1 1 1 1 1 0 0 1 EBCDIC Mi – text clar (9)
0 0 1 0 1 1 0 1 XOR Ki - cheie de cifrare Cifrare
aleatorie
1 1 0 1 0 1 0 0 EBCDIC Ci – text cifrat

1 1 0 1 0 1 0 0 EBCDIC Ci – text cifrat


0 0 1 0 1 1 0 1 XOR Ki - cheie descifrare Descifrare
≡ cheie cifrare
1 1 1 1 1 0 0 1 EBCDIC Mi – text clar (9)

Se observă că procesul este reversibil cu condiţia ca cheia de criptare să fie aceeaşi cu


cheia de decriptare.

Substituţia cu ajutorul cutiilor


Substituţia este folosită ca un proces de neliniarizare a informaţiei menit să aducă
confuzie unui eventual utilizator neavizat. Procesul presupune înlocuirea unui număr cu un
altul dintr-o tabelă prestabilită. Informaţia binară va fi înlocuită cu valori numerice din tabela.
Tabela are valori de numere cuprinse între 0 (0000) şi 15 (1111) (tabelul 16).

Tabelul 16. Substituţia cu ajutorul cutiilor.


Coloane
Rânduri 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 5 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13

Operaţia de substituire are ca date de intrare 6 biţi şi returnează 4 biţi.


Principiul este exemplificat în cele ce urmează (tabelul 17).
Paşii sunt următorii:
! se aleg datele de intrare (binar – 101011 care are corespondent zecimal - 43);
! primul şi ultimul bit din şirul de intrare vor determina linia din tabel (11 – binar →
3 – zecimal, rândul cu numărul 3);
! cei 4 biţi din mijlocul şirului vor determina numărul coloanei (0101 – binar → 5 –
zecimal, coloana cu numărul 5);
! din tabelă, la intersecţia coloanei nr. 5 cu rândul nr. 3 se găseşte cifra zecimală 9,
adică binar 1001.
Tabelul 17. Substituţia cu ajutorul cutiilor – rezultatul.
Număr zecimal
Număr binar Operaţie efectuată
(corespondent)
101011 43 Date de intrare (INPUT)
11 3 Se aleg primul şi ultimul bit din datele de intrare
0101 5 Se aleg 4 biţi din mijloc
1001 9 Date de ieşire (OUTPUT)

Schema de prelucrare într-un singur ciclu a lui ECB (nativ DES) presupune parcurgerea
următorilor 7 paşi (figura 42):

105
Securitatea datelor în sistemele informatice economice

Pasul
1 1 2 3 .. .. .. .. .. .. 63 64
Permutări iniţiale
(Initial Permutation IP)
IP 58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
2 58 50 42 .. .. .. .. .. .. 15 7 62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
3 5 50 L (stânga) R (dreapta) 15 7

Permutation Expansion (PE)


4 R (dreapta) 32 1 2 3 4 5
4 5 6 7 8 9
8 9 10 11 12 13
PE 12 13 14 15 16 17
16 17 18 19 20 21
5 R expandat 20 21 22 23 24 25
24 25 26 27 28 29
+ 28 29 30 31 32 33
Key segment (48 biţi)
P
16 7 20 21
Pre S block
29 12 28 17
1 15 23 26
5 18 31 10
Pre S block 2 8 24 14
32 27 3 9
6 6b 6b 6b 6b 6b 6b 6b 6b
19 13 30 6
22 11 4 25
S1 S2 S3 S4 S5 S6 S7 S8

4b 4b 4b 4b 4b 4b 4b 4b Post S box

7 Post S block

IP

Rezultat

Figura 42. Schema de prelucrare într-un singur ciclu a lui ECB (nativ DES).

106
Securitatea datelor în sistemele informatice economice

Pasul 1
! se introduc cei 64 de biţi ai mesajului de text clar (Mi).
Pasul 2
! se rearanjează datele de intrare conform cu tabela de permutări iniţiale (IP).
Pasul 3
! se împarte segmentul de date de intrare în două segmente/jumătăţi de câte 32 de biţi
care vor purta denumirea de L (left – stânga) şi respectiv R (right – dreapta);
! se face o salvare de siguranţă a jumătăţii dreapta care se va numi R0;
! se va opera în continuare numai cu jumătatea dreaptă (R) lăsând jumătatea stângă
(L).
Pasul 4
! se aplică asupra jumătăţii R un set special de permutări, numite permutări expandate
(PE), care la un număr de 32 de biţi date de intrare vor genera 48 de biţi date de
ieşire.
Pasul 5
! celor 48 de biţi rezultaţi, împreună cu alţi 48 de biţi ai unei chei, li se aplică o
operaţie XOR. Este singurul loc unde intervine cheia de criptare. În urma acestei
operaţii rezultă un bloc care se numeşte Pre S block.
Pasul 6
! se împarte Pre S block în 8 segmente de câte 6 biţi;
! fiecare segment este procesat de o casetă individuală S-Box (S1, S2, S3, …..S8).
Prelucrarea se face în paralel cu a celor 8 segmente. Fiecărui segment i se aplică o
singură cutie S-Box.
! în urma prelucrării rezultă 32 de biţi (4 biţi la ieşire * 8 casete = 32 biţi).
Succesiunea de biţi rezultată poartă denumirea de Post S block.
Pasul 7
! Post S block este supus unei operaţii finale de prelucrare-permutare;
! Prelucrarea presupune prelucrarea a 32 de biţi şi are ca date de ieşire 32 de biţi care
formează rezultatul.
Procesul de prelucrare este exemplificat în figura 43.

107
Securitatea datelor în sistemele informatice economice

INPUT - Date de intrare (post S-block, 32 de biţi)

Permutări iniţiale

L0 R0

K1
X ƒ

L1=R0 R1=⊗ L0 ƒ( R0, K1)

K2
X ƒ

L2=R1 R2=⊗ L1 ƒ( R1, K2)

Kn

X ƒ

L15=R14 R15=⊗ L14 ƒ( R14 K15)

K2
X ƒ

R16=⊗L15ƒ( R15, K16) R1=⊗ L0 ƒ( R0, K1)

Permutări iniţiale inverse

OUTPUT - Date de ieşire

Figura 43. Operaţia finală de prelucrare-permutare.

108
Securitatea datelor în sistemele informatice economice

Paşii de la 4 la 7 sunt adesea grupaţi într-o diagramă de funcţii DES f(Rn-1, Kn).
Pasul 8
! se aplică funcţia OR exclusiv (XOR) pentru jumătatea stângă rămasă de la pasul 3
împreună cu f(Rn-1, Kn). Aceasta are ca rezultat un nou R.
! R0 va deveni un nou L.

Paşii de la 3 la 7 se repetă de 16 ori pentru fiecare bloc de 64 de biţi în vederea criptării.


Pentru decriptare se foloseşte acelaşi algoritm cu schimbarea ordinii cheilor.
Un rol important îl are planificarea cheilor. Aceasta presupune existenţa unui set de biţi
de deplasare şi permutare care sunt total independenţi de algoritmul de criptare. Planificarea
cheilor de criptare se face înainte de criptarea propriu-zisă. Acest lucru este exemplificat în
figura 44.

KEY

Permutări iniţiale

Co Do

Left shift Left shift

C1 D1
K1
Permutare

Left shift Left shift

Cn Dn
Kn
Permutare

Left shift Left shift

C16 D16
K16
Permutare

Figura 44. Planificarea cheilor.

Se parcurg următorii paşi:


Pasul 1
! cheia este supusă unei permutări iniţiale;
! fiecare al optulea bit (8, 16, 32, 64) este eliminat până va fi folosit ca bit de paritate;
! rezultă două perechi de câte 28 de biţi care vor fi numite C0 şi respectiv D0.

109
Securitatea datelor în sistemele informatice economice

Pasul 2
! blocurilor C şi D li se aplică o permutare (shift) circulară conform unui tabel de
permutări.
Pasul 3
! blocurile C şi D rezultate sunt concatenate obţinându-se blocul CD1.
Pasul 4
! CD1 este supus unei permutări;
! După permutare sunt eliminaţi biţii 9, 18, 22, 25, 35, 38 şi 54. Rezultă o cheie de 48
de biţi (K1). Această cheie este folosită în pasul 1 al algoritmului de criptare.
Paşii de la 2 la 4 sunt repetaţi de un număr de 16 ori. Diferenţa dintre cicli este numărul
de biţi deplasaţi la fiecare deplasare circulară.
Modul ECB are câteva puncte slabe, şi anume:
! se criptează blocuri de 64 de biţi independent de criptarea altor blocuri;
! la aceleaşi chei de criptare, texte identice se vor cifra identic;
! probleme la complementaritatea blocurilor mai mici de 64 de biţi etc.

Modul CBC
Modul CBC (figura 45) este un mod de criptare prin înlănţuirea blocurilor. Criptarea
fiecărui bloc depinde de criptarea blocului anterior.
C1 = E(B1)
C2 = E(E(B1) B2) = E(C1 B2)
C3 = E(E(E(B1) B2) B3) = E(C2 B3) etc.
Pentru criptare se foloseşte un vector de iniţializare (IV) care poate fi asimilat ca o cheie
de criptare secundară.
Acest mod prezintă dezavantajul că, de vreme ce criptarea depinde de blocul anterior, o
eroare apărută la unul dintre blocuri se va propaga la blocurile următoare, generând serioase
probleme la decriptare.

110
Securitatea datelor în sistemele informatice economice

Timp t=1 Timp t=2 Timp t=n

M M M
Vector iniţializare (IV)
CRIPTARE

x x x

I I I
Algoritm DES Algoritm DES Algoritm DES
CRIPTARE CRIPTARE CRIPTARE

C C C

C C C
Algoritm DES Algoritm DES Algoritm DES
DECRIPTARE DECRIPTARE DECRIPTARE
I I I
Vector iniţializare (IV)
DECRIPTARE

x x x

M M M

Figura 45. Modul CBC.

111
Securitatea datelor în sistemele informatice economice

Modul Feedback (OFB – Output Feedback şi CFB – Cipher Feedback)

Vom trata împreună aceste două moduri deoarece nu diferă semnificativ. Modul de
funcţionare este exemplificat în figura 46 pentru OFB – Output Feedback şi în figura 47
pentru CFB – Cipher Feedback.

CRIPTARE DECRIPTARE

SHIFT SHIFT

INPUT BLOCK INPUT BLOCK

(64-K) BITS K BITS (64-K) BITS K BITS

FEEDBACK
FEEDBACK

K BITS
DES ENCRYPT K BITS DES ENCRYPT

OUTPUT BLOCK OUTPUT BLOCK


SELECT DISCARD SELECT DISCARD
K BITS (64-K) BITS K BITS (64-K) BITS

CIPHER TEXT CIPHER TEXT


(TEXT CIFRAT) (TEXT CIFRAT)
K BITS K BITS

PLAIN TEXT PLAIN TEXT


(TEXT CLAR) (TEXT CLAR)
K BITS K BITS

Figura 46. Modul OFB.

112
Securitatea datelor în sistemele informatice economice

SHIFT SHIFT

INPUT BLOCK INPUT BLOCK

(64-K) BITS K BITS (64-K) BITS K BITS

FEEDBACK
FEEDBACK

K BITS
K BITS
DES ENCRYPT DES ENCRYPT

OUTPUT BLOCK OUTPUT BLOCK


SELECT DISCARD SELECT DISCARD
K BITS (64-K) BITS K BITS (64-K) BITS

CIPHER TEXT CIPHER TEXT


(TEXT CIFRAT) (TEXT CIFRAT)
K BITS K BITS

PLAIN TEXT PLAIN TEXT


(TEXT CLAR) (TEXT CLAR)
K BITS K BITS

Figura 47. Modul CFB.

Se observă ca textul clar este înlocuit de un bloc de K-biţi. Modul permite criptarea
textului indiferent de lungimea acestuia.
Există şi critici la adresa algoritmului. O primă critică se referă la numărul de iteraţii
care se aplică. Sunt 16 iteraţii de ajuns pentru a se asigura o bună criptare? O altă critică se
referă la lungimea şi numărul cheilor. O altă critică se referă la posibilitatea de a iniţia atacuri
la adresa lui. Există două tipuri de atacuri criptoanalitice la adresa DES: căutarea exhaustivă şi
folosirea de tabele.
Căutarea exhaustivă utilizează un atac cu text clar cunoscut. Dacă se ştie textul cifrat C,
textul clar este cifrat, ci o cheie până când DESK(M) = C. Ştiind că DES foloseşte efectiv 56
de biţi pentru cheie, rezultă că trebuie testate 256 chei.
Folosirea tabelelor realizează un atac cu text clar la alegere: pentru un mesaj Mo ales, se
vor calcula în avans criptogramele Ci = Eki(Mo) pentru I = 1, 2, 3, …, n. Se caută, pentru un
text interceptat, cheia într-o tabelă. În ambele cazuri, dacă se foloseşte tehnica procesării
paralele pentru reducerea timpului, decriptarea poate fi făcută sub o zi. O criptare dublă
complică însă problemele de decriptare.
Dintre slăbiciuni se remarcă din nou cheile. Două chei diferite pot decripta acelaşi
mesaj. O altă problemă o reprezintă faptul că aceste chei sunt folosite într-o ordine la criptare
şi într-o ordine inversă la decriptare. Din acest motiv, pentru transmisii de date în care este
necesară o confidenţialitate strictă se utilizează chei de dimensiuni mult mai mari, chiar
pentru algoritmul DES (de 256, 512, 1024 şi chiar 2048 sau 4096 de biţi), ştiut fiind că timpul
necesar decriptării creşte exponenţial cu dimensiunea cheii de criptare/decriptare.

113
Securitatea datelor în sistemele informatice economice

International Data Encryption Algorithm (IDEA)


Este considerat de unii specialişti ca fiind superior DES-ului. A fost inventat de către
Xuejia Lai şi James Massey.
Caracteristici:
! lucrează cu blocuri de 64 de biţi text;
! foloseşte 128 de biţi pentru cheie;
! foloseşte acelaşi algoritm pentru criptare şi decriptare.
Se observă la o primă privire că lungimea cheii este dublă faţă de DES (DES foloseşte
efectiv 56 de biţi din cei 64 alocaţi cheii).
Modul de funcţionare este următorul:
! se divide blocul de intrare de 64 de biţi în 4 blocuri de câte 16 biţi (X1, X2, X3, X4);
! cele 4 blocuri de câte 16 biţi (X1, X2, X3, X4) devin date de intrare pentru
următorul pas al algoritmului;
! fiecăruia din blocurile X1, X2, X3, X4 li se vor aplica operaţii de tip XOR, adunare,
multiplicare cu alte blocuri şi cu o parte din cheie formată din 16 biţi;
! între paşii algoritmului se face schimbarea între blocurile al doilea şi al treilea;
! numărul de paşi este de 8.
Algoritmul este implementat atât software, cât şi hardware. Implementarea software are
aceeaşi viteză ca la implementarea hardware a algoritmului DES. Implementarea hardware
este semnificativ mai rapidă decât DES. Algoritmul a fost dezvoltat pentru asigurarea
comunicaţiilor sigure în timp real.
Algoritmul Skipjack
Algoritmul este dezvoltat de NSA (National Security Agency) încă din anul 1985 şi
59
finalizat în anul 1990. Este clasificat ca secret. Este creat pentru utilizare cu Clipper şi
60
Capstone .
Este un algoritm simetric (ca şi DES şi IDEA). Lungimea cheilor este de 80 de biţi.
Poate lucra în modurile ECB, CFB, OFB şi CBC. Foloseşte la criptare un număr superior de
paşi faţă de ceilalţi algoritmi – 32 de paşi. Puterea algoritmului nu se bazează prea mult pe
algoritmul de criptare în sine.
Criptarea cu chei private presupune ca un utilizator/destinatar să cunoască cheia privată
a celuilalt utilizator/expeditor. De aici apar probleme cu transmisia şi păstrarea în siguranţe a
cheilor de cifrare/descifrare, precum şi cu numărul acestora.
Trei utilizatori au nevoie de cheile KAB, KAC şi KBC. Patru utilizatori vor avea nevoie de
cheile KAB, KAC, KBC, KAD, KBD, KCD. De aici rezultă că pentru n utilizatori este nevoie de
n*(n-1)/2 chei.

4.1.2. Criptografia asimetrică


Elemente de bază
Conceptul de criptarea asimetrică – cu chei publice (cu două chei) a fost introdus de
Diffie şi Hellman. Se propune o nouă metodă de cifrare, numită cifrare cu cheie publică, în
cadrul căreia doi utilizatori pot comunica cunoscând fiecare doar cheia publică a celuilalt.
În criptosistemele cu chei publice fiecare utilizator A deţine o transformare de cifrare
publică, Ek, care poate fi înregistrată într-un registru public şi o transformare de descifrare
secretă, Dk, ce nu este posibil să fie obţinută din EA.

59
Clipper – un cip de criptare dezvoltat de guvernul SUA ca parte a proiectului Capstone. Foloseşte conceptul de
chei în custodie (Escrowed Key System).
60
Capstone – proiectul pe termen lung al guvernului american de dezvoltare a unui set de standarde pentru
criptografia cu chei publice.

114
Securitatea datelor în sistemele informatice economice

Cheia de descifrare (secretă) este derivată din cheia de cifrare (publică) printr-o
transformare greu inversabilă (one-way). În sistemele cu chei publice, protecţia şi
autentificarea sunt realizate prin transformări distincte.
Cheia publică a destinatarului, care se preia din registrul/fişierul public, va fi utilizată de
către expeditor pentru cifrarea mesajelor de la acesta către destinatar. Destinatarul va putea,
pe baza cheii secrete pe care o deţine, să descifreze mesajul care-i este destinat.
Serviciile asigurate de criptarea asimetrică sunt:
! secretizarea;
! autenticitatea;
! integritatea;
! nerepudierea.
Secretizarea impune ca un utilizator neavizat să nu poată să determine, pe baza textului
cifrat în posesia căruia a intrat, textul clar şi să nu fie capabil să descopere cheia de criptare
(privată) pe baza analizei textului.
Autenticitatea impune ca emiţătorul să valideze sursa mesajului – mesajul să fie
transmis de proprietarul acestuia şi nu de o altă persoană. De asemenea, mesajul nu trebuie să
fie un mesaj mai vechi retransmis.
Integritatea impune ca un mesaj transmis să nu poată fi modificat accidental sau voit
prin înlocuiri, inserări sau ştergeri a unor porţiuni de mesaj.
Nerepudierea impune o protecţie împotriva unui transmiţător care poate nega o
transmisie efectuată anterior către un destinatar.
Criptarea cu chei publice este cu precădere folosită în două mari aplicaţii:
! distribuţia cheilor secrete;
! semnătura digitală.
Procesul de distribuire a cheilor secrete presupune existenţa a doi sau mai mulţi
utilizatori care împart chile de criptare (private ca în cazul folosirii algoritmului DES).
Distribuţia cheilor trebuie făcută pe un canal sigur. Folosirea unui serviciu de curierat sau o
altă autoritate pentru distribuţie măreşte riscul de aflare a cheii. Transmiterea cheii private
folosind transmiterea acesteia criptată, nemaiexistând o a treia persoană care să ştie de
existenţa acesteia, precum şi modul de transmitere, este destul de folosită.
Semnătura digitală este similară cu semnătura de mână la autentificarea unui document.
Semnătura digitală trebuie să îndeplinească două mari cerinţe:
! receptorul trebuie să fie capabil să autentifice semnătura expeditorului;
! semnătura să nu poată fi falsificată.
Există două importante variante de implementare:
! semnătura exactă;
! semnătura arbitrară.
În cazul de implementare cu semnătură exactă, mesajul este trimis direct de la emiţător
la receptor. În cazul implementării cu semnătură arbitrară, există un martor care poate fi uman
sau proces automat, care validează semnătura şi apoi se înaintează mesajul receptorului.
Semnătura digitală trebuie să asigure autenticitate, integritate şi nerepudiere. În unele cazuri
semnătura digitală este dezirabilă atâta timp cât nu se cere secretizare.
Criptarea asimetrică permite comunicarea între persoane care nu au stabilit în prealabil nici o
legătură. Comunicarea se va face pe baza celor două chei, cea publică a destinatarului şi cheia
privată a acestuia cu care se va descifra mesajul criptat în prealabil cu cheia publică a acestuia.
Elementele care participă la procesul de criptare şi decriptare sunt:
! mesajul de text clar, {M};
! mesajul de text cifrat, {C};
! cheile, {K};
! transformările de cifrare, Ek: M → C, unde K ∈{ K};
! transformările de descifrare, Dk: C → M, unde K∈{K }.

115
Securitatea datelor în sistemele informatice economice

Un sistem de cifrare cu chei publice trebuie să satisfacă următoarele cerinţe:


! dacă C = E(M), atunci M = D(C) sau D(E(M)) = M, pentru ∀M ∈ {M};
! criptarea (E) şi decriptarea (D) trebuie să fie uşor implementabile (software sau
hardware);
! obţinerea lui D dacă se află E trebuie să fie imposibil sau foarte greu de realizat.
Suplimentar faţă de acestea, pentru a se asigura autenticitatea mesajului, s-a introdus şi
funcţia de semnătură digitală (S). Semnătura digitală reprezintă o metodă suplimentară de
autentificare a mesajului.
S = D(M), atunci M = E(S) sau E(D(M)) = M pentru ∀M ∈ {M}.
Autentificarea mesajului acţionează în ambele sensuri:
! receptorul va putea să fie sigur de provenienţa mesajului de la expeditor;
! emiţătorul va putea să fie sigur de faptul că nimeni nu se va putea substitui lui.
Emiţătorul (A) poate semna mesajul către destinatar (B) astfel:
S = DA(M)
şi apoi poate trimite mesajul cifrat
C = EB(S).
Numai destinatarul mesajului va putea să extragă semnătura (S) din mesajul criptat (C)
calculând
DB(C) = DB(EB(S)) = S,
obţinând în final mesajul de text clar
EA(S) = EA(DA(M)) = M.
Criptarea asimetrică – cu chei publice – foloseşte metode matematice foarte complexe,
în aritmetica numerelor foarte mari, de 256-1024 de biţi, a căror implementare se face cu
dificultate. Algoritmii folosiţi în criptarea asimetrică sunt grupaţi într-o bibliotecă de
aritmetică criptografică. Aceasta conţine un ansamblu de funcţii matematice necesare
implementării algoritmilor atât pentru criptarea simetrică, cât şi pentru cea asimetrică.
Funcţiile cele mai utilizate sunt [HSST95]:
! sumă – SUM;
! diferenţă – DIF;
! comparare – COMP;
! modulo rapid – FASTMOD;
! înmulţire modulo – AMULB;
! înmulţire modulo 2n-1 – AMULB3;
! înmulţire modulo 2n – AMULB4;
! funcţia de exponenţiere 2n-1 – EXP;
! ridicarea rapidă la putere – FASTEXP;
! invers multiplicativ – INVERS;
! aflarea celui mai mare divizor comun – CMMDC;
! calculul operatorilor Jacobi;
! teste de primalitate.
Dintre sistemele de criptare asimetrice cel mai des folosite sunt:
! sisteme de criptare cu chei publice exponenţiale;
! sisteme de criptare de tip rucsac (knapsack);
! sisteme de criptare cu chei publice bazate pe ecuaţii în câmp finit.

Sisteme de criptare cu chei publice exponenţiale


Schema propusă are la bază algoritmi care se bazează pe imposibilitatea calculului
logaritmilor modulo număr prim.
Fie q un număr prim şi un întreg x, x ∈ [1, q – 1].
Se poate calcula Y = ax (mod q), unde a este un element primitiv al câmpului Galois
GF(q). Clasele de resturi modulo q vor forma un inel; dacă q este un număr prim acesta

116
Securitatea datelor în sistemele informatice economice

formează un câmp Galois GF(q). Într-un câmp Galois există (q-1) numere a care sunt
elemente primitive ale câmpului Galois. Dacă a, a2, a3, …, aϕ(q) (ϕ(q) este indicatorul lui
Euler, ϕ(q) = q-1) sunt puterile lui a, atunci acestea au ca resturi mod q pe 1, 2, …, ϕ(q), ceea
ce înseamnă că un element primitiv va genera prin ridicarea la putere toate elementele care
sunt nenule ale câmpului.
Utilizatorul A va alege în mod aleatoriu un număr XA, XA∈ {1, 2, …, q-1}.
Calculează YA = aXA (mod q).
XA devine cheie privată şi va fi ţinută strict secretă.
YA devine cheie publică şi va fi păstrată într-un director sau fişier public.
Comunicarea între doi utilizatori (A) şi (B) se va face folosind cheia de comunicaţie de
forma:
KAB = YAXB = YBXA = aXAXB (mod q).
Un atac la mesajul criptat presupune să se afle cheia KAB, adică să se caute KAB = YAlog
YB (mod q)
. Sistemul va fi foarte greu de spart datorită imposibilităţii calculării logaritm
modulo q în timp util sau cu mijloacele existente.
Sistemul este sigur şi simplu. Criptarea se face pe baza cheii publice a destinatarului
(aflată într-un director sau fişier public), iar decriptarea se face pe baza cheii private a
destinatarului şi nu pe baza cheii publice.
Criptarea cu chei publice exponenţiale a beneficiat în ultimul timp şi de aportul unor
funcţii suplimentare care sporesc performanţele.
Printre cele mai cunoscute cifruri care folosesc criptarea cu chei publice exponenţiale se
numără cifrul Rivest-Shamir-Adleman (RSA), cifrul El Gamal, cifrul DSA (Digital Signature
Algorithm), cifrul Pohling-Hellman (PH).

Cifrul Rivest-Shamir-Adleman
Cifrul a fost conceput şi realizat de trei cercetători, Ronald Rivest, Adi Shamir şi
Leonard Adelman, de la Massachusetts Institute of Technology (MIT), şi are la bază
generalizarea lui Euler a teoremei lui Fermat. Acest cifru este cel mai folosit pentru asigurarea
confidenţialităţii mesajelor şi autentificarea acestora cu ajutorul semnăturii digitale. Se găseşte
implementat (hardware sau software) în programele şi echipamentele unor firme de renume
(Lotus, Novell, Motorola, Boeing, SWIFT Bank) sau chiar la nivelul agenţiilor
guvernamentale (DoD, NA).
Se va proceda la criptarea blocului de mesaj M, M ∈ (0, n-1), calculând exponenţialele:
e
C = M (mod n),
unde n = p*q, cu p şi q două numere prime mari astfel încât să fie greu de determinat
ϕ(q) = (p-1)*(q-1). (indicatorul lui Euler). Numerele p şi q rămân secrete.
La decriptare,
d
M = C (mod n).
O parte dintre cheile pentru criptare e şi decriptare d sunt alese cu grijă, în aşa fel încât
E(D(M)) = D(E(M)) = M.
Cheile pentru criptare sunt de forma perechilor (e, n) – pentru criptare, şi (d, n) – pentru
decriptate. Numărul e este relativ prim faţă de produsul (p-1) * (q-1). Numărul d se alege
astfel încât să fie cuprins în intervalul [max(p, q) + 1, n-1] şi:
d = e-1 (mod (p-1) * (q-1)) ; e * d = 1 mod (p-1) * (q-1).
Cu d ales se va calcula e. Cheia d va fi ţinută secretă.
Pentru o bună secretizare autorii recomandă folosirea a unor numere p şi q de 100 de
cifre, ceea ce face ca n să fie de aproximativ 200 cifre, făcând imposibilă factorizarea.
Se observă că cifrarea şi descifrarea sunt funcţii inverse. Se poate folosi cifrul RSA atât
pentru cifrare, cât şi pentru autentificare.

117
Securitatea datelor în sistemele informatice economice

Utilizatorul A (expeditor-sursă) va obţine modulul nA, precum şi exponenţii eA şi dA.


Se va înscrie în fişierul public cheia publică (nA, eA).
Se păstrează secretă dA.
Un utilizator (expeditor-sursă) va emite un mesaj secret utilizând transformarea:
e
EA(M) = M A mod nA.
La destinaţie se va obţine mesajul clar aplicând transformarea:
e d
DA(EA(M)) = M A A mod nA = M.
Se poate ca utilizatorul A să poată semna un mesaj către B calculând:
d
DA(M)) = M A mod nA.
B va autentifica acest mesaj, utilizând cheia publică a lui A astfel:
d e
EA(DA(M)) = M A A mod nA = M.
Problemele apar atunci când se doreşte transmiterea unui mesaj criptat şi în acelaşi timp
şi autentificarea acestuia. În acest caz se vor aplica transformări succesive cu module diferite.
Mesajul transmis de către A (expeditor-sursă) lui B (destinaţie), se va calcula:
C = EB(DA(M)).
La destinaţie se va calcula:
EA(DB(C)) = M.

Exemplu: Criptarea
Mesajul clar este M = (SECRET).
p = 53
q = 61, p şi q rămân secrete.
Se obţine: n = p * q = 53*61 = 3233
(p-1) * (q-1) = 52*60 = 3120.
Alegem cheia privată: d = 791.
Calculăm cheia publică: d = e-1 (mod (p-1) * (q-1)) ; e * d = 1 mod (p-1) * (q-1)
791 = e-1 (mod (3120)) ⇒ e = 71.
Împărţim mesajul M = (SECRET) în blocuri de câte două caractere:
(SECRET) ⇒ (SE CR ET)
Atribuim fiecărui grup valorile corespunzătoare poziţiei în alfabetul cu 26 de semne (din
tabloul lui Vigenere):
S E C R E T
18 04 02 07 04 19

(SECRET) ⇒ (SE CR ET) ⇒ (1804 0217 0419)


e
Se criptează fiecare bloc cu formula C = M (mod n):
71
C’ = 1804 (mod 3233) = 2503
71
C’’ = 0217 (mod 3233) = 1254
71
C’’’ = 0419 (mod 3233) = 2509
Va rezulta mesajul criptat C = (C’, C’’, C’’’) = (2503 1254 2509)
Decriptarea
Avem mesajul criptat:
C = (2503 1254 2509)

118
Securitatea datelor în sistemele informatice economice

Folosim transformarea:
d
M = C (mod n).
Vom obţine folosind decriptatea pentru fiecare bloc component şi realizând
corespondenţa cu alfabetul:
791
M’ = 2503 (mod 3233) = 1804 ⇒ (18 04) ⇒ ( S E )
791
M’’ = 1254 (mod 3233) = 0217 ⇒ (02 17) ⇒ ( C R )
791
M’’’ = 2509 (mod 3233) = 0419 ⇒ (04 19) ⇒ ( E T ).
Regrupând textul vom avea:
M = (SECRET).
Semnătura digitală
Vom folosi datele anterioare, unde:
p = 53
q = 61
e = 71
d = 791
şi rezumatul mesajului criptat calculat cu funcţia de hash H (H∈(0, n-1)61:
H = (250312542509) (în cazul nostru identic cu M pentru uşurare calcule).
Se împarte mesajul în trei blocuri distincte care să nu depăşească valoarea lui n:
H = (2503 1254 2509).
Expeditorul (A) va semna blocurile separat cu cheia să secretă (e = 71) şi formula:
d
S = DA(M)) = M A mod nA
S’ = 250371 mod 3233 = 1133
S’’ = 125471 mod 3233 = 1498
S’’’ = 250971 mod 3233 = 2371.
Se obţine în final semnătura: S = (1133 1498 2371).
Destinatarul (B) va autentifica acest mesaj, utilizând cheia publică a lui A (d = 791) şi
formula astfel:
d e
EA(DA(M)) = M A A mod nA = Sd.

Sd’ = 1133791 mod 3233 = 2503


Sd’’ = 1498791 mod 3233 = 1254
Sd’’’ = 2371791 mod 3233 = 2509.
Asamblând se obţine:
Sd = (250312542509) ≡ H.
Deci semnătura este autentică.

Cifrul El Gamal (EG)


Este derivat din schema de distribuţie a cheilor a lui Diffie şi Hellman. Îşi bazează tăria
criptării pe dificultatea calculării logaritmilor în câmpuri Galois mari. Este folosit doar pentru
implementarea semnăturii electronice.
Fiecare utilizator va dispune de o cheie privată KA(priv) care este un număr natural aleatoriu
şi de o cheie publică KA(publ). Cheia publică se obţine din cheia privată în felul următor:
KA(priv)
KA(publ) = a (mod n), unde a este o constantă a sistemului cunoscută de toţi
partenerii, iar n este un număr prim mare cu sute de cifre zecimale. M este un document

61
Funcţia de hash realizează un rezumat al mesajului care este trimis destinatarului.

119
Securitatea datelor în sistemele informatice economice

electronic ce urmează să fie semnat electronic. H(M) este rezumatul documentului calculat cu
funcţia de hash H (H∈(0, n-1).
Semnarea documentului
Semnarea unui document se face de către utilizator (expeditor) cu cheia sa secretă
KA(priv). Orice utilizator va putea să verifice semnătura pe baza cheii publice a expeditorului.
Semnarea unui document M se face în modul următor:
! se calculează rezumatul documentului cu ajutorul funcţiei de hash H, H(M);
! se generează aleator KA(priv) în intervalul [0, n-1], a. î. cmmdc (KA(priv), n-1) = 1;
KA
! se calculează r = a (priv) (mod n);
! se calculează, cu ajutorul cheii secrete a expeditorului, valoarea lui s din ecuaţia
H(M) = KA(priv) * r * s (mod (n-1)).
Semnătura mesajului M va fi reprezentată de perechea S = (r, s).
Verificarea semnăturii
Destinatarul va primi la recepţie atât mesajul M, cât şi semnătura electronică S = (r, s) a
acestuia şi trebuie să verifice autenticitatea semnăturii.
Pentru verificare trebuie calculate următoarele:
aH(M) mod n şi (KA(priv))r * rs mod n.
Dacă aceste două valori sunt egale, atunci semnătura este veridică şi deci mesajul este
autentic.
Exemplu
Alegem n = 467 şi a = 2. Cheia privată a expeditorului va fi KA(priv) = 127.
KA
Calculăm cheia publică a expeditorului KA(publ) = a (priv) (mod n) = 2127 mod 467 = 132.
Mesajul transmis M va avea rezumatul H(M) = 100.
Expeditorul alege un K = 213, aleator astfel încât cmmdc (213, 466) şi K-1 mod 466 = 431.
Se calculează semnătura electronică a documentului cu ajutorul cheii secrete a
expeditorului:
r = aK (mod n) = 2213 mod 467 = 29 şi
s = (H(M) - KA(priv) * r) * K-1 (mod n-1) = (100-127*29)*431*(mod 466) = 51.
La recepţie se verifica semnătura S = (r, s).
Vom calcula aH(M) mod n şi (KA(priv))r * rs mod n.
aH(M) mod n = 2100 (mod 467) = 189
(KA(priv))r * rs mod n = 132292951 (mod 467) = 189.
Cum cele două numere sunt egale, semnătura este validă.

Cifrul Digital Signature Standard (DSS)


Digital Signature Algorithm reprezintă standardul de semnătură digitală al cifrului DSS.
A fost elaborat de NIST (National Institute of Standard & Technology) în anul 1991.
Foloseşte metoda El Gamal şi aceasta îşi bazează tăria pe imposibilitatea calculării
logaritmilor în câmp finit. Se încearcă impunerea standardului în locul celui RSA,
construindu-se chiar un chip care implementează algoritmul.
Se dispune de un set de parametri globali şi de un set de parametri privaţi.
Parametrii globali sunt:
p – un număr prim cuprins în intervalul (2511;2512)-512 biţi;
q – un divizor al lui (p-1) –160 biţi, q în (2159, 2160);
g – un număr întreg cu proprietatea că g = h(p-1)/q mod p, în care h este un întreg relativ
prim cu p, h în (0, p) astfel încât h(p-1)/q mod p>1;
H – funcţia hash de calcul al rezumatului unui mesaj.
Parametrii specifici fiecărui utilizator sunt:
KA(priv) – cheia privată a utilizatorului A, un întreg în (0;q);

120
Securitatea datelor în sistemele informatice economice

KA(publ) – cheia publică, număr întreg, obţinută astfel: KA(publ) = g KA(priv) mod g.
Pe lângă mesajul semnat M, care va fi transmis, ca o particularitate avem un număr k,
întreg aleatoriu, cuprins în intervalul (0;q) care se modifică la fiecare semnătură.
Semnarea documentului
Semnarea documentului presupune determinarea perechii S = (r, s). Aceasta se face
folosind cheia secretă a emitentului KA(priv) .
Se alege un întreg k în intervalul (0, q) prim cu q.
Se va calcula;
r = (gk mod p) mod q.
s = ((k-1) (H(M) + KA(priv) *r)) mod q.
Verificarea semnăturii
Receptorul documentului electronic primit, însoţit de semnătură, va efectua următoarele
operaţii:
! va calcula w = s-1 mod q (s trebuie să fie inversabil);
! va calcula r’ = g(H(M) * w * KA(publ)r*w mod p) mod q.
Dacă r’ = r, atunci semnătura este validă şi deci documentul este autentic.
Exemplu
Alegem q = 101 şi p = 78q + 1 = 7879.
Întrucât 3 este rădăcina primitivă a lui Z7879, se calculează:
g = 378 mod 7879 = 170
KA
KA(priv) = 76. Se calculează cheia publică KA(publ) = g (priv)mod 7879 = 4567.
Expeditorul (A) va semna un document, care are rezumatul H(M) = 1234, pe care-l va
trimite către destinaţie (B). Alege o constantă k = 50 drept parametru al semnăturii şi
calculează următoarele:
k-1 mod 101 = 99
Acum va calcula cele două elemente ale semnăturii (r, s):
r = (gk mod p) mod q = (17050 mod 7879) mod 101 = 2518 mod 101 = 94.
s = ((k-1) (H(M) + KA(priv) *r)) mod q = (1234 + 75 * 94) mod 101 = 97.
La destinaţie se va verifica perechea (r, s) de către destinatar în felul următor cu ajutorul
cheii publice a expeditorului:
w = s-1 mod q = 97-1 mod 101 = 25
r’ = g(H(M) * w * KA(publ)* r*w mod p) mod q
H(M) * w mod q = 1234 * 25 mod 101 = 45
r*w mod p = 94 * 25 mod 101 = 27

r’ = (17045 * 456727 mod 7879) mod 101 = 2518 mod 101 = 94.
Cum r’ = r, semnătura este validă.
Implementarea hardware a fost făcută cu ajutorul cipului CLIPPER. Cipul este produs
de către AT&T, arhitectura este proiectată de MYKOTRONIX, iar specificaţiile sunt dictate
de NSA (National Security Agency). Este un chip care poate rezista cu succes tentativelor de
decodare. Poate procesa 15-20MB/s atât la criptare, cât şi la decriptare o dată ce a fost
stabilită sincronizarea cu receptorul/emiţătorul.
Sisteme de criptare de tip rucsac (knapsack)
Din această categorie de sisteme de criptate fac parte cifrurile Merkle-Hellman, Cifrul
Graham-Shamir şi Cifrul Shamir.
Cifrul Merkle-Hellman (MH)
Cunoscând greutăţile elementelor componente care se află într-un rucsac şi greutatea
rucsacului închis, să se determine setul de elemente fără a se proceda la deschiderea
rucsacului (rucsac = knapsack). Acesta ar fi enunţul problemei.

121
Securitatea datelor în sistemele informatice economice

Fiind dat un întreg pozitiv T şi un vector A = (a1, a2, a3, …, an) de numere întregi
pozitive, trebuie găsit un subset al lui A (V) a cărui sumă să fie egală cu T.
T = Σaivi, unde V = (v1, v2, v3, …, vn) de numere binare.
Exemplu:
Să luăm A = (17, 38, 73, 4, 11, 1) şi T = 53.
Se caută un element al vectorului V la care Σaivi = 53.
Să încercăm cu primul element 17 (a1) ⇒(53-17) = 36. 38 (a2) este mai mare decât 36 şi
1 + 4 + 11<36.
Să încercăm cu al doilea element 38 (a2) ⇒(53-38) = 15. 4 + 11 = 15.
Σaivi = (1*38) + (1*4) + (1*11) = 53.
Deci vectorul căutat este V = (0, 1, 0, 1, 1, 0).
Căutarea va fi îngreunată dacă A are un număr mare de elemente şi dacă elementele ai
au de asemenea valori mari.
O altă rezolvare se poate face în felul următor parcurgând paşii:
! se ordonează crescător elementele vectorului A;
! se alege T şi se testează dacă ai (i = n….1) se potriveşte;
! dacă se potriveşte, atunci i se va asigna în vectorul V valoarea vi = 1, iar dacă nu se
asignează, valoarea vi = 0;
! se înlocuieşte an cu an-1;
! se continuă operaţia până ce toate elementele au fost testate.
Exemplu:
A = (17, 38, 73, 4, 11, 1), se ordonează şi rezultă A = (1, 4, 11, 17, 38, 73).
T = 53
An = 73 ⇒ Nu se potriveşte ⇒ Asignăm 0
An-1 = 38 ⇒ T = T-an-1 = 15 ⇒ Asignăm 1
An-2 = 17 ⇒ Nu se potriveşte ⇒ Asignăm 0
An-3 = 11 ⇒ T = T-an-3 = 15 ⇒ Asignăm 1
An-4 = 4 ⇒ T = T-an-4 = 15 ⇒ Asignăm 1
An-5 = 1 ⇒ Nu se potriveşte ⇒ Asignăm 0

Vectorul căutat va fi V = (0, 1, 0, 1, 1, 0) (similar cu rezultatul anterior).


Cifrarea Merkle-Hellman foloseşte şi aritmetica modulară alături de teorema lui Fermat
pentru rezolvarea problemei. De asemenea, cifrarea Merkle-Hellman poate fi făcută la modul
simplu (anterior) sau variante mai complexe, cum ar fi cifrarea Merkle-Hellman cu trapă
aditivă sau cu trapă multiplicativă.
Conform Teoremei lui Fermat:
Pentru orice număr prim p şi orice element a<p, atunci:
(1) ap mod p = a sau ap-1 mod p = 1
pentru p prim şi a<p, numărul x este inversul lui a dacă:
(2) ax mod p = 1.
Combinând (1) şi (2) ⇒
(3) ax mod p = 1 = ap-1 mod p
sau
x = a p-2 mod p.
Exemplu: x = a p-2 mod p = 35-2 mod 5
= 33 mod 5
= 27 mod 5
= 2.

122
Securitatea datelor în sistemele informatice economice

Secvenţa de transformare pentru algoritmul Merkle-Hellman îmbunătăţit este următoarea:


! se alege un „rucsac“ simplu (exemplu A = (1, 2, 4, 9));
! se alege un multiplicator w şi modulul n (unde n>sm);
! se înlocuieşte orice întreg ai din algoritmul simplu cu valoarea hi = w*ai mod n.
Exemplu: A = (1, 2, 4, 9) şi w = 15
h1 = 1*15 = 15 mod 17 = 15
h2 = 2*15 = 30 mod 17 = 13
h3 = 4*15 = 60 mod 17 = 9
h4 = 9*15 = 135 mod 17 = 16.

Va rezulta vectorul H = (h1, h2, h3, h4) = (15, 13, 9, 16).


Exemplificarea criptării şi decriptării folosind algoritmul Merkle-Hellman îmbunătăţit
este prezentată în cele ce urmează.
Se divide mesajul M în blocuri de m biţi (atâţia biţi câte elemente are vectorul A). Se
utilizează algoritmul îmbunătăţit pentru crearea întregilor pozitivi T pentru fiecare grup de m biţi.
Exemplu:
Criptarea Merkle-Hellman (knapsack)
S = ( 1, 2, 4, 9) (cheie privată)
H = (15, 13, 9, 16) (cheie publică).
Alegem:
w = 15
w-1 = 8
n = 17
m = 4.
Mesajul de criptat este: P = 0100 1011 1010 0101
[0, 1, 0, 0] * [15, 13, 9, 16] = 13
[1, 0, 1, 1] * [15, 13, 9, 16] = 40
[1, 0, 1, 0] * [15, 13, 9, 16] = 24
[0, 1, 0, 1] * [15, 13, 9, 16] = 29.

Mesajul criptat va fi E(P) = 13, 40, 24, 29.

Decriptarea Merkle-Hellman (knapsack)


S = ( 1, 2, 4, 9) (cheie privată)
H = (15, 13, 9, 16) (cheie publică).
Mesajul pentru decriptat va fi E(P) = 13, 40, 24, 29.
Se apelează H = w * S mod n.
Textul cifrat este de forma: C = H * P = w * S * P mod n.
Trebuie găsit: w-1 * C = (w -1 * w) * S * P
= S * P mod n.
13 * 8 = 104 mod 17 = 2 = [0100]
40 * 8 = 320 mod 17 = 14 = [1011]
24 * 8 = 192 mod 17 = 5 = [1010]
29 * 8 = 232 mod 17 = 11 = [0101].

Cifrul Graham-Shamir (GS)


Cifrul Graham-Shamir vine cu îmbunătăţiri menite să ascundă aşa-numitele proprietăţi
de dominanţă ale cifrului Merkle-Hellman. Cifrul este mai sigur decât Merkle-Hellman, dar
are dezavantajul că nu poate fi folosit decât pentru cifrarea datelor, nu şi în autentificare.

123
Securitatea datelor în sistemele informatice economice

Cifrul Shamir (SH)


Se poate spune că acest tip de cifru este complementar cifrului Graham-Shamir. El
realizează doar procesul de autentificare neasigurând şi protecţia prin criptare. Este folosit
doar în implementarea semnăturii digitale.

Sisteme de criptare cu chei publice bazate pe ecuaţii în câmp finit


Din această categorie fac parte sistemele de criptare Brändstorm cu inele polinomiale,
sistemele Pieprzyk cu inele polinomiale şi sistemele cu registre de deplasare.
Criptarea Brändstorm este similară cu criptarea RSA, numai că aici, în loc de numerele
foarte mari folosite, avem polinoame în câmp finit (cu coeficienţi binari în câmp finit).
Criptarea Pieprzyk foloseşte o schemă Merkle-Hellman modificată utilizând inele
polinomiale, plecând de la premisa că operaţiile definite în aceste inele sunt mai accesibile
decât cele din inelul întregilor.
Sistemele cu registre de deplasare au fost propuse de Niederreiter şi utilizează un
registru de deplasare cu reacţie (Feedback Shift Register – FSB) care generează o secvenţă
într-un câmp finit, ceea ce îl face uşor de implementat.

4.1.3. Semnătura digitală


Semnătura digitală reprezintă un atribut al unui utilizator sau proces, fiind folosită
pentru recunoaşterea acestuia. Fie B un receptor de mesaj semnat de A. Semnătura lui A
trebuie să satisfacă următoarele proprietăţi:
! B să fie capabil să valideze semnătura lui A;
! să fie imposibil pentru oricine, inclusiv B, să falsifice semnătura lui A;
! în cazul în care A nu recunoaşte semnarea unui mesaj M, trebuie să existe un
„judecător“ care să poată rezolva disputa dintre A şi B.
Semnătura digitală rezolvă atât problema autentificării emiţătorului, cât şi pe cea a
autentificării datelor. Sistemele de autentificare cu chei publice permit o implementare simplă
a semnăturilor digitale. Deoarece este deţinută doar de A, transformarea DA poate servi ca
semnătură digitală pentru A. Receptorul B al mesajului M semnat (transformat prin DA) este
sigur atât de autenticitatea emiţătorului, cât şi de aceea a datelor. Deoarece transformarea
inversă este publică, receptorul B va putea valida semnătura. Procesele se desfăşoară astfel:
! A semnează pe M calculând S = DA(M);
! B validează semnătura lui A, verificând dacă EA(S) = M;
! Un „judecător“ rezolvă eventuala dispută dintre A şi B controlând dacă EA(S)
conduce la M, în aceeaşi manieră ca şi B.
Pentru crearea şi utilizarea unei semnături digitale se parcurg următorii paşi [KAEO99]:
1. Crearea perechii de cheie publică şi cheie privată pentru expeditorul A.
2. Trimiterea cheii publice către receptorul B.
3. Expeditorul A creează un mesaj pentru destinatarul B şi foloseşte documentul ca
dată de intrare pentru funcţia „hash“.
4. Expeditorul criptează rezultatul prelucrării documentului cu funcţia hash cu cheia
proprie. Rezultatul este semnătura digitală. Funcţionarea schematică este exemplificată în
figura următoare (figura 48).

124
Securitatea datelor în sistemele informatice economice

Mesaj
M
Text clar

Mesajul original este


Algoritm hash prelucrat cu algoritmul de
hash.

Ieşirea reprezintă hash-ul


AA986C mesajului.

Cheie criptare
Se criptează hash-ul
(privată)
Criptare mesajului cu ajutorul
cheii private a
expeditorului.
Semnătura este de fapt
Semnătura
criptarea cu cheie privată
a hash-ului mesajului.

Figura 48. Crearea unei semnături digitale.


Mesajul este trimis la destinaţie însoţit de semnătura digitală. Semnătura digitală trebuie
să ateste că acesta este trimis de cel care pretinde.
5. Destinatarul va separa mesajul original de semnătura digitală.
6. Semnătura digitală este decriptată cu ajutorul cheii publice a expeditorului.
7. Documentului original i se aplică aceiaşi funcţie hash ca la expediţie.
8. Se compară dacă cele două rezultate, de la decriptarea semnăturii digitale cu cheia
publică şi de la aplicarea funcţiei hash mesajului, sunt identice. Dacă se confirmă atunci
mesajul este trimis de cel care pretinde. Utilizarea semnăturii digitale este exemplificata în
figura următoare (figura 49).

Text clar

Cheie decriptare Semnătura


(publică)
Mesajul este
Semnătura digitală este prelucrat cu
Decriptare decriptată cu ajutorul funcţia hash.
cheii publice a
expeditorului.
Ieşirea
AA986C AA986C Ieşirea
reprezintă
reprezintă
hash-ul
hash-ul
decriptat.
mesajului.

Se compară rezultatele.

Figura 49. Utilizarea semnăturii digitale.

125
Securitatea datelor în sistemele informatice economice

Semnătura digitală nu conferă confidenţialitate conţinutului mesajului. Ea doar


autentifică că expeditorul este cel care pretinde că este. Semnătura digitală este diferită de
semnătura electronică. Semnătura digitală reprezintă o prelucrare a unui mesaj, în timp ce
semnătura electronică este o reprezentare electronică a semnăturii clasice.

4.1.4. Modalităţi de utilizare a criptografiei în sistemele informatice


economice
→ Toate noile facilităţi implementate de către Microsoft în sistemele de operare Windows
2000/2003 se bazează pe metode criptografice pentru a asigura de la criptarea fişierelor şi
până la securizarea informaţiilor transmise. Sistemele de operare Windows NT foloseau
criptografia doar pentru criptarea parolelor. Versiunile ulterioare, începând cu Windows
NT4, au adăugat noi facilităţi criptografice la sistemul de operare. Active Directory din
Windows 2000/2003 reprezintă ultimele implementări menite să asigure o securitate sporită
impusă de aplicarea politicilor de securitate la nivel de firmă.
Pe lângă acestea mai există şi programe sau dispozitive hardware care implementează
criptarea în sistemele de calcul.
→ Consider că în cadrul sistemelor informatice economice criptografia se face simţită la
următoarele niveluri:
! hardware;
! aplicaţie;
! transmisie de date;
! fişiere şi foldere.
→ Criptarea hardware este foarte costisitoare, din care cauză este cu precădere folosită
de marile firme. Criptarea şi decriptarea datelor de pe suporturile de memorie trebuie să se
facă în timp real. Din această cauză, componentele care fac ca preţul acestor dispozitive să
fie ridicat sunt create cu ajutorul noilor tehnologii de fabricaţie. Aceste dispozitive speciale,
de regulă ataşate suporturilor de memorie, fac criptarea la nivel de sector de pe disc.
Dispozitivele de criptare din această categorie folosesc implementări hardware de algoritmi
complecşi de criptare, cu chei de criptare care depăşesc 128 de biţi.
În ultimul timp se observă un transfer de tehnologie de criptare hardware şi către piaţa
medie. Ca exemplu, firma taiwaneză Abit (www.abit.com.tw) livrează pe piaţă, alături de
placa de bază Abit IC7-MAX3, şi un dispozitiv hardware de criptare a datelor de pe discul
dur. Acesta se interpune pe panglica IDE62 între discul dur şi placa de bază. Codarea şi
decodificarea datelor la scriere şi la citire este făcută de către a treia generaţie de cipuri de
tipul X-Wall LX-xxx63 ASIC (Application Specific Integrated Circuit) produs de eNova
Technology (www.enovatech.net). Aceste cipuri criptează şi decriptează în timp real întreaga
informaţie de pe discul dur, incluzând sectorul de boot, fişierele temporare, fişierele swap şi
fişierele sistem, utilizând algoritmi de criptare DES (Dată Encription Standard) şi TDES
(Triple DES) certificaţi de către NIST (National Institute of Standard and Technology).
Criptarea poate fi extinsă şi asupra altor suporturi de memorie, firma eNova Technology
producând şi dispozitive similare pentru unităţile de disc flexibil.

62
IDE – Intelligent Drive Electronics sau Integrated Drive Electronics. Standard de conectare a suporturilor de
memorie magnetică.
63
xxx – numărul de biţi folosiţi la criptare. Valorile sunt 40, 64, 128 şi 192 de biţi.

126
Securitatea datelor în sistemele informatice economice

Schema de funcţionare a unui astfel de dispozitiv este următoarea (figura 50):

Cheie securitate
Placa de bază X-Wall (de tip stick) Disc dur

Interfaţă criptare-

Interfaţă IDE
Interfaţă IDE
decriptare

Chip
X-Wall LX-xxx

Zona nesigură Zona sigură

Figura 50. Schema de funcţionare a dispozitivului X-Wall LX-xxx.

Cheia de securitate, de tipul unei memorii stick, este folosită doar la pornirea
calculatorului, putând apoi fi scoasă până la o nouă pornire, când se cere introducerea
acesteia într-un local special de tip USB64. Această cheie conţine codul DES/TDES folosit la
criptare.
În funcţie de lungimea cheii de criptare, şi evident de arhitectura internă şi viteza de
lucru a chipului, se pot distinge cinci tipuri de modele constructive ale acestuia (tabelul 18).
Tabelul 18. Tipuri de modele constructive de chip X-Wall LX.
Model chip (algoritm folosit) Aplicabilitate
X-Wall LX- 40 (DES 40 biţi) Confidenţialitate date din calculator
X-Wall LX- 40 (US DES 40 biţi) Uz general
X-Wall LX- 64 (DES 64 biţi) Uz general şi comercial
X-Wall LX-128 (TDES 128 biţi) Firme mari şi uz comercial
X-Wall LX-192 (TDES 192 biţi) Organizaţii guvernamentale şi militare

Avantajele folosirii acestor dispozitive sunt:


! sunt compatibile cu toate sistemele de operare;
! nu necesită instalare de programe suplimentare;
! nu încărca microprocesorul sau memoria internă;
! compatibil cu toate discurile IDE care au capacităţi până la 180GB;
! permite rate de transfer real de 1,6 Gb/sec.
! se poate folosi şi pe matrice RAID65 0,1 sau 0 + 1.
Dezavantajele folosirii unui astfel de dispozitiv sunt:
! la instalare se cere efectuarea operaţiilor de FDISK şi FORMAT asupra discului
dur, datele existente trebuind să fie salvate (backup);
! se poate cripta doar un singur disc dur;
! sistemul dispune de backdoors (în caz că se pierde cheia de criptare).

64
USB – Universal Serial Bus.
65
RAID – Redundant Array of Independent (or Inexpensive) Disks, categorie de interfeţe şi drivere de disc ce
permite conectarea a două sau mai multe discuri pentru reducerea erorilor de stocare şi sporirea performanţelor.

127
Securitatea datelor în sistemele informatice economice

Interfeţele de criptare care folosesc algoritmi TDES folosesc chei de criptare complexe,
performanţele fiind mult mai ridicate faţă de modelele comerciale.
→ Criptarea la nivel de aplicaţie este folosită în pachetele de programe produse şi livrate
de marile firme producătoare de software din domeniu. Criptarea datelor poate fi făcută
implicit de către aplicaţia respectivă sau se poate activa această facilitate de către utilizator.
Un exemplu este oferit de aplicaţia Ciel Contab, care permite criptarea fişierelor de
date specifice programului. Activarea opţiunii de criptare se face de către superutilizator66
din meniul de configurare al programului (Configurare → Opţiuni de utilizare → Diverse
→ Criptare fişiere) pe societatea (firma) respectivă (figura 51). Fişierele de date criptate
sunt XECR1.DBF şi XECR2.DBF. Acestea sunt de fapt fişierele care conţin datele senzitive
ale firmei.Criptarea rezistă doar la acţiunea cu SGBD-uri mai vechi asupra fişierelor. Pentru
SGBD-urile mai noi criptarea este inutilă.

Figura 51. Configurare program Ciel Contab (DOS) pentru opţiunea de criptare
fişiere.

→ Criptarea la nivelul transmisiei de date poate fi făcută prin criptarea legăturii sau prin
criptarea datelor. Criptarea legăturii este asigurată implicit de protocoalele de comunicare
în reţea sau de cele din Internet.
Secure Socket Layer (SSL) reprezintă un protocol Web securizat dezvoltat de firma
Netscape Communications care asigură criptarea pentru comunicările realizate între oricare
două calculatoare din Internet prin intermediul protocolului universal folosit – TCP/IP. SSL
se bazează pe criptarea cu cheie publică (PKI) şi funcţionează în două etape: într-o primă
etapă se stabileşte o cheie specială de sesiune (transmisă într-o formă criptată folosind cheia
publică); această cheie va fi utilizată în cea de a doua fază pentru o criptare rapidă a datelor.
SSL asigură:
! autentificarea serverului pe baza certificatelor digitale (care descurajează
impostorii);
! confidenţialitatea transmisiilor (prin criptare);
! integritatea datelor transmise (prin coduri de verificare).

66
Superutilizatorul în această accepţiune este persoana care are drept de administrare şi configurare a
programului.

128
Securitatea datelor în sistemele informatice economice

Un alt protocol de transmitere securizată a datelor este SHTTP – Secured HyperText


Transfer Protocol –, care constituie o variantă „sigură“ a protocolului nativ de transfer al
paginilor web – HTTP. SHTTP a fost dezvoltat de asociaţia CommerceNet şi asigură
criptarea documentelor web transmise, utilizarea semnăturilor digitale şi a unui cod de
autentificare pentru integritatea mesajelor.
În mod evident, transferul protejat al datelor în procesul de navigare pe web este de
mare interes în comerţul electronic şi permite realizarea de tranzacţii financiare
confidenţiale şi operaţii comerciale pe cale electronică.
Implementări similare au fost dezvoltate şi pentru sistemele de poştă electronică:
S/MIME sau PGP/MIME .
Majoritatea aplicaţiilor de poştă electronică folosesc criptarea pentru asigurarea
confidenţialităţii.
Un exemplu elocvent este Outlook-Outlook Express, care foloseşte atât criptarea, cât şi
semnătura digitală ca modalităţi de securizare şi autentificare a informaţiei (figura 52).

Figura 52. Opţiunile de semnătură digitală şi criptare la Outlook Express.

Pentru a folosi însă aceste facilităţi este nevoie de existenţa unei identificări digitale
(Digital ID). Aceasta poate fi obţinută de la una din firmele specializate, cum ar fi: VeriSign,
GlobalSign, BT sau ThawteCertification
→ PGP – Pretty Good Privacy este creat de Phil Zimmerman (a fost publicat în 1995) ca un
pachet complet de securitate pentru criptare fişiere şi poştă electronică, ce oferă mecanisme de
confidenţialitate, autentificare, semnături digitale şi compresie, într-o formă uşor de utilizat.
PGP foloseşte ca algoritm de criptare RSA şi este distribuit gratuit prin Internet, sisteme de
informare în reţele şi reţele comerciale, fiind utilizabil pe platformele MS-DOS/Windows, UNIX
şi Macintosh. Versiunile comerciale ale programului asigură pe lângă criptare fişiere şi
securizare poştă electronică şi criptarea discurilor. Versiunea gratuită a programului poate fi
descărcată de la adresa: http://www.pgp.com/products/freeware.html.
În mod intenţionat, PGP se bazează pe algoritmi de criptare existenţi. Sistemul
foloseşte amprente locale de timp67, iar în procesul de criptare se aplică şi algoritmul de
compresie al cunoscutului program ZIP (creat de Ziv şi Lempel, 1977). Pentru asigurarea
unei securităţi adecvate, utilizatorul poate alege lungimea cheii de criptare obişnuită (384
biţi = 48B), comercială (512 biţi = 64B), militară (1024 biţi = 128B). În abordarea iniţială, o
cheie de 2048 biţi = 256B era considerată inexpugnabilă, dar azi se discută şi despre chei de
4096 de biţi şi este foarte probabil ca resursele de calcul ale viitorului să poată „descifra“ şi
cifruri cu asemenea chei (figura 53).

67
Preia din sistem anumite caracteristici hardware şi software la un anumit moment pe care le foloseşte ca date
de intrare pentru crearea cheilor.

129
Securitatea datelor în sistemele informatice economice

Figura 53. Opţiuni în criptarea PGP.

PEM - Privacy Enhanced Mail (poştă cu confidenţialitate sporită) este un standard


oficial Internet care asigură secretul şi autentificarea sistemelor de mail bazate pe standardul
uzual. Există câteva diferenţe între modurile de abordare şi tehnologiile pachetului PGP,
respectiv ale lui PEM.
În procesul de codificare se foloseşte şi algoritmul DES, ceea ce este considerat
„suspect“ de specialiştii în codificare, ţinând cont de lungimea mică a cheii DES (56 de biţi).
Cheile folosite de PEM sunt certificate de o autoritate de certificare, fiind valabile pentru o
anumită perioadă, un utilizator şi o cheie publică. Practic, fiecare utilizator va folosi o
asemenea cheie privată, specifică şi confidenţială, acordată şi validată după reguli riguroase
de certificare; această cheie va fi folosită în paralel cu cheia publică. Politica autorităţilor de
certificare este destul de complexă, existând o organizaţie ierarhică (cu trei niveluri). Astfel,
administrarea cheilor este structurată după principii mai complexe decât în PGP. Evident,
există şi un mecanism de revocare a cheilor (de exemplu, în cazul compromiterii lor), ceea ce
face ca trimiterea unui mesaj să fie în mod necesar precedată de verificarea automată a celei
mai recente liste de revocări.
În PEM, autentificarea este obligatorie, pe când în PGP este opţională. Paradoxal este
însă faptul că PGP, care nu este un standard oficial, are acumulările Internet-ului,
corespunzând principiilor nescrise care au dus la expansiunea acestuia, pe când standardul
oficial PEM – mai puţin. Programul lui Zimmerman s-a dovedit a fi o soluţie foarte
performantă şi, în plus, a fost distribuit gratuit, pe când PEM s-a dezvoltat în etape, folosind
mai multe standarde Internet pentru diverse componente şi o structură organizaţională rigidă,
pe cele trei niveluri, cu tipuri diferite de autorităţi de certificare şi completată cu reglementări
oficiale de certificare. Implementările PEM au apărut mai târziu decât PGP şi s-au dovedit
ceva mai puţin inspirate (din punct de vedere calitativ, cantitativ şi al disponibilităţii pe
diverse platforme). De aceea, PGP a devenit un pachet tipic pentru Internet, mult mai larg
folosit decât PEM.
Norton Your Eyes Only este un program performant, care permite criptarea fişierelor şi
controlul accesului la fişierele dintr-un calculator individual sau cuplat în reţea. Foloseşte un
sistem de criptare cu chei de până la 512 biţi (versiunea pentru Europa) şi 2048 (versiunea
pentru Statele Unite). Permite criptarea cu chei private sau chei publice folosind algoritmi de
tip DES sau RC4. Programul mai oferă şi blocarea ecranului atunci când utilizatorul nu
foloseşte calculatorul, prin opţiunea ScreenLock, precum şi posibilitatea de a se face
încărcarea sistemului de operare de pe dischetă sau de pe alt disc, prin opţiunea BootLock.

130
Securitatea datelor în sistemele informatice economice

Boca – Data Secure este un program folosit pentru controlul accesului şi criptare.
Metodele de criptare folosite sunt: DES, NEP1 (metodă de criptare foarte rapidă), NEP4 şi
BlowFish.
MailSafe al firmei RSA Data Security facilitează transmisia în siguranţă a datelor între
două modemuri incluzând programe şi echipamente integrate.
Deoarece la date trebuie să aibă acces mai mult de un utilizator, MailSafe foloseşte un
sistem de chei publice şi private. Utilizatorii care vor trimite date folosesc chei publice pentru
a verifica semnătura digitală a destinatarului şi pentru cifrarea traficul pentru transmisie.
Destinatarul foloseşte o cheie privată pentru a semna fişierele emise şi pentru a descifra
mesajele primite. MailSafe foloseşte un sistem de meniuri pentru a selecta fişierele de
transmis. Expeditorul creează chei publice şi private folosind utilitarul KeyGen. Acest proces
instalează şi parolele utilizatorilor care pot avea până la 80 de caractere lungime. MailSafe nu
poate folosi parola pentru a genera o cheie. În schimb, utilitarul KeyGen creează chei noi, în
orice moment în care este apelat. MailSafe creează semnăturile digitale.
Ca particularitate, MailSafe permite şi folosirea comună a cheilor publice. Dacă doi
utilizatori doresc să cifreze fişiere pentru uz comun, ei pot îndeplini aceasta certificând cheile
publice unul altuia. În consecinţă, cu toate că nici unul nu ştie parola celuilalt, mesajul poate
trece înainte sau înapoi între cei doi utilizatori. MailSafe poate fi utilizat pe maşini folosite în
comun de către mai mulţi utilizatori, fără compromiterea datelor utilizatorilor individuali.
→ Criptarea fişierelor de date (documente-text, baze de date şi spreadsheet-uri) este cea
mai simplă modalitate de ascundere a conţinutului real al fişierelor. Nu trebuie făcută însă
confuzie între criptarea propriu-zisă a unui fişier şi ascunderea conţinutului acestuia. Dacă
conţinutul unui fişier nu poate fi citit atunci când se încearcă deschiderea acestuia nu
înseamnă că acest fişier conţine date criptate. Această confuzie este deseori întâlnită la
aplicaţiile de birou MS Word şi MS Excel.
Să luăm ca exemplu următorul text scris în MS Word:
Acesta este un mesaj criptat.
Fişierul cu acest conţinut a fost salvat cu opţiunile de restricţionare prin parolă la
deschidere şi modificare. Folosind un utilitar pentru vizualizarea conţinutului fişierului vom
putea să vedem textul ascuns (figura 54).

Figura 54. Evidenţierea conţinutului fişierului MS Word.

131
Securitatea datelor în sistemele informatice economice

Unul dintre cele mai rapide şi ieftine exemple de cifrare a fişierelor este File Encrypt al
firmei Wisdom Software. Acesta foloseşte Data Encryption Standard (DES) pentru a cifra
fişiere, simplu şi rapid. File Encrypt este un criptosistem convenţional cu o singură cheie,
scris în limbaj de asamblare.
Secret-Disk-II al firmei Lattice, pe lângă cifrarea datelor selectate, creează şi un disc
invizibil unic unde memorează fişierele criptate. Puteţi cripta fişiere folosind ori algoritmul
DES ori algoritmul FAST ale firmei Lattice. Avantajul lui FAST este, evident, viteza sa.
Discurile logice invizibile ale lui Secret-Disk-II conţin doar datele cifrate în fişierele ascunse.
O singură parolă este folosită pentru blocarea şi deblocarea discurilor secrete. Chiar dacă un
intrus descoperă existenţa şi zona discurilor secrete cu un utilitar de lucru cu discul, fişierele
sunt criptate. Dezactivarea comenzii DELETE face imposibilă ştergerea accidentală a
fişierelor.
→ Există şi programe de criptare care garantează o securitate prin criptare care rezistă la
un atac de decriptare un număr de 1032ani. Este vorba de programul Cypherix SECUREIT
2000 al firmei Secure Soft (India) Pvt. Ltd (www.cypherix.com).
Programul foloseşte pentru criptare 448 de biţi. Interfaţa de lucru cu utilizatorul este
foarte prietenoasă (figura 55). Fişierele criptate o vor avea adăugată la extensia iniţială şi pe
aceea de .SIT (Secure IT).

Figura 55. Programul de criptare Cypherix (interfaţa).

→ Unităţile de bandă magnetică folosite pentru operaţiile de salvări periodice de


siguranţă oferă posibilitatea utilizatorului de a cripta datele care se vor salva.
→ O problemă care a apărut în cadrul firmei a fost aceea că angajaţii îşi criptau fişierele
de lucru, iar atunci când era nevoie de datele din acestea, iar angajatul nu era la serviciu din
diferite motive, era imposibil să se acceseze datele. Situaţia a fost rezolvată prin comunicarea
acestora către conducere, care le folosea atunci când era nevoie (lucru destul de rar).

132
Securitatea datelor în sistemele informatice economice

4.2. Modalităţi de utilizare a programelor antivirus în cadrul firmei


4.2.1. Detectarea viruşilor
Ce mai simplă şi mai la îndemână modalitate de a ne proteja împotriva programelor
maliţioase este aceea de a folosi un program antivirus.
Un program antivirus este un utilitar care detectează şi anihilează acţiunea programelor
maliţioase. Programul antivirus va sesiza existenţa unui cod maliţios (virus) în calculator
folosindu-se de amprenta (semnătura) lăsată de fiecare program maliţios (virus). O dată
sesizată existenţa unui virus, programul antivirus va lansa în execuţie o subrutină, vaccinul,
care va anihila acţiunea virusului.
→ Un program antivirus nu va putea detecta decât viruşii a căror semnătură sunt în baza
lui de semnături. Trebuie ţinut cont de faptul că întâi apare virusul şi apoi antivirusul.
→ Producătorii de programe antivirus livrează periodic, la interval de câteva zile, noile
semnături de viruşi. Actualizarea cu noile semnături este uşor de făcut dacă există o
conexiune internet. Sunt şi producători care livrează actualizările folosind suporturi de
memorie de tip disc flexibil sau compact disc. Este cazul firmei Kaspersky.
→ Teama de acţiunea viruşilor este aşa de mare încât, uneori, anumite subrutine de
testare a autenticităţii unui program sunt luate drept viruşi. Este cazul procedurii de
verificare de la programul Ciel Contab. Ulterior, acest neajuns a fost remediat.
→ Acţiunea programelor antivirus poate fi configurată de către utilizator de la stadiul de
maximă protecţie (real time protection) până la stadiul de inactiv (disable). Evident că ultima
stare este cea mai nefericită, aceasta este similară cu inexistenţa programului antivirus.
Existenta activităţii sau inactivităţii programului antivirus poate fi evidenţiată prin
icon-urile care apar în bara de „tray“ la sistemele de operare de tip Windows.

4.2.2. Alegerea şi configurarea programului antivirus pentru firme


Alegerea unui program antivirus este uneori dificilă datorită existenţei mai multor
programe pe piaţă, dar şi datorită cerinţelor care trebuie îndeplinite de acestea.
→ Consider că pentru alegerea unui program antivirus trebuie să ţinem cont de
următoarele criterii de alegere:
! platforma de lucru;
! numărul de viruşi care pot fi detectaţi;
! timpul de răspuns la un virus;
! existenţa opţiunilor de scanare în reţea;
! existenţa opţiunilor de scanare în e-mail;
! protecţia împotriva scripturilor;
! scanarea în fişiere comprimate;
! existenţa suportului tehnic;
! perioada de timp pentru care se livrează actualizări gratuite;
! renumele firmei;
! localizarea firmei producătoare sau a distribuitorului;
! preţul.
Este cunoscut faptul că programele antivirus sunt făcute să funcţioneze pe mai multe
sisteme de operare. Unele firme producătoare livrează programe antivirus care funcţionează
doar pe anume sisteme de operare, dar sunt şi programe antivirus care funcţionează pe mai
multe platforme. Există mai multe reviste de specialitate care efectuează periodic un audit al
acestor programe antivirus. Una dintre cele mai cunoscute este Virus Bulletin
(www.virusbtn.com). Rezultatele testelor efectuate de către specialiştii acestei reviste pe
diferite platforme sunt exemplificate în tabelul următor (tabelul 19):

133
Securitatea datelor în sistemele informatice economice

Tabelul 19. Teste comparative de funcţionare programe antivirus pe diferite platforme


Windows
Platformă/sistem operare Netware Windows Red Hat Windows
Server
6.0 NT Linux 9 XP Prof.
2003
Program antivirus
AhnLab - 100% 100% - X
Alladin Knowledge Systems - - - - -
(eSafe)
Alwil (Avast!) X 100% 100% X
Authentium (formerly X - 100% 100% -
Command Software Systems)
CAT QuickHeal - - 100% 100% 100%
Computer Associates X X 100% - -
(InoculateIT/eTrust)
Computer Associates (Vet) 100% 100% 100% 100%
DialogueScience (Dr. Web) 100% 100% X 100% X
Eset (NOD32) 100% 100% 100% 100% 100%
F-Secure - 100% 100% 100% 100%
Fortinet - - X - X
Frisk (F-Prot) - 100% 100% 100% 100%
GDATA - X 100% - 100%
GeCAD (RAV) - - - - -
Ggreat - - - - -
Grisoft (AVG) - 100% X 100% 100%
H-BEDV (AntiVir) - - X 100% 100%
Hauri (ViRobot) - - - - -
Ikarus - - - - -
Kasperski 100% 100% 100% 100% 100%
Leprechaun VirusBuster II - - - - -
McAfee - - - - -
MicroWorld (eScan) - 100% 100% - X
NWI Virus Chaser - X - X
Network Associates (McAfee) 100% 100% 100% X 100%
Norman 100% X X - 100%
Panda Software - - - - -
Proland Software - - - - -
Softwin (BitDefender) - 100% 100% X 100%
Sophos 100% 100% 100% X 100%
Symantec (Norton) 100% 100% 100% - 100%
Trend Micro (PC-cillin) - 100% 100% 100% 100%
Unasoft - - X - X
VirusBuster 100% 100% 100% 100% 100%
Legendă: 100% Compatibilitate 100% cu testele Virus Bulletin
X Funcţionare defectuoasă
- Funcţionare bună
Sursa: Virus Bulletin, http://www.virusbtn.com/vb100/archive/products.xml?table.

134
Securitatea datelor în sistemele informatice economice

Mai multe date despre compatibilitate şi modul de efectuare a testelor se pot găsi la
adresa: http://www.virusbtn.com/vb100/about/100procedure.xml.
Numărul de viruşi care pot fi detectaţi de un program antivirus are cea mai mare greutate
în alegere. Cu cât acest număr este mai mare, cu atât posibilităţile de detectare şi anihilare cresc.
Programele antivirus pot detecta peste 67.000 de viruşi şi variante ale acestora68.
Timpul de răspuns necesar pentru crearea unui antidot împotriva unui virus este greu
de estimat. Acesta poate fi aflat doar în cazul unor viruşi care au avut efecte majore. Timpul
de răspuns depinde în foarte mare măsură de experienţa firmei.
Existenţa opţiunilor de scanare în reţea este foarte importantă atât din punct de vedere
al siguranţei şi actualizării, cât şi al costului. Vom trata acest aspect puţin mai târziu.
Dacă calculatorul sau reţeaua au acces la Internet, posibilitatea de a scana e-mail-uri
este foarte importantă, bine cunoscută fiind răspândirea viruşilor cu ajutorul Internetului.
Similar şi opţiunea de protecţie împotriva viruşilor de script.
Pentru ca un fişier de dimensiune mare să ajungă cât mai repede la destinaţie se
recurge la comprimarea acestuia. Dimensiunea unui fişier comprimat este sensibil mai mică
faţă de a celui iniţial69. Dacă fişierul sursă conţine un virus, atunci şi fişierul rezultat va
conţine şi el virusul. Din această cauză, existenţa acestei opţiuni este importantă.
Existenţa suportului tehnic, telefon sau e-mail, este necesară atunci când se întâmpină
probleme la instalare şi configurare. Este importantă atunci când instalarea este făcută de o
persoană fără cunoştinţe în domeniu.
De regulă, perioada de timp pentru care se livrează actualizări gratuite de către firma
producătoare este de un an. Această perioadă poate fi prelungită prin semnarea unui
contract de abonament.
Renumele firmei trebuie luat serios în considerare atunci când se achiziţionează un
program antivirus. Renumele firmei ţine atât de longevitatea acesteia pe piaţă, cât şi de
clasamentele întocmite de firmele de specialitate.
Localizarea firmei producătoare sau a distribuitorului trebuie luată în considerare
dacă se doreşte o colaborare strânsă atunci când pot să apară incidente legate de acţiunea
viruşilor şi când singura posibilitate de remediere este contactul direct între cele două părţi.
De asemenea, localizarea firmei are un rol important în anumite situaţii particulare. Ca
exemplu poate fi dat acela în care un virus este produs local, de angajat sau de către o altă
persoană la nivel de judeţ sau de ţară. O firmă locală va putea să descopere şi să anihileze
mai rapid virusul decât o firmă aflată la mii de kilometri distanţă.
Preţul este foarte important atunci când numărul de calculatoare este mare. Din tabelul
următor se observă că preţurile sunt comparabil egale (tabelul 20).
Tabelul 20. Principalele programe antivirus (comparaţii).
Scanare în
Scanează Control Firewall Preţ
Program antivirus fişiere
e-mail centralizat încorporat USD
comprimate
Norton AntiVirus IN/OUT Da Nu Da 50
Kaspersky Anti-Virus IN/OUT Nu Nu Da 50
PC-cillin IN/- Nu Da Da 40
McAfee VirusScan IN/- Nu Nu Nu 40
Bit Defender IN/- Nu Da Da 40
Sursa: www.antivirusebook.com/antiviruscomparison.htm
→ Să analizăm acum cheltuielile necesare achiziţionării de programe antivirus. Firma pe
care am făcut testele este o firmă de mărime medie care are o reţea cu 22 de calculatoare
cuplate în reţea (20 staţii de lucru şi 2 servere – Windows NT şi Linux).

68
Conform cu Norton Antivirus.
69
Depinde de tipul de fişier. În anumite cazuri, poate să fie chiar mai mare.

135
Securitatea datelor în sistemele informatice economice

Achiziţionarea de programe antivirus pentru toate calculatoarele ar duce la un cost


cuprins între 840 USD şi 1.050 USD (21 buc. X 40 USD şi 21 buc. X 50 USD, pe unul dintre
servere rulează Linux – server de Internet).
Suma este acceptabilă pentru această firmă. Achiziţionarea va fi făcută şi programele
vor fi instalate pe cele 21 de calculatoare. În anumite situaţii, la achiziţionarea unui nou
sistem de calcul, se livrează gratuit şi programele antivirus pentru nevoile locale. În ultimul
timp, tot mai mulţi producători de plăci de bază (sau de calculatoare) livrează şi programe
antivirus o dată cu produsul. Este cazul programelor antivirus Norton Antivirus (livrat
separat sau integrat în Norton Internet Security) şi PC-cillin.
În situaţia în care se folosesc programe antivirus care funcţionează separat pe fiecare
calculator, atunci pot să apară disfuncţionalităţi în funcţionarea întregului mecanism de
protecţie antivirus, şi anume:
! actualizarea şi scanarea periodică de viruşi este lăsată la latitudinea angajatului;
! este greu de urmărit acţiunea fiecărui program antivirus pe staţiile de lucru.
Este necesar să existe un program antivirus care să ofere un control centralizat,
repararea fişierelor infectate, capacităţi de carantină pentru acestea şi posibilitatea de
actualizare din Internet.
În această situaţie, achiziţionând un program antivirus care să ofere aceste facilităţi,
Norton Antivirus Enterprise/Corporate Edition, preţul total este de 1.050 USD (care include
21 de licenţe şi suportul de program pe compact disc). Suma este comparabilă cu cea
anterioară, numai că în acest caz facilităţile sunt multiple:
! protecţia şi monitorizarea de la o singură consolă;
! scanează mesajele de e-mail atât la recepţionare, cât şi la transmisie;
! recunoaşte aplicaţiile nesolicitate ca spyware şi adware;
! identifică sursa în cazul anumitor atacuri;
! alertează în cazul în care anumite calculatoare nu sunt conectate la reţea;
! scanează în memorie şi opreşte procesele suspecte înainte ca acestea să cauzeze daune;
! permite o detectare centralizată a nodurilor neprotejate din reţea.
Achiziţionarea de către firmă a programului antivirus Norton Antivirus Enterprise/
Corporate Edition a permis un mai bun control al viruşilor. Anterior acestei achiziţii, când se
lucra cu diferite programe antivirus pe diverse calculatoare sau când actualizările nu erau
făcute la zi, problemele generate de viruşi erau multiple. La o testare antivirus iniţială făcută
cu Norton Antivirus am descoperit 10 calculatoare virusate dintr-un total de 22. Numărul de
fişiere virusate era de ordinul sutelor la fiecare calculator. Din această cauză a trebuit să
efectuez operaţia în două etape – pe grupuri de calculatoare. După terminarea completă a
operaţiei am constatat că situaţia era identică cu cea iniţială. Această situaţie s-a datorat în
mare parte strategiei de lucru folosite la devirusare. Existenţa resurselor partajate în reţea
făcea ca după devirusare calculatoarele curate să se reinfecteze la accesarea acestor resurse,
în mare parte cu acordul utilizatorului. O altă cauză o reprezenta acţiunea utilizatorului
neinstruit. Pentru a nu mai avea astfel de probleme am procedat la o scanare în afara orelor
de program, la anularea resurselor partajate şi la anularea accesului la Internet. O dată cu
instalarea unor sisteme de operare Windows XP care nu mai dădeau utilizatorului drepturi
de partajare foldere sau fişiere, a folosirii noului pachet de program antivirus corect
configurat şi a anulării conexiunii la Internet problemele datorate viruşilor s-au diminuat.
Chiar şi viruşii de pe dischetele mai vechi nu mai constituiau o problemă deoarece programul
a fost configurat pe acţiunea automată de devirusare (autorepair).

4.2.3. Reguli şi restricţii


→ Consider că pentru a se evita o infecţie cu viruşi este necesar să fie impuse o serie de
reguli şi restricţii în utilizarea calculatorului.
Ca primă măsură se impune informarea şi instruirea personalului asupra măsurilor
care trebuie luate.

136
Securitatea datelor în sistemele informatice economice

A doua măsură care se impune este configurarea corectă, hardware şi software, a


calculatorului şi a reţelei.
Un calculator corect configurat este vulnerabil dacă factorul uman nu este bine instruit
şi conştient de consecinţele unei infecţii cu viruşi.
De asemenea, personalul bine instruit nu poate să acopere golurile de securitate
hardware şi software lăsate.
→ Principalele reguli şi restricţii care consider că se impun pentru a se evita o infectare
cu viruşi sunt:
1) Instalarea şi rularea unui program antivirus foarte bun. Ce înseamnă aceasta? Un
program antivirus bun sau foarte bun este acela care satisface cerinţele de securitate impuse.
Dacă programul antivirus se instalează local şi dacă pe acel calculator nu se rulează programe
de poştă electronică, atunci nu trebuie luată în considerare facilitatea de scanare e-mail. Dacă
în schimb calculatorul respectiv este conectat la Internet şi se face browsing, atunci cerinţele
sunt foarte mari. Nu este suficient ca un program antivirus să detecteze foarte mulţi viruşi. Este
important să detecteze şi să anihileze virusul care încearcă să infecteze acel sistem.
2) Actualizarea periodică a programului antivirus cu noile facilităţi, dar mai ales cu
noile semnături de viruşi. Actualizarea poate fi făcută manual, periodic de către utilizator sau
poate fi configurată pe opţiunea automată.
3) Actualizarea programelor de e-mail şi a web browserelor cu noile „patch“-uri70 sau
„fix“-uri71. Este bine cunoscută exploatarea golurilor de securitate din aceste programe de
către viruşii care se folosesc de Internet pentru a se propaga. Actualizarea acestor programe
micşorează posibilitatea de infectare.
4) Configurarea optimă a programelor de e-mail şi a web browserelor. Ca nivel de
securitate, acestea sunt configurate implicit pe opţiunea Medium (mediu), dar pot fi
configurate pe niveluri mult mai ridicate. De asemenea, se poate configura şi restricţionarea
anumitor site-uri.
Aceste opţiuni pot fi configurate, la sistemele de operare Windows, din Control Panel
→ Internet Option → Security, Privacy şi Advanced (figura 56).

Figura 56. Configurarea opţiunilor de securitate în Windows.

70
Patch – petic. Îmbunătăţire ulterioară adusă unui program care prezină goluri de securitate în funcţionare.
71
Fix – reparaţie.

137
Securitatea datelor în sistemele informatice economice

5) Nu se fac descărcări (download) de programe din surse dubioase. Actualizările de


programe trebuie să se facă numai de pe site-ul producătorului şi nu din alte surse.
6) Nu se deschid fişierele ataşate la e-mail dacă acestea nu provin de la o sursă de
încredere. Regula de bază este: „nu deschide un attachement care vine de la o persoană pe
care nu o cunoşti“.
Programele de poştă electronică au posibilitatea de a bloca accesul la e-mail-uri care
par „dubioase“.
În programul Outlook Express 6 acest lucru poate fi făcut din opţiunile:
Tools → Option → Security, unde trebuie bifată opţiunea Do not allow attachements
to be saved or opened that could potentially be a virus (Blochează deschiderea sau
salvarea fişierelor ataşate care pot fi/conţine viruşi) (figura 57).

Figura 57. Blocarea opţiunilor de deschidere automată a fişierelor ataşate.


7) Atenţie la e-mail-urile şi site-urile de tip păcăleală. Nu se va da curs ferestrelor apărute
în timp ce faci browsing şi care-ţi propun un câştig în bani sau bunuri dacă execuţi click pe OK /
Yes sau care conţin mesaje alarmiste referitoare la securitatea calculatorului tău. Nu se vor
retrimite e-mail-uri primite către cunoscuţi cu urarea că vei avea noroc dacă faci asta.
8) Scanarea de viruşi. Această acţiune poate fi făcută manual sau poate fi făcută
automat de către program prin configurarea acestuia ca la pornire sau la o anumită dată,
periodic, să facă acest lucru.
Orice nou suport de memorie accesat (disc flexibil, CD-ROM, pendrive etc.) trebuie să
fie scanat. La majoritatea programelor antivirus opţiunea este automată.
9) Dezactivarea lui ActiveX din opţiunile browserului de Internet (figura 58).

138
Securitatea datelor în sistemele informatice economice

Figura 58. Dezactivarea lui ActiveX din opţiunile browserului de Internet.

10) Dezactivarea lui Windows Script Host (WSH) pentru a se preîntâmpina infectarea
cu viruşi de script (extensia .VBS)
11) Activarea opţiunii de protecţie la viruşi de macro (Macro Virus Protection) în
Microsoft Office (figura 59).

Figura 59. Activarea opţiunii de protecţie la viruşi de macro.

12) Achiziţionarea unui firewall.


13) Salvarea periodică a datelor (backup).
14) Informarea permanentă asupra acţiunii viruşilor. Acest lucru poate fi făcut din
publicaţiile de specialitate sau din atenţionările periodice trimise de firmele din domeniu.

139
Securitatea datelor în sistemele informatice economice

4.3. Folosirea dispozitivelor firewall în cadrul firmei


4.3.1. Principii
Implementarea unui sistem firewall reprezintă măsura de securitate cea mai avansată
care poate fi implementată. Un firewal este considerat ca fiind prima linie de protejare a
informaţiilor private.
Termenul de firewall (zid de foc) este folosit pentru prima dată la începutul anilor 1700
de către muncitorii forestieri pentru a proteja pădurile de propagarea incendiilor. Aceştia
efectuau o degajare în masa copacilor şi în acest fel focul nu mai putea să se propage.
Acelaşi termen este folosit în industrie, în construcţia de locuinţe, hale industriale,
depozite şi este folosit şi în industria IT&C.
Un firewall este un sistem folosit pentru implementarea politicii de control a acce-
sului într-o organizaţie sau între organizaţii [BLAC00]. Acesta va proteja un calculator sau
o reţea împotriva accesului neautorizat.
Firewall-ul va crea un singur punct de legătură cu o reţea care va putea să fie nesigură.
În acest fel se vor concentra toate resursele spre apărarea acelui punct de trecere (gateway).
Un firewall este constituit dintr-un calculator sau din mai multe calculatoare, împreună
cu programele asociate, care vor asigura politica de control a accesului.
Firewall-ul va permite sau va interzice traficul dintr-o parte în alta a sa. Traficul care
poate să treacă sau să nu treacă prin firewall poate fi între două sau mai multe reţele sau între
două sau mai multe calculatoare.
Firewall-ul va putea să separe traficul dintre diferitele compartimente ale firmei sau să
separe traficul din interiorul firmei de Internet. Un singur dispozitiv firewall poate fi folosit
pentru a se crea partiţii logice la nivelul firmei. În această situaţie se impune ca tot traficul,
inclusiv cel de Internet, să treacă printr-un singur server. De regulă, acel server este serverul
central (figura 60).

Firewall

Compartiment Compartiment
Comercial Financiar

Firewall Firewall

Compartiment
Producţie

Firewall
Firewall Internet

Server Web
Figura 60. Modul de acţiune al unui dispozitiv firewall.

140
Securitatea datelor în sistemele informatice economice

Politica de securitate poate fi implementată cu ajutorul firewall-ului folosind una dintre


cele două metode fundamentale:
! ce nu este în mod expres specificat ca fiind permis este interzis;
! ce nu este în mod expres specificat ca fiind interzis este permis.
Prima strategie este cea mai sigură, aceasta asigurând doar trecerea pachetelor care sunt
specificate. A doua strategie este mai permisivă, dar şi mai nesigură.
Protecţiile asigurate de un firewall sunt următoarele:
! protejarea împotriva serviciilor şi protocoalelor nesigure;
! protejarea informaţiilor despre utilizatori prin ascunderea adreselor de reţea;
! creează fişiere jurnal care vor asigura auditarea reţelei;
! permite avertizarea în cazul unor tentative de intruziune;
! în cazul în care sunt mai multe dispozitive firewall într-o reţea care are acces la
internet, se poate permite o evidenţă centralizată a reţelei faţă de exterior.
Nici o reţea de firmă ataşată la Internet nu va putea să fie în totalitate sigură.
Întotdeauna vor exista goluri care vor fi exploatate de hackeri.
În aceste situaţii, un firewall nu poate să facă faţă următoarelor tipuri de atacuri:
! provenite din interiorul firmei. Un angajat din firmă va putea să atace reţeaua locală
cunoscând caracteristicile acesteia;
! anumite categorii de viruşi, cai Troieni, Backdoors;
! dezvăluiri de conturi şi parole prin metoda „social engineering“;
! atacuri folosind conexiunile prin modem. O conexiune modem este bidirecţională,
lucru care uşurează mult munca unui hacker.

4.3.2. Tipuri de dispozitive firewall


Pe piaţă există mai multe variante de dispozitive firewall comerciale. În esenţă acestea
se pot clasifica în dispozitive firewall [PRBY02]:
! de nivel reţea;
! de aplicaţie;
! hibride.
În literatura de specialitate aceste tehnologii mai sunt cunoscute şi sub numele de
filtrarea pachetelor (pachet filters), porţi de aplicaţii (applications gateways) şi inspectarea
completă a pachetelor (stateful pachet inspection).
Dispozitivele firewall de nivel reţea sau cu filtrarea pachetelor folosesc ca componentă
hardware router-ele. Regulile referitoare la acces vor fi definite la nivel de router.
În funcţie de politica implementată de firewall, unele pachete (numite şi datagrame) vor
fi admise, iar altele vor fi respinse în funcţie de setul de reguli codificate de software-ul care
rulează pe firewall (figura 61).
Router/ Server
Firewall Web/Public
Client

Trafic filtrat Filtru / Condiţii Trafic nefiltrat

Refuz trafic
Filtrare conţinut

Figura 61. Dispozitivele firewall de nivel reţea.

141
Securitatea datelor în sistemele informatice economice

Fitrarea se va face ţinând cont de următoarele criterii:


! adresa IP a sursei;
! adresa IP a destinaţiei;
! numărul portului TCP sau UDP72 al sursei;
! numărul portului TCP sau UDP al destinaţiei;
! identificatorul de protocol care se găseşte rezident în header-ul IP.

Un exemplu de regulă firewall poate fi următorul:


Acţiune Sursa Port Destinaţie Port
Allow/Permis Any/Oricare TCP 80 Web Server TCP 80
TCP 443 TCP 443

Nu toate router-ele pot să filtreze anumite porturi, deşi majoritatea fac acest lucru.
Uneori aceasta filtrare este dependentă de sistemul de operare care rulează pe router.

Dispozitivele firewall de nivel aplicaţie folosesc tehnica de substituire sau


intermediere a aplicaţiilor sau proxy (application-proxy firewall), denumit uneori şi poartă de
aplicaţie (application gateway). Acest tip de firewall are funcţionare diferită faţă de tipul bazat
pe router şi filtrarea de pachete. Porţile de aplicaţie sunt bazate pe componente software.
Încercarea de conexiune de la distanţă a unui utilizator va fi blocată şi se vor examina
diferitele câmpuri ale cererii. Dacă se îndeplinesc un set de reguli predefinite, poarta creează o
punte (bridge) între gazdă de la distanţă şi cea internă. Într-o schemă care foloseşte o aplicaţie
gateway, pachetele IP nu sunt transferate mai departe în reţeaua internă, ci sunt translatate
având poarta ca interpretor. Această configuraţie mai este denumită şi configuraţie cu
intermediar (man-in-the-middle configuration) (figura 62).
Firewall Server
proxy Web/Public
Client

Cerere pagină Verificare URL Cerere pagină

Răspuns pagină Răspuns pagină


Filtrare conţinut

Figura 62. Dispozitivele firewall de nivel aplicaţie.

Avantajul modelului proxy, cu poarta de aplicaţie, este lipsa transferului de pachete IP


(forwarding). Avantajul important este acela că pe conexiunea astfel intermediată se pot folosi
mai multe tipuri de controale. Un alt avantaj este acela că astfel de instrumente oferă opţiuni
şi posibilităţi de înregistrare foarte avansate ale traficului.
Dezavantajul modelului proxy se reflectă în viteza reţelei. Deoarece fiecare conexiune şi
tot traficul de pachete sunt acceptate, negociate, translatate şi transmise mai departe, această
implementare poate fi mai lentă decât filtrarea de pachete bazată pe router.

72
UDP – User Datagram Protocol – protocol de comunicaţie similar cu TCP/IP.

142
Securitatea datelor în sistemele informatice economice

Un transfer de IP (IP forwarding) poate fi periculos deoarece permite unui cracker


experimentat să aibă acces la staţiile de lucru din reţeaua internă a firmei.
Un alt dezavantaj al acestei scheme este acela că pentru aplicarea tuturor regulilor de
filtrare pe un singur firewall va putea să genereze o încetinire a traficului şi va presupune o
muncă laborioasă pentru implementare. Din această cauză, trebuie creat un proxy
(intermediar) pentru fiecare serviciu de reţea. Aceasta presupune existenţa unui proxy pentru
FTP, pentru Telnet, pentru HTTP etc. De aceea se preferă ca uneori să fie mai mult de un
firewall care să împartă şi să preia o parte din sarcinile primului.

Dispozitivele firewall hibride combină funcţiile de la dispozitivele firewall de nivel


reţea cu cele de la dispozitivele firewall de nivel aplicaţie. Acestea funcţionează ca un firewall
care va monitoriza sesiunea şi informaţiile despre aceasta, va filtra pachetele, dar nu este un
proxy. Informaţiile despre sesiune vor include IP-ul sursei şi al destinaţiei, informaţii despre
porturi şi un jurnal al autentificărilor. Firewall-urile hibride asigură o securitate foarte bună.
Sunt mai rapide ca firewall-urile de aplicaţie, dar mai lente decât firewall-urile bazate pe
filtrarea pachetelor.
O comparaţie între modul de funcţionare al celor trei modele de firewall-uri folosind
modelul de reţea OSI este exemplificată în tabelul următor (tabelul 21) [PRBY02].

Tabelul 21. Acţiunea tipurilor de firewall asupra nivelurilor de reţea OSI.


Firewall de nivel reţea Firewall de aplicaţie Firewall hibrid
Nivel OSI Nivel OSI Nivel OSI
Aplicaţie Aplicaţie Aplicaţie
Prezentare Prezentare Prezentare
Sesiune Sesiune Sesiune
Transport Transport Transport
Reţea Reţea Reţea
Legături de date Legături de date Legături de date
Fizic Fizic Fizic

Ca metodă de securizare a reţelei interne împotriva atacurilor din exterior majoritatea


dispozitivelor firewall se folosesc translarea adreselor de reţea (NAT73) [SECU02]. Aceasta
presupune ascunderea identităţii (IP locale) a calculatoarelor locale pentru reţeaua publică.
Sistemele de operare Windows 2000/2003 Server, XP, Linux şi majoritatea sistemelor de
operare UNIX moderne dispun de aceasta facilitate. Windows NT nu beneficiază de această
facilitate.
NAT ascunde adresele IP locale prin convertirea lor la adresele firewall. În Internet tot
traficul care provine de la calculatoarele reţelei locale va fi văzut că provine de la un singur
calculator/server al cărui IP va fi singurul cunoscut. Un atacator nu va putea vedea decât IP-ul
dispozitivului NAT şi nu pe cele interne.
Translarea adreselor permite de asemenea folosirea oricărui IP în reţeaua locală, chiar
dacă acestea sunt folosite oriunde altundeva în Internet. Singurele probleme pot să apară
atunci când se accesează din Internet o locaţie care are acelaşi IP cu cel al calculatorului local.
Din această cauză, este de preferat să se folosească pentru calculatoarele din reţeaua locală
IP-urile rezervate 192.168.0.0 sau 10.0.0.0. Aceste clase nu se regăsesc în adresele de host-uri
din Internet.

73
NAT – Network Address Translation – translarea adreselor de reţea.

143
Securitatea datelor în sistemele informatice economice

NAT permite şi multiplexarea unei singure adrese IP publice către toată reţeaua locală.
Acest lucru este benefic pentru firmele mici deoarece fără această multiplexare posibilităţile
de adresare sunt relativ reduse.
Translarea adreselor are şi dezavantaje. Unul dintre ele este acela în care un administra-
tor al reţelei interne vrea să se conecteze din afară la un calculator local în vederea depanării.
Sau situaţia în care se doreşte aflarea IP-ului unui calculator local de la care s-a trimis un
mesaj senzitiv către exterior. NAT ţine la distanţă atacatorii, dar la fel de bine limitează
accesul din afară al utilizatorilor legitimi (administratori) la resursele reţelei interne în vederea
depanării. Dispozitivele NAT moderne au implementată opţiunea de port-forwarding care
permite accesul utilizatorilor legitimi la reţeaua internă.
Modul de funcţionare al unui proces NAT este exemplificat în figura 63 .
Server
Firewall Web/Public
Client

192.168.33.1 10.10.10.2.

192.168.33.10 216.109.118.64

From: 192.168.33.10
To: 216.109.118.64 From: 10.10.10.2: 145
„open default.html“ To: 216.109.118.64
Creare intrare „open default.html“

From: 216.109.118.64 Translare From: 216.109.118.64


To: 192.168.33.10 192.168.33.10:1234 To: 10.10.10.2
„send default.html“ în „send default.html“
10.10.10.2:80
numai pentru
From: 192.168.33.10 216.109.118.64:145
To: 216.109.118.64
From: 10.10.10.2
„send default.html“
To: 216.109.118.64
Ştergere intrare „close session“

Figura 63. Funcţionarea unui proces NAT.

4.3.3. Alegerea, instalarea şi configurarea firewall


→ Prima decizie în achiziţionarea unui dispozitiv firewall este dacă alegem unul hardware,
software sau o combinaţie a celor două.
O dată ales dispozitivul firewall, acesta va trebui să facă invizibilă reţeaua firmei
pentru un neautorizat şi să o protejeze împotriva atacurilor.

144
Securitatea datelor în sistemele informatice economice

→ Consider că pentru alegerea unui firewall trebuie să se ţină cont de următoarele criterii:
! gradul de securitate;
! sistemul de operare;
! administrarea.
Gradul de securitate asigurat de un dispozitiv firewall este uneori greu de cuantificat.
Este bine ştiut că un firewall hardware produs de firma Cisco reprezintă topul vânzărilor.
Dar tot la fel de bine se ştie şi că acele firewall-uri sunt şi cele mai scumpe. PIX74 Firewall
produs de firma Cisco este considerat ca fiind unul dintre cele mai bune dispozitive de acest
fel, asigurând o securitate ridicată şi un nivel crescut de performanţă.
Sistemul de operare va atârna în decizia de alegere a unui firewall în două moduri.
Unul ar fi acela că producătorii de firewall sunt de părere că firewall-urile bazate pe sisteme
de operare care au mai puţine bug-uri sunt mai sigure. Al doilea motiv ar fi acela că
bug-urile apărute în folosirea unui firewall care rulează pe un sistem de operare larg
răspândit vor putea fi raportate de un număr mai mare de utilizatori. Există însă şi reversul
la folosirea unui sistem de operare larg răspândit. Sistemul de operare Windows, care este
cel mai răspândit, e cel mai atacat deoarece este un sistem de operare comun, are suficiente
goluri de securitate şi pentru că mulţi hackeri urăsc firma Microsoft datorită politicii sale.
Atunci când se alege un firewall software este obligatoriu ca acesta să fie suportat de
sistemul de operare.
Administrarea unui firewall trebuie să fie familiară. Este bine cunoscut că firewall-urile
Windows sunt mai uşor de administrat decât cele UNIX (sau Linux). Existenţa unei interfeţe
greoaie va face ca firewall-ul să nu fie configurat optim, mai ales dacă persoana care-l
configurează nu are experienţă.
Dispozitivele firewall comerciale sunt disponibile în două categorii:
! Single gateway, care are suport pentru un număr specific de utilizatori şi consola de
management instalată pe un singur calculator. Se pretează foarte bine la firmele mici.
! Firewall Enterprise, care permit protejarea unui număr specificat de calculatoare
din reţeaua internă. Adăugarea de module suplimentare măreşte numărul acestora.
Achiziţionarea unui dispozitiv firewall de firmă, ca exemplu PIX Firewall, produs de
Cisco, pentru protejarea la atacuri din exterior, este de preferat în locul achiziţionării unui
produs software. Preţul de achiziţie şi cheltuielile de implementare fac ca această soluţie să
nu fie aleasă decât de firmele mari, care-şi pot permite preţul.
Firewall-ul produs de firma Checkpoint costă pentru un modul cu 5 utilizatori 300
USD, iar pentru un modul de 250 de utilizatori costă 6.000 USD. Asistenţa tehnică este
asigurată telefonic pentru suma de 400 USD pentru incident.
Symantec Enterprise Firewall (care este un proxy) costă (cu suport de VPN) 4.000 USD
pentru un număr de până la 100 de utilizatori şi 12.500 USD pentru un număr nelimitat de
utilizatori. Suportul tehnic este asigurat pentru sume cuprinse între 400 USD (până în 100
utilizatori) şi 1.875 USD (pentru un număr nelimitat de utilizatori). Symantec Enterprise
Firewall rulează pe platforme Windows NT 4 SP 6a, Windows 2000/2003, precum şi pe
platforme Sun Solaris (SPARC), şi este multithread75 pentru a putea să folosească facilităţile
sistemelor multiprocesor.
Firmele mici vor opta pentru soluţii firewall înglobate, lucru întâlnit la serverele Internet
bazate pe sistemele de operare Linux. În cazul în care serverul respectiv are ca sistem de
operare Windows, se indică folosirea pachetului Norton Internet Security 2004 (Professional)
la preţul de 70 (100) USD. Dacă se doreşte şi protejarea staţiilor de lucru din interiorul firmei
împotriva atacurilor din interior, se poate opta între produsele existente pe piaţă: Norton
Firewall (Norton Internet Security), Zone Alarm Pro, CheckPoint Firewall. Preţurile la aceste

74
PIX – Private Internet Exchange.
75
Multithread – capacitatea mai multor microprocesoare de a funcţiona ca şi cum ar fi unul singur.

145
Securitatea datelor în sistemele informatice economice

produse variază în jurul valorii de 50 USD. Unele dintre aceste produse se livrează gratuit la
achiziţionarea unui sistem de calcul. Este cazul produselor Norton Internet Security şi Norton
Antivirus (uneori sunt integrate într-un singur program – Norton Internet Security –, dar
opţional se poate instala şi Norton Antivirus). Suportul tehnic pentru actualizări gratuite este de
un an.
Instalarea şi configurarea vor fi făcute în următorii paşi:
! instalare şi configurare platformă sistem de operare;
! instalare şi configurare module firewall;
! instalare şi configurare server management;
! instalare şi configurare console de administrare;
! instalare servicii suplimentare (antivirus, antispam);
! configurare politici de securitate;
! configurare translatare adrese (NAT);
! implementare metode de autentificare.
→ Conform celor expuse, în cadrul firmei, am optat pentru o soluţie de compromis
financiar. Cerinţele au fost ca să fie protejate calculatoarele care au acces la Internet şi de
asemenea să fie protejate şi cele neconectate. Pentru prima categorie am ales varianta de
externalizare a serviciului de securitate. Serverul de Internet, pe care rula Linux, să fie dat în
administrarea distribuitorului local RDS/RCS76. Acesta, de comun acord cu conducerea
firmei, a instalat şi configurat firewall-ul Linux cu restricţiile impuse, urmând ca periodic să
trimită la sediul firmei liste cu atacurile asupra serverului. Totodată, firma RDS/RCS se
obliga să monitorizeze permanent activitatea de pe acest server. Pentru calculatoarele
neconectate la Internet varianta aleasă a fost aceea a programelor firewall Norton Personal
Firewall/Norton Internet Security. S-a ales această soluţie deoarece o parte din
calculatoarele nou-achiziţionate aveau preinstalat acest program. Administrarea
calculatoarelor din reţeaua neconectată va fi făcută de către un angajat al firmei care va
actualiza permanent programele şi va monitoriza rezultatele statistice generate de firewall.

4.3.4. Administrarea firewall


Administrarea unui firewall poate fi o activitate care poate să ocupe foarte mult timp.
Aceasta depinde şi de mărimea firmei, în cazul firmelor mari administrarea putând fi o
operaţie permanentă.
În esenţă, administrarea unui firewall presupune:
! monitorizarea performantei firewall-ului;
! monitorizarea log-urilor de securitate;
! mentenanţa securităţii prin aplicarea de patch-uri şi hotfix-uri şi actualizări;
! intervenţia în caz de nevoie.
La nivelul firmei un firewall este acel produs care împarte o singură politică centralizată
peste multiple firewall-uri. Firewall-urile la nivel de firmă permit un control centralizat al
politicii de securitate. Politica de securitate, definită la nivel de staţie de lucru, este apoi
replicată peste celelalte puncte de lucru.
→ La firma studiată o mare parte dintre probleme se datorau conexiunii la Internet. Nu am
contorizat pierderile de productivitate datorate conexiunii la Internet, dar mai toţi angajaţii
firmei pierdeau în fiecare dimineaţă, uneori zeci de minute, ca să citească presa prin Internet
sau pentru alte activităţi care nu aveau nici o legătură cu activitatea firmei. O mare parte
dintre virusările calculatoarelor se datorau conexiunii la Internet. Am decis că cea mai
sigură cale de a limita atacurile din Internet şi de a nu mai avea pierderi de productivitate

76
RDS/RCS – Grup de firme (consorţiu) specializate în distribuţia de televiziune prin cablu şi distribuţie Internet.

146
Securitatea datelor în sistemele informatice economice

este aceea de a separa reţeaua. Aceasta va presupune o conexiune la Internet numai a


staţiilor care au într-adevăr nevoie de asta. Accesul publicului la serverele de web, FTP, e-
mail se va face doar pe o porţiune mică din reţea. Staţiile de lucru de aici vor conţine toate
datele necesare publicului, dar nu date senzitive.
În acest fel, se asigură următoarele beneficii:
! porţiunea de reţea neconectată la Internet este absolut sigură. Transferul de date
din reţeaua conectată la Intenet în cea neconectată se va face folosind suporturi de
memorie de capacitate mare care şi acestea vor fi scanate de viruşi. Dar acest
transfer se face doar atunci când este absolut necesar;
! soluţia este foarte simplă şi nu necesită echipamente speciale;
! reduce riscurile de atac şi infectare cu viruşi;
! reduce timpul pe care angajaţii îl pierd navigând pe web sau descărcând programe
care nu au nici o legătură cu activitatea firmei;
! reducerea traficului în cele două reţele a crescut performanţele în ambele.
→ După realizarea separării reţelei problemele generate de viruşi aproape că au dispărut
în reţeaua neconectată. Periodic, şi în afara orelor de program, se conectau cele două reţele
pentru a se face actualizările de semnături de viruşi, actualizările de programe firewall şi
alte (hot)fix-uri de programe. Au rămas conectate la Internet numai calculatoarele la care
acest lucru era absolut necesar (5 la număr). Făcând un calcul aproximativ, au rezultat
câştiguri de productivitate de 17.250.000 lei (15 calculatoare neconectate x 1 oră câştigată în
fiecare zi x 50.000 lei media tarifară orară x 23 de zile). Această nouă configurare nu a fost
pe placul angajaţilor. Aceştia au fost nemulţumiţi de acest lucru în primele zile, situaţia
intrând apoi în normalitate.

4.4. Scanere de vulnerabilitate


4.4.1. Tipuri de scanere
Un scaner este o componentă software care va analiza o reţea şi va detecta eventualele
slăbiciuni ale acesteia, precum şi golurile de securitate. Un scaner va lansa atacuri secvenţiale
asupra calculatoarelor din reţea. De această dată, atacul nu este unul maliţios. Dacă un atac a
fost însoţit de succes, atunci scanerul va crea o notă într-un raport şi apoi va continua
procesul. La sfârşitul procesului de scanare se va afişa un raport referitor la acţiunile
scanerului şi la calculatoarele vulnerabile. Acest raport va putea fi folosit pentru a înţelege
care calculator din reţea are nevoie de o mare atenţie pentru a îmbunătăţi securitatea a lui şi a
întregii reţele.
Deşi acţiunea unui scaner este însoţită de termeni ca gol de securitate etc., succes (al
atacului), vulnerabilitate, de această dată aceşti termeni au o cu totul altă conotaţie. Să nu
uităm că această scanare este folosită nu pentru iniţierea unui atac, ci tocmai pentru ca
atacurile maliţioase să nu poată fi încununate de succes.
Un gol de securitate nu va fi exploatat, cum fac hackerii, ci va fi umplut cu ajutorul
patch-urilor, al fix-urilor sau prin modificarea configuraţiei.
Atacul va fi executat doar pentru a se determina vulnerabilităţile şi nu pentru a le exploata.
Succesul unui atac nu va fi o victorie ca în cazul unui atac real, ci va fi un motiv de
îngrijorare şi un obiectiv.
Vulnerabilitatea zero sau redusă va reprezenta de această dată un lucru bun. O
vulnerabilitate ridicată va reprezenta un motiv de îngrijorare care va necesita măsuri urgente.
Majoritatea scanerelor testează calculatorul-gazdă şi informează asupra serviciilor de
reţea care funcţionează pe acel calculator. În plus, un scaner va spune şi unde acele servicii
sunt susceptibile de o vulnerabilitate cunoscută sau sunt greşit configurate.

147
Securitatea datelor în sistemele informatice economice

De exemplu, pentru o arhitectură Windows, testele care se vor efectua sunt următoarele:
! scanarea porturilor de reţea care utilizează UDP;
! scanarea porturilor de reţea care utilizează pachete TCP SYN, ACK, FIN;
! scanarea lui Network Neighborhood;
! testarea vulnerabilităţilor DNS şi SNMP;
! scanarea pentru detectarea cailor troieni şi a backdoors-urilor cunoscute;
! Server Message Block Querying;
! testarea Active Services;
! verificarea protocoalelor de transport şi sesiune;
! posibilitatea de a stabili sesiunile NULL IPC$ locale;
! verificarea Service pack şi Hotfix;
! verificarea opţiunilor share (Admin(S));
! verificarea abilitaţilor de querry registry;
! verificarea vulnerabilităţilor cunoscute URL şi CGI;
! verificarea vulnerabilităţilor cunoscute la atacuri DoS;
! verificarea vulnerabilităţilor MS SQL Server;
! testarea vulnerabilităţilor SMTP, FTP, POP3.
Tipurile cele mai cunoscute de scanere sunt:
! scanere de reţea (network-based scanners)
! scanere de staţie (host-based scanners)
! scanere de porturi (port scanners).
Scanerele de reţea sunt unelte software care lansează dintr-o locaţie centrală „atacuri“
asupra reţelei în vederea testării vulnerabilităţilor. O consolă centrală va fi folosită pentru
maparea întregii reţele şi pentru trimiterea de pachete către calculatoarele care vor fi scanate
pentru a culege informaţii. De la această consolă se vor direcţiona diferitele „atacuri“ care vor
scana un anume calculator din reţea.
Scanerele de reţea sunt uşor de implementat şi de utilizat. Programul de scanare va fi
încărcat pe un calculator din reţea şi de aici se va testa reţeaua (figura 64).
Scanerele de reţea au şi neajunsuri. Printre acestea se pot enumera:
! încetinesc traficul în reţea. Un scaner de reţea va putea să folosească pentru lansarea
„atacurilor“ foarte multă bandă;
! pot duce la blocarea unor calculatoare. Anumite teste pot să blocheze calculatoarele
supuse procesului de scanare;
! durata de timp pentru efectuarea unei operaţii de scanare poate să fie considerabilă
şi poate folosi resurse mari din reţea;
! acţiunea de scanare va putea să fie folosită de alte persoane (hackeri sau angajaţi
răuvoitori) pentru descoperirea vulnerabilităţilor reţelei.

Figura 64. Interfaţă scaner de reţea.

148
Securitatea datelor în sistemele informatice economice

Scanerele de staţie diferă de scanerele de reţea în primul rând prin arhitectură.


Pachetele de testare de la consolă vor fi trimise către un calculator din reţea şi nu către toată
reţeaua (figura 65). Tot traficul se desfăşoară între aceste două puncte. A două diferenţă este
aceea că acţiunea de testare se face pentru testarea unei configurări locale defectuoase fără să
se încerce exploatarea unor goluri de securitate.
Scanerele de staţie au câteva avantaje în faţă scanerelor de reţea. Unul dintre avantaje
este acela că traficul din reţea e sensibil diminuat, ţintă nefiind reţeaua, ci numai un calculator
din reţea. Din această cauză, un scaner de staţie este de preferat în locul unuia de reţea
deoarece nu foloseşte resurse mari de reţea în care ar avea repercusiuni asupra traficului prin
scăderea acestuia. Calculatoarele testate nu mai sunt în pericol de a cădea, ca la un atac cu
scaner de reţea, deoarece se testează doar vulnerabilitatea şi nu posibilitatea de exploatare a
acesteia.
Scanerul de staţie nu va mai putea fi folosit de o altă persoană pentru scanarea reţelei
deoarece scanarea de la consolă la calculatorul supus testului se face pe un canal securizat
care nu poate fi folosit decât de o singură persoană.

Figura 65. Scaner de staţie.


Scanerele de porturi reprezintă o categorie aparte de scanere folosite pentru maparea
calculatoarelor din reţea şi testarea porturilor pe care acestea le folosesc. Un port este o adresă
a calculatorului folosită pentru comunicare. Oricare din cele peste 10.000 de posibile porturi
pot fi folosite, dacă sunt deschise, pentru iniţierea unui atac (figura 66).

Figura 66. Scaner de porturi.

149
Securitatea datelor în sistemele informatice economice

Multitudinea de scanere existente ca programe gratuite în Internet face ca acestea să


constituie un pericol la adresa calculatoarelor din reţeaua firmei. Chiar dacă nu au succes în
descoperirea golurilor de securitate, un scaner îngreunează traficul în reţea atunci când este în
lucru. Acesta poate să fie unul din semnalele că se face o scanare a reţelei locale.

4.4.2. Scanere comerciale


Majoritatea scanerelor au abilitatea de scanare de porturi pentru găsirea unui calculator
în reţea. Există însă unelte specializate în scanarea de porturi.
NMAP (NetworkMAPer) şi NMAPFE sunt unele dintre cele mai folosite unelte în acest
scop. NMAP este un utilitar care explorează arhitectura reţelei foarte rapid. Acesta foloseşte
pachete IP pe care le trimite în reţea pentru a determina care calculator este disponibil,
serviciile (asigurate de porturi) care sunt deschise, sistemele de operare şi versiunile acestora
care rulează pe acel calculator, precum şi firewall-urile active. Mai multe date, documentaţii,
precum şi programul în format comprimat sau codul sursa vor putea fi găsite la adresa
http://www.insecure.org/nmap/
GNIT este un scaner pentru platforme Windows NT şi Windows 2000. Acesta va face o
verificare amănunţită a reţelei, va furniza detalii despre fiecare cont, precum şi o listă cu
conexiunile şi serviciile care rulează. Mai multe detalii se pot găsi la adresa
http://security.ellicit.org/
Winfingerprint scanează calculatoarele şi culege informaţii referitoare la NetBIOS,
utilizatori, grupuri, protocoale de transport, servicii etc. Programul va scana calculatoarele
existente în Network Neighborhood oferind un raport în format HTML.
http://winfingerprint.sourceforge.net/
Security Administrator’s Integrated Network Tools (SAINT) este folosit pentru a testa
şi evalua reţele. Versiunea gratuită poate fi descărcată de la adresa
ftp://ciac.llnl.gov/pub/ciac/sectools/unix/satan/
Cerberus Information Scanner (CIS) scanează reţeaua pentru a determina serviciile care
rulează. Programul funcţionează pe platforme Windows NT şi 2000 şi determină dacă
conturile utilizatorilor, informaţiile partajate, grupurile şi anumite servicii pot fi accesate de
către intruderi. În plus, se mai poate face o scanare pentru a se determina vulnerabilităţile
SQL Server. Versiunea gratuită poate fi descărcată de la adresa www.cerberus-
infosec.co.uk/cis.shtml.
Pe lângă aceste site-uri mai există în Internet foarte multe alte site-uri care pot da
informaţii despre securitate şi cum poate fi aceasta îmbunătăţită. Informaţiile de aici includ
descrieri despre vulnerabilităţi, platformele care sunt afectate, precum şi măsurile care trebuie
luate pentru remedierea acestor vulnerabilităţi.
Cele mai importante biblioteci cu baze de date despre vulnerabilitate se pot găsi la
următoarele adrese:
BugTraq (www.securityfocus.com/bid). Este cea mai mare şi mai importantă bază de
date care cuprinde informaţii legate de vulnerabilităţi, descrierea acestora, detalii despre
exploatarea acestora şi procedurile de eliminare.
CERT (www.cert.org). Computer Emergency Response Team (CERT) este un centru
federal de cercetare şi dezvoltare în domeniu localizat la Carnegie Mellon University.
X-Force (xforce.iss.net). Internet Security Systems (ISS) este un scaner de firmă care
are posibilitatea de a asigura securitatea asupra unor grupuri.
CIAC (www.ciac.org). Computer Incident Advisory Center (CIAC) este sponsorizat de
U.S. Department of Energy şi include ştiri, avertizări despre viruşi, precum şi o bază de date
extinsă referitoare la vulnerabilităţi.
NtBugTraq (www.ntbugtraq.com). Această bază de date aparţine unei persoane
private, Russ Cooper, şi conţine informaţii referitoare la vulnerabilităţile Microsoft.

150
Securitatea datelor în sistemele informatice economice

4.4.3. Procedurile de scanare la nivel de firmă


Scanerele trebuie folosite în strânsă legătură cu procesele şi procedurile aplicate pentru
asigurarea politicii de securitate impuse la nivel de firmă.
Procedurile de scanare în vederea detectării vulnerabilităţilor sunt mari consumatoare de
timp. Din acesta cauză, operaţiile incluse în procesul de scanare trebuie să se facă în afara
orelor de program.
→ Consider că operaţiile de scanare la nivelul firmei, în vederea testării vulnerabilităţilor,
trebuie să se facă ţinând cont de mărimea firmei. De asemenea, această operaţie trebuie să se
facă obligatoriu de oricâte ori se modifică arhitectura reţelei din firmă.
→ La nivelul firmelor mici, procedura de scanare se va efectua de cel puţin două ori pe an,
în condiţiile în care nu se face nici o modificare în arhitectura reţelei. Dacă se fac modificări
în arhitectura reţelei, atunci după fiecare modificare se va face o nouă verificare a
vulnerabilităţilor folosind scanarea. În funcţie de numărul de calculatoare existente în firmă,
operaţia de scanare poate să dureze de la câteva ore până la câteva zile. Dacă numărul de
calculatoare este mic, atunci operaţia va putea fi făcută în afara orelor de program, în zilele
lucrătoare. Dacă numărul de calculatoare este relativ mare, până la 100, atunci procesul de
scanare se va face în zilele nelucrătoare.
→ La nivelul firmelor medii, operaţia de scanare se va efectua în mod regulat. În acest caz,
operaţia este mult mai laborioasă, deoarece poate exista un număr de servere mult mai mare
ca la firmele mici, acestea necesitând un timp mai îndelungat de scanare. Din această cauză,
procesul de scanare poate fi făcut pe secţiuni ale reţelei. De asemenea, în funcţie de anumite
criterii de politică sau de arhitectură, anumite porţiuni de reţea pot fi scanate mai des, în
timp ce altele mai rar.
→ La nivelul firmelor mari, operaţia de scanare reprezintă o prioritate. Operaţia este
extrem de laborioasă şi de aceea trebuie să existe personal extrem de bine pregătit şi
responsabil. Operaţia de scanare poate să nu rezolve în totalitate anumite probleme legate de
securitate, dar poate atenţiona asupra punctelor vulnerabile în care trebuie concentrată
atenţia.
→ În situaţia în care firma, indiferent de mărime, nu are personal calificat pentru această
operaţie, se poate apela la firme specializate care să preia această sarcină.

4.5. Controlul accesului şi detectoare de intruziune


4.5.1. Modalităţi de control al accesului
Un proces de asigurare complet a securităţii presupune protecţia, detectarea şi răspunsul
la atacuri. Detectarea intruşilor reprezintă miezul problemei pentru a monitoriza calculatorul
sau reţeaua de calculatoare în vederea detectării golurilor de securitate, a hackerilor şi a
abuzurilor angajaţilor. Majoritatea detectoarelor de intruziune au în componenţă şi mecanisme
de limitare a pierderilor.
Mecanismele folosite pentru interzicerea accesului persoanelor neautorizate la datele
stocate în calculator poarta denumirea de funcţii de control al accesului.
Până unde trebuie mers însă cu limitarea şi controlul accesului? Limitarea excesivă de
acces a clientului la anumite informaţii poate să nu fie benefică în afaceri. Măsurile de
securitate excesive impuse partenerilor de afaceri s-ar putea să fie supărătoare pentru aceştia.
Accesul la anumite date, restricţionat de o mulţime de parole de acces, va putea să fie
enervant pentru partenerul de afaceri care poate în final să renunţe.
Paradoxul securităţii este acela că poţi avea o securitate excesivă în detrimentul
afacerilor sau o securitate rezonabilă şi afacerile să fie prospere. Adică „Cine nu riscă nu

151
Securitatea datelor în sistemele informatice economice

câştigă“. Trebuie găsită o cale de mijloc între circulaţia liberă a informaţiilor şi nevoia de
securitate.
Accesul la informaţiile stocate într-un calculator reprezintă un risc de luat în seamă, dar
dezvăluirea informaţiilor către un competitor în afaceri poate avea efecte dezastruoase asupra
firmei. În funcţie de cât de multe şi de caracterul datelor intrate în posesia competitorului, se
poate ajunge chiar în situaţii de blocare a activităţilor pentru o perioadă de timp sau chiar
faliment. Acesta este principalul motiv pentru care firmele trebuie să se preocupe de
securitatea datelor din propriile calculatoare.
Atunci când se pune problema asigurării securităţii, oricine se gândeşte că prima măsură
este asigurarea unui control al accesului. Şi pe bună dreptate. Controlul accesului reprezintă o
serie de măsuri menite să interzică accesul persoanelor neautorizate la date.
Controlul accesului la date se va face prin luarea de măsuri administrative şi măsuri
hardware.
Măsurile administrative vor constitui prima linie de apărare împotriva persoanelor
neautorizate. Existenţa acestor măsuri vizează angajaţii firmei, persoanele care au contact
fizic cu firma, clienţii direcţi, precum şi intruderii care vor să pătrundă fizic în firmă pentru a
avea acces la date. Aceste măsuri nu se aplică şi nici nu au cum să se aplice împotriva unor
atacuri de la distanţă.
Măsurile administrative vor presupune montarea unor serii de dispozitive fizice menite
să limiteze şi să supravegheze accesul într-o anumită zonă.
Aceste dispozitive pot fi:
! perimetre de protecţie;
! chei de acces în anumite zone;
! carduri pentru acces la anumite zone;
! alte modalităţi de restricţionare;
! modalităţi de supraveghere.
Perimetrele de protecţie sunt constituite de gruparea calculatoarelor în anumite zone
unde accesul să poată fi supravegheat. Aceste perimetre pot fi anumite clădiri sau, într-o
anumită clădire, anumite birouri. În anumite situaţii, când o anumită încăpere are o suprafaţă
foarte mare, se folosesc pereţi despărţitori.
Accesul în anumite încăperi se va putea face doar dacă persoana respectivă are cheia sau
cardul care să-i permită accesul în acea zonă.
La categoria alte modalităţi de restricţionare pot fi incluse modalităţile biometrice de
control. Cele mai folosite modalităţi de identificare a unei persoane sunt:
! semnătura;
! amprenta digitală;
! amprenta palmară;
! scanarea retinei;
! timbrul vocal;
! modul de tastare.
Ca modalitate de supraveghere destul de folosită în ultimul timp este utilizarea
camerelor video de supraveghere. Camerele video de supraveghere nu au un rol preventiv în
ceea ce priveşte accesul persoanelor într-o anumită zonă, dar pot fi folosite în procesul de
identificare a intruderilor, de localizare a calculatoarelor şi echipamentelor supuse atacului,
precum şi ca probă în eventualitatea că se iau măsuri judiciare împotriva unei anumite
persoane.

152
Securitatea datelor în sistemele informatice economice

Un mecanism complex de control al accesului, în care se regăsesc şi camere video de


supraveghere este exemplificat în figura următoare (figura 67).

Compartiment Compartiment Compartiment Sistem


Firewall supraveghere
video

Control acces

Cale
Single Sign-On
acces

Criptare

Compartiment Compartiment Compartiment

Sistem
supraveghere
video

Figura 67. Mecanisme de control al accesului.

O dată trecută cu bine prima linie de securitate se ajunge la cea de-a doua care, o dată
trecută, presupune accesul direct la date. Aici se vor implementa o serie de mecanisme care să
interzică accesul persoanelor neautorizate.
Controlul accesul la datele din calculatoare trebuie să se facă numai după ce se parcurg
următoarele etape77 (figura 68):
! identificare;
! autentificare;
! autorizare.

Control acces
Identificare Autentificare Autorizare

Figura 68. Controlul accesului.

77
Cunoscute şi sub denumirea de AAA – Autentificare, Autorizare, Acces.

153
Securitatea datelor în sistemele informatice economice

O dată ajuns în faţa calculatorului, utilizatorul trebuie să se identifice. Aceasta va


presupune tastarea unui cont de identificare şi a unei parole. Pe baza unui mecanism de
autentificare existent pe calculator se va confirma sau se va infirma veridicitatea celor tastate
anterior. Dacă această etapă este trecută cu bine, atunci se primeşte o autorizare care-i va
permite utilizatorului să acceseze resursele calculatorului sau ale reţelei. Acesta este de fapt
un mecanism de control al accesului.
Termenii de autentificare şi identificare sunt strâns folosiţi în literatura de specialitate.
Identificarea şi autentificarea unui utilizator nu trebuie lăsată numai pe seama unui cont şi a
unei parole. Firmele trebuie să se concentreze foarte atent asupra metodelor de identificare şi
autentificare. Există două cazuri care impun ca acest lucru să fie făcut temeinic:
! senzitivitatea crescută a anumitor date;
! lucrul din afară.
Unele date din calculator pot fi de o foarte mare importanţă pentru firmă, dar de o şi mai
mare importanţă pentru concurenţă. Simpla identificare şi autentificare nu sunt suficiente.
Unele firme folosesc ca modalitate de lucru cu angajaţii lucrul de acasă. Pentru acesta
folosesc Internetul. Ori, un simplu cont şi o parolă trimise în Internet devin vulnerabile.
Acesta este doar un exemplu care impune folosirea unor tehnologii performante de
autentificare. Se folosesc cu precădere patru tipuri de tehnologii:
! Kerberos;
! token-uri;
! biometrică;
! certificate;
! smart carduri.
Tehnologia Kerberos se foloseşte atunci când contul şi parola sunt trimise în reţea şi în
acest fel pot deveni vulnerabile, putând să fie folosite de o altă persoană care să se substituie
posesorului legal. De asemenea, tehnologia rezolvă situaţia în care un utilizator poate avea
acces la mai multe calculatoare şi să nu fie nevoit de fiecare dată când reaccesează un
calculator să introducă contul şi parola. Această tehnologie a fost dezvoltată de către
Massachusetts Institute of Technology (MIT), care foloseşte algoritmi de criptare şi
autentificare Data Encryption Standard (DES). Versiunea 5 a tehnologiei Kerberos reprezintă
un standard Internet specificat în RFC 151078.
Tehnologia Kerberos se bazează pe conceptul de a treia parte de încredere care
permite o verificare sigură a utilizatorului şi serviciilor. Această a treia parte poartă denumirea
de Server de Autentificare (Authentfication Server) sau Centru de Distribuţie a Cheilor (Key
Distribution Center – KDC). Prima operaţie efectuată de Kerberos este de a verifica dacă
utilizatorii şi serviciile pe care aceştia le folosesc sunt cei care pretind a fi. Pentru a realiza
aceasta KDC trimite către utilizator un „ticket“ care va fi folosit de către utilizator.
Iniţial se creează o cheie de legătură între client şi KDC, numita Kclient, şi o altă cheie
între KDC şi serverul de aplicaţii, numită Kserver (figura 69).

Kclient Kserver
KDC

Client Server
Figura 69. Grupul de chei Kerberos.

78
RFC – Request for Comments, o serie de notaţii referitoare la Internet, începând cu anul 1969 (când Internetul
era ARPANET). Un document Internet (Internet Document) poate fi trimis către IETF de către orice persoană,
dar IETF decide care document devine RFC. În eventualitatea în care acel document prezintă suficient de mult
interes, acesta poate să devină un standard Internet.

154
Securitatea datelor în sistemele informatice economice

Când un client vrea să creeze o asociere pe un server de aplicaţii, clientul foloseşte o


cerere de autentificare şi răspuns pentru a obţine un ticket şi o cheie de sesiune de la KDC
(figura 70).
Bază de
date cu
drepturi
KDC de acces
1 Cerere autentificare
şi chei
asociate
Client
KDC verifică
2 drepturile de acces
3 ale clientului
Autentificare răspuns

[Ksession, Texp, random#, server name] criptat cu Kclient

Kerberos Ticket criptat cu Kserver

Clientul introduce numele de utilizator pentru parolă,


4 Kclient , pentru a decripta cheia de sesiune de lucru Ksession

Figura 70. Autentificarea Kerberos.

Paşii sunt următorii:


Pasul 1. Clientul trimite o cerere de autentificare către KDC. Această cerere conţine
următoarele informaţii:
! declararea identităţii;
! numele serverului de aplicaţii;
! cerere de validitate în timp pentru ticket;
! un număr aleator folosit pentru autentificare.
Pasul 2. KDC verifică drepturile de acces ale clientului şi creează o autentificare de
răspuns.
Pasul 3. KDC trimite răspunsul de autentificare către client. Acesta conţine următoarele
informaţii:
! cheia de sesiune, K session;
! timpul de expirare al cheii;
! un număr aleatoriu folosit pentru autentificare;
! numele serverului de aplicaţie;
! alte informaţii.
Pasul 4. Când clientul primeşte răspunsul de autentificare, Clientul introduce numele de
utilizator pentru a obţine parola, Kclient, folosită pentru a decripta cheia de sesiune de lucru
Ksession.
O dată obţinute acestea, clientul este abilitat să comunice cu serverul de aplicaţii.

155
Securitatea datelor în sistemele informatice economice

Acest lucru se va face conform figurii următoare (figura 71).

Client Server
Cerere aplicaţie

1 (Kerberos Ticket) criptat cu Kserver

(Autentificator) criptat cu Ksession

Serverul decriptează Kerberos ticket pentru a obţine


2 cheia de sesiune. Aceasta este folosită pentru
decriptarea autentificatorului.

3 Răspuns aplicaţie

(Autentificator) criptat cu Ksession


(utilizat doar dacă se cere o autentificare mutuală)

Figura 71. Cererea şi răspunsul la aplicaţie.


Paşii sunt următorii:
Pasul 1. Clientul va trimite către server două informaţii importante:
! Kerberos ticket;
! Un Autentificator, care conţine:
♦ timpul curent;
♦ sumă de control;
♦ cheie de criptare opţională.
Acestea sunt criptate cu cheia de sesiune, Ksession, cu ajutorul ticket-ului.
Pasul 2. La primirea cererii de aplicaţie, serverul decriptează ticket-ul cu ajutorul cheii
de server, Kserver, extrage cheia de sesiune, Ksession, şi foloseşte cheia de sesiune pentru a
decripta Autentificatorul.
Dacă aceeaşi cheie este folosită atât pentru criptarea, cât şi pentru decriptarea
Autentificatorului, suma de control este corectă şi se concluzionează că Autentificatorul este
cel generat de către clientul respectiv căruia îi aparţine cheia de sesiune. Pentru ca un atacator
să nu poată să intercepteze Autentificatorul şi să-l folosească mai târziu, se verifică şi timpul.
Pasul 3. Identitatea clientului este, în majoritatea cazurilor, verificată de către server. Sunt
însă situaţii în care clientul vrea să fie sigur de autenticitatea serverului. În acest caz, serverul
generează un răspuns prin extragerea timpului clientului din Autentificator şi returnarea acestuia
către client împreună cu alte informaţii, toate criptate cu cheia de sesiune, Ksession.
Tehnologia Kerberos a fost adoptată de către Microsoft atunci când a creat Single Sign
On (SSO).
Token-urile vor să rezolve problema furtului de parole şi este de fapt un complement al
acestora. Deţinerea unui cont şi a unei parole a unui utilizator nu înseamnă că eşti acel
utilizator. Majoritatea token-urilor arată ca o carte de credit şi au pe una dintre feţe un
dispozitiv de afişare cu LCD79. Folosire token-ului poate fi făcută în următoarele moduri:
! după introducerea contului şi a parolei se cere şi introducerea unui număr afişat pe
ecran. Dacă toate trei sunt valide, accesul este garantat. Numerele de pe ecranul
token-ului se schimbă la fiecare minut.

79
LCD – Liquid Crystal Display – Ecran cu cristale lichide.

156
Securitatea datelor în sistemele informatice economice

! după introducerea contului şi a parolei, calculatorul va răspunde cu un număr care


va trebui să fie introdus în token-ul special de la o mică tastatură încorporată în
acesta. După introducerea numărului se va genera de către token un altul care va fi
introdus în calculator. Dacă acesta este un număr valid, accesul este garantat.
! Token-ul este introdus într-un cititor special ataşat la calculator. Se introduc contul
şi parola, iar calculatorul va prelua din token informaţia necesară pentru identificare
şi autentificare.
Tehnologia biometrică, deşi folosită şi în alte domenii sau niveluri de securitate, este
folosită şi aici. Aceasta presupune identificarea şi autentificarea utilizatorului după
caracteristicile individuale ale fiecărui utilizator. Acestea au fost enumerate anterior.
Tehnologia biometrică este implementată centralizat în majoritatea firmelor care o folosesc.
Unele firme nu acceptă însă această tehnologie din cauza imaturităţii controlului centralizat.
Certificatele sunt folosite în autentificarea Public Key Infrastructure (PKI). Tehnologia
PKI este folosită în Secure Sockets Layer şi Virtual Private Network (VPN). Un certificat
reprezintă de fapt un set de înregistrări stocate pe calculator. Acest set de înregistrări formează
cheia privată care va fi folosită în comunicarea cu un server. Stocarea certificatului pe disc
creează două dezavantaje. Unul ar fi acela că acesta poate fi sustras. Al doilea dezavantaj este
acela că folosirea certificatului este posibilă doar de la acel calculator. Acest ultim dezavantaj
a fost remediat prin folosirea smart cardurilor.
Smart cardurile arată ca o carte de credit, numai că au încorporate un mic calculator care
stochează cheia privată. Calculatorul care se doreşte să fie accesat sau de la care se doreşte
accesarea reţelei va trebui să aibă un cititor de smart carduri ataşat. Se vor introduce contul şi
parola şi se va citi de pe smart card cheia privată. Contul şi parola nu vor fi trimise către
calculator, ci către smart card. Acestea, împreună cu cheia privată, nu vor părăsi niciodată smart
cardul.
Autorizarea, după ce se trece de autentificare şi identificare, va da drepturi de acces la
anumite resurse locale sau din reţea. Pentru a autoriza un utilizator se folosesc două metode.
Prima, şi cea mai comună, este de a păstra căile de autentificare pentru fiecare utilizator într-un
director şi apoi de a lista în directorul lui fiecare intrare (calculator sau program) la care are
acces. Soluţia este eficientă pentru grupuri reduse de calculatoare şi programe. La grupuri
mari este greu de gestionat. A doua soluţie se numeşte regulă de bază a autorizării (RBA)80
sau regulă de bază a controlului accesului (RBCA)81. Construirea unei liste cu reguli
standard pentru firmă şi asignarea autorizaţiilor la aceste reguli vor simplifica foarte mult
procedeele de autorizare.
Autorizarea este o problemă complicată la nivelul oricărei firme deoarece trebuie
gestionat un foarte mare număr de reguli şi sarcini.
Majoritatea sistemelor de operare au încorporate ca funcţie controlul accesului.
Funcţiile de control al accesului sunt unele dintre cele mai complexe funcţii pe care un sistem
de operare trebuie să le implementeze. Se estimează că aceste funcţii au nevoie de foarte mulţi
ani pentru a fi „mature“. O îmbunătăţire sau mai multe aduse unui sistem de operare la care s-
au descoperit goluri de securitate va avea ca efect apariţia pe piaţă a aceluiaşi sistem de
operare, cu golurile de securitate acoperite, dar cu alt nume. Cazurile cele mai elocvente sunt
cele ale firmei Microsoft cu sistemele de operare Windows 9x.
În unele cazuri, dacă sistemul de operare este nesigur sau se doreşte o îmbunătăţire a
securităţii, se poate apela la alte produse care să completeze sau să sporească facilităţile
sistemului de operare.

80
RBA – Role-Based Authorization.
81
RBAC – Role-Based Acces Control.

157
Securitatea datelor în sistemele informatice economice

În alte cazuri, la sistemele de operare mai noi, producătorul oferă opţiuni de configurare
sporite care vor ridica gradul de control al accesului. Ca exemplu putem da sistemul de
operare Windows XP (Pro), destul de des folosit în firmele mici şi medii. Opţiunile de
configurare sunt exemplificate în figura următoare (figura 72).

Figura 72. Opţiuni de configurare Windows XP (Pro).

Radicalizarea peste un anume prag a măsurilor de control al accesului va putea să ducă


la stopări ale folosirii anumitor programe.
Un puternic control al accesului va reduce riscul unei folosiri neautorizate a
calculatorului, dar va face ca folosirea acestuia să fie foarte dificilă. Dacă se foloseşte un
sistem de operare „matur“ şi se configurează bine opţiunile de control al accesului, atunci nu
vor fi probleme de exploatare.
Sarcina de control a accesului poate fi împărţită sau atribuită unui Sistem de Gestiune a
Bazelor de Date (SGBD). Acesta va conţine propriile funcţii de control al accesului.
→ Nu este însă suficient să se ştie cine are acces şi cine nu. Uneori este necesar ca să fie
monitorizate şi acţiunile şi operaţiile pe care le execută un utilizator cu drept de acces la
înregistrările dintr-un fişier bază de date. Este ştiut faptul că este mai simplu de implementat
un program care să monitorizeze accesul la fişiere decât unul care să monitorizeze accesul la
înregistrările dintr-un fişier. Situaţia este cu atât mai complicată cu cât fiecare SGBD are
drivere şi funcţii specifice care monitorizează aceste operaţii. Cu toate acestea, un astfel de
program poate fi realizat.
Am conceput un astfel de program care-şi propune să realizeze următoarele operaţii de
monitorizare:
! indicarea locaţiei de unde se face accesul;
! fişierul accesat;
! tipul de operaţiile efectuate pe acesta;

158
Securitatea datelor în sistemele informatice economice

! afişarea instrucţiunii tastate de utilizator;


! data şi ora la care au fost efectuate;
! afişarea de jurnale de log pentru fiecare utilizator;
! afişarea pe diverse criterii a jurnalelor de acces (nume utilizator, data şi ora,
fişiere).
Listingul acestui program, interfaţa de utilizare şi datele care pot fi afişate sunt
exemplificate în anexa 1.

4.5.2. Stabilirea lungimii parolelor de acces


Alegerea unei parole care să reziste un timp predefinit la atacuri de ghicire trebuie să fie
principala directivă atunci când se aleg şi se distribuie parolele pentru angajaţii firmei. Este
lesne de înţeles că o parolă cu cât este mai lungă şi este compusă dintr-un număr mai mare de
caractere cu atât va fi mai greu de ghicit. Cât de lungă trebuie să fie însă parola? O parolă
lungă şi greu de reţinut îl va determina pe proprietar să o scrie undeva la îndemână sau să o
tasteze aşa de încet încât să poată fi citită de o persoană care se uită la tastatură.
Stabilirea lungimii parolei se face ţinând cont de următoarele date de intrare:

T – timpul în care o parolă va fi utilizată în sistem


P – probabilitatea ca o parolă să poată fi ghicită în perioada ei de funcţionare
I – numărul de încercări de descoperire a parolei în unitatea de timp
S – spaţiul parolelor (numărul total de parole unice care pot fi generate)

S = AL, unde A - numărul simbolurilor din alfabet


L - lungimea parolei
Exemplu:
Dacă numărul de simboluri este format din cifre (0 – 9), iar lungimea parolei este de
cinci (5) caractere, atunci S = 105 = 100.000 parole.

Exemplu:
Dacă numărul de simboluri este format din caracterele alfabetului (26), iar lungimea
parolei este de şapte (7) caractere, atunci S = 267 = 8.031.810.176 parole.

Cât de repede se poate ghici o parolă?

P – probabilitatea ca o parolă să poată fi ghicită în perioada ei de funcţionare va fi:

Numărul de cazuri/încercări favorabile


P=
Numărul total de cazuri/încercări

Numărul total de cazuri/încercări de ghicire G a unei parole din spaţiul S este:


g s!
G= Cs = (s − g)! g!

Numărul de cazuri/încercari favorabile G de ghicire a unei parole este:


g g
G = Cs − C s −1

159
Securitatea datelor în sistemele informatice economice

Ţinând cont de faptul că:

g g −1 g g g g −1
C =Cs s −1
+ C s −1 ⇒ C s −1 = C s − C s −1
Va rezulta în final:
(s − 1)!
g −1

P=C
(g − 1)!((s − 1) − (g − 1))! g!(s − 1)! g
s −1
= = =
C
g
s! (g − 1)!s! s
s
g!(s − g )!

Deci probabilitatea (P) de a ghici o parolă în perioada ei de funcţionare este dată de


formula:
G
P=
S
Şi ţinând cont de faptul că numărul total de ghiciri (G) care pot fi făcute pe perioada
când o parolă este activă e G = T x I, va rezulta în final că probabilitatea (P) de a ghici o
parolă pe parcursul funcţionarii acesteia este:
TxI
P=
S
Exemplu:
Să se găsească lungimea unei parole (L) care să reziste la încercări de ghicire cu o
probabilitate (P) de unu la un milion pentru o perioadă (T) de 6 luni şi respectiv 12 luni.

Cazul 1.
Să consideram că:
I = 500, numărul de încercări de ghicire este de 500 pe minut
A = 26, numărul de caractere folosite (A-Z)
I = 500 ⇒ 500 x 60 x 24 = 720.000 de încercări pe zi

Pentru 6 luni vom avea:


T = 30, 5 zile x 6 luni = 183 zile

G G TxI 183x 720.000


P= ⇒S= = = = 1.3176x1013 parole
S P P 0.000001
L
Ţinând cont de faptul ca S = A , vom avea:
log S log(1,3176x1013 ) 13,11978356
L= = = = 9,272 caractere.
log A log 26 1,414973348

Se aleg 10 caractere pentru parolă.

Pentru 12 luni vom avea:


T = 365 zile
G G TxI 365x 720.000
P= ⇒S= = = = 2,628x1014 parole.
S P P 0.000001
log S log(2,628x1014 ) 14,41962536
L= = = = 10,190 caractere.
log A log 26 1,414973348
Se aleg 11 caractere pentru parolă.

160
Securitatea datelor în sistemele informatice economice

Cazul 2.
Să consideram că:
I = 500, numărul de încercări de ghicire este de 500 pe minut
A = 36, numărul de caractere folosite (A-Z, 0-9).

Pentru 6 luni vom avea:

log S log(1,3176x1013 ) 13,11978359


L= = = = 8,43 caractere.
log A log 36 1,556302501

Se aleg 9 caractere pentru parolă.

Pentru 12 luni vom avea:


log S log(2,628x1014 ) 14,41962536
L= = = = 9,26 caractere.
log A log 36 1,556302501

Se aleg 10 caractere pentru parolă.

Dacă se ţine cont că se pot folosi, în afara de literele alfabetului (A la Z), şi cifrele (0 la
9), şi simbolurile suplimentare (~, `, !, @, #, $, %, ^, &, *, (, ), _, + , -, = , [, ], \, {, }, |, ;, ’, :,
„, , , ., /, <, >, ?), se ajunge ca numărul de simboluri folosite să fie de 68 (A = 68). Numărul
total de parole, formate din şapte caractere, care va putea să fie generat cu acestea va fi S = AL
= 687 = 6, 7222*1012.
În acest caz, pentru a rezista 6 luni, cu o probabilitate de ghicire de unu la un milion şi
500 de încercări de ghicire pe minut, o parolă va trebui să aibă minimum
log S log(1,3176 x1013 ) 13,11978359
L= = = = 7,15 caractere (8 caractere ),
log A log 68 1,832508913

iar pentru 12 luni va trebui să aibă minimum


log S log(2,628x1014 ) 14,41962536
L= = = = 7,68 caractere (8 caractere).
log A log 68 1,832508913

Dacă aplicaţia permite diferenţierea între caractere mari şi mici ale alfabetului (case
sensitive), atunci se ajunge la un număr de 94 de simboluri care pot fi folosite în alcătuirea
parolei.

161
Securitatea datelor în sistemele informatice economice

4.5.3. Detectoare de intruziune


Un detector de intruziune este un proces de detectare şi răspuns la folosirea abuzivă a
calculatorului. Folosirea unui detector de intruziune va crea beneficii pentru firmă în ce
priveşte detectarea, stoparea, răspunsul la atacuri, suport în evaluarea pagubelor produse,
precum şi ca dovadă care poate fi folosită în justiţie împotriva persoanelor bănuite de
folosirea abuziva a calculatorului.
În funcţie de specificul şi mărimea firmei, se poate opta pentru un anume tip de detector
de intruziune. La nivelul firmelor mici aceste detectoare de intruziune se găsesc încorporate în
dispozitivele firewall existente. Analiza jurnalelor de firewall sau router va putea să
evidenţieze încercări de intruziune. De asemenea, sistemele de operare au ca facilitate
detectarea intruziunilor.
Tipurile de detectoare de intruziune se pot clasifica în:
! locale (host-based) sau de staţie;
! reţea (network-based);
! hibride.
Principiile sunt asemănătoare la aceste tipuri numai ca acţiunea acestora este diferită.
Principul de bază în funcţionarea unui detector de intruziune îl constituie analizarea pe o
anume perioadă de timp a unui set discret de evenimente pentru a se descoperi eventualele
folosiri abuzive. Înregistrările secvenţiale din diferitele puncte ale reţelei vor fi analizate şi se
va determina comportamentul unui potenţial intruder.
Detectoarele de intruziune de tip local (host-based) vor examina toate acţiunile care au
fost efectuate pe acel calculator (staţie de lucru). Aceasta presupune analiza fişierelor care şi
de unde au fost accesate, precum şi a aplicaţiilor care au fost executate din acel punct.
Detectoarele de intruziune de reţea (network-based) vor analiza traficul de reţea între
punctele acesteia. Aceste detectoare folosesc două tipuri de tehnologii. Una presupune
folosirea modului promiscuos al reţelei. În acest mod este suficient să se monteze un singur
senzor pentru a se analiza tot traficul din reţea. A doua tehnologie se foloseşte de modul non-
promiscuous al reţelei şi presupune montarea unui senzor pentru fiecare conexiune care se
doreşte analizată. Aceşti senzori vor fi montaţi în punctele strategice ale reţelei. Evident că
dacă se doreşte analiza mai multor conexiuni aceasta poate fi făcută cu mai mulţi senzori sau
pe o perioadă de timp mai îndelungată prin aplicarea senzorilor în punctele necesare.
Senzorii sunt programe care rulează în punctele critice ale reţelei – calculatoare, servere,
router-e, firewall-uri.
Detectoarele de intruziune hibride combină avantajele celor două, dar sunt şi mai
costisitoare. Cu toate acestea, ele sunt folosite deoarece asigură date complete atât asupra
reţelei, cât şi asupra calculatoarelor în sine.
Detectoarele de intruziune comerciale oferă, pe lângă capabilităţile standard de a detecta
şi răspunde la atacuri, şi alte capabilităţi suplimentare. Printre acestea se pot enumera:
! analiza evenimentelor pentru a se detecta atacurile din interior;
! analiza traficului din reţea pentru a se detecta atacurile într-o anumită zonă a reţelei;
! management al configuraţiei pentru asigurarea securităţii;
! verificarea integrităţii fişierelor.
Majoritatea detectoarelor de intruziune de tip hibrid oferă o parte dintre aceste
capabilităţi. Arhitectura unui sistem hibrid de detectare a intruziunilor este prezentată în figura
următoare (figura 73) [PRBY02].

162
Securitatea datelor în sistemele informatice economice

Consolă Obiectiv
(Staţie/server)

GUI Profil
Profil securitate
Raport Management Evaluare
Situaţie securitate Administrare
---
evaluare
- -- -- -
- -- -- - Slab Slab
- -- --- -- -
---
Mediu Slab

Audit şi
colectare
politici Audit/evaluare configurare
Management
obiectiv Detectare Audit politică Audit fişiere
Bază
politici de securitate
de date

Rezumat
audit Identificator de Jurnal evenimente
Alerte servicii în timp (Jurnal securitate)
Management real
Data Ora
Serviciu alerte
detectare 15/07/04 07:03:33
intruşi ! Alerte Identificator de 15/07/04
15/07/04
08:10:22
10:20:25
servicii de reţea 15/07/04 10:20:26
15/07/04 12:03:10
Răspuns
Alerte

Dispozitiv supraveghere

Jurnal evenimente
Centralizator evenimente

Arhivă audit
evenimente

Figura 73. Arhitectura unui sistem hibrid de detectare a intruziunilor.

163
Securitatea datelor în sistemele informatice economice

Într-un sistem de detectare a intruziunilor, consola reprezintă elementul central. Aceasta


reprezintă un calculator dedicat care dispune de un set de dispozitive necesare pentru configurarea
politicii de securitate şi procesarea mesajelor de avertizare. Pentru ca să nu existe posibilitatea de
scurgere de informaţii pe traseul consola şi obiectiv, legătura între acestea este criptată. Firme
consacrate în domeniu livrează atât calculatorul dedicat, cât şi restul de echipamente necesare
testării şi criptării comunicaţiilor între consolă şi punctele testate. Aceste echipamente sunt însă
scumpe şi de aceea se optează pentru produse software mai ieftine sau gratis. Unul dintre aceste
produse este SNORT. Sursa poate fi descărcată gratuit de la adresa: http://www.snort.org/dl/, iar
manualul de utilizare de la adresa http://www.snort.org/docs/snort_manual/. Chiar dacă nu se
compară ca performanţe cu unul comercial, rezultatele pot fi comparabile.
Consola efectuează anumite funcţii de bază, şi anume: management evaluare,
management obiectiv şi management alerte. Funcţia de management evaluare colectează
informaţiile statice referitoare la configurarea calculatorului obiectiv. Funcţia de management
obiectiv va ţine o legătură permanentă între consolă şi obiectiv, iar funcţia de management
alerte va colecta şi va administra alertele. Consola dispune, de asemenea, de un serviciu de
detectare intruşi, arhivare şi generare rapoarte.
La nivelul obiectivului testat se vor lansa procese care fac parte din procedurile de
testare, cum ar fi sniffer-ele de pachete TCP/IP, procesarea jurnalelor de evenimente,
centralizarea datelor, verificarea integrităţii fişierelor, verificarea configuraţiei, executarea
răspunsurilor. Aceste procese rulează de regulă în fundal (background), cum ar fi daemon-ii
din UNIX sau serviciile din Windows 2000/XP Pro. Funcţionarea acestor procese nu trebuie
să aibă efecte negative asupra performanţelor calculatorului sau a reţelei.
La apariţia unei încercări de intruziune detectorul va genera mesaje de avertizare către
operatorul de consolă (responsabil cu asigurarea securităţii). Mesajele de alertă pot căpăta
diferite forme, de la alerte vizuale şi sonore pe ecran şi până la avertizare pe e-mail sau
telefon.
Încercarea de intruziune, evidenţiată de alerte, va putea fi contracarată automat sau se va
face manual de către operator. În majoritatea cazurilor, aceste răspunsuri sunt o reconfigurare
a router-ului sau firewall-ului, izolarea şi întreruperea conexiunii de unde se execută atacul.
Centralizarea tuturor evenimentelor şi a încercărilor de intruziune în baza de date va fi
benefică pentru a efectua o statistică a încercărilor de intruziune şi a dezvolta măsurile
necesare de stopare. De asemenea, pot fi făcute calcule statistice privind incidenţa acestor
evenimente.
Dispozitivele de supraveghere sunt menite să preia informaţia din reţea şi să o analizeze
pentru a se preîntâmpina pierderea de date.

4.5.4. Procesul de detectare a intruziunii la nivelul firmei


Pentru majoritatea firmelor, asigurarea securităţii se limitează la programele antivirus.
Folosirea de dispozitive firewall reprezintă pentru acestea un obiectiv prea greu de realizat.
Despre detectoare de vulnerabilitate şi intruziune nici nu poate fi vorba. Sunt însă şi firme,
chiar de mărime medie, care au implementate toate aceste măsuri.
Implementarea unor măsuri de securitate minime este de preferat faţă de absenţa
acestora. Măsurile de securitate trebuie însă să implementeze politica de securitate a firmei. În
absenţa acesteia, măsurile de securitate vor fi haotice.
Prima măsură ar fi una administrativă care va presupune asigurarea unui perimetru de
securitate pentru tehnica de calcul şi restricţii de acces la aceasta.
Apoi se vor implementa măsurile de acces care presupun controlul accesului propriu-zis
la date. Se vor alege conturile şi parolele pentru fiecare utilizator, precum şi regulile de
autorizare.

164
Securitatea datelor în sistemele informatice economice

→ Consider că alegerea şi folosirea parolelor trebuie să fie făcută ţinând cont de


următoarele reguli:
! nu vor exista conturi fără parole;
! nu se vor lăsa conturile şi parolele cu care vin o parte din calculatoare sau
programe. De exemplu, contul SUPER şi parola VALID la programele de
contabilitate şi gestiune CIEL, cele mai frecvent folosite;
! contul şi parola sunt individuale şi vor fi folosite ca atare;
! nu se scriu conturile şi parolele la vedere. Este de preferat ca acestea să se scrie în
agenda personală, să fie memorate şi apoi să fie şterse din agendă;
! nu se vor introduce contul şi parola de la tastatură atunci când cineva se uită;
! nu se va trimite parola în reţea sau prin e-mail;
! nu se vor folosi sub nici o formă ca parolă numele, prenumele, diminutivul, data de
naştere a utilizatorului sau numele şi prenumele persoanelor din familia acestuia;
! nu se va folosi o parolă mai mică de şase caractere;
! nu se va folosi o parolă care conţine cuvinte dintr-un dicţionar din limba respectivă
sau din orice altă limbă;
! se vor folosi parole prin mixarea caracterelor mari şi mici. Anumite programe sunt
„case sensitive“, făcând diferenţiere între caracterele mici şi mari ale alfabetului;
! schimbarea parolei când se suspectează compromiterea acesteia;
! schimbarea acesteia regulat.
→ În acest punct se poate spune că firma are asigurată o minimă securitate. Majoritatea
firmelor fac aceste operaţii şi se opresc. Nu merg cu asigurarea securităţii până la capăt. În
cazul firmelor medii sau mari, operaţia este continuată şi se vor introduce dispozitive firewall şi
de detectare a intruziunilor. Ce se face însă în cazul unei încercări de intruziune? Toate
intruziunile sunt atât de periculoase încât să blocheze o parte a reţelei sau un calculator? De
exemplu, o comandă ping www.firma.ro –t, executată de un utilizator căruia nu-i merge bine
conexiunea de internet şi vrea să aibă acces la datele publice din site-ul firmei, nu trebuie să fie
urmată de măsuri dramatice. Sau acelaşi lucru dacă unui angajat nu-i funcţionează la
parametri conexiunea cu serverul şi foloseşte o comandă ping în aşteptarea personalului de
depanare.
→ Detectoarele de intruziune sunt configurate, în majoritatea cazurilor, să dea ele replica
la o încercare de intruziune. Acest lucru este benefic dacă încercarea este una cunoscută.
Experţii recomandă ca acest lucru să se facă totuşi manual, deoarece un răspuns automat
poate fi folosit de un mecanism de interzicere a serviciului (DoS). Dar acest lucru presupune
existenţa unui personal extracalificat în firma care să monitorizeze traficul. Şi unele firme,
cele mici, nu şi-l permit.
→ În cazul unor încercări de intruziune din partea angajaţilor firmei, ţinerea unor jurnale
de activităţi la nivel de reţea este obligatorie şi benefică pentru a se dovedi intenţia. Aceste
jurnale pot fi folosite ca probe în acţionarea în justiţie a vinovaţilor. În anumite situaţii,
angajaţii folosesc serviciul de e-mail pentru diferite farse adresate colegilor de serviciu. O
configurare statică a adreselor IP va permite extragerea cu uşurinţă din header-ul de e-mail
a adresei calculatorului-sursă şi pedepsirea vinovatului. Dacă spre exemplu mesajul primit
are următoarea identitate (se afişează din opţiunile „Properties“, „Detail“ la Outlook sau
Outlook Express sau din „Header Detail“ la Yahoo):
Message-ID: 002201c47593$a4f7c4c0$1e0ba8c0@x, putem determina din ultimul
grup de cifre, cuprins între ultimul „$“şi „@“, IP-ul calculatorului de la care a fost trimis
mesajul. Gruparea 1e0ba8c0 în hexazecimal citită invers în grupuri de câte două cifre este
192.168.11.30 în zecimal. Aflarea făptaşului este uneori dificilă atunci când acesta foloseşte
tehnici de ascundere a identităţii sau programe de anonimizare.

165
Securitatea datelor în sistemele informatice economice

4.6. Securizarea bazelor de date


4.6.1. Tehnici de securizare
Sarcina de a se asigura securitatea bazelor de date este împărţită între sistemul de
gestiune al bazelor de date şi sistemul de operare. Acestea pot să asigure fiecare în totalitate o
parte din funcţiile de asigurare a securităţii sau pot să fie complementare în realizarea
acestora. Atribuţiile în asigurarea securităţii bazelor de date sunt exemplificate în tabelul
următor (tabelul 22):

Tabelul 22. Atribuţii în asigurarea securităţii bazelor de date.


Funcţie Sarcina
Identificare Sistem de operare (SO) sau în unele cazuri şi SGBD-ul.
Autentificare
Autorizare SGBD-ul (modulele de aplicare a securităţii)
Control acces
Integritate SGBD-ul (modelul de gestiune al tranzacţiilor)
Consistenţă
Audit Sistem de operare (SO) sau în unele cazuri şi SGBD-ul.

Controlul asupra atacurilor


Anterior am văzut că, din date nesenzitive, prin diverse interogări ale bazei de date au
rezultat date senzitive.
Pentru a se preîntâmpina acest lucru se pot aplica următoarele metode:
! suprimarea cererilor cu rezultate senzitive;
! aproximarea rezultatelor;
! limitarea rezultatelor unei cereri care dezvăluie date senzitive;
! combinarea rezultatelor.
Cererile de acces la elementele bazei de date care au ca rezultat afişarea unor rezultate
senzitive sunt rejectate fără nici un răspuns. Datele senzitive nu vor fi afişate. Rezultatul unei
astfel de interogări va fi corect, dar nu va fi afişat către utilizator.
În cazul unei astfel de cereri sistemul va putea să afişeze rezultate apropiate de cele reale.
Acurateţea rezultatului la o interogare care poate dezvălui date senzitive trebuie să fie mică.
Limitarea rezultatului unei cereri, care dezvăluie date senzitive se poate face în cazul în
care acesta este 1 (unu).
Dacă pe exemplul anterior de la capitolul 2, paragraful 2.3.1 (figura 74), vom aplica pe
rând atacuri cu funcţii de forma exemplificată în figura 75 şi vom centraliza rezultatele sub
formă de tabel (tabelul 23), vom vedea că avem rezultate dominante care trebuie suprimate.

Figura 74. Tabela supusă atacului.

166
Securitatea datelor în sistemele informatice economice

Figura 75. Atacul indirect folosind funcţia COUNT condiţionat.

Tabelul 23. Centralizarea rezultatelor.


C (comercial) F (financiar) P (producţie) Total
M 1 3 1 5
F 2 1 3 6
Total 3 4 4 11

În această situaţie trebuie să suprimăm cererile care au ca rezultat valori dominante (1)
sau să nu permitem afişarea rezultatelor chiar dacă cererea se execută în aşa fel încât
rezultatele să fie afişate sub forma următoare (tabelul 24):

Tabelul 24. Afişarea cu suprimare a rezultatelor.


C (comercial) F (financiar) P (producţie) Total
M - 3 - 5
F 2 - 3 6
Total 4 5 5 11

Se observă că situaţia nu este rezolvată, trebuind să modificăm şi sumele pe linii şi pe


coloane pentru a se crea confuzie şi a nu se mai putea extrage date senzitive.
Combinarea rezultatelor se face prin afişarea acestora într-o plajă de valori care să nu
permită extragerea datelor exacte. Făcând o contorizare pe tip de sancţiuni şi gruparea
acestora pe sexe, vom avea situaţii dominante (tabelul 25):

Tabelul 25. Rezultate contorizări.


Număr de sancţiuni
0 1 2 3
M 2 1 0 2
F 2 2 2 0
Total 4 3 2 2

Soluţia ar fi combinarea coloanelor pentru a nu se putea extrage date exacte.


Combinăm coloanele cu „0“cu „1“ şi „2“ cu „3”. Rezultatul este următorul (tabelul 26):

167
Securitatea datelor în sistemele informatice economice

Tabelul 26. Combinarea rezultatelor.


Număr de sancţiuni
0 sau 1 2 sau 3
M 3 2
F 4 2
Total 7 4

Pentru a se preîntâmpina atacurile este necesar să se ţină o evidenţă amănunţită pentru


fiecare utilizator, chiar dacă acest lucru presupune o activitate complexă şi implică timp.
De asemenea, trebuie făcută o analiză a cererilor care pot fi rău intenţionate.
→ Pentru a preîntâmpina extragerea datelor senzitive din bazele de date am realizat un
program care monitorizează toate operaţiile efectuate de utilizatori pe bazele de date.
Operaţiile de monitorizare efectuate de acest program au fost prezentate în acest capitol,
paragraful 4.5.1. La acest punct suntem interesaţi doar de fişierul bază de date accesat de
utilizator, tipul de operaţii efectuate şi listarea acestora. În acest mod, toate operaţiile
efectuate de utilizatori pot fi analizate şi se pot trage concluzii privind securitatea bazelor de
date ale firmei. O prezentare detaliată şi listingul programului sunt oferite la anexa 1.

Securitatea bazelor de date multinivel


Se disting trei caracteristici de bază ale securităţii bazelor de date:
1. Securitatea unui singur element poate fi diferită de securitatea altui element din
aceeaşi înregistrare sau de valoarea aceluiaşi atribut. Aceasta implică implementarea
securităţii pentru fiecare element în parte.
2. Sunt necesare câteva perimetre se securitate care vor reprezenta arii de acces la
anumite date care uneori se pot suprapune.
3. Securitatea unui întreg poate fi diferită de securitatea unui element individual.
Aceasta poate fi mai mare sau mai mică.
Pentru a se asigura securitatea bazelor de date se pot aplica următoarele metode
[HSST95]:
! partiţionarea bazei de date;
! criptarea;
! blocarea integrităţii;
! blocarea senzitivităţii;
! securitatea „front-end“;
! filtru comutativ;
! vederi ale bazei de date.
Partiţionarea bazei de date
Baza de date este împărţită în baze de date separate, fiecare dintre acestea cu propriul ei
nivel de securitate. Operaţia mai poartă numele de atomizarea bazei de date. Ca efect secundar,
această operaţie va distruge avantajul principal al bazei de date dar îmbunătăţeşte precizia.
Criptarea
Dacă datele senzitive sunt criptate, un utilizator care ajunge din întâmplare în posesia
unor date senzitive nu va putea să le interpreteze şi să se folosească. Aceasta criptare este însă
vulnerabilă la atacuri cu text clar sau când atacatorul substituie forma de criptare cu o alta.
Pentru a se preîntâmpina aceasta se pot face următoarele:
! folosirea de criptări diferite pentru aceeaşi înregistrare şi diferite chei pentru fiecare
câmp;
! criptarea câmpurilor înregistrării folosind metoda block chaining (CBC, CFB etc.).

168
Securitatea datelor în sistemele informatice economice

Aceste metode de criptare sunt exemplificate în figura următoare (figura 76).

Cheie criptare

Mecanism
criptare
Q
Z
A Y
B
C Înregistrare criptată

Înregistrare originală

Cheie criptare

Mecanism
criptare
V
H
A K
B
C Înregistrare criptată

Înregistrare originală

a) chei diferite de criptare (K1, K2)

Cheie criptare
Q
Z
Mecanism criptare

A Y
B
C Înregistrare criptată

Înregistrare originală
V
A H
B K
C
Înregistrare criptată
Înregistrare originală

b) Block Chaining

Figura 76. Criptarea înregistrării.

Blocarea integrităţii
Reprezintă o cale folosită atât pentru blocarea integrităţii, cât şi pentru limitarea
accesului la baza de date. Metoda mai poartă şi denumirea de „spray paint“ deoarece fiecare
element este colorat în funcţie de senzitivitatea acestuia. Culoarea este menţinută cu elementul
pe care-l caracterizează şi nu într-o bază de date separată.
Fiecare dată va conţine trei elemente:

Dată Clasificare Sumă de control

Proiect Uranus Strict Secret (SS) 1027

169
Securitatea datelor în sistemele informatice economice

Datele vor fi stocate în text clar pentru sporirea eficienţei.


Referitor la clasificare, aceasta trebuie să fie:
! nefalsificabilă – un utilizator răuvoitor nu va putea crea o nouă dată senzitivă pentru
un element;
! unică – utilizatorul răuvoitor nu va putea să copieze un nivel de senzitivitate dintr-un
alt element;
! secret – utilizatorul răuvoitor nu va putea să determine senzitivitatea pentru un
obiect oarecare.
Suma de control criptografică, pentru a putea să fie unică, trebuie să conţină date
despre:
! înregistrare;
! câmp;
! date ale elementului (figura 77).

Cheia de criptare K

Mecanism criptare
Nr. înregistrare 23

Atribut Transfer 1027

Valoare dată Proiect

Clasificare Strict secret

Figura 77. Suma de control criptografică.

Blocarea senzitivităţii
Blocarea senzitivităţii reprezintă o combinaţie a două elemente:
! existenţa unui identificator unic (numărul de înregistrare);
! nivelul de securitate.
Trebuie să nu se permită aflarea a două elemente care au acelaşi nivel de securitate doar
prin căutarea în porţiunea de securitate a blocării integrităţii. Ca rezultat al criptării, conţinutul
blocării, în special nivelul de securitate, este ascuns (figura 78).

170
Securitatea datelor în sistemele informatice economice

Nr. înregistrare Dată Clasificare Blocare senzitivitate

43 Proiect Strict Secret (SS)

Mecanism criptare

Cheia criptare K

Figura 78. Blocarea senzitivităţii.

Securitatea „front-end“
Securitatea front-end (cunoscută şi sub denumirea de gardă) este asigurată de un
mecanism de tip monitor.
Secvenţa de interacţiuni între utilizator şi mecanismul front-end este următoarea:
! utilizatorul se identifică front-end;
! utilizatorul transmite o cerere mecanismului front-end;
! mecanismul front-end verifică autorizaţia utilizatorului de a acces la date;
! mecanismul front-end trimite o cerere către sistemul de gestiune al bazei de date
(SGBD);
! sistemul de gestiune al bazei de date (SGBD) efectuează o operaţie de acces de tip
I/O;
! sistemul de gestiune al bazei de date (SGBD) trimite rezultatul interogării către
mecanismul front-end;
! mecanismul front-end verifică validitatea datelor extrase cu ajutorul sumelor de
control şi verifică dacă datele pot fi disponibile către utilizator conform nivelului de
acces al utilizatorului;
! mecanismul front-end va formata datele pentru utilizator;
! se transmit datele către utilizator.

Filtru comutativ
Filtrul comutativ interacţionează atât cu utilizatorul, cât şi cu sistemul de gestiune al
bazei de date (SGBD).
Filtrul comutativ va reformula cererile în felul următor:
! sistemul de gestiune al bazei de date (SGBD) va efectua cât mai multe sarcini
posibile rejectând cât mai multe cereri inacceptabile care dezvăluie date senzitive;
! selectarea datelor la care utilizatorul poate să aibă acces.
Filtrul comutativ poate fi folosit atât asupra înregistrărilor, cât şi asupra atributelor sau
elementelor.
La nivelul înregistrărilor, filtrul cere datele dorite plus suma de control criptografică;
dacă acestea verifică acurateţea şi accesibilitatea datelor, atunci acestea pot fi transmise către
utilizator.

171
Securitatea datelor în sistemele informatice economice

La nivel de atribut, filtrul verifică dacă toate atributele din cererea utilizatorului sunt
accesibile acestuia, şi dacă da, transmite cererea către managerul bazei de date. La revenire va
şterge toate cererile la care utilizatorul nu poate să aibă acces.
La nivel de element, sistemul va cere datele solicitate şi suma de control criptografică.
Când sunt returnate, acestea verifică apartenenţa la niveluri de securitate pentru fiecare
element.

Vederile
Vederile reprezintă un subset al bazei de date la care utilizatorul poate avea acces.
Vederile pot reprezenta un subset al bazei de date pentru un singur utilizator, în acest caz
cererile celorlalţi utilizatori vor accesa acelaşi tip de date. Datele care sunt accesibile unui
utilizator se obţin prin filtrarea conţinutului bazei de date originale. Utilizatorul nu este
conştient de existenţa tuplurilor care lipsesc din vederea respectivă. O vedere poate fi definită
din mai multe tabele, pentru care utilizatorul deţine privilegiul corespunzător de utilizare, dar
nu şi de folosire a tabelelor de bază. Utilizarea, în acest caz a vederilor, este mai restrictivă
decât simpla deţinere a privilegiilor acordate utilizatorului asupra tabelelor de bază. SGBD-ul
stochează definiţia vederii în baza de date. Când SGBD-ul întâlneşte o referire la o vedere,
caută această definiţie şi transformă cererea respectivă într-o cerere echivalentă către tabelele
care constituie sursa vederii, după care efectuează cererea.
Folosirea vederilor pentru asigurarea securităţii bazelor de date mai este întâlnită în
literatura de specialitate şi sub denumirea de securitate discreţionară şi este caracteristică
sistemelor bazate pe SQL.
Folosirea vederilor bazelor de date are ca efect crearea unor facilităţi în exploatare, dar
poate aduce şi dezavantaje (tabelul 27).

Tabelul 27. Avantajele şi dezavantajele folosirii vederilor.


Avantaje Dezavantaje
Simplificarea cererilor Performanţe
Interogările multiple aplicate asupra mai Interogările asupra vederilor pot să se
multor baze de date pot fi aplicate doar transforme în interogări asupra tabelelor de
asupra unei singure vederi. bază, lucru care se va reflecta în
performanţe.
Simplicitate structurală Restricţii la actualizări
Vederile pot să creeze utilizatorului o Multe dintre vederi pot fi protejate la scriere
viziune personală asupra bazelor de date (read-only); în acest caz, nu se pot face
pentru a interpreta rezultatele. actualizări.
Securitate
Restricţionarea accesului la date pentru
utilizatori.

Cu ajutorul instrucţiunilor SQL se pot crea vederi orizontale şi verticale. Sintaxa este
următoarea:

CREATE VIEW nume vedere AS query *

(- - ,nume coloană, - -)

172
Securitatea datelor în sistemele informatice economice

Exemplificăm pe tabela următoare (SALA)(tabelul 28).


Tabelul 28. Tabela SALA (salariaţi).
NUME SEX STUD SALB SANC COMP
Popescu M Valentin M S 6000000 1 C
Ionescu A Stelian M P 5500000 0 F
Grigore A Marcela F L 3500000 0 P
Georgescu P Ion M P 3900000 3 F
Simion I Janina F S 5100000 1 C
Tanase A Loredana F S 6000000 0 P
Alexe A Virgil M S 5500000 3 P
Gherase I Mihaela F P 6400000 2 C
Constantin I Iulia F S 6100000 1 P
Ilie G Ioana F L 6400000 2 F
Alexandru A Silviu M S 5400000 1 F

Crearea vederii orizontale se face în felul următor:

CREATE VIEW SORT_O


SELECT *
FROM SALA
WHERE SALB >6000000
Rezultatul va fi următorul:
SORT_O
NUME SEX STUD SALB SANC COMP
Popescu M Valentin M S 6000000 1 C
Tanase A Loredana F S 6000000 0 P
Gherase I Mihaela F P 6400000 2 C
Constantin I Iulia F S 6100000 1 P
Ilie G Ioana F L 6400000 2 F

Crearea vederii verticale se face în felul următor:

CREATE VIEW SORT_V


SELECT NUME, SALB, COMP
FROM SALA
Rezultatul va fi următorul:
SORT_V
NUME SALB COMP
Popescu M Valentin 6000000 C
Ionescu A Stelian 5500000 F
Grigore A Marcela 3500000 P
Georgescu P Ion 3900000 F
Simion I Janina 5100000 C
Tanase A Loredana 6000000 P
Alexe A Virgil 5500000 P
Gherase I Mihaela 6400000 C
Constantin I Iulia 6100000 P
Ilie G Ioana 6400000 F
Alexandru A Silviu 5400000 F

173
Securitatea datelor în sistemele informatice economice

Se pot aplica, de asemenea, şi combinaţii ale acestora; în acest fel se creează vederi
mixte. Vom considera următorul scenariu (figura 79):
MANA
1 N

CNP
NUME

NUME DENP

N M
STUD
STUD SALA PROI OBIE

SALB
SALB CLIE

COMP
PRIM CNP DENP

LEGA
Figura 79. Scenariu de lucru pentru crearea vederilor mixte.

Structura bazelor de date pentru acest scenariu este exemplificată în cele ce urmează.
Pentru personalul angajat vom avea următoarea structură (tabelul 29):

Tabelul 29. Structura personal angajat (SALA).


CNP NUME STUD SALB COMP
1234 Popescu M Valentin S 6000000 C
1235 Ionescu A Stelian P 5500000 F
1236 Grigore A Marcela L 3500000 P
1266 Georgescu P Ion P 3900000 F
1689 Simion I Janina S 5100000 C
1758 Tanase A Loredana S 6000000 P
1859 Alexe A Virgil S 5500000 P
2245 Gherase I Mihaela P 6400000 C
2687 Constantin I Iulia S 6100000 P
2896 Ilie G Ioana L 6400000 F
2897 Alexandru A Silviu S 5400000 F
CNP – Cod numeric personal (identificator unic)

Pentru obiectivele pe care firma le are de executat vom avea următoarea structura
(tabelul 30):
Tabelul 30. Structură proiecte firmă (PROI).
DENP OBIE CLIE MANA
MLPAT Clădire MLPAT MLPAT 1234
CPP Construcţie persoană privată Popescu Ion 1235
CI-H Construcţie industrială (hală) TIAB S.A. 1859
DENP – denumire proiect, OBIE – obiectiv, CLIE – client/beneficiar, MANA –
responsabil proiect.

174
Securitatea datelor în sistemele informatice economice

Tabela de legături are următorul conţinut (tabelul 31):

Tabelul 31. Tabela de legături (LEGA).


CNP DENP
1234 CPP
1234 CI-H
1234 MLPAT
1235 CPP
1235 CI-H
1758 MLPAT
1859 CI-H
2896 CPP
2897 CI-H

Aplicăm vederile.

CREATE VIEW SALA_PROD AS


SELECT CNP, NUME, COMP FROM SALA
WHERE COMP = P
Cu rezultatul (tabelul 32):

Tabelul 32. Vedere SALA_PROD.


CNP NUME STUD SALB COMP
1236 Grigore A Marcela L 3500000 P
1266 Georgescu P Ion P 3900000 F
1758 Tanase A Loredana S 6000000 P
1859 Alexe A Virgil S 5500000 P
2687 Constantin I Iulia S 6100000 P

şi

CREATE VIEW COMP_ANTR AS SELECT DENP, OBIE, COMP FROM PROI,


LEGA, ANGA WHERE SALA.CNP = LEGA.CNP AND LEGA.DENP = PROI.DNP
Cu rezultatul (tabelul 33):

Tabelul 33. Vedere COMP_ANTR.


DENP OBIE COMP
CI-H Construcţie industrială (hală) C
CI-H Construcţie industrială (hală) F
CI-H Construcţie industrială (hală) A
CI-H Construcţie industrială (hală) F
CPP Construcţie persoană privată C
CPP Construcţie persoană privată F
CPP Construcţie persoană privată P
MLPAT Clădire MLPAT C
MLPAT Clădire MLPAT P

Acest mecanism de securitate este aplicat în SQL. La definirea vederilor prin CREATE
VIEW, se poate limita accesul numai la bazele de date al căror proprietar este utilizatorul

175
Securitatea datelor în sistemele informatice economice

respectiv, folosind o condiţie selecţie cu cuvântul cheie USER, prin care se dă identificatorul
utilizatorului. Orice operaţie din baza de date se face numai pe baza unei autorizări pentru
acea operaţie. Iniţial, sistemul acordă toate drepturile de operare pentru administratorul
sistemului (SYSADM) şi nu acordă nici un drept celorlalţi utilizatori. Ulterior, drepturile de
operare pentru utilizatori sunt stabilite de către administratorul sistemului prin intermediul
instrucţiunii GRANT şi revocate prin instrucţiunea REVOKE. Sintaxa acestor comenzi este
exemplificată în figura 80.

GRANT SELECT
INSERT
DELETE
UPDATE
(- - , column name ,- -)
,
ALL PRIVILEGES

ON base relation TO user name


view relation PUBLIC
option
REVOKE SELECT
INSERT
DELETE
UPDATE

(- - , column name ,- -)
,
ALL PRIVILEGES

ON base relation FROM user name


view relation PUBLIC

Figura 80. Sintaxa comenzilor GRANT şi REVOKE.

176
Securitatea datelor în sistemele informatice economice

4.6.2. Arhitecturi pentru asigurarea securităţii bazelor de date


La ora actuală există două abordări majore pentru asigurarea securităţii bazelor de date.
Acestea au în vedere încrederea care poate fi acordată celor două elemente care vor
interacţiona cu bazele de date, şi anume: sistemul de gestiune al bazelor de date (SGBD) şi
sistemul de operare (SO82).
Ţinând cont de acestea, vom avea următoarele două abordări:
! arhitectură cu subiecţi siguri;
! arhitectură cu subiecţi nesiguri.83
Arhitectura cu subiecţi siguri porneşte de la presupunerea că atât SGBD-ul, cât şi SO
care vor interacţiona cu bazele de date sunt sigure (de încredere). Această abordare se
întâlneşte la majoritatea SGBD-urilor (Sybase, Informix, Ingres, Oracle, DEC, Rubix).
Arhitectura cu subiecţi nesiguri porneşte de la presupunerea că SO este sigur, dar
SGBD-ul este nesigur.
Această arhitectură este implementată în trei variante:
! arhitectură cu blocarea integrităţii;
! arhitectură integrată;
! arhitectură replicată/distribuită.
Acest tip de arhitectură se implementează la SGBD-urile TRUEDATA şi Oracle,
precum şi la altele mai puţin cunoscute, aflate în faza de prototipuri, Mitre şi SeaView.
Arhitectura cu subiecţi siguri este prezentată în figura 81.
Superutilizator Utilizator

Mecanism Mecanism
de securitate de securitate

SGBD
(sigur)

Sistem de operare
(sigur)

Baza de date

Figura 81. Arhitectură cu subiecţi siguri.

82
În limba engleză OS – Operating System.
83
Cunoscută în literatura de specialitate ca arhitectura Woods Hole.

177
Securitatea datelor în sistemele informatice economice

Întrucât se pleacă de la presupunerea că atât SDBD-ul, cât şi SO asigură o protecţie


suficientă, mecanismele de securitate de tip „front end“ nu sunt implementate în versiuni
sofisticate. Se observă că atât utilizatorii cu drepturi depline (superutilizatorii), cât şi
utilizatorii cu restricţii au acces la date beneficiind de securitatea asigurată de SGBD şi SO.
Arhitecturile cu subiecţi nesiguri merg pe presupunerea că SO asigură o protecţie de
nivel înalt, iar SGBD-ul o protecţie medie. În acest caz, mecanismele de securitate de tip
„front end“ trebuie să asigure o securitate ridicată.
Arhitectura cu blocarea integrităţii este prezentată în figura 82.
Se observă că mecanismul de securitate „front end“ dispune de o puternică unitate de
criptare, care asigură accesul la date atât pentru utilizatorul cu drepturi depline, cât şi pentru
utilizatorul care are restricţii la accesare. Fiecare, însă, la datele pentru care are drepturi de
accesare.
Superutilizator Utilizator

Mecanism de securitate
„Front end“- superior
Unitate de criptare
Semnătură Verificare
semnătură
Query Răspuns
SGBD
(nesigur)

Sistem de operare
(sigur)

Baza de date

Figura 82. Arhitectură cu blocarea integrităţii.

În cazul arhitecturii integrate (figura 83), accesul se face prin două tipuri distincte de
SGBD-uri. Sistemul de operare, care este considerat sigur, va avea un rol important în
asigurarea accesului la datele care sunt dispuse pe disc. Din punct de vedere al accesului la
date se observă o asemănare cu arhitectura replicată/distribuită (figura 84).

178
Securitatea datelor în sistemele informatice economice

Superutilizator Utilizator

Mecanism Mecanism
de securitate de securitate

SGBD SGBD
(sigur)

Sistem de operare
(sigur)

Baza de date

Superutilizator Utilizator

Figura 83. Arhitectură integrată.

Arhitectura replicată/distribuită (figura 84) foloseşte un mecanism de replicare sigur


care va canaliza cererile. Utilizatorul cu drepturi depline (superutilizatorul) va avea acces,
prin intermediul acestui mecanism, şi la datele utilizatorului cu restricţii (dacă este specificat
aceasta în drepturile de acces).

179
Securitatea datelor în sistemele informatice economice

Superutilizator Utilizator

Mecanism Mecanism
de securitate de securitate

SGBD SGBD
(sigur)

Replicator
(sigur)

Baza de date
Baza de date
Superutilizator
+ utilizator Utilizator

Figura 84. Arhitectură replicată/distribuită.

180