Sunteți pe pagina 1din 106

Capitolul 1.

Scopurile securitii
calculatoarelor i reelelor

Securitatea reelelor
ETc, UPT, 2011

S asigure cofidenialitatea.
S asigure integritatea informaiei.
S nu se efectueze dect aciuni autorizate,
S se separe i s se protejeze resursele,
S se detecteze i s se corecteze erorile.
S se asigure disponibilitatea datelor i servicilor.
S se asigure autenticitatea.
- S se asigure nerepudierea.

Dicionar de securitate
Sistem de calcul, hard, soft, date;
Expunere - o form de pierdere de informaie;
Vulnerabilitatea - slbiciune care poate fi
exploatat;
Atac - ncercarea de a exploata vulnerabilitatea;
Control - msur de reducere a vulnerabilitii;
Costul controlului se msoar n:

Bani, Timp:

Cheltuit; Operaional;

de calculator, ntrziere n reea.

Disponibilitatea se msoar n:
cicluri de unitate central de microprocesor; spaiu
fizic;
de memorie; de disc.
Principiul eficienei:
Un control este eficient numai dac este utilizat
corespunztor. "Folosete-l sau pierde-l".

Analiza de risc i planificarea securitii;


Asumarea riscului; Estimarea valorii;
Care este importana funcional a misiunii ?
Este capabil organizaia s funcioneze fr acea
resurs ?
Estimarea "inamicului";
Care este cauza pierderii resursei de informaie ?
Estimarea slbiciunilor sistemului de calcul: Care
sunt subsistemele cele mai vulnerabile ?

Tipuri de ameninri: ntrerupere, Interceptare,


Modificare.
Atributele unui sistem de securitate
Confidenialitate
Criptare (Cifrare), Controlul accesului la citire.
Integritate
Controlul accesului la scriere, Controlul consistenei.
Disponibilitate
Controlul accesului, Redundan, Toleran la
defeciuni, Monitorizare, Folosirea mecanismelor de
prioritate, Autentificare
Folosirea de Secrete (de exemplu parole),
Folosirea semnturilor digitale.

Principiul celei mai uoare penetrri;


Atacatorul va exploata orice vulnerabilitate
disponibil, el va ataca "cea mai slab za a
lanului";
Recomandarea controlului;
Realizarea controlului adecvat pentru a
reduce vulnerabilitile periculoase; resursele
critice; ameninrile semnificative.

Nerepudiere
Utilizarea semnturilor digitale, Contactul cu tere
persoane de ncredere,
Folosirea mecanismelor de control, Controlul
accesului.
Tehnici de asigurare a securitatii
Criptografie; Criptare(Cifrare),
Semnturi digitale,
Protocoale criptografice,
Monitorizare,
Detectoare de anomalii,
Control soft,
Controlul programelor interne (de obicei identificare i
autentificare).

Controlul sistemelor de operare (Identificare i


autentificare, Izolarea proceselor, Protecia fiierelor),
Controlul dezvoltrii,
Standarde de calitate (ISO 9000), Revizii,
Testare,
Separarea sarcinilor.

Politici,
Stabilirea politicii,
Antrenament,
Monitorizare,
Protecie fizic: Ui, Lacte, Scuturi, Surse
neinteruptibile, Controlul climatic,
Protecie hard: instruciuni protejate,
protecie la scriere,
Protecie soft (bazat pe sistemul de
operare),
Identificare i autentificare,
Grupuri de lucru n reea;
Protecia la nivelul aplicaiei: parole, criptare.

Capitolul 2
Protecia calculatoarelor neconectate n
reea
Eficiena controalelor
Politic;
Disponibilitate;
Securitatea resurselor;
Costuri operaionale;
Suprapunerea controalelor;
Revizii periodice.

Modelul de securitate pentru un calculator seamn cu o


ceap, bazndu-se pe mai multe nivele de securitate:
Nivelul fizic
Nivelul logic:
Controlul accesului la resursele i serviciile
sistemului de calcul;
Securitatea serviciilor
cozi de ateptare,
Intrri-Ieiri la hard-disk,
gestiunea server-ului.

Autentificarea utilizatorului

Autentificarea utilizatorului poate fi realizat pe baza a ceva


ce utilizatorul posed, a ceva ce utilizatorul tie sau a
ceva ce utilizatorul este. De exemplu utilizatorul tie
parola sa.

Sisteme cu parole
Programe care ruleaz cnd se face ncrcarea sistemului
de operare, cer o parol i nu permit continuarea
ncrcrii sistemului de operare pn cnd nu se
introduce parola corect. O metod obinuit de a
activa programul corespunztor este folosirea unei linii
de tipul: DEVICE=PASSWORD.SYS
n fiierul CONFIG.SYS. Prin utilizarea unei parole se
face identificarea i autentificarea unui anumit utilizator,
program sau operator.

Dezavantaje
Eficiena unui sistem cu parole depinde de capacitatea de a
menine parola secret.
Ghicitul sau dedusul parolei;
shoulder surfing
Divulgatul parolei;
social engineering
Folosirea forei brute;
dicionare de parole online,
epuizarea tuturor combinaiilor posibile.
Monitorizarea electronic;
cnd parolele sunt transmise de utilizatori;
Accesarea fiierului de parole;
Evitarea sistemului cu parole;
Incrcarea sistemului de operare de pe dischete sistem.

Reguli pentru creterea securitii asigurate de


sistemele cu parole
- Generatoare automate de parole.
- Sistemul de operare poate fi configurat s accepte
doar un numr limitat de ncercri de introducere a
parolei.
- Parola trebuie s fie de lungime maxim, s conin
toate categoriile de caractere disponibile i s nu
aparin unui dicionar de parole online existent.
- Este bine ca parola s fie schimbat periodic.
-Se recomand controlul accesului i criptarea fiierului
de parole de pe server.
http://www.microsoft.com/protect/yourself/password/create.mspx

Protecia prin criptare


Presupune autentificarea bazat pe criptarea fiierelor
de date.
Operaie antagonic cu prevenirea pierderii datelor fiind
necesar criptarea tuturor copiilor fiierului considerat.

Autentificarea bazat pe chei cifrate


Pentru nceput se prezint metode de autentificare
bazate pe o combinaie ntre ceva ce utilizatorul
posed i ceva ce utilizatorul tie. Obiectele pe care
utilizatorul le posed i care sunt folosite pentru
autentificarea sa se numesc tokens. Exist dou
categorii de astfel de obiecte: memory tokens i
smart tokens.

Memory tokens
Sunt obiecte care stocheaz
informaia fr ns a o
prelucra.
Cel mai cunoscut tip de
memory token este cartela
magnetic.
Cartela magnetic de tip
ATM :
Combinaie ntre ceva ce
utilizatorul posed (cartela
propriuzis) i ceva ce
utilizatorul tie (codul PIN).

Autentificarea bazat pe ceva ce utilizatorul este

Smart tokens
Diversific funcionarea unui memory token
adugnd cteva circuite integrate care realizeaz
funciile unui calculator. Aceste dispozitive pot fi
clasificate dup trei criterii: carateristici fizice, tipul
de interfa folosit i protocolul folosit.

Tehnologiile de autentificare biometric folosesc :


amprentele, geometria minii, caracteristici ale retinei,
caracteristici ale vocii sau caracteristici ale semnturii. Ele
se folosesc pentru aplicaiile de login.
- Utilizatorul este "achiziionat", nregistrndu-i-se
caracteristicile i asocind acestora identitatea sa;
La cererea de autentificare caractersiticile utilizatorului
sunt msurate;
Se compar rezultatele obinute prin msurare cu cele
nregistrate anterior i se realizeaz sau nu autentificarea
utilizatorului.

Amprente

Tehnologii hard de scanare a amprentelor


Un dispozitiv hard de scanare a amprentei msoar anumite
caracteristici fizice ale acesteia i le transform ntr-o imagine.
Mai multe tehnologii se pot aplica n acest scop:
capacitiv (UPEK),
de radiofrecven (Authentec),
termic (Atmel),
piezorezistiv (Fidelica),
ultrasonic (Ultrascan),
piezoelectric (Franhaufer),
MEMS.

Tipuri de dispozitive hard de scanare a


amprentelor

Dispozitive de scanare capacitiv cu


deplasare

Sunt formate dintr-o singur linie (sau din doar cteva linii) de
senzori.

Cu deplasare

Sunt ieftine, au dimensiuni mici i consum puin energie electric.


Se folosesc la telefoane celulare, la PDA-uri i la laptop-uri.

Utilizatorul i deplaseaz degetul de-a lungul dispozitivului


de scanare (care este format dintr-o linie de senzori).

Utilizatorul i deplaseaz degetul transversal peste linia de senzori,


imaginea amprentei construindu-se pe baza mai multor nregistrri
fcute de linia de senzori.

Cu arii de senzori
Conin o arie de senzori care acoper amprenta
utilizatorului. Sunt mai scumpe dect dispozitivele de
scanare cu deplasare

Viteza i direcia deplasrii degetului sunt limitate.


Procesul software de sintez a imaginii poate produce distorsiuni,
neacceptabile n cazul utilizrii n criminalistic.

Dispozitive de scanare cu arii de senzori

Captureaz una sau mai multe amprente printr-o


singur expunere.
Dimensiunea imaginii trebuie s fie suficient de
mare.

Circuit integrat de scanare hard a amprentei cu


deplasare de tipul Fujitsu Microelectronics MBF 320.

Dimensiunea amprentei
Studiul NISTR 7201, al NIST intitulat Effect of Image
Size and Compression on One-to-One Fingerprint
Matching ajunge la urmtoarele concluzii:
Prin decuparea imaginii performanele dispozitivului
de recunoatere a amprentei se degradeaz rapid.
Imagini cu dimensiuni mai mici de 320X 320 pixeli nu
trebuie s fie folosite.
Inc nu s-a realizat nici un circuit integrat pentru
scanarea amprentei unui singur deget care s satisfac
aceste condiii.

Dispozitive de scanare a amprentelor


capacitive cu deplasare
Brevet SUA nr. 5973623
Fiecare senzor, pixel, conine un integrator a crui capacitate este
determinat de prezena degetului n apropierea suprafeei circuitului.
Senzorii funcioneaz n 2 faze:
Prima este de reset-are scurtcircuitarea condensatorului
integratorului,
Faza 2 integratorul primete cantitatea de sarcina Q, care produce
tensiunea de ieire E= Q/C, unde C reprezint capacitatea dintre
plcile de metal, determinat de proximitatea pielii (muchii i vi).

Circuit integrat de scanare a amprentelor


capacitiv cu deplasare de tip Fujitsu
Microelectronics MBF320
O arie de 256 x 8 electrozi metalici de pe suprafaa
circuitului captureaz imaginea unei amprente folosind
detecia de capacitate. Suprafaa degetului joac rolul
unei armturi a condensatorului iar fiecare electrod al
ariei acioneaz ca i cealalt armtur. Suprafaa
circuitului e protejat de un nveli foarte dur, rezistent
chimic, care are rolul de dielectric. Un ghidaj axeaz

Cnd un utilzator i deplaseaz degetul de-a lungul


suprafeei circuitului, muchiile i vile degetului produc
variaii de capacitate. Circuitul msoar modificrile de
tensiune corespunztoare prin intermediul unui CAN pe 8
bii. Rezultatul este o imagine de rezoluie mare. Pachetul
de programe oferit de Fujitsu captureaz cadrele de
imagine de 256 x 8 pixeli produse la o scanare complet i
construiete o imagine complet a amprentei.

degetul pe centrul ariei de senzori.

Dispozitive de scanare a amprentelor


funcionnd n radio-frecven
Amplificatoarele din structura circuitului rspund la semnalele
de radio-frecven cuplate prin condensatoarele formate ntre
deget i electrozii circuitului.

Dispozitive de scanare a amprentelor


funcionnd termic (Atmel)
Msoar diferena de temperatur dintre muchii i
vi.
Aceasta este tranzitorie (dureaza aproximativ 100
ms).
Constau dintr-o plcu de siliciu presrat cu pixeli
de material piroelectric, sensibili la diferenele de
temperatur.
Aceste diferene de temperatur sunt transformate n
sarcini electrice, care sunt amplificate i msurate.
Se obin doar 16 nivele de gri.

Dispozitive de scanare piezoelectric a


amprentelor (Fraunhofer)
Brevete USA:
Nr. 6720712 Scott .a. 13 Aprilie 2004,
Nr. 6812621 Scott, 2 Noiembrie 2004,
Nr. 6844660 Scott, 18 Ianuarie 2005.

Dispozitive de scanare Micro-ElectroMecanica a amprentelor


Sunt dispozitive mecanice integrate n circuite
semiconductoare.
Au pre potenial sczut.

10

11

Cele mai multe amprente din baza de date a FBI (peste 30 de


milioane) sunt imprimate pe hrtie cu cerneal. Copii ale acestora
sunt distribuite prin fax utilizatorilor legali, dar calitatea digitizrii
este adesea insuficient.
Utilizatorii legali experimenteaz stocarea digital a acestor
nregistrri. Incompatibilitatea formatelor.
Standard nou de digitizare i compresie a amprentelor. FBI+NIST,
1993.
Rezoluie de 500 de pixeli pe inch, 256 de nivele de gri/pixel.
O singur amprent 700000 de pixeli 0,6 Mbytes pentru stocare.
O pereche de mini 6 Mbytes.
30 de milioane de amprente 200 Tbytes peste 200 de milioane
de dolari.
Necesitatea compresiei de date.

Caracteristici ale retinei

O amprent digitizat folosind acest standard. Imaginea din stnga


este cea original, iar cea din dreapta este o imagine reconstruit n
urma compresiei realizate de standard care asigur un factor de
compresie de 26:1. Metoda de compresie se bazeaz pe folosirea
funciilor wavelet. Amara Graps, An Introduction to Wavelets.

How Iris Recognition Works


John Daugman, PhD, OBE, University of Cambridge, The Computer Laboratory,
Cambridge CB2 3QG, U.K. www.CL.cam.ac.uk/users/jgd1000/

12

Recunoaterea automat sigur a persoanelor este de mult timp o


provocare. Ca n toate problemele de recunoatere a formelor
principala dificultate rezid n relaia dintre variabilitile interclase i intra-clas: obiectele pot fi clasificate corect numai dac
variabilitatea elementelor fiecrei clase este inferioar variabilitii
dintre diferite clase.
De exemplu n recunoaterea feei, dificultile apar din faptul c
faa este un organ social care se modific, oglindind o varietate de
expresii, la fel ca i din caracterul su de obiect 3D activ, a crui
imagine variaz n funcie de unghiul sub care este privit, de
iluminare sau de vrst. S-a demonstrat c pentru imagini ale feei
luate la interval de 1 an, chiar i cei mai buni algoritmi de
recunoatere au rate de eroare cuprinse ntre 43% i 50%. mpotriva
unei astfel de variabiliti intra-clas variabilitatea inter-clase este
limitat deoarece fee diferite posed acelai set de parametri de
baz n aceeai geometrie canonic.

Captura imaginii irisului


http://www.smartsensors.co.uk/

Irisul devine interesant pentru recunoaterea vizual sigur a


persoanelor cnd imaginea poate fi achiziionat de la distan mai
mic de 1 m i n special atunci cand exist o nevoie de cutare n
baze de date foarte mari, care s nu produc erori de identificare n
ciuda numrului imens de posibiliti.
Dei mic (11 mm), irisul are marele avantaj matematic c
variabilitatea formei sale de la persoan la persoan este enorm.
Ca i organ intern (dei vizibil din exterior) al ochiului, irisul este bine
protejat fa de mediul nconjurtor i stabil n timp.
Ca i obiect planar imaginea sa este relativ insensibil la unghiul
iluminrii i modificri n unghiul de vedere cauzeaz doar transformri
afine ale imaginii, chiar i distorsiunea de form ne-afin cauzat de
dilatarea pupilei este reversibil.
Uurina localizrii ochilor n cadrul feei i forma inelar distinctiv a
irisului faciliteaz izolarea precis i repetabil a acestuia i crearea
unor reprezentri invariante la dimensiune.

Implementarea n Matlab a
algoritmului de prelucrare a
imaginilor
Adrian Lodin, Laura Kovacs, Sorina Demea - Preprocessing

Iris Images Using Matlab

Instalaia de captur

camera de tipul Machine Vision


sistem de lentile Pentax
iluminare cu LED-uri n infrarou
program de achiziie National
Instrument Vision Assistant

13

Detecia pupilei

Metoda propus

Rezultat

14

15

Autentificarea pe baza semnturii


Achiziia:
- off line,

- on line, semnturi dinamice sunt


scrise cu un instrument electronic
fiind disponibil i informaia
dinamic (localizarea peniei n
timp) chiar dac stiloul nu este n
contact cu hrtia.

16

Tablete de digitizare a semnturii

P-pressure

Funcionare

Tableta transmite unde radio ctre stilou. Pe baza rspunsurilor


recepionate se identific poziia stiloului.
Sub ecran este poziionat o gril de senzori care pot funciona ca
emitoare sau ca receptoare. Comutarea dintr-un mod de
funcionare n cellalt se face la intervale de 20 s.
Semnalul electromagnetic emis de senzori produce oscilaii n circuitul
LC din stilou.
Apoi energia oscilaiilor din circuitul LC din stilou este detectat de aria
de antene. Apoi se analizeaz rezultatul deteciei pentru a se determina
poziia i alte informaii (inclusiv presiunea).

Recunoaterea semnturii
Modele de
semnturi de
referin
Date
brute

Extragere
parametri

Asemnare
Distan

Rezultat
recunoatere

Deoarece grila furnizeaz puterea pentru stilou prin intermediul


cuplajului cu circuit rezonant (LC), nu sunt necesare baterii pentru
alimentarea stiloului.

17

Semnturi dinamice

Extragere parametri
Vector de parametri

Semntur

Falsificare
Fr efort: semntur generat aleator, sau copiat
mbuntit: falsificatorul are o copie a semnturii i
mult timp la dispoziie ca s se antreneze. Imitaia se
bazeaz doar pe o semntur static.
Peste umr: falsificatorul este prezent la scirerea
semnturii originale, nvnd att aspectul static al
imaginii ct i proprietile sale dinamice.
Cu talent: o combinaie a ultimelor dou tipuri de
falsificare.
Profesional: produs de indivizi talentai n analiza
scrisului de mn.

Exemple

originale

falsificri peste umr falsificri mbuntite

18

Semntura original

Semntur original

Falsificat cu talent

Semntura falsificat

O comparaie

Original

Falsificare

19

Metode de prelucrare

Parametri locali

Netezire. Semnalul achiziionat de la un stilou


poate conine variaii foarte rapide.

Segmentare
Determinarea nceputului i sfritului
semnturii. nceputul semnturii corespunde la
primul eantion de presiune nenul.

Sfritul semnturii corespunde la ultima


ridicare de stilou.

Unghiul traiectoriei

Viteza

Parametri globali

Lungime, nlime,...
Durata semnturii,
Viteza medie,
Viteza maxim,
Viteza minim,...

Simina Moldovan (Emerich), Aplicaii ale


analizei wavelet B-spline n biometrie, tez
de doctorat, Universitatea tehnic din ClujNapoca, ianuarie 2011

20

2.2. Viruii calculatoarelor


Termenul de virus de calculator a fost
introdus, n anul 1972, de catre Fred Cohen,
pe baza analogiei cu termenul de virus
biologic.
Virus este termenul latin pentru otrav.

Un virus de calculator este un program (cu lungimea


cuprinsa ntre 200 i 4000 de octei).
i copiaz propriul cod n unul sau mai multe programe
"gazd" mai mari, atunci cnd este activat.
La execuia acestor programe se continu rspndirea sa.
Fac parte din categoria malicious programs.

Malicious programs

Trojan horses (sub pretextul realizrii unei alte funcii reuesc s


ajung n memoria calculatorului, de exemplu un astfel de program
poate realiza "infiltrarea" unui virus n memoria unui calculator),
Viermi" - au capacitatea de a trece de pe un sistem de calcul pe un
altul i se execut independent de excuia altor programe ("gazd").
Bacterii- se reproduc pn absorb ntreaga capacitate de memorie
a sistemului pe care au fost instalate.
Bombe - se decleaneaz doar atunci cnd se ndeplinesc
anumite condiii (de exemplu se ajunge ntr-o zi de vineri la data de
13).

Viruii calculatoarelor
http://www.f-secure.com/v-descs/

2.2.1.Clasificri
Un virus de calculator are 2 funcii:
- de reproducere,
- de distrugere.
Criterii de clasificare
Tipul fiierelor afectate
- fiiere ordinare,
- .com sau .exe,
- ambele categorii de fiiere
Tequila.
- fiiere sistem
boot
Tipul aciunii efectuate
- cu aciune direct (Viena);
- rezideni (Jerusalim).

Alte categorii de virui


Modul de ataare la programele pe care le infecteaz:
- shell, formeaz un nveli n jurul programului "gazd". Virusul
devine program principal. Prima dat se execut virusul.
Majoritatea viruilor de boot.
- add-on, se adaug la extremitile programului "gazd".
Programul gazd este lsat aproape neatins.
- intrusiv, distrug o parte a programului "gazd" i nscriu n acea
zon codul propriu.

Virui de tip STEALTH


Modific fiierele n funcie de rezultatul monitorizrii funciilor
sistemului folosite de programe pentru a citi fiiere sau blocuri fizice
de pe mediile de nregistrare.
Falsific rezultatele acestor funcii astfel nct programele care
ncearc s citeasc aceste zone s vad formele iniiale neafectate
de virus n locul formelor reale, actuale, infectate.
n acest fel modificrile efectuate de virus rmn neafectate de
programele anti-virus.

Virui polimorfi
Produc copii neidentice (dar operante) ale variantei iniiale prin:
- autocriptarea cu cheie variabil,
virusul Whale.
- modificarea secvenei de instrucii, pentru fiecare
copie, prin includerea unor instrucii care funcioneaz
ca i zgomot (de exemplu instrucia No operation sau
instrucii de ncrcare a unor regitrii nefolosii cu valori
arbitrare).
virusul V2P6.

Virui rapizi
Un virus rapid nu infecteaz, atunci cnd este activ n memorie,
doar programele care se excut ci i pe cele care sunt doar
deschise.
n acest mod se infecteaz mai multe programe deodat.
Exemple de astfel de virui sunt Dark Avenger i Frodo.
Virui leni
Sunt virui care n faza n care sunt activi n memorie infecteaz
fiierele doar n momentul n care li se aduc modificri sau
atunci cnd sunt create. Un exemplu de astfel de virus este cel
numit Darth Vader.

2.2.2. Moduri de funcionare a viruilor


Virui mprtiai
Infecteaza doar ocazional, de exemplu tot al 10-lea program executat
sau doar fiierele care au o lungime bine precizat. n acest mod se
ncearc ngreunarea detectrii lor.
Virui nsoitori
n loc s modifice un fisier existent creaz un nou program a crui
execuie este declanat de ctre interpretorul liniei de comand i nu
de programul apelat.
La sfrit se ruleaz i programul apelat n aa fel nct funcionarea
calculatorului s par normal utilizatorului.

Alterarea ntreruperilor standard utilizate de sistemul de operare i


de BIOS (Basic Input/Output System).
Virusul este apelat de alte aplicaii cnd acestea sunt activate.

Intreruperi
PC-urile uilizeaz intreruperi (hard i soft) pentru a coopera cu
evenimente asincrone.
Toate serviciile DOS-ului i BIOS-ului sunt apelate de utilizator prin
parametrii stocai n regitrii, cauznd ntreruperi soft.
Cnd se solicit o ntrerupere, sistemul de operare apeleaz rutina a
crei adres o gsete n tabelul de ntreruperi.
Acest tabel conine pointeri spre regiuni din ROM sau spre regiuni
rezidente n memorie din DOS.

2.2.2.1. Activarea viruilor n


cazul calculatoarelor IBM-PC

Virusul modific tabelul de ntreruperi astfel nct execuia unei


ntreruperi s genereze rularea sa.
El intercepteaz ntreruperea specific DOS-ului i produce rularea sa
nainte de rularea serviciului DOS cerut.
Dup ce a infectat un anumit program ncearc s se mprtie i n
alte programe sau eventual n alte sisteme.
Majoritatea viruilor ateapt ndeplinirea unor condiii favorabile i
apoi i continu activitatea.

Infectarea secventei de bootare a


sistemului de operare
Componentele secvenei de bootare

1. Infectarea secvenei de ncrcare (boot) a sistemului de


operare
Aceast secven are 6 componente:
a) Rutinele ROM BIOS;
b) Executarea codului din tabela partiiilor;
c) Executarea codului din sectorul de boot;
d) Executarea codului IO.SYS i MSDOS.SYS;
e) Executarea comenzilor Shell din COMMAND.COM;
f) Executarea fiierului batch AUTOEXEC.BAT

a) La boot-are calculatorul execut un set de instrucii din


ROM. Acestea iniializeaz hard-ul calculatorului i
furnizeaz un set de rutine de intrare-ieire de baz, BIOSul. Rutinele din ROM nu pot fi infectate (deoarece n
aceast memorie nu se poate scrie).
b) Orice hard-disk poate fi mprit n mai multe regiuni,
numite partiii, C,D,E,. Dimensiunea fiecrei partiii,
obinute astfel, este memorat n tabela partiiilor. n
aceast tabel exist i un program, de 446 de octei, care
specific pe care partiie se afl blocul de boot.
Acest program poate fi infectat de un virus (de exemplu
New Zealand), care mut tabela partiiilor la o nou locaie
de pe hard-disk i controleaz ntreg sectorul din care face
parte acea locaie.

c) Programul din tabela partiiilor localizeaz blocul de boot.


- conine blocul parametrilor BIOS-ului (BPB),
- conine un program, (de mai puin de 460 de
octei), de localizare a fiierului IO.SYS,
- conine stadiul urmtor din secvena de boot-are.
poate fi atacat, virusul Alameda.
Viruii de boot ajung s controleze ntregul sistem de calcul
nainte ca orice program de protecie (anti-virus) s poat fi
activat.
d) Blocul de boot declaneaz ncrcarea fiierului IO.SYS,
care produce iniializarea sistemului, dup care se ncarc
DOS-ul, coninut n fiierul MSDOS.SYS.
i aceste dou fiiere pot fi infectate de virui.

Infectarea unui program


utilizator
Acestea sunt programe de tipul .COM sau .EXE.
Programele de tipul .COM conin la nceput o instruciune de tipul
jump la o anumit adres.
Viruii pot nlocui aceast adres cu adresa lor.
Dup execuia virusului se efectueaz jump - ul la adresa specificat
la nceputul programului .COM infectat i se ruleaz i acest
program.

e) Programul MSDOS.SYS declaneaz execuia


interpretorului de comenzi COMMAND.COM.
El furnizeaz interfaa cu utilizatorul, fcnd posibil
execuia comenzilor primite de la tastatur.
Poate fi infectat, virusul Lehigh.
f) Programul COMMAND.COM execut o list de
comenzi memorate n fiierul AUTOEXEC.BAT
Acesta este un simplu fiier text ce conine comenzi ce
vor fi executate de interpretor. La execuia acestui fiier
un virus poate fi inclus n structura sa.

Modaliti de reziden n
memoria sistemului
O varietate de tehnici de rmnere n memorie, dup prima
execuie.
Viruii de boot : Israeli, Cascade sau Traceback, sunt apelai
involuntar de ctre orice aplicaie care solicit servicii de la
sistemul de operare. Deturnnd ntreruperea de tastatur, un
virus poate intercepta comanda de reboot-are soft CTRL-ALTDELETE, poate modifica semnificaia tastelor apsate sau poate
face s fie invocat la fiecare apsare de tast.
La fel pot fi deturnate i ntreruperile de BIOS sau de DOS.

Programe anti-virus
2.2.3. Modaliti de detectare a
viruilor
Manifestri care indic prezena:
modificri dimensiuni coninut,
modificarea vectorilor de ntrerupere,
realocarea altor resurse.
Memoria sistemului - utilitarul CHKDSK. Se verific
dac valorile afiate s-au modificat de la boot-are la
boot-are.
Este indicat capacitatea memoriei disponibile pe
calculatorul respectiv.

Modaliti de detectare a
viruilor
Fred Cohen a demonstrat urmtoarea propoziie:
Orice detector de virui se poate nela, furniznd alarme false
(atunci cnd clasific un fiier sntos ca fiind infectat) sau
nedectnd unii virui sau fcnd ambele tipuri de erori.
nainte de a lua o decizie s se utilizeze dou sau mai multe
programe anti-virus.
Modificrile fcute asupra fiierelor de ctre primul pot fi interpretate
de ctre al doilea ca posibili virui.

Nu recunosc dect viruii deja cunoscui. Trebuie schimbate


frecvent, cutndu-se n permanen variantele cele mai noi.
Productori diferii de programe anti-virus folosesc denumiri diferite
pentru acelai virus.

2.2.4. Programe anti-virus

Nu exist o cea mai bun strategie mpotriva viruilor.


Nici un program anti-virus nu poate asigura o protecie total.
Se pot stabili strategii anti-virus pe mai multe nivele de aprare.
Exist trei tipuri principale de programe anti-virus, precum i alte
mijloace de protecie (ca de exemplu metodele hard de protecie la
scriere).

nsui programul anti-virus poate s fie infectat.

Tipuri principale
1. Programele de monitorizare. ncearc s previn.
SECURE sau FluShot+.
2. Programele de scanare.
- iruri de date specifice pentru fiecare dintre virui.
- folosesc tehnici euristice pentru a recunoate
viruii.
- verific suporturi specificate (hard-disk, dischet,
CD-ROM)
- pot fi rezidente, examinnd fiecare program care
urmeaz s fie executat.

Programe de scanare
FindViru, din cadrul programului Dr Solomon's Anti-Virus Toolkit,
FPROT al firmei FRISK
VIRUSCAN - McAfee.
Programe de scanare rezidente:
V-Shield sau VIRUSTOP realizate la firma McAfee.
Scanare euristic - F-PROT.

- conin subrutine de ndeprtare dup detecie.

3) Programe de verificare a
integritii sau de detectare a
modificrilor
Calculeaz o sum de control sau o valoare de funcie hash pentru
fiecare fiier.
Compar valorile nou calculate cu valorile iniiale.
Detecie "generic".
Modificrile pot aprea i din alte motive.
Sarcina utilizatorului s decid.
Programele anti-virus ajut la decizie.
Verific ntregul hard-disk.
Pot fi rezidente.

3a) Antivirusul GENERIC


DISINFECTION

Salveaz suficient informaie pentru fiecare fiier, astfel nct


acesta s poat fi reconstruit n forma sa original n cazul n care a
fost detectat activitate viral.

Face parte din nucleul de securitate V-Analyst 3, realizat de firma


izraelian BRM Technologies.

2.2.5. Elaborarea unei politici de


securitate anti-virus

Metodele de aprare s fie utilizate pe rnd.


Sistem de protecie al tabelei de partiie a hard-disk-ului - infectarea
la boot-are. De tip hard sau de tip soft localizat n BIOS. Sisteme soft:
DiskSecure sau PanSoft Imunise.
Detectoare de virui rezidente, ncrcate ca i pri ale programelor
de pornire ale calculatorului, CONFIG.SYS sau AUTOEXEC.BAT,
FluShot+ i/sau VirStop mpreun cu ScanBoot.
Program de scanare: F-Prot sau McAfee's SCAN - AUTOEXEC.BAT
verific prezena viruilor la pornire.

Capitolul 3. Protecia reelelor de


calculatoare
Pentru a proteja reeaua trebuie s protejm fiecare calculator.
Msuri suplimentare datorate comunicrii dintre calculatoare.
Identificare i autentificare mai complex.
Atacuri specifice pentru reele:
Se autoreproduc i se autotransfer.
Infecteaz doar dispozitivele de control al traficului prin reea.

Scanarea noilor fiiere la sosire. Folosirea comenzii PASSWORD din


DRDOS pentru protejare la scriere.
Alte metode de protecie anti-virus :
(a) Crearea unei liste de partiii a hard-disk-ului special - inaccesibil
cnd se boot-eaz de pe dischet. GUARD.
(b) Utilizarea inteligenei artificiale
- nvare virui noi,
- extragere noi caracteristici utile,
- scanare, V-Care (CSA Interprint Israel; distribuit n
S.U.A. de ctre Sela Consultants Corp.).
(c) Cifrarea fiierelor (cu descifrare nainte de execuie).

3.1. Categorii de atacuri asupra


reelelor
3.1.1. Atacuri pasive
Intrusul observ traficul de informaie prin reea, fr a nelege
sau modifica aceast informaie.
- Analiza traficului,
- Identificarea prilor,
- nvarea lungimii i frecvenei mesajelor vehiculate.

Caracteristicile atacurilor pasive sunt:


Nu cauzeaz pagube,
supravegherea legturilor telefonice sau radio,
exploatarea radiailor electromagnetice emise,
dirijarea datelor prin noduri adiionale mai puin protejate.

3.1.2. Atacuri active


Intrusul fur mesaje, le modific sau emite mesaje false. El poate
terge sau ntrzia mesaje, poate schimba ordinea mesajelor.

Viermi
Denumirea de vierme a fost preluat din nuvela SF The Shockwave
Rider, publicat n 1975 de John Brunner. Cercettorii John F
Shoch i John A Huppode la Xerox PARC au propus aceast
denumire ntr-un articol publicat in 1982:
The Worm Programs, Comm ACM, 25(3):172-180, 1982,
i a fost unanim adoptat.
Ei au implementat primul vierme in 1978, n scopul detectrii
procesoarelor mai puin ncrcate dintr-o reea i alocrii de sarcini
suplimentare pentru o mai bun mprire a muncii n reea i pentru
mbuntirea eficienei acesteia. Principala limitare a programului
lor a fost rspndirea prea lent.
Primul vierme care s-a propagat la nivel mondial (de fapt un cal
troian) a fost Christmas Tree Worm, care a afectat att reeaua IBM
ct i reeaua BITNET n decembrie 1987.

Mascarada: o entitate pretinde c este o alta. nlocuirea sau


modificarea mesajelor;
Reluarea: Un mesaj sau o parte a sa sunt repetate. Ex.
informaia de autentificare.
Modificarea mesajelor: nlocuire, inserare sau tergere.
Refuzul serviciului: O entitate nu-i ndeplinete propria
funcie sau mpiedic o alta s-i efectueze propria funcie.
Repudierea serviciului: O entitate refuz s recunoasc
serviciul pe care l-a executat.
Viruii, Caii Troieni, "Bombele informatice, "Bacteriile"
informatice i mai ales "Viermii" informatici.

Un alt vierme care a afectat funcionarea internet-ului a fost Morris


worm. Peter Denning l-a numit 'The Internet Worm' ntr-un articol
aprut n American Scientist (martie-aprilie, 1988), n care el fcea
distincia ntre un virus i un vierme. Definiia lui era mai restrictiv
dect cele date de ali cercettori contemporani: (McAfee and
Haynes, Computer Viruses, Worms, Data Diddlers, ..., St Martin's
Press, 1989). Acest vierme a fost creat de ctre Robert Tappan
Morris, care n acea perioad era student la Cornell University, i a
fost activat n 2 noiembrie 1988, cu ajutorul calculatorului unui
prieten, student la Harvard University .
El a infectat rapid un numr foarte mare de calculatoare, conectate
la internet i a produs pagube importante. Motivul pentru care el nu
s-a mprtiat i mai departe i nu a produs mai multe necazuri a
fost prezena unor erori n implementarea sa. El s-a propagat
datorit ctorva bugs-uri ale BSD Unix i ale programelor asociate
acestui sistem de operare, printre care i cteva variante ale
protocolului 'sendmail'. Morris a fost identificat, acuzat i mai trziu
condamnat.

Tipuri de viermi
De e-mail se rspndesc cu ajutorul mesajelor e-mail. Mesajul
propriuzis sau fiierul ataat conin codul viermelui, dar el poate fi de
asemenea declanat de un cod situat pe un site web extern.
Majoritatea sistemelor de pot electronic cer explicit utilizatorului
s deschid fiierul ataat pentru a activa viermele dar i tehnica
numit "social engineering" poate fi adesea utilizat pentru a
ncuraja aceast aciune, aa cum a dovedit-o autorul viermelui
"Anna Kournikova". Odat activat viermele va emite singur, folosind
fie sisteme locale de e-mail (de exemplu servicii MS Outlook, funcii
Windows MAPI), sau direct, folsind protocolul SMTP. Adresele la
care expediaz el mesaje sunt mprumutate adesea de la sistemul
de e-mail al calculatoarelor pe care le-a infectat. ncepnd cu
viermele Klez.E lansat n 2002, viermii care folsesc protocolul SMTP
falsific adresa expeditorului, aa c destinatarii mesajelor e-mail
coninnd viermi trebuie s presupun c acestea nu sunt trimise de
ctre persoana al crei nume apare n cmpul 'From' al mesajului.

De messenger mprtierea se face prin aplicaii de mesagerie


instantanee (IRC, Yahoo-Messenger) prin transmiterea unor legturi
la site-uri web infectate fiecrui membru al unei liste de contact.
Singura diferen ntre aceti viermi i viermii de e-mail este calea
aleas pentru transmiterea legturii la site-ul infectat.
De aceast dat se utilizeaz canalele de chat IRC dar aceai
metod de infectare/mprtiere, deja prezentat, se folosete i n
acest caz. Transmiterea de fiiere infectate este mai puin eficient
n acest caz, deoarece destinatarul trebuie s confirme recepia
acestuia, s salveze fiierul infectat i s-l deschid, pentru ca s se
produc infectarea.

Viermi distrugtori (Payloads)

De sharing n reele Viermii se autocopiaz ntr-un fiier vizibil


de ntreaga reea, de obicei localizat pe calculatorul infectat, sub
un nume inofensiv. n acest mod viermele este gata s fie
ncrcat (download) prin reea i mprtierea infeciei continu.
De internet Cei care intesc direct porturile TCP/IP, fr s mai
apeleze la alte protocoale de nivel mai nalt (de exemplu
aplicaie, cum ar fi cel de e-mail sau cel de IRC). Un exemplu
clasic este viermele "Blaster" , care a exploatat o vulnerabilitate
a protocolului Microsoft RPC. Un calculator infectat scaneaz
agresiv n mod aleator reeaua sa local precum i internet-ul,
ncercnd s obin acces la portul 135. Dac obine acest
acces, mprtierea viermelui continu.

Muli viermi au fost creai doar pentru a se mprtia. Ei nu distrug


sistemele prin care se propag. Totui, aa cum s-a vzut, viermii
Morris i Mydoom afecteaz traficul prin reea i produc i alte
efecte neintenionate, care pot produce disfuncionaliti majore. Un
program de tip payload este conceput s fac mai mult dect
mprtierea viermelui - el poate terge fiiere de pe un calculator,
poate cripta fiiere, n cadrul unui atac de tipul cryptoviral extortion,
sau poate s expedieze documente prin e-mail. O aciune uzual
efectuat de ctre un program de tip payload este instalarea unui
program de tipul backdoor pe calculatorul infectat, care favorizeaz
crearea unui "zombie", controlat de ctre autorul viermelui.
Exemple de viermi care creaz zombies sunt Sobig i Mydoom.
Reelele din care fac parte calculatoarele infectate cu astfel de
viermi sunt numite botnets i se utilizeaz cu predilecie de ctre
expeditorii de spam. Un program backdoor, odat instalat, poate fi
exploatat i de ali viermi. De exemplu, programul de tip backdoor
instalat de viermele Mydoom este folosit pentru mprtierea
viermelui Doomjuice.

Viermi cu intenii bune


Totui, viermii pot fi utilizai n lupta anti-tero, n cooperare cu tehnici
bazate pe tiina calculatoarelor i pe inteligena artificial, ncepnd
cu prima cercetare efectuat la Xerox. Familia de viermi Nachi
ncearc s transfere (download) i apoi s instaleze programele de
corecie (patches) de pe site-ul Microsoft pentru a corecta diferite
vulnerabiliti ale calculatorului gazd aceleai vulnerabiliti pe
care le exploata viermele Nachi. Aceast aciune ar putea s fac
sistemul afectat mai sigur, dar genereaz trafic suplimentar
considerabil.

Bibliografie
http://www.microsoft.com/technet/security/bulletin/ms01-020.mspx
http://www.wired.com/news/technology/0,1282,41782,00.html
F-Secure Virus Descriptions: Klez.E
http://www.symantec.com/security_response/writeup.jsp?docid=2003081113-0229-99&tabid=2
http://www.symantec.com/security_response/writeup.jsp?docid=2003081113-0229-99&tabid=2
http://seattletimes.nwsource.com/html/businesstechnology/2001859752
_spamdoubles18.html
http://www.wired.com/news/business/0,1367,60747,00.html
http://www.heise.de/english/newsticker/news/44879
http://news.bbc.co.uk/1/hi/technology/3513849.stm

Protecie mpotriva viermilor


Viermii se rspndesc exploatnd vulnerabilitile sistemului de
operare sau nelnd operatorul (determinndu-l s-i ajute). Toi
furnizorii ofer actualizri (updates) de securitate frecvente ("Patch
Tuesday"), i dac acestea sunt instalate pe un calculator atunci
majoritatea viermilor este mpiedicat s se mprtie. Utilizatorii nu
trebuie s deschid mesaje e-mail neateptate i mai ales nu
trebuie s ruleze fiierele sau programele ataate i nu trebuie s
viziteze site-urile web la care i conecteaz astfel de programe.
Totui, aa cum au dovedit-o viermii ILOVEYOU i phishing oricnd
exist un procent de utilizatori care sunt nelai.
Programele anti-virus i anti-spyware sunt folositoare, dar este
necesar reactualizarea lor aproape zilnic.

Detecia anomaliilor
Intruziunile n reea: etapa de inspecie (supraveghere), etapa de
exploatare i etapa de mascare.
Sisteme de Detecie a Intruziunilor (IDSs):
bazate pe semntur sau utilizare greit,
bazate pe anomalii.
Sunt create profile ale activitii normale i se detecteaz intruziuni
cnd comportamentul sistemului monitorizat deviaz de la profilele
de baz stabilite anterior.
Beneficii:
abilitatea de a identifica atacuri necunoscute,
incertitudine n ceea ce privete activitatea pe care atacatorul o
poate efectua fr a declana alarma,
capacitatea de a detecta atacuri interne.
Dezavantaje:
stabilirea profilului traficului normal este dificil i poate fi de durat,
un profil neadecvat al traficului normal poate duce la performane
foarte slabe,
numrul mare de alarme false.

Tehnici de detecie a anomaliilor

detecia statistic:

analiza spectral pentru identificarea fluxurilor de date TCP legitime,


analiza de tip component-principal,
estimarea entropiei maxime,
filtrarea adaptiv,

suma cumulativ.

tehnica maina-de-nvare ("machine learning"),


detecia de tip data-mining,

tehnici bazate pe prelucrarea de semnal


tehnici bazate pe analiza wavelet.

Arhitectura general a sistemului


de detecie

Tipuri de date colectate


Date specifice sistemului
datele generate de ctre sistemul de operare al calculatorului gazd
(date de audit). Sistemele de operare pun la dispoziia utilizatorului
o serie de informaii prin intermediul ctorva utilitare foarte uzuale
(de ex. ps, netstat, top, vmstat).
Date specifice aplicaiei
Informaiile utilizate pentru detecia intruziunilor sunt generate de
mecanismul de log-are propriu al aplicaiei respective.
Date specifice reelei
traficul de reea captat pentru detectarea atacurilor.
coninutului pachetelor de date de reea captate, caracteristici ale
diferitelor antete i protocoale, numr de pachete, numr de
conexiuni ntr-un interval, dimensiunea medie a pachetelor
recepionate/transmise, numr de porturi utilizate, numr de adrese
de reea, etc.

Analiza wavelet
Stationary Wavelet Transform (SWT)

Analytic SWT (ASWT)

Analiza statistic (Cum4)


Momentul complex al lui s

M pq [ s ] = E s p ( s* )
q [s] = 1
M
p
N

N 1

s [k](s ) [k]
* q

k =0

Cumulantul de ordinul patru

2 [s] 2 M
1 [s] M
0 [s] M
2 [s]
C 22 [ s ] = M
2
1
2
0

3.1.3. Necesitati de securitate in


retele
Organizatia internationala de standardizare (ISO) defineste in
modelul OSI (Open System Interconnect) 7 nivele de comunicatii si
interfetele dintre ele.
In ultimii 20 de ani - mai multe tipuri de retele de calculatoare.
Integrare.
Protocolul CLNP (Connectionless Network Protocol), ISO IP,
defineste o cale de interconectare virtuala a tuturor retelelor si o cale
de acces la fiecare nod al retelei astfel obtinute (Network Service
Access Point), NSAP din oricare alt NSAP.
Protocoalele TCP/IP
- cea mai naturala cale de evolutie spre adevaratele sisteme
deschise.
- prima cale de interconectare a retelelor heterogene si de dirijare a
traficului.

Atacuri
3.2. Securitatea LAN-urilor
Proprietati utile: banda larga, intarzieri mici, costuri independente de
traficul de informatie. Amenintare de securitate:
Intr-o retea locala toate calculatoarele componente "asculta" in
permanenta mediul de comunicare.
Oricare calculator poate supraveghea, fara a fi detectat, intregul
trafic din retea.
Orice statie isi poate asuma o identitate falsa si sa transmita cu o
adresa de sursa falsa.

- Inregistrarea si retransmiterea secventelor de autentificare.


Exista in prezent posibilitati (hard si soft) pentru oricine care are
acces intr-o retea locala sa monitorizeze traficul, sa caute secvente
de tipul "Username:" sau "Password:" sa inregistreze raspunsurile
la aceste secvente si mai tarziu sa acceseze un serviciu cu o
identitate falsa.
Orice tronson al unei retele locale poate fi securizat rezonabil
folosind o pereche de dispozitive de criptare de incredere, dar pe
masura ce capacitatea unei retele creste si riscurile de securitate
cresc.

In continuare se considera exemplul unei retele locale, deservita de


un server.
Colectie de masuri de securitate.
Nu se iau in considerare sistemul de operare al serverului sau al
celorlalte calculatoare.
Se presupune ca reteaua poate fi amenintata de urmatoarele actiuni:
De forta majora:
pierderea personalului; inundaie; incendiu; praf;
Deficiente de organizare:
folosirea neautorizata a drepturilor de utilizare; banda de
frecvente aleasa neadecvat;

Acte deliberate:
Manipularea sau distrugerea echipamentului de protectie al
retelei sau a accesoriilor sale; Manipularea datelor sau a
programelor; Furt; Interceptarea liniilor de legatura dintre
calculatoare; Manipularea liniilor de legatura; Folosirea
neautorizata a sistemului de protecie al retelei; Incercarea
sistematica de ghicire a parolelor; Abuzarea de drepturile de
utilizator; Distrugerea drepturilor administratorului; Cai
Troieni; Virusi de calculator; Raspunsuri la mesaje;
Substituirea unor utilizatori cu drept de acces in retea de
catre persoane fara aceste drepturi; Analiza traficului de
mesaje; Repudierea unor mesaje. Negarea servicilor.

Greseli umane:
Distrugerea din neglijenta a unor echipamente sau a unor
date;
Nerespecatrea masurilor de securitate; Defectarea cablurilor;
Defectiuni aleatoare datorate personalului de intretinere a
cladirii sau datorate unui personal extern; Administrarea
necorespunzatoare a sistemului de securitate; Organizarea
nestructurata a datelor;
Defectiuni tehnice:
Intreruperea unor surse de alimentare; Variatii ale tensiunii
retelei de alimentare cu energie electrica; Defectarea unor
sisteme de inregistrare a datelor; Descoperirea unor
slabiciuni ale programelor folosite; Posibilitati de acces la
sistemul de securitate prea greoaie;

Contramasuri recomandate:
O buna alegere a modulelor de protectie. Aceasta alegere se face
secvential, pe baza urmatoarelor criterii:
Pasul 1: Regulile specifice institutiei respective pentru
Managementul Securitatii, Regulamentul de organizare al
institutiei, Politica de realizare a back-up-urilor si Conceptele
de protectie anti-virus;
Pasul 2: Criterii arhitecturale si structurale, care iau in
considerare arhitectura cladirii institutiei respective;
Pasul 3: Criterii constructive ale echipamentelor care constituie
reteaua;

Pasul 4: Criterii de interconectare a echipamentelor din retea; de


exemplu daca exista sau nu echipamente de tip firewall ;
Pasul 5: Criterii de comunicare intre echipamentele retelei, cum ar fi
programele de posta electronica folosite sau bazele de date
folosite.
Utilizand pe rand toate aceste criterii rezulta modelul de
securitate al retelei considerate. Un astfel de model poate fi prezentat
sub forma unui tabel cu urmatoarele coloane:
Numarul si numele modulului de protectie;
Obiectul tinta sau grupul de obiecte tinta. De exemplu
acesta poate fi numarul de identificare al unei
componente sau grup de componente din retea sau
numele unei cladiri sau al unei unitati organizatorice
din cadrul institutiei;
Persoana de contact Persoana de contact nu este
nominalizata in faza de modelare ci doar dupa ce s-a
ales o anumita arhitectura de sistem de securitate;
Ultima coloana este destinata observatiilor.

Pe baza unei astfel de analize, se poate ajunge, pentru server-ul


considerat in acest paragraf, la urmatoarea lista de masuri de
securitate:
Sursa de alimentare neinteruptibila (optional);
Controlul mediilor de pastrare a datelor;
Revizii periodice;
Interzicerea utilizarii unor programe neautorizate;
Supravegherea pastrarii programelor;
Corecta dispunere a resurselor care necesita protectie;
Improspatarea periodica a parolelor;
Existenta documentatiei de configurare a retelei;
Desemnarea unui administrator de retea si a unui adjunct;
Existenta unei documentatii asupra utilizatorilor si drepturilor;
Existenta unei documentatii asupra schimbarilor efectuate;
Permanenta cautare a informatiilor despre slabiciunile
sistemului;
Antrenarea personalului inainte de utilizarea unui anumit
program;
Stocarea structurata a datelor;
Educarea personalului in legatura cu masurile de securitate;

3.2.1. Standardizarea securitatii


in sisteme deschise
Selectia unor angajati de incredere pentru posturile de
administrator de retea si de adjunct al acestuia;
Antrenarea personalului tehnic si al personalului de
intretinere;
Protectie prin parole;
Rularea periodica a unui program anti-virus;
Asigurarea unei operatii de login sigure.
In prezent se urmareste integrarea dispozitivelor de securitate
izolate (specifice fiecarui nivel de comunicatie ISO), de tipul
"modulelor" amintite.

Modelul de referinta OSI al ISO este universal acceptat. La inceput


OSI nu s-a concentrat asupra management-ului interoperabilitatii
sistemelor din cadrul unei retele deschise si nici asupra necesitatilor
de securitate. Mai tarziu aceste chestiuni au fost analizate si ele
apar in documente mai recente care fac parte din modelul OSI. Din
pacate aceste adaugiri nu au nici pe departe calitatea modelului de
referinta OSI de baza.

10

Deficientele sistemului de
securitate OSI
Arhitectura de securitate OSI :
- lista de amenintari ale securitatii,
- defineste un numar de servicii de securitate si de mecanisme de
protectie impotriva amenintarilor,
- defineste locuri posibile de instalare a servicilor si mecanismelor pe
cele 7 nivele OSI.
Numeroase subiecte raman deschise.
Un alt standard de securitate este ECMA, "Security in open systems: A
security framework",
Proiectele SESAME si SAMSON.

Standardizarea sistemelor deschise actuale consta din doua faze.


Prima este legata de necesitatea standardizarii unor entitati
functionale, cum ar fi manipularea mesajelor. Aceasta cerinta de
standardizare este discutata in mai multe standarde ca de exemplu
in cazul seriei de recomandari ale CCITT, X-400. In doua elemente
diferite ale acestei serii pot exista solutii diferite pentru aceeasi
sarcina. Acestea au fost incluse in standard ca si compromis ntre
diferite parti. In tari diferite, la producatori diferiti, au fost adoptate
parti diferite ale acestui standard.
Cea de a doua faza presupune definirea standadelor functionale
(numite si profile) pornind de la standardele de baza, care sa
specifice clar grupurile functionale, functiile, optiunile, dimensiunile
echipamentelor. Scopul profilelor OSI este sa defineasca cum
trebuie utilizate in practica diferite standarde OSI de baza, pentru a
putea fi definite sisteme capabile de interoperare.

Majoritatea serviciilor pot fi plasate pe oricare dintre nivele (dar mai


ales pe nivelele 3, 4, 6 si 7).
E necesara ingradirea acestei libertati astfel incat sa nu fie afectata
securitatea globala a retelei.
- Se dau foarte putine indicatii asupra modului in care trebuie sa
interopereze aceste servicii si mecanisme. De exemplu cum trebuie
ele incluse in serviciile si protocoalele existente, cum se negociaza
utilizarea lor si cum trebuie sa fie ele activate.
- Din punctul de vedere al utilizatorului conteaza modul in care este
protejat un anumit serviciu pe ansamblul sistemului de comunicatii si
nu doar pe un anumit nivel al modelului de referinta. Se doreste o
analiza integratoare a intregului sistem de protectie.
Modelul OSI defineste doar o strategie de standardizare a securitatii
sistemelor deschise. Numeroase alte standarde OSI definesc si
protocoale pentru diferitele nivele.

In procesul de standardizare OSI definirea profilelor de comunicatie


a devenit cea mai importanta activitate. In acest sens s-a creat un
nou tip de document: Profilul international standardizat. Dar
sisteme de securitate corespunzatoare vor putea fi create doar dupa
ce se vor concepe si documente de tipul Profil de securitate.

3.2.1.1. Standarde de evaluare a increderii


Pe langa standardele care privesc direct securitatea exista si
standarde care contin criterii de evaluare a increderii in calculatoare
si retele. Centrul de securitate a calculatoarelor din S.U.A, NCSC
(National Computer Security Center) a elaborat pentru DoD doua
documente: pentru evaluarea securitatii calculatoarelor, Cartea
portocalie (ORANGE BOOK) si pentru evaluarea securitatii retelelor,
Cartea rosie (RED BOOK). Ambele definesc o aceeasi scala a
nivelelor de securitate.

11

5. Criptografia i securitatea
reelelor
Criptografia-tiina scrierilor secrete.
St la baza unor servicii i mecanisme de securitate.
Folosete metode matematice pentru transformarea datelor, n
intenia de a ascunde coninutul lor sau de a le proteja mpotriva
modificrii.
Are o istorie ndelungat.
n anul 1975 a fost adoptat primul standard de criptare a datelor,
propus de IBM i numit DES (Data Encryption Standard).
Se bazeaz pe un algoritm de criptare simetric (cheia de criptare
este cunoscut doar de ctre expeditorul i destinatarul mesajului).

Witfield Diffie i Martin Hellman, 1976, bazele criptografiei


asimetrice cu chei publice.
Se utilizeaz dou chei, una secret (cunoscut doar de
destinatarul mesajului) i una public, care poate fi cunoscut
de orice utilizator al reelei.
Cheia public - identificarea sursei (se poate face i
autentificare).
Standard de semntur digital (bazat pe utilizarea cheilor
publice i secrete), DSS (Digital Signature Standard), 1991.

5.1. Civa termeni utilizai n


criptografie
Text clar - mesajul original:
Mesaj cifrat, criptogram - rezultatul operaiei de criptare efectuate
asupra textului clar;
Cifrare, criptare - operaia de secretizare a textului clar al crei
rezultat este mesajul cifrat;
Descifrare, decriptare - operaia invers operaiei de criptare.
Chei criptografice - secvene de caractere care controleaz
operaiile de criptare i de decriptare.
Criptanaliza - Studiul metodelor de decriptare ilegale (fr
cunoaterea cheilor criptografice).

Un sistem criptografic este compus din:


M, text clar;
C, text cifrat;
2 funcii inverse E i D;
- un algoritm care produce cheile. Exist dou tipuri de sisteme
criptografice:
- simetrice (cu cheie secret) care folosesc
aceai cheie att la cifrarea ct i la
descifrarea mesajelor;
- asimetrice (cu chei publice) care
folosesc dou chei, una public i una privat.

4. Bazele matematice ale criptrii


4.1. Aritmetica pe clase de resturi modulo specificat
Tabelele pentru operaiile de adunare, nmulire i ridicare la putere pe
mulimea claselor de resturi modulo 7.
+|0123456
------------------0|0123456
1|1234560
2|2345601
3|3456012
4|4560123
5|5601234
6|6012345

*|0123456
------------------0|0000000
1|0123456
2|0246135
3|0362514
4|0415263
5|0531642
6|0654321

^|0123456
------------------1|1111111
2|1241241
3|1326451
4|1421421
5|1546231
6|1616161

1 i 6, 2 i 5 i 3 i 4 sunt inverse n raport cu adunarea.


Exemplu de criptare folosind adunarea.
Se dorete transmiterea mesajului 3. Se transmite 4, (3+1). La
recepie se adun modulo 7, inversul lui 1, adic 6 i se va obine
(4+6),10 modulo 7, adic 3.

+|0123456
------------------0|0123456
1|1234560
2|2345601
3|3456012
4|4560123
5|5601234
6|6012345

*|0123456
------------------0|0000000
1|0123456
2|0246135
3|0362514
4|0415263
5|0531642
6|0654321

^|0123456
------------------1|1111111
2|1241241
3|1326451
4|1421421
5|1546231
6|1616161

Dac se ndeprteaz, din tabelul de nmulire, linia i coloana care


conin doar elemente nule, atunci cele ase numere, rmase n
fiecare linie i n fiecare coloan, sunt diferite ntre ele. Se constat
c n fiecare linie respectiv coloan, pe o anumit poziie, exist un
1. De aceea se poate afirma c pentru fiecare numr cuprins ntre 1
i 6 exist un altul, astfel nct produsul lor, modulo 7, s fie egal cu
1. Cu alte cuvinte, pe clasa de resturi modulo 7 (fr 0) operaia de
nmulire este inversabil. Aceast proprietate nu este adevrat
pentru orice valoare a modulului. Ea este adevrat n cazul nostru
deoarece 7 este numr prim.

4.2. Numere prime


Se numete funcie indicator, totient, a lui Euler i se noteaz cu
funcia care asociaz lui N numrul de numere ntregi i pozitive mai
mici dect N, relativ prime cu N.

E clar c dac N este prim atunci (N)=N-1. n cazul din exemplul


anterior (7)=6. Deci dac modulul N este numr prim, atunci
numrul de elemente inversabile la nmulirea modulo N este (N).
Mai interesant este tabelul de ridicare la putere prezentat n
paragraful anterior.
^|0123456
------------------1|1111111
2|1241241
3|1326451
4|1421421
5|1546231
6|1616161
Orice numr cuprins ntre 1 i 6, ridicat la puterea 6 este egal cu 1.
Operaia este periodic. Valorile obinute prin ridicarea la puterea 0
sunt identice cu valorile obinute prin ridicarea la puterea a 6-a.

^|0123456
------------------- Doar pentru 6 valori distincte ale exponenilor (1, 2,
1 | 1 1 1 1 1 1 1 3, 4, 5 i 6) se obin valori diferite prin ridicarea la
2 | 1 2 4 1 2 4 1 putere modulo 7. Se poate afirma, pe baza acestui
3 | 1 3 2 6 4 5 1 exemplu, c numrul de exponeni pentru care se
4 | 1 4 2 1 4 2 1 obin valori distincte prin ridicarea la putere modulo N
5 | 1 5 4 6 2 3 1 este egal cu (N). Cu alte cuvinte perioada de
6 | 1 6 1 6 1 6 1 repetiie ntr-un tabel de ridicare la putere modulo N
este egal cu (N). Din acest punct de vedere se poate afirma c la
ridicarea la putere modulo 7, (N), exponentul poate fi privit ca fiind un
element al clasei de resturi modulo 6 (modulo (N)). Aceast
proprietate este valabil, n general, pentru orice clas de resturi
modulo un numr prim. n continuare se analizeaz cazul n care baza
nu este numr prim. Dac se cunoate restul mpririi unui anumit
numr cu 5 i apoi cu 7, se poate determina (deoarece 5 i 7 sunt
numere prime ntre ele (nu au factori comuni) ) restul mpririi acelui
numr la 35. De fapt cele dou resturi sunt egale.

Raionamentul fcut explic rolul numrului (p-1)(q-1) folosit n


metoda de criptare cu cheie public RSA. Aceast metod
presupune criptarea unui mesaj M, prin ridicarea sa la o putere e
modulo N. Perechea (N,e) reprezint cheia de criptare. Se obine
textul criptat C. Decriptarea se realizeaz prin ridicarea lui C la o
putere d, inversa lui e n raport cu operaia de nmulire modulo N.
Cheia de decriptare este perechea (N,d). Pentru a aplica aceast
metod de criptare trebuie calculat puterea d. n continuare se
prezint tabelul corespunztor operaiei de ridicare la putere modulo
55.

De aceea se poate spune c proprietile aritmeticii modulo 35 sunt


o combinaie a proprietilor aritmeticilor modulo 5 i modulo 7. n
consecin, referindu-ne acum la operaia de ridicare la putere i
innd seama de proprietatea amintit anterior, nu este nevoie ca
pentru ridicarea la putere modulo 35 (care conform proprietii
anterioare ar pretinde exponeni modulo 34) s se foloseasc
exponeni modulo 34, fiind suficient s se utilizeze exponeni
modulo 24 (pentru ridicarea la puterea a 5-a sunt suficieni, conform
proprietii anterioare, coeficieni modulo 4, iar pentru ridicarea la
puterea a aptea, exponeni modulo 6 i produsul dintre 4 i 6 este
24).

^ | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
--------------------------------------------------------------------------------------------------1| 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1
2 | 2 4 8 16 32 9 18 36 17 34 13 26 52 49 43 31 7 14 28 1
2
3 | 3 9 27 26 23 14 42 16 48 34 47 31 38 4 12 36 53 49 37 1
3
4 | 4 16 9 36 34 26 49 31 14 1 4 16 9 36 34 26 49 31 14 1
4
5 | 5 25 15 20 45 5 25 15 20 45 5 25 15 20 45 5 25 15 20 45 5
6 | 6 36 51 31 21 16 41 26 46 1 6 36 51 31 21 16 41 26 46 1
6
7 | 7 49 13 36 32 4 28 31 52 34 18 16 2 14 43 26 17 9 8 1 7
8 | 8 9 17 26 43 14 2 16 18 34 52 31 28 4 32 36 13 49 7 1 8
9 | 9 26 14 16 34 31 4 36 49 1 9
26 14 16 34 31 4 36 49 1 9
10 | 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10 45 10
11 | 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
12 | 12 34 23 1 12 34 23 1 12 34 23 1 12 34 23 1 12 34 23 1 12
13 | 13 4 52 16 43 9 7 36 28 34 2
26 8 49 32 31 18 14 17 1 13
14 | 14 31 49 26 34 36 9 16 4 1 14 31 49 26 34 36 9 16 4 1 14
15 | 15 5 20 25 45 15 5 20 25 45 15 5 20 25 45 15 5 20 25 45 15
16 | 16 36 26 31 1 16 36 26 31 1 16 36 26 31 1 16 36 26 31 1 16
17 | 17 14 18 31 32 49 8 26 2 34 28 36 7 9 43 16 52 4 13 1 17
18 | 18 49 2 36 43 4 17 31 8 34 7
16 13 14 32 26 28 9 52 1 18
19 | 19 31 39 26 54 36 24 16 29 1 19 31 39 26 54 36 24 16 29 1 19
20 | 20 15 25 5 45 20 15 25 5 45 20 15 25 5 45 20 15 25 5 45 20
21 | 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21 1 21
22 | 22 44 33 11 22 44 33 11 22 44 33 11 22 44 33 11 22 44 33 11 22
23 | 23 34 12 1 23 34 12 1 23 34 12 1 23 34 12 1 23 3412 1 23
24 | 24 26 19 16 54 31 29 36 39 1 24 26 19 16 54 31 29 3639 1 24
25 | 25 20 5 15 45 25 20 5 15 45 25 20 5 15 45 25 20 5 15 45 25
26 | 26 16 31 36 1 26 16 31 36 1 26 16 31 36 1 26 16 3136 1 26
27 | 27 14 48 31 12 49 3 26 42 34 38 36 37 9 23 16 47 4 53 1 27
28 | 28 14 7 31 43 49 52 26 13 34 17 36 18 9 32 16 8 4 2 1 28
29 | 29 16 24 36 54 26 39 31 19 1 29 16 24 36 54 26 39 3119 1 29
30 | 30 20 50 15 10 25 35 5 40 45 30 20 50 15 10 25 35 5 40 45 30
31 | 31 26 36 16 1 31 26 36 16 1 31 26 36 16 1 31 26 3616 1 31
32 | 32 34 43 1 32 34 43 1 32 34 43 1 32 34 43 1 32 3443 1 32
33 | 33 44 22 11 33 44 22 11 33 44 22 11 33 44 22 11 33 4422 11 33
34 | 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34 1 34
35 | 35 15 30 5 10 20 40 25 50 45 35 15 30 5 10 20 40 25 50 45 35
36 | 36 31 16 26 1 36 31 16 26 1 36 31 16 26 1 36 31 16 26 1 36
37 | 37 49 53 36 12 4 38 31 47 34 48 16 42 14 23 26 27 9 3 1 37
38 | 38 14 37 31 23 49 47 26 53 34 27 36 48 9 12 16 3
4 42 1 38
39 | 39 36 29 31 54 16 19 26 24 1 39 36 29 31 54 16 19 26 24 1 39
40 | 40 5 35 25 10 15 50 20 30 45 40 5 35 25 10 15 50 20 30 45 40
41 | 41 31 6 26 21 36 46 16 51 1 41 31 6 26 21 36 46 16 51 1 41
42 | 42 4 3 16 12 9 48 36 27 34 53 26 47 49 23 31 37 14 38 1 42
43 | 43 34 32 1 43 34 32 1 43 34 32 1 43 34 32 1 43 34 32 1 43
44 | 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44 11 44
45 | 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45
46 | 46 26 41 16 21 31 51 36 6 1 46 26 41 16 21 31 51 36 6 1 46
47 | 47 9 38 26 12 14 53 16 37 34 3
31 27 4 23 36 42 49 48 1 47
48 | 48 49 42 36 23 4 27 31 3 34 37 16 53 14 12 26 38 9 47 1 48
49 | 49 36 4 31 34 16 14 26 9 1 49 36 4 31 34 16 14 26 9 1 49
50 | 50 25 40 20 10 5 30 15 35 45 50 25 40 20 10 5 30 15 35 45 50
51 | 51 16 46 36 21 26 6 31 41 1 51 16 46 36 21 26 6
31 41 1 51
52 | 52 9 28 26 32 14 13 16 7 34 8
31 17 4 43 36 2
49 18 1 52
53 | 53 4 47 16 23 9
37 36 38 34 42 26 3 49 12 31 48 14 27 1 53
54 | 54 1 54 1 54 1
54 1 54 1 54 1 54 1 54 1 54 1 54 1 54

4.3. Mica teorem a lui Fermat


Factorii lui 55 sunt 5 i 11, numere prime ntre ele i prime n
general. Conform observaiei anterioare ar trebui s fie folosii
coeficieni modulo 40, deoarece tabelul ar trebui s se repete cu
perioada 40. Observaia anterioar este justificat de
urmtoarea propoziie:
Dac p i q sunt dou numere relativ prime i dac N = p q
atunci

( N ) = ( p 1)(q 1)

Intr-adevr, n exemplul prezentat mai sus, valoarea lui N este


55, valoarea lui p este 5 iar valoarea lui q este 11. Numerele
relativ prime cu 55, mai mici dect 55 sunt: 1, 2, 3, 4, 6, 7, 8, 9,
12, 13, 14, 16, 17, 18, 19, 21, 23, 24, 26, 27, 28, 29, 31, 32, 34,
36, 37, 38, 39, 41, 42, 43, 46, 47, 48, 49, 51, 52, 53, 54. De
aceea (55)=40.

Fiind dat numrul ntreg a i numrul prim p , care nu este divizor


al lui a, are loc relaia:
ap-1 = 1 (mod p).
Not istoric.
Ca de obicei, Fermat nu a dat o demonstraie nici pentru aceast
teorem (mrginindu-se s afirme i-a fi trimis i demonstraia
dac nu m-a fi temut c este prea lung"). Primul care a publicat
o demonstraie a acestei teoreme a fost Euler n anul 1736. A fost
gsit ns aceeai demonstraie ntr-un manuscris al lui Leibniz,
redactat nainte de 1683, rmas nepublicat.

Demonstraie: Pentru nceput se scriu primii p-1 multipli pozitivi ai lui a:


a, 2a, 3a, ... (p -1)a. Dac ra i sa sunt egali modulo p, atunci:

r (mod p ) a(mod p ) = s(mod p ) a(mod p )

deoarece p este numr prim i nu-l divide pe a. Adic:


r = s (mod p)
Dar numerele r i s sunt distincte i mai mici dect p. De aceea ultima
egalitate nu poate avea loc. n consecin ipoteza fcut este
absurd. De aceea se poate afirma c cei p-1 multipli ai lui a,
introdui mai sus, sunt distinci i nenuli. n consecin (fiind vorba de
p-1 valori) ei trebuie s fie egali modulo p cu numerele 1, 2, 3, ..., p-1
ntr-o anumit ordine. Prin nmulirea membrilor stngi respectiv
drepi ai tuturor acestor egaliti se obine egalitatea urmtoare:
ax2ax3a.....(p-1)a =1x2x3.....(p-1) (mod p)
adic:
a (p-1) (p-1)! = (p-1)! (mod p)
mprind n ambii membri cu (p-1)! mod(p) se obine tocmai relaia
din enun.

4.4. Cmpuri Galois


Un cmp Galois este un cmp finit cu pn elemente, unde p este
un numr prim. Mulimea elementelor nenule ale cmpului
Galois este un grup ciclic n raport cu operaia de nmulire. Un
element generator al acestui grup ciclic este numit element
primitiv al cmpului. Cmpul Galois poate fi generat ca o
mulime de polinoame cu coeficieni n Zp modulo un polinom
ireductibil de gradul n. Valorile unui octet se reprezint n
algoritmii de criptare prin concatenarea biilor individuali:
{b7, b6, b5, b4, b3, b2, b1, b0}. Aceti octei sunt interpretai ca i
elemente ale campului finit GF(28) cu ajutorul unei reprezentri
polinomiale:
7

b7 x 7 + b6 x 6 + b5 x 5 + b4 x 4 + b3 x 3 + b2 x 2 + b1 x + b0 = bk x k
k =0

Evariste Galois (25. 10.


1811 - 31. 05. 1832)

De exemplu octetul {01100011} se identific cu polinomul:

x 6 + x5 + x + 1
Elementele cmpurilor finite pot fi adunate sau nmulite.
Exemplul 1: GF(2)
GF(2) const din elementele 0 i 1 (p=2 i n=1) i reprezint cel
mai mic cmp finit. Este generat de polinoame peste Z2 modulo
polinomul x. Polinoamele corespunztoare elementelor din
GF(2) sunt: 0 i 1, deoarece x mod x=0 i x+1 mod x=1.
Tabelele sale de adunare i nmulire sunt:
+|01
*|01
--+-----+---0|01
0|00
1|10
1|01
Se constat c operaia de adunare este identic cu operaia
logic sau-exclusiv i c nmulirea este identic cu operaia
logic i.

n februarie1827 s-a nscris n clasa de matematic a


profesorului M. Vernier. n aprilie 1829 a publicat prima
lucrare, asupra fraciilor continue, n Annales de
mathematiques. Galois a propus 2 articole asupra
soluiilor ecuaiilor algebrice la Academia de tiine din
Frana. A promovat examenul de bacalaureat pe data
de 29 decembrie 1829. Galois a continuat s-i trimit lui
Cauchy (recenzorul su de la Academie) cercetrile
sale asupra ecuaiilor dar a aflat c o parte din ele se
suprapuneau peste rezultatele publicate de Abel. Atunci
Galois a ascultat sfatul lui Cauchy i a propus un nou
articol asupra condiiilor n care o ecuaie este
rezolvabil cu ajutorul radicalilor n februarie 1830.
Articolul i-a fost trimis lui Fourier, secretarul Academiei
din Paris, pentru a fi considerat pentru Marele premiu n
matematic. Dar Fourier a murit n aprilie 1830 aa c
lucrarea lui Galois nu a fost niciodat considerat pentru
acest premiu. Dup ce a citit lucrrile lui Abel i ale lui
Jacobi, Galois a nceput s studieze funciile eliptice i
integralele abeliene. Cu ajutorul lui Jacques Sturm,
Galois a publicat 3 lucrri n aprilie 1830. Dou lucrri
minore, prima publicat n decembrie 1830 i cea de a
doua n ianuarie 1831, au fost ultimele sale publicaii.

Cmpul GF(2) este utilizat frecvent la construcia de coduri


deoarece el este uor reprezentat n calculatoare, fiind necesar un
singur bit.
Adunarea
nsumarea a dou elemente ntr-un cmp finit Galois al lui 2 la o
anumit putere este realizat prin "adunarea" coeficienilor
corespunztori aceleiai puteri din polinoamele corespunztoare
celor dou elemente. "Adunarea" este efectuat modulo 2 (adic
este vorba despre funcia logic sau-exclusiv). n consecin
scderea polinoamelor este identic cu adunarea lor. Alternativ
adunarea a doi octei n GF(28), {a7, a6, a5, a4, a3, a2, a1, a0} i {b7, b6,
b5, b4, b3, b2, b1, b0}, se face prin adunarea modulo 2 a biilor lor
corespunztori.

Se obine octetul {c7, c6, c5, c4, c3, c2, c1, c0}, unde:
ci = ai bi ,

i = 1,7.

De exemplu urmtoarele expresii sunt echivalente:

(x 6 + x 4 + x 2 + x + 1) + (x7 + x + 1)= x 7 + x 6 + x 4 + x 2

(notaie polinomial)
{01010111} {10000011}= {11010100}
(notaie binar)
{57}
{83} = {d4}
(notaie hexazecimal)
nmulirea
n reprezentare polinomial, nmulirea n cmpul lui Galois
al lui 28, GF(28), notat cu , corespunde nmulirii
polinoamelor corespunztoare modulo un polinom ireductibil
de gradul 8. Un astfel de polinom ireductibil este:
x 8 + x 4 + x 3 + x + 1 sau {1b} n notaie hexazecimal.

Dar octetul corespunztor lui R(x) este {0 ,1,1,0 ,0 ,0 ,0 ,0 ,1}


sau n notaie hexazecimal {c1}.
nmulirea definit astfel este asociativ, iar elementul su neutru este
{01}. Pentru orice polinom binar neidentic nul, de grad inferior lui 8, b(x),
exist un element invers n raport cu aceast nmulire, notat b 1 ( x ) .
Acesta poate fi calculat utiliznd algoritmul lui Euclid, i determinnd
polinoamele a(x) i c(x), care au proprietatea:
adic:

b( x ) a ( x ) + m ( x ) c ( x ) = 1

b( x ) a ( x )

b 1 ( x ) = a( x )

mod {m( x )} = 1
mod {m( x )}

ceea ce nseamn c:

a( x ) (b( x ) + c( x )) = a(x ) b( x ) + a( x ) c( x )

De exemplu:
{57} {83} = {c1}
deoarece innd seama de reprezentrile polinomiale ale lui {57} i {83}:

(x6 + x 4 + x 2 + x + 1) (x 7 + x + 1) = x13 + x11 + x9 + x8 + x 7 + x 7 + x5 + x3 + x 2 + x +


+ x6 + x 4 + x 2 + x + 1

sau innd seama de modul n care a fost definit adunarea:

(x 6 + x 4 + x 2 + 1) (x7 + x + 1)= x13 + x11 + x9 + x8 + x 6 + x5 + x 4 + x3 + 1

Dar:
x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1

mod x8 + x4 + x3 + x + 1 = x7 + x6 + 1

P(x)
m(x)
R(x)
deoarece restul mpririi lui P(x) la m(x) este x 7 x 6 + 1
care este egal cu R(x), deoarece coeficienii acestor polinoame
trebuie considerai din mulimea claselor de resturi modulo 2 (aa cum
s-a artat deja cnd s-a vorbit despre adunare).

Mai mult se poate demonstra c nmulirea este distributiv n raport


cu adunarea pe GF(28).

Exemplul 2: GF(3)
GF(3) este constituit din elementele 0, 1, i -1. El este generat de
polinoame peste Z3 modulo polinomul x. Tabelele sale de adunare
i nmulire sunt:
+ | 0 1 -1
--+-------0 | 0 1 -1
1 | 1 -1 0
-1| -1 0 1

* | 0 1 -1
--+-------0|0 0 0
1 | 0 1 -1
-1 | 0 -1 1

Este utilizat la construcia codurilor ternare.

nmulirea cu monoame pe
GF(28)
Exemplul 3: GF(4)
Acest cmp Galois este generat de polinoamele peste Z2 modulo
polinomul x2 + x + 1. Elementele sale sunt (0,1, A, B). Tabelele
sale de adunare i nmulire sunt:
+ |01AB
---|---------0 |01AB
1 |10BA
A|AB01
B|BA10

* |01AB
---|---------0 |0000
1 |01AB
A|0AB1
B|0B1A

ntr-un paragraf anterior s-a introdus nmulirea pe acest cmp


Galois, dar nu s-a indicat o metod numeric simpl pentru
efectuarea acestei nmuliri. nmulirea cu monoame este un caz
particular important (orice nmulire de polinoame se bazeaz pe
cteva nmuliri cu monoame) pentru care exist metode numerice
simple de implementare. nmulirea lui
b7 x 7 + b6 x 6 + b5 x 5 + b4 x 4 + b3 x 3 + b2 x 2 + b1x + b0

notat cu b(x), cu x conduce la polinomul:


b7 x8 + b6 x 7 + b5 x 6 + b4 x 5 + b3 x 4 + b2 x 3 + b1 x 2 + b0 x

Datorit tabelului de nmulire A se identific de obicei cu rdcina


cubic a unitii 1 / 2 + i 3 / 2 , A i B sunt elemente primitive
ale lui GF(4).

GF(28)

n consecin nmulirea pe
cu x, (adic {00000010} n form
binar, respectiv {02}, n form hexazecimal) poate fi implementat
la nivel de octet printr-o deplasare la stnga urmat sau nu (n
funcie de valoarea bitului b7) de calculul funciei sau-exclusiv dintre
rezultatul (obinut n urma rotirii) i {1b}. Aceast operaie, la nivel de
octet, este notat prin xtime().
nmulirea cu puteri mai mari ale lui x poate fi implementat prin
aplicarea repetat a operaiei xtime().
Prin adunarea unor astfel de rezultate intermediare poate fi
implementat nmulirea cu orice polinom. De exemplu:
{57} {13} = {fe}
deoarece:
{57} {02} = xtime({57}) = {ae}
{57} {04} = xtime({ae}) = {47}
{57} {08} = xtime({47}) = {8e}
{57} {10} = xtime({8e}) = {07}
i:
{57} {13} = {57} ({01} + {02} + {10}) = {57} + {ae}+{07} = {fe}

Rezultatul nmulirii se obine reducnd modulo m(x) rezultatul


obinut anterior. Daca bitul b7 are valoarea 0 atunci rezultatul este
deja n forma redus. Dac acest bit are valoarea 1 reducerea este
realizat prin scderea (adic prin operaia logic sau-exclusiv)
polinomului m(x).

Polinoame cu coeficieni n
GF(28)
Pn acum coeficienii polinoamelor erau de valoare unu sau
zero, fiind deci vorba despre polinoame binare. n continuare se
analizeaz cazul polinoamelor cu coeficieni octei. Polinoamele
cu patru termeni, cu coeficieni n cmpul specificat, sunt de
forma:
a( x ) = a3 x 3 + a2 x 2 + a1x + a0
i se reprezint ca i cuvinte de forma [a0 , a1 , a2 , a3 ]. De data
aceasta ns coeficienii nu mai sunt bii ci octei. De aceea i
polinomul de reducere va fi diferit, aa cum se va arta n
continuare. Pentru a ilustra operaiile de adunare i de nmulire
pentru polinoame cu patru termeni cu coeficieni octei fie cel de al
doilea termen (sau factor) al operaiei:

b(x ) = b3 x 3 + b2 x 2 + b1 x + b0

Adunarea este realizat prin adunarea, n cmpul finit al coeficienilor, a


coeficienilor corespunztori aceleiai puteri a lui x. Adunarea n cmpul
finit al coeficienilor este efectuat prin intermediul operaiei de sauexclusiv ntre octeii corespunztori (de aceast dat este vorba despre
sau-exclusiv ntre octeii complei i nu ntre biii din componena lor).
n consecin:

a ( x ) + b ( x ) = ( a3 b3 ) x3 + ( a2 b2 ) x 2 + ( a1 b1 ) x + ( a0 b0 )
nmulirea celor dou polinoame, numit nmulire modular, se
efectueaz n doi pai.
Primul pas presupune dezvoltarea algebric a produsului celor dou
polinoame, i identificarea coeficienilor fiecrei puteri:

c ( x ) = a ( x ) b( x )

c( x ) = c6 x 6 + c5 x 5 + c4 x 4 + c3 x 3 + c2 x 2 + c1 x + c0

unde:

c0 = a0 b0

c4 = a3 b1 a2 b2 a1 b3

c1 = a1 b0 a0 b1
c2 = a2 b0 a1 b1 a0 b2
c3 = a3 b0 a2 b1 a1 b2 a0 b3

c5 = a3 b2 a2 b3
c6 = a3 b3

Acest rezultat, c(x), nu este ns un polinom cu patru termeni.


Cel de al doilea pas presupune reducerea lui c(x) modulo un
polinom de gradul 4, obinndu-se un polinom de grad mai mic
dect patru. De exemplu n cazul algoritmului de criptare simetric
Rijndael polinomul de reducere este x 4 + 1 , astfel nct:

. i
x mod x 4 + 1 = x i mod 4

Produsul modular al polinoamelor a(x) i b(x), notat a ( x ) b( x ) , este


dat de polinomul cu patru termeni d(x), definit dup cum urmeaz:
d ( x ) = d 3 x 3 + d 2 x 2 + d1 x + d 0
cu:

d 0 = (a0 b0 ) (a3 b1 ) (a2 b2 ) (a1 b3 )

d1 = (a1 b0 ) (a0 b1 ) (a3 b2 ) (a2 b3 )


d 2 = (a2 b0 ) (a1 b1 ) (a0 b2 ) (a3 b3 )
d 3 = (a3 b0 ) (a2 b1 ) (a1 b2 ) (a0 b3 )

Dac a(x) este un polinom fixat, operaiile descrise mai sus pot fi
exprimate i matricial:
d 0 a0 a3 a2 a1 b0

d a a
0 a3 a2 b1
1 = 1
d 2 a2 a1 a0 a3 b2


d 3 a3 a2 a1 a0 b3

De aceea se poate afirma c nmulirea modular se reduce la o


nmulire matricial.
4
Deoarece x + 1 nu este un polinom ireductibil pe GF(28), nmulirea
modular a polinoamelor cu patru termeni cu coeficieni octei,
definit mai sus, nu este neaprat o operaie inversabil. n
algoritmul Rijndael este totui utilizat un polinom cu patru termeni
cu coeficieni octei, care trebuie s aib invers n raport cu
aceast operaie de nmulire:
a( x ) = {03}x 3 + {01}x 2 + {01}x + {02}
Inversul su este:
a 1 ( x ) = {0b}x 3 + {0d }x 2 + {09}x + {0e}
Un alt polinom utilizat n programul de criptare cu cheie secret
3
Rijndael este polinomul x .

Efectul nmulirii modulare cu acest polinom este rotirea octetului cu o


poziie spre stnga. Asta nseamn c [b0, b1, b2, b3] se transform n
[b1, b2, b3, b0].

4.5. Matrici MDS

Un cod separat la distan maxim, maximum distance separable code


(MDS), definit peste un cmp finit, este o coresponden ntre a
elemente ale acelui cmp finit i b elemente ale unui alt cmp finit,
care produce un vector compus de a+b elemente, cu proprietatea c
numrul minim de elemente nenule din orice vector nenul este de
cel puin b + 1. Altfel spus distana dintre oricare doi vectori produi
de corespondena MDS (adic numrul de elemente care difer
ntre cei doi vectori) este de cel puin b + 1. O coresponden MDS
poate fi reprezentat cu ajutorul unei matrici MDS care are axb
elemente. Transformarea MDS corespunztoare, a unui anumit
octet, se realizeaz prin nmulirea acelui octet, privit ca i vector, cu
matricea MDS. De exemplu codurile corectoare de erori ReedSolomon sunt coduri de tip MDS.

Transformri Pseudo-Hadamard
Caracteristicile funciilor hash sunt:
Fiind dat mesajul M, din A, este simplu de
calculat
h=H(M).
Fiind dat h este dificil de calculat M.
Fiind dat M este dificil s se gseasc un alt
mesaj M' diferit, a. . H(M)=H(M').
Este greu s se gseasc dou mesaje
aleatoare a. . H(M)=H(M') - rezisten la coliziune.
Prin modificarea unui singur bit din M se modific muli
bii din h.
O funcie hash de tipul one-way este o funcie hash care este
dificil de inversat: dac H(a)=b i dac se cunoate b atunci este
foarte dificil s se afle a.
Sunt rezistente la atacuri de tip collision.

Simpla operaie de mixare, poate fi implementat numeric rapid.

at = a + b

( )

mod 232

algoritmul Twofish, - 2 cicluri de microprocesor.


Functii hash
H definit pe A, cu valori n B, format cu elemente a cror
exprimare n binar se face cu acelai numr de bii, n.
A-mulimea mesajelor.
B are 2n elemente.
n prea mic - H nu este injectiv.

Aplicaii:
- autentificare;
- message integrity check;
- message authentication check;
- generarea irurilor de chei;
- securitatea parolelor.
Cel mai des folosit funcie hash se numete MD5 (Message Digest)
i a fost introdus de Rivest n 1991. Ea transform un fiier de
lungime arbitrar ntr-o valoare exprimat pe 128 de bii. Aceast
funcie hash se utilizeaz la generarea semnturilor digitale, caz n
care rezultatul aplicrii sale unui mesaj se numete rezumatul
mesajului, MD.

Terminologie i notaii

^
+
X <<< s

ridicare la putere, x^i


adunarea modulo 2^32
valoare exprimat pe 32 de bii obinut prin rotirea
circular spre stnga cu s poziii a lui X.
not(X)
complementul lui X obinut prin complementarea
fiecrui bit al sau.
XvY
rezultatul aplicrii funciei sau cuvintelor X i Y obinut
prin aplicarea funciei sau fiecrei perechi de bii (de
aceeai semnificaie) din cele dou cuvinte
X xor Y
rezultatul aplicrii funciei sau-exclusiv cuvintelor X i Y
obinut prin aplicarea funciei sau-exclusiv fiecrei
perechi de bii (de aceeai semnificaie) din cele dou
cuvinte.
XY
rezultatul aplicrii funciei i cuvintelor X i Y obinut
prin aplicarea funciei i fiecrei perechi de bii (de
aceeai semnificaie) din cele dou cuvinte.
Pentru determinarea rezumatului mesajului se fac urmtorii 5 pai.

Descrierea algoritmului MD5


Se consider c mesajul de intrare (elementul cruia i se aplic
funcia hash) are o lungime de b bii. Rezultatul aplicrii funciei
hash va fi rezumatul mesajului considerat. Forma mesajului iniial
este: m_0 m_1 ... m_{b-1}.
Pasul 1. Adugare de bii pentru egalizarea lungimii mesajului
Mesajul este extins astfel nct lungimea sa s devin egal cu 448
modulo 512. Se adaug un singur bit cu valoarea 1 i apoi se
aduag bii de valoare 0. Numrul de bii adugai poate varia ntre
1 i 512.

Pasul 3. Iniializarea registrului MD


Un registru de patru cuvinte (A,B,C,D) se folosete pentru
calculul rezumatului mesajului. De fapt cu A, B, C, D, au fost
notate patru registre de cte 32 de bii. Aceste registre sunt
ncrcate iniial cu urmtoarele valori, exprimate n hexazecimal
(cu biii cei mai puin semnificativi la nceput):
A
01
23
45
67
B
89
ab
cd
ef
C
fe
dc
ba
98
D
76
54
32
10

Pasul 2. Adugarea lungimii mesajului


O reprezentare pe 64 de bii a lungimii iniiale a mesajului, b, este
adaugat la rezultatul obinut n urma efecturii pasului anterior. n
ipoteza, puin probabil, c valoarea lui b este mai mare dect 2 la
puterea 64, se utilizeaz doar cei mai puin semnificativi 64 de bii ai
reprezentrii binare a valorii b. Acest cuvnt de 64 de bii se adauag
prin concatenarea a dou cuvinte de 32 de bii, primul fiind cel care
conine biii mai puin semnificativi. n acest punct al algoritmului, noul
mesaj obinut are o lungime egal cu un multiplu de 512. Deci acest
mesaj conine un numr ntreg de cuvinte de 16, respectiv 32 de bii. Fie
M[0 ... N-1] reprezentarea unui cuvnt al mesajului rezultat, unde N este
un multiplu de 16.

Pasul 4. Prelucrarea mesajului folosind blocuri de cte 16 cuvinte


Pentru nceput se definesc 4 funcii auxiliare, fiecare aplicndu-se la cte
3 cuvinte de cte 32 de bii i avnd ca valoare cte un cuvnt de 32 de
bii.
F(X,Y,Z) = XY v not(X) Z
G(X,Y,Z) = XZ v Y not(Z)
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X v not(Z))
Acest pas folosete un tabel cu 64 de elemente T[1 ... 64] construit cu
ajutorul valorilor funciei sinus. Fie T[i] cel de al i-ilea element al tabelului,
care este egal cu partea ntreag a produsului dintre 4294967296 i
valoarea absolut a lui sin(i), unde i este exprimat n radiani.
Pentru ncheierea acestui pas se efectueaz urmtoarele operaii:

/* Se prelucreaz fiecare bloc de cte 16 cuvinte. */


For i = 0 to N/16-1 do
/* Se copiaz cel de al i-ilea bloc n X. */
For j = 0 to 15 do
Set X[j] to M[i*16+j].
end /* al buclei dup j */
/* Salveaz A ca i AA, B ca i BB, C ca i CC, i D ca i DD. */
/* Iteraia 1. */
/* Se noteaz cu [abcd k s i]operaia:
a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
/* Se fac urmtoarele 16 operaii. */
[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]
/* Iteraia 2. */
/* Se noteaz cu [abcd k s i] operaia:
a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */

/* Se fac urmtoarele 16 operaii. */


[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21
56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21
60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]
/* Apoi se realizeaz urmtoarele adunri. (Acestea incrementeaz
fiecare dintre cele patru registre cu valorile pe care le-a avut naintea
nceperii acestui bloc.) */
A = A + AA
B = B + BB
C = C + CC
D = D + DD
end /* al buclei dup i */

/* Se fac urmtoarele 16 operaii. */


[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]
/* Iteraia 3. */
/* Se noteaz cu [abcd k s t] operaia:
a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
/* Se fac urmtoarele 16 operaii. */
[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]
/* Iteraia 4. */
/* Se noteaz cu [abcd k s t] operaia:
a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */

Pasul 5. Livrarea MD
Rezumatul mesajului produs cu algoritmul MD5 este obinut prin
concatenarea coninuturilor registrelor A, B, C i D obinute la
sfritul pasului anterior. La nceput se vor gsi biii cei mai puin
semnificativi ai registrului A iar la sfrit biii cei mai semnificativi
ai registrului D.
O alt funcie hash utilizat frecvent este SHA (prescurtarea de la
Secure Hash Algorithm), publicat de Guvernul American n anul
1995. Aceasta transform un fiier, mai scurt sau mai lung de
160 de bii, ntr-o secven de 160 de bii. i aceast funcie se
utilizeaz la construcia semnturilor digitale, fiind utilizat n
standardul DSS, n algoritmul DSA. Aceast funcie este
prezentat n documentul publicat de NIST intitulat FIPS 180-1.

Structura Feistel
Horst Feistel de la IBM a propus n anul 1973 o structur care a fost
aleas pentru algoritmul DES. Aceasta este o structur iterativ,
care are un numar fixat de iteraii. La prima iteraie se utilizeaz
textul clar iar rezultatul ultimei iteraii este textul cifrat. Cheia de
criptare K este utilizat pentru a genera cte o cheie ki la fiecare
iteraie, i. n fiecare iteraie, textul obinut la sfritul iteraiei
anterioare este mprit n 2 jumti Li i Ri.
Se folosesc formulele de recuren:
(1 Feistel)
L i+1 = Ri
i
(2 Feistel)
Ri+1 = f(Ri,ki) + Li,
unde cu + s-a notat operaia de sau-exclusiv i cu f() s-a notat o
funcie hash.

Algoritmi criptografici cu cheie


secret
S-a transformat radical modul de a face afaceri, de a guverna, de a
se distra i de a conversa cu prietenii i cu familia.
Documente private, erau pe hartie, livrate n mn i inute sub lact.
Acum create, trimise i pstrate electronic.
Scderea confidenialitii.
Adoptarea criptografiei.
Multe scheme de criptare utilizate astzi sunt simetrice (se bazeaz
pe o singur cheie, secret), aa cum o arat standardul american
DES. n continuare se prezint cteva dintre cele mai populare astfel
de metode.

O trstur util a acestei structuri este c n fiecare iteraie se


utilizeaz o alt funcie dac cheia specific a iteraiei este diferit
de cheile folosite n iteraiile anterioare i c se poate utiliza orice
numr de iteraii. Frumuseea acestei structuri este c, dei f este
dificil de inversat, aceast inversare nu este necesar pentru a
descifra Li+1 putndu-se utiliza tot funcia f, folosind cheia ki i apoi
se aplic funcia sau-exclusiv ntre rezultatul obinut i Ri+1:
iar:

Li = f(Ri,ki) + Ri+1 = f(Li+1,ki) + Ri+1


Ri= Li+1

(3 Feistel)

(4 Feistel)

Ideea lui Feistel conduce deci la folosirea aceleiai structuri hard sau soft
att pentru criptare ct i pentru decriptare.

Standardul de criptare a datelor (DES) a fost dezvoltat n anii 70 i


nc se utilizeaz pe scar larg, urmnd s fie nlocuit de
Standardul avansat de criptare a datelor Advanced Encryption
Standard (AES), care a fost omologat n anul 2000.
Algoritmul DES este nc popular mai ales n "industria bancar".
El este un sistem de cifrare pe blocuri, codnd textul n blocuri de
lungime fix, folosind o cheie tot de lungime fix. Exist i sisteme
de cifrare a irurilor care nu fac segmentarea n blocuri.
n anul 2000, Institutul National de Standardizare i Tehnologii al
S.U.A., United States' National Institute of Standards and
Technology (NIST), din Gaithersburg, a declanat o competiie
pentru conceperea unui nou standard de criptare simetric numit
Standardul de Criptare Avansat, Advanced Encryption Standard
(AES), care va inlocui standardul DES. Motivul principal este c
exist suspiciunea c Guvernul S.U.A. ar avea o "u din dos"
pentru a controla fiierele criptate folosind algoritmul DES.

Cei cinci finaliti ai acestei competiii sunt: programul Mars, creat


de IBM; programul RC6, realizat de RSA Laboratories i Ronald
Rivest de la Massachusetts Institute of Technology; programul
Rijndael, creat de doi belgieni, Joan Daemen i Vincent Rijmen;
programul Serpent, creat de Ross Anderson, Eli Biham i Lars
Knudsen, din Marea Britanie, Israel i Norvegia, i progamul
Twofish, creat de Bruce Schneier, de la Counterpane Internet
Security, Inc. Ctigtorul acestui concurs a fost programul
Rijndael.
Triplu DES. Criptnd un mesaj deja criptat cu algoritmul DES cu
ajutorul unei noi chei crete securitatea acestuia dar aceasta poate
fi crescut i mai mult dac se mai efectueaz nc o criptare
DES. Algoritmul obinut astfel este mai lent dar mai sigur.
Majoritatea implementrilor noului algoritm utilizeaz doar dou
chei, cheia 1 este folosit la prima i la cea de a treia criptare iar
cheia 2 la cea de a doua criptare.

Algoritmul DES
Cei 64 de bii ai unui bloc de text clar
care urmeaz s fie criptat sufer o
permutare iniial IP:
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
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
Primul bit al irului obinut dup
permutarea iniial este cel de-al 58-lea
bit al blocului de text clar, cel de al
doilea bit al irului obinut dup
permutarea iniial este cel de al 50-lea
bit al blocului de text clar .a.m.d. irul
de bii obinut n urma permutrii iniiale
este prelucrat apoi de o schem de
calcul dependent de chei, descris n
continuare.

Algoritmul internaional de criptare de date (IDEA) folosete


o cheie de 128 de bii, conceput la ETH Zurich. IDEA se
folosete n programele PGP (de pot electronic criptat)
i Speak Freely (un program care realizeaz criptarea
semnalului vocal digitizat care se transmite pe Internet).
Blowfish este un cod bloc de 64 de bii care folosete chei
de lungimi cuprinse ntre 32 i 448 de bii. A fost conceput
de ctre Bruce Schneier de la Counterpane Internet Security
Inc., San Jose, California i este utilizat n peste 100 de
produse.
Twofish de asemenea conceput de Schneier, este un
program de criptare foarte bun i este unul dintre cei cinci
candidai considerai pentru standardul AES.
RC4 este un program de cifrare a irurilor de date proiectat
de ctre Ronald Rivest de la RSA Security Inc., Bedford,
Massachusetts. El adun bit cu bit ieirea unui generator de
numere pseudoaleatoare cu irul de bii ai unui text clar.

Prima etap, Expandarea (E):


n fiecare iteraie, partea dreapt
este la nceput expandat de la 32 la
48 de bii, prin considerarea sa ca o
grupare de 8 nybbles (cantitate de 4
bii) i prin copierea celor 8 nybbles
n centrele (de cte 4 bii) ale celor 8
grupri de cte 6 bii (existente n
cadrul irului destinaie de 48 de bii).
Biii extremi, din stnga i din
dreapta ai gruprilor de 6 bii
(destinaie) sunt obinui prin
copierea biilor extremi ai nybble-ului
corespunztor din irul original de 32
de bii. De exemplu prima grupare de
6 bii const din biii: 31, 0, 1, 2, 3 i
4 iar cea de a doua const din biii
3,4,5,6,7 i 8.

A doua etap, Sau-exclusiv (+):


ntre aceste 8 grupri de 6 bii i cheia iteraiei se
efectueaz sau-exclusiv, rezultatul fiind salvat n
una din cele 8 "cutii" de tip S (S-boxe).
A treia etap, Salvarea (S):
n fiecare cutie de tip S ajunge cte o grupare de
6 bii creia, folosind un "selector" (construit cu
cei doi bii de la capete) i se aplic una dintre cele 4
substituii ale celor 4 bii centrali. Din cele 8 grupri de cte 4 bii centrali se
obine un ir de 32 de bii.
A patra etap, Permutarea (P):
Acestui ir i se aplic o nou permutare (se zice c irul este pus ntr-o
cutie de tip P) i apoi se calculeaz sau-exclusiv ntre rezultat i partea
stng a structurii Feistel. Operaia de expandare poate fi descris i cu
ajutorul unui tabel de selecie a biilor.
32 1
2 3
4
5
Funcia E transform irul de 32 de bii ntrun bloc de 48 de bii. Blocul de 48 de bii
rezultat este reprezentat ca i o mulime de
8 blocuri de cte 6 bii fiecare i se obine
prin alegerea biilor din irul de intrare (de
32 de bii) n concordan cu tabelul :

4
8
12
16
20
24
28

5
9
13
17
21
25
29

6
10
14
18
22
26
30

7
11
15
19
23
27
31

8
12
16
20
24
28
32

9
13
17
21
25
29
1

Deci primii trei bii ai irului E(R) sunt biii din poziile 32, 1 i 2 ale irului R
n timp ce ultimii 2 bii ai irului E(R) sunt biii din poziiile 32 i 1 ale irului
R. i operaia de salvare S poate fi descris cu ajutorul unor tabele de
selecie a biilor. Fiecare dintre funciile de selecie S1,S2,...,S8,
transform un bloc de intrare de 6 bii ntr-un bloc de ieire de 4 bii. n
acest scop se poate folosi cte un tabel de ordonare a biilor. Tabelul de
selecie pentru S1 are forma urmtoare:
Numr coloan
Linie
0
0
1
2
3

1 2

9 10 11 12 13 14

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

0
3
5
6

15
7
8
0
13

Dac B este un bloc de 6 bii, atunci S1(B) se determin dup cum urmeaz: Primul
i ultimul bit al lui B reprezint n baza 2 un numr cuprins ntre 0 i 3. Fie acest
numr k. Cei 4 bii din mijlocul lui B reprezint n baza 2 un numr cuprins ntre 0 i
15. Fie acest numr l. Se alege din tabel numrul din linia k i din coloana l. Acesta
este un numr cuprins ntre 0 i 15 i deci este reprezentat pe 4 bii. Acest bloc de 4
bii reprezint irul S1(B) al lui S1 pentru intrarea B. De exemplu, pentru intrarea
011011 se obine linia 01, adic 1 i coloana 1101, adic 13. n linia 1 i coloana 13
se gsete 5 i deci rezultatul este 0101.

Tabelele de selecie pentru cutiile S2,...,S8 sunt:


S2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
S4
7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15
13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
S5
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3

S6
12
10
9
4
S7
4
13
1
6
S8
13
1
7
2

1 10 15
15 4 2
14 15 5
3 2 12

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

11 2 14 15
0 11 7 4
4 11 13 12
11 13 8 1
2 8
15 13
11 4
1 14

0 8 13 3 12
9 1 10 14 3
3 7 14 10 15
4 10 7 9 5

9 7 5 10
5 12 2 15
6 8 0 5
0 15 14 2

6 1
8 6
9 2
3 12

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

Permutarea P poate fi descris cu ajutorul


urmtorului tabel:
16 7 20 21
29 12 28 17
1 15 23 26
5 18 31 10
2 8 24 14
32 27 3 9
19 13 30 6
22 11 4 25
Valoarea P(L) a funciei P definit de acest
tabel este obinut pe baza irului de bii L
considernd c cel de al 16-lea bit al lui L
este primul bit al lui P(L), c cel de al 7-lea bit
al lui L este cel de al doilea bit al lui P(L),
.a.m.d.
n continuare se explic modul de generare a
cheilor, folosite n cadrul algoritmului DES.
Cheia Ki (vezi relaia (2)), pentru 1 i 16,
este un bloc de 48 de bii.

PC-1
57 49
1 58
10 2
19 11

41
50
59
3

33
42
51
60

25
34
43
52

17 9
26 18
35 27
44 36

63 55 47 39
7 62 54 46
14
6 61 53
21 13 5 28

31
38
45
20

23 15
30 22
37 29
12 4

Tabelul este mprit n dou pri, cu cea de sus efectundu-se


alegerea biilor din irul C() iar cu cea de jos alegerea biilor din
irul D() . Numerotnd biii CHEII de la 1 la 64, irul C() este format
cu ajutorul celui de al 57-lea bit al CHEII, urmat de cel de al 49-lea
bit al CHEII, urmat de cel de al 41-lea bit al CHEII,...,urmat de cel
de al 44-lea bit al CHEII i de cel de al 36-lea bit al CHEII. irul de
bii D() este format din biii CHEII cu numerele de ordine 63, 55,
47,..., 12 i 4.
Cu irurile C() i D() definite astfel se pot calcula blocurile Cn i Dn
pe baza blocurilor Cn-1 i Dn-1, pentru n = 1, 2,..., 16.

Analiznd aceast figur se constat c


pentru generarea cheilor de criptare se fac
dou tipuri de operaii: permutri i
deplasri la stnga. n continuare se
prezint aceste dou tipuri de operaii. Cte
un bit din fiecare octet al unei chei poate fi
utilizat pentru detecia de erori n generara
cheilor, distribuirea cheilor i stocarea
cheilor. Biii 8, 16,..., 64 dintr-o cheie se
folosesc pentru a asigura imparitatea
fiecrui octet. De aceea s-a afirmat c
numrul de bii ai cheii algoritmului DES
este 56 dei n figura 3 crpt blocul iniial are
doar 48 de bii. Varianta 1 de permutare
este realizat cu ajutorul urmtorului tabel:

Aceast sarcin este ndeplinit cu ajutorul operaiilor de deplasare la


stnga ale blocurilor individuale. Numrul de deplasri la stnga cerut n
fiecare iteraie este specificat n tabelul urmtor:
Numarul iteraiei Numrul de deplasri la stnga
1
1
2
1
3
2
4
2
5
2
6
2
7
2
8
2
9
1
10
2
11
2
12
2
13
2
14
2
15
2
16
1

Moduri de aplicare ale


algoritmului DES

Cea de a doua variant de permutare este descris de tabelul:


PC-2
14
3
23
16
41
30
44
46

17
28
19
7
52
40
49
42

11
15
12
27
31
51
39
50

24
6
4
20
37
45
56
36

1 5
21 10
26 8
13 2
47 55
33 48
34 53
29 32

Deci primul bit al cheii Kn este cel de al 14-lea bit al secvenei


obinut prin concatenarea irurilor Cn Dn, cel de al doilea bit al
cheii celei de a n-a iteraie este cel de al 17-lea al secvenei
concatenate .a.m.d.

ECB - Electronic Code Book - Textul clar al mesajului, M, este mprit n


blocuri de 64 de bii i fiecare dintre aceste blocuri este criptat folosind
cheia K. Acest mod de aplicare este sensibil la atacuri de tipul cut&paste.
CBC - Cipher Block Chaining -M este din nou segmentat n blocuri de 64 de
bii. Acestea sunt cifrate ca la ECB. Se calculeaz funcia sau-exclusiv ntre
blocul curent de text clar i blocul anterior cifrat. Rezultatul se cripteaz cu
cheia K. La nceput se calculeaz sau-exclusiv ntre primul bloc de text clar
i un vector de iniializare (IV). n scopul decriptrii, fiecare bloc este prima
dat descifrat folosind cheia K i apoi se calculeaz funcia sau-exclusiv
ntre rezultat i anteriorul bloc de text cifrat sau IV. Erorile de transmisie vor
afecta dou blocuri. Anumii bii dintr-un bloc de text clar vor fi schimbai
dac blocul precedent a fost atacat.
OFB - Output Feedback -Un vector de iniializare este criptat folosind cheia
K i apoi cei mai din stnga k bii ai rezultatului se utilizeaz ca i un ir
cheie. Apoi se consider urmtorii (spre dreapta) k bii din vectorul de
iniializare i acest nou ir este criptat pentru a se obine noul ir cheie.
Pentru a se produce textul cifrat se calculeaz sau-exclusiv ntre blocurile
textului clar i irurile cheie. Decriptarea este foarte simpl. Se genereaz
aceleai iruri cheie i se calculeaz sau-exclusiv ntre blocurile textului
cifrat i aceste iruri cheie.

Variante de DES

DES cu sub-chei independente- La fiecare iteraie se utilizeaz o cheie


independent. Aceste chei nu se mai genereaz cu metoda descris, ci se
extrag direct din cheia principal. Aceast cheie are un numr total de 768
de bii (16 iteraii x 48 de bii). n acest mod atacurile bazate pe fora brut
devin impracticabile.
DESX- Este o variant dezvoltat la RSA Data Security Inc. bazat pe o
tehnic numit de transparen. Pe lng cheia obinuit de 56 de bii se
mai genereaz i o cheie de 64 de bii, numit cheie transparent. Aceti 64
de bii sunt nsumai cu fiecare bloc de text clar nainte de aplicarea
algoritmului DES clasic. Dup ultima iteraie a algoritmului DES se face
suma modulo 2 ntre rezultat i cheia transparent.
DES generalizat (GDES). Aceast variant a fost proiectat pentru a mri
viteza algoritmului. Se lucreaz cu blocuri de text clar de dimensiune mai
mare, dar numrul de operaii de calcul rmne constant.
Blocurile de text clar, de dimensiune variabil, sunt mprite n q subblocuri de 32 de bii. La fiecare iteraie se construiete funcia f pentru cel
mai din dreapta sub-bloc. Rezultatul este nsumat modulo 2 cu toate
celelalte sub-blocuri de text clar care sunt apoi rotite spre dreapta. Numrul
de iteraii este variabil. Dac se alege un numr de 16 iteraii i valoarea 2
pentru q se obine algoritmul DES clasic.
DES cu cutii S alternative. Este o variant n care construcia cutiilor S
este diferit de cea descris mai sus. n unele cazuri dimensiunile acestor
cutii sunt variabile. Dac construcia acestor cutii depinde de cheie atunci
se obine varianta de DES numit DES cu cutii S dependente de cheie.
Avantajul acestei variante este c poate fi implementat hard.

5.2.2 Algoritmul IDEA


A fost conceput n Elveia de ctre Xuejia Lai i James
Massey n anul 1992. Patentul su se gsete la firma
Ascom. Principala sa aplicaie este programul de
criptare PGP.

Este unul dintre sistemele de criptare cele mai rapide i mai


sigure disponibile la ora actual.
Folosete o cheie de 128 de bii.
Pe baza acesteia se construiesc 52 de sub-chei cu lungimea de
16 bii fiecare. Cte dou dintre acestea se utilizeaz la fiecare
dintre cele 8 iteraii ale algoritmului i cte 4 se utilizeaz
naintea fiecrei iteraii i dup ultima iteraie.
Nu folosete nici un tabel de alocare de bii i nici o cutie de tip
S. Cifrarea i descifrarea se fac pe blocuri de cte 64 de bii. Se
bazeaz pe utilizarea unor operaii algebrice utile n operaiile de
criptare cum ar fi suma modulo 2, suma modulo 216, produsul
modulo 216 +1.

Operaia de nmulire cu zero are ca rezultat zero i nu este o


operaie inversabil. Dar nmulirea folosit n acest algoritm trebuie
s fie o operaie inversabil.
Numrul 216 +1 are valoarea 65537 i este prim. Pe baza tabelului
de nmulire specific mulimii claselor de resturi modulo 216 +1 se
constat c aceast operaie este inversabil dac se evit
nmulirea cu zero (se elimin din tabel prima linie i prima coloan).
Toate aceste operaii se efectueaz asupra unor sub-blocuri de 16
bii. S-a dovedit c IDEA este mai sigur dect DES la atacuri de
criptanaliz diferenial.

Fie cele patru sferturi ale textului clar care


trebuie criptat notate cu A, B, C i D, i
cele 52 de sub-chei notate cu K(1)
K(52). nainte sau n cursul primei iteraii
se efectueaz urmtoarele operaii:
Se nmulete A cu K(1). Rezultatul va
reprezenta noua valoare a lui A. Se adun
modulo 216 K(2) la B. Rezultatul va
reprezenta noua valoare a lui B. Se adun
modulo 216 K(3) la C. Rezultatul va
reprezenta noua valoare a lui C. Se
nmulete D cu K(4). Rezultatul va
reprezenta noua valoare a lui D.
Prima iteraie propriuzis const din
executarea urmtoarelor operaii:
Se calculeaz suma modulo 2 dintre A i
C (rezultatul se noteaz cu E). Se
calculeaz suma modulo 2 dintre B i D (i
se noteaz cu F). Se nmulete F cu K(5).
Rezultatul reprezint noua valoare a lui F.
Se adun modulo 216 noua valoare a lui F
la E. Rezultatul va reprezenta noua
valoare a lui E. Se nmulete noua
valoare a lui E cu K(6).

Se adun rezultatul, care


reprezint noua valoare a lui F, la E.
Se modific valorile lui A i C
nsumnd modulo 2 aceste valori cu
valoarea curent a lui F. Se modific
valorile lui B i D, nsumnd modulo
2 aceste valori cu valoarea curent
a lui E.
Celelalte 7 iteraii sunt identice, doar
c se folosesc celelalte sub-chei: de
la K(7) la K(12) pentru cea de a
doua iteraie i de la K(43) la K(48)
pentru cea de a 8-a iteraie. La
ultima iteraie nu se mai face
substituia final dintre A i C
respectiv B i D.
Ultimele operaii sunt: Se nmulete
A cu K(49). Se adun modulo 216
K(50) la B. Se adun modulo 216
K(51) la C. Se nmulete D cu
K(52).

Decriptarea

Cum se poate inversa o iteraie a algoritmului


IDEA, cnd toate cele 4 blocuri se modific n
acelai timp ? Rspunsul se bazeaz pe o
proprietate a sumei modulo 2. Suma modulo
2 a dou variabile A i C nu se modific
atunci cnd cele dou variabile sunt nsumate
modulo 2 cu o aceeai variabil, X.
Demonstraie
An = Av + X ; C n = C v + X ;

An + C n = Av + C v + X + X = Av + C v
Se observ c variabila X a disprut.
Aceeai proprietate este valabil i
pentru variabilele B i D.

ntruct variabilele folosite n iteraiile


algoritmului IDEA sunt funcii de A + C i B + D
rezult c cele 4 variabile pot fi recuperate.
Inversarea operaiei de adunare modulo 216
se face prin calculul complementului fa de
2.
Pentru prima iteraie a algoritmului de
decriptare se utilizeaz urmtoarele chei:
KD(1) = 1/K(49)
KD(2) = -K(50)
KD(3) = -K(51)
KD(4) = 1/K(52)

Pentru cheile din urmtoarele iteraii procedura


descris n continuare se repet de 8 ori, adunnd
6 la fiecare indice al unei chei de decriptare i
scznd 6 din fiecare indice al unei chei de
criptare:
KD(5) = K(47)
KD(6) = K(48)
KD(7) = 1/K(43)
KD(8) = -K(45)
KD(9) = -K(44)
KD(10) = 1/K(46)
Generarea sub-cheilor
Primele 8 sub-chei se obin prin segmentarea cheii
originale a algoritmului IDEA n segmente de 16
bii. Apoi se efectueaz o deplasare circular la
stnga a cheii originale cu 25 de poziii i o nou
segmentare obinndu-se urmtoarele 8 chei.
Aceast procedur de deplasare la stnga i
segmentare este repetat pn cnd se obin
toate cele 52 de chei de criptare necesare.

5.2.3. Algoritmul BLOWFISH

Acest algoritm a fost conceput de Bruce Schneier.


Este un algoritm de criptare bazat pe o structura Feistel. A fost
aleas o funcie f mai simpl dect n cazul algoritmului DES
obinndu-se aceeai securitate dar o eficien i cu o vitez de
calcul sporite.
Cea mai important particularitate a algoritmului Blowfish este
metoda de generare a cheilor. Cheile iteraiilor precum i ntregul
coninut al cutiilor de tip S sunt create prin iteraii multiple ale
sistemului de criptare de bloc. n acest mod crete securitatea
sistemului de criptare mpotriva atacurilor bazate pe metode
exhaustive de cutare a cheilor, chiar i pentru chei scurte.
Spre deosebire de DES, Blowfish aplic funcia f jumtii din
stnga a blocului de text clar rezultatul fiind nsumat modulo 2 cu
jumtatea din dreapta a blocului. Se fac 16 iteraii.
La nceputul fiecrei iteraii se calculeaz suma modulo 2 dintre
blocul din stnga i sub-cheia corespunztoare acelei iteraii. Apoi
se aplic funcia f blocului din stnga i rezultatul se adun modulo
2 cu blocul din dreapta. La sfritul ultimei iteraii se substituie una
celeilalte cele dou jumti de bloc obinute.

n fiecare iteraie se folosete o singur sub-cheie, funcia f nu


folosete nici o sub-cheie, dar folosete cutii S care depind de
sub-cheie. Dup ultima iteraie se calculeaz suma modulo 2 a
jumtii din dreapta a blocului de bii cu sub-cheia 17 i se
calculeaz suma modulo 2 a jumtii din stnga a blocului de
bii cu sub-cheia 18.
Funcia f
Blowfish folosete 4 cutii de tip S. Fiecare are 256 de intrri la
care se aduc blocuri de cte 32 de bii.
Calculul funciei f se bazeaz pe urmtoarea succesiune de
operaii: Se folosete primul octet al blocului de 32 de bii de
intrare pentru a gsi o intrare n prima cutie de tip S, cel de al
doilea octet pentru a gsi o intrare n cea de a doua cutie de tip
S, .a.m.d. Valoarea funciei f este:
(( S1( B1) + S 2( B 2)) + S 3( B3)) + S 4( B 4))
32
unde se folosete adunarea modulo 2 , notat cu + .

Decriptarea
Decriptarea se realizeaz la fel ca i criptarea, folosind cele 18 subchei de iteraie n ordine invers. Se poate face aa deoarece se
folosete proprietatea sumei modulo 2 demonstrat la prezentarea
decriptrii algoritmului IDEA. ntr-adevr exist dou operaii de
adunare modulo 2 dup ultima utilizare a funciei f i numai una
singur naintea primei utilizri a funciei f.
Generarea sub-cheilor
Acest proces convertete o cheie iniial de cel mult 448 de bii n
cteva zone de sub-chei care ocup un spaiu de 4168 de octei.
Blowfish folosete un numr mare de sub-chei. Acestea trebuiesc
generate naintea oricrei operaii de criptare sau de decriptare. n
continuare se prezint zonele de sub-chei.
Zona 1. Este numit i zona P i const din 18 sub-chei de 32 de
bii: P1, P2,..., P18.

3. Se cripteaz texte n clar formate numai din bii nuli cu algoritmul


Blowfish folosind sub-cheile descrise n paii (1) i (2).
4. Se nlocuiesc cheile P1 i P2 cu rezultatul obinut la pasul (3).
5. Se cripteaz rezultatul obinut la pasul (3) folosind algoritmul
Blowfish cu cheile obinute la pasul (4).
6. Se nlocuiesc cheile P3 i P4 cu rezultatul obinut la pasul (5).
7. Se continu procesul, nlocuind toate elementele zonelor 1 i 2 cu
rezultatele aplicrii algoritmului Blowfish.
Pentru generarea tuturor sub-cheilor de care este nevoie sunt
necesare 521 de rulri ale algoritmului Blowfish.

Zona 2. Este zona cutiilor de tip S. Exist 4 cutii de tip S de 32 de


bii, fiecare cu 256 de intrri:
S1,0, S1,1,..., S1,255;
S2,0, S2,1,..,, S2,255;
S3,0, S3,1,..., S3,255;
S4,0, S4,1,..., S4,255.
Generarea sub-cheilor se face folosind algoritmul Blowfish. Etapele
de generare a cheilor sunt:
1. Iniializarea zonelor 1 i apoi 2, n ordine, cu un ir fixat. Acest ir
const din partea fracionar a numrului pi exprimat n forma
hexa-zecimal.
2. Se calculeaz suma modulo 2 ntre P1 i primii 32 de bii ai cheii
iniiale, se calculeaz suma modulo 2 ntre P2 i urmtorii 32 de bii
ai cheii iniiale, .a.m.d. (e posibil s se depeasc P18). Acest
ciclu se repet pn cnd ntreaga zon 1 a fost nsumat modulo 2
cu bii ai cheii iniiale a algoritmului Blowfish. Pentru orice cheie
iniial scurt exist cel puin o cheie echivalent mai lung; de
exemplu dac A este o cheie de 64 de bii atunci AA, AAA, etc. sunt
chei echivalente.

O particularitate a algoritmului Blowfish este utilizarea cutiilor de tip


S dependente de chei. Aceast construcie are cteva avantaje:
Se realizeaz o bun protecie mpotriva atacurilor prin
criptanaliz liniar sau diferenial;
Implementarea cutiilor variabile este mai simpl dect cea a
unor cutii fixe;
Reducerea necesitii stocrii unor structuri de date mari.
Exist cteva modaliti de simplificare a algoritmului Blowfish care
pot conduce la reducerea volumului de memorie ocupat precum i la
creterea vitezei. Acestea sunt prezentate n continuare:
Utilizarea unui numr mai mic de cutii de tip S, de dimensiuni
mai mici ;
Reducerea numrului de iteraii (de exemplu de la 16 la 8).
Numrul de iteraii necesar pentru asigurarea unui anumit
nivel de securitate depinde de lungimea sub-cheilor folosite.
Utilizarea unei metode neiterative de calcul al sub-cheilor. n
acest mod s-ar putea obine chei independente una de
cealalt.

5.2.4. Algoritmul TWOFISH


Twofish este un algoritm de criptare a blocurilor de 128 de bii care
lucreaz cu o cheie variabil de lungime maxim de 256 de bii.
Sunt folosite 40 de sub-chei de 32 de bii. La nceputul algoritmului
se calculeaz suma modulo 2 ntre 4 chei i blocul de text clar, iar la
sfritul su se calculeaz suma modulo 2 ntre alte 4 chei i
ntregul text rezultat. Face 16 iteraii ale unei structuri Feistel
folosind o funcie f bijectiv construit cu ajutorul a 4 cutii de tip S
dependente de chei, cu ajutorul unei matrici fixe de dimensiune 4x4,
cu ajutorul unei transformri pseudo-Hadamard, cu ajutorul unor
rotaii de bii i cu ajutorul unei scheme de generare a cheilor. n
fiecare iteraie sunt folosite 2 sub-chei. Acest algoritm poate fi
implementat i hard folosind un numr de 14000 de pori logice.
Liberatea de proiectare a funciei de iteraie i a sub-cheilor permite
o mare variabilitate a raportului dintre viteza de calcul i lungimea
programului.

Rezultatul acestei nmuliri este un ir de


16 bii. Acesta este redus la un ir de 8
bii folosind urmtoarea metod:
Polinomul modul, considerat ca i irul
binar 101101001, este rotit la stnga
pn cnd primul su bit coincide cu
primul bit de 1 al rezultatului. Apoi se
calculeaz suma modulo 2 dintre
polinomul modul rotit i rezultat. Aceast
sum reprezint noul rezultat. Apoi se
rotete polinomul modul spre dreapta
pn cnd primul su bit coincide cu
primul bit de 1 din noul rezultat. Apoi se
calculeaz suma modulo 2 dintre
rezultat i polinomul modul rotit. Astfel
se obine noul rezultat. Aceast
procedur se repet pn cnd
lungimea rezultatului devine egal sau
mai mic dect 8. n acest fel la ieirile
celor 4 cutii de tip S se obin 4 iruri de 8
bii (adic 32 de bii pentru Q0 i 32 de
bii pentru Q1). Aceste dou iruri de 32
de bii sunt amestecate cu ajutorul unei
transformri Pseudo-Hadamard (PHT).

O iteraie a algoritmului Twofish


Blocul de text clar este mprit n
patru sferturi:
Q3 este rotit cu o poziie spre stnga.
Q0 i Q1 sunt rotite spre stnga cu 8
poziii i sunt trimise la cele 4 cutii de
tip S dependente de sub-cheie care
au intrri i ieiri de 8 bii. Apoi octeii
din fiecare cutie de tip S sunt
"combinai" prin nmulire matricial cu
urmtoarea matrice (numit matrice
MDS):
01 EF 5B 5B
5B EF EF 01
EF 5B 01 EF
EF 01 EF 5B
peste cmpul Galois al lui 28. Fiind
vorba despre octei se face o nmulire
modular de polinoame cu coeficienii
din GF(28), modulo x8 + x 6 + x5 + x3 + 1

Apoi prima sub-cheie pentru iteraie este


adunat la cea format din Q0 i se
calculeaz suma modulo 2 ntre rezultatul
obinut i Q2. Cea de a doua sub-cheie
pentru iteraie este adunat la cheia
format din Q1 i se calculeaz suma
modulo 2 ntre rezultatul obinut i Q3. La
sfrit, Q2 se rotete cu o poziie la dreapta
i cele dou jumti ale blocului i
schimb poziia (Q0 se schimb cu Q2 iar
Q1 se schimb cu Q3).
La fel ca i la algoritmul DES cele dou
jumti nu se schimb ntre ele dup
ultima iteraie.

Generarea cheilor
Procesul de generare a cheilor ncepe
prin construcia vectorilor pentru 3 chei
fiecare avnd o lungime egal cu
jumtate din lungimea cheii iniiale. Primii
2 vectori se construiesc prin mprirea
cheii iniiale n blocuri de 32 de bii.
Numerotnd aceste pri ncepnd cu
zero, cele cu indici pari devin M(e), iar
cele cu indici impari devin M(o).
Cel de al treilea vector se formeaz
mprind cheia iniial n blocuri de 64 de
bii i construind o parte de 32 de bii a
vectorului cheie prin nmulirea fiecrui
bloc de 64 de bii cu matricea RS:

01
A4
02
A4

A4
56
A1
55

55
82
FC
87

87 5A 58 DB 9E
F3 1E C6 68 E5
C1 47 AE 3D 19
5A 58 DB 9E 03

Aceast nmulire matricial corespunde


unei nmuliri peste cmpul Galois al lui 28
cu polinomul modul
x8 + x 6 + x 3 + x 2 + 1

Cuvintele rezultante cu lungimea de 32 de


bii sunt apoi plasate n ordine invers n
vectorul cheie notat S. Fiecare dintre cutiile
de tip S fixe, cu intrri i ieiri de 8 bii,
notate q(0) i q(1) este construit pornind
de la 4 cutii de tip S cu intrri i ieiri de 4
bii. Pentru q(0), cutiile de tip S sunt:
Intrare 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
-------------------------------------------------------------T0 8 1 7 13 6 15 3 2 0 11 5 9 14 12 10 4
T1 14 12 11 8 1 2 3 5 15 4 10 6 7 0 9 13
T2 11 10 5 14 6 13 9 0 12 8 15 3 2 4 7 1
T3 13 7 15 4 1 2 6 14 9 11 3 0 8 5 12 10

Pentru q(1), cutiile de tip S sunt:


Intrare 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
--------------------------------------------------------------T0 2 8 11 13 15 7 6 14 3 1 9 4 0 10 12 5
T1 1 14 2 11 4 12 3 7 6 13 10 5 15 9 0 8
T2 4 12 7 5 1 6 9 10 0 14 13 8 2 11 3 15
T3 11 9 5 1 12 3 13 14 6 4 7 15 2 0 8 10
Fiecare cutie de tip S se construiete dup cum urmeaz:
Octetul de intrare este mprit n prile sale mai semnificativ i
mai puin semnificativ, A i B.
Noua valoare a lui A este suma modulo 2 a vechilor valori ale lui A
i B.
Noua valoare a lui B este suma modulo 2 a vechilor valori ale lui A
i B rotite la dreapta cu o poziie sau cu opt poziii dac vechea
valoare a lui A a fost impar.
Noile valori ale lui A i B substituie vechile valori A i B la intrrile T0 i
T1 ale cutiilor S pe 16 bii.

Noua valoare a lui A este suma modulo 2 a vechilor valori ale


lui A i B.
Noua valoare a lui B este suma modulo 2 a vechilor valori ale
lui A i B rotite la dreapta cu o poziie sau cu opt poziii dac
vechea valoare a lui A a fost impar.
Noile valori ale lui A i B substituie vechile valori A i B la
intrrile T2 i T3 ale cutiilor S pe 16 bii.
A i B sunt combinate apoi n ordine invers pentru a forma
octetul rezultat.
Cele 4 cutii de tip S dependente de chei se formeaz din
elementele de 32 de bii ale vectorului cheie S dup cum
urmeaz:
Dac cheia iniial are o lungime de 256 de bii atunci vectorul cheie
S are 4 elemente de 32 de bii, S(0), S(1), S(2), i S(3). n acest caz
utilizarea celor 4 cutii de tip S dependente de cheie este echivalent
cu efectuarea urmtoarelor operaii:

output = q(0)(S(0,0) xor q(1)(S(1,0) xor q(1)(S(2,0) xor q(0)(S(3,0)


xor q(1)(input))))
output = q(1)(S(0,1) xor q(1)(S(1,1) xor q(0)(S(2,1) xor q(0)(S(3,1)
xor q(0)(input))))
output = q(0)(S(0,2) xor q(0)(S(1,2) xor q(1)(S(2,2) xor q(1)(S(3,2)
xor q(0)(input))))
output = q(1)(S(0,3) xor q(0)(S(1,3) xor q(0)(S(2,3) xor q(1)(S(3,3) xor
q(1)(input))))
unde S(2,1) reprezint octetul 1 al cuvntului 2 din vectorul cheie S.
Dac cheia iniial are o lungime de 192 de bii definirea cutiilor S se
simplific la:
output = q(0)(S(0,0) xor q(1)(S(1,0) xor q(1)(S(2,0) xor q(0)(input)))
output = q(1)(S(0,1) xor q(1)(S(1,1) xor q(0)(S(2,1) xor q(0)(input)))
output = q(0)(S(0,2) xor q(0)(S(1,2) xor q(1)(S(2,2) xor q(1)(input)))
output = q(1)(S(0,3) xor q(0)(S(1,3) xor q(0)(S(2,3) xor q(1)(input)))

Dac cheia iniial are o lungime de doar 128 definirea cutiilor S se


simplific i mai mult:
output = q(0)(S(0,0) xor q(1)(S(1,0) xor q(1)(input))
output = q(1)(S(0,1) xor q(1)(S(1,1) xor q(0)(input))
output = q(0)(S(0,2) xor q(0)(S(1,2) xor q(1)(input))
output = q(1)(S(0,3) xor q(0)(S(1,3) xor q(0)(input))
Sub-cheile care se adun la ieirile funciilor nainte de a se calcula
suma lor modulo 2 cu un alt sfert de bloc sunt generate de un
proces asemntor cu o iteraie a algoritmului Twofish, dar cu cutii
de tip S dependente de chei derivate din vectorii M(e) i M(o) i nu
din vectorul S. Intrrile n toi cei patru octei ai unui cuvnt
reprezint numrul obinut prin nmulirea numrului iteraiei cu 2 i
adunarea lui 1 iar paii de rotire la stnga au loc fie nainte de
calculul funciei f, fie dup: o rotire la stnga cu 8 poziii se
efectueaz nainte de PHT iar o rotire cu 9 poziii la stnga se
efectueaz dup.

5.2.5. Algoritmul RC6


Proiectat de Ronald C. Rivest, n anul 1998, RC6 se bazeaz pe
iteraii de structuri Feistel. Acestea nu opereaz ns asupra celor
dou jumti ale blocului de date, ci asupra unor perechi de sferturi
ale blocului de date. ntre aceste iteraii au loc transferuri de date.
Particularitatea cea mai important a acestui algoritm este utilizarea
unor deplasri circulare cu numere de poziii dependente de datele
de cifrat. Un alt element neliniar utilizat n construcia functiei f,
specific unei structuri Feistel, utilizat n algoritmul RC6 este o
funcie ptratic.
Algoritmul este conceput n aa fel nct s poat lucra cu blocuri de
lungime variabil, cu o cheie iniial de lungime variabil i s
efectueze un numr variabil de iteraii. n continuare se prezint
varianta propus pentru competiia destinat construciei
standardului AES. Descrierea original este disponibil la adresa
http://theory.lcs.mit.edu/~rivest

RC6 foloeste 44 de sub-chei, notate


S0 S43, fiecare avnd lungimea de
32 de bii. Textul n clar este segmentat
n blocuri de 128 de bii. Fiecare bloc
obinut astfel este mprit n 4 sferturi,
de lungimi egale notate A, B, C, i D.
Primii 4 octei criptai formeaz noul A,
primul octet codat reprezentnd cel mai
puin semnificativ octet al noului A.
RC6 ncepe cu un pas iniial de albire; se calculeaz suma modulo 2 ntre
B i S0, respectiv ntre D i S1. Fiecare iteraie a algoritmului RC6 folosete
2 sub-chei; pentru construcia primeia se utilizeaz S2 i S3,
Iteraii succesive utiliznd chei succesive.
O iteraie a algoritmului RC6 se desfoar dup cum urmeaz:
Rezultatul aplicrii funciei f blocului B (f(x) = x(2x+1)), este rotit la stnga
cu 5 poziii, ntre noul rezultat i blocul A calculndu-se suma modulo 2.
Rezultatul aplicrii funciei f blocului D este rotit cu 5 poziii spre stnga i
apoi se calculeaz suma modulo 2 ntre noul ir obinut i blocul C.

Se efectueaz o deplasare circular spre stnga a blocului C. Numrul


de poziii cu care se face aceast deplasare este specificat de cei mai
semnificativi 5 bii ai irului obinut prin aplicarea funciei f blocului B i
rotirea la stnga cu 5 poziii.
Se efectueaz o deplasare circular spre stnga a blocului A. Numrul
de poziii cu care este efectuat aceast deplasare este specificat de cei
mai semnificativi 5 bii ai irului obinut prin aplicarea funciei f blocului D
i rotirea rezultatului cu 5 bii spre stnga.
Apoi se calculeaz suma modulo 2 ntre prima sub-cheie a iteraiei i
blocul A i suma modulo 2 ntre cea de a doua sub-cheie a iteraiei i
blocul C.
Apoi cele 4 sferturi ale blocului sunt rotite dup cum urmeaz: Valoarea
lui A este plasat n D, valoarea lui B este plasat n A, valoarea lui C
este plasat n B i valoarea (original) a lui D este plasat n C.
Dup ncheierea celei de a douazecea iteraii are loc un pas suplimentar
de albire: se claculeaz suma modulo 2 ntre A i S42, respectiv ntre C
i S43.

Generarea cheilor n cadrul


algoritmului RC6
Input: User-supplied b byte key preloaded into the c-word, v = 3_ maxfc; 2r
+ 4g
array L[0;; c - 1]
for s = 1 to v do
Number r of rounds
{
Output: w-bit round keys S[0; ;2r + 3] A = S[i] =(S[i] +A + B)<<<3
Procedure: S[0] = Pw B = L[j] =(L[j] +A + B)<<<(A + B)
for i = 1 to 2r + 3 do
i = (i + 1) mod (2r + 4)
S[i] =S[i -1] + Qw
j = (j + 1) mod c
A=B=i=j=0}

5.2.6. Standardul AES, Advanced


Encryption Standard (Rijndael)

Algoritmul care a ctigat competiia pentru standardul AES este


numit Rijndeal. Acesta realizeaz doar operaii pe octei ntregi. El
este foarte flexibil deoarece dimensiunea blocurilor cu care se
lucreaz poate fi aleas de valoare 128, 192 sau 256 de bii.
n continuare se prezint varianta care lucreaz cu blocuri de 256
de bii. Rijndael are un numr variabil de iteraii. Acesta poate fi (far
a calcula ultima iteraie care nu este complet):
9 dac att blocurile ct i cheia iniial au o lungime de 128 de
bii;
11 dac fie blocurile fie cheia iniial au lungimea de 192 de bii i
nici una dintre ele nu are o lungime superioar acestei valori;
13 dac att blocurile ct i cheia au o lungime de 256 de bii.

Iteraiile algoritmului
Pentru a cripta un bloc de date cu
algoritmul Rijndael, primul pas presupune
calculul unui sau-exclusiv ntre blocul de
text clar i o sub-cheie. Paii urmtori sunt
iteraiile care se vor prezenta n continuare.
Ultimul pas este constituit de ultima iteraie
care este incomplet, neconinnd operaia
de amestecare a coloanelor, the Mix
Column step.
Vincent Rijmen

Joan Daemen

Primul pas - substituirea octeilor,


the Byte Sub step
Fiecare iteraie obinuit se efectueaz n 4 pai. n acest pas fiecare bit al
textului clar este substituit cu un bit extras dintr-o cutie de tip S. Cutia de tip S
este descris de matricea:
99
48
202
173
183
52
4
7
9
82
83
106
208
69
81
188

124
1
130
212
253
165
199
18
131
59
209
203
239
249
163
182

119
103
201
162
147
229
35
128
44
214
0
190
170
2
64
218

123 242 107 111 197


43 254 215 171 118
125 250 89 71 240
175 156 164 114 192
38 54
63 247 204
241 113 216 49
21
195 24 150 5
154
226 235 39 178 117
26 27 110 90 160
179 41
227 47 132
237 32
252 177 91
57 74 76 88 207
251 67 77 51 133
127 80 60 159 168
143 146 157 56 245
33 16 255 243 210

205
196
96
70
224
194
231
108
186
232
112
97
225
155
140
65

12
167
129
238
50
211
200
86
120
221
62
53
248
30
161
153

19
126
79
184
58
172
55
244
37
116
181
87
152
135
137
45

236
61
220
20
10
98
109
234
46
31
102
185
17
233
13
15

95 151
100 93
34 42
222 94
73 6
145 149
141 213
101 122
28 166
75 189
72 3
134 193
105 217
206 85
191 230
176 84

68
23
25 115
44 136
11 219
36
92
228 121
78 169
174 8
180 198
139 138
246 14
29 158
42 148
40 223
66 104
187 22

Cel de al doilea pas - deplasarea


liniilor, the Shift Row step
Considernd c blocul care trebuie construit
este alctuit cu octeii numerotai de la 1 la 16,
aceti octei se aranjeaz ntr-un dreptunghi i
se deplaseaz dup cum urmeaz:
De la
la
1 5 9 13
1 5 9 13
2 6 10 14
6 10 14 2
3 7 11 15 11 15 3 7
4 8 12 16 16 4 8 12

Cel de al treilea pas-amestecarea


coloanelor, the Mix Column step
Acest pas se realizeaz prin nmulire matricial:
fiecare coloan, n aranjamentul pe care l-am
observat, este nmulit cu matricea:
2311
1231
1123
3112
Aceast nmulire matricial corepunde unei
nmuliri specific cmpului Galois al lui 28,
definit de polinomul modul x8 + x 4 + x3 + x + 1
Aceast nmulire (folosind acelai polinom
modul) a fost prezentat i exemplificat n
paragraful destinat bazelor matematice ale
criptrii.

Cel de al patrulea pas - adugarea


sub-cheii, the Add Round Key step
Acesta presupune doar calculul unui sau-exclusiv cu sub-cheia
specific iteraiei curente. O iteraie uzual:

Din ultima iteraie este omis pasul de amestecare a coloanelor.

Decriptarea
Pentru a decripta mesajul fabricat de algoritmul Rijndael este necesar
ca operaiile descrise s fie nlocuite cu operaiile lor inverse i ca
acestea s fie aplicate n ordine invers (prima operaie din algoritmul
de decriptare trebuie s fie invers ultimei operaii din algoritmul de
criptare). Succesiunea pailor n algoritmul Rijndael este:
ARK BS SR MC ARKBS SR MC ARK...
BS SR MC ARKBS SR
ARK
Dei aceast secven nu este simetric, ordinea unor operaii poate fi
modificat fr ca procesul de criptare s fie afectat. De exemplu
pasul de substituire a octeilor BS (notat cu B n continuare), poate fi la
fel de bine fcut i dup pasul de deplasare a liniilor SR (notat cu S n
continuare). Aceast observaie este util pentru procesul de
decriptare. Fcnd aceast inversare secvena algoritmului, de forma:
A BSMA BSMA ... BSMA BSA
se transform ntr-o secven de forma:
A SBMA SBMA ... SBMA SBA
(1R)

Pentru fiecare pas s-a folosit notaia bazat pe prima liter a


denumirii engleze a pasului. Dac se inverseaz secvena care
descrie algoritmul se obine:
ASB AMSB ... AMSB AMSB A
A SBMA SBMA ... SBMA SBA

(2R)
(1R)

Comparnd secvenele (1R) i (2R) se constat c pe lng diferita


poziionare a spaiilor (acestea marcheaz nceputul unei noi iteraii
a algoritmului de criptare) singura diferen care mai apare este c
grupurile "MA" din (1R) sunt nlocuite cu grupuri "AM" n (2R).
E clar c nu este suficient inversarea ordinii pailor folosii la
criptare pentru a se face decriptarea ci trebuie inversate i operaiile
care compun aceti pai. Pentru inversarea pasului ARK trebuie
inversat funcia sau-exclusiv. Dar aceast inversare se realizeaz
tot cu funcia sau-exclusiv. De aceea pasul ARK nu trebuie inversat
la decriptare. Nu acelai lucru se poate spune despre ceilali pai.
Este de exemplu cazul pasului de amestecare a coloanelor, MC,
(notat cu M n relaiile (1R) i (2R)) pentru inversarea cruia, n
procesul de decriptare este necesar inversarea matricii cu care se
nmulete fiecare vector.

10

La fel trebuie procedat i cu matricea cutiei de tip S din pasul de


substituie a octeilor, BS (notat cu B n relaiile (1R) i (2R)).
Revenind la relaiile (1R) i (2R) este legitim ntrebarea: Trebuie
inversat ordinea secvenei pailor "MA" i "AM" pentru decriptare ?
Rspunsul este Nu, deoarece operaia de nmulire a matricilor este
distributiv n raport cu operaia de adunare pe cmpul Galois al lui
28 . Operaia de sau-exclusiv din cadrul pasului MC (M) este de fapt
identic cu operaia de adunare definit pe cmpul Galois al lui 28 .
De aceea cheile de iteraie, implicate n procesul de inversare al
pasului de amestecare a coloanelor, trebuiesc nmulite cu inversa
matricii de amestecare a coloanelor i apoi se pot calcula funciile
sau-exclusiv, la fel ca la criptare (bineineles cheile de iteraie
trebuiesc luate n ordine invers n raport cu ordinea folosit la
criptare). Matricea pentru inversarea pasului de amestec al
coloanelor este:
14 11 13 9
9 14 11 13
13 9 14 11
11 13 9 14

Forma sa binar, folosit n algoritmul de decodare este:


1110 1011 1101 1001 01 00 00 00
1001 1110 1011 1101 00 01 00 00
1101 1001 1110 1011 00 00 01 00
1011 1101 1001 1110 00 00 00 01
111 101 110 100 01 01 00 00
110 100 111 101 00 00 01 01
1100 1000 1110 1010 00 00 10 10
1011 1101 1000 1110 01 01 10 10
0
0
1
0 01 01 10 11

Generarea cheilor
Pentru cazul n care se folosete o cheie iniial cu lungimea de 128
bii sau de 192 de bii, toate subcheile necesare pentru toate
iteraiile, se obin din cheia iniial (prima subcheie fiind chiar cheia
iniial) sau din variante ale cheii iniiale i au aceeai lungime cu
aceasta. Subcheile sunt alctuite din cuvinte de 4 octei. Fiecare
cuvnt se obine calculnd sau-exclusiv ntre cuvntul anterior de 4
octei i cuvntul corespunztor dintr-o variant anterioar sau
rezultatul aplicrii unei funcii acestui cuvnt (din varianta
precedent). Pentru stabilirea primului cuvnt dintr-o anumit
variant, cuvntul iniial (cel curent pentru iteraia respectiv) este
pentru nceput rotit cu opt poziii spre stnga, apoi octeii si sunt
modificai folosind cutia de tip S din pasul de substituie a biilor BS
(B) corespunztor, iar apoi se calculeaz sau-exclusiv ntre primul
octet al rezultatului obinut anterior i o constant dependent de
iteraie.

Constantele dependente de iteraie sunt:


1 2
4 8
16 32 64 128
27 54 108 216 171 77 154 47
94 188 99 198 151 53 106 212
179 125 250 239 197 145 57 114
228 211 189 97...
sau n binar:
00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000
00011011 00110110 01101100 11011000 10101011 01001101 10011010 00101111
01011110 10111100 01100011 11000110 10010111 00110101 01101010 11010100
10110011 01111101 11111010 11101111 11000101 10010001 00111001 01110010
11100100 11010011 10111101 01100001...

puterile lui 2 succesive n reprezentarea din cmpul Galois al lui 28 folosit.

11

5.3. Algoritmi de criptare cu


cheie public
Algoritmii prezentai anterior erau simetrici, se
folosea aceiai cheie att pentru criptare ct
i pentru decriptare. Prima problem de
securitate a acestor algoritmi este distribuia
cheii secrete. Algoritmii de criptare cu cheie
public pot rezolva aceast problem.

O alt funcie de securitate important


Algoritmii asimetrici ofer o cale pentru ca expeditorul s semneze
mesajul pe care dorete s-l expedieze, semntura putnd fi
verificat de oricare dintre ceilali utilizatori ai reelei fr ca acetia
s fie capabili s semneze un alt mesaj i s pretind c acesta vine
din partea expeditorului considerat.
O schem ingenioas a fost propus n anul 1976 de profesorul
Martin Hellman, de la universitatea Stanford i de fostul su student
Whitfield Diffie. Schema lor de criptare cu cheie public a fost prima
dat prezentat ntr-un articol din revista IEEE Transactions on
Information Theory.
Aceast schem permite destinatarului i s verifice dac
expeditorul este cel declarat n cadrul mesajului respectiv dac
mesajul a fost cumva falsificat de ctre un alt utilizator.

Bob i Alice au cte o copie a soft-ului, distribuit liber, de criptare cu cheie


public. Fiecare folosete copia proprie pentru a crea o perche de chei. Un
mesaj criptat cu una dintre cheile din aceast pereche de chei poate fi
decriptat doar cu cealalt cheie din aceeai pereche. Cea de a doua cheie
nu poate fi generat matematic folosind doar prima cheie.
Bob face cunoscut una dintre cheile din perechea sa, aceasta
devenind cheia sa public. Alice face acelai lucru. Fiecare pstreaz
secret cealalt cheie din pereche, care devine cheia sa privat.

Autentificarea mesajului

Dac Bob vrea s cripteze un mesaj, pe care s-l poat citi doar Alice,
atunci el folosete cheia public a lui Alice (care este disponibil tuturor);
dar acest mesaj va putea fi decodat doar cu ajutorul cheii secrete a lui
Alice, aa cum se vede n partea de sus a figurii. Procesul invers ;
trimiterea unui mesaj criptat de la Alice la Bob este acum clarificat. De
fapt, Bob i Alice pot acum schimba ntre ei fiiere criptate, fr a avea
vreun canal sigur pentru transmiterea cheilor, acesta fiind un avantaj
major asupra comunicaiilor bazate pe criptarea simetric.

Criptarea cu cheie public este utilizat de civa ani la construcia


oricrui cuttor pe INTERNET, Web browser. Aceast metod de
criptare se utilizeaz de asemenea atunci cnd se transmit
informaii referitoare la cartea de credit, la un vnztor on-line,
cnd se transmite un e-mail folosind protocolul standard S/MIME,
sau cnd se obine un certificat de securitate, de la un vnztor online sau creat local folosind soft specializat. Un dezavantaj al
criptrii cu cheie public este c solicit un volum de calcul mai
important dect criptarea simetric. Pentru a diminua acest
dezavantaj majoritatea programelor de securitate folosesc criptarea
simetric pentru a cripta textul clar i criptarea cu cheie public
pentru a cripta cheia secret, folosit n criptarea simetric a
textului clar. Apoi fiierele criptate, coninnd mesajul i cheia
secret, sunt transmise destinatarului.

Operaia de validare a faptului c mesajul recepionat este o copie


neatins a mesajului trimis.
Poate fi realizat folosind criptarea cu cheie public.
S presupunem c nainte de a expedia un mesaj, Bob efectueaz
o operaie criptografic asupra acestuia, de exemplu l transform
cu ajutorul unei funcii hash. Cel mai simplu exemplu de astfel de
funcie este cea care asociaz o sum de control textului clar. Este
foarte dificil s se modifice textul clar fr a modifica valoarea
obinut prin aplicarea funciei amintit mai sus.

Dac ne referim la atacuri bazate pe fora brut (se face cutarea


exhaustiv a cheii ncercnd toate posibilitile) atunci se poate
afirma c un algoritm de criptare simetric care folosete o cheie
secret (este vorba despre cheia iniial) de 128 de bii este la fel de
rezistent ca i un algoritm de criptare cu cheie public a aceluiai text
clar care folosete chei de 2304 bii. De fapt cheia public ar trebui
s aib o lungime i mai mare deoarece aceeai pereche de chei
public i secret este folosit pentru a proteja toate mesajele la
acelai destinatar. Altfel spus, n timp ce "spargerea" unei chei
secrete pentru un algoritm de criptare simetric compromite un singur
mesaj, "spargerea" unei perechi de chei pentru un algoritm de
criptare cu cheie public compromite toate mesajele primite de un
anumit destinatar. Algoritmii de criptare cu cheie public pot fi atacai
i datorit faptului c cei doi corespondeni nu au la dispoziie un
canal sigur prin care s-i poat confirma identitatea unul celuilalt.

Este totui posibil ca Alice s


primeasc o cheie simetric,
care s par c vine de la
Bob, dar care n fapt s
aparin unei a treia pri,
care susine c este Bob.
Este vorba de atacul numit
om-la-mijloc.
nc nu se cunoate nici o metod de aprare mpotriva unui astfel de atac.
Unul dintre algoritmii de criptare cu cheie public cel mai des folosit este
algoritmul RSA. Denumirea i vine de la numele creatorilor si: Ronald Rivest,
Adi Shamir i Leonard Adleman de la Massachusetts Institute of Technology,
Cambridge. Proprietile sale de securitate provin din dificulatea de a factoriza
numere prime de valori mari. n prezent o cheie cu lungime mai mare sau
egal dect 1024 de bii este, n general, suficient de sigur. Totui algoritmul
RSA poate fi vulnerabil la "atacuri cu textul clar ales". Acestea sunt atacuri
pentru care criptanalistul posed un fiier de text clar i textul cifrat
corespunztor obinut prin criptarea cu algoritmul de cifrare investigat.

Algoritmul de criptare cu cheie public Diffie-Hellman este folosit mai


ales pentru schimbul de chei. Proprietile sale de securitate se
bazeaz pe dificultatea de a discretiza valorile unei funcii logaritmice
ntr-un cmp finit generat de un numr prim de valoare mare. Se
consider c aceast operaie este chiar mai dificil dect operaia de
factorizare a unor numere foarte mari. Acest algoritm se consider
sigur dac se utilizeaz chei suficient de lungi i generatoare de chei
performante.

5.3.1. Algoritmul Diffie-Hellman


De fapt inventatorul acestui algoritm este englezul Malcolm
Williamson iar anul primei sale menionri este 1974.
Dei nu este util la criptarea direct a vreunui mesaj, acest algoritm
este folositor pentru trimiterea de mesaje secrete.
De fapt cu ajutorul su poate fi generat o cheie secret pe baza
unor chei publice. Funcionarea sa este urmtoarea. Cele dou
pri, expeditorul i destinatarul, care cunosc aceeai cheie public,
i aleg fiecare cte un numr. Fiecare aplic o anumit funcie hash
numrului pe care l-a ales, folosind cheia public i transmite
rezultatul celeilalte pri.
Aceste rezultate sunt utile deoarece acum fiecare parte posed
rezultatul aplicrii funciei hash numrului ales de ea precum i
rezultatul aplicrii funciei hash numrului ales de cealalt parte iar
produsul acestor rezultate este acelai. De aceea acest produs
poate fi utilizat ca i o cheie public de criptare iar produsul celor
dou numere originale, alese de cele dou pri, poate fi utilzat ca i
o cheie secret de criptare.
Funcia hash utilizat n metoda Diffie-Hellman este A la puterea x
modulo P. Aceasta nu este o funcie inversabil pe mulimea
numerelor ntregi.

Notnd cu x numrul ales de expeditor i cu y numrul ales de destinatar,


primul va transmite A la puterea x modulo P, iar cel de al doilea A la
puterea y modulo P. Fiecare parte poate calcula apoi A la puterea x ori y
modulo P (expeditorul ridic la puterea x numrul primit de la destinatar
iar destinatarul ridic la puterea y numrul primit de la expeditor). Orice alt
utilizator al aceleiai reele poate avea acces la numerele A la puterea x
modulo P, respectiv A la puterea y modulo P, dar nu poate, pe baza lor,
s-l determine pe A la puterea x ori y modulo P. Pentru o funcionare
sigur a metodei Diffie-Hellman trebuie alese cu grij constantele A i P.

5.3.2. Algoritmul RSA (RivestShamir-Adleman)


Metoda RSA este aproape singura metod "adevarat"
de criptare cu cheie public. Ea a fost publicat n anul
1977. S-a demonstrat ns recent c de fapt aceast
metod a fost inventat n anul 1973 de ctre Clifford
Cocks.
Algoritmul RSA se bazeaz pe urmtoarele fapte
matematice:
Dac se ridic un numr la o putere (d), modulo un
numr N, numrul original poate fi recuperat prin
ridicarea rezultatului la o alt putere (e) modulo acelai
numr. Cunoscnd numrul N utilizat ca i modul
precum i prima putere folosit se poate determina cu
uurin care a fost cea de a doua putere folosit.

Algoritmul RSA are urmtoarele


etape:
- criptarea mesajului X;

Bineneles pentru a putea folosi algoritmul RSA nu este suficient


doar descrierea sumar fcut pn acum. E necesar s se gseasc
rspunsuri la cteva ntrebri:
Cum se pot alege 2 numere prime foarte mari ?
Cum se poate calcula o valoare invers modulo (p-1)(q-1) ?
Cum se face o ridicare la putere modulo pq ?

E ( X ) = X e mod ( p q )

unde p i q sunt dou numere


prime foarte mari cu produsul egal
cu N, iar cmmdc(e, (N))=1. Cu
ajutorul lui N i e rezult cheia
public.
- decriptarea mesajului X;
Se calculeaz d, care reprezint
inversa lui e n raport cu operaia
de nmulire modulo (N)
D ( X ) = E ( X )d mod ( p q )

Inversarea lui e
Dup cum s-a artat d este inversa lui e modulo (p-1)(q-1), fiind
respectat condiia:
N = 33 = 3 11 p = 3 , q = 11 ( N ) = ( p 1)( q 1) = 20,
e = 3, e d = 1 mod 20 d = 7

Cheia secret rezult cu ajutorul


lui N i d.
Dac se dorete semnarea unui mesaj X atunci semntura poate fi generat
cu formula S ( X ) = X d
Pentru a verifica o semntur se calculeaz V (S ( X )) = (S ( X ))e mod( N ) = ... = X
i se compar cu X.

cmmdc(e, (p-1)(q-1))=1

(1 RSA)

Deoarece p i q sunt dou numere prime foarte mari, ele trebuie s fie
numere impare. De aceea numerele p-1 i q-1 vor fi pare. n
consecin aceste numere au pe 2 ca i factor comun. De aceea o
soluie pentru d va fi i inversa lui e modulo (p-1)(q-1)/2 (aa cum s-a
artat n paragraful referitor la bazele matematice ale criptrii).
Condiia (1 RSA) devine:

cmmdc(e, (p-1)(q-1)/2)=1

(2 RSA)

De obicei e se alege dintre urmtoarele numere: 3, 5, 17, 257, sau


65537, pentru a obine o criptare (prin ridicarea la puterea e modulo pq)
convenabil i rapid. Verificarea condiiei (2 RSA) poate fi realizat
folosind algoritmul lui Euclid, cu ajutorul cruia se poate gsi cel mai
mare divizor comun a dou numere. E clar c folosirea algoritmului lui
Euclid permite i obinerea rspunsului la ntrebarea legat de gsirea a
dou numere prime de valori foarte mari. Dac cel mai mare divizor
comun al acestor numere este 1 atunci ele sunt prime.
Dac s-a demonstrat c 2 numere sunt prime ntre ele atunci inversul lui
s modulo b poate fi determinat pe baza valorilor intermediare obinute
prin aplicarea algoritmului lui Euclid.
Se dorete rezolvarea unei ecuaii de forma:
1=s(0)*d-b(0)*n

(3 RSA)

unde s(0)=e, b(0)=(p-1)(q-1)/2 i n este un numr ntreg arbitrar.

Din prezentarea anterioar a algoritmului lui Euclid rezult c acesta


este descris de urmtoarele relaii:
s(i-1)=b(i); r(i-1)=s(i);
i:
b(i-1)-s(i-1)*q(i-1)=r(i-1).
De aceea relaia (3 RSA) se mai poate scrie:
s(i-1)-r(i-1)*q(i)=1
sau:
s(i-1)-(b(i-1)-s(i-1)*q(i-1))*q(i)=1
adic:
-q(i)*b(i-1)+(1-q(i)*q(i-1))*s(i-1)=1
(5 RSA)

ntr-adevr, d, soluia acestei ecuaii, reprezint inversa modulo b(0) a


lui s(0) deorece:
b(0)*n=0

modulo b(0)

Dac n pasul i al algoritmului lui Euclid se obine restul 1 (asta


nseamn c s-a ajuns la penultima iteraie a algoritmului) atunci
nseamn c are loc relaia:
b(i)-s(i)*q(i)=1

(4 RSA)

unde q(i) este ctul mpririi efectuate la pasul i. Aceasta este de


forma ecuaiei (3 RSA).
Deci cnd se folosete algoritmul lui Euclid pentru determinarea unei
valori inverse nu este suficient memorarea valorilor b i s la fiecare
pas al algoritmului ci este necesar i memorarea ctului mpririi la
fiecare pas al algoritmului. Memorarea valorilor ctului trebuie fcut
ntr-o memorie de tip stiv.

Acest proces se poate repeta mergnd napoi (fa de sensul n


care s-a iterat algoritmul lui Euclid) spre b(0) i s(0) pentru a gsi
inversa dorit, d, pe baza unei relaii de tipul (3RSA).

Se remarc faptul c i aceasta este de tipul relaiei (3 RSA).


Folosind relaiile:
s(i-2)=b(i-1), r(i-2)=s(i-1)
i
b(i-2)=s(i-2)*q(i-2)=r(i-2)
se poate substitui din nou ( de data asta n relaia (5 RSA)) pentru a-l
exprima pe 1 ca i o sum de multiplii de b(i-2) i s(i-2).

Factorizare
Ridicarea la putere a numerelor mari
Algoritmul folosit pentru ridicarea la putere a unor numere mari modulo
un numr specificat se bazeaz pe o metod de nmulire numit
Russian Peasant Multiplication i presupune nmuliri repetate.
Algoritmul are urmtoarele etape:
- Fie rezultatul egal cu 1;
- Se convertete puterea dorit n binar i se noteaz cu n lungimea
obinut. Se memoreaz rezultatul conversiei. Bitul cel mai puin
semnificativ va fi a(1) iar bitul cel mai semnificativ va fi a(n).
Numrul care se va ridica la putere se numete baz. Pentru ridicare la
ptrat
rezultat=rezultat * baz
- Se repet pasul anterior pn cnd se ajunge la puterea dorit.

Exist i alte mbuntiri posibile ale metodei de factorizare. Un algoritm


de factorizare mbuntit, relativ uor de neles, este algoritmul lui Fermat.
Acesta se bazeaz pe formula produsului sumei prin diferen
(a+b)*(a-b) = a2 - b2.
(1 Fermat)
Astfel, deoarece numrul care trebuie factorizat este produsul a dou
numere impare diferena acestora va fi un numr par, iar cei doi factori vor
fi exprimai n forma a+b i a-b, unde a i b sunt doi ntregi pozitivi. n
continuare se prezint algoritmul lui Fermat pentru factorizarea numrului
319 (care este produsul dintre numerele prime 11 i 29). Acesta se
bazeaz pe ncercri repetate de verificare a relaiei (1 Fermat) pentru
valori consecutive ale lui a. Rdcina ptrat a lui 319 (care reprezint
membrul stng al relaiei (1 Fermat)) este 17,86057.... Dac i se d lui a
valoarea 18 atunci a la ptrat este egal cu 324 i conform relaiei (1
Fermat) valoarea lui b la ptrat este 5. Dar 5 nu este un ptrat perfect. De
aceea i se d lui a valoarea urmtoare, adic 19. Valoarea lui a la ptrat
devine 361. n acest caz valoarea lui b la ptrat devine 42. Dar nici aceast
valoare nu reprezint un ptrat perfect. De aceea i se d lui a valoarea 20.
Valoarea lui 20 la ptrat este de 400. Diferena dintre 400 i 319 este de
81. Acesta este n sfrit un ptrat perfect. Deoarece b la ptrat ia valoarea
81 rezult c valoarea lui b este 9.

Deoarece d poate fi obinut din e de ndat ce este cunoscut (p-1)(q-1),


descompunerea lui N n factorii si primi p i q poate fi o cale de
decriptare ilegal, cracking, a unui text criptat cu algoritmul RSA.
Factorizarea numerelor mari este o operaie dificil. Calea cea mai
simpl este s se mpart numrul cu fiecare numr prim mai mic dect
el. Dac restul mpririi este zero atunci numrul testat, care a condus
la acest rest, este un factor al lui N.
O mbuntire a acestei metode se bazeaz pe faptul c este suficient
dac se ncearc numerele prime mai mici dect radicalul numrului
testat. ntr-adevr dac primul factor identificat ar fi mai mare dect
radical din N atunci i al doilea factor care ar putea fi identificat ar trebui
s fie mai mare dect radical din N. Dar n acest caz produsul acestor
factori ar fi mai mare dect N, ceea ce este absurd.

n consecin factorii a+b i a-b sunt de valori 29 i 11. Se constat c


s-a realizat factorizarea dorit.
Algoritmul de factorizare al lui Fermat este rapid doar dac cei
doi factori au valori apropiate. Dac este necesar factorizarea
numrului 321, de exemplu (care este produsul dintre numerele prime 3
i 107) atunci deoarece iniializarea algoritmului lui Fermat se realizeaz
cu valoarea 18 (partea ntreag a rdcinii ptrate a numrului 321 este
17), pentru a ajunge la factorul 107 sunt necesare 89 de iteraii.
n consecin dac N este suficient de mare i dac p i q sunt alei
aleator atunci este foarte dificil factorizarea lui N. Rivest, Shamir i
Adelman au sugerat utilizarea unor numere p i q de cte 100 de cifre,
cea ce face ca N s aib 200 de cifre. Pentru factorizare ar putea fi
necesar un numr mare de ani de calcul.
Un alt atac mpotriva metodei de criptare cu cheie public RSA
este aa numitul atac cu text n clar limitat, limited plain text attack.
Dac exist un numr mic de mesaje care trebuiesc transmise, un
atacator ar putea s le cripteze pe toate, cu diferite chei publice,
folosind algoritmul RSA i s-l identifice pe cel transmis la un moment
dat comparndu-l cu toate textele cifrate pe care le-a obinut.

5.3.3. Algoritmul El Gamal


Algoritmul de schimb de chei Diffie-Hellman a fost descris pe baza
urmtoarelor operaii:
expeditorul alege numrul x i transmite A la puterea x modulo P,
destinatarul alege numrul y i transmite A la puterea y modulo P,
apoi ambele pri comunic folosind ca i cheie public A la puterea xy
modulo P.
Dup cum se vede, nimic nu mpiedic destinatarul s declare ca i
cheie publica A la puterea y modulo P, permind oricrui alt
utilizator al reelei s transmit un mesaj pe care expeditorul s-l
citeasc, dup ce l-a ales pe x i s-l retransmit criptat cu cheia A
la puterea xy modulo P, adugndu-i la nceput A la puterea x.
Algoritmul El Gamal poate fi considerat ca i un caz particular al
acestei metode.
Pentru a transmite un mesaj unui corespondent a crui cheie public
este A la puterea y modulo P, i se transmite propria cheie public, A
la x modulo P i apoi mesajul, care este criptat prin nmulirea sa,
modulo P, cu A la puterea xy modulo P.
Algoritmul El Gamal poate fi utilizat i pentru generare i autentificare
de semnturi.

5.4. Standardul de criptare cu


cheie public PKCS#1
Standardele de criptare cu cheie public,
PKCS, Public-Key Criptography Standards,
sunt specificaii produse de ctre
laboratoarele RSA, din S.U.A cu scopul de a
accelera dezvoltarea criptografiei cu chei
publice. Primul a fost publicat n 1991.

Standardul de criptare cu cheie


public PKCS#1
s permit cifrarea datelor folosind metoda RSA.
construcia semnturilor digitale i a "plicurilor" digitale,
digital envelopes, (PKCS #7).
semnturi digitale - coninutul care trebuie semnat este
prima dat redus la un rezumat, cu ajutorul unui algoritm
de rezumare (ca de exemplu MD5) i apoi un ir de
octei, coninnd rezumatul mesajului este criptat cu
cheia secret RSA a semnatarului coninutului.
Coninutul precum i rezumatul mesajului criptat sunt
reprezentate mpreun, conform regulilor de sintax
(PKCS #7), formnd o semntur digital. Aceast
aplicaie este compatibil cu metodele de protejare a
potei electronice de tipul PEM, Privacy-Enhanced Mail.

Numeroase contribuii prezentate n aceste standarde au ajuns


s fie pri ale unor standarde elaborate de institute speciale
de standardizare, cum ar fi documentele X9 ale ANSI sau
PKIX, SET, S/MIME i SSL. Aceste standarde sunt publicate la
adresa:
http://www.rsa.com/rsalabs/node.asp?id=2124
PKCS #1:Standardul criptografic RSA, care d titlul acestui paragraf.
PKCS #2: O not explicativ referitoare la standardul PKCS#1.
PKCS #3:Convenia de schimbare de chei Diffie-Hellman.
PKCS #4: O not explicativ referitoare la standardul PKCS#3.
PKCS #5: Standard de criptografie bazat pe parole.
PKCS #6: Standardul de sintax a certificatelor (de autentificare) extinse.
PKCS #7: Standardul de sintax al mesajelor criptografice.
PKCS #8: Standardul de sintax al cheilor secrete.
PKCS #9: Tipuri de atribute selectate.
PKCS #10: Standardul de sintax de cerere a unui certificat.
PKCS #11: Standardul de interfa criptografic de tip token.
PKCS #12: Standardul de sintax de schimb de informaie personal.
PKCS #13: Standardul de criptografie cu curbe eliptice.
PKCS #15: Standardul de format al informaiei criptografice de tip token.

"plicuri" digitale - coninutul este prima dat criptat cu o


metod de criptare simetric (care folosete o cheie secret)
folosind un algoritm corespunztor (de exemplu DES) i apoi
cheia secret este criptat folosind cheia public RSA a
destinatarului coninutului.
Coninutul criptat precum i cheia secret criptat sunt
reprezentate mpreun, conform sintaxei (PKCS#7), pentru a
crea un plic digital. i aceast metod este compatibil cu
metodele PEM. Standardul mai descrie i sintaxa pentru
cheile publice i secrete RSA. Sintaxa cheilor publice se
folosete la elaborarea certificatelor iar sintaxa cheilor secrete
se folosete la elaborarea informailor referitoare la cheile
secrete (PKCS#8).
Standardul definete i trei algoritmi de semnare a
certificatelor pentru PEM i a listelor de revocare a
certificatelor, a certificatelor extinse, (PKCS#6) i a altor
obiecte care folosesc semnturi digitale.

Sintaxa cheilor

n cazul cheilor publice este vorba despre o secven care are


pe prima poziie valoarea modulului N, iar pe a doua poziie,
valoarea cheii publice a expeditorului e.
n cazul cheilor secrete este vorba despre o secven care
are, n ordine, urmtoarele elemente: versiunea, modulul N,
cheia public a expeditorului, e, cheia secret a destinatarului,
d, numrul prim p, numrul prim q, valoarea exponentului d
modulo (p-1), valoarea exponentului d modulo (q-1), valoarea
inversului lui q modulo p i versiunea.
- versiunea: este un numr care indic apartenena la
standard i care are rolul de a face posibil compatibilitatea cu
standarde viitoare. Are valoarea 0 pentru acest standard.
- N, e, d, p au semnificaiile din prezentarea metodei RSA.
Lungimea modulului N, n octei, este numrul ntreg k care
satisface condiia: 28( k 1) N 28 k Valoare minim a lui k este
12.

Procesul de criptare
are 4 pai:
formatarea blocului de criptat,
conversia irului de octei n valori ntregi,
calculul specific metodei RSA,
conversia valorilor ntregi obinute ntr-un ir de
octei.
Datele iniiale:
irul de octei D - datele de transmis,
Valoarea modulului N,
Valoarea unui exponent c. Pentru o operaie care necesit
chei publice exponentul c trebuie s fie identic cu
exponentul cheii publice a unui utilizator, e, iar pentru o
operaie care necesit chei secrete el trebuie s fie identic
cu exponentul cheii secrete a unui utilizator, d.
n urma procesului de criptare rezult un ir de octei ED.

Observaii
1. Pentru o cheie secret RSA sunt suficiente valorile
lui N i d. Prezena valorilor p, q, d mod (p-1), d mod
(q-1) i q-1 mod p este justificat de eficiena sporit
obinut prin utilizarea lor.
2. Prezena exponentului cheii publice e, n structura
cheii secrete este justificat de crearea posibilitii de
a transforma cheia secret ntr-o cheie public.

Observaii
1. n aplicaiile tipice ale acestui standard pentru a genera chei
secrete dependente de coninutul mesajului sau rezumate de
mesaj este necesar ca lungimea irului de octei D s fie de
30. De aceea este necesar ca lungimea modulului N, folosit n
metoda RSA s fie de cel puin 41 de octei.
2. Procesul de criptare nu presupune i realizarea unui control
de integritate explicit care s uureze detecia erorilor care
provin din coruperea datelor criptate pe durata transmisiei lor.
Totui structura blocului de date folosit garanteaz c
probabilitatea de ne-detectare a erorilor este mai mic dect 2
la puterea -16.
3. Aplicarea operaiilor cu cheie public aa cum este definit
n acest standard la alte tipuri de date dect irurile de octei
care conin un rezumat al mesajului nu este recomandat i
reprezint obiectul unor studii viitoare.

Formatarea blocului de criptat

Observaii

Blocul de criptat, EB, encryption block, este un ir de octei


i este format din 3 elemente: tipul blocului BT, irul de
egalizare, PS, padding string i irul de date D. Acestea
sunt concatenate conform formulei:
EB = 00 ||BT ||PS ||00 ||D
(1 PKCS#1)
Tipul blocului, BT, trebuie s fie un singur octet i indic
structura blocului de criptare. Pentru aceast versiune a
standardului el poate avea una dintre valorile: 00, 01, sau
02. Pentru o operaie cu cheie secret se folosesc valorile
00 sau 01. Pentru o operaie cu cheie public valoarea sa
este 02. irul de egalizare, PS, trebuie s aib k-3-ll D ll
octei, unde cu ll D ll s-a notat lungimea irului de date D.
Pentru BT de valoare 00, toi octeii din PS vor avea
valoarea 00. Pentru BT de valoare 01, toi octeii din PS
vor avea valoarea FF iar pentru BT de valoare 02, octeii
din PS vor fi generai pseudoaleator i de valoare diferit
de 00. n acest fel lungimea blocului de criptat va fi egal
cu k. De aceea PS se numete ir de egalizare.

1. Cei doi octei 00 din formula (1 PKS#1) au fost inclui pentru a


se asigura condiia ca blocul criptat, convertit ntr-o valoare
ntreag s fie de valoare mai mic dect a modulului.
2. Dac BT are valoarea 00, irul de date D trebuie s nceap
cu un octet nenul sau s aib o lungime cunoscut pentru ca
blocul criptat s poat fi interpretat corect (neambiguu). Pentru
BT de valori 01 sau 02 blocul criptat poate fi interpretat corect,
deoarece irul egalizator PS nu conine octei de valoare 00 i
este separat de irul de date D printr-un octet de valoare 00.
3. Valoarea 01 a BT este recomandat pentru operaii cu chei
secrete. Aceast valoare conduce la o valoare mare a blocului
EB, dup ce acesta a fost convertit ntr-o valoare ntreag, ceea
ce previne anumite atacuri.
4. Valorile 01 i 02 pentru BT asigur compatibilitatea blocului
criptat cu criptarea RSA bazat pe coninut a cheilor i a
rezumatelor de mesaje, PEM.

Conversia irului de octei ntrun ntreg

Criptarea RSA

Blocul criptat, EB, se convertete ntr-un ntreg, x, folosind


relaia:
k

x = 2 (
i =1

8 k i )

EBi

(2PKCS#1)

unde EB1 , EB2 ,..., EBk reprezint octeii lui EB de la primul la


ultimul. Cu alte cuvinte primul octet al lui EB are cea mai
mare semnificaie n ntregul x iar ultimul octet al lui EB
este cel mai puin semnificativ pentru ntregul x.
k
Observaie
8 k i
y = 2 ( ) EDi
i =1

ntregul x obinut prin conversia blocului EB satisface


condiia:
0 x < N (3PKCS#1)
deoarece EB1 = 00 i 28( k 1) N .

ntregul x, obinut n pasul anterior este ridicat la puterea c


modulo N, obinndu-se ntregul y care reprezint
rezultatul criptrii n form de numr ntreg, mai mic
dect N.
Conversia ntreg-ir de octei
ntregul y, obinut n urma criptrii este convertit ntr-un
ir de octei, ED, de lungime k, care reprezint mesajul
criptat. irul ED trebuie s satisfac relaia:
k
8 k i
(4 PKCS#1)
y = 2 ( ) ED

i =1

unde ED1 , ED2 ,..., EDk sunt octeii irului ED, de la primul la
ultimul.

Procesul de decriptare
const din 4 pai: conversia irului de octei ntr-un
ntreg, decriptarea RSA, conversia ntregului ntr-un ir
de octei i formatarea blocului decriptat.
sunt necesare: irul de octei ED, datele criptate,
modulul N i exponentul c. Pentru o operaie cu chei
publice exponentul c trebuie s reprezinte exponentul
public al unui utilizator, e, iar pentru o operaie cu chei
secrete coeficientul c trebuie s reprezinte exponentul
secret al unui utilizator, d.
n urma procesului de decriptare se obine un ir de
octei, D, care reprezint datele transmise. Dac
lungimea acestui ir de octei nu este egal cu k atunci
nseamn c s-a comis o eroare.

Decriptarea RSA
ntregul y, obinut la pasul anterior este ridicat la puterea
c modulo N, obinndu-se un nou ntreg, x, inferior lui N.
Conversia ntregului ntr-un ir de octei
ntregul x, obinut la pasul anterior, este convertit ntr-un
ir de octei, EB, de lungime k, conform relaiei
(2PKCS#1).

Conversia irului de octei ntrun ntreg


irul de date criptate, ED, este convertit ntr-un ntreg y,
conform relaiei (4PKCS#1). Dac ntregul obinut nu
satisface condiia 0 y < N nseamn c s-a comis o
eroare de transmisie.

Formatarea blocului decriptat


Blocul decriptat este formatat prin includerea ntr-o
structur format dintr-un octet BT care specific tipul
blocului, un ir de egalizare, PS, i un ir de octei de
date, conform relaiei (1PKCS#1).
Dac este satisfcut una dintre condiiile urmtoare
nseamn c s-a produs o eroare n procesul de
transmisie:
- Blocul decriptat nu poate fi formatat neambiguu.
- irul de egalizare, PS, este constituit din mai puin de 8
octei, sau nu este n accord cu BT.
- Procesul de decriptare este o operaie cu cheie public
iar BT nu are valorile 00 sau 01, sau procesul de
decriptare este o operaie cu cheie secret i BT nu are
valoarea 02.

5.5.3. Standardul de semntur


digital DSS
n anul 1994, NIST, National Institute of Standards and
Technology a publicat standardul de semntur digital,
Digital Signature Standard (DSS).
Acest standard prezint un algoritm de semntur
digital, Digital Signature Algorithm (DSA).
Semntura numeric DSA este o pereche de numere
foarte mari reprezentate ca i iruri de octei. Semntura
digital este calculat folosind o mulime de reguli i o
mulime de parametri astfel nct identitatea
semnatarului i integritatea datelor transmise s poat fi
verificate. DSA asigur posibilitatea de a genera i de a
verifica semnturi digitale. Generarea semnturilor se
bazeaz pe utilizarea unei chei secrete. Verificarea
semnturii se bazeaz pe folosirea unei chei publice
care corespunde cheii secrete.

Algoritmul DSA se folosete


pentru pota electronic,
pentru transferul electronic
de fonduri, schimbul
electronic de date,
distribuire de soft, stocare
de date i alte aplicaii care
necesit verificarea
integritii datelor transmise
i autentificarea
expeditorului.
Algoritmul DSA poate fi implementat n variante hard, soft sau
mixte. NIST dezvolt un program de validare a acordului dintre
aceste implementri i standardul DSS.

Cheile publice pot fi cunoscute de ctre orice utilizator al


reelei. Oricine poate verifica semntura unui utilizator folosind
cheia sa public. Generarea semnturii unui utilizator poate fi
realizat numai de ctre acesta deoarece n procesul de
generare se folosete cheia sa secret. n procesul de
generare a semnturii se utilizeaz o funcie hash, pentru a
obine o variant condensat (rezumat al mesajului) a datelor
care trebuiesc transmise. Acestui rezumat i se aplic algoritmul
DSA pentru a se genera semntura digital. Semntura digital
mpreun cu mesajul semnat sunt transmise celui care trebuie
s verifice semntura digital. Acesta verific semntura
digital cu ajutorul cheii publice a expeditorului. Aceeai
funcie hash trebuie folosit i n procesul de verificare.
Proceduri similare trebuie folosite i pentru generarea i
verificarea semnturilor digitale pentru date stocate ( nu
transmise).

Parametrii algoritmului DSA


1. p, un numr prim folosit ca i modul, cu proprietatea:
2 L 8 p < 2 L

pentru

512 L 1024

multiplu

de

64

2. q, un numr prim, divizor al lui p - 1.


3.

y = g x mod p

4. x, un numr generat aleator sau pseudoaleator.


p 1
q

5. g = h mod p
6. k, un ntreg generat aleator sau pseudoaleator.
ntregii p, q, i g pot fi publici i pot fi comuni unui grup de utilizatori.
Numrul x reprezint cheia secret a unui utilizator iar y cheia sa
public. n mod normal aceste valori rmn fixe pentru o perioad de
timp. Parametrii x i k se folosesc doar pentru generarea semnturii i
trebuie pstrai secrei. Parametrul k trebuie regenerat pentru fiecare
semntur digital.

Generarea semnturii
Semntura unui mesaj M, este perechea de numere r
i s calculate conform urmtoarelor ecuaii:

r = g k mod p mod q

s = k 1 (SHA(M ) + x r ) mod q

Cu k la puterea -1 s-a notat inversa lui k pentru


nmulirea modulo q. E necesar verificarea egalitii
cu zero a lui r sau s. Dac una dintre aceste mrimi
este 0 atunci o nou valoare a lui k trebuie aleas i
semntura trebuie recalculat.
Semntura mpreun cu mesajul sunt transmise celui
care trebuie s verifice semntura digital.

Dac v = r', atunci rezultatul verificrii semnturii


digitale este pozitiv i se poate afirma c mesajul a fost
trimis de ctre posesorul cheii secrete x
corespunztoare lui y. Dac v nu este egal cu r' atunci
se poate ca mesajul s fi fost modificat sau s nu fi fost
corect semnat de ctre semnatar sau ca mesajul s fi
fost semnat de ctre un impostor. Oricum mesajul nu
trebuie validat.
n standardul DSS, n anexe, sunt prezentate i metode
de generare a numerelor prime, necesare n algoritmul
DSA, precum i metode de generare a numerelor
aleatoare sau pseudoaleatoare, de asemenea necesare
n algoritmul DSA.

Verificarea semnturii
naintea verificrii semnturii unui mesaj parametrii p, q i
g precum i cheia public i identitatea expeditorului a
sunt puse la dispoziia celui care trebuie s verifice
semntura digital ntr-o form autentificat. Fie M', r' i
s' versiunile recepionate ale parametrilor M, r i s i fie y
cheia public a semnatarului mesajului. Prima operaie
de verificare se refer la irul de inegaliti 0 < r' < s' < q.
Dac una dintre aceste condiii nu este respectat atunci
semntura este respins. Dac aceste condiii sunt
satisfcute atunci se continu verificarea. Se calculeaz:
w = (s ')1 mod q
u1 = ((SHA(M ') w) mod q )

u 2 = ((r ') w) mod q

v=

(((g )u1 ( y )u 2 )mod p )mod q

5.6. Atacuri mpotriva sistemelor


de criptare
Sistemele de criptare simetric au fost construite cu intenia
de a fi foarte greu de atacat (decriptat de ctre o persoan
neautorizat). Chiar avand la dispoziie cantiti
impresionante de text n clar i text cifrat crespunztor, o a
treia persoan (neautorizat) nu ar trebui s poat s deduc
cheia de criptare folosit, dect folosind atacurile bazate pe
cutare cu for brut (adic generarea tuturor cheilor posibile
avnd un numr fixat de caractere i ncercarea lor pe un text
clar al crui text cifrat corespunztor se afl de asemenea n
posesia acelei persoane, pn la identificarea cheii utilizate
de expeditor). Multe sisteme de criptare par s satisfac
aceast condiie. Totui exist dou tipuri de atac care ar
putea s descopere mai repede o cheie secret dect metoda
de cutare a acesteia bazat pe fora brut. Acestea sunt
atacul bazat pe criptanaliz linar i cel bazat pe criptanaliz
diferenial.

PEM-standardul de pot
electronic cu faciliti de
securitate

Securitatea potei
electronice
n ceea ce privete securitatea, pota electronic nu
ofer condiii ideale. Mesajele pot fi interceptate, voit
sau din greseal, de ctre persoane neautorizate sau
de ctre administratorii de sisteme. Protocolul de pot
electronic, cel mai des folosit este sendmail, care
funcioneaza sub sistemul de operare UNIX.

n RFC 1422 se specific mecanismele de


management al cheilor, bazate pe folosirea
certificatelor cu chei publice. n RFC 1423 se
specific algoritmii i identificatorii asociai, relevani
pentru documentele RFC 1421 i RFC 1422. n RFC
1424 se dau detalii asupra formatelor electronice i a
procedurilor pentru infrastructura de management a
cheilor care reprezint suportul, descrise n celelalte
trei documente.

Scopul proiectului Privacy Enhanced Mail, PEM, este


asigurarea securitii potei electronice pe INTERNET.
Rezultatele acestui proiect sunt prezentate n
documentele RFC 1421-1424.
Aceste documente, elaborate n anul 1993, definesc
proceduri de criptare a mesajelor i de autentificare.
Aceste proceduri sunt compatibile cu un numr mare de
modaliti de management al cheilor, att de tip simetric
(cu cheie secret) ct i de tip asimetric (cu cheie
public). Procedurile de management al cheilor sunt
folosite pentru criptarea cheilor, care se folosesc pentru
criptarea i decriptarea mesajelor. Pentru criptarea
mesajelor se folosesc proceduri de criptare simetric. n
RFC 1421 se fixeaz cadrul general.

Serviciile de mbuntire a securitii (confidenialitate,


autentificare, integritate, nerepudiere a originii) sunt oferite
att la nivelul legturii capt-la capt, ct i la nivelul Agent
Utilizator. Nu sunt impuse cerine speciale Sistemului de
Transfer al Mesajelor la capete sau la nivele intermediare.
Faciliteaz ncorporarea selectiv pe o baz de tipul de la
site la site sau de tipul de la utilizator la utilizator fr
afectarea altor entiti ale INTERNET-ului. Sunt suportate
att interoperabilitatea ntre componente heterogene ct i
faciliti de transport prin pot. Proiectul PEM dezvolt
procedurile de prelucrare a textului pentru pota
electronic, descrise n RFC-822. n scopuri descriptive
documentele RFC folosesc anumii termeni definii n
modelul OSI de sistem de mnuire a mesajelor, de tipul
X.400, the OSI X.400 Message Handling System Model,
MHS.

Un utilizator pregtete mesajele cu ajutorul agentului


su de utilizare, User Agent, UA.
Un UA este un proces de tip aplicaie care
interacioneaz cu sistemul de transfer al mesajelor, the
Message Transfer System, MTS, pentru a trimite un
mesaj.
MTS livreaz la unul sau mai multe procese UA de
destinatar, mesajele care i-au fost naintate. Funciile
care nu se ndeplinesc dect de serviciul UA i nu sunt
standardizate ca parte a servicilor MHS se numesc
funcii UA locale. Sistemul MTS este compus dintr-un
numr de ageni de transfer de mesaj, Message
Transfer Agents, MTA.

Msurile de securitate specifice proiectului PEM sunt


aplicabile unui numr mare de tipuri de gazde INTERNET i
de moduri de folosire. Aceste msuri au urmtoarele atribute:
1. Mecanismele PEM nu sunt specifice pentru un anumit
calculator gazd sau pentru un anumit tip de sistem de
operare. Toate tehnicile de securitate sunt implementate la
nivelul aplicaie i nu depind de parametri de securitate de la
nivele inferioare de protocol.
2. Mecanismele de securitate sunt implementate n mod
capt la capt care nu are impact asupra prelucrrii potei de
ctre intermediari, care nu trebuie s includ faciliti de
mbuntire a securitii. Este totui necesar ca expeditorul
mesajului s tie ce mecanisme de securitate folosete
destinatarul pentru ca s nu folosesc un anumit mecanism
de criptare i destinatarul s nu dispun de mecanismul de
decriptare corespunztor.

Lucrnd mpreun, agenii MTA nlnuiesc mesaje i le


livreaz proceselor UA ale destinatarului, care le fac apoi
disponibile pentru destinatar. Colecia de procese UA i de
ageni MTA este numit sistem de mnuire a mesajelor,
Message Handling System, MHS.
Sistemul de mnuire a mesajelor mpreun cu toi
utilizatorii si formeaz mediul de mnuire a mesajelor, the
Message Handling Environment.
Pentru toate mesajele PEM se asigur autenticitate i
integritate. Cnd se folosete distribuia cheilor bazat pe
algoritmi asimetrici atunci se asigur i nerepudierea
originii. Servicile de confidenialitate sunt furnizate la
cerere.

3. Mecanismele definite trebuie s fie compatibile cu facilti


de transport a potei electronice, Mail Transport Facilities,
MTA. n cadrul INTERNET-ului, transportul potei electronice
este realizat de o varietate de implementri SMTP. Anumite
site-uri, accesibile prin SMTP, retransmit pota electronic n
alte medii de prelucrare a acesteia (de exemplu USENST,
CSNET, BITNET). Mecanismele de securitate trebuie s fie
capabile s lucreze n domeniul de securitate SMTP; este de
dorit ca ele s fie compatibile cu protecia potei electronice
trimis prin mediul SMTP i alte medii conectate.
4. Mecanismele definite sunt compatibile cu un domeniu larg
de ageni UA. Din dorina de a putea fi implementate ca
proiecte pilot, este de preferat ca mecanismele de securitate
s fie ncorporate ntr-un program separat, aplicabil la un
domeniu de ageni UA, i nu s cear modificri ale fiecrui
UA cu care se realizeaz servicii PEM.

5. Mecanismele de securitate definite sunt implementate pe


calculatoare personale, de tip PC separate de sistemele pe
care sunt implementate funciile UA. Avnd n vedere
dezvoltarea rapid a utilizrii calculatoarelor personale i
ncrederea limitat care se poate acorda implementrilor de
tip UA de pe multe sisteme multi-utilizator, acest atribut
poate permite unui numr mare de utilizatori s prelucreze
mesajele PEM cu un nivel sporit de ncredere dect n cazul
n care s-ar fi adoptat o strategie bazat doar pe sisteme
UA.
6. Mecanismele definite permit securizarea adreselor de
pot electronic din liste (liste de distribuie n limbaj ISO).

Au fost prevzute urmtoarele faciliti:


1. protecia la modificarea structurii,
2. autentificarea expeditorului,
3. aprecierea integritii mesajului,
4. nerepudierea originii mesajului (dac se folosete
managementul asimetric al cheilor)
dar nu i urmtoarele:
1. controlul accesului,
2. confidenialitatea traficului,
3. acurateea listei de adrese,
4. controlul dirijrii,
5. msuri de conectare a PC-urilor la utilizatori multipli,
6. asigurarea recepiei mesajului i a ne-repudierii recepiei
acestuia,
7. asocierea automat a acceptrilor cu mesajele la care se
refer acestea,
8. detecia dublrii mesajelor, prevenirea rspunsului, sau
alte servicii orientate pe iruri de date.

7. Mecanismele definite sunt compatibile cu o varietate de


metode de distribuire a cheilor, cum ar fi predistribuirea
manual, distribuirea centralizat bazat pe criptografia
simetric i folosirea certificatelor cu cheie public,
descris n RFC 1422. Diferite metode de distribuire a
cheilor pot fi folosite pentru diferii destinatari ai unui
aceluiai mesaj. Pentru ca s poat interopera, dou
aplicaii PEM trebuie s foloseasc un mecanism de
management al cheilor comun; se recomand s se
aleag n acest scop unul dintre mecanismele prezentate
n RFC 1422.

Prelucrarea mesajelor
Transmisiile PEM se bazeaz pe o ierarhie a cheilor pe
dou nivele:
1. Cheile de criptare, Data Encrypting Keys, DEK, se
folosesc pentru cripatarea textului mesajului i (cu cteva
alegeri dintr-o mulime de algoritmi alternativi) pentru
calculul valorilor de control de integritate a mesajului,
Message Integrity Check. n mediul de management al
cheilor asimetric, cheile DEK se folosesc i pentru a cripta
reprezentrile semnate ale MIC-urilor n mesajele PEM
crora li s-a asigurat deja confidenialitatea. Cheile DEK
se genereaz individual, pentru fiecare mesaj transmis;
nu este necesar predistribuirea acestor chei.

2. Pentru a cripta cheile de tip DEK i pentru a le include n


mesajele transmise se utilizeaz chei de interschimb,
Interchange Keys, IK. De obicei, aceai cheie IK va fi
folosit pentru toate mesajele trimise de ctre acelai
expeditor aceluiai destinatar, ntr-o anumit perioad de
timp. Fiecare mesaj transmis include o reprezentare a cheii
de tip DEK, folosit pentru criptarea mesajului i/sau pentru
calculul MIC, criptat cu o cheie de tip IK, specific pentru
fiecare nume de destinatar. Reprezentarea este asociat
cu cmpuri specifice din cadrul ID-ului expeditorului i al
destinatarului (definite n diferite forme pentru a se putea
face distincia ntre cazurile simetric i asimetric), care
permit fiecrui participant la schimbul de mesaje s
identifice cheia de tip IK folosit pentru criptarea cheii de tip
DEK i/sau a valorii MIC.

2b. Cnd se folosete criptografia asimetric,


componenta IK, folosit pentru criptarea cheii de tip
DEK, este componenta public a destinatarului.
Componenta IK folosit pentru criptarea valorii MIC este
componenta secret a expeditorului, motiv pentru care
doar o singur reprezentare MIC criptat trebuie inclus
ntr-un mesaj, n loc de una pentru fiecare destinatar.
Fiecare dintre aceste componente IK poate fi
evideniat ntr-un anumit cmp al ID-ului destinatarului,
respectiv al expeditorului. Alternativ, o component IK a
expeditorului poate fi determinat dintr-un certificat
purtat ntr-un cmp de tipul "Originator-Certificate".

Fiind dat o cheie de tip IK, un participant la schimbul de


mesaje poate decripta reprezentarea DEK corespunztoare,
transmis, extrgnd cheia de tip DEK cerut pentru
decriptarea textului mesajului i/sau pentru validarea valorii
MIC. Definiia unei chei de tip IK difer n funcie de tipul de
criptare (simetric sau asimetric) folosit pentru criptarea
cheii de tip DEK:
2a. Cnd se folosete criptografia simetric pentru criptarea
cheii de tip DEK, cheia de tip IK este unic i partajat ntre
un expeditor i un destinatar. n acest caz, aceeai cheie se
folosete att pentru criptarea valorii MIC ct i pentru
criptarea cheii de tip DEK. Pentru o construcie corect a
unei chei de tip IK trebuiesc adugate i informaii despre
versiunea acesteia, despre termenul su de expirare,
precum i despre expeditor i beneficiar.

Pasii de prelucrare
O procedura de transformare in patru pasi este aplicata
pentru a reprezenta textul mesajului criptat intr-o forma
care sa poata fi transmisa universal si care sa permita
mesajelor criptate pe un anumit tip de calculator gazda
sa fie decriptate pe un alt tip de calculator gazda. Un
mesaj in text clar este acceptat in forma locala, folosind
setul de caractere al gazdei, precum si reprezentarea in
linie corespunzatoare. Forma locala este convertita intr-o
reprezentare canonica a textului mesajului, echivalenta
cu reprezentarea inter-SMTP, a textului mesajului.
Aceasta reprezentare canonica este obiectul pasului de
calcul a valorii MIC (aplicabila mesajelor de tip
ENCRYPTED, MIC-ONLY si MIC-CLEAR) si a
procesului de criptare (aplicabil doar pentru mesajul
criptat).

Pentru mesaje de tipul ENCRYPTED PEM,


reprezentarea canonica este segmentata de catre
algoritmul de criptare si apoi se face criptarea. Textul
criptat (pentru un mesaj criptat) sau forma canonica
nesegmentata (pentru un mesaj de tipul MIC-ONLY)
este apoi codat intr-o forma, care poate fi listata.
Aceasta este compusa din caractere apartinand unui set
restrans, care este ales astfel incat sa poata fi universal
reprezentabil (de-a lungul site-urilor) si sa nu fie
perturbat prin prelucrarea in cadrul sau intre entitati de
tip MTS. Mesajele de tipul MIC-CLEAR PEM omit pasul
de codare in forma listabila. Rezultatul pasilor de
prelucrare anteriori este combinat cu un set de campuri
de antet, care poarta informatie de control criptografic.
Mesajul PEM rezultat este transmis sistemului de posta
electronica, pentru a fi inclus in portiunea de text a
mesajului care se transmite.

Cand se primeste un mesaj PEM, campurile de control


criptografic, din antetul sau incapsulat, contin informatia
necesara pentru a se face validarea valorii MIC si
decriptarea, pentru fiecare destinatar autorizat. Pentru
mesaje criptate sau de tipul MIC-ONLY, forma codata
pentru a putea fi listata este convertita intr-un sir de biti.
Portiunile criptate ale mesajului transmis sunt decriptate.
Valoarea MIC este validata. Apoi procesul PEM de la
receptie, converteste reprezentarea canonica in forma sa
locala corespunzatoare.

Nu este necesar ca un mesaj PEM sa cuprinda in


intregime portiunea de text a unui mesaj MTS; in acest fel
informatia protejata PEM ar fi acompaniata de comentarii
neprotejate. Este de asemenea permis, pentru mesaje
PEM multiple (si pentru text neprotejat asociat, din
exteriorul mesajului PEM) sa fie reprezentate, in cadrul
textului incapsulat al unui mesaj PEM de nivel superior.
Semnaturile mesajelor PEM sunt retransmisibile cand se
foloseste managementul cheilor de tip asimetric; un
destinatar autorizat al unui mesaj PEM (cu confidentialitate
aplicata) poate reduce acest mesaj la o forma semnata dar
necriptata, in scopul retransmiterii sau poate recripta acel
mesaj pentru retransmitere ulterioara.

In procesul de prelucrare a unui mesaj PEM receptionat pot


aparea si pot fi detectate mai multe tipuri de erori. Actiunile
specifice care trebuiesc efectuate ca raspuns la aparitia
acestor erori sunt de natura locala, depinzand de
preferintele utilizatorului si de tipul interfetei cu utilizatorul
realizata in cadrul unei anumite implementari a PEM, dar
pot fi date anumite recomandari generale. Mesajele PEM
invalide din punct de vedere sintactic trebuie semnalizate,
prin setarea unor anumite campuri. Este de preferat ca
aceste semnalizari sa contina si colectii de informatii de
diagnostic, necesare pentru a putea elimina
incompatibilitatile si a depana alte defecte. In RFC 1422
sunt prezentate unele cerinte de prelucrare a erorilor,
relevante pentru mecanismele de management al cheilor,
bazate pe certificate.

O grija deosebita trebuie acordata mesajelor PEM, valide


din punct de vedere sintactic, dar care nu trec testul
referitor la valoarea MIC, deoarece ele pot aparea ca
urmare a unor atacuri care au falsificat mesajul. Nu este
recomandabil ca sa fie afisat, de catre destinatar,
continutul acestor mesaje, fara ca acesta sa fie avertizat
in prealabil ca nu poate fi garantata autenticitatea si
integritatea acestui continut si sa i se ceara
consimtamantul explicit pentru afisare.
Si mesajele de tipul MIC-CLEAR trebuie sa sufere un
tratament special, pentru ca si ele pot fi afectate de
atacuri, care conduc la neverificarea valorii MIC.

Algoritmi de criptare, moduri si


parametri
In RFC 1423 sunt prezentati algoritmii, modurile si
identificatorii asociati, care se folosesc pentru criptarea
textului mesajelor cu chei de tip DEK. Aceste
mecanisme incorporeaza facilitati pentru transmiterea
parametrilor criptografici (ca de exemplu vectori de
initilizare pseudoaleatori, pseudorandom Initializing
Vectors, IV) impreuna cu mesajele PEM la care li se
aplica serviciul de confidentialitate, cand este cerut.
Anumite operatii cer criptarea cheilor de tip DEK, a
valorilor MIC si a semnaturilor digitale cu chei de tip IK,
in scopul transmisiei. In campul unui antet se indica
modul in care cheia de tip IK este folosita pentru criptare.
Documentul RFC 1423 specifica algoritmi de criptare si
identificatori de mod precum si necesitati minimale de
sprijin pentru procesul de criptare.

Managementul cheilor
Documnetul RFC 1422 specifica modalitatile de
management nesimetric al cheilor, bazate pe certificate,
construite cu ajutorul recomandarii CCITT X.509.
Procedurile de prelucrare a mesajelor pot fi folosite si cu
management simetric al cheilor, furnizand apriori cheile de
criptare simetrica, de tip IK, dar nu exista documente de tip
RFC care sa specifice procedurile de distributie a cheilor
care ar trebui folosite in acest caz.

Cateva constructii criptografice sunt implicate in


procedura de prelucrare a mesajelor PEM. Cheile de tip
DEK se folosesc pentru criptarea textului mesajelor si in
procesul de calcul al valorilor MIC. Cheile de tipul IK se
folosesc pentru criptarea cheilor de tip DEK si a valorilor
MIC pentru transmitere impreuna cu mesajele. Intr-o
arhitectura de management asimetric al cheilor, bazata
pe certificate, acestea sunt folosite ca un mijloc de a
evidentia componentele publice ale entitatilor precum si
alte informatii, intr-un mod a carui securitate este
asigurata de o autoritate centrala.

Chei de tip DEK


In modul de management al cheilor de tip asimetric,
cheile de acest tip se folosesc pentru a cripta valori MIC,
in mesaje de tipul ENCRYPTED PEM. Se recomanda ca
acest tip de chei sa fie generate si folosite o singura data
pentru un anumit mesaj. Un mesaj transmis va incorpora
o reprezentare a cheii de tip DEK, criptata, folosind o
cheie de tip IK, pentru fiecare dintre destinatarii
specificati. Generarea cheilor de tip DEK poate fi
realizata, fie central, de catre centrul de distributie al
cheilor, Key Distribution Center, KDC, fie de catre
sistemele situate la capete. Sistemele KDC dedicate pot
implementa algoritmi mai puternici decat sistemele de la
capete, pentru generarea aleatoare a cheilor de tip DEK.

Pe de alta parte, descentralizarea face ca sistemele de


la capete sa fie suficiente, reducand nivelul de incredere
care trebuie avuta in componente externe, cuplului
expeditor destinatar. Mai mult, generarea
descentralizata a cheilor de tip DEK, facuta la cele doua
capete, reduce frecventa cu care expeditorii trebuie sa
faca cereri, de timp real, la servere, pentru a putea
transmite posta electronica, imbunatatind
disponibilitatea de comunicare.
Cand se foloseste managementul simetric de chei, un
avantaj al genererarii centralizate, bazate pe servere
KDC, este ca aceste chei (de tip DEK) pot fi returnate la
capete deja criptate cu cheile de tip IK ale destinatarilor
mesajelor in loc sa se genereze chei de tip IK ale
expeditorilor. Aceasta reduce expunerea cheilor de tip IK
si simplifica cerintele managementului de chei al
capetelor.

Chei de tip IK
Aceasta metoda are o valoare mai redusa daca se
foloseste criptografia asimetrica pentru managementul
cheilor, deoarece componenta publica a cheii de tip IK a
destinatarului este disponibila iar componenta secreta a
cehii de tip IK a expeditorului nu trebuie partajata cu
serverul KDC.

Pentru ca doi utilizatori principali sa se angajeze intr-un


schimb util de mesaje PEM, folosind criptografia
conventionala, ei trebuie sa posede o cheie de tip IK
comuna (daca se folosete un management simetric al
cheilor) sau componente complementare ale unei chei
de tip IK (daca se foloseste un management asimetric al
cheilor).
Cand se foloseste criptografia simetrica, cheia de tip IK
este unica si se foloseste atat pentru criptarea cheii de
tip DEK cat si pentru criptarea valorii MIC.

Cand se foloseste criptografia asimetrica, o componenta a


cheii publice a destinatarului este folosita pe post de cheie IK
pentru a cripta cheia de tip DEK (aceasta va putea fi decriptata
doar de catre destinatarul care poseda cheia secreta
corespunzatoare) si cheia secreta a expeditorului este folosita
pentru a cripta valoarea MIC (aceasta va putea fi decriptata de
catre toti utilizatorii din reteaua respectiva, deoarece toti
cunosc cheia publica a expeditorului, si deci si de catre
destinatar, care va putea valida sau nu valoarea MIC
respectiva).
Cand se foloseste managementul asimetric bazat pe
certificate, se foloseste (asa cum este descris n RFC 1422)
functia Issuing Authority, IA, de catre o autoritate de certificare,
Certification Authority, CA. Cand o autoritate IA genereaza si
distribuie o componenta a unei chei de tip IK, se creaza si
informatie asociata de control, pentru a specifica modul in care
sa se foloseasca acea cheie de tip IK.

Trebuie notat ca diferite chei de tip IK trebuie folosite


pentru diferite mesaje schimbate de aceasi pereche de
calculatoare aflate in comunicare. Se considera, de
exemplu, un mesaj trimis de la A la B si un alt mesaj
trimis (folosind metoda IK-per-list) de la A la o lista de
posta electronica al carei membru este si B. Primul
mesaj va folosi componentele IK asociate individual cu A
si B iar cel de al doilea mesaj va folosi o componenta IK
partajata intre membrii listei. Cand se transmite un
mesaj PEM o indicatie referitoare la componentele IK
folosite pentru criptarea cheii de tip DEK si a valorii MIC
trebuie inclusa.

Pentru a selecta cheia de tip IK potrivita pentru criptarea


unui anumit mesaj, expeditorul trebuie sa retina
corespondenta dintre componentele IK si destinatarii cu
care acestea sunt asociate. Si termenul de expirare al
cheii de tip IK trebuie retinut, pentru ca sa nu poata fi
folosite chei expirate de catre atacatori.
Deoarece un mesaj poate fi trimis cu mai multe
componente IK identificate, corespunzatoare la mai multi
destinatari, procesul de tip UA, al fiecarui destinatar,
trebuie sa determine componenta de tip IK care
corepunde acelui destinatar. Mai mult, daca nu exista
componenta IK corespunzatoare in baza de date a
destinatarului, cand soseste un mesaj, acel destinatar
trebuie sa fie capabil sa identifice componenta IK ceruta
si functia IA asociata.

In acest scop campuri din antetele ID ale expeditorului si


destinatarului trebuie sa contina unele dintre
urmatoarele date:
Identificarea autoritatii IA relevante,
Identificarea unei entitati cu care o anumita componenta
IK este asociata (identificator de entitate, Entity Identifier
sau subcamp EI), Subcamp versiune-expirare.
Documentul RFC 1422 defineste o arhitectura de
management al cheilor bazata pe folosirea certificatelor
cu chei publice, ca suport al procedurilor de criptare a
mesajelor si de autentificare, definite in RFC 1421.
Conceptul certificatelor cu chei publice este definit in
norma X.509, arhitectura de fata fiind un caz particular al
acestei norme.

Pachetul de programe PGP,


Pretty Good Privacy
reprezint
o
exemplificare
a
conceptului PEM.
a fost conceput de Phil Zimmermann.

Funcionarea PGP
PGP combin civa dintre cei mai buni parametri ai
criptografiei simetrice i asimetrice.
Cand un utilizator cripteaz un text clar cu PGP, acesta
comprim prima dat textul n clar. Compresia crete
rezistena la atacuri de criptanaliz.
Apoi PGP creaz o cheie de sesiune care este folosit o
singur dat. Aceast cheie este un numr aleator. Ea
lucreaz n acord cu un algoritm de criptare foarte sigur
i rapid pentru a cripta varianta comprimat a textului n
clar. Rezultatul este textul criptat. De ndat ce datele au
fost criptate, este criptat i cheia sesiunii, folosindu-se
cheia public a destinatarului. Varianta criptat a cheii
sesiunii este transmis mpreun cu textul criptat.
Pentru decriptare se aplic operaiile dscrise n ordine
invers. Destinatarul recepioneaz mesajul PGP, i
folosete cheia secret pentru a reconstrui cheia
sesiunii, pe care apoi programele PGP o folosesc pentru
a decripta textul criptat.

Chei
PGP memorez cheile n dou fiiere de pe hard disk-ul
calculatorului gazd. Unul dintre ele este folosit pentru
cheile secrete iar cellalt pentru cheile publice. Acestea
se numesc inele de chei keyrings. Dac un utilizator i
pierde cheia secret, el nu va mai putea s decripteze
nici un mesaj PGP pe care l primete.

Semnturi digitale
Se folosesc pentru autentificarea sursei mesajului i
pentru verificarea integritii acestuia. Ele asigur i
nerepudierea mesajului. n figura urmtoare este
exemplificat modul de inserare a unei semnturi digitale.

n loc s se cripteze informaia cu cheia public a cuiva


se folosete cheia secret a utilizatorului. Dac acea
informaie poate fi decriptat cu cheia public a
utilizatorului atunci nseamn c a fost generat de ctre
acesta.

Semnturile digitale joac un rol important n


autentificarea i validarea cheilor unor noi utilizatori PGP.
n figura urmtoare se prezint procesul de generare i
inserare a unei semnturi digitale.

PGP folosete funcia hash MD-5 pentru a obine un


rezumat (message digest) al textului n clar pe care trebuie
s-l semneze utilizatorul. Cu ajutorul acestui rezumat i al
cheii secrete a utilizatorului, acesta creaz semntura.
PGP transmite mpreun semntura i mesajul n clar.
Dup recepie destinatarul folosete PGP pentru a
recompune rezumatul, verificnd n acest fel semntura.
Mesajul n clar poate fi criptat sau nu. Semnarea unui text
n clar este util dac unii dintre destinatari nu sunt
interesai sau nu sunt capabili s verifice semntura. Att
timp ct se utilizeaz o funcie hash sigur, nu exist nici o
posibilitate s se copieze semntura cuiva dintr-un mesaj i
s se ataeze ntr-un altul sau s se altereze un mesaj
semnat. Cea mai mic modificare a unui document semnat
va cauza insuccesul procesului de verificare a semnturii.

Certificate digitale
Dup cum s-a artat la prezentarea algoritmului DiffieHellman, o problem major a sistemelor de criptare cu
cheie public este vulnerabilitatea acestora la atacul de
tip man-in-the-midle. De aceea n cazul acestor sisteme
de criptare este vital ca utilizatorul s fie sigur c
folosete o cheie public, pentru criptarea datelor, care
aparine ntr-adevr destinatarului mesajului i nu este o
cheie falsificat. Aa cum s-a artat la prezentarea
sistemului Kerberos, n scopul eliminrii cheilor
falsificate, pot fi folosite certificatele digitale. Acestea
permit autentificarea pe baza colaborrii cu o a treia
entitate de ncredere.

Distribuirea certificatelor
Un certificat digital este compus din trei elemente:
- o cheie public,
- informaie proprie (de identificare a utilizatorului),
- una sau mai multe semnturi digitale.
Scopul utilizrii semnturilor digitale ntr-un certificat este
ca acesta s atesteze c informaia proprie a fost
verificat i confirmat de o a treia entitate de ncredere.
Deci un certificat digital este o cheie public la care se
ataeaz una sau dou forme de identificare i o
aprobare de la o a treia entitate de ncredere.

n cazul grupurilor mici se utilizeaz distribuirea manual


a certificatelor digitale. n cazul grupurilor mai mari
trebuie s se foloseasc server-e de certificare, sau alte
sisteme mai complexe, de tipul celor prezentate n
capitolul destinat standardelor PKCS, ale firmei RSA.
PGP recunoate dou formate diferite de certificat:
- certificate PGP,
- certificate X.509.

Formatul de certificat PGP


Un certificat PGP include (dar nu este limitat la)
urmtoarea informaie:
- numrul de versiune PGP. Acesta identific ce
versiune de PGP a fost folosit la generarea cheii
asociate la certificatul curent,
- cheia public a certificatului. Partea public a perechii de
chei a utilizatorului, mpreun cu algoritmul folosit
mpreun cu aceast cheie: RSA, Diffie-Hellman,
algortim de semntur digital,
- partea de informaie a certificatului. Este vorba despre
informaia de identificare a utilizatorului, cum ar fi numele
su, fotografia sa, etc,
- semntura digital a distribuitorului de certificate. Se mai
numete i autosemntur i se construiete folosind
cheia secret corespunztoare cheii publice amintit mai
sus,

- perioada de valabilitate a certificatului. Se specific


data de generare a certificatului precum i data expirrii
sale,
- algoritmul de criptare simetric preferat pentru
criptarea cheii (CAST, IDEA sau DES-triplu).

Valabilitate i ncredere
Orice utilizator poate confunda un certificat real cu unul
fals. Valabilitatea exprim gradul de ncredere cu care
trebuie considerat c un certificat a fost elaborat de o
anumit autoritate. Cnd un utilizator s-a convins c un
anumit certificat este valabil el poate semna copia
acestuia cu una dintre cheile de pe inelul su de chei,
pentru a-i confirma autenticitatea. Dup cum s-a artat
n paragraful n care a fost prezentat sitemul PEM, exist
autoriti de autentificare a certificatelor, CA.

Revocarea certificatelor
Certificatele digitale sunt folositoare doar atata vreme cat
sunt valabile. Cand ele expira nu mai sunt valabile.
Exista si cazuri cand este necesara revocarea unui
certificat digital inainte de data expirarii sale. Orice
entitate care a semnat un certificat, poate sa-si revoce
propria semnatura de pe acesta, de indata ce are
impresia ca informatia proprie si cheia publica nu mai
sunt in corespondenta corecta sau ca a fost atacata
cheia publica. n cazul certificatelor PGP poate fi revocat
si intregul certificat (nu numai propria semnatura) de
catre una dintre entitatile care l-a semnat. Un certificat
PGP poate fi revocat doar de catre autoritatea care l-a
eliberat sau de catre o entitate care a fost imputernicita
de catre aceasta sa revoce certificate.

Nivele de incredere in PGP


Cel mai inalt nivel de incredere intr-o cheie, incredere
implicita, este cel corespunzator perechii proprii de chei.
PGP presupune ca daca un utilizator poseda o cheie
secreta, el trebuie sa aiba incredere in actiunile
efectuate pe baza cheii publice corespunzatoare. Orice
cheie semnata cu ajutorul acestei chei publice este de
incredere pentru acel utilizator. Exista trei niveluri de
incredere care se poate acorda unei chei publice a unui
alt utilizator:
completa, marginala, neincredere.
In consecinta exista si trei nivele de validitate:
totala, marginala, nula.
Pentru a considera o cheie valida, PGP pretinde fie o
semnatura cu incredere completa fie doua semnaturi cu
incredere marginala.

Comunicarea revocarii unui


certificat
La revocarea unui certificat digital este important ca toti
potentialii sai beneficiari sa fie informati. Pentru aceasta,
in cadrul sistemului PGP se afiseaza certificatul revocat
pe un server de certificare. In acest mod toti cei care
doresc sa comunice cu utilizatorul a carui cheie publica
este continuta in acel certificat sa poata sa fie avertizati
ca acea cheie publica nu mai este valida. Pentru aceasta
se folosesc liste de certificate revocate, Certificate
Revocation List, CRL, publicate de catre CA.
Certificatele revocate raman pe o astfel de lista doar
pana la data expirarii lor. CA distribuie CRL, la utilizatori,
periodic.

Parole
Ce este o parola de tip fraza ?
O parola de tip fraza este o varianta mai lunga de parola
care este folosita de catre un utilizator in scop de
identificare. Aceasta este mai sigura impotriva atacurilor
bazate pe forta bruta. PGP foloseste o parola de tip
fraza pentru criptarea cheii unui utilizator pe propriul
calculator. Nu este permis ca utilizatorul sa-si uite parola
de tip fraza.

Sisteme de tip firewall


Un firewall este un sistem sau un grup de sisteme care
impune o politic de control al accesului ntre dou
reele. Metodele de implementare sunt variate dar n
principiu dispozitivul de tip firewall poate fi privit ca i o
pereche de dou mecanisme: unul de blocare a
traficului de date i cellalt de deblocare a acestui trafic.
Denumirea de firewall a fost folosit pentru prima dat la
sfritul anului 1980, pentru un dispozitiv de limitare a
pagubelor. Pentru prima oar termenul firewall a fost
folosit pentru a denumi un dispozitiv de securitate n anul
1987. O prim descriere a unui dispozitiv de acest tip a
fost fcut n anul 1990.

Impartasirea cheilor
Se spune ca un secret nu mai este secret daca este
cunoscut de doua persoane. La fel este si in cazul unei
chei secrete. Desi nu este recomandabil, uneori este
necesar sa se utilizeze in comun chei secrete. In aceste
situatii este recomandabil ca portiuni ale cheii secrete sa
fie facute cunoscute cate unei persoane, astfel incat
acea cheie sa poata fi folosita doar cu participarea
tuturor acelor persoane.

Cel mai important atribut al unui astfel de dispozitiv este


politica de control pe care o implementeaz. n absena
unei astfel de politici utilizarea unui dispozitiv de tip
firewall nu are sens. Este de asemenea de remarcat c
dispozitivul de tip firewall impune politica sa, tuturor
dispozitivelor din vecintate. De aceea responsabilitatea
administratorilor de reea care programeaz dispozitivele
de tip firewall este important pentru funcionarea
reelelor pe care le conecteaz aceste dispozitive.
Dispozitivul de tip firewall al unei companii poate fi
folosit i pentru a obine informaii despre acea companie.
Prin intermediul acestui dispozitiv pot fi publicate
cataloage de produse, informaii de uz general,,
dobndirea acestora putndu-se face fr a accesa vreun
server din reeaua companiei considerate.

Unele dispozitive de tip firewall permit doar traficul prin


pot electronic, protejnd reeaua de orice atac cu
excepia celor specifice pentru pota electronic. Alte
dispozitive de tip firewall realizeaz o protecie mai puin
strict, blocnd doar serviciile despre care se crede c
nu sunt suficient de sigure.
n general dispozitivele de tip firewall sunt configurate
pentru a proteja mpotriva accesului neautentificat din
lumea extern. Dispozitive de tip firewall mai elaborate
blocheaz traficul dinspre exterior spre interior dar
permit utilizatorilor din interior s comunice liber cu
exteriorul. Dispozitivele de tip firewall sunt importante i
deoarece ele pot fi privite ca noduri n care poate fi
impus securitatea. De exemplu atacurile prin modemuri pot fi respinse, dispozitivul de tip firewall
comportndu-se ca i un nregistrator de convorbiri
telefonice.

Pentru ca sa poata functiona corect, un dispozitiv de tip


firewall trebuie sa reprezinte o parte a unei arhitecturi de
securitate bazata pe o politica coerenta. Daca una dintre
celelalte parti ale acestei arhitecturi de securitate nu
functioneaza corect atunci arhitectura respectiva nu este
sigura. Politica de securitate a unui dispozitiv de tip firewall
trebuie sa fie realista si sa reflecte nivelul de securitate din
intreaga retea. De exemplu un calculator gazda care detine
informatii clasificate ca secrete nu necesita un dispozitiv de
tip firewall, pur si simplu acesta nu trebuie conectat in retea.
De asemenea dispozitivele de tip firewall nu pot proteja
impotriva atacurilor pornite din interiorul retelei.

El inregistreaza mesajul transmis prin modem, verifica


securitatea acestuia si doar daca mesajul este sigur il
transmite mai departe. Dispozitivele de tip firewall pot
oferi administratorilor de retea si diferite informatii
referitoare la traficul care le-a strabatut intr-un anumit
interval de timp (tipul de trafic, numarul de incercari
ilegale de a forta accesul, etc). Dispozitivele de tip
firewall nu pot proteja impotriva atacurilor care nu trec
prin ele. Date pot fi furate dintr-o anumita retea si prin
acces direct (de exemplu pe o banda magnetica) sau
prin intermediul modemurilor.

Nici impotriva virusilor nu poate fi asigurata o protectie


eficienta. Impotriva acestui tip de atacuri trebuie creata
o politica speciala a intregii retele. Majoritatea virusilor
sunt inoculati prin folosirea dischetelor si nu prin retea.
In continuare se prezinta cateva adrese utile pentru
informare in domeniul dispozitivelor de tip firewall:
http://www.net.tamu.edu/ftp/security/TAMU/
http://www.cs.purdue.edu/coast/firewalls

Implementare
Exista cateva decizii, pe care trebuie sa le ia un
administrator de retea in legatura cu instalarea unui
dispozitiv de tip firewall. In primul rand trebuie cunoscut
modul in care se doreste sa se opereze sistemul.
E necesar ca administratorul de retea sa stie daca
dispozitivul de tip firewall trebuie sa blocheze toate
servicile care nu sunt absolut necesare pentru
conectarea retelei respective la INTERNET sau daca
este suficient ca dispozitivul de tip firewall sa ofere o
cale obiectiva de dirijare a accesului. In al doilea rand
administratorul de retea trebuie sa stie care este nivelul
de monitorizare, redundanta si control necesare pentru
reteaua considerata.
Cel de al treilea este aspectul financiar.

Tipuri de dispozitive firewall


Dispozitivele de tip firewall pot fi clasificate dupa nivelul din
modelul de referinta OSI, la care actioneaza, in doua
categorii:
dispozitive care actioneaza la nivelul retea,
dispozitive care actioneaza la nivelul aplicatie.
Dispozitivele firewall care actioneaza la nivele inferioare
(retea) sunt mai rapide dar asigura un nivel de securitate
mai scazut.

Dispozitive firewall care actioneaza


la nivel retea
Aceste dispozitive iau decizii pe baza adreselor sursei si
destinatiei precum si pe baza porturilor specificate, in
adresele IP individuale. Un router obisnuit poate fi privit
ca dispozitiv de tip firewall din aceasta categorie.
Dispozitivele firewall care actioneaza la nivel retea
moderne sunt din ce in ce mai complicate, in prezent
acestea mentin informatii interne despre starea
conexiunilor care trec prin ele precum si despre
continutul anumitor siruri de date. Utilizarea unui astfel
de dispozitiv este prezentata in figura urmatoare.

Accesul la si de la un singur calculator gazda este


controlat cu ajutorul unui router care opereaza la nivelul
retea. Singurul calculator gazda, amintit mai sus este un
calculator gazda de tip Bastion, adica un calculator
puternic aparat care realizeaza un nod cu securitate de
nivel inalt pentru a rezista atacurilor. Dispozitivul de tip
firewall din figura anterioara este numit screened host
firewall.

Dispozitivul din figura urmatoare se numeste screened


subnet firewall. In cazul utilizarii unui astfel de sistem este
controlat accesul spre si dinspre o intreaga retea cu
ajutorul unui router care opereaza la nivel retea. Sistemul
este similar cu un dispozitiv de tipul screened host, doar
ca nu este vorba despre un singur dispozitiv ci despre o
retea de dispozitive de tipul screened host.

Cele mai moderne dispozitive de tip firewall sunt perfect


transparente. Dispozitivele de tip firewall care actioneaza
la nivel aplicatie tind sa asigure un nivel de securitate mai
ridicat decat cele care actioneaza la nivel retea. Un
exemplu de dispozitiv de tip firewall din aceasta categorie
este prezentat in figura urmatoare. El este numit dual
horn gateway. Este vorba despre un calculator gazda cu
un nivel de securitate sporit care ruleaza software de tip
proxy. Are doua interfete cu reteaua si blocheaza complet
traficul care il strabate.

Dispozitive firewall care actioneaza


la nivel aplicatie
Pot fi folosite ca si translatoare de adrese de retea
deoarece traficul este dirijat intr-o singura directie, la un
anumit moment de timp, dupa ce a trecut printr-o
aplicatie care a mascat originea conexiunii initiate.
Avand o aplicatie intr-un anumit sens, la un moment dat,
in anumite cazuri pot fi afectate performantele retelei iar
dispozitivul de tip firewall poate deveni mai putin
transparent. Dispozitivele de tip firewall mai moderne, cu
actiune la nivelul aplicatie, cum sunt cele construite
folosind sistemul de generare a dispozitivelor firewall
(toolkit) TIS, nu sunt absolut transparente la nivelul
utilizatorilor de la capete si pot necesita o perioada de
antrenament.

Viitorul dispozitivelor de tip firewall se va gasi undeva


intre categoria care actioneaza la nivelul retea si
categoria care actioneaza la nivelul aplicatie. Vor fi
dispozitive care vor asigura un nivel de securitate mai
mare decat dispozitivele care actioneaza la nivelul retea
si au o transparenta mai mare decat dispozitivele care
actioneaza la nivelul aplicatie.

Server-e proxy
Din ce in ce mai des dispozitivele de tip firewall apeleaza
la metode de criptare pentru protejarea datelor care le
strabat. Dispozitivele de tip firewall cu criptare capat la
capat pot fi folosite de organizatii care au mai multe
puncte de conectare la INTERNET, in acest fel
administratorii de retea ai acestor oraganizatii, netrebuind
sa-si mai faca griji pentru protectia datelor sau parolelor
calculatoarelor organizatiilor lor.

Resurse critice intr-un dispozitiv de


tip firewall
Resursele critice ale unui dispozitiv de tip firewall tind sa
varieze de la site la site in functie de trafic. Oricum una
dintre cele mai importante resurse este capacitatea de
memorare a unui astfel de dispozitiv, mai ales atunci
cand debitul traficului este ridicat. In tabelul urmator se
prezinta cateva dintre resursele critice pentru servicile de
tip firewall in functie de principala aplicatie a acestora.
Serviciu
Pot electronic
Reviste electronice Netnews
Navigaie Web
Dirijare IP
Web Cache

Resursa critic
Dispozitive I/O pentru hard-disck
Dispozitive I/O pentru hard-disck
Performanele socket-ului sistemului de operare al
calculatorului gazd
Performanele socket-ului sistemului de operare al
calculatorului gazd
Performanele socket-ului sistemului de operare al
calculatorului gazd, Dispozitive I/O pentru harddisck

Un server proxy este o aplicatie care mediaza traficul


intre o retea protejata si INTERNET. De obicei astfel de
server-e se utilizeaza in locul controloarelor de trafic
bazate pe router-e, pentru a preveni traficul direct intre
retele diferite. Multe server-e proxy contin programe
pentru autentificarea utilizatorului.
O categorie populara de sever-e proxy este TIS, Internet
Firewall Toolkit, care include server-e proxy pentru
protocoalele: Telenet, rlogin, FTP, X-window, HTTP/Web
si NNTP/Usenet. Un alt sistem de server-e proxy este
numit SOCKS. Acesta poate fi compilat intr-o aplicatie
de tip client pentru a fi facut sa lucreze printr-un
dispozitiv de tip firewall.

Diferite tipuri de atac


Traficul dirijat de sursa
In mod normal drumul pe care il parcurge un pachet de
date intre sursa si destinatia sa este fixat de catre routerele pe care le intalneste in cale. Pachetul contine doar
adresa destinatiei. Exista insa o optiune pentru
expeditorul de pachete de a include informatii in pachet
care sa specifice drumul pe care trebuie sa mearga
pachetul respectiv. n acest mod se realizeaza dirijarea
traficului de catre sursa. Aceasta metoda de dirijare nu
este agreata de catre dispozitivele de tip firewall,
deoarece un atacator poate genera trafic declarand ca
acesta a fost creat de catre un sistem din interiorul
dispozitivului de tip firewall. Un astfel de trafic nu poate fi
dirijat corect de catre dispozitivul de tip firewall deoarece
toate router-ele situate intre calculatorul atacatorului si
tinta vor returna traficul pe calea inversa a drumului
"indicat" de catre sursa (deci tot acest trafic fals va fi
indreptat spre dispozitivul de tip firewall).

Deoarece implementarea unui astfel de atac este foarte


simpla, constructorii de dispozitive de tip firewall nu trebuie
sa accepte ca acest tip de dirijare sa fie folosit. La
constructia unui dispozitiv de tip firewall trebuie blocata intrun anumit punct dirijarea traficului de catre sursa.
Redirectionare ICMP
O redirectionare ICMP informeaza un anumit router ca
trebuie sa modifice ceva in tabelul sau de dirijare. In acest
fel pot fi evitate de exemplu drumurile blocate (din cauza ca,
de exemplu, un router de pe acele drumuri s-a defectat, sau
este congestionat). E clar ca prin falsificarea mesajelor de
redirectionare ICMP poate fi atacat un anumit router si
traficul prin acesta blocat. Redirectionarea ICMP poate fi
folosita si pentru realizarea unor atacuri de tip negarea
serviciului, service denial. De aceea multe dispozitive de tip
firewall nu iau in considerare mesajele de redirectionare
ICMP.

Saturarea server-ului SMTP


Un atacator poate trimite numeroase copii ale unui
aceluiasi mesaj la o lista de adrese e-mail. Aceasta lista
transmite mesajele unui server SMTP pentru a le livra
destinatarilor. In acest mod acel server poate fi saturat.
Exploatarea greselilor din softul de aplicatie
Majoritatea programelor de aplicatie folosite pentru
reteaua INTERNET contin mici greseli, bugs. Acestea
pot fi utilizate pentru atacarea servicilor implementate de
aplicatiile respective. Expunerea la acest risc poate fi
redusa prin limitarea la folosirea doar a servicilor strict
necesare si utilizarea acelor programe de implementare
a acestor servicii care s-au dovedit in timp cele mai
fiabile si sigure. Aceleasi considerente sunt valabile si
pentru sistemele de operare.

Negarea serviciului
Este imposibil, in INTERNET, sa se pareze un atac
de tipul negarea serviciului, datorita naturii distribuite a
acestei retele. Un dispozitiv de tip firewall poate avea
control doar asupra catorva elemente locale, atacul de tip
negarea serviciului putandu-se oricand declansa de la
distanta mai mare.

Produse de tip firewall


Produs
Black Hole
BorderWare
Brimstone
CENTRISecure Internet Gateway
CiscoWorks
Cyberguard
Data Privacy Facility
Eagle
Firewall-1
Gauntlet
GFX-94 Internet Firewall
HSC GateKeeper
Interceptor
Interlock
IRX Router
KarlBridge
NetGate
NetLOCK(tm)
NetRanger
NetSeer
Netra Server
NetSP
Private Internet Exchange
PORTUS
SEAL
Secureconnect
Sidewinder
Site Patrol
SmartWall
SunScreen SPF-100
Turnstyle Firewall System
Tiny Personal Firewall

Productor
Milkyway
Border Network Technologies
SOS Corp
Cohesive Systems
Cisco Systems
Harris Computer Systems
Network Systems Corporation
Raptor Systems
CheckPoint Software Technologies
TIS
Global Technology Associates
Herve Schauer Consultants
Technologic
ANS
Livingston Enterprises
KarlNet
Smallworks
Hughes
WheelGroup
EnterWorks.com
Sun
IBM
Network Translation
LSLI
Digital
Morning Star
Secure Computing Corporation
BBN Planet Corp
V-ONE
Sun Internet Commerce Group
Atlantic Systems Group
TINY Software

10

Concepte de baz
Doua solutii de firewall

Securitatea, o necesitate;
Ce este un firewall?
Care este scopul unui firewall?
Direcii de utilizare.

Propuse in proiectele de diploma ale


studentilor Bogdan Corina si Boca
Tudor, care au absolvit in 2007.

Sistemedeproteciecufirewall

Prezentare firewall:

Sistemedeproteciecufirewall

Politica de securitate pentru un firewall:

permite orice acces;


interzice orice acces.

Sistemedeproteciecufirewall

Pricipii de baz n
proiectarea unui firewall
1. Definirea nevoilor;
| Rolul concret,
| Ce servicii ofer ?
| Grupuri de utilizatori protejai i
gradul de protecie,
2. Evaluarea produselor disponibile pe
pia;
3. mbinarea pricipiilor n vederea obinerii
unei soluii convenabile.

Modulul IPTABLES
Ce este un filtru de pachete?
Un filtru de pachete este o
bucic de software care se
uit la antetul pachetelor pe
msur ce ele intr i decide
soarta ntregului pachet.
Acest filtru poate s decid
s ignore pachetul (DROP),
s l accepte (ACCEPT) sau
poate s ia alte decizii mai
complicate.

Filtru de pachete

Tabele: Mangle, Filter, NAT;


n IPTABLES exist trei
tabele. Fiecare tabel
conine anumite
lanuri (chains):
PREROUTING, INPUT,
FORWARD, OUTPUT,
POSTROUTING.

Lanuri: Prerouting, Input,


Forward, Output, Postrouting;
Un lan este o list de verificare
cu reguli. Fiecare regul spune
"dac antetul pachetului arat
aa, atunci iat ce s faci cu
pachetul". Dac regula nu se
potrivete cu pachetul, atunci
urmtoarea regul din lan este
examinat. n final, dac nu
mai exista reguli de examinat,
kernel-ul Linux se uit la
politica acelui lan pentru a
decide soarta pachetului.

inte, salturi;
Fiecare regul sau set de reguli are o int. Dac o
regul se potrivete, inta ei specific ce se va
ntmpla cu acel pachet. Exist dou inte foarte
simple incluse: ACCEPT i DROP. Exist i
specificaii de tipul jump (salt). Aceast instruciune se
folosete cnd inta unui pachet este un alt lan.
Sintaxa unei reguli:
Iptables [-t tabela] comand lan [identificatori]
[int/salt]

Sistemedeproteciecufirewall

Sistemedeproteciecufirewall

Serverul FTP
Structura standard de directoare a sistemului Linux

Pentru a crea un server FTP pe un sistem LINUX/UNIX trebuie mai nti s-l
instalm din System> Administration> Synaptic Package Manager. Serverul
current instalat se numete proftpd.

root@tudidesktop:~#
/
|bin
|boot
|dev
|etc
|home
|lib
|mnt
|opt
|proc
|root
|sbin
|sys
|tmp
|usr
|var

Sistemedeproteciecufirewall
Pentru a descrca pachetele trebuie s ne logm n modul root de
administrare, mod ce confer drepturi depline pentru instalare sau dezinstalare
de programe sau aplicaii. Proftp-ul este instalat default n fisierul /etc adic
/etc/proftpd.conf. Pentru instalare ntr-o fereastr Terminal din Application>
Accessories, logai ca root trebuie dat comanda:
sudo apt-get install proftpd

Sistemedeproteciecufirewall

Copierea de informaii

Conectarea la serverul FTP

Sistemedeproteciecufirewall

Conexiunile stabilite pe serverul FTP

Sistemedeproteciecufirewall

Arhitectura reelei studiate


Oprirea din firewall a unei conexiuni
Reeaua perimetru
(DMZ):
SVN (Subversion);
LDAP (Lightweight
Directory Access
Protocol);
AS (Application
Server);
VPN (Virtual Private
Network).

Soluia propus
Gateway-ul :
-este un calculator cu
cel puin dou
interfee,
-poate dirija pachetele
dintr-o reea n alta.
Motivaie: reeaua este
de dimensiuni mici.

Pricipiul de functionare al
firewall-ului
Configuratia
retelei;
Tabela MANGLE;
Tabela NAT;
Tabela Filter;
Lanturi definite:
Vpn-cust,
Vpn-stuff.

Arhitectur de tip Dual-homed gateway

Rezultate experimentale
Produse software utilizate pentru testare:
-Ethereal,
-Network Mapper (Nmap).
Ethereal este un software folosit pentru analiza traficului. Acesta este
un analizor de retea care permite vizualizarea tuturor pachetelor
atunci cand se face trafic. Se pot:
- face capturi de pachete,
-defini filtre pentru pachete prin expresii logice, in functie de protocol,
timp etc.

Pe baza acestor capturi se genereaza


grafice cu evolutia in timp a pachetelor.

Datele pot fi capturate in timp real din


Ethernet, FDDI (Fiber Distributed Data
Interface), PPP, Token-Ring, IEEE 802.11
(standardul pentru LAN Wireless) si
interfete loopback.
Suporta peste 700 de protocoale.

Nmap este un tool open-source folosit pentru


explorarea retelei si audit de securitate.
Design-ul sau permite scanarea rapida chiar
si a retelelor de mari dimensiuni, dar
functioneaza foarte bine si pentru un singur
calculator gazda. Nmap utilizeaza pachete IP
brute pentru a determina ce host-uri sunt
disponibile intr-o retea, ce servicii (nume de
aplicatii si versiuni) ofera aceste host-uri, ce
sisteme de operare ruleaza, ce tipuri de filtre
de pachete sunt in uz si multe alte
caracteristici.

[root@krishna ~]# nmap -sS 86.125.29.227


Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-05-20
20:20 EEST
Interesting ports on 86-125-29-227.oradea.rdsnet.ro (86.125.29.227):
Not shown: 1676 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
199/tcp open smux
Nmap finished: 1 IP address (1 host up) scanned in 0.615 seconds

Tipuri de teste aplicate firewallului implementat


Nmap este foarte util pentru operatiuni ca: inventarierea
retelei, monitorizarea host-urilor i determinarea timpului
de functionare a serviciilor (uptime).
Iesirea este o lista de tinte scanate, cu diferite informatii
suplimentare, in fuctie de optiunile utilizate. In tabela vor
fi listate numarul portului, protocolul, numele serviciului si
starea. Starea poate fi: deschis (open), filtrat (filtered),
inchis (closed) sau nefiltrat (unfiltered). Deschis
inseamna ca o aplicatie de pe masina tinta asculta pe un
port. Filtrat inseamna ca un firewall, filtru sau alt obstacol
blocheaza portul. Porturile inchise nu au aplicatii care sa
le asculte.

-Ping flood,
-Syn flood,
-Scanare porturi de pe masina pe care e instalat
firewall-ul,
-Scanare porturi de pe o masina aflata in
exteriorul retelei,
-Scanare UDP.

Ping flood este incercarea de inundare cu


pachete ICMP echo-request. In firewall
exista o regula prin care se limiteaza rata
de raspuns echo-reply, la pachetele de tip
request.

Ecranul analizorului de protocoale Ethereal in cazul unui atac de tip ping flood,
in absenta unui firewall.

Ping Flood

Limitare pachete echo-reply

Inundare cu pachete echo-request

Regula din firewall prin care se limiteaza rata


de raspuns:
Iptables -A INPUT -p icmp -m limit --limit-burst
10 --limit 1/sec -j ACCEPT,

Syn flood
Atacul Syn Flood decurge in felul
urmator:
Atacatorul (simbolizat prin omul
gri) trimite mai multe pachete SYN,
dar nu trimite server-ului inapoi
mesajul ACK. Conexiunea este
deci semi-deschisa, consumand
resursele server-ului.
Un utilizator oarecare, legitim,
(simbolizat prin femeia in rosu)
incearca sa se conecteze, insa
serverul refuza sa deschida
conexiunea, rezultand astfel
denial-of-service.

Daca in firewall se introduce o regula de limitare a


raspunsului, la o rata de 5 mesaje pe secunda,
aceasta situatie va fi evitata. De ce? Filtrul token
bucket (TBF) va contine atatea jetoane cate
s-au impus prin parametrul burst, 10 n acest caz.
Adica primele 10 pachete care sosesc vor primi
jetoane, avnd dreptul sa mearga mai departe.
Apoi fiecare pachet care soseste, va primi un jeton
tot la 5 secunde, deci indiferent daca exista cereri
de conexiune, sistemul nu poate sa raspunda
decat la acest interval, limitandu-se astfel
inundarea cu pachete SYN.

SYN Flood

Respingerea unui atac de tip Denial-of-Service.

Atac Denial-of-Service.

Regula din firewall prin care se impiedica un


atac DoS:
Iptables -p TCP -syn -m limit --limit-burst 10 -limit 5/sec -j ACCEPT.

Scanare de porturi de pe masina


pe care e instalat firewall-ul

Scanare porturi de pe o masina


aflata in exteriorul retelei

Din consola de Linux, cu privilegii de root, se da urmatoarea comanda


Nmap:
[root@krishna ~]# nmap -sS 86.125.29.227
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-05-20
20:20 EEST
Interesting ports on 86-125-29-227.oradea.rdsnet.ro (86.125.29.227):
Not shown: 1676 closed ports
PORT STATE SERVICE
22/tcp open ssh
53/tcp open domain
80/tcp open http
199/tcp open smux
Nmap finished: 1 IP address (1 host up) scanned in 0.615 seconds
Se observa ca exista 4 porturi deschise: ssh, DNS, HTTP i SMUX
(protocol SNMP de multiplexare).

Se da aceeasi comanda ca in exemplul de mai sus.


Rezultatul va fi urmatorul:
Initiating SYN Stealth Scan against 86.125.29.227 [1663 ports] at 13:47
Discovered open port 22/tcp on 86.125.29.227
SYN Stealth Scan Timing: About 3.52% done; ETC: 14:01 (0:14:01 remaining)
SYN Stealth Scan Timing: About 62.93% done; ETC: 14:10 (0:08:35 remaining)
The SYN Stealth Scan took 1377.45s to scan 1663 total ports.
Host 86.125.29.227 appears to be up ... good.
Interesting ports on 86.125.29.227:
(The 1661 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE
1723/tcp closed pptp
Nmap finished: 1 IP address (1 host up) scanned in 1377.487 seconds
Interpretarea scanarii:
Portul SSH este deschis, deoarece conexiunea la masins s-a facut de catre un
utilizator autentificat (user/parola). Restul porturilor sunt inchise, asa cum si
trebuie ele sa apara pentru un utilizator care este in exterior.

Scanare UDP
Desi cele mai multe servicii in Internet folosesc protocolul
TCP, serviciile UDP sunt de asemenea foarte utilizate.
DNS (Domain Name System), SNMP (Simple Network
Management ) i DHCP (Dynamic Host Configuration
Protocol) sunt cele mai cunoscute. Acest tip de scanare
este mult mai lenta decat cea TCP, dar este foarte utila
deoarece un atacator sigur nu va ignora acest protocol.
Scanarea functioneaza in felul urmator: se trimite un antet
UDP la portul tinta. Daca se returneaza o eroare ICMP
unreachable (tip 3, cod 3), portul este inchis. Alte erori
ICMP (tip 3, cod 1,2,9,10 sau 13) marcheaza portul ca
fiind filtrat. Daca nu se primeste nici un raspuns, portul
este clasificat ca fiind deschis|filtrat. Acest lucru
inseamna ca portul poate fi deschis sau ca un filtru de
pachete blocheaza comunicatia.

Scanare UDP din interiorul retelei,


cu privilegii de root
Se ruleaza urmatoarea comanda cu Nmap: [root@krishna tmp]# nmap -sU gw
Rezultatul scanarii este:
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2007-05-20 22:30 EEST
Interesting ports on 10.0.0.1:
Not shown: 1479 closed ports
PORT STATE SERVICE
53/udp open|filtered domain
67/udp open|filtered dhcps
68/udp open|filtered dhcpc
123/udp open|filtered ntp
137/udp open|filtered netbios-ns
138/udp open|filtered netbios-dgm
161/udp open|filtered snmp
32768/udp open|filtered omad
Nmap finished: 1 IP address (1 host up) scanned in 1.808 seconds
Interpretarea scanarii: Se observa ca porturile 53 (DNS), 67 (DHCPS), 68 (DHCPC),
123 (NTP-Network Time Protocol), 137 (NetBios-NS), 138 (NetBios-DGM) si 161
(SNMP) sunt in starea open|filtered, ceea ce inseamna ca exista un mecanism
de filtrare (firewall-ul). Deci regulile de filtrare din firewall functioneaza corect.

Sistemedeprotectiecufirewall

Scanare din exteriorul retelei


Comanda Nmap este urmatoarea:
[root@localhost ~]# nmap -vv -sU -F 86.125.29.227 -P0
Aceasta este o scanare rapida (specificata prin parametrul -F), iar prin parametrul -PO se
specific comanda "No Ping" (pentru a trece peste testul de "descoperire host").
Rezultatul scanarii:
Initiating SYN Stealth Scan against 86.125.29.227 [1663 ports] at 13:47
Discovered open port 22/tcp on 86.125.29.227
SYN Stealth Scan Timing: About 3.52% done; ETC: 14:01 (0:14:01 remaining)
SYN Stealth Scan Timing: About 62.93% done; ETC: 14:10 (0:08:35 remaining)
The SYN Stealth Scan took 1377.45s to scan 1663 total ports.
Host 86.125.29.227 appears to be up ... good.
Interesting ports on 86.125.29.227:
(The 1661 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE
22/tcp open ssh
1723/tcp closed pptp
Nmap finished: 1 IP address (1 host up) scanned in 1377.487 sec
Raw packets sent: 3509 (140KB) | Rcvd: 3392 (156KB)
Interpretare:
Singurul port care apare deschis este SSH, dar acest lucru este normal deoarece conexiunea s-a
facut prin SSH, nsa in mod autorizat (user/parola), pentru a putea efectua testul de la
distanta (nu din reteaua locala). In cazul in care un atacator ar incerca o astfel de scanare, nu
ar reusi, deoarece mai intai trebuie sa se conecteze la masina i nu poate face acest lucru
decat daca obtine (in mod fraudulos) un user i o parola.

Concluzii
Tot traficul de date dinspre si inspre Internet
trebuie filtrat;
Este mai bine de securizat o masina care le va
proteja pe celelalte;
Un firewall poate sa monitorizeze caile de
patrundere in reteaua privata, permitand un bun
control al traficului si deci o mai usoara detectare a
incercarilor de infiltrare.

10

Un firewall poate:
Monitoriza caile de acces in reteaua privata,
Selecta accesul in spatiul privat pe baza
informatiilor din pachete,
Izola spaiul privat de cel public.
Un firewall NU poate:
Interzice exportul/importul de informatii
daunatoare vehiculate ca urmare a actiunilor
rautacioase ale utilizatorilor din spatiul privat,
Sa apere reteaua privata de utilizatori care
folosesc sisteme fizice mobile (USB Stick,
discheta, CD, etc.).

11

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