Sunteți pe pagina 1din 28

Tehnologii Web curs 12-13-14

Securitatea în reţelele de calculatoare


Importanţa aspectelor de securitate în reţelele de calculatoare a crescut odatǎ cu
extinderea prelucrǎrilor electronice de date şi a transmiterii acestora prin intermediul reţelelor. În
cazul operǎrii asupra unor informaţii confidenţiale, este important ca avantajele de partajare şi
comunicare aduse de reţelele de calculatoare sǎ fie susţinute de facilitǎţi de securitate
substanţiale. Acest aspect este esenţial în condiţiile în care reţelele de calculatoare au ajuns sǎ
fie folosite inclusiv pentru realizarea de operaţiuni bancare, cumpǎrǎturi sau plata unor taxe.
În urma implementǎrii unor mecanisme de securitate într-o reţea de calculatoare,
informaţiile nu vor putea fi accesate sau interceptate de persoane neautorizate (curioase sau,
eventual, chiar rǎu intenţionate) şi se va împiedica falsificarea informaţiilor transmise sau
utilizarea clandestinǎ a anumitor servicii destinate unor categorii specifice de utilizatori ai
reţelelor.
Problemele de asigurare a securitǎţii reţelelor pot fi grupate în urmǎtoarele domenii
interdependente:
1. confidenţialitatea se referǎ la asigurarea accesului la informaţie doar pentru utilizatorii
autorizaţi şi împiedicarea accesului pentru persoanele neautorizate;
2. integritatea se referǎ la asigurarea consistenţei informaţiilor (în cazul transmiterii unui
mesaj prin reţea, integritatea se referǎ la protecţia împotriva unor tentative de falsificare
a mesajului);
3. autentificarea asigurǎ determinarea identitǎţii persoanei cu care se comunicǎ (aspect
foarte important în cazul schimbului de informaţii confidenţiale sau al unor mesaje în
care identitatea transmiţǎtorului este esenţialǎ );
4. ne-repudierea se referǎ la asumarea responsabilitǎţii unor mesaje sau comenzi, la
autenticitatea lor. Acest aspect este foarte important în cazul contractelor realizate între
firme prin intermediul mesajelor electronice: de exemplu, un contract / comandǎ cu o
valoare foarte mare nu trebuie sǎ poatǎ fi ulterior repudiat(ǎ ) de una din pǎrţi (s-ar
putea susţine, în mod fraudulos, cǎ înţelegerea iniţialǎ se referea la o sumǎ mult mai
micǎ ).

Tipuri de atacuri în Internet


Scurta istorie a computerelor personale este plină de progrese în productivitate, putere de
procesare și divertisment. De la procesarea de text la e-mail la World Wide Web, tehnologia
computerelor a schimbat pentru totdeauna modul în care lucrăm și ne jucăm. Cu toate acestea, ca

1 /28
Tehnologii Web curs 12-13-14

și în cazul oricărei tehnologii noi, aceste progrese au oferit și noi metode criminalilor de a ne
separa de banii noștri.
1. Una dintre aceste metode este spyware.
Potrivit mai multor surse, prima utilizare a termenului de spyware a avut loc într-o postare din
1994 care a scos la lumină modelul de afaceri al Microsoft. Mai târziu, termenul a fost folosit
pentru a descrie dispozitivele folosite pentru spionaj, cum ar fi camerele mici și microfoanele. În
2000, un comunicat de presă de la furnizorul de software de securitate Zone Labs a folosit pentru
prima dată sensul actual de spyware și a fost folosit în acest fel de atunci.
Spyware este un software care se află pe un computer și trimite informații creatorului său.
 Aceste informații pot include obiceiuri de navigare, detalii de sistem sau, în forma sa cea
mai periculoasă, parole și informații de conectare pentru aplicații critice, cum ar fi
serviciile bancare online.
 Multe programe spyware sunt mai enervante decât periculoase, oferind reclame pop-up
sau adunând adrese de e-mail pentru a fi utilizate în campaniile de spam. Chiar și acele
programe, totuși, vă pot costa timp prețios și resurse de calcul.
Adesea, spyware-ul vine împreună cu o aplicație software gratuită, cum ar fi un joc sau un
presupus stimulator de productivitate. Odată descărcat pe computer, elementul funcțional al
software-ului funcționează exact așa cum s-a promis, în timp ce sistemul de colectare a
informațiilor se instalează în culise și începe să vă transmită datele personale înapoi la sediu.
Unele programe spyware sunt concepute pentru a capta fiecare apăsare a tastei și fiecare clic de
mouse, permițând hackerilor să vă urmărească pe Web în timp real, pe măsură ce vă conectați la
contul dvs. bancar sau la alte site-uri importante.
În multe cazuri, activitățile ascunse ale software-ului sunt descrise clar în acordul de licență
pentru utilizatorul final EULA =End-User License Agreement- este un acord legal între
producătorul și cumpărătorul software-ului. Este, fie imprimat pe ambalaj fie afișat pe ecran, în
timpul instalării softului, aceasta din urmă fiind cea mai bună metodă, pentru că nu poate fi
omis. Utilizatorul trebuie să facă clic pe „Accept" sau „Sunt de acord" și se stipuleze termenii de
utilizare. Licența declină orice responsabilitate pentru ceea ce s-ar putea întampla în calculatorul
utilizatorului, atunci când software-ul este pornit) , care este afișat în timpul procesului de
instalare. Acest lucru protejează dezvoltatorul de potențiale acțiuni în justiție, deoarece pot
dovedi că știai (sau ar fi trebuit să știi) că programul a inclus această funcționalitate atunci când
l-ai instalat. Cu toate acestea, cei mai mulți dintre noi nu citim EULA-urile pentru că sunt lungi,
plictisitoare și scrise într-un limbaj legal greu de înțeles.

2 /28
Tehnologii Web curs 12-13-14

Ca o dovadă suplimentară că există o aplicație software pentru toate în zilele noastre, acum
puteți obține un software care va citi EULA-urile pentru dvs. și va afișa un avertisment dacă
cuvintele cheie sau expresiile indică că există un risc de spyware.
Malware: prescurtare pentru software rău intenționat, malware este o expresie generală folosită
pentru a defini orice program care rulează pe un computer fără știrea utilizatorului și îndeplinește
funcții predeterminate care provoacă daune. În acest sens, spyware-ul poate fi și malware.
Adware: Similar cu spyware și malware, prin faptul că se află pe un computer fără știrea
utilizatorului, adware se referă în mod specific la programe care afișează reclame pop-up.
Subiectul reclamelor se bazează adesea pe obiceiurile de navigare, dar poate fi legat și de un
anumit advertiser.
2. bombardarea cu mesaje - aşa numitul spam - trimiterea de mesaje nedorite, de obicei cu un
conţinut comercial. Existǎ programe de poştǎ electronicǎ care permit vizualizarea antetelor
mesajelor primite înainte ca acestea sǎ fie aduse pe calculatorul local, selectarea explicitǎ a
mesajelor care se doresc transferate şi ştergerea celorlalte. În plus, programele de e-mail pot
încorpora facilitǎţi de blocare a mesajelor de tip "spam" prin descrierea de cǎtre utilizator a
unor acţiuni specifice de aplicat asupra mesajelor, în funcţie de anumite cuvinte cheie sau de
adresele (listele de adrese) de provenienţǎ .
3. rularea unui cod (program) dǎunǎtor, adesea de tip virus - acesta poate fi un program Java
sau ActiveX, respectiv un script JavaScript, VBScript etc. ;
 Virus: După cum sugerează și numele, un virus este un program care este conceput să se
răspândească între fișierele de pe un singur computer sau computere dintr-o rețea -- de
obicei, pe Internet. Adesea, crackerii (hackeri cu intenții rău intenționate) creează aceste
programe doar pentru a vedea cât de departe se vor răspândi. Din păcate, chiar și un virus
presupus inofensiv poate avea un efect grav asupra procesării și operațiunilor de rețea.
 Vierme: Similar unui virus, un vierme se răspândește în jurul unei rețele. Viermii,
totuși, fac acest lucru făcând copii ale ei înșiși pe măsură ce se răspândesc. De asemenea,
pot fi capabili să-și schimbe profilul pentru a evita detectarea.
 Troian: Asemenea calului infam al mitologiei grecești, versiunea pentru computer
capătă aspectul a ceva benign, cum ar fi o actualizare sau un add-on la un program real.
Odată ajuns pe computer, acesta poate îndeplini funcții dăunătoare, cum ar fi ștergerea
hard diskului sau ștergerea tuturor fișierelor imagine. Asemenea programelor spion, un
troian poate, de asemenea, să adune informații și să le trimită dezvoltatorului.

3 /28
Tehnologii Web curs 12-13-14

a. Asemenea programe sunt în general blocate de navigatoarele moderne dar au


ajuns sǎ se rǎspândeascǎ ca fişiere ataşate mesajelor de e-mail, un caz renumit în
acest sens fiind cel al virusului "Love Letter" (care deterioreazǎ fişiere de tip
sunet şi imagine) şi mutantilor lui, mai distructivi decât prima versiune).
b. În general , marile firme care produc navigatoare , testeazǎ riguros riscurile
impuse de programele dǎunǎtoare rulate de pe site-uri web, uneori create cu
intenţii distructive, şi intervin în general prin versiuni superioare imediat ce un
astfel de risc a fost descoperit şi corectat. În plus, cea mai mare parte a
programelor de navigare permit utilizarea unor filtre specifice pe baza cǎrora sǎ
se decidǎ dacǎ un anumit program va fi rulat sau nu, şi cu ce restricţii de
securitate (decizia se realizeazǎ în general pe baza "încrederii" indicate în mod
explicit de utilizator).
4. infectarea cu viruşi specifici anumitor aplicaţii - se previne prin instalarea unor programe
antivirus care detecteazǎ viruşii, deviruseazǎ fişierele infectate şi pot bloca accesul la
fişierele care nu pot fi "dezinfectate". În acest sens, este importantǎ devirusarea fişierelor
transferate de pe reţea sau ataşate mesajelor de mail, mai ales dacǎ conţin cod sursǎ sau
executabil, înainte de a le deschide / executa.
5. accesarea prin reţea a calculatorului unui anumit utilizator şi "atacul" asupra acestuia.
La nivelul protocoalelor de reţea, protejarea accesului la un calculator sau la o reţea de
calculatoare se realizeazǎ prin mecanisme de tip firewall, prin comenzi specifice; acestea pot
fi utilizate şi în sens invers, pentru a bloca accesul unui calculator sau a unei reţele de
calculatoare la anumite facilitǎţi din Internet.
6. interceptarea datelor în tranzit şi eventual modificarea acestora - snooping. Datele se
considerǎ interceptate atunci când altcineva decât destinatarul lor le primeşte.
7. expedierea de mesaje cu o identitate falsǎ , expeditorul impersonând pe altcineva (pretinde
cǎ mesajul a fost trimis de la o altǎ adresǎ de poştǎ electronicǎ )-spoofing. Aceastǎ
problemǎ se revolvǎ prin implementarea unor mecanisme de autentificare a expeditorului.
8. Înşelătoria online (se numeşte şi phishing) este o metodă de a convinge utilizatorii de
Internet să dezvăluie informații personale sau financiare prin intermediul unui mesaj de poştă
electronică sau site Web. Înşelătoria obişnuită online „phishing” începe cu un mesaj de poştă
electronică care arată asemănător cu un anunţ oficial de la o sursă de încredere, cum ar fi o
bancă, o firmă de cărți de credit sau un comerciant online renumit. În mesajul de poştă
electronică, destinatarii sunt îndreptați spre un site Web fraudulos, unde li se solicită

4 /28
Tehnologii Web curs 12-13-14

informații personale, cum ar fi numărul de cont sau parola. Aceste informații sunt
utilizate de obicei pentru furt de identitate.

9. Denial-of-Service attack
Un atac cibernetic de tip DoS (de la expresia engleză Denial of Service, în traducere: refuzul,
blocarea serviciului) sau DDoS (Distributed Denial of Service ), blocarea distribuită a
serviciului) este o încercare frauduloasă de a indisponibiliza sau bloca resursele unui
calculator , prin întreruperea temporară sau nedeterminată a serviciilor unei gazde conectate
la Internet. Negarea serviciului se realizează de obicei prin inundarea mașinii sau resursei
vizate cu solicitări de prisos în încercarea de a supraîncărca sistemele și de a împiedica unele
sau toate cererile legitime de a fi îndeplinite.
Într-un atac distribuit de refuz de serviciu (atac DDoS), traficul care inundă victima provine
din mai multe surse diferite.
Un atac DoS sau DDoS este analog cu un grup de oameni care înghesuie ușa de intrare a
unui magazin, ceea ce face dificilă intrarea clienților legitimi, perturbând astfel comerțul.
10. Man-in-the-middle attack -MITM
În criptografie, un atac MITM este un atac în care atacatorul transmite în secret și, eventual,
modifică comunicările dintre două părți care cred că comunică direct între ele. Un exemplu
de atac MITM este reprezentarea activă, în care atacatorul face conexiuni independente cu
victimele și transmite mesaje între ele pentru a le face să creadă că vorbesc direct între ele
printr-o conexiune privată, când de fapt întreaga conversație este controlată de atacator.
Atacatorul trebuie să poată intercepta toate mesajele relevante care trec între cele două
victime și să le injecteze pe cele noi. Acest lucru este simplu în multe circumstanțe; de
exemplu, un atacator care se află în raza de recepție a unui punct de acces wireless necriptat
Wi-Fi ar putea să se insereze ca"om în mijloc".
Întrucât își propune să eludeze autentificarea reciprocă, un atac MITM nu poate reuși decât
atunci când atacatorul împarte fiecare punct suficient de bine pentru a-și satisface așteptările.
Majoritatea protocoalelor criptografice includ o formă de autentificare a punctului final ,
special pentru a preveni atacurile MITM. De exemplu, TLS (Transport_Layer_Security)
poate autentifica una sau ambele părți folosind o autoritate de certificare de încredere
reciprocă.
Criptografia tradiţionalǎ

5 /28
Tehnologii Web curs 12-13-14

Criptarea calculatorului se bazează pe știința criptografiei, care a fost folosită atât timp cât
oamenii au dorit să păstreze informația secretă. Înainte de era digitală, cei mai mari utilizatori ai
criptografiei erau guvernele, în special în scopuri militare.
Modelul clasic de criptare presupune transformarea unui text sursǎ ("plain text") printr-o
funcţie dependentǎ de o cheie ("key"), transformare în urma cǎreia rezultǎ textul cifrat
("ciphertext"). Înainte de apariţia reţelelor de calculatoare, acesta era transmis printr-un curier
sau prin radio. În cazul interceptării mesajelor cifrate, ele nu puteau fi decodificate prea uşor în
absenţa cheii de criptare.
Domeniul care se ocupǎ de spargerea (decodificarea) cifrurilor se numeşte criptanalizǎ
("cryptanalysis") iar conceperea cifrurilor (criptografia) şi spargerea lor (criptanaliza) sunt
cunoscute global sub numele de criptologie ("cryptology").
Într-o încercare de formalizare matematicǎ a proceselor de criptare şi decriptare, se pot
folosi urmǎtoarele notaţii: S - textul sursǎ , CK - funcţia de criptare, dependentǎ de o cheie K, R
- codul rezultat si DK - funcţia de decriptare.
Cu aceste notaţii, criptarea este exprimatǎ prin formula:
R = CK(S) iar decriptarea - prin S = DK(R).
Se observǎ cǎ DK(CK(S)) = S.
O regulǎ de bazǎ în criptografie stabileşte necesitatea cunoaşterii metodei generale de
criptare de cǎtre orice criptanalist. Acest principiu are la bazǎ constatarea cǎ pentru a inventa,
testa şi instala o nouǎ metodǎ de criptare este necesarǎ o cantitate prea mare de efort pentru ca
acest procedeu sǎ fie practic. În consecinţǎ , cel mai important element devine cheia de criptare.
Cheia constǎ într-un sir de caractere care defineşte / selecteazǎ una sau mai multe criptǎri
potenţiale. Spre deosebire de metoda generalǎ , care, în mod tradiţional, se schimbă doar la
câţiva ani, cheia putea fi schimbatǎ oricât de des era necesar.
În concluzie, modelul de bazǎ al criptǎrii foloseşte o metodǎ generalǎ , cunoscutǎ , care
este parametrizatǎ cu o cheie secretǎ , ce poate fi schimbatǎ uşor.
În mod paradoxal, publicarea algoritmului de criptare, prin faptul cǎ dǎ posibilitatea unui
numǎr mare de criptologi sǎ spargǎ sistemul, îi poate dovedi stabilitatea, în caz cǎ dupǎ
câţiva ani nici unul din specialiştii care au încercat sǎ -l spargǎ nu a reuşit.
Componenta secretǎ a criptǎrii este, în consecinţǎ , cheia, a cǎrei lungime devine foarte
importantǎ .
În mod evident, cu cât cheia este mai lungǎ , cu atât elementele ei sunt mai greu de
determinat.

6 /28
Tehnologii Web curs 12-13-14

De exemplu, pentru o secvenţǎ de n cifre (0,...,9), existǎ 10n posibilitǎţi de a o crea.


Astfel, pentru determinarea unei secvenţe de 6 cifre ar trebui parcurse 1 milion de
posibilitǎţi (106 posibilitǎţi ) . În cazul în care cheile ar conţine litere, numǎrul de
alternative creşte , fiindcǎ în alfabet existǎ 26 de litere.
Se poate deduce cǎ lungimea cheii produce creşterea exponenţialǎ a volumului de
muncǎ al criptanalistului. O cheie care sǎ poatǎ ţine la distanţǎ adversari profesionişti ar
trebui sǎ aibǎ cel puţin 256 de biţi (cel puţin 32 de cifre), în timp ce uzual se pot folosi chei de
64 de biţi (în jur de 8 cifre).
Existǎ douǎ metode traditionale de criptare: cifruri cu substituţie şi cifruri cu
transpoziţie Aceste tehnici de bazǎ sunt folosite, în forme evoluate, şi în sistemele moderne de
criptare.

Cifrurile cu substituţie.
Într-un asemenea cifru, fiecare literǎ sau grup de litere este înlocuit(ǎ ) cu o altǎ literǎ
sau cu un grup de litere. Cel mai vechi exemplu este cifrul lui Cezar, prin care a devine D, b
devine E, ..., z devine C. Prin generalizare, alfabetul poate fi deplasat cu k litere în loc de 3. În
acest caz, k devine cheia pentru metoda generalǎ a alfabetelor deplasate circular.
O altǎ metodǎ de substitutie este înlocuirea fiecǎrei litere din textul sursǎ cu o anumitǎ
literǎ corespondentǎ . Sistemul se numeste substituţie monoalfabeticǎ şi are ca cheie un şir de
26 de litere. Pentru o persoanǎ neavizatǎ , acest sistem ar putea fi considerat sigur fiindcǎ
încercarea tuturor celor 26! de chei posibile ar necesita unui calculator 1013 ani alocând 1msec
pentru fiecare soluţie. Totuşi, folosind o cantitate foarte micǎ de text cifrat, cifrul va putea fi
spart cu uşurinţǎ .
Abordarea de bazǎ porneşte de la proprietǎţile statistice ale limbajelor naturale.
Cunoscând frecvenţa statisticǎ a fiecǎrei litere şi a fiecǎrui grup de douǎ sau trei litere (de
exemplu, în limba românǎ : ce, ci, ge, gi, oa, ua etc.) într-o anumitǎ limbǎ , numǎrul mare de
alternative iniţiale se reduce considerabil. Un criptanalist va numǎra frecvenţele relative ale
tuturor literelor în textul cifrat şi va încerca sǎ facǎ asocierea cu literele a cǎror frecvenţǎ este
cunoscutǎ . Apoi va cǎuta grupurile de litere, încercând sǎ coroboreze indiciile date de acestea
cu cele furnizate de frecvenţele literelor.
O altǎ abordare, aplicabilǎ dacǎ existǎ informaţii despre domeniul la care se
referǎ textul, este de a ghici un cuvânt sau o expresie probabilǎ (de exemplu, "financiar"
pentru un mesaj din contabilitate) şi de a cǎuta corespondentul sǎu, folosind informaţii despre

7 /28
Tehnologii Web curs 12-13-14

literele repetate ale cuvântului şi poziţiile lor relative. Abordarea se poate combina cu
informaţiile statistice legate de frecvenţele literelor.
http://ares.utcluj.ro/tsi/index_files/L02_Criptografie_clasica.pdf
Cifruri cu transpozitie.
Spre deosebire de cifrurile cu substituţie, care pǎstreazǎ ordinea literelor din textul
sursǎ dar le transformǎ , cifrurile cu transpoziţie ("transposition ciphers") reordoneazǎ literele,
fǎrǎ a le "deghiza".
Un exemplu simplu este transpoziţia pe coloane, în care textul sursǎ va fi scris literǎ
cu literǎ şi apoi citit pe coloane, în ordinea datǎ de o anumitǎ cheie. Ca şi cheie se poate alege
un cuvânt cu litere distincte, de o lungime egalǎ cu numǎrul de coloane folosite în cifru.
Ordinea alfabeticǎ a literelor din cuvântul cheie va da ordinea în care se vor citi coloanele.
Exemplu: Dacǎ textul sursǎ este:
"acest curs îşi propune sǎ prezinte facilitǎţile de comunicare oferite de reţelele de calculatoare"
iar cheia este "PRECIS", atunci aşezarea sa pe coloane va genera urmǎtorul text cifrat:

8 /28
Tehnologii Web curs 12-13-14

P R E C I S

4 5 2 1 3 6

a c e s t

c u r s î

ş i p r o

p u n e s

ă p r e z

i n t e f

a c i l i t

ă ţ i l e

d e c o m

u n i c a r

e o f e r

i t e d e

r e ţ e l

e l e d e

c a l c u

l a t o a r

"ssperellccf ţ lo er npt ioeeeat t r e ieoaededca acşpăiaăduei e lecuiunbţen trlca îoszft mrreleur


".
Spargerea unui cifru cu transpoziţie începe cu verificarea dacǎ acesta este într-adevǎr de
acest tip prin calcularea frecvenţelor literelor şi compararea acestora cu statisticile cunoscute.
Dacǎ aceste valori coincid, se deduce cǎ fiecare literǎ este "ea însǎşi", deci este vorba de un
cifru cu transpoziţie.
Urmǎtorul pas este emiterea unei presupuneri în legǎturǎ cu numǎrul de coloane.
Unele proceduri de criptare acceptǎ blocuri de lungime fixǎ la intrare şi genereazǎ
tot un bloc de lungime fixǎ . Aceste cifruri pot fi descrise complet prin lista care defineşte

9 /28
Tehnologii Web curs 12-13-14

ordinea în care caracterele vor fi trimise la ieşire (şirul poziţiilor din textul de intrare pentru
fiecare caracter din succesiunea generatǎ ).
Problema construirii unui cifru imposibil de spart a preocupat îndelung pe criptanalişti; ei
au dat o rezolvare teoreticǎ simplǎ încǎ de acum câteva decenii dar metoda nu s-a dovedit
fiabilǎ din punct de vedere practic, dupǎ cum se va vedea în continuare.
Tehnica propusǎ presupune alegerea unui şir aleator de biţi pe post de cheie şi aducerea
textului sursǎ în forma unei succesiuni de biţi prin înlocuirea fiecǎrui caracter cu codul sǎu
ASCII. Apoi se aplicǎ o operaţie logicǎ - de tip Sau exclusiv- XOR (0 xor 0 = 0, 0 xor 1 = 1, 1
xor 0 = 1, 1 xor 1 = 0) - între cele douǎ şiruri de biţi. Textul cifrat rezultat nu poate fi spart
pentru cǎ nu existǎ indicii asupra textului sursǎ şi nici textul cifrat nu oferǎ criptanalistului
informaţii. Pentru un esantion de text cifrat suficient de mare, orice literǎ sau grup de litere
(diftong, triftong) va apǎrea la fel de des.
Acest procedeu este cunoscut sub numele de metoda cheilor acoperitoare. Desi este
perfectǎ din punct de vedere teoretic, metoda are, din pǎcate, câteva dezavantaje practice:
cheia nu poate fi memoratǎ , astfel încât transmitǎtorul si receptorul sǎ poarte câte o copie scrisǎ
a ei fiindcǎ în caz cǎ ar fi "capturati", adversarul ar obtine cheia;
cantitatea totalǎ de date care poate fi transmisǎ este determinatǎ de dimensiunea cheii
disponibile;
o nesincronizare a transmitǎtorului si receptorului care genereazǎ o pierdere sau o inserare de
caractere poate compromite întreaga transmisie fiindcǎ toate datele ulterioare incidentului vor
apǎrea ca eronate.

Caracteristici ale criptografiei moderne.


Rezolvarea problemelor legate de interceptarea, autentificarea si modificarea
mesajelor
Având în vedere faptul cǎ transmisia de date în Internet este neprotejatǎ , a apǎrut
necesitatea dezvoltǎrii tehnicilor de criptare în directia automatizǎrii acestora si a implementǎrii
lor în retele de calculatoare. Astfel, utilizarea unor algoritmi pentru criptarea informatiilor
transmise va deveni principalul mijloc de rezolvare a problemelor de interceptare în retele.
În descrierea unei transmisii de date prin retea se obisnuieste sǎ se numeascǎ generic
"mesaj" un ansamblu de date trimis de un "emitǎtor" unui "receptor". Printr-o metodǎ de
criptare, mesajele vor fi transformate, pe baza unei chei de criptare, astfel încât sǎ poatǎ fi
întelese doar de destinatar.

10 /28
Tehnologii Web curs 12-13-14

Unul din principiile mai recent apǎrute în criptanalizǎ constǎ în utilizarea unei alte chei pentru
decodificarea mesajului decât cea folositǎ la codificare; aceastǎ tehnicǎ este mai eficientǎ dar
complicǎ putin procedeul general si de aceea se preferǎ când criptarea / decriptarea se
realizeazǎ automat.
Evident, dimensiunea unei chei de criptare (exprimate în general în biţi) este o mǎsurǎ
a nivelului de securitate dat de acea cheie, ea indicând rezistenta mesajului cifrat la încercǎrile
de descifrare de cǎtre cineva care nu detine cheia de descifrare potrivitǎ .
Principiile de criptare din algoritmii cu cheie secretǎ au evoluat odatǎ cu aparitia
calculatoarelor; ele continuǎ însǎ sǎ se bazeze pe metodele traditionale, cum ar fi transpoziţia
si substituţia.

Algoritmii cu cheie secretǎ (algoritmi simetrici )


Algoritmii cu cheie secretǎ sunt caracterizati de faptul cǎ folosesc aceeasi cheie atât în
procesul de criptare, cât si în cel de decriptare (vezi figura de mai jos). Din acest motiv, acesti
algoritmi mai sunt cunoscuti sub numele de algoritmi simetrici; pentru aplicarea lor este necesar
ca înaintea codificǎrii / decodificǎrii, atât emitǎtorul cât si receptorul sǎ posede deja cheia
respectivǎ . În mod evident, cheia care caracterizeazǎ acesti algoritmi trebuie sǎ fie secretǎ .
Principalul dezavantaj al algoritmilor simetrici constǎ în faptul cǎ impun un schimb de
chei private înainte de a se începe transmisia de date. Altfel spus, pentru a putea fi utilizati, este
necesar un canal cu transmisie protejatǎ pentru a putea fi transmise cheile de criptare /
decriptare.

Schema de aplicare a unui algoritm simetric

11 /28
Tehnologii Web curs 12-13-14

Exemple de algoritmi simetrici :


În 1977, guvernul SUA a adoptat ca standard oficial pentru informatiile nesecrete un
cifru produs si dezvoltat de IBM, numit DES (Data Encryption System), care a fost larg adoptat
în industrie. DES este cel mai popular algoritm cu cheie secretǎ ; el continuǎ sǎ stea la baza
unor sisteme folosite în mod curent. DES foloseste (uzual) o cheie de 56 de biti; aceasta a fost în
cele din urmǎ adoptatǎ în locul uneia de 128 de biti, neagreatǎ de NSA (National Security
Agency), agentia "spǎrgǎtoare de coduri a guvernului", care dorea suprematia în domeniul
criptografic.
Din 1977, cercetǎtorii în criptografie au încercat sǎ proiecteze masini pentru a sparge
DES. Prima asemenea masinǎ (1977) a fost conceputǎ de Diffie si Hellman, avea nevoie de mai
putin de o zi iar costul ei a fost estimat la 20 de milioane de dolari. Dupǎ aproape 2 decenii,
costul unei astfel de masini a ajuns la 1 milion de dolari iar timpul necesar spargerii codului a
scazut la 4 ore . Ulterior, s-au dezvoltat si alte metode, cum ar fi folosirea unui cip DES
încorporat .
Din 1981 ,D.E.S. a devenit standard A.N.S.I.Intre timp a fost înlocuit cu 3DES(utilizînd
algoritmul DES de trei ori cu douǎ chei diferite de 112 biţi)
Un alt cifru renumit este IDEA (International Data Encryption Algorithm), realizat de doi
cercetǎtori ,în 1990 , la Politehnica Federalǎ din Zürich (ETHZ). Acest algoritm este puternic ;
foloseste o cheie de 128 de biti si este inspirat din metodele anterioare - DES si cele imaginate
pentru spargerea DES.
A.E.S (Advanced Encryption Standard ) realizat în 2000 –înlocuieşte vechiul standard DES - o
cheie de 128 , 192, 256 de biti.

Algoritmi cu cheie publicǎ(algoritmi asimetrici)


Ulterior, vor apǎrea si algoritmi cu cheie publicǎ , caracterizati prin faptul cǎ criptarea si
decriptarea folosesc chei diferite (vezi figura de mai jos). Aceastǎ caracteristicǎ a dat
algoritmilor cu cheie publicǎ si numele de algoritmi asimetrici. În acest caz, una dintre chei
poate fi publicǎ (general cunoscutǎ - poate fi distribuitǎ oricui) iar cealaltǎ va trebui sǎ fie
privatǎ / secretǎ (cunoscutǎ doar de cel care o foloseste). Fiecare dintre aceste chei poate cripta
mesajul, dar un mesaj criptat cu o anumitǎ cheie nu poate fi decriptat decât cu cheia sa
pereche.
Astfel, în cazul utilizǎrii unui algoritm asimetric în comunicarea dintre un emitǎtor si un
receptor, fiecare dintre aceştia va deţine câte o pereche de chei - publicǎ si privatǎ .

12 /28
Tehnologii Web curs 12-13-14

Emiţǎtorul poate cripta mesajul cu cheia publicǎ a receptorului, astfel încât doar acesta sǎ
poatǎ decripta mesajul cu cheia sa privatǎ . În cazul unui rǎspuns, receptorul va utiliza cheia
publicǎ a emiţǎtorului astfel încât decriptarea sǎ se poatǎ face exclusiv de cǎtre emitǎtor (cu
cheia sa pereche, privatǎ ).

Schema de aplicare a unui algoritm asimetric

Exemple de algoritmi asimetrici :


RSA -algoritm performant ce a fost descoperit de un grup de cercetǎtori de la MIT(Massachusetts
Institute of Techonology) - Ronald Rivest, Adi Shamir, Leonard Adelman - s-a numit cu
iniţialele creatorilor lui: RSA-primul algoritm utilizat atât pentru criptare, cât și pentru semnătura
electronică.
EG(El Gamal)
ECC(Elliptical Curve Cryptography)
Câteva principii practice de criptare
Se recomandǎ ca informatiile criptate sǎ continǎ informatii redundante, adicǎ
informaţii care nu sunt necesare pentru înţelegerea mesajului. Redundanța reprezintă un
excedent de semnale pentru transmiterea fidelă a unei cantități de informație Acest principiu
constituie o protectie împotriva "intrusilor activi" care încearcǎ trimiterea unor mesaje fictive în
locul celor reale, folosind structura de mesaj originalǎ şi date eronate.
Astfel, o listǎ de comenzi de produse ale unor clienti ar putea fi înlocuitǎ , de cǎtre o
persoanǎ rǎu-voitoare care cunoaste structura comenzilor, cu o listǎ generatǎ aleator, pornind
de la o listǎ partialǎ de nume de clienti. Dacǎ însǎ mesajele criptate ale comenzilor contin, în
afara informatiei utile, zone de informatii redundante, atunci este mult mai putin probabil ca
mesajele generate aleator sǎ continǎ comenzi corecte.

13 /28
Tehnologii Web curs 12-13-14

Pe de altǎ parte, introducerea de informatie aleatoare poate usura spargerea mesajelor de cǎtre
criptanalisti fiindcǎ acestia vor putea distinge mai usor mesajele valide de cele invalide (se
simplificǎ spargerea sistemului de cǎtre intrusii pasivi). De aceea, se recomandǎ construirea
aleatoare a secventelor redundante.
Un alt principiu important urmǎreste împiedicarea intrusilor activi de a retransmite mesaje vechi
ca fiind actuale; în acest scop, se folosesc marcaje numite amprente de timp.
Concluzii
Se observǎ cǎ utilizarea unor astfel de algoritmi de criptare a datelor asigurǎ transmisii
confidentiale de date în retele neprotejate, rezolvând problema interceptǎrii. De fapt, riscul de
interceptare / modificare nu dispare cu totul, din cauzǎ cǎ orice mesaj criptat poate fi în general
decriptat fǎrǎ a detine cheia corespunzǎ toare, dacǎ se dispune de suficiente resurse materiale si
de timp.
Evident, dimensiuni variate ale cheii asigurǎ diferite grade de confidentialitate iar
perioada de timp necesarǎ pentru decriptare poate fi prevǎzutǎ în functie de mǎrimea cheii
utilizate. Totusi, dacǎ procesul de decriptare este lent, este posibil ca în momentul în care s-ar
obtine datele dorite, acestea sǎ nu mai fie actuale sau utile.
Timpul de decriptare depinde în mod natural si de puterea procesoarelor utilizate în acest
scop, astfel încât utilizarea distribuitǎ a unui foarte mare numǎr de procesoare poate duce la o
micsorare considerabilǎ a timpului necesar. Din acest motiv, pentru transmisii de date în care
este necesarǎ o confidentialitate strictǎ se utilizeazǎ chei de dimensiuni mult mai mari, chiar
pentru algoritmul DES (de 256, 512, 1024 si chiar 2048 sau 4096 de biti), stiut fiind cǎ timpul
necesar decriptǎrii creste exponential cu dimensiunea cheii de criptare / decriptare.
Pentru utilizatorii obisnuiti ai Internet-ului, cei mai convenabili algoritmi de criptare sunt
cei cu cheie publicǎ fiindcǎ folosirea lor nu implicǎ schimbul preliminar de chei pe canale de
transmisie protejate, ca în cazul algoritmilor cu cheie secretǎ . Cheia publicǎ poate fi distribuitǎ
fǎ rǎ restrictii pe intranet (reteaua localǎ ) sau Internet, iar mesajele criptate cu aceastǎ cheie de
un emitator vor putea fi decriptate numai utilizând cheia privatǎ , care este detinutǎ exclusiv de
cǎtre destinatar. Astfel, nici mǎcar expeditorul nu ar putea realiza decriptarea mesajului trimis.
Chiar dacă criptosistemul asimetric este destul de puternic, vom avea nevoie ca lungimea
cheii să fie de minimum 2304 biţi pentru a oferi un nivel de securitate comparabil cu cel oferit de
o cheie de 128 biţi în criptosistemul simetric. Criptosistemele asimetrice sunt cu mult mai lente
la criptare/decriptare şi sunt nepractice la criptarea volumelor mari de informaţii.
Criptosistemele simetrice sunt de aproximativ 1000 de ori mai rapide ca cele asimetrice, de
aceea criptosistemele asimetrice cel mai des se folosesc în următoarele scopuri de bază:
14 /28
Tehnologii Web curs 12-13-14

 la distribuţia cheilor, care se folosesc la algoritmii simetrici de criptare


 semnătura digitală, un atribut al unui utilizator, folosită pentru recunoaşterea acestuia.
Două direcţii de utilizare a criptosistemelor asimetrice:
1. de confidenţialitate, se face publică cheia publică şi astfel cel care doreşte să trimită date
confidenţiale proprietarului cheii publice va cripta aceste date cu acestă cheie, ştiind că
doar prorietarul le va putea decripta.
2. de autentificare atît a emiţătorului cît şi a datelor, emiţătorul criptează datele cu cheia sa
secretă, iar cel ce va dori să autentifice datele va folosi la decriptare cheia pereche(cea
făcută publică)
Reţele virtuale private(VPNs), stabilesc o conexiune securizată între două reţele printr-
un mediu public(ca de exemplu Internet-ul). VPNs este o colecţie de tehnologii care permit
crearea unui tunel de comunicare securizat prin Internet cu ajutorul sistemelor criptografice.
Acest tunel poate fi accesat doar de utilizatorii autorizaţi, pentru ceilalţi fiind netransparent.
Înainte de a ne conecta la acest tunnel de comunicare va trebui să ne identificam.
Calculatorul care trimite criptează documentul cu o cheie simetrică, apoi criptează cheia
simetrică cu cheia publică a computerului primitor. Calculatorul primitor folosește cheia sa
privată pentru a decoda cheia simetrică. Apoi utilizează cheia simetrică pentru a decoda
documentul.
Problema autentificǎrii
Un alt domeniu în care a evoluat criptografia modernǎ este cel al creǎrii unor protocoale
de autentificare - tehnica prin care un proces verificǎ dacǎ partenerul de comunicaţie este cel
presupus şi nu un impostor. Verificarea identitǎţii unui proces de la distanţǎ este dificilǎ si
necesitǎ utilizarea unor protocoale complexe, bazate pe tehnici criptografice.
Problema poate fi imaginatǎ intuitiv sub forma a doi parteneri care comunicǎ şi a altuia
care doreste sǎ se introducǎ fraudulos în comunicatie, simulând pe oricare din partenerii de
discutie. Ca o metodǎ de protectie, cei doi utilizatori pot stabili, de exemplu, o cheie secretǎ de
sesiune, dar aceastǎ metodǎ presupune transmiterea cheii printr-un canal sigur; de aceea, se
preferǎ , ca şi în cazul împiedicǎrii interceptǎrilor, utilizarea criptǎrilor cu chei publice.
Unul din protocoalele de autentificare folosit în sistemele în timp real se numeşte
Kerberos. Protocolul Kerberos a fost proiectat la Universitatea MIT (Massachusetts Institute of
Techonology) Protocolul Kerberos indică de fapt o serie de mesaje care trebuie schimbate între
părţile care doresc să comunice; unele din mesaje sunt criptate.

15 /28
Tehnologii Web curs 12-13-14

Conectia securizatǎ la un server aflat la distantǎ cu SSH (Secure Shell )foloseşte pentru
autentificare protocolul, bazat pe algoritmul cu cheie publicǎ RSA.
Secure Shell sau SSH este un protocol de reţea ce permite ca datele să fie transferate
folosind un canal securizat intre dispozitive de retea. Cele doua mari versiuni ale protocolului
sunt SSH1 sau SSH-1 şi SSH2 sau SSH-2. Folosit cu precădere în sistemele de operare
multiutilizator Linux şi Unix, SSH a fost dezvoltat ca un înlocuitor al Telnet-ului şi al altor
protocoale nesigure de acces de la distanţă, care trimit informatia, în special parola, în clartext,
făcând posibilă descoperirea ei prin analiza traficului. Criptarea folosita de SSH intenţionează să
asigure confidenţialitatea şi integritatea datelor transmise printr-o reţea nesigură cum este
Internetul.

Secure Sockets Layer (SSL)


Deoarece inginerii de rețea au decis să adauge securitate la aproape 20 de ani după ce au fost
elaborate protocoalele de Internet, a fost important să nu se rupă nici un protocol sau arhitectură
Internet existentă. Soluția lor a fost de a adăuga un strat parțial opțional între stratul de Transport
și stratul Aplicației. Ei au denumit acest strat parțial Secure Sockets Layer (SSL) sau Transport
Layer Security (TLS).

Application Program Interfaces (API)

16 /28
Tehnologii Web curs 12-13-14

https://www.tutorialspoint.com/network_security/network_security_transport_layer.htm

Atunci când o aplicație solicită ca stratul Transport să facă o conexiune cu o gazdă de la distanță,
poate cere ca conexiunea să fie criptată sau necriptată. Dacă a fost solicitată o conexiune
criptată, stratul Transport a criptat datele înainte de a rupe fluxul în pachete. Acest lucru a
însemnat că stratul de Transport, stratul Internetwork și straturile fizice (Link-ul) ar putea să-şi
păstreze exact același mod de lucru indiferent dacă pachetele au fost criptate sau necriptate.
Aplicațiile care realizează conexiunile au fost de asemenea cruțate de detaliile privind modul în
care a funcționat criptarea și decriptarea.
Deoarece criptarea a fost o adăugare simplă și transparentă a stratului Transport, nu a fost
necesară schimbarea routerelor care funcționează la nivelurile de Rețea și de Legătură. Nu a
existat nici o necesitate de a schimba orice hardware de strat Link pentru a face munca de
criptare. Aplicațiile nu trebuie modificate, cu excepția faptului că solicită ca o conexiune să fie
criptată când este cazul.

Criptarea traficului Web


Deoarece browserele web și serverele web funcționează la nivelul Aplicației, abia dacă
observăm dacă folosim conexiuni criptate sau necriptate. Browserele web folosesc convenția
URL de înlocuire a "http:" cu "https:" pentru a indica faptul că browserul trebuie să comunice cu
serverul web utilizând stratul Secure Transport Layer în locul stratului de transport necriptat.
Browserul dvs. va afișa, de obicei, o pictogramă "blocare" în bara de adrese pentru a vă anunța

17 /28
Tehnologii Web curs 12-13-14

că comunicați cu un site web securizat. Există o mică cheltuială în configurarea conexiunilor


https și un cost mic pentru criptarea și decriptarea datelor trimise. Dat fiind faptul că https era
ceva mai costisitor, pentru un timp a fost folosit numai pentru paginile care conțineau parole,
numere de cont bancar sau alte date sensibile. În timp, cu cât rețelele au devenit mai rapide și
implementările https au devenit mult mai eficiente, există tendința de a cripta toate interacțiunile
serverului web ori de câte ori interacționați cu un server web unde aveți un cont. Tendința
actuală este de a utiliza https pentru toate traficul web.

Autorități de certificare și certificate


cunoscute autorități de certificare, acesta are încredere în cheie și o folosește pentru criptarea și
trimiterea datelor. Dacă computerul primește o cheie publică care nu este semnată de una dintre
În timp ce criptarea cheilor publice / private funcționează pentru a permite distribuirea cheilor de
criptare în rețelele nesigure și utilizarea acelor chei pentru criptarea transmisiilor, există încă o
problemă de a ști dacă cheia publică pe care ați primit-o când sunteți conectat la un server este
într-adevăr de la organizația de la care se pretinde că este . Deci, calculatorul dvs. trebuie să
știe de unde provine cheia. Acest lucru se realizează prin trimiterea unei chei publice semnate
digital de către o Autoritate de Certificare (CA) de exemplu-
https://www.hostnow.ro/certificate-ssl/
Atunci când computerul sau browserul dvs. sunt instalate inițial, acesta cunoaște o serie de
autorități de certificare bine cunoscute. Dacă browser-ul dvs. are o cheie publică care este
semnată de una dintre cele mai autoritățile sale de certificare de încredere, vă va avertiza înainte
de a trimite datele utilizând cheia. https://www.hostnow.ro/certificate-ssl/
SSL (Secure Sockets Layer) este un protocol de criptare creat de Netscape pentru a securiza
schimbul de informatii între browsere si servere. Protocolul foloseste o terţă parte - Autoritatea
de Certificare (CA), pentru identificarea a cel putin unei părţi implicate în transfer.
Ce se intamplă în realitate:
1. browserul trimise o cerere catre o pagina securizata (https://)
2. serverul (care este în adresa URL a browserului web )trimite cheia publică către browser,
alături de certificat ;
3. browserul verifică dacă certificatul a fost emis de o autoritate de certificare, dacă este
valid şi dacă a fost emis pentru situl respectiv;
4. urmează schimbul propriu zis de informaţii între browser şi server,în format criptat

18 /28
Tehnologii Web curs 12-13-14

https://sinnersprojects.ro/ce-este-ssl-cum-functioneaza/

19 /28
Tehnologii Web curs 12-13-14

Comparaţie SSH vs.SSL


1. În mod normal, SSH utilizează portul 22, în timp ce SSL utilizează portul 443.
2. SSL este utilizat în mod predominant pentru transmiterea sigură a informațiilor critice, cum ar
fi cardurile de credit și bancare. Pe de altă parte, SSH este pentru executarea în siguranță a
comenzilor pe Internet.
3. SSH utilizează un sistem de autentificare cu nume de utilizator / parolă pentru a stabili o
conexiune securizată, în timp ce SSL nu ne deranjează cu adevărat.

Semnătură digitală
Problema autentificǎrii impune şi gǎsirea unui corespondent electronic pentru semnǎturile
autorizate de pe documentele legale. Un asemenea corepondent se numeste semnǎturǎ digitalǎ
(vezi figura de mai jos) si presupune existenta unui sistem prin care una din pǎrti sǎ poatǎ
transmite mesaje "semnate" celeilalte pǎrti, astfel încât:
1. receptorul sǎ poatǎ verifica identitatea pe care pretinde cǎ o are emiţǎtorul. Aceastǎ
cerintǎ este necesarǎ , de exemplu, în sistemele financiare: calculatorul trebuie sǎ se
asigure cǎ un ordin de cumpǎrare sau de platǎ apartine companiei cu al cǎrei cont
bancar se va opera.
2. emiţǎtorul sǎ nu poatǎ renega ulterior conţinutul mesajului. Aceastǎ necesitate asigurǎ
protejarea bǎncilor împotriva fraudelor: un client necinstit ar putea acuza banca implicatǎ
în tranzactie, pretinzând, de exemplu, cǎ nu a emis un anumit ordin (de platǎ ).
3. receptorul sǎ nu poatǎ pregǎti el însusi mesajul. În cazul unei tranzactii financiare cu o
bancǎ , aceastǎ cerintǎ protejeazǎ clientul dacǎ banca încearcǎ sǎ -i falsifice mesajul.

Semnarea digitalǎ a mesajelor necriptate


Ca semnǎturi digitale, se pot folosi semnǎturi cu cheie secretǎ sau publicǎ dar, aşa cum am
explicat anterior, de obicei se preferǎ cheile publice.

20 /28
Tehnologii Web curs 12-13-14

În cazul mesajelor transmise prin postǎ electronicǎ , riscul legat de impersonificarea


expeditorului este destul de mare fiindcǎ , standardele utilizate pentru transmiterea postei
electronice sunt simple , şi în plus , au fost fǎcute publice (ceea ce înseamnǎ ca oricine are
acces la ele şi poate sǎ le studieze , le poate folosi pentru a ataca). Standardul de e-mail nu are la
bazǎ nici un sistem pentru verificarea identitǎţii celui care trimite un mesaj de postǎ electronicǎ
, bazându-se pe o încredere reciprocǎ între utilizatori. Acest neajuns ar putea fi fructificat de
cǎtre persoane rǎuvoitoare pentru a trimite mesaje de postǎ electronicǎ de pe adrese false, sau
chiar de pe adrese existente, pretinzând cǎ sunt utilizatorii care detin acele adrese de postǎ
electronicǎ .
Practic, este (aproape) imposibilǎ identificarea unei persoane care a emis astfel de
mesaje fiindcǎ în Internet existǎ servere care asigurǎ transmiterea anonimǎ a mesajelor
("anonymous remailers"), trimitându-le de la un server la altul de mai multe ori înainte de a le
directiona cǎtre adevǎrata destinatie.
Pentru autentificarea expeditorului unui mesaj (de postǎ electronicǎ sau un ansamblu de
date transmis prin Internet în alte scopuri) se foloseste cel mai adesea un sistem cu cheie publicǎ
Astfel, dacǎ expeditorul cripteazǎ mesajul cu cheia privatǎ proprie, datele pot fi decriptate
doar utilizând cheia publicǎ pereche (vezi figura de mai sus), deci oricine poate verifica faptul
cǎ mesajul a fost transmis într-adevǎr de expeditor, si nu de o persoanǎ ce pretinde a fi
expeditorul (dupǎ cum am explicat deja, mesajul criptat cu o cheie poate fi decriptat doar
utilizând cheia pereche acesteia şi se presupune cǎ expeditorul este singurul care are acces la
cheia sa privatǎ ).
Evident cǎ este posibil sǎ se realizeze o criptare a mesajelor în paralel cu
autentificarea, astfel încât inclusiv datele transmise sǎ fie codificate. În acest caz, se vor utiliza
perechile de chei privatǎ , publicǎ nu numai pentru autentificare, ci si pentru criptarea,
respectiv decriptarea mesajelor transmise. Practic, pentru codificarea si semnarea digitalǎ a
unui mesaj emis, se va realiza o criptare cu cheia privatǎ a emitǎtorului si apoi o criptare cu
cheia publicǎ a destinatarului. Astfel, destinatarul va putea decripta mesajul si autentifica
provenienta sa în conditii de securitate.
Având în vedere faptul cǎ algoritmii de criptare cu cheie publicǎ consumǎ foarte mult
timp, în general se implementeazǎ o tehnicǎ putin diferitǎ : se utilizeazǎ o criptare cu cheie
publicǎ pentru transmiterea unei chei secrete generate aleator (deci cheia secretǎ este criptatǎ
si eventual se poate utiliza si autentificarea expeditorului), dupǎ care datele propriu-zise vor fi
transmise criptate cu un algoritm simetric utilizând cheia secretǎ schimbatǎ anterior. Aceastǎ
metodǎ îmbunǎtǎteste considerabil viteza de transmisie şi de criptare / decriptare.
21 /28
Tehnologii Web curs 12-13-14

Semnarea digitalǎ a mesajelor necriptate


Practic, pentru o identificare cât mai riguroasǎ a expeditorului se utilizeazǎ un sistem
complex, bazat pe certificare, în care fiecare utilizator detine un certificat (ce are atasatǎ o cheie
publicǎ si o cheie privatǎ , secretǎ ). Acesta este emis de o autoritate de certificare (CA)
recunoscutǎ , în urma examinǎrii, pe bazǎ de acte, a identitǎtii reale a persoanei. În momentul în
care se doreste identificarea unei persoane, o cǎutare în baza de date a organizatiei
respective(de autentificare) va indica indentitatea expeditorului (pe baza cheii publice a
acestuia, care este unicǎ în lume).
Acest sistem de autentificare este implementat sub forma unei structuri ierarhice în care
fiecare autoritate de certificare poate împuternici la rândul ei alte organizatii sǎ emitǎ certificate
de autentificare, astfel încât , originea unui certificat poate fi verificatǎ în mod complet , testând
validitatea certificatului, apoi validitatea certificatului detinut de organizatia care a emis
certificatului respectiv, şi aşa mai departe....
de certificate digitale este utilizat nu numai pentru protejarea comunicatiilor, ci si pentru
Sistemul certificarea originii programelor. Astfel, prin folosirea unei criptǎri a programului de
instalare cu cheia publicǎ a firmei producǎtoare, utilizatorul poate verifica relativ usor cǎ acel
program a fost creat într-adevǎr de o anumitǎ firmǎ si pentru a decide dacǎ sǎ instaleze sau nu
programul. Aceasta este practic cea mai bunǎ solutie de rezolvare a problemei rulǎrii de
programe / coduri dǎunǎtoare, enuntatǎ la începutul acestui capitol.

777293cb7a5d06f7ea5e2b64151d1f57
Problema modificǎrii mesajelor
Pentru a preveni modificarea unui mesaj, se utilizeazǎ o tehnicǎ specificǎ , denumitǎ
tehnicǎ hash (sau a rezumatului) , care permite construirea unui cod de identificare a datelor
transmise, numit "rezumatul datelor". Principiile de bazǎ ale tehnicii hash se aplicǎ în
numeroase domenii ale informaticii. Rezumatul unui mesaj se construieste prin aplicarea, în sens
unic ("unisens"), a unei funcţii de transformare (funcţie "hash") într-o secventǎ de biti - de
lungime mare, pentru a fi dificil de"spart".
a02cbd432f44d27099e7390450fbc2db
7498bf5285c28ec0dc79a16d90b16c8e
 Sensul unic de transformare asigurǎ faptul cǎ nu se pot deduce datele de intrare pe
baza datelor de iesire.
 Una din cerinţele fundamentale pentru о astfel de funcţie este ca, modificînd un singur
bit la intrare, să producă о avalanşă de modificări în biţii de la ieşire.
22 /28
Tehnologii Web curs 12-13-14

Datele ce trebuie transmise sunt utilizate ca date de intrare, obtinându-se astfel o


valoarea de transformare ("hash value"). Dacǎ datele în tranzit sunt modificate, la destinatie se
va obtine o altǎ valoarea de transformare, ceea ce va indica falsificarea datelor.
Funcţii dispersive(hash funcţii)
Fucţia dispersivă se aplică unui mesaj de oarecare lungime M şi întoarce o valoare de
lungime fixă h: h=H(M), unde h are lungimea m. Există multe astfel de funcţii, dar funcţiile
dispersive mai au unele proprietăţi suplimentare, care le fac unidirecţionale:
Ştiind M este uşor de calculat h
Ştiind H şi h este greu de calculat M, pentru care H(M)=h
Ştiind M, este greu de găsit alt mesaj M1 pentru care H(M)=H(M1)
Functiile de dispersie (hash funcţii) joacă un rol important în autentificarea conţinutului unui
mesaj transmis în reţelele de calculatoare. Rolul lor nu este de a asigura secretul transmisiilor, ci
de a crea о valoare h=H(M), numită şi rezumat (digest), cu rol în procedura de semnătură
digitală, foarte greu de falsificat.
Există mai multe scheme de calcul a rezumatului unui mesaj, cele mai folosite sunt:
MD5 (Message-Digest) - este vorba de un algoritm care primeste la intrare un mesaj de lungime
arbitrară şi produce la ieşire un rezumat de 128 de biţi , exprimat in 32 cifre hexazecimale;
- a fost creat de prof. Ronald Rivest de la MIT in 1991;
- a fost standardizat in RFC1321;
- este unul dintre cei mai folositi algoritmi de hashing in prezent (2009);
exemplu : https://www.md5hashgenerator.com/

Your Hash: be6e90b772177648eb771d73ff180a9a

Your String: astazi a nins

Your Hash: 7662b934b04d44bfdf498d0a9ff6d9f0

Your String: Datele ce trebuie transmise sunt utilizate ca date de intrare

SHA – NIST( National Institute of Standards and Technology) împreună cu NSA (National
Security Agency) din U.S.A. au proiectat un algoritm pentru calculului funcţiei hash numit
Secure Hash Algorithm (SHA), standardul numindu-se SHS. El este destinat să fie folosit
împreună cu sistemul de semnătură digitală DSS ). SHA produce un rezumat de 160 de biti,
exprimat in 40 cifre hexazecimale; mai mare decît MD5.
- SH1 a fost creat si publicat de guvernul USA (NSA) in 1993; SH2 in 2001 ,SH3 in 2012

https://www.tools4noobs.com/online_tools/hash/
23 /28
Tehnologii Web curs 12-13-14

Aplicatii ale functiilor hash:

1. Sistemele de parole
De cele mai multe ori parola nu este salvata pe hard-disk in clar ci se salveaza un hash al
acesteia. Astfel in momentul in care userul introduce parola, se calculeaza hash-ul acesteia
care este comparat apoi cu hash-ul salvat in momentul setarii initiale a parolei din fisierul de
pe hard disk. Daca cele doua hash-uri sunt egale atunci parola este corecta. Daca parola ar fi
fost introdusa gresit, hash-ul ei ar fi fost diferit de cel salvat pe hard disk fiindca fiecare
mesaj are propriul hash, nu exista 2 mesaje (2 parole cu acelasi hash). Avantajul acestui mod
de salvare a parolelor este ca nimeni (nici root pe Linux sau Administrator pe Windows) nu
poate afla parolele utilizatorilor. In plus daca un cracker compromite sistemul si are astfel
acces la fisierul cu parole, acesta poate observa hash-ul parolelor si nu parolele. Iar din hash
nu se poate obtine parola
2. Garantarea integritatii unui fisier, program executabil etc
Toti producatorii de software includ pe langa fisierul binar care reprezinta programul si hash-
ul acestuia. Astfel dupa ce se downloadeaza fisierul, se calculeaza hash-ul acestuia apoi se
compara cu cel afisat pe site-ul producatorului. Daca hashurile nu sunt identice atunci fisierul
a fost modificat (poate fi un virus, cal troian sau pur si simplu a fost copiat cu erori). Un
singur bit modificat in informatia a carui hash il calculam genereaza un hash complet diferit
3. Semnarea digitala a unui mesaj.Hash-ul mesajului se cripteaza cu cheia privata, iar
rezultatul se numeste semnatura digitala.
Semnătură digitală
O semnătură digitală reprezintă o informaţie care îl identifică pe expeditorul unui document.
Semnătură digitală se realizează folosind un sistem criptografic cu chei publice şi o funcţie de
dispersie. Astfel în procedura de semnare sunt implicate 3 entităţi:
• M - mesajul de semnat;
• h=H(M) - amprenta digitală a mesajului (rezumatul calculat prin hash);
Valoarea de transformare h este în general criptatǎ ulterior prin utilizarea aceleiasi chei secrete
ca si pentru criptarea datelor transmise. Astfel, se formeazǎ o "semnǎturǎ digitalǎ " a datelor,
care nu mai pot fi modificate fǎrǎ ca acest lucru sǎ fie depistat.

• S= semnătura digitală.

24 /28
Tehnologii Web curs 12-13-14

Aceasta face ca semnătura sa fie unică atît pentru un fişier cît şi pentru deţinătorul cheii.
Orice modificări aduse documentului afectează semnătura, oferindu-se astfel atît integritate cît şi
autentificare.
Semnăturile digitale utilizează criptarea asimetrică, în care se foloseşte o cheie secretă
pentru a crea semnătura şi o alta cheie publică, legată de prima, pentru a o verifica.
Cheia publică este raspîndită şi identificată de către certificatele digitale( certificat de
cheie publicǎ)

Un certificat de cheie publicǎ este о structură de date folosită pentru a se putea asocia,
în mod sigur, о cheie publică cu nişte atribute de utilizator. Certificatele sunt emise de
terţi de incredere, cunoscuţi sub numele de autorităţi de certificare (CA), care îşi asumă
responsabilitatea pentru identificarea utilizatorilor şi pentru acordarea cheilor. În mod
asemănator, companiile mari pot folosi CA-uri interne organizaţionale pentru a identifica
personalul şi functia fiecăruia, în scopul autentificarii tranzacţiilor de comerţ electronic
Pot fi alaturate mai multe certificate digitale, care formeaza un lant de certificare, in care
un certificat digital asigura autenticitatea certificatului anterior. La cel mai inalt nivel al
ierarhiei se afla o autoritate de certificare credibila fara a avea un certificat digital emis
de alta autoritate. Cheia publica a autoritatii de certificare de la cel mai inalt nivel
trebuie sa fie recunoscuta in mod independent (publicata pe scara larga).
Pentru a putea aplica o semnătură electronică extinsă pe un document o persoană fizică trebuie
să dețină:
 un dispozitiv (token) care are asociat un cod PIN pentru a fi accesat
 un certificat digital calificat emis de către un furnizor de servicii de certificare recunoscut după
ce i-a fost verificată/probată identitatea
 o aplicație software (program)
Bineînțeles că un furnizor de certficate digitale va oferi un pachet (kit) format din aceste 3
componente acelei persoane care dorește să aibă posibilitatea să semneze electronic.

Ce informaţii conţine certificatul digital?


Datele cuprinse in certificatul digital sunt solicitate la completarea formularului online:
Prenumele - prenumele persoanei ( limita maxima 20 caractere )
Numele - numele persoanei ( limita maxima 30 caractere )
Adresa de e-mail - adresa de e-mail (limita maxima 64 caractere )
Societatea - societatea in care lucreaza ( limita maxima 64 caractere )
Functia - functia persoanei ( limita maxima 20 caractere )
User Windows Domain - cont utilizator domeniu ( limita maxima 130 caractere )
Tara - tara in care isi desfasoara activitatea ( limita maxima 2 caractere)

25 /28
Tehnologii Web curs 12-13-14

De asemenea certificatul contine date privind autoritatea de certificare emitenta (Organization,


Organization Unit),versiunea, extensiile certificatului, numarul serial, algoritmul de semnare,
perioada de valabilitate, cheia publica, punctul de distributie al certificatelor revocate).
Adresa de e-mail solicitata in formularul de inregistrare reprezinta adresa de e-mail careia i se
va atasa certificatul digital, de pe care se vor putea trimite mesaje semnate sau criptate. Adresa
de e-mail trebuie sa reprezinte un cont de e-mail existent, valid, tip organizatie. Nu se pot asocia
certificate digitale unor adrese de e-mail de pe internet (yahoo, hotmail, etc.)

https://codfiscal.net/7702/ce-este-semnatura-digitala-electronica
Tehnic: Asupra documentului se aplică o funcţie hash-code, obtinandu-se amprenta
documentului. Printr-un algoritm se aplica cheia privata peste amprenta documentului, rezultand
semnatura electronica.
Pasii procesului semnaturii digitale:
1. Dispozitivul transmitator (semnatarul) creaza un hash al documentului
2. Dispozitivul transmitator cripteaza hash-ul cu cheia privata a semnatarului
3. Hash-ul criptat (semnatura) este adaugat la document
4. Dispozitivul receptor (verificatorul) accepta documentul cu semnatura digitala si obtine cheia
publica a dispozitivului transmitator
5. Dispozitivul receptor decripteaza semnatura folosind cheia publica a dispozitivului transmitator.
Acest pas dezvaluie presupusa valoare hash a dispozitivului transmitator

26 /28
Tehnologii Web curs 12-13-14

6. Dispozitivul receptor face un hash al documentului receptionat, fara semnatura sa, si compara
acest hash cu hash-ul semnatura decriptat. Daca hash-urile sunt identice, documentul este
autentic

Cum este generată semnătura electonică dpdv tehnic: https://www.apetrei.info/ce-este-


semnatura-electronica/
1. documentul/fișierul pe care îl putem vizualiza pe un monitor
2. este o înșiruire de biți 0 și 1
3. din care care o aplicație software (program) extrage o „amprentă”
4. care este tot o înșiruire de biți 0 și 1
5. ce este introdusă de către acel soft într-un token/dispozitiv de generare a semnăturii electronice
6. care va genera pe baza ei o semnătura electronică (o altă înșiruire de biți 0 și 1)
7. pe care aplicația o va insera în fișier
8. rezultând astfel un nou fișier, „îmbogățit” cu o secventă suplimentară de biți
9. pe care îl putem vizualiza pe ecran cu o nouă informație care, de obicei, nu este sau nu include
semnătura electronică, ci doar o semnalare a faptului că acel document a fost semnat digital.
https://www.certsign.ro/ro/documentatie/legislatie/legea-455-2001-privind-semnatura-
electronica
Normele tehnice şi metodologice pentru aplicarea Legii nr. 455/2001
privind semnatura electronicã
CAPITOLUL I
Dispoziţii generale
Art. 1

Orice persoană, fizică sau juridică, aflată pe teritoriul României poate beneficia de
servicii de certificare în vederea utilizării semnăturii electronice în sensul definit al art. 4
din Legea nr. 455/2001 privind semnătura electronică, denumită în continuare lege

Art. 2

(1) În înţelesul prezentelor norme tehnice şi metodologice, termenii utilizaţi au


următoarele definiţii:

a. client - beneficiarul serviciilor de certificare, care, în baza unui contract încheiat


cu un furnizor de servicii de certificare, denumit în continuare furnizor, deţine o
pereche funcţională cheie publică-cheie privată şi are o identitate probată printr-
un certificat digital emis de acel furnizor;
b. hash-code - funcţie care returnează amprenta unui document electronic;
c. cheie privată - un cod digital cu caracter de unicitate, generat printr-un dispozitiv
hardware şi/sau software specializat. În contextul semnăturii digitale cheia
privată reprezintă datele de creare a semnăturii electronice, aşa cum apar ele
definite în lege;
d. cheia publică - cod digital, perechea cheii private necesară verificării semnăturii
electronice. În contextul semnăturii digitale cheia publică reprezintă datele de
verificare a semnăturii electronice, aşa cum apar ele definite în lege;

27 /28
Tehnologii Web curs 12-13-14

e. mecanismul de creare a semnăturii electronice - asupra documentului se aplică


o funcţie hash-code, obţinându-se amprenta documentului. Printr-un algoritm se
aplică cheia privată peste amprenta documentului, rezultând semnătura
electronică;
f. mecanismul de verificare a semnăturii electronice se bazează pe utilizarea cheii
publice, a funcţiei hash-code şi semnăturii electronice primite. Verificarea
semnăturii este operaţie automată;
g. pagina web - document electronic, disponibil prin internet.

(2) În înţelesul prezentelor norme, abrevierile utilizate au următoarele semnificaţii:

a. ETSI - Institutul European de Standarde în Telecomunicaţii;


b. RFC - desemnează documente care au fost supuse analizei publice în cadrul
unui proces coordonat de Grupul de Lucru pentru Ingineria Internetului;
c. FIPS - desemnează standarde federale emise de Institutul Naţional de
Standarde şi Tehnologie din Statele Unite ale Americii;
d. IEEE - Institutul de Inginerie Electrică şi Electronică;
e. ITSEC - desemnează standardele şi criteriile europene de evaluare a securităţii
sistemelor informatice;
f. RSA - algoritmul de criptare cu cheie publică, dezvoltat de cercetătorii Rivest,
Shamir şi Adleman;
g. DSA - Algoritmul de Semnătură Digitală;
h. SHA - Algoritm Securizat de Hash-code;
i. PKI - Infrastructură de chei publice;
j. RTF - format de document ce permite alinierea textului, introducerea unor
caractere speciale, utilizarea culorilor şi a fonturilor de dimensiuni diferite,
precum şi inserarea altor obiecte;
k. PDF - format ce permite transferarea documentelor electronice fără a afecta
aranjarea în pagină; documentele pot conţine text, imagini şi sunete;
l. PostScript - format de document utilizat în special pentru tipărire la imprimante
PostScript.

Bibliografie
https://computer.howstuffworks.com/encryption.htm
https://ro.wikipedia.org/wiki/Transport_Layer_Security

28 /28

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